From dfdaf9cfac2a7f399d787e81215b9b194a6272c3 Mon Sep 17 00:00:00 2001 From: QuentinArguillere Date: Thu, 31 Oct 2024 17:17:35 +0100 Subject: [PATCH] Cleanup whole repository for 6.0 upgrade --- .gitignore | 23 - .gitmodules | 0 .travis.yml | 28 - .tx/config | 309 - CallUITests-Info.plist | 5 - Classes/AboutView.h | 38 - Classes/AboutView.m | 110 - Classes/AssistantLinkView.h | 46 - Classes/AssistantLinkView.m | 345 - Classes/AssistantView.h | 123 - Classes/AssistantView.m | 1973 ---- Classes/Base.lproj/AboutView.strings | Bin 3874 -> 0 bytes Classes/Base.lproj/AboutView.xib | 300 - Classes/Base.lproj/AssistantLinkView.strings | Bin 7040 -> 0 bytes Classes/Base.lproj/AssistantLinkView.xib | 262 - Classes/Base.lproj/AssistantSubviews.strings | Bin 22190 -> 0 bytes Classes/Base.lproj/AssistantView.strings | Bin 710 -> 0 bytes Classes/Base.lproj/AssistantView.xib | 83 - .../Base.lproj/AssistantViewScreens.strings | Bin 34714 -> 0 bytes Classes/Base.lproj/AssistantViewScreens.xib | 1666 ---- Classes/Base.lproj/AssistantViews.strings | Bin 18746 -> 0 bytes Classes/Base.lproj/AssistantView~ipad.strings | Bin 2474 -> 0 bytes Classes/Base.lproj/CallIncomingView.strings | Bin 4498 -> 0 bytes Classes/Base.lproj/CallOutgoingView.strings | Bin 5650 -> 0 bytes Classes/Base.lproj/CallView.strings | Bin 18822 -> 0 bytes Classes/Base.lproj/CallView~ipad.strings | Bin 18822 -> 0 bytes .../ChatConversationCreateView.strings | Bin 1404 -> 0 bytes .../Base.lproj/ChatConversationCreateView.xib | 274 - .../ChatConversationImdnView.strings | Bin 1782 -> 0 bytes .../Base.lproj/ChatConversationImdnView.xib | 89 - .../ChatConversationInfoView.strings | Bin 2800 -> 0 bytes .../Base.lproj/ChatConversationInfoView.xib | 178 - .../Base.lproj/ChatConversationView.strings | Bin 7442 -> 0 bytes Classes/Base.lproj/ChatConversationView.xib | 713 -- Classes/Base.lproj/ChatRoomView.strings | Bin 2792 -> 0 bytes Classes/Base.lproj/ChatView.strings | Bin 1508 -> 0 bytes Classes/Base.lproj/ChatsListView.strings | Bin 1866 -> 0 bytes Classes/Base.lproj/ChatsListView.xib | 239 - Classes/Base.lproj/ContactDetailsView.strings | Bin 2866 -> 0 bytes Classes/Base.lproj/ContactDetailsView.xib | 342 - Classes/Base.lproj/ContactsListView.strings | Bin 2176 -> 0 bytes Classes/Base.lproj/ContactsListView.xib | 262 - Classes/Base.lproj/ContactsView.strings | Bin 1786 -> 0 bytes Classes/Base.lproj/CountryListView.strings | Bin 484 -> 0 bytes Classes/Base.lproj/CountryListView.xib | 71 - Classes/Base.lproj/DialerView.strings | Bin 3692 -> 0 bytes Classes/Base.lproj/DialerView.xib | 350 - Classes/Base.lproj/DialerView~ipad.strings | Bin 8486 -> 0 bytes Classes/Base.lproj/DialerView~ipad.xib | 674 -- Classes/Base.lproj/FirstLoginView.strings | Bin 7146 -> 0 bytes Classes/Base.lproj/FirstLoginView.xib | 315 - Classes/Base.lproj/HistoryDetailsView.strings | Bin 5074 -> 0 bytes Classes/Base.lproj/HistoryDetailsView.xib | 500 -- Classes/Base.lproj/HistoryListView.strings | Bin 1806 -> 0 bytes Classes/Base.lproj/HistoryListView.xib | 215 - Classes/Base.lproj/HistoryView.strings | Bin 1944 -> 0 bytes Classes/Base.lproj/ImageView.strings | Bin 288 -> 0 bytes Classes/Base.lproj/ImageView.xib | 64 - Classes/Base.lproj/InCallView.strings | Bin 256 -> 0 bytes Classes/Base.lproj/IncomingCallView.strings | Bin 1558 -> 0 bytes .../Base.lproj/IncomingCallView~ipad.strings | Bin 3130 -> 0 bytes Classes/Base.lproj/PhoneMainView.xib | 55 - Classes/Base.lproj/RecordingsListView.xib | 167 - Classes/Base.lproj/SettingsView.strings | Bin 726 -> 0 bytes Classes/Base.lproj/SettingsView.xib | 87 - Classes/Base.lproj/ShopView.strings | Bin 464 -> 0 bytes Classes/Base.lproj/ShopView.xib | 93 - Classes/Base.lproj/SideMenuView.strings | Bin 478 -> 0 bytes Classes/Base.lproj/SideMenuView.xib | 137 - Classes/Base.lproj/SideMenuView~ipad.strings | Bin 478 -> 0 bytes Classes/Base.lproj/SideMenuView~ipad.xib | 132 - ...nversationCreateCollectionViewController.h | 24 - ...nversationCreateCollectionViewController.m | 41 - Classes/ChatConversationCreateTableView.h | 39 - Classes/ChatConversationCreateTableView.m | 399 - Classes/ChatConversationCreateView.h | 63 - Classes/ChatConversationCreateView.m | 337 - Classes/ChatConversationImdnView.h | 52 - Classes/ChatConversationImdnView.m | 327 - Classes/ChatConversationInfoView.h | 54 - Classes/ChatConversationInfoView.m | 467 - Classes/ChatConversationTableView.h | 77 - Classes/ChatConversationTableView.m | 533 -- Classes/ChatConversationView.h | 167 - Classes/ChatConversationView.m | 2297 ----- Classes/ChatsListTableView.h | 35 - Classes/ChatsListTableView.m | 338 - Classes/ChatsListView.h | 49 - Classes/ChatsListView.m | 220 - Classes/Contact.h | 64 - Classes/Contact.m | 516 -- Classes/ContactDetailsTableView.h | 48 - Classes/ContactDetailsTableView.m | 463 - Classes/ContactDetailsView.h | 61 - Classes/ContactDetailsView.m | 661 -- Classes/ContactsListTableView.h | 36 - Classes/ContactsListTableView.m | 397 - Classes/ContactsListView.h | 71 - Classes/ContactsListView.m | 356 - Classes/CountryListView.h | 40 - Classes/CountryListView.m | 180 - Classes/DevicesListView.h | 47 - Classes/DevicesListView.m | 178 - Classes/DevicesListView.xib | 97 - Classes/DialerView.h | 63 - Classes/DialerView.m | 461 - Classes/EphemeralSettingsView.h | 36 - Classes/EphemeralSettingsView.m | 159 - Classes/EphemeralSettingsView.xib | 218 - Classes/FirstLoginView.h | 39 - Classes/FirstLoginView.m | 255 - Classes/FloatingScrollDownButton.swift | 123 - Classes/HistoryDetailsTableView.h | 30 - Classes/HistoryDetailsTableView.m | 108 - Classes/HistoryDetailsView.h | 54 - Classes/HistoryDetailsView.m | 244 - Classes/HistoryListTableView.h | 35 - Classes/HistoryListTableView.m | 367 - Classes/HistoryListView.h | 43 - Classes/HistoryListView.m | 145 - Classes/ImagePickerView.h | 45 - Classes/ImagePickerView.m | 414 - Classes/ImageView.h | 40 - Classes/ImageView.m | 154 - Classes/InAppProductsManager.h | 112 - Classes/InAppProductsManager.m | 588 -- Classes/LaunchScreen.h | 29 - Classes/LaunchScreen.xib | 77 - Classes/LinphoneAppDelegate.h | 42 - Classes/LinphoneAppDelegate.m | 916 -- Classes/LinphoneCoreSettingsStore.h | 37 - Classes/LinphoneCoreSettingsStore.m | 1246 --- Classes/LinphoneManager.h | 226 - Classes/LinphoneManager.m | 2405 ----- .../Base.lproj/StatusBarView.strings | Bin 1058 -> 0 bytes .../LinphoneUI/Base.lproj/StatusBarView.xib | 124 - .../LinphoneUI/Base.lproj/TabBarView.strings | Bin 3650 -> 0 bytes Classes/LinphoneUI/Base.lproj/TabBarView.xib | 261 - .../LinphoneUI/Base.lproj/UICallCell.strings | Bin 9820 -> 0 bytes .../Base.lproj/UICallConferenceCell.strings | Bin 1504 -> 0 bytes .../Base.lproj/UICallPausedCell.strings | Bin 1504 -> 0 bytes .../Base.lproj/UIChatBubblePhotoCell.strings | Bin 3182 -> 0 bytes .../Base.lproj/UIChatBubblePhotoCell.xib | 268 - .../Base.lproj/UIChatBubbleTextCell.strings | Bin 736 -> 0 bytes .../Base.lproj/UIChatBubbleTextCell.xib | 98 - .../LinphoneUI/Base.lproj/UIChatCell.strings | Bin 1566 -> 0 bytes Classes/LinphoneUI/Base.lproj/UIChatCell.xib | 107 - ...IChatConversationImdnTableViewCell.strings | Bin 706 -> 0 bytes .../UIChatConversationImdnTableViewCell.xib | 57 - ...IChatConversationInfoTableViewCell.strings | Bin 644 -> 0 bytes .../UIChatConversationInfoTableViewCell.xib | 88 - .../Base.lproj/UIChatCreateCell.strings | Bin 730 -> 0 bytes .../Base.lproj/UIChatCreateCell.xib | 79 - .../UIChatCreateCollectionViewCell.strings | Bin 206 -> 0 bytes .../Base.lproj/UIChatReplyBubbleView.xib | 90 - .../Base.lproj/UIChatRoomCell.strings | Bin 2580 -> 0 bytes .../LinphoneUI/Base.lproj/UICompositeView.xib | 115 - .../Base.lproj/UICompositeView~ipad.xib | 104 - .../Base.lproj/UIConfirmationDialog.strings | Bin 1070 -> 0 bytes .../Base.lproj/UIConfirmationDialog.xib | 143 - .../Base.lproj/UIContactCell.strings | Bin 398 -> 0 bytes .../LinphoneUI/Base.lproj/UIContactCell.xib | 58 - .../Base.lproj/UIContactDetailsCell.strings | Bin 1492 -> 0 bytes .../Base.lproj/UIContactDetailsCell.xib | 170 - .../Base.lproj/UIHistoryCell.strings | Bin 470 -> 0 bytes .../LinphoneUI/Base.lproj/UIHistoryCell.xib | 63 - .../LinphoneUI/Base.lproj/UIMainBar.strings | Bin 2688 -> 0 bytes .../Base.lproj/UIMainBar~ipad.strings | Bin 3780 -> 0 bytes .../LinphoneUI/Base.lproj/UIStateBar.strings | Bin 1838 -> 0 bytes Classes/LinphoneUI/StatusBarView.h | 43 - Classes/LinphoneUI/StatusBarView.m | 438 - Classes/LinphoneUI/TabBarView.h | 44 - Classes/LinphoneUI/TabBarView.m | 194 - Classes/LinphoneUI/UIAddressTextField.h | 24 - Classes/LinphoneUI/UIAddressTextField.m | 38 - Classes/LinphoneUI/UIAssistantTextField.h | 39 - Classes/LinphoneUI/UIAssistantTextField.m | 96 - Classes/LinphoneUI/UIAvatarPresence.h | 25 - Classes/LinphoneUI/UIAvatarPresence.m | 95 - Classes/LinphoneUI/UIBackToCallButton.h | 28 - Classes/LinphoneUI/UIBackToCallButton.m | 54 - Classes/LinphoneUI/UIBouncingView.h | 27 - Classes/LinphoneUI/UIBouncingView.m | 155 - Classes/LinphoneUI/UICallButton.h | 31 - Classes/LinphoneUI/UICallButton.m | 114 - Classes/LinphoneUI/UICamSwitch.h | 29 - Classes/LinphoneUI/UICamSwitch.m | 60 - Classes/LinphoneUI/UIChatBubblePhotoCell.h | 68 - Classes/LinphoneUI/UIChatBubblePhotoCell.m | 841 -- Classes/LinphoneUI/UIChatBubbleTextCell.h | 102 - Classes/LinphoneUI/UIChatBubbleTextCell.m | 1056 --- Classes/LinphoneUI/UIChatCell.h | 50 - Classes/LinphoneUI/UIChatCell.m | 241 - Classes/LinphoneUI/UIChatContentView.h | 36 - Classes/LinphoneUI/UIChatContentView.m | 105 - .../UIChatConversationImdnTableViewCell.h | 31 - .../UIChatConversationImdnTableViewCell.m | 45 - .../UIChatConversationInfoTableViewCell.h | 35 - .../UIChatConversationInfoTableViewCell.m | 73 - Classes/LinphoneUI/UIChatCreateCell.h | 33 - Classes/LinphoneUI/UIChatCreateCell.m | 42 - .../UIChatCreateCollectionViewCell.h | 28 - .../UIChatCreateCollectionViewCell.m | 69 - Classes/LinphoneUI/UIChatNotifiedEventCell.h | 41 - Classes/LinphoneUI/UIChatNotifiedEventCell.m | 203 - .../LinphoneUI/UIChatNotifiedEventCell.xib | 57 - Classes/LinphoneUI/UIChatReplyBubbleView.h | 41 - Classes/LinphoneUI/UIChatReplyBubbleView.m | 164 - Classes/LinphoneUI/UICheckBoxTableView.h | 45 - Classes/LinphoneUI/UICheckBoxTableView.m | 194 - Classes/LinphoneUI/UICompositeView.h | 91 - Classes/LinphoneUI/UICompositeView.m | 732 -- Classes/LinphoneUI/UIConfirmationDialog.h | 69 - Classes/LinphoneUI/UIConfirmationDialog.m | 156 - Classes/LinphoneUI/UIContactCell.h | 34 - Classes/LinphoneUI/UIContactCell.m | 117 - Classes/LinphoneUI/UIContactDetailsCell.h | 55 - Classes/LinphoneUI/UIContactDetailsCell.m | 194 - Classes/LinphoneUI/UIDeviceCell.h | 38 - Classes/LinphoneUI/UIDeviceCell.m | 73 - Classes/LinphoneUI/UIDeviceCell.xib | 67 - Classes/LinphoneUI/UIDigitButton.h | 31 - Classes/LinphoneUI/UIDigitButton.m | 80 - Classes/LinphoneUI/UIHistoryCell.h | 40 - Classes/LinphoneUI/UIHistoryCell.m | 144 - Classes/LinphoneUI/UIIconButton.h | 24 - Classes/LinphoneUI/UIIconButton.m | 46 - Classes/LinphoneUI/UIImageViewDeletable.h | 38 - Classes/LinphoneUI/UIImageViewDeletable.m | 71 - Classes/LinphoneUI/UIImageViewDeletable.xib | 48 - Classes/LinphoneUI/UIInterfaceStyleButton.h | 28 - Classes/LinphoneUI/UIInterfaceStyleButton.m | 79 - .../LinphoneUI/UIInterfaceStyleToggleButton.h | 30 - .../LinphoneUI/UIInterfaceStyleToggleButton.m | 80 - Classes/LinphoneUI/UILabel+Boldify.h | 28 - Classes/LinphoneUI/UILabel+Boldify.m | 42 - Classes/LinphoneUI/UILinphoneAudioPlayer.h | 40 - Classes/LinphoneUI/UILinphoneAudioPlayer.m | 233 - Classes/LinphoneUI/UILinphoneAudioPlayer.xib | 83 - Classes/LinphoneUI/UILoadingImageView.h | 34 - Classes/LinphoneUI/UILoadingImageView.m | 93 - Classes/LinphoneUI/UIRecordingCell.h | 34 - Classes/LinphoneUI/UIRecordingCell.m | 140 - Classes/LinphoneUI/UIRecordingCell.xib | 56 - Classes/LinphoneUI/UIRoundBorderedButton.h | 26 - Classes/LinphoneUI/UIRoundBorderedButton.m | 78 - Classes/LinphoneUI/UIRoundedImageView.h | 30 - Classes/LinphoneUI/UIRoundedImageView.m | 93 - Classes/LinphoneUI/UIShopTableCell.h | 31 - Classes/LinphoneUI/UIShopTableCell.m | 98 - Classes/LinphoneUI/UIShopTableCell.xib | 66 - Classes/LinphoneUI/UITextField+DoneButton.h | 25 - Classes/LinphoneUI/UITextField+DoneButton.m | 57 - Classes/LinphoneUI/UITextViewNoDefine.h | 26 - Classes/LinphoneUI/UITextViewNoDefine.m | 45 - Classes/LinphoneUI/UIToggleButton.h | 38 - Classes/LinphoneUI/UIToggleButton.m | 106 - .../LinphoneUI/ar.lproj/StatusBarView.strings | Bin 1046 -> 0 bytes .../LinphoneUI/ar.lproj/TabBarView.strings | Bin 3742 -> 0 bytes .../ar.lproj/UICallConferenceCell.strings | Bin 1530 -> 0 bytes .../ar.lproj/UICallPausedCell.strings | Bin 1530 -> 0 bytes .../ar.lproj/UIChatBubblePhotoCell.strings | Bin 3178 -> 0 bytes .../ar.lproj/UIChatBubbleTextCell.strings | Bin 744 -> 0 bytes .../LinphoneUI/ar.lproj/UIChatCell.strings | Bin 1534 -> 0 bytes ...IChatConversationImdnTableViewCell.strings | Bin 712 -> 0 bytes ...IChatConversationInfoTableViewCell.strings | Bin 648 -> 0 bytes .../ar.lproj/UIChatCreateCell.strings | Bin 732 -> 0 bytes .../UIChatCreateCollectionViewCell.strings | Bin 206 -> 0 bytes .../ar.lproj/UICompositeView.strings | 0 .../ar.lproj/UIConfirmationDialog.strings | Bin 1004 -> 0 bytes .../LinphoneUI/ar.lproj/UIContactCell.strings | Bin 390 -> 0 bytes .../ar.lproj/UIContactDetailsCell.strings | Bin 1506 -> 0 bytes .../LinphoneUI/ar.lproj/UIHistoryCell.strings | Bin 462 -> 0 bytes .../LinphoneUI/cs.lproj/StatusBarView.strings | Bin 1074 -> 0 bytes .../cs.lproj/UICallConferenceCell.strings | Bin 1514 -> 0 bytes .../cs.lproj/UICallPausedCell.strings | Bin 1514 -> 0 bytes .../cs.lproj/UIChatBubblePhotoCell.strings | Bin 3204 -> 0 bytes .../cs.lproj/UIChatBubbleTextCell.strings | Bin 740 -> 0 bytes .../LinphoneUI/cs.lproj/UIChatCell.strings | Bin 1558 -> 0 bytes ...IChatConversationImdnTableViewCell.strings | Bin 708 -> 0 bytes ...IChatConversationInfoTableViewCell.strings | Bin 644 -> 0 bytes .../cs.lproj/UIContactDetailsCell.strings | Bin 1504 -> 0 bytes .../LinphoneUI/de.lproj/StatusBarView.strings | Bin 1076 -> 0 bytes .../LinphoneUI/de.lproj/TabBarView.strings | Bin 3732 -> 0 bytes .../LinphoneUI/de.lproj/UICallCell.strings | Bin 9846 -> 0 bytes .../de.lproj/UICallConferenceCell.strings | Bin 1510 -> 0 bytes .../de.lproj/UICallPausedCell.strings | Bin 1510 -> 0 bytes .../de.lproj/UIChatBubblePhotoCell.strings | Bin 3276 -> 0 bytes .../de.lproj/UIChatBubbleTextCell.strings | Bin 746 -> 0 bytes .../LinphoneUI/de.lproj/UIChatCell.strings | Bin 1610 -> 0 bytes ...IChatConversationImdnTableViewCell.strings | Bin 716 -> 0 bytes ...IChatConversationInfoTableViewCell.strings | Bin 660 -> 0 bytes .../de.lproj/UIChatCreateCell.strings | Bin 754 -> 0 bytes .../UIChatCreateCollectionViewCell.strings | Bin 218 -> 0 bytes .../de.lproj/UIChatRoomCell.strings | Bin 2606 -> 0 bytes .../de.lproj/UIConfirmationDialog.strings | Bin 1110 -> 0 bytes .../LinphoneUI/de.lproj/UIContactCell.strings | Bin 406 -> 0 bytes .../de.lproj/UIContactDetailsCell.strings | Bin 1514 -> 0 bytes .../de.lproj/UIContactDetailsFooter.strings | Bin 454 -> 0 bytes .../de.lproj/UIContactDetailsHeader.strings | Bin 660 -> 0 bytes .../LinphoneUI/de.lproj/UIHistoryCell.strings | Bin 478 -> 0 bytes Classes/LinphoneUI/de.lproj/UIMainBar.strings | Bin 2756 -> 0 bytes .../de.lproj/UIMainBar~ipad.strings | Bin 3844 -> 0 bytes .../LinphoneUI/de.lproj/UIStateBar.strings | Bin 1866 -> 0 bytes .../en.lproj/UIChatReplyBubbleView.strings | 9 - .../LinphoneUI/es.lproj/StatusBarView.strings | Bin 1068 -> 0 bytes .../LinphoneUI/es.lproj/TabBarView.strings | Bin 3710 -> 0 bytes .../es.lproj/UICallConferenceCell.strings | Bin 1536 -> 0 bytes .../es.lproj/UICallPausedCell.strings | Bin 1536 -> 0 bytes .../es.lproj/UIChatBubblePhotoCell.strings | Bin 3228 -> 0 bytes .../es.lproj/UIChatBubbleTextCell.strings | Bin 748 -> 0 bytes .../LinphoneUI/es.lproj/UIChatCell.strings | Bin 1604 -> 0 bytes ...IChatConversationImdnTableViewCell.strings | Bin 712 -> 0 bytes ...IChatConversationInfoTableViewCell.strings | Bin 662 -> 0 bytes .../es.lproj/UIChatCreateCell.strings | Bin 730 -> 0 bytes .../UIChatCreateCollectionViewCell.strings | Bin 206 -> 0 bytes .../es.lproj/UIConfirmationDialog.strings | Bin 1066 -> 0 bytes .../LinphoneUI/es.lproj/UIContactCell.strings | Bin 406 -> 0 bytes .../es.lproj/UIContactDetailsCell.strings | Bin 1512 -> 0 bytes .../LinphoneUI/es.lproj/UIHistoryCell.strings | Bin 478 -> 0 bytes .../es_AR.lproj/StatusBarView.strings | Bin 1068 -> 0 bytes .../LinphoneUI/es_AR.lproj/TabBarView.strings | Bin 3710 -> 0 bytes .../es_AR.lproj/UICallConferenceCell.strings | Bin 1536 -> 0 bytes .../es_AR.lproj/UICallPausedCell.strings | Bin 1536 -> 0 bytes .../es_AR.lproj/UIChatBubblePhotoCell.strings | Bin 3228 -> 0 bytes .../es_AR.lproj/UIChatBubbleTextCell.strings | Bin 748 -> 0 bytes .../LinphoneUI/es_AR.lproj/UIChatCell.strings | Bin 1604 -> 0 bytes ...IChatConversationImdnTableViewCell.strings | Bin 714 -> 0 bytes ...IChatConversationInfoTableViewCell.strings | Bin 646 -> 0 bytes .../es_AR.lproj/UIChatCreateCell.strings | Bin 730 -> 0 bytes .../UIChatCreateCollectionViewCell.strings | Bin 206 -> 0 bytes .../es_AR.lproj/UIConfirmationDialog.strings | Bin 1066 -> 0 bytes .../es_AR.lproj/UIContactCell.strings | Bin 406 -> 0 bytes .../es_AR.lproj/UIContactDetailsCell.strings | Bin 1512 -> 0 bytes .../es_AR.lproj/UIHistoryCell.strings | Bin 478 -> 0 bytes .../LinphoneUI/fr.lproj/StatusBarView.strings | Bin 1076 -> 0 bytes .../LinphoneUI/fr.lproj/TabBarView.strings | Bin 3702 -> 0 bytes .../fr.lproj/UIChatBubblePhotoCell.strings | Bin 3220 -> 0 bytes .../fr.lproj/UIChatBubbleTextCell.strings | Bin 740 -> 0 bytes .../LinphoneUI/fr.lproj/UIChatCell.strings | Bin 1552 -> 0 bytes ...IChatConversationImdnTableViewCell.strings | Bin 722 -> 0 bytes ...IChatConversationInfoTableViewCell.strings | Bin 648 -> 0 bytes .../fr.lproj/UIChatCreateCell.strings | Bin 730 -> 0 bytes .../fr.lproj/UIChatReplyBubbleView.strings | 9 - .../fr.lproj/UIChatRoomCell.strings | Bin 2618 -> 0 bytes .../fr.lproj/UICompositeView.strings | 1 - .../fr.lproj/UICompositeView~ipad.strings | 1 - .../fr.lproj/UIConfirmationDialog.strings | Bin 1070 -> 0 bytes .../LinphoneUI/fr.lproj/UIContactCell.strings | Bin 390 -> 0 bytes .../fr.lproj/UIContactDetailsCell.strings | Bin 1502 -> 0 bytes .../LinphoneUI/fr.lproj/UIHistoryCell.strings | Bin 462 -> 0 bytes .../LinphoneUI/fr.lproj/UIStateBar.strings | Bin 1860 -> 0 bytes .../LinphoneUI/hu.lproj/StatusBarView.strings | Bin 1070 -> 0 bytes .../LinphoneUI/hu.lproj/TabBarView.strings | Bin 3738 -> 0 bytes .../hu.lproj/UIChatBubblePhotoCell.strings | Bin 3260 -> 0 bytes .../hu.lproj/UIChatBubbleTextCell.strings | Bin 748 -> 0 bytes .../LinphoneUI/hu.lproj/UIChatCell.strings | Bin 1574 -> 0 bytes ...IChatConversationImdnTableViewCell.strings | Bin 712 -> 0 bytes ...IChatConversationInfoTableViewCell.strings | Bin 674 -> 0 bytes .../hu.lproj/UIChatCreateCell.strings | Bin 746 -> 0 bytes .../hu.lproj/UICompositeView.strings | 1 - .../hu.lproj/UICompositeView~ipad.strings | 1 - .../hu.lproj/UIConfirmationDialog.strings | Bin 1066 -> 0 bytes .../LinphoneUI/hu.lproj/UIContactCell.strings | Bin 408 -> 0 bytes .../hu.lproj/UIContactDetailsCell.strings | Bin 1526 -> 0 bytes .../LinphoneUI/hu.lproj/UIHistoryCell.strings | Bin 480 -> 0 bytes .../LinphoneUI/it.lproj/StatusBarView.strings | Bin 1086 -> 0 bytes .../LinphoneUI/it.lproj/TabBarView.strings | Bin 3666 -> 0 bytes .../it.lproj/UICallConferenceCell.strings | Bin 1540 -> 0 bytes .../it.lproj/UICallPausedCell.strings | Bin 1540 -> 0 bytes .../it.lproj/UIChatBubblePhotoCell.strings | Bin 3236 -> 0 bytes .../it.lproj/UIChatBubbleTextCell.strings | Bin 754 -> 0 bytes .../LinphoneUI/it.lproj/UIChatCell.strings | Bin 1594 -> 0 bytes ...IChatConversationImdnTableViewCell.strings | Bin 720 -> 0 bytes ...IChatConversationInfoTableViewCell.strings | Bin 658 -> 0 bytes .../it.lproj/UIChatCreateCell.strings | Bin 742 -> 0 bytes .../UIChatCreateCollectionViewCell.strings | Bin 212 -> 0 bytes .../it.lproj/UIConfirmationDialog.strings | Bin 1088 -> 0 bytes .../LinphoneUI/it.lproj/UIContactCell.strings | Bin 394 -> 0 bytes .../it.lproj/UIContactDetailsCell.strings | Bin 1502 -> 0 bytes .../LinphoneUI/it.lproj/UIHistoryCell.strings | Bin 466 -> 0 bytes .../LinphoneUI/ja.lproj/StatusBarView.strings | Bin 1014 -> 0 bytes .../LinphoneUI/ja.lproj/TabBarView.strings | Bin 3558 -> 0 bytes .../LinphoneUI/ja.lproj/UICallCell.strings | Bin 9312 -> 0 bytes .../ja.lproj/UICallConferenceCell.strings | Bin 1466 -> 0 bytes .../ja.lproj/UICallPausedCell.strings | Bin 1466 -> 0 bytes .../ja.lproj/UIChatBubblePhotoCell.strings | Bin 3130 -> 0 bytes .../ja.lproj/UIChatBubbleTextCell.strings | Bin 724 -> 0 bytes .../LinphoneUI/ja.lproj/UIChatCell.strings | Bin 1522 -> 0 bytes ...IChatConversationImdnTableViewCell.strings | Bin 694 -> 0 bytes ...IChatConversationInfoTableViewCell.strings | Bin 640 -> 0 bytes .../ja.lproj/UIChatCreateCell.strings | Bin 730 -> 0 bytes .../UIChatCreateCollectionViewCell.strings | Bin 206 -> 0 bytes .../ja.lproj/UIChatRoomCell.strings | Bin 2410 -> 0 bytes .../ja.lproj/UIConfirmationDialog.strings | Bin 978 -> 0 bytes .../LinphoneUI/ja.lproj/UIContactCell.strings | Bin 384 -> 0 bytes .../ja.lproj/UIContactDetailsCell.strings | Bin 1476 -> 0 bytes .../ja.lproj/UIContactDetailsFooter.strings | Bin 418 -> 0 bytes .../ja.lproj/UIContactDetailsHeader.strings | Bin 632 -> 0 bytes .../LinphoneUI/ja.lproj/UIHistoryCell.strings | Bin 456 -> 0 bytes Classes/LinphoneUI/ja.lproj/UIMainBar.strings | Bin 2598 -> 0 bytes .../ja.lproj/UIMainBar~ipad.strings | Bin 3658 -> 0 bytes .../LinphoneUI/ja.lproj/UIStateBar.strings | Bin 1716 -> 0 bytes .../LinphoneUI/ka.lproj/StatusBarView.strings | Bin 1094 -> 0 bytes .../LinphoneUI/ka.lproj/TabBarView.strings | Bin 3742 -> 0 bytes .../ka.lproj/UICallConferenceCell.strings | Bin 1532 -> 0 bytes .../ka.lproj/UICallPausedCell.strings | Bin 1532 -> 0 bytes .../ka.lproj/UIChatBubblePhotoCell.strings | Bin 3224 -> 0 bytes .../ka.lproj/UIChatBubbleTextCell.strings | Bin 744 -> 0 bytes .../LinphoneUI/ka.lproj/UIChatCell.strings | Bin 1596 -> 0 bytes ...IChatConversationImdnTableViewCell.strings | Bin 714 -> 0 bytes ...IChatConversationInfoTableViewCell.strings | Bin 644 -> 0 bytes .../ka.lproj/UIChatCreateCell.strings | Bin 730 -> 0 bytes .../UIChatCreateCollectionViewCell.strings | Bin 206 -> 0 bytes .../ka.lproj/UIConfirmationDialog.strings | Bin 1078 -> 0 bytes .../LinphoneUI/ka.lproj/UIContactCell.strings | Bin 392 -> 0 bytes .../ka.lproj/UIContactDetailsCell.strings | Bin 1498 -> 0 bytes .../LinphoneUI/ka.lproj/UIHistoryCell.strings | Bin 464 -> 0 bytes .../LinphoneUI/nl.lproj/StatusBarView.strings | Bin 1072 -> 0 bytes .../LinphoneUI/nl.lproj/TabBarView.strings | Bin 3756 -> 0 bytes .../LinphoneUI/nl.lproj/UICallCell.strings | Bin 9962 -> 0 bytes .../nl.lproj/UICallConferenceCell.strings | Bin 1598 -> 0 bytes .../nl.lproj/UICallPausedCell.strings | Bin 1598 -> 0 bytes .../nl.lproj/UIChatBubblePhotoCell.strings | Bin 3258 -> 0 bytes .../nl.lproj/UIChatBubbleTextCell.strings | Bin 758 -> 0 bytes .../LinphoneUI/nl.lproj/UIChatCell.strings | Bin 1586 -> 0 bytes ...IChatConversationImdnTableViewCell.strings | Bin 728 -> 0 bytes ...IChatConversationInfoTableViewCell.strings | Bin 646 -> 0 bytes .../nl.lproj/UIChatCreateCell.strings | Bin 730 -> 0 bytes .../nl.lproj/UIChatRoomCell.strings | Bin 2650 -> 0 bytes .../nl.lproj/UIConfirmationDialog.strings | Bin 1082 -> 0 bytes .../LinphoneUI/nl.lproj/UIContactCell.strings | Bin 396 -> 0 bytes .../nl.lproj/UIContactDetailsCell.strings | Bin 1518 -> 0 bytes .../nl.lproj/UIContactDetailsFooter.strings | Bin 466 -> 0 bytes .../nl.lproj/UIContactDetailsHeader.strings | Bin 746 -> 0 bytes .../LinphoneUI/nl.lproj/UIHistoryCell.strings | Bin 468 -> 0 bytes Classes/LinphoneUI/nl.lproj/UIMainBar.strings | Bin 2796 -> 0 bytes .../nl.lproj/UIMainBar~ipad.strings | Bin 3932 -> 0 bytes .../LinphoneUI/nl.lproj/UIStateBar.strings | Bin 1880 -> 0 bytes .../LinphoneUI/pl.lproj/StatusBarView.strings | Bin 1074 -> 0 bytes .../LinphoneUI/pl.lproj/TabBarView.strings | Bin 3796 -> 0 bytes .../pl.lproj/UICallConferenceCell.strings | Bin 1522 -> 0 bytes .../pl.lproj/UICallPausedCell.strings | Bin 1522 -> 0 bytes .../pl.lproj/UIChatBubblePhotoCell.strings | Bin 3200 -> 0 bytes .../pl.lproj/UIChatBubbleTextCell.strings | Bin 748 -> 0 bytes .../LinphoneUI/pl.lproj/UIChatCell.strings | Bin 1580 -> 0 bytes ...IChatConversationImdnTableViewCell.strings | Bin 718 -> 0 bytes ...IChatConversationInfoTableViewCell.strings | Bin 656 -> 0 bytes .../pl.lproj/UIChatCreateCell.strings | Bin 746 -> 0 bytes .../UIChatCreateCollectionViewCell.strings | Bin 214 -> 0 bytes .../pl.lproj/UIConfirmationDialog.strings | Bin 1066 -> 0 bytes .../LinphoneUI/pl.lproj/UIContactCell.strings | Bin 396 -> 0 bytes .../pl.lproj/UIContactDetailsCell.strings | Bin 1504 -> 0 bytes .../LinphoneUI/pl.lproj/UIHistoryCell.strings | Bin 468 -> 0 bytes .../pt_BR.lproj/StatusBarView.strings | Bin 1064 -> 0 bytes .../LinphoneUI/pt_BR.lproj/TabBarView.strings | Bin 3710 -> 0 bytes .../pt_BR.lproj/UICallConferenceCell.strings | Bin 1522 -> 0 bytes .../pt_BR.lproj/UICallPausedCell.strings | Bin 1522 -> 0 bytes .../pt_BR.lproj/UIChatBubblePhotoCell.strings | Bin 3208 -> 0 bytes .../pt_BR.lproj/UIChatBubbleTextCell.strings | Bin 744 -> 0 bytes .../LinphoneUI/pt_BR.lproj/UIChatCell.strings | Bin 1570 -> 0 bytes ...IChatConversationImdnTableViewCell.strings | Bin 714 -> 0 bytes ...IChatConversationInfoTableViewCell.strings | Bin 648 -> 0 bytes .../pt_BR.lproj/UIChatCreateCell.strings | Bin 730 -> 0 bytes .../UIChatCreateCollectionViewCell.strings | Bin 206 -> 0 bytes .../pt_BR.lproj/UIConfirmationDialog.strings | Bin 1080 -> 0 bytes .../pt_BR.lproj/UIContactCell.strings | Bin 406 -> 0 bytes .../pt_BR.lproj/UIContactDetailsCell.strings | Bin 1490 -> 0 bytes .../pt_BR.lproj/UIHistoryCell.strings | Bin 478 -> 0 bytes .../LinphoneUI/ru.lproj/StatusBarView.strings | Bin 1078 -> 0 bytes .../LinphoneUI/ru.lproj/TabBarView.strings | Bin 3694 -> 0 bytes .../ru.lproj/UICallConferenceCell.strings | Bin 1518 -> 0 bytes .../ru.lproj/UICallPausedCell.strings | Bin 1518 -> 0 bytes .../ru.lproj/UIChatBubblePhotoCell.strings | Bin 3228 -> 0 bytes .../ru.lproj/UIChatBubbleTextCell.strings | Bin 750 -> 0 bytes .../LinphoneUI/ru.lproj/UIChatCell.strings | Bin 1570 -> 0 bytes ...IChatConversationImdnTableViewCell.strings | Bin 726 -> 0 bytes ...IChatConversationInfoTableViewCell.strings | Bin 674 -> 0 bytes .../ru.lproj/UIChatCreateCell.strings | Bin 756 -> 0 bytes .../UIChatCreateCollectionViewCell.strings | Bin 218 -> 0 bytes .../ru.lproj/UIConfirmationDialog.strings | Bin 1046 -> 0 bytes .../LinphoneUI/ru.lproj/UIContactCell.strings | Bin 398 -> 0 bytes .../ru.lproj/UIContactDetailsCell.strings | Bin 1514 -> 0 bytes .../LinphoneUI/ru.lproj/UIHistoryCell.strings | Bin 470 -> 0 bytes .../LinphoneUI/sv.lproj/StatusBarView.strings | Bin 1056 -> 0 bytes .../LinphoneUI/sv.lproj/TabBarView.strings | Bin 3714 -> 0 bytes .../sv.lproj/UICallConferenceCell.strings | Bin 1500 -> 0 bytes .../sv.lproj/UICallPausedCell.strings | Bin 1500 -> 0 bytes .../sv.lproj/UIChatBubblePhotoCell.strings | Bin 3204 -> 0 bytes .../sv.lproj/UIChatBubbleTextCell.strings | Bin 734 -> 0 bytes .../LinphoneUI/sv.lproj/UIChatCell.strings | Bin 1594 -> 0 bytes ...IChatConversationImdnTableViewCell.strings | Bin 702 -> 0 bytes ...IChatConversationInfoTableViewCell.strings | Bin 668 -> 0 bytes .../sv.lproj/UIChatCreateCell.strings | Bin 730 -> 0 bytes .../UIChatCreateCollectionViewCell.strings | Bin 206 -> 0 bytes .../sv.lproj/UIConfirmationDialog.strings | Bin 1072 -> 0 bytes .../LinphoneUI/sv.lproj/UIContactCell.strings | Bin 394 -> 0 bytes .../sv.lproj/UIContactDetailsCell.strings | Bin 1500 -> 0 bytes .../LinphoneUI/sv.lproj/UIHistoryCell.strings | Bin 466 -> 0 bytes .../LinphoneUI/tr.lproj/StatusBarView.strings | Bin 1040 -> 0 bytes .../LinphoneUI/tr.lproj/TabBarView.strings | Bin 3690 -> 0 bytes .../tr.lproj/UICallConferenceCell.strings | Bin 1486 -> 0 bytes .../tr.lproj/UICallPausedCell.strings | Bin 1486 -> 0 bytes .../tr.lproj/UIChatBubblePhotoCell.strings | Bin 3156 -> 0 bytes .../tr.lproj/UIChatBubbleTextCell.strings | Bin 738 -> 0 bytes .../LinphoneUI/tr.lproj/UIChatCell.strings | Bin 1550 -> 0 bytes ...IChatConversationImdnTableViewCell.strings | Bin 708 -> 0 bytes ...IChatConversationInfoTableViewCell.strings | Bin 660 -> 0 bytes .../tr.lproj/UIChatCreateCell.strings | Bin 750 -> 0 bytes .../UIChatCreateCollectionViewCell.strings | Bin 216 -> 0 bytes .../tr.lproj/UIConfirmationDialog.strings | Bin 1058 -> 0 bytes .../LinphoneUI/tr.lproj/UIContactCell.strings | Bin 384 -> 0 bytes .../tr.lproj/UIContactDetailsCell.strings | Bin 1510 -> 0 bytes .../LinphoneUI/tr.lproj/UIHistoryCell.strings | Bin 456 -> 0 bytes .../LinphoneUI/uk.lproj/StatusBarView.strings | Bin 1062 -> 0 bytes .../LinphoneUI/uk.lproj/TabBarView.strings | Bin 3686 -> 0 bytes .../uk.lproj/UICallConferenceCell.strings | Bin 1524 -> 0 bytes .../uk.lproj/UICallPausedCell.strings | Bin 1532 -> 0 bytes .../uk.lproj/UIChatBubblePhotoCell.strings | Bin 3256 -> 0 bytes .../uk.lproj/UIChatBubbleTextCell.strings | Bin 750 -> 0 bytes .../LinphoneUI/uk.lproj/UIChatCell.strings | Bin 1582 -> 0 bytes ...IChatConversationImdnTableViewCell.strings | Bin 728 -> 0 bytes ...IChatConversationInfoTableViewCell.strings | Bin 672 -> 0 bytes .../uk.lproj/UIChatCreateCell.strings | Bin 750 -> 0 bytes .../UIChatCreateCollectionViewCell.strings | Bin 224 -> 0 bytes .../uk.lproj/UIConfirmationDialog.strings | Bin 1070 -> 0 bytes .../LinphoneUI/uk.lproj/UIContactCell.strings | Bin 398 -> 0 bytes .../uk.lproj/UIContactDetailsCell.strings | Bin 1520 -> 0 bytes .../LinphoneUI/uk.lproj/UIHistoryCell.strings | Bin 478 -> 0 bytes .../zh_CN.lproj/StatusBarView.strings | Bin 994 -> 0 bytes .../LinphoneUI/zh_CN.lproj/TabBarView.strings | Bin 3510 -> 0 bytes .../zh_CN.lproj/UICallConferenceCell.strings | Bin 1440 -> 0 bytes .../zh_CN.lproj/UICallPausedCell.strings | Bin 1440 -> 0 bytes .../zh_CN.lproj/UIChatBubblePhotoCell.strings | Bin 3062 -> 0 bytes .../zh_CN.lproj/UIChatBubbleTextCell.strings | Bin 710 -> 0 bytes .../LinphoneUI/zh_CN.lproj/UIChatCell.strings | Bin 1456 -> 0 bytes ...IChatConversationImdnTableViewCell.strings | Bin 680 -> 0 bytes ...IChatConversationInfoTableViewCell.strings | Bin 628 -> 0 bytes .../zh_CN.lproj/UIChatCreateCell.strings | Bin 718 -> 0 bytes .../UIChatCreateCollectionViewCell.strings | Bin 194 -> 0 bytes .../zh_CN.lproj/UIConfirmationDialog.strings | Bin 980 -> 0 bytes .../zh_CN.lproj/UIContactCell.strings | Bin 372 -> 0 bytes .../zh_CN.lproj/UIContactDetailsCell.strings | Bin 1480 -> 0 bytes .../zh_CN.lproj/UIHistoryCell.strings | Bin 444 -> 0 bytes .../zh_TW.lproj/StatusBarView.strings | Bin 994 -> 0 bytes .../LinphoneUI/zh_TW.lproj/TabBarView.strings | Bin 3498 -> 0 bytes .../LinphoneUI/zh_TW.lproj/UICallCell.strings | Bin 9736 -> 0 bytes .../zh_TW.lproj/UICallConferenceCell.strings | Bin 1448 -> 0 bytes .../zh_TW.lproj/UICallPausedCell.strings | Bin 1448 -> 0 bytes .../zh_TW.lproj/UIChatBubblePhotoCell.strings | Bin 3068 -> 0 bytes .../zh_TW.lproj/UIChatBubbleTextCell.strings | Bin 706 -> 0 bytes .../LinphoneUI/zh_TW.lproj/UIChatCell.strings | Bin 1472 -> 0 bytes ...IChatConversationImdnTableViewCell.strings | Bin 684 -> 0 bytes ...IChatConversationInfoTableViewCell.strings | Bin 632 -> 0 bytes .../zh_TW.lproj/UIChatCreateCell.strings | Bin 722 -> 0 bytes .../UIChatCreateCollectionViewCell.strings | Bin 198 -> 0 bytes .../zh_TW.lproj/UIConfirmationDialog.strings | Bin 974 -> 0 bytes .../zh_TW.lproj/UIContactCell.strings | Bin 374 -> 0 bytes .../zh_TW.lproj/UIContactDetailsCell.strings | Bin 1480 -> 0 bytes .../UIContactDetailsFooter.strings | Bin 442 -> 0 bytes .../UIContactDetailsHeader.strings | Bin 628 -> 0 bytes .../zh_TW.lproj/UIHistoryCell.strings | Bin 446 -> 0 bytes .../LinphoneUI/zh_TW.lproj/UIMainBar.strings | Bin 2688 -> 0 bytes .../zh_TW.lproj/UIMainBar~ipad.strings | Bin 3780 -> 0 bytes Classes/Log.h | 42 - Classes/MagicSearch.swift | 153 - Classes/MainStoryboard.storyboard | 47 - Classes/PhoneMainView.h | 128 - Classes/PhoneMainView.m | 1002 --- Classes/RecordingsListTableView.h | 35 - Classes/RecordingsListTableView.m | 268 - Classes/RecordingsListView.h | 49 - Classes/RecordingsListView.m | 153 - Classes/SettingsView.h | 43 - Classes/SettingsView.m | 1387 --- Classes/ShopTableView.h | 24 - Classes/ShopTableView.m | 79 - Classes/ShopView.h | 31 - Classes/ShopView.m | 63 - Classes/SideMenuTableView.h | 37 - Classes/SideMenuTableView.m | 197 - Classes/SideMenuView.h | 39 - Classes/SideMenuView.m | 147 - Classes/Swift/AppManager.swift | 79 - Classes/Swift/CallManager.swift | 833 -- Classes/Swift/Chat/Data/FileType.swift | 106 - .../ChatConversationTableViewModel.swift | 133 - .../ChatConversationViewModel.swift | 584 -- .../ChatConversationTableViewSwift.swift | 801 -- .../Views/ChatConversationViewSwift.swift | 1643 ---- .../Chat/Views/CircularProgressBarView.swift | 66 - .../Chat/Views/DownloadMessageCell.swift | 96 - Classes/Swift/Chat/Views/DropDownCell.swift | 45 - Classes/Swift/Chat/Views/DropDownCell.xib | 112 - .../Chat/Views/Fragments/ReactionCell.swift | 77 - .../Views/Fragments/SheetViewController.swift | 394 - Classes/Swift/Chat/Views/MessageView.swift | 168 - .../Chat/Views/MultilineMessageCell.swift | 2477 ----- .../Swift/Chat/Views/UploadMessageCell.swift | 53 - Classes/Swift/Conference/Data/Duration.swift | 31 - Classes/Swift/Conference/Data/Mode.swift | 31 - .../Data/ScheduledConferenceData.swift | 143 - .../Swift/Conference/Data/TimeZoneData.swift | 60 - .../ConferenceSchedulingViewModel.swift | 275 - .../ConferenceWaitingRoomViewModel.swift | 75 - .../ScheduledConferencesViewModel.swift | 88 - .../Views/ConferenceHistoryDetailsView.swift | 194 - .../ConferenceSchedulingSummaryView.swift | 517 -- .../Views/ConferenceSchedulingView.swift | 293 - .../Views/ConferenceWaitingRoomView.swift | 278 - .../Conference/Views/ICSBubbleView.swift | 288 - .../Views/ScheduledConferencesCell.swift | 304 - .../Views/ScheduledConferencesView.swift | 241 - Classes/Swift/ConfigManager.swift | 129 - .../Swift/Extensions/IOS/CopyableLabel.swift | 54 - .../Extensions/IOS/OptionalExtensions.swift | 43 - .../Swift/Extensions/IOS/SnapkitBridge.swift | 54 - .../IOS/UIApplication+Extension.swift | 39 - .../Extensions/IOS/UIButtonExtensions.swift | 40 - .../Extensions/IOS/UIColorExtensions.swift | 41 - .../Extensions/IOS/UIDeviceExtensions.swift | 80 - .../Extensions/IOS/UIImageExtensions.swift | 50 - .../IOS/UIImageViewExtensions.swift | 27 - .../Extensions/IOS/UILabelExtensions.swift | 38 - .../IOS/UIVIewControllerExtensions.swift | 29 - .../Extensions/IOS/UIVIewExtensions.swift | 548 -- .../LinphoneCore/AddressExtensions.swift | 63 - .../LinphoneCore/CallExtensions.swift | 45 - .../LinphoneCore/ConferenceExtensions.swift | 34 - .../LinphoneCore/CoreExtensions.swift | 43 - .../Extensions/LinphoneCore/IceState.swift | 35 - .../LinphoneCore/ParticipantExtensions.swift | 33 - .../Extensions/LinphoneCore/PayloadType.swift | 27 - Classes/Swift/FileUtil.swift | 139 - Classes/Swift/LocalPushManager.swift | 129 - Classes/Swift/ProviderDelegate.swift | 365 - Classes/Swift/SwiftUtil.swift | 125 - Classes/Swift/Util/AudioPlayer.swift | 84 - .../Util/BackActionsNavigationView.swift | 219 - .../Swift/Util/BackNextNavigationView.swift | 87 - Classes/Swift/Util/ContentMessageView.swift | 272 - .../Swift/Util/CustomAlertController.swift | 172 - Classes/Swift/Util/MutableLiveData.swift | 138 - Classes/Swift/Util/Pair.swift | 33 - Classes/Swift/Util/TimestampUtils.swift | 75 - Classes/Swift/Util/UIImageExtension.swift | 34 - .../Util/ViewModel/MediatorLiveData.swift | 48 - Classes/Swift/Util/Viewers/ImageViewer.swift | 157 - Classes/Swift/Util/Viewers/MediaViewer.swift | 262 - Classes/Swift/Util/Viewers/TextViewer.swift | 79 - Classes/Swift/VFSUtil.swift | 243 - Classes/Swift/Voip/AudioRouteUtils.swift | 191 - Classes/Swift/Voip/Theme/ButtonTheme.swift | 33 - Classes/Swift/Voip/Theme/LightDarkColor.swift | 42 - Classes/Swift/Voip/Theme/TextStyle.swift | 111 - Classes/Swift/Voip/Theme/VoipTexts.swift | 253 - Classes/Swift/Voip/Theme/VoipTheme.swift | 456 - Classes/Swift/Voip/ViewModels/CallData.swift | 217 - .../Voip/ViewModels/CallStatisticsData.swift | 174 - .../Voip/ViewModels/CallsViewModel.swift | 242 - .../ConferenceParticipantData.swift | 65 - .../ConferenceParticipantDeviceData.swift | 139 - .../ViewModels/ConferenceSpeakerData.swift | 52 - .../Voip/ViewModels/ConferenceViewModel.swift | 563 -- .../Voip/ViewModels/ControlsViewModel.swift | 300 - .../AbstractCallView.swift | 203 - .../AbstractIncomingOutgoingCallView.swift | 115 - .../ConferenceCallView.swift | 188 - .../IncomingCallView.swift | 85 - .../OutgoingCallView.swift | 107 - .../SingleCallView.swift | 233 - .../Fragments/ActiveCall/ActiveCallView.swift | 259 - .../Views/Fragments/AudioRoutesView.swift | 83 - .../Voip/Views/Fragments/CallStatsView.swift | 136 - .../Fragments/CallsList/CallsListView.swift | 168 - .../Fragments/CallsList/VoipCallCell.swift | 99 - .../CallsList/VoipCallContextMenu.swift | 160 - .../Views/Fragments/Conference/MicMuted.swift | 33 - .../VoipActiveSpeakerParticipantCell.swift | 169 - .../VoipAudioOnlyParticipantCell.swift | 138 - .../VoipConferenceActiveSpeakerView.swift | 510 -- .../VoipConferenceAudioOnlyView.swift | 223 - ...ipConferenceDisplayModeSelectionView.swift | 167 - .../Conference/VoipConferenceGridView.swift | 295 - .../Conference/VoipGridParticipantCell.swift | 173 - .../ConferenceLayoutPickerView.swift | 80 - .../Voip/Views/Fragments/ControlsView.swift | 137 - .../Views/Fragments/DismissableView.swift | 65 - .../Voip/Views/Fragments/LocalVideoView.swift | 100 - .../Voip/Views/Fragments/NumpadView.swift | 127 - .../ParticipantsListView.swift | 127 - .../VoipParticipantCell.swift | 174 - .../PausedCallOrConferenceView.swift | 90 - .../Views/Fragments/RemotelyRecording.swift | 61 - .../SpeakersList/SpeakersListView.swift | 127 - .../SpeakersList/VoipSpeakerCell.swift | 149 - .../Fragments/VoipExtraButtonsView.swift | 191 - .../Voip/Views/SharedLayoutConstants.swift | 30 - Classes/Swift/Voip/VoipDialog.swift | 128 - .../Swift/Voip/VoipDialog_BACKUP_1064.swift | 134 - .../Swift/Voip/VoipDialog_BACKUP_1156.swift | 134 - .../Swift/Voip/VoipDialog_BACKUP_884.swift | 134 - .../Swift/Voip/VoipDialog_BACKUP_973.swift | 134 - Classes/Swift/Voip/VoipDialog_BASE_1064.swift | 126 - Classes/Swift/Voip/VoipDialog_BASE_1156.swift | 126 - Classes/Swift/Voip/VoipDialog_BASE_884.swift | 126 - Classes/Swift/Voip/VoipDialog_BASE_973.swift | 126 - .../Swift/Voip/VoipDialog_LOCAL_1064.swift | 126 - .../Swift/Voip/VoipDialog_LOCAL_1156.swift | 126 - Classes/Swift/Voip/VoipDialog_LOCAL_884.swift | 126 - Classes/Swift/Voip/VoipDialog_LOCAL_973.swift | 126 - .../Swift/Voip/VoipDialog_REMOTE_1064.swift | 127 - .../Swift/Voip/VoipDialog_REMOTE_1156.swift | 127 - .../Swift/Voip/VoipDialog_REMOTE_884.swift | 127 - .../Swift/Voip/VoipDialog_REMOTE_973.swift | 127 - Classes/Swift/Voip/Widgets/Avatar.swift | 278 - .../Swift/Voip/Widgets/BouncingCounter.swift | 75 - .../Widgets/ButtonWithStateBackgrounds.swift | 50 - .../Voip/Widgets/CallControlButton.swift | 88 - Classes/Swift/Voip/Widgets/FormButton.swift | 62 - .../Swift/Voip/Widgets/RotatingSpinner.swift | 48 - .../Swift/Voip/Widgets/StyledCheckBox.swift | 54 - .../Swift/Voip/Widgets/StyledDatePicker.swift | 127 - Classes/Swift/Voip/Widgets/StyledLabel.swift | 37 - Classes/Swift/Voip/Widgets/StyledSwitch.swift | 46 - .../Swift/Voip/Widgets/StyledTextView.swift | 108 - .../Voip/Widgets/StyledValuePicker.swift | 111 - Classes/Swift/Voip/Widgets/UICallTimer.swift | 71 - .../Swift/Voip/Widgets/VoipExtraButton.swift | 75 - .../CAAnimationBlocks/CAAnimation+Blocks.h | 20 - .../CAAnimationBlocks/CAAnimation+Blocks.m | 99 - Classes/Utils/ColorSpaceUtilites.m | 135 - Classes/Utils/ColorSpaceUtilities.h | 14 - Classes/Utils/DCRoundSwitch/DCRoundSwitch.h | 33 - Classes/Utils/DCRoundSwitch/DCRoundSwitch.m | 453 - .../DCRoundSwitch/DCRoundSwitchKnobLayer.h | 18 - .../DCRoundSwitch/DCRoundSwitchKnobLayer.m | 69 - .../DCRoundSwitch/DCRoundSwitchOutlineLayer.h | 16 - .../DCRoundSwitch/DCRoundSwitchOutlineLayer.m | 66 - .../DCRoundSwitch/DCRoundSwitchToggleLayer.h | 26 - .../DCRoundSwitch/DCRoundSwitchToggleLayer.m | 94 - Classes/Utils/DTFoundation/DTActionSheet.h | 68 - Classes/Utils/DTFoundation/DTActionSheet.m | 179 - Classes/Utils/DTFoundation/DTAlertView.h | 57 - Classes/Utils/DTFoundation/DTAlertView.m | 183 - Classes/Utils/DTFoundation/DTWeakSupport.h | 33 - Classes/Utils/FastAddressBook.h | 68 - Classes/Utils/FastAddressBook.m | 650 -- Classes/Utils/FileTransferDelegate.h | 40 - Classes/Utils/FileTransferDelegate.m | 315 - .../HPGrowingTextView/HPGrowingTextView.h | 124 - .../HPGrowingTextView/HPGrowingTextView.m | 602 -- .../HPGrowingTextView/HPTextViewInternal.h | 36 - .../HPGrowingTextView/HPTextViewInternal.m | 105 - .../IASKAppSettingsViewController.h | 89 - .../IASKAppSettingsViewController.m | 914 -- .../IASKSpecifierValuesViewController.h | 36 - .../IASKSpecifierValuesViewController.m | 200 - .../Controllers/IASKViewController.h | 26 - .../Models/IASKSettingsReader.h | 162 - .../Models/IASKSettingsReader.m | 282 - .../Models/IASKSettingsStore.h | 39 - .../Models/IASKSettingsStore.m | 68 - .../Models/IASKSettingsStoreFile.h | 28 - .../Models/IASKSettingsStoreFile.m | 52 - .../Models/IASKSettingsStoreUserDefaults.h | 25 - .../Models/IASKSettingsStoreUserDefaults.m | 67 - .../InAppSettingsKit/Models/IASKSpecifier.h | 62 - .../InAppSettingsKit/Models/IASKSpecifier.m | 269 - .../Views/IASKPSSliderSpecifierViewCell.h | 27 - .../Views/IASKPSSliderSpecifierViewCell.m | 92 - .../Views/IASKPSTextFieldSpecifierViewCell.h | 25 - .../Views/IASKPSTextFieldSpecifierViewCell.m | 72 - .../Utils/InAppSettingsKit/Views/IASKSlider.h | 26 - .../Utils/InAppSettingsKit/Views/IASKSlider.m | 28 - .../Utils/InAppSettingsKit/Views/IASKSwitch.h | 26 - .../Utils/InAppSettingsKit/Views/IASKSwitch.m | 29 - .../InAppSettingsKit/Views/IASKTextField.h | 26 - .../InAppSettingsKit/Views/IASKTextField.m | 28 - Classes/Utils/Log.m | 140 - Classes/Utils/OrderedDictionary.h | 37 - Classes/Utils/OrderedDictionary.m | 142 - Classes/Utils/TPKeyboardAvoiding/LICENSE.txt | 20 - .../TPKeyboardAvoidingCollectionView.h | 14 - .../TPKeyboardAvoidingCollectionView.m | 109 - .../TPKeyboardAvoidingScrollView.h | 15 - .../TPKeyboardAvoidingScrollView.m | 101 - .../TPKeyboardAvoidingTableView.h | 14 - .../TPKeyboardAvoidingTableView.m | 104 - ...UIScrollView+TPKeyboardAvoidingAdditions.h | 22 - ...UIScrollView+TPKeyboardAvoidingAdditions.m | 301 - .../TPMultiLayoutViewController.h | 27 - .../TPMultiLayoutViewController.m | 227 - .../UIAlertView+Blocks/UIAlertView+Blocks.h | 59 - .../UIAlertView+Blocks/UIAlertView+Blocks.m | 264 - Classes/Utils/Utils.h | 156 - Classes/Utils/Utils.m | 979 -- .../Utils/XMLRPC/XMLRPCConnectionDelegate.h | 27 - Classes/Utils/XMLRPCHelper.h | 42 - Classes/Utils/XMLRPCHelper.m | 158 - Classes/ar.lproj/AboutView.strings | Bin 3886 -> 0 bytes Classes/ar.lproj/AssistantLinkView.strings | Bin 6248 -> 0 bytes Classes/ar.lproj/AssistantView.strings | Bin 722 -> 0 bytes Classes/ar.lproj/AssistantViewScreens.strings | Bin 34156 -> 0 bytes Classes/ar.lproj/CallOutgoingView.strings | Bin 5642 -> 0 bytes Classes/ar.lproj/CallView~ipad.strings | Bin 19006 -> 0 bytes .../ChatConversationCreateView.strings | Bin 1424 -> 0 bytes .../ar.lproj/ChatConversationImdnView.strings | Bin 1804 -> 0 bytes .../ar.lproj/ChatConversationInfoView.strings | Bin 2824 -> 0 bytes Classes/ar.lproj/ChatConversationView.strings | Bin 7438 -> 0 bytes Classes/ar.lproj/ChatsListView.strings | Bin 1854 -> 0 bytes Classes/ar.lproj/ContactDetailsView.strings | Bin 2874 -> 0 bytes Classes/ar.lproj/ContactsListView.strings | Bin 2196 -> 0 bytes Classes/ar.lproj/CountryListView.strings | Bin 472 -> 0 bytes Classes/ar.lproj/DialerView.strings | Bin 3682 -> 0 bytes Classes/ar.lproj/DialerView~ipad.strings | Bin 8486 -> 0 bytes Classes/ar.lproj/FirstLoginView.strings | Bin 7182 -> 0 bytes Classes/ar.lproj/HistoryDetailsView.strings | Bin 5174 -> 0 bytes Classes/ar.lproj/HistoryListView.strings | Bin 1822 -> 0 bytes Classes/ar.lproj/ImageView.strings | Bin 284 -> 0 bytes Classes/ar.lproj/SettingsView.strings | Bin 744 -> 0 bytes Classes/ar.lproj/ShopView.strings | Bin 476 -> 0 bytes Classes/ar.lproj/SideMenuView.strings | Bin 478 -> 0 bytes Classes/ar.lproj/SideMenuView~ipad.strings | Bin 478 -> 0 bytes Classes/cs.lproj/AboutView.strings | Bin 3986 -> 0 bytes Classes/cs.lproj/AssistantLinkView.strings | Bin 7052 -> 0 bytes Classes/cs.lproj/AssistantView.strings | Bin 710 -> 0 bytes Classes/cs.lproj/AssistantViewScreens.strings | Bin 35000 -> 0 bytes Classes/cs.lproj/CallIncomingView.strings | Bin 4530 -> 0 bytes Classes/cs.lproj/CallOutgoingView.strings | Bin 5686 -> 0 bytes Classes/cs.lproj/CallView.strings | Bin 18918 -> 0 bytes Classes/cs.lproj/CallView~ipad.strings | Bin 18918 -> 0 bytes .../ChatConversationCreateView.strings | Bin 1390 -> 0 bytes .../cs.lproj/ChatConversationImdnView.strings | Bin 1788 -> 0 bytes .../cs.lproj/ChatConversationInfoView.strings | Bin 2822 -> 0 bytes Classes/cs.lproj/ChatConversationView.strings | Bin 7450 -> 0 bytes Classes/cs.lproj/ContactDetailsView.strings | Bin 2902 -> 0 bytes Classes/cs.lproj/ContactsListView.strings | Bin 2166 -> 0 bytes Classes/cs.lproj/CountryListView.strings | Bin 474 -> 0 bytes Classes/cs.lproj/DialerView.strings | Bin 3690 -> 0 bytes Classes/cs.lproj/DialerView~ipad.strings | Bin 8526 -> 0 bytes Classes/cs.lproj/FirstLoginView.strings | Bin 7270 -> 0 bytes Classes/cs.lproj/HistoryDetailsView.strings | Bin 5150 -> 0 bytes Classes/cs.lproj/SettingsView.strings | Bin 728 -> 0 bytes Classes/cs.lproj/ShopView.strings | Bin 466 -> 0 bytes Classes/cs.lproj/SideMenuView.strings | Bin 484 -> 0 bytes Classes/de.lproj/AboutView.strings | Bin 3918 -> 0 bytes Classes/de.lproj/AssistantLinkView.strings | Bin 6696 -> 0 bytes Classes/de.lproj/AssistantView.strings | Bin 720 -> 0 bytes Classes/de.lproj/AssistantViewScreens.strings | Bin 35586 -> 0 bytes Classes/de.lproj/AssistantViews.strings | Bin 19138 -> 0 bytes Classes/de.lproj/AssistantView~ipad.strings | Bin 2514 -> 0 bytes Classes/de.lproj/CallIncomingView.strings | Bin 4590 -> 0 bytes Classes/de.lproj/CallOutgoingView.strings | Bin 5786 -> 0 bytes Classes/de.lproj/CallView.strings | Bin 19110 -> 0 bytes Classes/de.lproj/CallView~ipad.strings | Bin 19110 -> 0 bytes .../ChatConversationCreateView.strings | Bin 1412 -> 0 bytes .../de.lproj/ChatConversationImdnView.strings | Bin 1788 -> 0 bytes .../de.lproj/ChatConversationInfoView.strings | Bin 2816 -> 0 bytes Classes/de.lproj/ChatConversationView.strings | Bin 7534 -> 0 bytes Classes/de.lproj/ChatRoomView.strings | Bin 2830 -> 0 bytes Classes/de.lproj/ChatView.strings | Bin 1558 -> 0 bytes Classes/de.lproj/ChatsListView.strings | Bin 1920 -> 0 bytes Classes/de.lproj/ContactDetailsView.strings | Bin 2946 -> 0 bytes Classes/de.lproj/ContactsListView.strings | Bin 2216 -> 0 bytes Classes/de.lproj/ContactsView.strings | Bin 1808 -> 0 bytes Classes/de.lproj/CountryListView.strings | Bin 502 -> 0 bytes Classes/de.lproj/DialerView.strings | Bin 3764 -> 0 bytes Classes/de.lproj/DialerView~ipad.strings | Bin 8638 -> 0 bytes Classes/de.lproj/FirstLoginView.strings | Bin 7322 -> 0 bytes Classes/de.lproj/HistoryDetailsView.strings | Bin 5182 -> 0 bytes Classes/de.lproj/HistoryListView.strings | Bin 1850 -> 0 bytes Classes/de.lproj/HistoryView.strings | Bin 1988 -> 0 bytes Classes/de.lproj/ImageView.strings | Bin 294 -> 0 bytes Classes/de.lproj/InCallView.strings | Bin 260 -> 0 bytes Classes/de.lproj/IncomingCallView.strings | Bin 1576 -> 0 bytes .../de.lproj/IncomingCallView~ipad.strings | Bin 3166 -> 0 bytes Classes/de.lproj/SettingsView.strings | Bin 754 -> 0 bytes Classes/de.lproj/ShopView.strings | Bin 486 -> 0 bytes Classes/de.lproj/SideMenuView.strings | Bin 502 -> 0 bytes Classes/de.lproj/SideMenuView~ipad.strings | Bin 502 -> 0 bytes Classes/en.lproj/RecordingsListView.strings | 18 - Classes/es.lproj/AboutView.strings | Bin 3984 -> 0 bytes Classes/es.lproj/AssistantLinkView.strings | Bin 7218 -> 0 bytes Classes/es.lproj/AssistantView.strings | Bin 716 -> 0 bytes Classes/es.lproj/AssistantViewScreens.strings | Bin 35368 -> 0 bytes Classes/es.lproj/CallIncomingView.strings | Bin 4546 -> 0 bytes Classes/es.lproj/CallOutgoingView.strings | Bin 5686 -> 0 bytes Classes/es.lproj/CallView.strings | Bin 19034 -> 0 bytes Classes/es.lproj/CallView~ipad.strings | Bin 19034 -> 0 bytes .../ChatConversationCreateView.strings | Bin 1446 -> 0 bytes .../es.lproj/ChatConversationImdnView.strings | Bin 1816 -> 0 bytes .../es.lproj/ChatConversationInfoView.strings | Bin 2840 -> 0 bytes Classes/es.lproj/ChatConversationView.strings | Bin 7610 -> 0 bytes Classes/es.lproj/ChatsListView.strings | Bin 1896 -> 0 bytes Classes/es.lproj/ContactDetailsView.strings | Bin 2958 -> 0 bytes Classes/es.lproj/ContactsListView.strings | Bin 2294 -> 0 bytes Classes/es.lproj/CountryListView.strings | Bin 490 -> 0 bytes Classes/es.lproj/DialerView.strings | Bin 3736 -> 0 bytes Classes/es.lproj/DialerView~ipad.strings | Bin 8590 -> 0 bytes Classes/es.lproj/FirstLoginView.strings | Bin 7230 -> 0 bytes Classes/es.lproj/HistoryDetailsView.strings | Bin 5278 -> 0 bytes Classes/es.lproj/HistoryListView.strings | Bin 1874 -> 0 bytes Classes/es.lproj/ImageView.strings | Bin 290 -> 0 bytes Classes/es.lproj/SettingsView.strings | Bin 752 -> 0 bytes Classes/es.lproj/ShopView.strings | Bin 484 -> 0 bytes Classes/es.lproj/SideMenuView.strings | Bin 478 -> 0 bytes Classes/es.lproj/SideMenuView~ipad.strings | Bin 478 -> 0 bytes Classes/es_AR.lproj/AboutView.strings | Bin 3984 -> 0 bytes Classes/es_AR.lproj/AssistantLinkView.strings | Bin 6958 -> 0 bytes Classes/es_AR.lproj/AssistantView.strings | Bin 716 -> 0 bytes .../es_AR.lproj/AssistantViewScreens.strings | Bin 35388 -> 0 bytes Classes/es_AR.lproj/CallIncomingView.strings | Bin 4546 -> 0 bytes Classes/es_AR.lproj/CallOutgoingView.strings | Bin 5686 -> 0 bytes Classes/es_AR.lproj/CallView.strings | Bin 19034 -> 0 bytes Classes/es_AR.lproj/CallView~ipad.strings | Bin 19034 -> 0 bytes .../ChatConversationCreateView.strings | Bin 1448 -> 0 bytes .../ChatConversationImdnView.strings | Bin 1820 -> 0 bytes .../ChatConversationInfoView.strings | Bin 2866 -> 0 bytes .../es_AR.lproj/ChatConversationView.strings | Bin 7610 -> 0 bytes Classes/es_AR.lproj/ChatsListView.strings | Bin 1896 -> 0 bytes .../es_AR.lproj/ContactDetailsView.strings | Bin 2958 -> 0 bytes Classes/es_AR.lproj/ContactsListView.strings | Bin 2290 -> 0 bytes Classes/es_AR.lproj/CountryListView.strings | Bin 490 -> 0 bytes Classes/es_AR.lproj/DialerView.strings | Bin 3736 -> 0 bytes Classes/es_AR.lproj/DialerView~ipad.strings | Bin 8590 -> 0 bytes Classes/es_AR.lproj/FirstLoginView.strings | Bin 7190 -> 0 bytes .../es_AR.lproj/HistoryDetailsView.strings | Bin 5278 -> 0 bytes Classes/es_AR.lproj/HistoryListView.strings | Bin 1874 -> 0 bytes Classes/es_AR.lproj/ImageView.strings | Bin 290 -> 0 bytes Classes/es_AR.lproj/SettingsView.strings | Bin 748 -> 0 bytes Classes/es_AR.lproj/ShopView.strings | Bin 480 -> 0 bytes Classes/es_AR.lproj/SideMenuView.strings | Bin 478 -> 0 bytes Classes/es_AR.lproj/SideMenuView~ipad.strings | Bin 478 -> 0 bytes Classes/fr.lproj/AboutView.strings | Bin 3994 -> 0 bytes Classes/fr.lproj/AssistantLinkView.strings | Bin 7328 -> 0 bytes Classes/fr.lproj/AssistantView.strings | Bin 716 -> 0 bytes Classes/fr.lproj/AssistantViewScreens.strings | Bin 36298 -> 0 bytes .../ChatConversationCreateView.strings | Bin 1444 -> 0 bytes .../fr.lproj/ChatConversationImdnView.strings | Bin 1800 -> 0 bytes .../fr.lproj/ChatConversationInfoView.strings | Bin 2860 -> 0 bytes Classes/fr.lproj/ChatConversationView.strings | Bin 7594 -> 0 bytes Classes/fr.lproj/ChatsListView.strings | Bin 1922 -> 0 bytes Classes/fr.lproj/ContactDetailsView.strings | Bin 2934 -> 0 bytes Classes/fr.lproj/ContactsListView.strings | Bin 2276 -> 0 bytes Classes/fr.lproj/CountryListView.strings | Bin 486 -> 0 bytes Classes/fr.lproj/DialerView.strings | Bin 3764 -> 0 bytes Classes/fr.lproj/DialerView~ipad.strings | Bin 8646 -> 0 bytes Classes/fr.lproj/FirstLoginView.strings | Bin 7398 -> 0 bytes Classes/fr.lproj/HistoryDetailsView.strings | Bin 5220 -> 0 bytes Classes/fr.lproj/HistoryListView.strings | Bin 1856 -> 0 bytes Classes/fr.lproj/ImageView.strings | Bin 298 -> 0 bytes Classes/fr.lproj/PhoneMainView.strings | 1 - Classes/fr.lproj/RecordingsListView.strings | 18 - Classes/fr.lproj/SettingsView.strings | Bin 748 -> 0 bytes Classes/fr.lproj/ShopView.strings | Bin 482 -> 0 bytes Classes/fr.lproj/SideMenuView.strings | Bin 478 -> 0 bytes Classes/fr.lproj/SideMenuView~ipad.strings | Bin 478 -> 0 bytes Classes/he.lproj/AboutView.strings | Bin 3822 -> 0 bytes Classes/hu.lproj/AboutView.strings | Bin 4018 -> 0 bytes Classes/hu.lproj/AssistantLinkView.strings | Bin 7102 -> 0 bytes Classes/hu.lproj/AssistantView.strings | Bin 712 -> 0 bytes Classes/hu.lproj/AssistantViewScreens.strings | Bin 35140 -> 0 bytes .../ChatConversationCreateView.strings | Bin 1432 -> 0 bytes .../hu.lproj/ChatConversationImdnView.strings | Bin 1844 -> 0 bytes .../hu.lproj/ChatConversationInfoView.strings | Bin 2878 -> 0 bytes Classes/hu.lproj/ChatConversationView.strings | Bin 7502 -> 0 bytes Classes/hu.lproj/ChatsListView.strings | Bin 1926 -> 0 bytes Classes/hu.lproj/ContactDetailsView.strings | Bin 2962 -> 0 bytes Classes/hu.lproj/ContactsListView.strings | Bin 2236 -> 0 bytes Classes/hu.lproj/CountryListView.strings | Bin 500 -> 0 bytes Classes/hu.lproj/DialerView.strings | Bin 3764 -> 0 bytes Classes/hu.lproj/DialerView~ipad.strings | Bin 8658 -> 0 bytes Classes/hu.lproj/FirstLoginView.strings | Bin 7366 -> 0 bytes Classes/hu.lproj/HistoryDetailsView.strings | Bin 5346 -> 0 bytes Classes/hu.lproj/HistoryListView.strings | Bin 1862 -> 0 bytes Classes/hu.lproj/ImageView.strings | Bin 288 -> 0 bytes Classes/hu.lproj/PhoneMainView.strings | 1 - Classes/hu.lproj/SettingsView.strings | Bin 750 -> 0 bytes Classes/hu.lproj/ShopView.strings | Bin 486 -> 0 bytes Classes/hu.lproj/SideMenuView.strings | Bin 494 -> 0 bytes Classes/hu.lproj/SideMenuView~ipad.strings | Bin 494 -> 0 bytes Classes/it.lproj/AboutView.strings | Bin 3986 -> 0 bytes Classes/it.lproj/AssistantLinkView.strings | Bin 6826 -> 0 bytes Classes/it.lproj/AssistantView.strings | Bin 728 -> 0 bytes Classes/it.lproj/AssistantViewScreens.strings | Bin 36148 -> 0 bytes Classes/it.lproj/CallIncomingView.strings | Bin 4574 -> 0 bytes Classes/it.lproj/CallOutgoingView.strings | Bin 5778 -> 0 bytes Classes/it.lproj/CallView.strings | Bin 19194 -> 0 bytes Classes/it.lproj/CallView~ipad.strings | Bin 19194 -> 0 bytes .../ChatConversationCreateView.strings | Bin 1440 -> 0 bytes .../it.lproj/ChatConversationImdnView.strings | Bin 1838 -> 0 bytes .../it.lproj/ChatConversationInfoView.strings | Bin 2874 -> 0 bytes Classes/it.lproj/ChatConversationView.strings | Bin 7650 -> 0 bytes Classes/it.lproj/ChatsListView.strings | Bin 1930 -> 0 bytes Classes/it.lproj/ContactDetailsView.strings | Bin 2962 -> 0 bytes Classes/it.lproj/ContactsListView.strings | Bin 2244 -> 0 bytes Classes/it.lproj/CountryListView.strings | Bin 496 -> 0 bytes Classes/it.lproj/DialerView.strings | Bin 3750 -> 0 bytes Classes/it.lproj/DialerView~ipad.strings | Bin 8618 -> 0 bytes Classes/it.lproj/FirstLoginView.strings | Bin 7282 -> 0 bytes Classes/it.lproj/HistoryDetailsView.strings | Bin 5246 -> 0 bytes Classes/it.lproj/HistoryListView.strings | Bin 1880 -> 0 bytes Classes/it.lproj/ImageView.strings | Bin 298 -> 0 bytes Classes/it.lproj/SettingsView.strings | Bin 754 -> 0 bytes Classes/it.lproj/ShopView.strings | Bin 482 -> 0 bytes Classes/it.lproj/SideMenuView.strings | Bin 490 -> 0 bytes Classes/it.lproj/SideMenuView~ipad.strings | Bin 490 -> 0 bytes Classes/ja.lproj/AboutView.strings | Bin 3830 -> 0 bytes Classes/ja.lproj/AssistantLinkView.strings | Bin 6546 -> 0 bytes Classes/ja.lproj/AssistantView.strings | Bin 704 -> 0 bytes Classes/ja.lproj/AssistantViewScreens.strings | Bin 32550 -> 0 bytes Classes/ja.lproj/AssistantViews.strings | Bin 17660 -> 0 bytes Classes/ja.lproj/AssistantView~ipad.strings | Bin 2442 -> 0 bytes Classes/ja.lproj/CallIncomingView.strings | Bin 4342 -> 0 bytes Classes/ja.lproj/CallOutgoingView.strings | Bin 5546 -> 0 bytes Classes/ja.lproj/CallView.strings | Bin 18422 -> 0 bytes Classes/ja.lproj/CallView~ipad.strings | Bin 18422 -> 0 bytes .../ChatConversationCreateView.strings | Bin 1376 -> 0 bytes .../ja.lproj/ChatConversationImdnView.strings | Bin 1720 -> 0 bytes .../ja.lproj/ChatConversationInfoView.strings | Bin 2702 -> 0 bytes Classes/ja.lproj/ChatConversationView.strings | Bin 7158 -> 0 bytes Classes/ja.lproj/ChatRoomView.strings | Bin 2690 -> 0 bytes Classes/ja.lproj/ChatView.strings | Bin 1452 -> 0 bytes Classes/ja.lproj/ChatsListView.strings | Bin 1798 -> 0 bytes Classes/ja.lproj/ContactDetailsView.strings | Bin 2814 -> 0 bytes Classes/ja.lproj/ContactsListView.strings | Bin 2064 -> 0 bytes Classes/ja.lproj/ContactsView.strings | Bin 1738 -> 0 bytes Classes/ja.lproj/CountryListView.strings | Bin 480 -> 0 bytes Classes/ja.lproj/DialerView.strings | Bin 3656 -> 0 bytes Classes/ja.lproj/DialerView~ipad.strings | Bin 8398 -> 0 bytes Classes/ja.lproj/FirstLoginView.strings | Bin 6854 -> 0 bytes Classes/ja.lproj/HistoryDetailsView.strings | Bin 4934 -> 0 bytes Classes/ja.lproj/HistoryListView.strings | Bin 1712 -> 0 bytes Classes/ja.lproj/HistoryView.strings | Bin 1880 -> 0 bytes Classes/ja.lproj/ImageView.strings | Bin 270 -> 0 bytes Classes/ja.lproj/InCallView.strings | Bin 248 -> 0 bytes Classes/ja.lproj/IncomingCallView.strings | Bin 1472 -> 0 bytes .../ja.lproj/IncomingCallView~ipad.strings | Bin 2958 -> 0 bytes Classes/ja.lproj/SettingsView.strings | Bin 702 -> 0 bytes Classes/ja.lproj/ShopView.strings | Bin 456 -> 0 bytes Classes/ja.lproj/SideMenuView.strings | Bin 478 -> 0 bytes Classes/ja.lproj/SideMenuView~ipad.strings | Bin 478 -> 0 bytes Classes/ka.lproj/AboutView.strings | Bin 3928 -> 0 bytes Classes/ka.lproj/AssistantLinkView.strings | Bin 6698 -> 0 bytes Classes/ka.lproj/AssistantView.strings | Bin 712 -> 0 bytes Classes/ka.lproj/AssistantViewScreens.strings | Bin 35966 -> 0 bytes Classes/ka.lproj/CallIncomingView.strings | Bin 4518 -> 0 bytes Classes/ka.lproj/CallOutgoingView.strings | Bin 5674 -> 0 bytes Classes/ka.lproj/CallView.strings | Bin 19154 -> 0 bytes Classes/ka.lproj/CallView~ipad.strings | Bin 19154 -> 0 bytes .../ChatConversationCreateView.strings | Bin 1422 -> 0 bytes .../ka.lproj/ChatConversationImdnView.strings | Bin 1804 -> 0 bytes .../ka.lproj/ChatConversationInfoView.strings | Bin 2834 -> 0 bytes Classes/ka.lproj/ChatConversationView.strings | Bin 7566 -> 0 bytes Classes/ka.lproj/ChatsListView.strings | Bin 1894 -> 0 bytes Classes/ka.lproj/ContactDetailsView.strings | Bin 2918 -> 0 bytes Classes/ka.lproj/ContactsListView.strings | Bin 2262 -> 0 bytes Classes/ka.lproj/CountryListView.strings | Bin 482 -> 0 bytes Classes/ka.lproj/DialerView.strings | Bin 3726 -> 0 bytes Classes/ka.lproj/DialerView~ipad.strings | Bin 8566 -> 0 bytes Classes/ka.lproj/FirstLoginView.strings | Bin 7566 -> 0 bytes Classes/ka.lproj/HistoryDetailsView.strings | Bin 5178 -> 0 bytes Classes/ka.lproj/HistoryListView.strings | Bin 1872 -> 0 bytes Classes/ka.lproj/ImageView.strings | Bin 288 -> 0 bytes Classes/ka.lproj/SettingsView.strings | Bin 746 -> 0 bytes Classes/ka.lproj/ShopView.strings | Bin 484 -> 0 bytes Classes/ka.lproj/SideMenuView.strings | Bin 478 -> 0 bytes Classes/ka.lproj/SideMenuView~ipad.strings | Bin 478 -> 0 bytes Classes/linphone-Bridging-Header.h | 20 - Classes/nl.lproj/AboutView.strings | Bin 3922 -> 0 bytes Classes/nl.lproj/AssistantLinkView.strings | Bin 6478 -> 0 bytes Classes/nl.lproj/AssistantView.strings | Bin 712 -> 0 bytes Classes/nl.lproj/AssistantViewScreens.strings | Bin 34662 -> 0 bytes Classes/nl.lproj/AssistantViews.strings | Bin 19138 -> 0 bytes Classes/nl.lproj/AssistantView~ipad.strings | Bin 2498 -> 0 bytes Classes/nl.lproj/CallIncomingView.strings | Bin 4618 -> 0 bytes Classes/nl.lproj/CallOutgoingView.strings | Bin 5782 -> 0 bytes Classes/nl.lproj/CallView.strings | Bin 19150 -> 0 bytes Classes/nl.lproj/CallView~ipad.strings | Bin 19150 -> 0 bytes .../ChatConversationCreateView.strings | Bin 1434 -> 0 bytes .../nl.lproj/ChatConversationImdnView.strings | Bin 1874 -> 0 bytes .../nl.lproj/ChatConversationInfoView.strings | Bin 2850 -> 0 bytes Classes/nl.lproj/ChatConversationView.strings | Bin 7660 -> 0 bytes Classes/nl.lproj/ChatRoomView.strings | Bin 2926 -> 0 bytes Classes/nl.lproj/ChatView.strings | Bin 1528 -> 0 bytes Classes/nl.lproj/ChatsListView.strings | Bin 1898 -> 0 bytes Classes/nl.lproj/ContactDetailsView.strings | Bin 2910 -> 0 bytes Classes/nl.lproj/ContactsListView.strings | Bin 2250 -> 0 bytes Classes/nl.lproj/ContactsView.strings | Bin 1866 -> 0 bytes Classes/nl.lproj/CountryListView.strings | Bin 486 -> 0 bytes Classes/nl.lproj/DialerView.strings | Bin 3726 -> 0 bytes Classes/nl.lproj/DialerView~ipad.strings | Bin 8632 -> 0 bytes Classes/nl.lproj/FirstLoginView.strings | Bin 7170 -> 0 bytes Classes/nl.lproj/HistoryDetailsView.strings | Bin 5466 -> 0 bytes Classes/nl.lproj/HistoryListView.strings | Bin 1858 -> 0 bytes Classes/nl.lproj/HistoryView.strings | Bin 2002 -> 0 bytes Classes/nl.lproj/ImageView.strings | Bin 292 -> 0 bytes Classes/nl.lproj/InCallView.strings | Bin 292 -> 0 bytes Classes/nl.lproj/IncomingCallView.strings | Bin 1642 -> 0 bytes .../nl.lproj/IncomingCallView~ipad.strings | Bin 3294 -> 0 bytes Classes/nl.lproj/SettingsView.strings | Bin 752 -> 0 bytes Classes/nl.lproj/ShopView.strings | Bin 488 -> 0 bytes Classes/pl.lproj/AboutView.strings | Bin 3906 -> 0 bytes Classes/pl.lproj/AssistantLinkView.strings | Bin 6470 -> 0 bytes Classes/pl.lproj/AssistantView.strings | Bin 718 -> 0 bytes Classes/pl.lproj/AssistantViewScreens.strings | Bin 35042 -> 0 bytes Classes/pl.lproj/CallIncomingView.strings | Bin 4590 -> 0 bytes Classes/pl.lproj/CallOutgoingView.strings | Bin 5730 -> 0 bytes Classes/pl.lproj/CallView.strings | Bin 19086 -> 0 bytes Classes/pl.lproj/CallView~ipad.strings | Bin 19082 -> 0 bytes .../ChatConversationCreateView.strings | Bin 1426 -> 0 bytes .../pl.lproj/ChatConversationImdnView.strings | Bin 1804 -> 0 bytes .../pl.lproj/ChatConversationInfoView.strings | Bin 2818 -> 0 bytes Classes/pl.lproj/ChatConversationView.strings | Bin 7526 -> 0 bytes Classes/pl.lproj/ChatsListView.strings | Bin 1890 -> 0 bytes Classes/pl.lproj/ContactDetailsView.strings | Bin 2906 -> 0 bytes Classes/pl.lproj/ContactsListView.strings | Bin 2250 -> 0 bytes Classes/pl.lproj/CountryListView.strings | Bin 480 -> 0 bytes Classes/pl.lproj/DialerView.strings | Bin 3690 -> 0 bytes Classes/pl.lproj/DialerView~ipad.strings | Bin 8482 -> 0 bytes Classes/pl.lproj/FirstLoginView.strings | Bin 7250 -> 0 bytes Classes/pl.lproj/HistoryDetailsView.strings | Bin 5154 -> 0 bytes Classes/pl.lproj/HistoryListView.strings | Bin 1856 -> 0 bytes Classes/pl.lproj/ImageView.strings | Bin 286 -> 0 bytes Classes/pl.lproj/SettingsView.strings | Bin 738 -> 0 bytes Classes/pl.lproj/ShopView.strings | Bin 470 -> 0 bytes Classes/pl.lproj/SideMenuView.strings | Bin 494 -> 0 bytes Classes/pl.lproj/SideMenuView~ipad.strings | Bin 494 -> 0 bytes Classes/pt_BR.lproj/AboutView.strings | Bin 3944 -> 0 bytes Classes/pt_BR.lproj/AssistantLinkView.strings | Bin 7248 -> 0 bytes Classes/pt_BR.lproj/AssistantView.strings | Bin 720 -> 0 bytes .../pt_BR.lproj/AssistantViewScreens.strings | Bin 35206 -> 0 bytes Classes/pt_BR.lproj/CallIncomingView.strings | Bin 4538 -> 0 bytes Classes/pt_BR.lproj/CallOutgoingView.strings | Bin 5712 -> 0 bytes Classes/pt_BR.lproj/CallView.strings | Bin 19062 -> 0 bytes Classes/pt_BR.lproj/CallView~ipad.strings | Bin 19092 -> 0 bytes .../ChatConversationCreateView.strings | Bin 1428 -> 0 bytes .../ChatConversationImdnView.strings | Bin 1810 -> 0 bytes .../ChatConversationInfoView.strings | Bin 2852 -> 0 bytes .../pt_BR.lproj/ChatConversationView.strings | Bin 7594 -> 0 bytes Classes/pt_BR.lproj/ChatsListView.strings | Bin 1896 -> 0 bytes .../pt_BR.lproj/ContactDetailsView.strings | Bin 2918 -> 0 bytes Classes/pt_BR.lproj/ContactsListView.strings | Bin 2220 -> 0 bytes Classes/pt_BR.lproj/CountryListView.strings | Bin 492 -> 0 bytes Classes/pt_BR.lproj/DialerView.strings | Bin 3698 -> 0 bytes Classes/pt_BR.lproj/DialerView~ipad.strings | Bin 8506 -> 0 bytes Classes/pt_BR.lproj/FirstLoginView.strings | Bin 7174 -> 0 bytes .../pt_BR.lproj/HistoryDetailsView.strings | Bin 5168 -> 0 bytes Classes/pt_BR.lproj/HistoryListView.strings | Bin 1858 -> 0 bytes Classes/pt_BR.lproj/ImageView.strings | Bin 286 -> 0 bytes Classes/pt_BR.lproj/SettingsView.strings | Bin 752 -> 0 bytes Classes/pt_BR.lproj/ShopView.strings | Bin 476 -> 0 bytes Classes/pt_BR.lproj/SideMenuView.strings | Bin 474 -> 0 bytes Classes/pt_BR.lproj/SideMenuView~ipad.strings | Bin 474 -> 0 bytes Classes/ru.lproj/AboutView.strings | Bin 3986 -> 0 bytes Classes/ru.lproj/AssistantLinkView.strings | Bin 6696 -> 0 bytes Classes/ru.lproj/AssistantView.strings | Bin 720 -> 0 bytes Classes/ru.lproj/AssistantViewScreens.strings | Bin 36016 -> 0 bytes Classes/ru.lproj/CallOutgoingView.strings | Bin 5730 -> 0 bytes Classes/ru.lproj/CallView~ipad.strings | Bin 19138 -> 0 bytes .../ChatConversationCreateView.strings | Bin 1444 -> 0 bytes .../ru.lproj/ChatConversationImdnView.strings | Bin 1810 -> 0 bytes .../ru.lproj/ChatConversationInfoView.strings | Bin 2880 -> 0 bytes Classes/ru.lproj/ChatConversationView.strings | Bin 7498 -> 0 bytes Classes/ru.lproj/ChatsListView.strings | Bin 1896 -> 0 bytes Classes/ru.lproj/ContactDetailsView.strings | Bin 2930 -> 0 bytes Classes/ru.lproj/ContactsListView.strings | Bin 2200 -> 0 bytes Classes/ru.lproj/CountryListView.strings | Bin 482 -> 0 bytes Classes/ru.lproj/DialerView.strings | Bin 3700 -> 0 bytes Classes/ru.lproj/DialerView~ipad.strings | Bin 8510 -> 0 bytes Classes/ru.lproj/FirstLoginView.strings | Bin 7386 -> 0 bytes Classes/ru.lproj/HistoryDetailsView.strings | Bin 5134 -> 0 bytes Classes/ru.lproj/HistoryListView.strings | Bin 1826 -> 0 bytes Classes/ru.lproj/ImageView.strings | Bin 292 -> 0 bytes Classes/ru.lproj/SettingsView.strings | Bin 740 -> 0 bytes Classes/ru.lproj/ShopView.strings | Bin 480 -> 0 bytes Classes/ru.lproj/SideMenuView.strings | Bin 496 -> 0 bytes Classes/ru.lproj/SideMenuView~ipad.strings | Bin 496 -> 0 bytes Classes/sv.lproj/AboutView.strings | Bin 3898 -> 0 bytes Classes/sv.lproj/AssistantLinkView.strings | Bin 6488 -> 0 bytes Classes/sv.lproj/AssistantView.strings | Bin 740 -> 0 bytes Classes/sv.lproj/AssistantViewScreens.strings | Bin 34936 -> 0 bytes Classes/sv.lproj/CallIncomingView.strings | Bin 4542 -> 0 bytes Classes/sv.lproj/CallOutgoingView.strings | Bin 5686 -> 0 bytes Classes/sv.lproj/CallView.strings | Bin 18958 -> 0 bytes Classes/sv.lproj/CallView~ipad.strings | Bin 18958 -> 0 bytes .../ChatConversationCreateView.strings | Bin 1428 -> 0 bytes .../sv.lproj/ChatConversationImdnView.strings | Bin 1784 -> 0 bytes .../sv.lproj/ChatConversationInfoView.strings | Bin 2814 -> 0 bytes Classes/sv.lproj/ChatConversationView.strings | Bin 7486 -> 0 bytes Classes/sv.lproj/ChatsListView.strings | Bin 1888 -> 0 bytes Classes/sv.lproj/ContactDetailsView.strings | Bin 2906 -> 0 bytes Classes/sv.lproj/ContactsListView.strings | Bin 2210 -> 0 bytes Classes/sv.lproj/CountryListView.strings | Bin 486 -> 0 bytes Classes/sv.lproj/DialerView.strings | Bin 3722 -> 0 bytes Classes/sv.lproj/DialerView~ipad.strings | Bin 8542 -> 0 bytes Classes/sv.lproj/FirstLoginView.strings | Bin 7226 -> 0 bytes Classes/sv.lproj/HistoryDetailsView.strings | Bin 5106 -> 0 bytes Classes/sv.lproj/HistoryListView.strings | Bin 1832 -> 0 bytes Classes/sv.lproj/ImageView.strings | Bin 286 -> 0 bytes Classes/sv.lproj/SettingsView.strings | Bin 756 -> 0 bytes Classes/sv.lproj/ShopView.strings | Bin 478 -> 0 bytes Classes/sv.lproj/SideMenuView.strings | Bin 478 -> 0 bytes Classes/sv.lproj/SideMenuView~ipad.strings | Bin 478 -> 0 bytes Classes/tr.lproj/AboutView.strings | Bin 3902 -> 0 bytes Classes/tr.lproj/AssistantLinkView.strings | Bin 6480 -> 0 bytes Classes/tr.lproj/AssistantView.strings | Bin 712 -> 0 bytes Classes/tr.lproj/AssistantViewScreens.strings | Bin 34820 -> 0 bytes Classes/tr.lproj/CallIncomingView.strings | Bin 4490 -> 0 bytes Classes/tr.lproj/CallOutgoingView.strings | Bin 5642 -> 0 bytes Classes/tr.lproj/CallView.strings | Bin 18902 -> 0 bytes Classes/tr.lproj/CallView~ipad.strings | Bin 18906 -> 0 bytes .../ChatConversationCreateView.strings | Bin 1396 -> 0 bytes .../tr.lproj/ChatConversationImdnView.strings | Bin 1764 -> 0 bytes .../tr.lproj/ChatConversationInfoView.strings | Bin 2794 -> 0 bytes Classes/tr.lproj/ChatConversationView.strings | Bin 7366 -> 0 bytes Classes/tr.lproj/ChatsListView.strings | Bin 1858 -> 0 bytes Classes/tr.lproj/ContactDetailsView.strings | Bin 2846 -> 0 bytes Classes/tr.lproj/ContactsListView.strings | Bin 2152 -> 0 bytes Classes/tr.lproj/CountryListView.strings | Bin 476 -> 0 bytes Classes/tr.lproj/DialerView.strings | Bin 3678 -> 0 bytes Classes/tr.lproj/DialerView~ipad.strings | Bin 8466 -> 0 bytes Classes/tr.lproj/FirstLoginView.strings | Bin 7270 -> 0 bytes Classes/tr.lproj/HistoryDetailsView.strings | Bin 5010 -> 0 bytes Classes/tr.lproj/HistoryListView.strings | Bin 1802 -> 0 bytes Classes/tr.lproj/ImageView.strings | Bin 286 -> 0 bytes Classes/tr.lproj/SettingsView.strings | Bin 720 -> 0 bytes Classes/tr.lproj/ShopView.strings | Bin 464 -> 0 bytes Classes/tr.lproj/SideMenuView.strings | Bin 478 -> 0 bytes Classes/tr.lproj/SideMenuView~ipad.strings | Bin 478 -> 0 bytes Classes/uk.lproj/AboutView.strings | Bin 3982 -> 0 bytes Classes/uk.lproj/AssistantLinkView.strings | Bin 6792 -> 0 bytes Classes/uk.lproj/AssistantView.strings | Bin 716 -> 0 bytes Classes/uk.lproj/AssistantViewScreens.strings | Bin 36466 -> 0 bytes Classes/uk.lproj/CallIncomingView.strings | Bin 4574 -> 0 bytes Classes/uk.lproj/CallOutgoingView.strings | Bin 5746 -> 0 bytes Classes/uk.lproj/CallView.strings | Bin 19154 -> 0 bytes Classes/uk.lproj/CallView~ipad.strings | Bin 19170 -> 0 bytes .../ChatConversationCreateView.strings | Bin 1420 -> 0 bytes .../uk.lproj/ChatConversationImdnView.strings | Bin 1814 -> 0 bytes .../uk.lproj/ChatConversationInfoView.strings | Bin 2884 -> 0 bytes Classes/uk.lproj/ChatConversationView.strings | Bin 7526 -> 0 bytes Classes/uk.lproj/ChatsListView.strings | Bin 1888 -> 0 bytes Classes/uk.lproj/ContactDetailsView.strings | Bin 2926 -> 0 bytes Classes/uk.lproj/ContactsListView.strings | Bin 2224 -> 0 bytes Classes/uk.lproj/CountryListView.strings | Bin 482 -> 0 bytes Classes/uk.lproj/DialerView.strings | Bin 3706 -> 0 bytes Classes/uk.lproj/DialerView~ipad.strings | Bin 8518 -> 0 bytes Classes/uk.lproj/FirstLoginView.strings | Bin 7422 -> 0 bytes Classes/uk.lproj/HistoryDetailsView.strings | Bin 5154 -> 0 bytes Classes/uk.lproj/HistoryListView.strings | Bin 1826 -> 0 bytes Classes/uk.lproj/ImageView.strings | Bin 292 -> 0 bytes Classes/uk.lproj/SettingsView.strings | Bin 742 -> 0 bytes Classes/uk.lproj/ShopView.strings | Bin 478 -> 0 bytes Classes/uk.lproj/SideMenuView.strings | Bin 496 -> 0 bytes Classes/uk.lproj/SideMenuView~ipad.strings | Bin 496 -> 0 bytes Classes/zh_CN.lproj/AboutView.strings | Bin 3758 -> 0 bytes Classes/zh_CN.lproj/AssistantLinkView.strings | Bin 5768 -> 0 bytes Classes/zh_CN.lproj/AssistantView.strings | Bin 686 -> 0 bytes .../zh_CN.lproj/AssistantViewScreens.strings | Bin 31428 -> 0 bytes Classes/zh_CN.lproj/CallIncomingView.strings | Bin 4306 -> 0 bytes Classes/zh_CN.lproj/CallOutgoingView.strings | Bin 5418 -> 0 bytes Classes/zh_CN.lproj/CallView.strings | Bin 18176 -> 0 bytes Classes/zh_CN.lproj/CallView~ipad.strings | Bin 18150 -> 0 bytes .../ChatConversationCreateView.strings | Bin 1354 -> 0 bytes .../ChatConversationImdnView.strings | Bin 1720 -> 0 bytes .../ChatConversationInfoView.strings | Bin 2744 -> 0 bytes .../zh_CN.lproj/ChatConversationView.strings | Bin 7092 -> 0 bytes Classes/zh_CN.lproj/ChatsListView.strings | Bin 1758 -> 0 bytes .../zh_CN.lproj/ContactDetailsView.strings | Bin 2742 -> 0 bytes Classes/zh_CN.lproj/ContactsListView.strings | Bin 2016 -> 0 bytes Classes/zh_CN.lproj/CountryListView.strings | Bin 456 -> 0 bytes Classes/zh_CN.lproj/DialerView.strings | Bin 3594 -> 0 bytes Classes/zh_CN.lproj/DialerView~ipad.strings | Bin 8258 -> 0 bytes Classes/zh_CN.lproj/FirstLoginView.strings | Bin 6738 -> 0 bytes .../zh_CN.lproj/HistoryDetailsView.strings | Bin 4750 -> 0 bytes Classes/zh_CN.lproj/HistoryListView.strings | Bin 1666 -> 0 bytes Classes/zh_CN.lproj/ImageView.strings | Bin 266 -> 0 bytes Classes/zh_CN.lproj/SettingsView.strings | Bin 698 -> 0 bytes Classes/zh_CN.lproj/ShopView.strings | Bin 448 -> 0 bytes Classes/zh_CN.lproj/SideMenuView.strings | Bin 466 -> 0 bytes Classes/zh_CN.lproj/SideMenuView~ipad.strings | Bin 466 -> 0 bytes Classes/zh_TW.lproj/AboutView.strings | Bin 3850 -> 0 bytes Classes/zh_TW.lproj/AssistantLinkView.strings | Bin 6214 -> 0 bytes Classes/zh_TW.lproj/AssistantView.strings | Bin 686 -> 0 bytes .../zh_TW.lproj/AssistantViewScreens.strings | Bin 32358 -> 0 bytes Classes/zh_TW.lproj/AssistantViews.strings | Bin 18744 -> 0 bytes .../zh_TW.lproj/AssistantView~ipad.strings | Bin 2426 -> 0 bytes Classes/zh_TW.lproj/CallIncomingView.strings | Bin 4334 -> 0 bytes Classes/zh_TW.lproj/CallOutgoingView.strings | Bin 5450 -> 0 bytes Classes/zh_TW.lproj/CallView.strings | Bin 18186 -> 0 bytes Classes/zh_TW.lproj/CallView~ipad.strings | Bin 18186 -> 0 bytes .../ChatConversationCreateView.strings | Bin 1344 -> 0 bytes .../ChatConversationImdnView.strings | Bin 1720 -> 0 bytes .../ChatConversationInfoView.strings | Bin 2680 -> 0 bytes .../zh_TW.lproj/ChatConversationView.strings | Bin 7078 -> 0 bytes Classes/zh_TW.lproj/ChatRoomView.strings | Bin 2692 -> 0 bytes Classes/zh_TW.lproj/ChatView.strings | Bin 1446 -> 0 bytes Classes/zh_TW.lproj/ChatsListView.strings | Bin 1768 -> 0 bytes .../zh_TW.lproj/ContactDetailsView.strings | Bin 2742 -> 0 bytes Classes/zh_TW.lproj/ContactsListView.strings | Bin 2012 -> 0 bytes Classes/zh_TW.lproj/ContactsView.strings | Bin 1700 -> 0 bytes Classes/zh_TW.lproj/CountryListView.strings | Bin 480 -> 0 bytes Classes/zh_TW.lproj/DialerView.strings | Bin 3596 -> 0 bytes Classes/zh_TW.lproj/DialerView~ipad.strings | Bin 8266 -> 0 bytes Classes/zh_TW.lproj/FirstLoginView.strings | Bin 6782 -> 0 bytes .../zh_TW.lproj/HistoryDetailsView.strings | Bin 4858 -> 0 bytes Classes/zh_TW.lproj/HistoryListView.strings | Bin 1668 -> 0 bytes Classes/zh_TW.lproj/HistoryView.strings | Bin 1906 -> 0 bytes Classes/zh_TW.lproj/ImageView.strings | Bin 268 -> 0 bytes Classes/zh_TW.lproj/InCallView.strings | Bin 256 -> 0 bytes Classes/zh_TW.lproj/IncomingCallView.strings | Bin 1530 -> 0 bytes .../zh_TW.lproj/IncomingCallView~ipad.strings | Bin 3074 -> 0 bytes Classes/zh_TW.lproj/SettingsView.strings | Bin 702 -> 0 bytes Classes/zh_TW.lproj/ShopView.strings | Bin 452 -> 0 bytes Classes/zh_TW.lproj/SideMenuView.strings | Bin 470 -> 0 bytes Classes/zh_TW.lproj/SideMenuView~ipad.strings | Bin 470 -> 0 bytes GoogleService-Info.plist | 36 - LocalPushProvider/Info.plist | 13 - .../LocalPushProvider.entitlements | 14 - LocalPushProvider/LocalPushProvider.swift | 206 - Podfile | 127 - .../AppIcon.appiconset/1024.png | Bin 47458 -> 0 bytes .../AppIcon.appiconset/120-1.png | Bin 3267 -> 0 bytes .../AppIcon.appiconset/120.png | Bin 3267 -> 0 bytes .../AppIcon.appiconset/152.png | Bin 4223 -> 0 bytes .../AppIcon.appiconset/167.png | Bin 4616 -> 0 bytes .../AppIcon.appiconset/180.png | Bin 5059 -> 0 bytes .../Images.xcassets/AppIcon.appiconset/20.png | Bin 551 -> 0 bytes .../AppIcon.appiconset/29-1.png | Bin 795 -> 0 bytes .../Images.xcassets/AppIcon.appiconset/29.png | Bin 795 -> 0 bytes .../AppIcon.appiconset/40-1.png | Bin 1045 -> 0 bytes .../AppIcon.appiconset/40-2.png | Bin 1045 -> 0 bytes .../Images.xcassets/AppIcon.appiconset/40.png | Bin 1045 -> 0 bytes .../AppIcon.appiconset/58-1.png | Bin 1403 -> 0 bytes .../Images.xcassets/AppIcon.appiconset/58.png | Bin 1403 -> 0 bytes .../Images.xcassets/AppIcon.appiconset/60.png | Bin 1603 -> 0 bytes .../Images.xcassets/AppIcon.appiconset/76.png | Bin 1817 -> 0 bytes .../AppIcon.appiconset/80-1.png | Bin 2071 -> 0 bytes .../Images.xcassets/AppIcon.appiconset/80.png | Bin 2071 -> 0 bytes .../Images.xcassets/AppIcon.appiconset/87.png | Bin 2263 -> 0 bytes .../AppIcon.appiconset/Contents.json | 152 - Resources/Images.xcassets/Contents.json | 6 - .../LaunchImage.launchimage/Contents.json | 94 - Resources/ar.lproj/Localizable.strings | Bin 74662 -> 0 bytes Resources/assistant_external_sip.rc | 41 - Resources/assistant_linphone_create.rc | 49 - Resources/assistant_linphone_existing.rc | 45 - Resources/assistant_remote.rc | 31 - Resources/cs.lproj/Localizable.strings | Bin 55580 -> 0 bytes Resources/de.lproj/Localizable.strings | Bin 82190 -> 0 bytes Resources/en.lproj/Localizable.strings | Bin 54662 -> 0 bytes Resources/es.lproj/Localizable.strings | Bin 55500 -> 0 bytes Resources/es_AR.lproj/Localizable.strings | Bin 79440 -> 0 bytes Resources/fonts/Roboto-Bold.ttf | Bin 307304 -> 0 bytes Resources/fonts/Roboto-Italic.ttf | Bin 329008 -> 0 bytes Resources/fonts/Roboto-Regular.ttf | Bin 305972 -> 0 bytes Resources/fr.lproj/Localizable.strings | Bin 77950 -> 0 bytes Resources/hu.lproj/Localizable.strings | Bin 77706 -> 0 bytes Resources/images/add_field_default.png | Bin 710 -> 0 bytes Resources/images/add_field_default@2x.png | Bin 1284 -> 0 bytes Resources/images/add_field_over.png | Bin 811 -> 0 bytes Resources/images/add_field_over@2x.png | Bin 1469 -> 0 bytes Resources/images/avatar.png | Bin 8526 -> 0 bytes Resources/images/avatar@2x.png | Bin 18345 -> 0 bytes Resources/images/avatar~ipad.png | Bin 12731 -> 0 bytes Resources/images/avatar~ipad@2x.png | Bin 27598 -> 0 bytes Resources/images/back_default.png | Bin 552 -> 0 bytes Resources/images/back_default@2x.png | Bin 1105 -> 0 bytes Resources/images/back_disabled.png | Bin 569 -> 0 bytes Resources/images/back_disabled@2x.png | Bin 949 -> 0 bytes Resources/images/backspace_default.png | Bin 778 -> 0 bytes Resources/images/backspace_default@2x.png | Bin 1660 -> 0 bytes Resources/images/backspace_disabled.png | Bin 707 -> 0 bytes Resources/images/backspace_disabled@2x.png | Bin 1302 -> 0 bytes Resources/images/backspace_over.png | Bin 520 -> 0 bytes Resources/images/backspace_over@2x.png | Bin 947 -> 0 bytes Resources/images/call_add_default.png | Bin 1178 -> 0 bytes Resources/images/call_add_default@2x.png | Bin 2416 -> 0 bytes Resources/images/call_add_disabled.png | Bin 1211 -> 0 bytes Resources/images/call_add_disabled@2x.png | Bin 2482 -> 0 bytes Resources/images/call_alt_back_default.png | Bin 2064 -> 0 bytes Resources/images/call_alt_back_default@2x.png | Bin 4556 -> 0 bytes Resources/images/call_alt_back_disabled.png | Bin 1498 -> 0 bytes .../images/call_alt_back_disabled@2x.png | Bin 3110 -> 0 bytes Resources/images/call_alt_start_default.png | Bin 1477 -> 0 bytes .../images/call_alt_start_default@2x.png | Bin 3096 -> 0 bytes Resources/images/call_alt_start_disabled.png | Bin 1095 -> 0 bytes .../images/call_alt_start_disabled@2x.png | Bin 2154 -> 0 bytes Resources/images/call_audio_start_default.png | Bin 1032 -> 0 bytes .../images/call_audio_start_default@2x.png | Bin 2101 -> 0 bytes .../images/call_audio_start_disabled.png | Bin 1104 -> 0 bytes .../images/call_audio_start_disabled@2x.png | Bin 2233 -> 0 bytes Resources/images/call_back_default.png | Bin 1644 -> 0 bytes Resources/images/call_back_default@2x.png | Bin 3116 -> 0 bytes Resources/images/call_back_disabled.png | Bin 1185 -> 0 bytes Resources/images/call_back_disabled@2x.png | Bin 2302 -> 0 bytes Resources/images/call_hangup_default.png | Bin 835 -> 0 bytes Resources/images/call_hangup_default@2x.png | Bin 1577 -> 0 bytes Resources/images/call_hangup_disabled.png | Bin 840 -> 0 bytes Resources/images/call_hangup_disabled@2x.png | Bin 1470 -> 0 bytes Resources/images/call_incoming.png | Bin 336 -> 0 bytes Resources/images/call_incoming@2x.png | Bin 623 -> 0 bytes Resources/images/call_missed.png | Bin 266 -> 0 bytes Resources/images/call_missed@2x.png | Bin 502 -> 0 bytes Resources/images/call_outgoing.png | Bin 271 -> 0 bytes Resources/images/call_outgoing@2x.png | Bin 463 -> 0 bytes Resources/images/call_quality_indicator_0.png | Bin 338 -> 0 bytes .../images/call_quality_indicator_0@2x.png | Bin 923 -> 0 bytes Resources/images/call_quality_indicator_1.png | Bin 358 -> 0 bytes .../images/call_quality_indicator_1@2x.png | Bin 801 -> 0 bytes Resources/images/call_quality_indicator_2.png | Bin 367 -> 0 bytes .../images/call_quality_indicator_2@2x.png | Bin 871 -> 0 bytes Resources/images/call_quality_indicator_3.png | Bin 354 -> 0 bytes .../images/call_quality_indicator_3@2x.png | Bin 917 -> 0 bytes Resources/images/call_quality_indicator_4.png | Bin 338 -> 0 bytes .../images/call_quality_indicator_4@2x.png | Bin 923 -> 0 bytes Resources/images/call_start_body_default.png | Bin 2019 -> 0 bytes .../images/call_start_body_default@2x.png | Bin 4350 -> 0 bytes .../images/call_start_body_default~ipad.png | Bin 1263 -> 0 bytes .../call_start_body_default~ipad@2x.png | Bin 2852 -> 0 bytes Resources/images/call_start_body_disabled.png | Bin 1868 -> 0 bytes .../images/call_start_body_disabled@2x.png | Bin 3879 -> 0 bytes .../images/call_start_body_disabled~ipad.png | Bin 1158 -> 0 bytes .../call_start_body_disabled~ipad@2x.png | Bin 2588 -> 0 bytes Resources/images/call_start_body_over.png | Bin 2564 -> 0 bytes Resources/images/call_start_body_over@2x.png | Bin 5383 -> 0 bytes .../images/call_start_body_over~ipad.png | Bin 1515 -> 0 bytes .../images/call_start_body_over~ipad@2x.png | Bin 3536 -> 0 bytes Resources/images/call_status_incoming.png | Bin 1171 -> 0 bytes Resources/images/call_status_incoming@2x.png | Bin 2345 -> 0 bytes .../images/call_status_incoming~ipad.png | Bin 1067 -> 0 bytes .../images/call_status_incoming~ipad@2x.png | Bin 2015 -> 0 bytes Resources/images/call_status_missed.png | Bin 1137 -> 0 bytes Resources/images/call_status_missed@2x.png | Bin 2244 -> 0 bytes Resources/images/call_status_missed~ipad.png | Bin 984 -> 0 bytes .../images/call_status_missed~ipad@2x.png | Bin 1807 -> 0 bytes Resources/images/call_status_outgoing.png | Bin 1213 -> 0 bytes Resources/images/call_status_outgoing@2x.png | Bin 2512 -> 0 bytes .../images/call_status_outgoing~ipad.png | Bin 1055 -> 0 bytes .../images/call_status_outgoing~ipad@2x.png | Bin 2107 -> 0 bytes Resources/images/call_transfer_default.png | Bin 1172 -> 0 bytes Resources/images/call_transfer_default@2x.png | Bin 2429 -> 0 bytes Resources/images/call_transfer_disabled.png | Bin 1248 -> 0 bytes .../images/call_transfer_disabled@2x.png | Bin 2546 -> 0 bytes Resources/images/call_video_start_default.png | Bin 967 -> 0 bytes .../images/call_video_start_default@2x.png | Bin 1973 -> 0 bytes .../images/call_video_start_disabled.png | Bin 1009 -> 0 bytes .../images/call_video_start_disabled@2x.png | Bin 2037 -> 0 bytes Resources/images/callkit_logo.png | Bin 1100 -> 0 bytes Resources/images/callkit_logo@2x.png | Bin 2394 -> 0 bytes Resources/images/camera_default.png | Bin 503 -> 0 bytes Resources/images/camera_default@2x.png | Bin 917 -> 0 bytes Resources/images/camera_disabled.png | Bin 541 -> 0 bytes Resources/images/camera_disabled@2x.png | Bin 832 -> 0 bytes Resources/images/camera_selected.png | Bin 462 -> 0 bytes Resources/images/camera_selected@2x.png | Bin 835 -> 0 bytes Resources/images/camera_switch_default.png | Bin 1833 -> 0 bytes Resources/images/camera_switch_default@2x.png | Bin 3517 -> 0 bytes Resources/images/camera_switch_disabled.png | Bin 1632 -> 0 bytes .../images/camera_switch_disabled@2x.png | Bin 3168 -> 0 bytes Resources/images/camera_switch_over.png | Bin 1824 -> 0 bytes Resources/images/camera_switch_over@2x.png | Bin 3510 -> 0 bytes Resources/images/cancel_edit_default.png | Bin 1087 -> 0 bytes Resources/images/cancel_edit_default@2x.png | Bin 2218 -> 0 bytes Resources/images/cancel_edit_disabled.png | Bin 851 -> 0 bytes Resources/images/cancel_edit_disabled@2x.png | Bin 1602 -> 0 bytes Resources/images/cancel_forward.png | Bin 9030 -> 0 bytes Resources/images/chat_add_default.png | Bin 1240 -> 0 bytes Resources/images/chat_add_default@2x.png | Bin 2633 -> 0 bytes Resources/images/chat_add_disabled.png | Bin 1044 -> 0 bytes Resources/images/chat_add_disabled@2x.png | Bin 2093 -> 0 bytes Resources/images/chat_add_group.png | Bin 1663 -> 0 bytes Resources/images/chat_add_group@2x.png | Bin 3478 -> 0 bytes Resources/images/chat_attachment_default.png | Bin 1319 -> 0 bytes .../images/chat_attachment_default@2x.png | Bin 2790 -> 0 bytes Resources/images/chat_attachment_disabled.png | Bin 992 -> 0 bytes .../images/chat_attachment_disabled@2x.png | Bin 1920 -> 0 bytes Resources/images/chat_attachment_over.png | Bin 1150 -> 0 bytes Resources/images/chat_attachment_over@2x.png | Bin 2433 -> 0 bytes Resources/images/chat_delivered.png | Bin 925 -> 0 bytes Resources/images/chat_error.png | Bin 540 -> 0 bytes Resources/images/chat_group_add.png | Bin 1837 -> 0 bytes Resources/images/chat_group_add@2x.png | Bin 6581 -> 0 bytes Resources/images/chat_group_avatar.png | Bin 5357 -> 0 bytes Resources/images/chat_group_avatar@2x.png | Bin 10797 -> 0 bytes Resources/images/chat_group_informations.png | Bin 1542 -> 0 bytes .../images/chat_group_informations@2x.png | Bin 4484 -> 0 bytes Resources/images/chat_list_indicator.png | Bin 512 -> 0 bytes Resources/images/chat_list_indicator@2x.png | Bin 512 -> 0 bytes Resources/images/chat_list_indicator~ipad.png | Bin 307 -> 0 bytes .../images/chat_list_indicator~ipad@2x.png | Bin 512 -> 0 bytes .../images/chat_message_not_delivered.png | Bin 256 -> 0 bytes .../images/chat_message_not_delivered@2x.png | Bin 449 -> 0 bytes Resources/images/chat_read.png | Bin 963 -> 0 bytes Resources/images/chat_secure.png | Bin 449 -> 0 bytes Resources/images/chat_send_default.png | Bin 1630 -> 0 bytes Resources/images/chat_send_default@2x.png | Bin 3042 -> 0 bytes Resources/images/chat_send_disabled.png | Bin 1132 -> 0 bytes Resources/images/chat_send_disabled@2x.png | Bin 2138 -> 0 bytes Resources/images/chat_send_over.png | Bin 1388 -> 0 bytes Resources/images/chat_send_over@2x.png | Bin 2652 -> 0 bytes Resources/images/chat_start_body_default.png | Bin 1785 -> 0 bytes .../images/chat_start_body_default@2x.png | Bin 3644 -> 0 bytes .../images/chat_start_body_default~ipad.png | Bin 1139 -> 0 bytes .../chat_start_body_default~ipad@2x.png | Bin 2429 -> 0 bytes Resources/images/chat_start_body_disabled.png | Bin 1701 -> 0 bytes .../images/chat_start_body_disabled@2x.png | Bin 3397 -> 0 bytes .../images/chat_start_body_disabled~ipad.png | Bin 1095 -> 0 bytes .../chat_start_body_disabled~ipad@2x.png | Bin 2278 -> 0 bytes Resources/images/chat_start_body_over.png | Bin 2172 -> 0 bytes Resources/images/chat_start_body_over@2x.png | Bin 4355 -> 0 bytes .../images/chat_start_body_over~ipad.png | Bin 1385 -> 0 bytes .../images/chat_start_body_over~ipad@2x.png | Bin 2835 -> 0 bytes Resources/images/chat_unsecure.png | Bin 298 -> 0 bytes Resources/images/check_selected.png | Bin 1300 -> 0 bytes Resources/images/check_selected@2x.png | Bin 2170 -> 0 bytes Resources/images/check_unselected.png | Bin 1320 -> 0 bytes Resources/images/check_unselected@2x.png | Bin 4597 -> 0 bytes Resources/images/checkbox_checked.png | Bin 422 -> 0 bytes Resources/images/checkbox_checked@2x.png | Bin 822 -> 0 bytes Resources/images/checkbox_unchecked.png | Bin 201 -> 0 bytes Resources/images/checkbox_unchecked@2x.png | Bin 356 -> 0 bytes Resources/images/chevron_list_close.png | Bin 437 -> 0 bytes Resources/images/chevron_list_close@2x.png | Bin 809 -> 0 bytes Resources/images/chevron_list_open.png | Bin 440 -> 0 bytes Resources/images/chevron_list_open@2x.png | Bin 841 -> 0 bytes Resources/images/color_A.png | Bin 4783 -> 0 bytes Resources/images/color_C.png | Bin 260 -> 0 bytes Resources/images/color_D.png | Bin 262 -> 0 bytes Resources/images/color_E.png | Bin 262 -> 0 bytes Resources/images/color_F.png | Bin 262 -> 0 bytes Resources/images/color_G.png | Bin 262 -> 0 bytes Resources/images/color_H.png | Bin 260 -> 0 bytes Resources/images/color_I.png | Bin 277 -> 0 bytes Resources/images/color_L.png | Bin 277 -> 0 bytes Resources/images/color_M.png | Bin 277 -> 0 bytes Resources/images/conference_delete.png | Bin 266 -> 0 bytes Resources/images/conference_delete@2x.png | Bin 502 -> 0 bytes Resources/images/conference_exit_default.png | Bin 1304 -> 0 bytes .../images/conference_exit_default@2x.png | Bin 2880 -> 0 bytes Resources/images/conference_exit_over.png | Bin 875 -> 0 bytes Resources/images/conference_exit_over@2x.png | Bin 1814 -> 0 bytes .../conference_schedule_calendar_default.png | Bin 182 -> 0 bytes ...nference_schedule_participants_default.png | Bin 660 -> 0 bytes .../conference_schedule_time_default.png | Bin 442 -> 0 bytes Resources/images/contact_add_default.png | Bin 1375 -> 0 bytes Resources/images/contact_add_default@2x.png | Bin 2828 -> 0 bytes Resources/images/contact_add_disabled.png | Bin 1040 -> 0 bytes Resources/images/contact_add_disabled@2x.png | Bin 2039 -> 0 bytes Resources/images/contacts_all_default.png | Bin 1175 -> 0 bytes Resources/images/contacts_all_default@2x.png | Bin 2623 -> 0 bytes Resources/images/contacts_all_disabled.png | Bin 944 -> 0 bytes Resources/images/contacts_all_disabled@2x.png | Bin 1913 -> 0 bytes Resources/images/contacts_all_selected.png | Bin 1028 -> 0 bytes Resources/images/contacts_all_selected@2x.png | Bin 2262 -> 0 bytes Resources/images/contacts_sip_default.png | Bin 1566 -> 0 bytes Resources/images/contacts_sip_default@2x.png | Bin 3994 -> 0 bytes Resources/images/contacts_sip_selected.png | Bin 1537 -> 0 bytes Resources/images/contacts_sip_selected@2x.png | Bin 4049 -> 0 bytes Resources/images/delete_default.png | Bin 676 -> 0 bytes Resources/images/delete_default@2x.png | Bin 1285 -> 0 bytes Resources/images/delete_disabled.png | Bin 633 -> 0 bytes Resources/images/delete_disabled@2x.png | Bin 1088 -> 0 bytes Resources/images/delete_field_default.png | Bin 689 -> 0 bytes Resources/images/delete_field_default@2x.png | Bin 1324 -> 0 bytes Resources/images/delete_field_over.png | Bin 459 -> 0 bytes Resources/images/delete_field_over@2x.png | Bin 878 -> 0 bytes Resources/images/delete_img.png | Bin 1184 -> 0 bytes Resources/images/deselect_all.png | Bin 405 -> 0 bytes Resources/images/deselect_all@2x.png | Bin 678 -> 0 bytes Resources/images/dialer_alt_back.png | Bin 378 -> 0 bytes Resources/images/dialer_alt_back@2x.png | Bin 687 -> 0 bytes Resources/images/dialer_back_default.png | Bin 1720 -> 0 bytes Resources/images/dialer_back_default@2x.png | Bin 3653 -> 0 bytes Resources/images/dialer_back_disabled.png | Bin 1181 -> 0 bytes Resources/images/dialer_back_disabled@2x.png | Bin 2581 -> 0 bytes Resources/images/dialer_background.png | Bin 67421 -> 0 bytes Resources/images/edit_default.png | Bin 1003 -> 0 bytes Resources/images/edit_default@2x.png | Bin 1929 -> 0 bytes Resources/images/edit_disabled.png | Bin 820 -> 0 bytes Resources/images/edit_disabled@2x.png | Bin 1505 -> 0 bytes Resources/images/edit_list_default.png | Bin 1019 -> 0 bytes Resources/images/edit_list_default@2x.png | Bin 2117 -> 0 bytes Resources/images/edit_list_disabled.png | Bin 838 -> 0 bytes Resources/images/edit_list_disabled@2x.png | Bin 1579 -> 0 bytes Resources/images/emoji.png | Bin 817 -> 0 bytes .../images/ephemeral_messages_color_A.png | Bin 12736 -> 0 bytes .../images/ephemeral_messages_default.png | Bin 14110 -> 0 bytes Resources/images/file_audio_default.png | Bin 2483 -> 0 bytes Resources/images/file_default.png | Bin 2227 -> 0 bytes Resources/images/file_pdf_default.png | Bin 2646 -> 0 bytes Resources/images/file_picture_default.png | Bin 2853 -> 0 bytes Resources/images/file_video_default.png | Bin 9006 -> 0 bytes Resources/images/file_voice_default.png | Bin 8605 -> 0 bytes Resources/images/footer_chat_default.png | Bin 736 -> 0 bytes Resources/images/footer_chat_default@2x.png | Bin 1418 -> 0 bytes Resources/images/footer_chat_disabled.png | Bin 737 -> 0 bytes Resources/images/footer_chat_disabled@2x.png | Bin 1351 -> 0 bytes Resources/images/footer_contacts_default.png | Bin 713 -> 0 bytes .../images/footer_contacts_default@2x.png | Bin 1342 -> 0 bytes Resources/images/footer_contacts_disabled.png | Bin 728 -> 0 bytes .../images/footer_contacts_disabled@2x.png | Bin 1327 -> 0 bytes Resources/images/footer_dialer_default.png | Bin 1090 -> 0 bytes Resources/images/footer_dialer_default@2x.png | Bin 2246 -> 0 bytes Resources/images/footer_dialer_disabled.png | Bin 946 -> 0 bytes .../images/footer_dialer_disabled@2x.png | Bin 2083 -> 0 bytes Resources/images/footer_history_default.png | Bin 650 -> 0 bytes .../images/footer_history_default@2x.png | Bin 1363 -> 0 bytes Resources/images/footer_history_disabled.png | Bin 717 -> 0 bytes .../images/footer_history_disabled@2x.png | Bin 1335 -> 0 bytes Resources/images/forward_message_default.png | Bin 3732 -> 0 bytes Resources/images/history_all_default.png | Bin 1783 -> 0 bytes Resources/images/history_all_default@2x.png | Bin 3789 -> 0 bytes Resources/images/history_all_disabled.png | Bin 1269 -> 0 bytes Resources/images/history_all_disabled@2x.png | Bin 2694 -> 0 bytes Resources/images/history_all_selected.png | Bin 1389 -> 0 bytes Resources/images/history_all_selected@2x.png | Bin 3243 -> 0 bytes Resources/images/history_chat_indicator.png | Bin 300 -> 0 bytes .../images/history_chat_indicator@2x.png | Bin 552 -> 0 bytes Resources/images/history_missed_default.png | Bin 1573 -> 0 bytes .../images/history_missed_default@2x.png | Bin 3015 -> 0 bytes Resources/images/history_missed_disabled.png | Bin 1156 -> 0 bytes .../images/history_missed_disabled@2x.png | Bin 2201 -> 0 bytes Resources/images/history_missed_selected.png | Bin 1282 -> 0 bytes .../images/history_missed_selected@2x.png | Bin 2562 -> 0 bytes Resources/images/invite_linphone.png | Bin 3486 -> 0 bytes Resources/images/invite_linphone@2x.png | Bin 3486 -> 0 bytes Resources/images/led_connected.png | Bin 405 -> 0 bytes Resources/images/led_connected@2x.png | Bin 753 -> 0 bytes Resources/images/led_disconnected.png | Bin 364 -> 0 bytes Resources/images/led_disconnected@2x.png | Bin 664 -> 0 bytes Resources/images/led_error.png | Bin 348 -> 0 bytes Resources/images/led_error@2x.png | Bin 632 -> 0 bytes Resources/images/led_inprogress.png | Bin 364 -> 0 bytes Resources/images/led_inprogress@2x.png | Bin 685 -> 0 bytes Resources/images/lime_ko.png | Bin 452 -> 0 bytes Resources/images/lime_ko@2x.png | Bin 1279 -> 0 bytes Resources/images/linphone_logo.png | Bin 915 -> 0 bytes Resources/images/linphone_logo@2x.png | Bin 1762 -> 0 bytes Resources/images/linphone_user.png | Bin 915 -> 0 bytes Resources/images/linphone_user@2x.png | Bin 1762 -> 0 bytes Resources/images/linphone_user~ipad.png | Bin 724 -> 0 bytes Resources/images/linphone_user~ipad@2x.png | Bin 1435 -> 0 bytes Resources/images/list_details_default.png | Bin 771 -> 0 bytes Resources/images/list_details_default@2x.png | Bin 1551 -> 0 bytes Resources/images/list_details_over.png | Bin 990 -> 0 bytes Resources/images/list_details_over@2x.png | Bin 2022 -> 0 bytes Resources/images/menu.png | Bin 213 -> 0 bytes Resources/images/menu@2x.png | Bin 302 -> 0 bytes Resources/images/menu_about.png | Bin 1143 -> 0 bytes Resources/images/menu_about@2x.png | Bin 2275 -> 0 bytes Resources/images/menu_assistant.png | Bin 1492 -> 0 bytes Resources/images/menu_assistant@2x.png | Bin 3257 -> 0 bytes Resources/images/menu_copy_text_default.png | Bin 1370 -> 0 bytes Resources/images/menu_delete.png | Bin 9869 -> 0 bytes Resources/images/menu_forward_default.png | Bin 11917 -> 0 bytes Resources/images/menu_info.png | Bin 12813 -> 0 bytes Resources/images/menu_link_account.png | Bin 1655 -> 0 bytes Resources/images/menu_link_account@2x.png | Bin 3205 -> 0 bytes Resources/images/menu_notifications_off.png | Bin 7135 -> 0 bytes Resources/images/menu_notifications_on.png | Bin 3913 -> 0 bytes Resources/images/menu_options.png | Bin 857 -> 0 bytes Resources/images/menu_options@2x.png | Bin 1564 -> 0 bytes Resources/images/menu_recordings.png | Bin 918 -> 0 bytes Resources/images/menu_recordings@2x.png | Bin 1768 -> 0 bytes Resources/images/menu_reply_default.png | Bin 12166 -> 0 bytes Resources/images/menu_resend_default.png | Bin 9673 -> 0 bytes Resources/images/menu_security_default.png | Bin 3625 -> 0 bytes .../images/menu_voip_meeting_schedule.png | Bin 6569 -> 0 bytes Resources/images/micro_default.png | Bin 1353 -> 0 bytes Resources/images/micro_default@2x.png | Bin 2679 -> 0 bytes Resources/images/micro_disabled.png | Bin 1025 -> 0 bytes Resources/images/micro_disabled@2x.png | Bin 1943 -> 0 bytes Resources/images/micro_selected.png | Bin 1119 -> 0 bytes Resources/images/micro_selected@2x.png | Bin 2073 -> 0 bytes Resources/images/more_menu_default.png | Bin 1895 -> 0 bytes .../images/new_chat_attachment_default.png | Bin 1401 -> 0 bytes Resources/images/new_chat_send_default.png | Bin 1161 -> 0 bytes Resources/images/new_vr_off.png | Bin 1297 -> 0 bytes Resources/images/next_default.png | Bin 583 -> 0 bytes Resources/images/next_default@2x.png | Bin 1122 -> 0 bytes Resources/images/next_disabled.png | Bin 410 -> 0 bytes Resources/images/next_disabled@2x.png | Bin 761 -> 0 bytes Resources/images/nowebcamCIF.jpg | Bin 14247 -> 0 bytes Resources/images/numpad_0_default.png | Bin 1169 -> 0 bytes Resources/images/numpad_0_default@2x.png | Bin 2055 -> 0 bytes Resources/images/numpad_0_over.png | Bin 1014 -> 0 bytes Resources/images/numpad_0_over@2x.png | Bin 1849 -> 0 bytes Resources/images/numpad_0_over~ipad.png | Bin 564 -> 0 bytes Resources/images/numpad_0_over~ipad@2x.png | Bin 1058 -> 0 bytes Resources/images/numpad_0~ipad.png | Bin 662 -> 0 bytes Resources/images/numpad_0~ipad@2x.png | Bin 1120 -> 0 bytes Resources/images/numpad_1_default.png | Bin 1030 -> 0 bytes Resources/images/numpad_1_default@2x.png | Bin 2076 -> 0 bytes Resources/images/numpad_1_over.png | Bin 890 -> 0 bytes Resources/images/numpad_1_over@2x.png | Bin 1778 -> 0 bytes Resources/images/numpad_1_over~ipad.png | Bin 491 -> 0 bytes Resources/images/numpad_1_over~ipad@2x.png | Bin 946 -> 0 bytes Resources/images/numpad_1~ipad.png | Bin 607 -> 0 bytes Resources/images/numpad_1~ipad@2x.png | Bin 1082 -> 0 bytes Resources/images/numpad_2_default.png | Bin 789 -> 0 bytes Resources/images/numpad_2_default@2x.png | Bin 1468 -> 0 bytes Resources/images/numpad_2_over.png | Bin 691 -> 0 bytes Resources/images/numpad_2_over@2x.png | Bin 1332 -> 0 bytes Resources/images/numpad_2_over~ipad.png | Bin 409 -> 0 bytes Resources/images/numpad_2_over~ipad@2x.png | Bin 721 -> 0 bytes Resources/images/numpad_2~ipad.png | Bin 464 -> 0 bytes Resources/images/numpad_2~ipad@2x.png | Bin 764 -> 0 bytes Resources/images/numpad_3_default.png | Bin 934 -> 0 bytes Resources/images/numpad_3_default@2x.png | Bin 1682 -> 0 bytes Resources/images/numpad_3_over.png | Bin 813 -> 0 bytes Resources/images/numpad_3_over@2x.png | Bin 1480 -> 0 bytes Resources/images/numpad_3_over~ipad.png | Bin 470 -> 0 bytes Resources/images/numpad_3_over~ipad@2x.png | Bin 767 -> 0 bytes Resources/images/numpad_3~ipad.png | Bin 519 -> 0 bytes Resources/images/numpad_3~ipad@2x.png | Bin 864 -> 0 bytes Resources/images/numpad_4_default.png | Bin 628 -> 0 bytes Resources/images/numpad_4_default@2x.png | Bin 1030 -> 0 bytes Resources/images/numpad_4_over.png | Bin 564 -> 0 bytes Resources/images/numpad_4_over@2x.png | Bin 929 -> 0 bytes Resources/images/numpad_4_over~ipad.png | Bin 404 -> 0 bytes Resources/images/numpad_4_over~ipad@2x.png | Bin 600 -> 0 bytes Resources/images/numpad_4~ipad.png | Bin 435 -> 0 bytes Resources/images/numpad_4~ipad@2x.png | Bin 656 -> 0 bytes Resources/images/numpad_5_default.png | Bin 817 -> 0 bytes Resources/images/numpad_5_default@2x.png | Bin 1562 -> 0 bytes Resources/images/numpad_5_over.png | Bin 705 -> 0 bytes Resources/images/numpad_5_over@2x.png | Bin 1393 -> 0 bytes Resources/images/numpad_5_over~ipad.png | Bin 455 -> 0 bytes Resources/images/numpad_5_over~ipad@2x.png | Bin 753 -> 0 bytes Resources/images/numpad_5~ipad.png | Bin 494 -> 0 bytes Resources/images/numpad_5~ipad@2x.png | Bin 826 -> 0 bytes Resources/images/numpad_6_default.png | Bin 1072 -> 0 bytes Resources/images/numpad_6_default@2x.png | Bin 2037 -> 0 bytes Resources/images/numpad_6_over.png | Bin 954 -> 0 bytes Resources/images/numpad_6_over@2x.png | Bin 1795 -> 0 bytes Resources/images/numpad_6_over~ipad.png | Bin 522 -> 0 bytes Resources/images/numpad_6_over~ipad@2x.png | Bin 917 -> 0 bytes Resources/images/numpad_6~ipad.png | Bin 584 -> 0 bytes Resources/images/numpad_6~ipad@2x.png | Bin 1009 -> 0 bytes Resources/images/numpad_7_default.png | Bin 641 -> 0 bytes Resources/images/numpad_7_default@2x.png | Bin 1147 -> 0 bytes Resources/images/numpad_7_over.png | Bin 586 -> 0 bytes Resources/images/numpad_7_over@2x.png | Bin 1057 -> 0 bytes Resources/images/numpad_7_over~ipad.png | Bin 378 -> 0 bytes Resources/images/numpad_7_over~ipad@2x.png | Bin 594 -> 0 bytes Resources/images/numpad_7~ipad.png | Bin 414 -> 0 bytes Resources/images/numpad_7~ipad@2x.png | Bin 637 -> 0 bytes Resources/images/numpad_8_default.png | Bin 1138 -> 0 bytes Resources/images/numpad_8_default@2x.png | Bin 2262 -> 0 bytes Resources/images/numpad_8_over.png | Bin 988 -> 0 bytes Resources/images/numpad_8_over@2x.png | Bin 1986 -> 0 bytes Resources/images/numpad_8_over~ipad.png | Bin 529 -> 0 bytes Resources/images/numpad_8_over~ipad@2x.png | Bin 950 -> 0 bytes Resources/images/numpad_8~ipad.png | Bin 620 -> 0 bytes Resources/images/numpad_8~ipad@2x.png | Bin 1126 -> 0 bytes Resources/images/numpad_9_default.png | Bin 1068 -> 0 bytes Resources/images/numpad_9_default@2x.png | Bin 1982 -> 0 bytes Resources/images/numpad_9_over.png | Bin 936 -> 0 bytes Resources/images/numpad_9_over@2x.png | Bin 1791 -> 0 bytes Resources/images/numpad_9_over~ipad.png | Bin 518 -> 0 bytes Resources/images/numpad_9_over~ipad@2x.png | Bin 914 -> 0 bytes Resources/images/numpad_9~ipad.png | Bin 579 -> 0 bytes Resources/images/numpad_9~ipad@2x.png | Bin 1047 -> 0 bytes Resources/images/numpad_hash_default.png | Bin 540 -> 0 bytes Resources/images/numpad_hash_default@2x.png | Bin 638 -> 0 bytes Resources/images/numpad_hash_over.png | Bin 495 -> 0 bytes Resources/images/numpad_hash_over@2x.png | Bin 563 -> 0 bytes Resources/images/numpad_hash_over~ipad.png | Bin 419 -> 0 bytes Resources/images/numpad_hash_over~ipad@2x.png | Bin 497 -> 0 bytes Resources/images/numpad_hash~ipad.png | Bin 450 -> 0 bytes Resources/images/numpad_hash~ipad@2x.png | Bin 579 -> 0 bytes Resources/images/numpad_over_background.png | Bin 290 -> 0 bytes Resources/images/numpad_star_default.png | Bin 613 -> 0 bytes Resources/images/numpad_star_default@2x.png | Bin 1094 -> 0 bytes Resources/images/numpad_star_over.png | Bin 518 -> 0 bytes Resources/images/numpad_star_over@2x.png | Bin 991 -> 0 bytes Resources/images/numpad_star_over~ipad.png | Bin 308 -> 0 bytes Resources/images/numpad_star_over~ipad@2x.png | Bin 570 -> 0 bytes Resources/images/numpad_star~ipad.png | Bin 329 -> 0 bytes Resources/images/numpad_star~ipad@2x.png | Bin 625 -> 0 bytes Resources/images/options_add_call_default.png | Bin 1512 -> 0 bytes .../images/options_add_call_default@2x.png | Bin 3108 -> 0 bytes .../images/options_add_call_disabled.png | Bin 1126 -> 0 bytes .../images/options_add_call_disabled@2x.png | Bin 2264 -> 0 bytes Resources/images/options_default.png | Bin 1209 -> 0 bytes Resources/images/options_default@2x.png | Bin 2436 -> 0 bytes Resources/images/options_disabled.png | Bin 939 -> 0 bytes Resources/images/options_disabled@2x.png | Bin 1880 -> 0 bytes Resources/images/options_selected.png | Bin 1043 -> 0 bytes Resources/images/options_selected@2x.png | Bin 2382 -> 0 bytes .../options_start_conference_default.png | Bin 1615 -> 0 bytes .../options_start_conference_default@2x.png | Bin 3509 -> 0 bytes .../options_start_conference_disabled.png | Bin 1201 -> 0 bytes .../options_start_conference_disabled@2x.png | Bin 2514 -> 0 bytes .../images/options_transfer_call_default.png | Bin 1526 -> 0 bytes .../options_transfer_call_default@2x.png | Bin 3237 -> 0 bytes .../images/options_transfer_call_disabled.png | Bin 1130 -> 0 bytes .../options_transfer_call_disabled@2x.png | Bin 2322 -> 0 bytes Resources/images/pause_big_default.png | Bin 1178 -> 0 bytes Resources/images/pause_big_default@2x.png | Bin 2350 -> 0 bytes Resources/images/pause_big_disabled.png | Bin 1021 -> 0 bytes Resources/images/pause_big_disabled@2x.png | Bin 2319 -> 0 bytes Resources/images/pause_big_over_selected.png | Bin 1179 -> 0 bytes .../images/pause_big_over_selected@2x.png | Bin 2344 -> 0 bytes Resources/images/pause_small_default.png | Bin 846 -> 0 bytes Resources/images/pause_small_default@2x.png | Bin 1685 -> 0 bytes Resources/images/pause_small_disabled.png | Bin 727 -> 0 bytes Resources/images/pause_small_disabled@2x.png | Bin 1617 -> 0 bytes .../images/pause_small_over_selected.png | Bin 826 -> 0 bytes .../images/pause_small_over_selected@2x.png | Bin 1679 -> 0 bytes Resources/images/post_quantum_secure@3x.png | Bin 14135 -> 0 bytes Resources/images/presence_away.png | Bin 574 -> 0 bytes Resources/images/presence_away@2x.png | Bin 1067 -> 0 bytes Resources/images/presence_offline.png | Bin 230 -> 0 bytes Resources/images/presence_offline@2x.png | Bin 376 -> 0 bytes Resources/images/presence_online.png | Bin 617 -> 0 bytes Resources/images/presence_online@2x.png | Bin 1129 -> 0 bytes Resources/images/presence_unregistered.png | Bin 310 -> 0 bytes Resources/images/presence_unregistered@2x.png | Bin 520 -> 0 bytes Resources/images/rec_off_default.png | Bin 1070 -> 0 bytes Resources/images/rec_off_default@2x.png | Bin 2234 -> 0 bytes Resources/images/rec_on_default.png | Bin 1095 -> 0 bytes Resources/images/rec_on_default@2x.png | Bin 2268 -> 0 bytes Resources/images/recording.png | Bin 1835 -> 0 bytes Resources/images/recording@2x.png | Bin 3835 -> 0 bytes Resources/images/reply_cancel.png | Bin 2884 -> 0 bytes Resources/images/route_bluetooth_default.png | Bin 811 -> 0 bytes .../images/route_bluetooth_default@2x.png | Bin 1635 -> 0 bytes Resources/images/route_bluetooth_disabled.png | Bin 697 -> 0 bytes .../images/route_bluetooth_disabled@2x.png | Bin 1286 -> 0 bytes Resources/images/route_bluetooth_selected.png | Bin 675 -> 0 bytes .../images/route_bluetooth_selected@2x.png | Bin 1406 -> 0 bytes Resources/images/route_earpiece_default.png | Bin 985 -> 0 bytes .../images/route_earpiece_default@2x.png | Bin 2010 -> 0 bytes Resources/images/route_earpiece_disabled.png | Bin 801 -> 0 bytes .../images/route_earpiece_disabled@2x.png | Bin 1526 -> 0 bytes Resources/images/route_earpiece_selected.png | Bin 795 -> 0 bytes .../images/route_earpiece_selected@2x.png | Bin 1666 -> 0 bytes Resources/images/route_speaker_default.png | Bin 775 -> 0 bytes Resources/images/route_speaker_default@2x.png | Bin 1430 -> 0 bytes Resources/images/route_speaker_disabled.png | Bin 684 -> 0 bytes .../images/route_speaker_disabled@2x.png | Bin 1161 -> 0 bytes Resources/images/route_speaker_selected.png | Bin 628 -> 0 bytes .../images/route_speaker_selected@2x.png | Bin 1259 -> 0 bytes Resources/images/routes_default.png | Bin 1199 -> 0 bytes Resources/images/routes_default@2x.png | Bin 2429 -> 0 bytes Resources/images/routes_disabled.png | Bin 951 -> 0 bytes Resources/images/routes_disabled@2x.png | Bin 1766 -> 0 bytes Resources/images/routes_selected.png | Bin 1013 -> 0 bytes Resources/images/routes_selected@2x.png | Bin 2110 -> 0 bytes Resources/images/scroll_to_bottom_default.png | Bin 15058 -> 0 bytes Resources/images/security_1_indicator.png | Bin 2368 -> 0 bytes Resources/images/security_1_indicator@2x.png | Bin 2368 -> 0 bytes Resources/images/security_2_indicator.png | Bin 2388 -> 0 bytes Resources/images/security_2_indicator@2x.png | Bin 2388 -> 0 bytes Resources/images/security_alert_indicator.png | Bin 1299 -> 0 bytes .../images/security_alert_indicator@2x.png | Bin 1299 -> 0 bytes Resources/images/security_ko.png | Bin 440 -> 0 bytes Resources/images/security_ko@2x.png | Bin 699 -> 0 bytes Resources/images/security_ok.png | Bin 398 -> 0 bytes Resources/images/security_ok@2x.png | Bin 667 -> 0 bytes Resources/images/security_pending.png | Bin 390 -> 0 bytes Resources/images/security_pending@2x.png | Bin 655 -> 0 bytes .../security_toogle_background_green.png | Bin 1218 -> 0 bytes .../security_toogle_background_green@2x.png | Bin 1218 -> 0 bytes .../security_toogle_background_grey.png | Bin 1186 -> 0 bytes .../security_toogle_background_grey@2x.png | Bin 1186 -> 0 bytes Resources/images/security_toogle_button.png | Bin 641 -> 0 bytes .../images/security_toogle_button@2x.png | Bin 641 -> 0 bytes .../images/security_toogle_icon_green.png | Bin 583 -> 0 bytes .../images/security_toogle_icon_green@2x.png | Bin 1041 -> 0 bytes .../images/security_toogle_icon_grey.png | Bin 912 -> 0 bytes .../images/security_toogle_icon_grey@2x.png | Bin 1618 -> 0 bytes Resources/images/select_all_default.png | Bin 606 -> 0 bytes Resources/images/select_all_default@2x.png | Bin 1141 -> 0 bytes Resources/images/select_all_disabled.png | Bin 619 -> 0 bytes Resources/images/select_all_disabled@2x.png | Bin 983 -> 0 bytes .../side_menu_voip_meeting_schedule.png | Bin 1871 -> 0 bytes .../side_menu_voip_meeting_schedule@2x.png | Bin 3189 -> 0 bytes Resources/images/speaker_default.png | Bin 775 -> 0 bytes Resources/images/speaker_default@2x.png | Bin 1430 -> 0 bytes Resources/images/speaker_disabled.png | Bin 684 -> 0 bytes Resources/images/speaker_disabled@2x.png | Bin 1161 -> 0 bytes Resources/images/speaker_selected.png | Bin 627 -> 0 bytes Resources/images/speaker_selected@2x.png | Bin 1258 -> 0 bytes Resources/images/splashscreen.png | Bin 23756 -> 0 bytes Resources/images/splashscreen@2x.png | Bin 36988 -> 0 bytes Resources/images/valid_default.png | Bin 635 -> 0 bytes Resources/images/valid_default@2x.png | Bin 1373 -> 0 bytes Resources/images/valid_disabled.png | Bin 625 -> 0 bytes Resources/images/valid_disabled@2x.png | Bin 1085 -> 0 bytes Resources/images/voicemail.png | Bin 462 -> 0 bytes Resources/images/voicemail@2x.png | Bin 852 -> 0 bytes Resources/images/voip_audio_routes.png | Bin 3729 -> 0 bytes Resources/images/voip_bluetooth.png | Bin 2557 -> 0 bytes Resources/images/voip_call.png | Bin 3830 -> 0 bytes Resources/images/voip_call_add.png | Bin 21446 -> 0 bytes Resources/images/voip_call_chat.png | Bin 13921 -> 0 bytes Resources/images/voip_call_forward.png | Bin 22196 -> 0 bytes Resources/images/voip_call_header_active.png | Bin 1787 -> 0 bytes .../images/voip_call_header_incoming.png | Bin 1298 -> 0 bytes .../images/voip_call_header_outgoing.png | Bin 1274 -> 0 bytes Resources/images/voip_call_header_paused.png | Bin 1119 -> 0 bytes Resources/images/voip_call_list_menu.png | Bin 1895 -> 0 bytes Resources/images/voip_call_more.png | Bin 10488 -> 0 bytes Resources/images/voip_call_numpad.png | Bin 6726 -> 0 bytes Resources/images/voip_call_participants.png | Bin 15075 -> 0 bytes Resources/images/voip_call_record.png | Bin 3890 -> 0 bytes Resources/images/voip_call_stats.png | Bin 9124 -> 0 bytes Resources/images/voip_calls_list.png | Bin 23221 -> 0 bytes Resources/images/voip_camera_off.png | Bin 2971 -> 0 bytes Resources/images/voip_camera_on.png | Bin 1748 -> 0 bytes Resources/images/voip_cancel.png | Bin 1609 -> 0 bytes Resources/images/voip_change_camera.png | Bin 1831 -> 0 bytes Resources/images/voip_chat_rooms_list.png | Bin 4105 -> 0 bytes Resources/images/voip_checkbox_checked.png | Bin 355 -> 0 bytes Resources/images/voip_checkbox_unchecked.png | Bin 208 -> 0 bytes .../images/voip_conference_active_speaker.png | Bin 7818 -> 0 bytes .../images/voip_conference_audio_only.png | Bin 1260 -> 0 bytes Resources/images/voip_conference_mosaic.png | Bin 8850 -> 0 bytes Resources/images/voip_conference_new.png | Bin 6012 -> 0 bytes .../images/voip_conference_new_selected.png | Bin 13189 -> 0 bytes .../images/voip_conference_paused_big.png | Bin 2250 -> 0 bytes Resources/images/voip_conference_play_big.png | Bin 15790 -> 0 bytes Resources/images/voip_copy.png | Bin 1930 -> 0 bytes Resources/images/voip_delete.png | Bin 2223 -> 0 bytes Resources/images/voip_dropdown.png | Bin 1256 -> 0 bytes Resources/images/voip_earpiece.png | Bin 3857 -> 0 bytes Resources/images/voip_edit.png | Bin 1834 -> 0 bytes Resources/images/voip_export.png | Bin 2383 -> 0 bytes Resources/images/voip_hangup.png | Bin 3166 -> 0 bytes Resources/images/voip_info.png | Bin 13635 -> 0 bytes Resources/images/voip_mandatory.png | Bin 7410 -> 0 bytes Resources/images/voip_meeting_schedule.png | Bin 3841 -> 0 bytes Resources/images/voip_menu_more.png | Bin 1772 -> 0 bytes Resources/images/voip_merge_calls.png | Bin 4349 -> 0 bytes Resources/images/voip_micro_off.png | Bin 4208 -> 0 bytes Resources/images/voip_micro_on.png | Bin 3114 -> 0 bytes .../images/voip_multiple_contacts_avatar.png | Bin 6667 -> 0 bytes Resources/images/voip_numpad_0.png | Bin 14607 -> 0 bytes Resources/images/voip_numpad_1.png | Bin 10598 -> 0 bytes Resources/images/voip_numpad_2.png | Bin 8603 -> 0 bytes Resources/images/voip_numpad_3.png | Bin 8978 -> 0 bytes Resources/images/voip_numpad_4.png | Bin 7692 -> 0 bytes Resources/images/voip_numpad_5.png | Bin 8747 -> 0 bytes Resources/images/voip_numpad_6.png | Bin 10150 -> 0 bytes Resources/images/voip_numpad_7.png | Bin 7606 -> 0 bytes Resources/images/voip_numpad_8.png | Bin 10857 -> 0 bytes Resources/images/voip_numpad_9.png | Bin 10035 -> 0 bytes Resources/images/voip_numpad_hash.png | Bin 12417 -> 0 bytes Resources/images/voip_numpad_star.png | Bin 10163 -> 0 bytes Resources/images/voip_pause.png | Bin 830 -> 0 bytes Resources/images/voip_radio_off.png | Bin 590 -> 0 bytes Resources/images/voip_radio_on.png | Bin 650 -> 0 bytes Resources/images/voip_remote_recording.png | Bin 2673 -> 0 bytes .../images/voip_single_contact_avatar.png | Bin 4848 -> 0 bytes Resources/images/voip_speaker_off.png | Bin 3780 -> 0 bytes Resources/images/voip_speaker_on.png | Bin 2599 -> 0 bytes Resources/images/voip_spinner.png | Bin 2499 -> 0 bytes Resources/images/vr_off.png | Bin 12846 -> 0 bytes Resources/images/vr_on.png | Bin 15718 -> 0 bytes Resources/images/vr_pause.png | Bin 6392 -> 0 bytes Resources/images/vr_play.png | Bin 7003 -> 0 bytes Resources/images/vr_stop.png | Bin 5528 -> 0 bytes Resources/images/vr_wave.png | Bin 15224 -> 0 bytes Resources/images/waiting_time.png | Bin 1442 -> 0 bytes Resources/images/waiting_time@2x.png | Bin 2946 -> 0 bytes Resources/it.lproj/Localizable.strings | Bin 79052 -> 0 bytes Resources/ja.lproj/Localizable.strings | Bin 43624 -> 0 bytes Resources/ka.lproj/Localizable.strings | Bin 76640 -> 0 bytes Resources/linphonerc | 116 - Resources/linphonerc-factory | 61 - Resources/linphonerc~ipad | 69 - Resources/nl.lproj/Localizable.strings | Bin 57068 -> 0 bytes Resources/pl.lproj/Localizable.strings | Bin 76730 -> 0 bytes Resources/pt_BR.lproj/Localizable.strings | Bin 76660 -> 0 bytes Resources/ru.lproj/Localizable.strings | Bin 87894 -> 0 bytes Resources/sounds/hold.mkv | Bin 919618 -> 0 bytes Resources/sounds/msg.caf | Bin 10696 -> 0 bytes Resources/sounds/ringback.wav | Bin 24620 -> 0 bytes .../ringtones/notes_of_the_optimistic.caf | Bin 182919 -> 0 bytes Resources/sounds/shortring.caf | Bin 689770 -> 0 bytes Resources/sv.lproj/Localizable.strings | Bin 76658 -> 0 bytes Resources/tr.lproj/Localizable.strings | Bin 76180 -> 0 bytes Resources/uk.lproj/Localizable.strings | Bin 78160 -> 0 bytes Resources/zh_CN.lproj/Localizable.strings | Bin 37530 -> 0 bytes Resources/zh_TW.lproj/Localizable.strings | Bin 37650 -> 0 bytes Settings/InAppSettings.bundle/Account.plist | 319 - Settings/InAppSettings.bundle/Advanced.plist | 217 - Settings/InAppSettings.bundle/Audio.plist | 301 - Settings/InAppSettings.bundle/Call.plist | 171 - Settings/InAppSettings.bundle/Chat.plist | 77 - Settings/InAppSettings.bundle/Contacts.plist | 83 - Settings/InAppSettings.bundle/LDAP.plist | 318 - Settings/InAppSettings.bundle/Meetings.plist | 19 - Settings/InAppSettings.bundle/Network.plist | 203 - Settings/InAppSettings.bundle/Root.plist | 229 - Settings/InAppSettings.bundle/Tunnel.plist | 53 - Settings/InAppSettings.bundle/Video.plist | 183 - .../ar.lproj/Account.strings | Bin 1268 -> 0 bytes .../ar.lproj/Advanced.strings | Bin 1102 -> 0 bytes .../ar.lproj/Audio.strings | Bin 1494 -> 0 bytes .../ar.lproj/Call.strings | Bin 584 -> 0 bytes .../ar.lproj/Chat.strings | Bin 506 -> 0 bytes .../ar.lproj/Network.strings | Bin 1004 -> 0 bytes .../ar.lproj/Root.strings | Bin 1358 -> 0 bytes .../ar.lproj/Tunnel.strings | Bin 122 -> 0 bytes .../ar.lproj/Video.strings | Bin 846 -> 0 bytes .../cs.lproj/Account.strings | Bin 1418 -> 0 bytes .../cs.lproj/Advanced.strings | Bin 1184 -> 0 bytes .../cs.lproj/Root.strings | Bin 1364 -> 0 bytes .../de.lproj/Account.strings | Bin 1336 -> 0 bytes .../de.lproj/Advanced.strings | Bin 1254 -> 0 bytes .../de.lproj/Audio.strings | Bin 1604 -> 0 bytes .../de.lproj/Call.strings | Bin 678 -> 0 bytes .../de.lproj/Chat.strings | Bin 528 -> 0 bytes .../de.lproj/Network.strings | Bin 1008 -> 0 bytes .../de.lproj/Root.strings | Bin 1406 -> 0 bytes .../de.lproj/Tunnel.strings | Bin 118 -> 0 bytes .../de.lproj/Video.strings | Bin 908 -> 0 bytes .../en.lproj/Account.strings | Bin 1378 -> 0 bytes .../en.lproj/Advanced.strings | Bin 1100 -> 0 bytes .../en.lproj/Audio.strings | Bin 1524 -> 0 bytes .../en.lproj/Call.strings | Bin 754 -> 0 bytes .../en.lproj/Chat.strings | Bin 600 -> 0 bytes .../en.lproj/Network.strings | Bin 902 -> 0 bytes .../en.lproj/Root.strings | Bin 1362 -> 0 bytes .../en.lproj/Tunnel.strings | Bin 116 -> 0 bytes .../en.lproj/Video.strings | Bin 880 -> 0 bytes .../es.lproj/Account.strings | Bin 1388 -> 0 bytes .../es.lproj/Advanced.strings | Bin 1288 -> 0 bytes .../es.lproj/Audio.strings | Bin 1610 -> 0 bytes .../es.lproj/Call.strings | Bin 656 -> 0 bytes .../es.lproj/Chat.strings | Bin 576 -> 0 bytes .../es.lproj/Network.strings | Bin 1062 -> 0 bytes .../es.lproj/Root.strings | Bin 1484 -> 0 bytes .../es.lproj/Tunnel.strings | Bin 124 -> 0 bytes .../es.lproj/Video.strings | Bin 956 -> 0 bytes .../es_AR.lproj/Account.strings | Bin 1388 -> 0 bytes .../es_AR.lproj/Advanced.strings | Bin 1288 -> 0 bytes .../es_AR.lproj/Audio.strings | Bin 1610 -> 0 bytes .../es_AR.lproj/Call.strings | Bin 656 -> 0 bytes .../es_AR.lproj/Chat.strings | Bin 576 -> 0 bytes .../es_AR.lproj/Network.strings | Bin 1062 -> 0 bytes .../es_AR.lproj/Root.strings | Bin 1484 -> 0 bytes .../es_AR.lproj/Tunnel.strings | Bin 124 -> 0 bytes .../es_AR.lproj/Video.strings | Bin 956 -> 0 bytes .../fr.lproj/Account.strings | Bin 1496 -> 0 bytes .../fr.lproj/Advanced.strings | Bin 1702 -> 0 bytes .../fr.lproj/Audio.strings | Bin 1534 -> 0 bytes .../fr.lproj/Call.strings | Bin 860 -> 0 bytes .../fr.lproj/Chat.strings | Bin 662 -> 0 bytes .../fr.lproj/Network.strings | Bin 1000 -> 0 bytes .../fr.lproj/Root.strings | Bin 1430 -> 0 bytes .../fr.lproj/Tunnel.strings | Bin 116 -> 0 bytes .../fr.lproj/Video.strings | Bin 984 -> 0 bytes .../hu.lproj/Account.strings | Bin 1424 -> 0 bytes .../hu.lproj/Advanced.strings | Bin 1222 -> 0 bytes .../hu.lproj/Audio.strings | Bin 1598 -> 0 bytes .../hu.lproj/Call.strings | Bin 636 -> 0 bytes .../hu.lproj/Chat.strings | Bin 568 -> 0 bytes .../hu.lproj/Network.strings | Bin 1054 -> 0 bytes .../hu.lproj/Root.strings | Bin 1438 -> 0 bytes .../hu.lproj/Tunnel.strings | Bin 110 -> 0 bytes .../hu.lproj/Video.strings | Bin 1036 -> 0 bytes .../it.lproj/Account.strings | Bin 1334 -> 0 bytes .../it.lproj/Advanced.strings | Bin 1192 -> 0 bytes .../it.lproj/Audio.strings | Bin 1616 -> 0 bytes .../it.lproj/Call.strings | Bin 622 -> 0 bytes .../it.lproj/Chat.strings | Bin 558 -> 0 bytes .../it.lproj/Network.strings | Bin 1026 -> 0 bytes .../it.lproj/Root.strings | Bin 1438 -> 0 bytes .../it.lproj/Tunnel.strings | Bin 130 -> 0 bytes .../it.lproj/Video.strings | Bin 948 -> 0 bytes .../ja.lproj/Account.strings | Bin 1172 -> 0 bytes .../ja.lproj/Advanced.strings | Bin 900 -> 0 bytes .../ja.lproj/Audio.strings | Bin 1436 -> 0 bytes .../ja.lproj/Call.strings | Bin 480 -> 0 bytes .../ja.lproj/Chat.strings | Bin 518 -> 0 bytes .../ja.lproj/Network.strings | Bin 828 -> 0 bytes .../ja.lproj/Root.strings | Bin 1178 -> 0 bytes .../ja.lproj/Tunnel.strings | Bin 110 -> 0 bytes .../ja.lproj/Video.strings | Bin 734 -> 0 bytes .../ka.lproj/Account.strings | Bin 1350 -> 0 bytes .../ka.lproj/Advanced.strings | Bin 1196 -> 0 bytes .../ka.lproj/Audio.strings | Bin 1570 -> 0 bytes .../ka.lproj/Call.strings | Bin 596 -> 0 bytes .../ka.lproj/Chat.strings | Bin 526 -> 0 bytes .../ka.lproj/Network.strings | Bin 1044 -> 0 bytes .../ka.lproj/Root.strings | Bin 1462 -> 0 bytes .../ka.lproj/Tunnel.strings | Bin 126 -> 0 bytes .../ka.lproj/Video.strings | Bin 958 -> 0 bytes .../nl.lproj/Account.strings | Bin 1454 -> 0 bytes .../nl.lproj/Advanced.strings | Bin 1112 -> 0 bytes .../nl.lproj/Audio.strings | Bin 1560 -> 0 bytes .../nl.lproj/Call.strings | Bin 812 -> 0 bytes .../nl.lproj/Chat.strings | Bin 500 -> 0 bytes .../nl.lproj/Network.strings | Bin 984 -> 0 bytes .../nl.lproj/Root.strings | Bin 1382 -> 0 bytes .../nl.lproj/Tunnel.strings | Bin 112 -> 0 bytes .../nl.lproj/Video.strings | Bin 880 -> 0 bytes .../pl.lproj/Account.strings | Bin 1304 -> 0 bytes .../pl.lproj/Advanced.strings | Bin 1178 -> 0 bytes .../pl.lproj/Audio.strings | Bin 1596 -> 0 bytes .../pl.lproj/Call.strings | Bin 636 -> 0 bytes .../pl.lproj/Chat.strings | Bin 518 -> 0 bytes .../pl.lproj/Network.strings | Bin 1050 -> 0 bytes .../pl.lproj/Root.strings | Bin 1406 -> 0 bytes .../pl.lproj/Tunnel.strings | Bin 112 -> 0 bytes .../pl.lproj/Video.strings | Bin 934 -> 0 bytes .../pt_BR.lproj/Account.strings | Bin 1290 -> 0 bytes .../pt_BR.lproj/Advanced.strings | Bin 1196 -> 0 bytes .../pt_BR.lproj/Audio.strings | Bin 1572 -> 0 bytes .../pt_BR.lproj/Call.strings | Bin 628 -> 0 bytes .../pt_BR.lproj/Chat.strings | Bin 536 -> 0 bytes .../pt_BR.lproj/Network.strings | Bin 1012 -> 0 bytes .../pt_BR.lproj/Root.strings | Bin 1406 -> 0 bytes .../pt_BR.lproj/Tunnel.strings | Bin 122 -> 0 bytes .../pt_BR.lproj/Video.strings | Bin 932 -> 0 bytes .../ru.lproj/Account.strings | Bin 1332 -> 0 bytes .../ru.lproj/Advanced.strings | Bin 1190 -> 0 bytes .../ru.lproj/Audio.strings | Bin 1560 -> 0 bytes .../ru.lproj/Call.strings | Bin 612 -> 0 bytes .../ru.lproj/Chat.strings | Bin 558 -> 0 bytes .../ru.lproj/Network.strings | Bin 1010 -> 0 bytes .../ru.lproj/Root.strings | Bin 1460 -> 0 bytes .../ru.lproj/Tunnel.strings | Bin 116 -> 0 bytes .../ru.lproj/Video.strings | Bin 1016 -> 0 bytes .../sv.lproj/Account.strings | Bin 1270 -> 0 bytes .../sv.lproj/Advanced.strings | Bin 1134 -> 0 bytes .../sv.lproj/Audio.strings | Bin 1596 -> 0 bytes .../sv.lproj/Call.strings | Bin 582 -> 0 bytes .../sv.lproj/Chat.strings | Bin 538 -> 0 bytes .../sv.lproj/Network.strings | Bin 1004 -> 0 bytes .../sv.lproj/Root.strings | Bin 1334 -> 0 bytes .../sv.lproj/Tunnel.strings | Bin 114 -> 0 bytes .../sv.lproj/Video.strings | Bin 910 -> 0 bytes .../tr.lproj/Account.strings | Bin 1300 -> 0 bytes .../tr.lproj/Advanced.strings | Bin 1182 -> 0 bytes .../tr.lproj/Audio.strings | Bin 1578 -> 0 bytes .../tr.lproj/Call.strings | Bin 564 -> 0 bytes .../tr.lproj/Chat.strings | Bin 522 -> 0 bytes .../tr.lproj/Network.strings | Bin 1002 -> 0 bytes .../tr.lproj/Root.strings | Bin 1416 -> 0 bytes .../tr.lproj/Tunnel.strings | Bin 110 -> 0 bytes .../tr.lproj/Video.strings | Bin 924 -> 0 bytes .../uk.lproj/Account.strings | Bin 1346 -> 0 bytes .../uk.lproj/Advanced.strings | Bin 1204 -> 0 bytes .../uk.lproj/Audio.strings | Bin 1554 -> 0 bytes .../uk.lproj/Call.strings | Bin 614 -> 0 bytes .../uk.lproj/Chat.strings | Bin 566 -> 0 bytes .../uk.lproj/Network.strings | Bin 1006 -> 0 bytes .../uk.lproj/Root.strings | Bin 1474 -> 0 bytes .../uk.lproj/Tunnel.strings | Bin 118 -> 0 bytes .../uk.lproj/Video.strings | Bin 934 -> 0 bytes .../zh_CN.lproj/Account.strings | Bin 1036 -> 0 bytes .../zh_CN.lproj/Advanced.strings | Bin 882 -> 0 bytes .../zh_CN.lproj/Audio.strings | Bin 1394 -> 0 bytes .../zh_CN.lproj/Call.strings | Bin 432 -> 0 bytes .../zh_CN.lproj/Chat.strings | Bin 442 -> 0 bytes .../zh_CN.lproj/Network.strings | Bin 840 -> 0 bytes .../zh_CN.lproj/Root.strings | Bin 1044 -> 0 bytes .../zh_CN.lproj/Tunnel.strings | Bin 98 -> 0 bytes .../zh_CN.lproj/Video.strings | Bin 698 -> 0 bytes .../zh_TW.lproj/Account.strings | Bin 1016 -> 0 bytes .../zh_TW.lproj/Advanced.strings | Bin 910 -> 0 bytes .../zh_TW.lproj/Audio.strings | Bin 1434 -> 0 bytes .../zh_TW.lproj/Call.strings | Bin 436 -> 0 bytes .../zh_TW.lproj/Chat.strings | Bin 378 -> 0 bytes .../zh_TW.lproj/Network.strings | Bin 840 -> 0 bytes .../zh_TW.lproj/Root.strings | Bin 1090 -> 0 bytes .../zh_TW.lproj/Tunnel.strings | Bin 96 -> 0 bytes .../zh_TW.lproj/Video.strings | Bin 694 -> 0 bytes TestsUI/AssistantTester.h | 24 - TestsUI/AssistantTester.m | 132 - TestsUI/CallTester.h | 24 - TestsUI/CallTester.m | 62 - TestsUI/ChatTester.h | 24 - TestsUI/ChatTester.m | 335 - TestsUI/ContactsTester.h | 24 - TestsUI/ContactsTester.m | 160 - TestsUI/Info.plist | 24 - TestsUI/LinphoneTestCase.h | 57 - TestsUI/LinphoneTestCase.m | 247 - TestsUI/NotificationTester.h | 24 - TestsUI/NotificationTester.m | 56 - Tools/change_ios_custom_font.sh | 102 - Tools/check_tools.sh | 68 - Tools/deploy.sh | 28 - Tools/exportOptions.plist | 18 - Tools/git_version.sh | 46 - Tools/i18n_generate_strings_files.sh | 120 - Tools/i18n_update_strings_files.py | 76 - Tools/imgur_upload.sh | 37 - Tools/liblinphone.podspec | 13 - Tools/sdk_download.sh | 49 - Tools/sync_resources_android.py | 99 - Tools/tag_missing_resources.sh | 73 - UITests/CallUITests/ActiveCallUITests.swift | 96 - UITests/CallUITests/ExtraMenuUITests.swift | 53 - UITests/CallUITests/IncomingCallUITests.swift | 36 - UITests/CallUITests/OutgoingCallUITests.swift | 39 - .../ActiveCallViewUITestsMethods.swift | 120 - .../ConferenceCallViewUITestsMethods.swift | 24 - ...aMenuActiveCallActionsUITestsMethods.swift | 87 - ...comingOutgoingCallViewUITestsMethods.swift | 133 - UITests/Methods/UITestsCoreManager.swift | 380 - UITests/Methods/UITestsScreenshots.swift | 778 -- UITests/Methods/UITestsUtils.swift | 204 - UITests/Screenshots/IO_call_view.svg | 191 - UITests/Screenshots/Linphone.svg | 83 - UITests/Screenshots/active_call_view.svg | 369 - .../Screenshots/call_failed_error_view.svg | 103 - UITests/Screenshots/call_numpad_view.svg | 75 - UITests/Screenshots/call_stats_view.svg | 160 - UITests/Screenshots/dialer_view.svg | 76 - UITests/Screenshots/images/IO_call_view.png | Bin 95590 -> 0 bytes .../Screenshots/images/IO_call_view_mute.png | Bin 103425 -> 0 bytes .../images/IO_call_view_outgoing.png | Bin 124185 -> 0 bytes .../images/IO_call_view_speaker.png | Bin 101436 -> 0 bytes UITests/Screenshots/images/Linphone.png | Bin 66542 -> 0 bytes .../Screenshots/images/active_call_view.png | Bin 112269 -> 0 bytes .../images/active_call_view_call_stats.png | Bin 176020 -> 0 bytes .../images/active_call_view_extra_menu.png | Bin 147314 -> 0 bytes .../images/active_call_view_mute.png | Bin 114093 -> 0 bytes .../images/active_call_view_pause.png | Bin 162549 -> 0 bytes .../images/active_call_view_pause_shadow.png | Bin 65226 -> 0 bytes .../images/active_call_view_record.png | Bin 117176 -> 0 bytes .../images/active_call_view_remote_pause.png | Bin 147873 -> 0 bytes .../images/active_call_view_remote_record.png | Bin 122282 -> 0 bytes .../images/active_call_view_shadow.png | Bin 65226 -> 0 bytes .../images/active_call_view_speaker.png | Bin 111965 -> 0 bytes .../images/call_failed_error_view.png | Bin 225988 -> 0 bytes .../Screenshots/images/call_numpad_view.png | Bin 140286 -> 0 bytes .../Screenshots/images/call_stats_view.png | Bin 155504 -> 0 bytes .../images/call_stats_view_pause.png | Bin 198070 -> 0 bytes .../images/call_stats_view_remote_pause.png | Bin 189964 -> 0 bytes UITests/Screenshots/images/dialer_view.png | Bin 122795 -> 0 bytes .../Screenshots/images/dialer_view_popup.png | Bin 312900 -> 0 bytes .../images/forErrors/no_preview.png | Bin 95373 -> 0 bytes UITests/Screenshots/images/side_menu_view.png | Bin 134371 -> 0 bytes UITests/Screenshots/images/status_bar.png | Bin 9695 -> 0 bytes .../images/status_bar_call_view.png | Bin 16347 -> 0 bytes UITests/Screenshots/images/tab_bar.png | Bin 25767 -> 0 bytes UITests/Screenshots/side_menu_view.svg | 12 - UITests/Screenshots/status_bar.svg | 108 - UITests/Screenshots/tab_bar.svg | 76 - UITests/TestPlans/Debug.xctestplan | 47 - UITests/TestPlans/Default.xctestplan | 36 - .../TestPlans/PauseMode_extended.xctestplan | 56 - doc/CUSTOMIZING.txt | 20 - iTunesArtwork | Bin 25389 -> 0 bytes linphone-Info.plist | 187 - linphone-adhoc.plist | 13 - linphone.entitlements | 34 - linphone.xcodeproj/.gitignore | 2 - linphone.xcodeproj/project.pbxproj | 7167 --------------- linphone.xcodeproj/project.pbxproj.orig | 8000 ----------------- .../xcshareddata/xcschemes/linphone.xcscheme | 142 - .../xcschemes/linphone.xcscheme.orig | 193 - linphone.xcworkspace/contents.xcworkspacedata | 10 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../Base.lproj/MainInterface.storyboard | 24 - linphoneExtension/Info.plist | 51 - linphoneExtension/ShareViewController.h | 28 - linphoneExtension/ShareViewController.m | 162 - .../linphoneExtension.entitlements | 10 - linphone_Prefix.pch | 16 - main.m | 41 - msgNotification/Utils.swift | 116 - .../Base.lproj/MainInterface.storyboard | 23 - .../GoogleService-Info.plist | 36 - msgNotificationContent/Info.plist | 42 - .../NotificationViewController.swift | 183 - .../msgNotificationContent.entitlements | 14 - .../GoogleService-Info.plist | 36 - msgNotificationService/Info.plist | 31 - .../NotificationService.swift | 255 - .../msgNotificationService.entitlements | 16 - prepare.conf | 5 - prepare.py | 369 - scripts/android_import.sh | 30 - 2285 files changed, 103311 deletions(-) delete mode 100644 .gitignore delete mode 100644 .gitmodules delete mode 100644 .travis.yml delete mode 100644 .tx/config delete mode 100644 CallUITests-Info.plist delete mode 100644 Classes/AboutView.h delete mode 100644 Classes/AboutView.m delete mode 100644 Classes/AssistantLinkView.h delete mode 100644 Classes/AssistantLinkView.m delete mode 100644 Classes/AssistantView.h delete mode 100644 Classes/AssistantView.m delete mode 100644 Classes/Base.lproj/AboutView.strings delete mode 100644 Classes/Base.lproj/AboutView.xib delete mode 100644 Classes/Base.lproj/AssistantLinkView.strings delete mode 100644 Classes/Base.lproj/AssistantLinkView.xib delete mode 100644 Classes/Base.lproj/AssistantSubviews.strings delete mode 100644 Classes/Base.lproj/AssistantView.strings delete mode 100644 Classes/Base.lproj/AssistantView.xib delete mode 100644 Classes/Base.lproj/AssistantViewScreens.strings delete mode 100644 Classes/Base.lproj/AssistantViewScreens.xib delete mode 100644 Classes/Base.lproj/AssistantViews.strings delete mode 100644 Classes/Base.lproj/AssistantView~ipad.strings delete mode 100644 Classes/Base.lproj/CallIncomingView.strings delete mode 100644 Classes/Base.lproj/CallOutgoingView.strings delete mode 100644 Classes/Base.lproj/CallView.strings delete mode 100644 Classes/Base.lproj/CallView~ipad.strings delete mode 100644 Classes/Base.lproj/ChatConversationCreateView.strings delete mode 100644 Classes/Base.lproj/ChatConversationCreateView.xib delete mode 100644 Classes/Base.lproj/ChatConversationImdnView.strings delete mode 100644 Classes/Base.lproj/ChatConversationImdnView.xib delete mode 100644 Classes/Base.lproj/ChatConversationInfoView.strings delete mode 100644 Classes/Base.lproj/ChatConversationInfoView.xib delete mode 100644 Classes/Base.lproj/ChatConversationView.strings delete mode 100644 Classes/Base.lproj/ChatConversationView.xib delete mode 100644 Classes/Base.lproj/ChatRoomView.strings delete mode 100644 Classes/Base.lproj/ChatView.strings delete mode 100644 Classes/Base.lproj/ChatsListView.strings delete mode 100644 Classes/Base.lproj/ChatsListView.xib delete mode 100644 Classes/Base.lproj/ContactDetailsView.strings delete mode 100644 Classes/Base.lproj/ContactDetailsView.xib delete mode 100644 Classes/Base.lproj/ContactsListView.strings delete mode 100644 Classes/Base.lproj/ContactsListView.xib delete mode 100644 Classes/Base.lproj/ContactsView.strings delete mode 100644 Classes/Base.lproj/CountryListView.strings delete mode 100755 Classes/Base.lproj/CountryListView.xib delete mode 100644 Classes/Base.lproj/DialerView.strings delete mode 100644 Classes/Base.lproj/DialerView.xib delete mode 100644 Classes/Base.lproj/DialerView~ipad.strings delete mode 100644 Classes/Base.lproj/DialerView~ipad.xib delete mode 100644 Classes/Base.lproj/FirstLoginView.strings delete mode 100644 Classes/Base.lproj/FirstLoginView.xib delete mode 100644 Classes/Base.lproj/HistoryDetailsView.strings delete mode 100644 Classes/Base.lproj/HistoryDetailsView.xib delete mode 100644 Classes/Base.lproj/HistoryListView.strings delete mode 100644 Classes/Base.lproj/HistoryListView.xib delete mode 100644 Classes/Base.lproj/HistoryView.strings delete mode 100644 Classes/Base.lproj/ImageView.strings delete mode 100644 Classes/Base.lproj/ImageView.xib delete mode 100644 Classes/Base.lproj/InCallView.strings delete mode 100644 Classes/Base.lproj/IncomingCallView.strings delete mode 100644 Classes/Base.lproj/IncomingCallView~ipad.strings delete mode 100644 Classes/Base.lproj/PhoneMainView.xib delete mode 100644 Classes/Base.lproj/RecordingsListView.xib delete mode 100644 Classes/Base.lproj/SettingsView.strings delete mode 100644 Classes/Base.lproj/SettingsView.xib delete mode 100644 Classes/Base.lproj/ShopView.strings delete mode 100644 Classes/Base.lproj/ShopView.xib delete mode 100644 Classes/Base.lproj/SideMenuView.strings delete mode 100644 Classes/Base.lproj/SideMenuView.xib delete mode 100644 Classes/Base.lproj/SideMenuView~ipad.strings delete mode 100644 Classes/Base.lproj/SideMenuView~ipad.xib delete mode 100644 Classes/ChatConversationCreateCollectionViewController.h delete mode 100644 Classes/ChatConversationCreateCollectionViewController.m delete mode 100644 Classes/ChatConversationCreateTableView.h delete mode 100644 Classes/ChatConversationCreateTableView.m delete mode 100644 Classes/ChatConversationCreateView.h delete mode 100644 Classes/ChatConversationCreateView.m delete mode 100644 Classes/ChatConversationImdnView.h delete mode 100644 Classes/ChatConversationImdnView.m delete mode 100644 Classes/ChatConversationInfoView.h delete mode 100644 Classes/ChatConversationInfoView.m delete mode 100644 Classes/ChatConversationTableView.h delete mode 100644 Classes/ChatConversationTableView.m delete mode 100644 Classes/ChatConversationView.h delete mode 100644 Classes/ChatConversationView.m delete mode 100644 Classes/ChatsListTableView.h delete mode 100644 Classes/ChatsListTableView.m delete mode 100644 Classes/ChatsListView.h delete mode 100644 Classes/ChatsListView.m delete mode 100644 Classes/Contact.h delete mode 100644 Classes/Contact.m delete mode 100644 Classes/ContactDetailsTableView.h delete mode 100644 Classes/ContactDetailsTableView.m delete mode 100644 Classes/ContactDetailsView.h delete mode 100644 Classes/ContactDetailsView.m delete mode 100644 Classes/ContactsListTableView.h delete mode 100644 Classes/ContactsListTableView.m delete mode 100644 Classes/ContactsListView.h delete mode 100644 Classes/ContactsListView.m delete mode 100755 Classes/CountryListView.h delete mode 100755 Classes/CountryListView.m delete mode 100644 Classes/DevicesListView.h delete mode 100644 Classes/DevicesListView.m delete mode 100644 Classes/DevicesListView.xib delete mode 100644 Classes/DialerView.h delete mode 100644 Classes/DialerView.m delete mode 100644 Classes/EphemeralSettingsView.h delete mode 100644 Classes/EphemeralSettingsView.m delete mode 100644 Classes/EphemeralSettingsView.xib delete mode 100644 Classes/FirstLoginView.h delete mode 100644 Classes/FirstLoginView.m delete mode 100644 Classes/FloatingScrollDownButton.swift delete mode 100644 Classes/HistoryDetailsTableView.h delete mode 100644 Classes/HistoryDetailsTableView.m delete mode 100644 Classes/HistoryDetailsView.h delete mode 100644 Classes/HistoryDetailsView.m delete mode 100644 Classes/HistoryListTableView.h delete mode 100644 Classes/HistoryListTableView.m delete mode 100644 Classes/HistoryListView.h delete mode 100644 Classes/HistoryListView.m delete mode 100644 Classes/ImagePickerView.h delete mode 100644 Classes/ImagePickerView.m delete mode 100644 Classes/ImageView.h delete mode 100644 Classes/ImageView.m delete mode 100644 Classes/InAppProductsManager.h delete mode 100644 Classes/InAppProductsManager.m delete mode 100644 Classes/LaunchScreen.h delete mode 100644 Classes/LaunchScreen.xib delete mode 100644 Classes/LinphoneAppDelegate.h delete mode 100644 Classes/LinphoneAppDelegate.m delete mode 100644 Classes/LinphoneCoreSettingsStore.h delete mode 100644 Classes/LinphoneCoreSettingsStore.m delete mode 100644 Classes/LinphoneManager.h delete mode 100644 Classes/LinphoneManager.m delete mode 100644 Classes/LinphoneUI/Base.lproj/StatusBarView.strings delete mode 100644 Classes/LinphoneUI/Base.lproj/StatusBarView.xib delete mode 100644 Classes/LinphoneUI/Base.lproj/TabBarView.strings delete mode 100644 Classes/LinphoneUI/Base.lproj/TabBarView.xib delete mode 100644 Classes/LinphoneUI/Base.lproj/UICallCell.strings delete mode 100644 Classes/LinphoneUI/Base.lproj/UICallConferenceCell.strings delete mode 100644 Classes/LinphoneUI/Base.lproj/UICallPausedCell.strings delete mode 100644 Classes/LinphoneUI/Base.lproj/UIChatBubblePhotoCell.strings delete mode 100644 Classes/LinphoneUI/Base.lproj/UIChatBubblePhotoCell.xib delete mode 100644 Classes/LinphoneUI/Base.lproj/UIChatBubbleTextCell.strings delete mode 100644 Classes/LinphoneUI/Base.lproj/UIChatBubbleTextCell.xib delete mode 100644 Classes/LinphoneUI/Base.lproj/UIChatCell.strings delete mode 100644 Classes/LinphoneUI/Base.lproj/UIChatCell.xib delete mode 100644 Classes/LinphoneUI/Base.lproj/UIChatConversationImdnTableViewCell.strings delete mode 100644 Classes/LinphoneUI/Base.lproj/UIChatConversationImdnTableViewCell.xib delete mode 100644 Classes/LinphoneUI/Base.lproj/UIChatConversationInfoTableViewCell.strings delete mode 100644 Classes/LinphoneUI/Base.lproj/UIChatConversationInfoTableViewCell.xib delete mode 100644 Classes/LinphoneUI/Base.lproj/UIChatCreateCell.strings delete mode 100644 Classes/LinphoneUI/Base.lproj/UIChatCreateCell.xib delete mode 100644 Classes/LinphoneUI/Base.lproj/UIChatCreateCollectionViewCell.strings delete mode 100644 Classes/LinphoneUI/Base.lproj/UIChatReplyBubbleView.xib delete mode 100644 Classes/LinphoneUI/Base.lproj/UIChatRoomCell.strings delete mode 100644 Classes/LinphoneUI/Base.lproj/UICompositeView.xib delete mode 100644 Classes/LinphoneUI/Base.lproj/UICompositeView~ipad.xib delete mode 100644 Classes/LinphoneUI/Base.lproj/UIConfirmationDialog.strings delete mode 100644 Classes/LinphoneUI/Base.lproj/UIConfirmationDialog.xib delete mode 100644 Classes/LinphoneUI/Base.lproj/UIContactCell.strings delete mode 100644 Classes/LinphoneUI/Base.lproj/UIContactCell.xib delete mode 100644 Classes/LinphoneUI/Base.lproj/UIContactDetailsCell.strings delete mode 100644 Classes/LinphoneUI/Base.lproj/UIContactDetailsCell.xib delete mode 100644 Classes/LinphoneUI/Base.lproj/UIHistoryCell.strings delete mode 100644 Classes/LinphoneUI/Base.lproj/UIHistoryCell.xib delete mode 100644 Classes/LinphoneUI/Base.lproj/UIMainBar.strings delete mode 100644 Classes/LinphoneUI/Base.lproj/UIMainBar~ipad.strings delete mode 100644 Classes/LinphoneUI/Base.lproj/UIStateBar.strings delete mode 100644 Classes/LinphoneUI/StatusBarView.h delete mode 100644 Classes/LinphoneUI/StatusBarView.m delete mode 100644 Classes/LinphoneUI/TabBarView.h delete mode 100644 Classes/LinphoneUI/TabBarView.m delete mode 100644 Classes/LinphoneUI/UIAddressTextField.h delete mode 100644 Classes/LinphoneUI/UIAddressTextField.m delete mode 100644 Classes/LinphoneUI/UIAssistantTextField.h delete mode 100644 Classes/LinphoneUI/UIAssistantTextField.m delete mode 100644 Classes/LinphoneUI/UIAvatarPresence.h delete mode 100644 Classes/LinphoneUI/UIAvatarPresence.m delete mode 100644 Classes/LinphoneUI/UIBackToCallButton.h delete mode 100644 Classes/LinphoneUI/UIBackToCallButton.m delete mode 100644 Classes/LinphoneUI/UIBouncingView.h delete mode 100644 Classes/LinphoneUI/UIBouncingView.m delete mode 100644 Classes/LinphoneUI/UICallButton.h delete mode 100644 Classes/LinphoneUI/UICallButton.m delete mode 100644 Classes/LinphoneUI/UICamSwitch.h delete mode 100644 Classes/LinphoneUI/UICamSwitch.m delete mode 100644 Classes/LinphoneUI/UIChatBubblePhotoCell.h delete mode 100644 Classes/LinphoneUI/UIChatBubblePhotoCell.m delete mode 100644 Classes/LinphoneUI/UIChatBubbleTextCell.h delete mode 100644 Classes/LinphoneUI/UIChatBubbleTextCell.m delete mode 100644 Classes/LinphoneUI/UIChatCell.h delete mode 100644 Classes/LinphoneUI/UIChatCell.m delete mode 100644 Classes/LinphoneUI/UIChatContentView.h delete mode 100644 Classes/LinphoneUI/UIChatContentView.m delete mode 100644 Classes/LinphoneUI/UIChatConversationImdnTableViewCell.h delete mode 100644 Classes/LinphoneUI/UIChatConversationImdnTableViewCell.m delete mode 100644 Classes/LinphoneUI/UIChatConversationInfoTableViewCell.h delete mode 100644 Classes/LinphoneUI/UIChatConversationInfoTableViewCell.m delete mode 100644 Classes/LinphoneUI/UIChatCreateCell.h delete mode 100644 Classes/LinphoneUI/UIChatCreateCell.m delete mode 100644 Classes/LinphoneUI/UIChatCreateCollectionViewCell.h delete mode 100644 Classes/LinphoneUI/UIChatCreateCollectionViewCell.m delete mode 100644 Classes/LinphoneUI/UIChatNotifiedEventCell.h delete mode 100644 Classes/LinphoneUI/UIChatNotifiedEventCell.m delete mode 100644 Classes/LinphoneUI/UIChatNotifiedEventCell.xib delete mode 100644 Classes/LinphoneUI/UIChatReplyBubbleView.h delete mode 100644 Classes/LinphoneUI/UIChatReplyBubbleView.m delete mode 100644 Classes/LinphoneUI/UICheckBoxTableView.h delete mode 100644 Classes/LinphoneUI/UICheckBoxTableView.m delete mode 100644 Classes/LinphoneUI/UICompositeView.h delete mode 100644 Classes/LinphoneUI/UICompositeView.m delete mode 100644 Classes/LinphoneUI/UIConfirmationDialog.h delete mode 100644 Classes/LinphoneUI/UIConfirmationDialog.m delete mode 100644 Classes/LinphoneUI/UIContactCell.h delete mode 100644 Classes/LinphoneUI/UIContactCell.m delete mode 100644 Classes/LinphoneUI/UIContactDetailsCell.h delete mode 100644 Classes/LinphoneUI/UIContactDetailsCell.m delete mode 100644 Classes/LinphoneUI/UIDeviceCell.h delete mode 100644 Classes/LinphoneUI/UIDeviceCell.m delete mode 100644 Classes/LinphoneUI/UIDeviceCell.xib delete mode 100644 Classes/LinphoneUI/UIDigitButton.h delete mode 100644 Classes/LinphoneUI/UIDigitButton.m delete mode 100644 Classes/LinphoneUI/UIHistoryCell.h delete mode 100644 Classes/LinphoneUI/UIHistoryCell.m delete mode 100644 Classes/LinphoneUI/UIIconButton.h delete mode 100644 Classes/LinphoneUI/UIIconButton.m delete mode 100644 Classes/LinphoneUI/UIImageViewDeletable.h delete mode 100644 Classes/LinphoneUI/UIImageViewDeletable.m delete mode 100644 Classes/LinphoneUI/UIImageViewDeletable.xib delete mode 100644 Classes/LinphoneUI/UIInterfaceStyleButton.h delete mode 100644 Classes/LinphoneUI/UIInterfaceStyleButton.m delete mode 100644 Classes/LinphoneUI/UIInterfaceStyleToggleButton.h delete mode 100644 Classes/LinphoneUI/UIInterfaceStyleToggleButton.m delete mode 100644 Classes/LinphoneUI/UILabel+Boldify.h delete mode 100644 Classes/LinphoneUI/UILabel+Boldify.m delete mode 100644 Classes/LinphoneUI/UILinphoneAudioPlayer.h delete mode 100644 Classes/LinphoneUI/UILinphoneAudioPlayer.m delete mode 100644 Classes/LinphoneUI/UILinphoneAudioPlayer.xib delete mode 100644 Classes/LinphoneUI/UILoadingImageView.h delete mode 100644 Classes/LinphoneUI/UILoadingImageView.m delete mode 100644 Classes/LinphoneUI/UIRecordingCell.h delete mode 100644 Classes/LinphoneUI/UIRecordingCell.m delete mode 100644 Classes/LinphoneUI/UIRecordingCell.xib delete mode 100644 Classes/LinphoneUI/UIRoundBorderedButton.h delete mode 100644 Classes/LinphoneUI/UIRoundBorderedButton.m delete mode 100644 Classes/LinphoneUI/UIRoundedImageView.h delete mode 100644 Classes/LinphoneUI/UIRoundedImageView.m delete mode 100644 Classes/LinphoneUI/UIShopTableCell.h delete mode 100644 Classes/LinphoneUI/UIShopTableCell.m delete mode 100644 Classes/LinphoneUI/UIShopTableCell.xib delete mode 100644 Classes/LinphoneUI/UITextField+DoneButton.h delete mode 100644 Classes/LinphoneUI/UITextField+DoneButton.m delete mode 100644 Classes/LinphoneUI/UITextViewNoDefine.h delete mode 100644 Classes/LinphoneUI/UITextViewNoDefine.m delete mode 100644 Classes/LinphoneUI/UIToggleButton.h delete mode 100644 Classes/LinphoneUI/UIToggleButton.m delete mode 100644 Classes/LinphoneUI/ar.lproj/StatusBarView.strings delete mode 100644 Classes/LinphoneUI/ar.lproj/TabBarView.strings delete mode 100644 Classes/LinphoneUI/ar.lproj/UICallConferenceCell.strings delete mode 100644 Classes/LinphoneUI/ar.lproj/UICallPausedCell.strings delete mode 100644 Classes/LinphoneUI/ar.lproj/UIChatBubblePhotoCell.strings delete mode 100644 Classes/LinphoneUI/ar.lproj/UIChatBubbleTextCell.strings delete mode 100644 Classes/LinphoneUI/ar.lproj/UIChatCell.strings delete mode 100644 Classes/LinphoneUI/ar.lproj/UIChatConversationImdnTableViewCell.strings delete mode 100644 Classes/LinphoneUI/ar.lproj/UIChatConversationInfoTableViewCell.strings delete mode 100644 Classes/LinphoneUI/ar.lproj/UIChatCreateCell.strings delete mode 100644 Classes/LinphoneUI/ar.lproj/UIChatCreateCollectionViewCell.strings delete mode 100644 Classes/LinphoneUI/ar.lproj/UICompositeView.strings delete mode 100644 Classes/LinphoneUI/ar.lproj/UIConfirmationDialog.strings delete mode 100644 Classes/LinphoneUI/ar.lproj/UIContactCell.strings delete mode 100644 Classes/LinphoneUI/ar.lproj/UIContactDetailsCell.strings delete mode 100644 Classes/LinphoneUI/ar.lproj/UIHistoryCell.strings delete mode 100644 Classes/LinphoneUI/cs.lproj/StatusBarView.strings delete mode 100644 Classes/LinphoneUI/cs.lproj/UICallConferenceCell.strings delete mode 100644 Classes/LinphoneUI/cs.lproj/UICallPausedCell.strings delete mode 100644 Classes/LinphoneUI/cs.lproj/UIChatBubblePhotoCell.strings delete mode 100644 Classes/LinphoneUI/cs.lproj/UIChatBubbleTextCell.strings delete mode 100644 Classes/LinphoneUI/cs.lproj/UIChatCell.strings delete mode 100644 Classes/LinphoneUI/cs.lproj/UIChatConversationImdnTableViewCell.strings delete mode 100644 Classes/LinphoneUI/cs.lproj/UIChatConversationInfoTableViewCell.strings delete mode 100644 Classes/LinphoneUI/cs.lproj/UIContactDetailsCell.strings delete mode 100644 Classes/LinphoneUI/de.lproj/StatusBarView.strings delete mode 100644 Classes/LinphoneUI/de.lproj/TabBarView.strings delete mode 100644 Classes/LinphoneUI/de.lproj/UICallCell.strings delete mode 100644 Classes/LinphoneUI/de.lproj/UICallConferenceCell.strings delete mode 100644 Classes/LinphoneUI/de.lproj/UICallPausedCell.strings delete mode 100644 Classes/LinphoneUI/de.lproj/UIChatBubblePhotoCell.strings delete mode 100644 Classes/LinphoneUI/de.lproj/UIChatBubbleTextCell.strings delete mode 100644 Classes/LinphoneUI/de.lproj/UIChatCell.strings delete mode 100644 Classes/LinphoneUI/de.lproj/UIChatConversationImdnTableViewCell.strings delete mode 100644 Classes/LinphoneUI/de.lproj/UIChatConversationInfoTableViewCell.strings delete mode 100644 Classes/LinphoneUI/de.lproj/UIChatCreateCell.strings delete mode 100644 Classes/LinphoneUI/de.lproj/UIChatCreateCollectionViewCell.strings delete mode 100644 Classes/LinphoneUI/de.lproj/UIChatRoomCell.strings delete mode 100644 Classes/LinphoneUI/de.lproj/UIConfirmationDialog.strings delete mode 100644 Classes/LinphoneUI/de.lproj/UIContactCell.strings delete mode 100644 Classes/LinphoneUI/de.lproj/UIContactDetailsCell.strings delete mode 100644 Classes/LinphoneUI/de.lproj/UIContactDetailsFooter.strings delete mode 100644 Classes/LinphoneUI/de.lproj/UIContactDetailsHeader.strings delete mode 100644 Classes/LinphoneUI/de.lproj/UIHistoryCell.strings delete mode 100644 Classes/LinphoneUI/de.lproj/UIMainBar.strings delete mode 100644 Classes/LinphoneUI/de.lproj/UIMainBar~ipad.strings delete mode 100644 Classes/LinphoneUI/de.lproj/UIStateBar.strings delete mode 100644 Classes/LinphoneUI/en.lproj/UIChatReplyBubbleView.strings delete mode 100644 Classes/LinphoneUI/es.lproj/StatusBarView.strings delete mode 100644 Classes/LinphoneUI/es.lproj/TabBarView.strings delete mode 100644 Classes/LinphoneUI/es.lproj/UICallConferenceCell.strings delete mode 100644 Classes/LinphoneUI/es.lproj/UICallPausedCell.strings delete mode 100644 Classes/LinphoneUI/es.lproj/UIChatBubblePhotoCell.strings delete mode 100644 Classes/LinphoneUI/es.lproj/UIChatBubbleTextCell.strings delete mode 100644 Classes/LinphoneUI/es.lproj/UIChatCell.strings delete mode 100644 Classes/LinphoneUI/es.lproj/UIChatConversationImdnTableViewCell.strings delete mode 100644 Classes/LinphoneUI/es.lproj/UIChatConversationInfoTableViewCell.strings delete mode 100644 Classes/LinphoneUI/es.lproj/UIChatCreateCell.strings delete mode 100644 Classes/LinphoneUI/es.lproj/UIChatCreateCollectionViewCell.strings delete mode 100644 Classes/LinphoneUI/es.lproj/UIConfirmationDialog.strings delete mode 100644 Classes/LinphoneUI/es.lproj/UIContactCell.strings delete mode 100644 Classes/LinphoneUI/es.lproj/UIContactDetailsCell.strings delete mode 100644 Classes/LinphoneUI/es.lproj/UIHistoryCell.strings delete mode 100644 Classes/LinphoneUI/es_AR.lproj/StatusBarView.strings delete mode 100644 Classes/LinphoneUI/es_AR.lproj/TabBarView.strings delete mode 100644 Classes/LinphoneUI/es_AR.lproj/UICallConferenceCell.strings delete mode 100644 Classes/LinphoneUI/es_AR.lproj/UICallPausedCell.strings delete mode 100644 Classes/LinphoneUI/es_AR.lproj/UIChatBubblePhotoCell.strings delete mode 100644 Classes/LinphoneUI/es_AR.lproj/UIChatBubbleTextCell.strings delete mode 100644 Classes/LinphoneUI/es_AR.lproj/UIChatCell.strings delete mode 100644 Classes/LinphoneUI/es_AR.lproj/UIChatConversationImdnTableViewCell.strings delete mode 100644 Classes/LinphoneUI/es_AR.lproj/UIChatConversationInfoTableViewCell.strings delete mode 100644 Classes/LinphoneUI/es_AR.lproj/UIChatCreateCell.strings delete mode 100644 Classes/LinphoneUI/es_AR.lproj/UIChatCreateCollectionViewCell.strings delete mode 100644 Classes/LinphoneUI/es_AR.lproj/UIConfirmationDialog.strings delete mode 100644 Classes/LinphoneUI/es_AR.lproj/UIContactCell.strings delete mode 100644 Classes/LinphoneUI/es_AR.lproj/UIContactDetailsCell.strings delete mode 100644 Classes/LinphoneUI/es_AR.lproj/UIHistoryCell.strings delete mode 100644 Classes/LinphoneUI/fr.lproj/StatusBarView.strings delete mode 100644 Classes/LinphoneUI/fr.lproj/TabBarView.strings delete mode 100644 Classes/LinphoneUI/fr.lproj/UIChatBubblePhotoCell.strings delete mode 100644 Classes/LinphoneUI/fr.lproj/UIChatBubbleTextCell.strings delete mode 100644 Classes/LinphoneUI/fr.lproj/UIChatCell.strings delete mode 100644 Classes/LinphoneUI/fr.lproj/UIChatConversationImdnTableViewCell.strings delete mode 100644 Classes/LinphoneUI/fr.lproj/UIChatConversationInfoTableViewCell.strings delete mode 100644 Classes/LinphoneUI/fr.lproj/UIChatCreateCell.strings delete mode 100644 Classes/LinphoneUI/fr.lproj/UIChatReplyBubbleView.strings delete mode 100644 Classes/LinphoneUI/fr.lproj/UIChatRoomCell.strings delete mode 100644 Classes/LinphoneUI/fr.lproj/UICompositeView.strings delete mode 100644 Classes/LinphoneUI/fr.lproj/UICompositeView~ipad.strings delete mode 100644 Classes/LinphoneUI/fr.lproj/UIConfirmationDialog.strings delete mode 100644 Classes/LinphoneUI/fr.lproj/UIContactCell.strings delete mode 100644 Classes/LinphoneUI/fr.lproj/UIContactDetailsCell.strings delete mode 100644 Classes/LinphoneUI/fr.lproj/UIHistoryCell.strings delete mode 100644 Classes/LinphoneUI/fr.lproj/UIStateBar.strings delete mode 100644 Classes/LinphoneUI/hu.lproj/StatusBarView.strings delete mode 100644 Classes/LinphoneUI/hu.lproj/TabBarView.strings delete mode 100644 Classes/LinphoneUI/hu.lproj/UIChatBubblePhotoCell.strings delete mode 100644 Classes/LinphoneUI/hu.lproj/UIChatBubbleTextCell.strings delete mode 100644 Classes/LinphoneUI/hu.lproj/UIChatCell.strings delete mode 100644 Classes/LinphoneUI/hu.lproj/UIChatConversationImdnTableViewCell.strings delete mode 100644 Classes/LinphoneUI/hu.lproj/UIChatConversationInfoTableViewCell.strings delete mode 100644 Classes/LinphoneUI/hu.lproj/UIChatCreateCell.strings delete mode 100644 Classes/LinphoneUI/hu.lproj/UICompositeView.strings delete mode 100644 Classes/LinphoneUI/hu.lproj/UICompositeView~ipad.strings delete mode 100644 Classes/LinphoneUI/hu.lproj/UIConfirmationDialog.strings delete mode 100644 Classes/LinphoneUI/hu.lproj/UIContactCell.strings delete mode 100644 Classes/LinphoneUI/hu.lproj/UIContactDetailsCell.strings delete mode 100644 Classes/LinphoneUI/hu.lproj/UIHistoryCell.strings delete mode 100644 Classes/LinphoneUI/it.lproj/StatusBarView.strings delete mode 100644 Classes/LinphoneUI/it.lproj/TabBarView.strings delete mode 100644 Classes/LinphoneUI/it.lproj/UICallConferenceCell.strings delete mode 100644 Classes/LinphoneUI/it.lproj/UICallPausedCell.strings delete mode 100644 Classes/LinphoneUI/it.lproj/UIChatBubblePhotoCell.strings delete mode 100644 Classes/LinphoneUI/it.lproj/UIChatBubbleTextCell.strings delete mode 100644 Classes/LinphoneUI/it.lproj/UIChatCell.strings delete mode 100644 Classes/LinphoneUI/it.lproj/UIChatConversationImdnTableViewCell.strings delete mode 100644 Classes/LinphoneUI/it.lproj/UIChatConversationInfoTableViewCell.strings delete mode 100644 Classes/LinphoneUI/it.lproj/UIChatCreateCell.strings delete mode 100644 Classes/LinphoneUI/it.lproj/UIChatCreateCollectionViewCell.strings delete mode 100644 Classes/LinphoneUI/it.lproj/UIConfirmationDialog.strings delete mode 100644 Classes/LinphoneUI/it.lproj/UIContactCell.strings delete mode 100644 Classes/LinphoneUI/it.lproj/UIContactDetailsCell.strings delete mode 100644 Classes/LinphoneUI/it.lproj/UIHistoryCell.strings delete mode 100644 Classes/LinphoneUI/ja.lproj/StatusBarView.strings delete mode 100644 Classes/LinphoneUI/ja.lproj/TabBarView.strings delete mode 100644 Classes/LinphoneUI/ja.lproj/UICallCell.strings delete mode 100644 Classes/LinphoneUI/ja.lproj/UICallConferenceCell.strings delete mode 100644 Classes/LinphoneUI/ja.lproj/UICallPausedCell.strings delete mode 100644 Classes/LinphoneUI/ja.lproj/UIChatBubblePhotoCell.strings delete mode 100644 Classes/LinphoneUI/ja.lproj/UIChatBubbleTextCell.strings delete mode 100644 Classes/LinphoneUI/ja.lproj/UIChatCell.strings delete mode 100644 Classes/LinphoneUI/ja.lproj/UIChatConversationImdnTableViewCell.strings delete mode 100644 Classes/LinphoneUI/ja.lproj/UIChatConversationInfoTableViewCell.strings delete mode 100644 Classes/LinphoneUI/ja.lproj/UIChatCreateCell.strings delete mode 100644 Classes/LinphoneUI/ja.lproj/UIChatCreateCollectionViewCell.strings delete mode 100644 Classes/LinphoneUI/ja.lproj/UIChatRoomCell.strings delete mode 100644 Classes/LinphoneUI/ja.lproj/UIConfirmationDialog.strings delete mode 100644 Classes/LinphoneUI/ja.lproj/UIContactCell.strings delete mode 100644 Classes/LinphoneUI/ja.lproj/UIContactDetailsCell.strings delete mode 100644 Classes/LinphoneUI/ja.lproj/UIContactDetailsFooter.strings delete mode 100644 Classes/LinphoneUI/ja.lproj/UIContactDetailsHeader.strings delete mode 100644 Classes/LinphoneUI/ja.lproj/UIHistoryCell.strings delete mode 100644 Classes/LinphoneUI/ja.lproj/UIMainBar.strings delete mode 100644 Classes/LinphoneUI/ja.lproj/UIMainBar~ipad.strings delete mode 100644 Classes/LinphoneUI/ja.lproj/UIStateBar.strings delete mode 100644 Classes/LinphoneUI/ka.lproj/StatusBarView.strings delete mode 100644 Classes/LinphoneUI/ka.lproj/TabBarView.strings delete mode 100644 Classes/LinphoneUI/ka.lproj/UICallConferenceCell.strings delete mode 100644 Classes/LinphoneUI/ka.lproj/UICallPausedCell.strings delete mode 100644 Classes/LinphoneUI/ka.lproj/UIChatBubblePhotoCell.strings delete mode 100644 Classes/LinphoneUI/ka.lproj/UIChatBubbleTextCell.strings delete mode 100644 Classes/LinphoneUI/ka.lproj/UIChatCell.strings delete mode 100644 Classes/LinphoneUI/ka.lproj/UIChatConversationImdnTableViewCell.strings delete mode 100644 Classes/LinphoneUI/ka.lproj/UIChatConversationInfoTableViewCell.strings delete mode 100644 Classes/LinphoneUI/ka.lproj/UIChatCreateCell.strings delete mode 100644 Classes/LinphoneUI/ka.lproj/UIChatCreateCollectionViewCell.strings delete mode 100644 Classes/LinphoneUI/ka.lproj/UIConfirmationDialog.strings delete mode 100644 Classes/LinphoneUI/ka.lproj/UIContactCell.strings delete mode 100644 Classes/LinphoneUI/ka.lproj/UIContactDetailsCell.strings delete mode 100644 Classes/LinphoneUI/ka.lproj/UIHistoryCell.strings delete mode 100644 Classes/LinphoneUI/nl.lproj/StatusBarView.strings delete mode 100644 Classes/LinphoneUI/nl.lproj/TabBarView.strings delete mode 100644 Classes/LinphoneUI/nl.lproj/UICallCell.strings delete mode 100644 Classes/LinphoneUI/nl.lproj/UICallConferenceCell.strings delete mode 100644 Classes/LinphoneUI/nl.lproj/UICallPausedCell.strings delete mode 100644 Classes/LinphoneUI/nl.lproj/UIChatBubblePhotoCell.strings delete mode 100644 Classes/LinphoneUI/nl.lproj/UIChatBubbleTextCell.strings delete mode 100644 Classes/LinphoneUI/nl.lproj/UIChatCell.strings delete mode 100644 Classes/LinphoneUI/nl.lproj/UIChatConversationImdnTableViewCell.strings delete mode 100644 Classes/LinphoneUI/nl.lproj/UIChatConversationInfoTableViewCell.strings delete mode 100644 Classes/LinphoneUI/nl.lproj/UIChatCreateCell.strings delete mode 100644 Classes/LinphoneUI/nl.lproj/UIChatRoomCell.strings delete mode 100644 Classes/LinphoneUI/nl.lproj/UIConfirmationDialog.strings delete mode 100644 Classes/LinphoneUI/nl.lproj/UIContactCell.strings delete mode 100644 Classes/LinphoneUI/nl.lproj/UIContactDetailsCell.strings delete mode 100644 Classes/LinphoneUI/nl.lproj/UIContactDetailsFooter.strings delete mode 100644 Classes/LinphoneUI/nl.lproj/UIContactDetailsHeader.strings delete mode 100644 Classes/LinphoneUI/nl.lproj/UIHistoryCell.strings delete mode 100644 Classes/LinphoneUI/nl.lproj/UIMainBar.strings delete mode 100644 Classes/LinphoneUI/nl.lproj/UIMainBar~ipad.strings delete mode 100644 Classes/LinphoneUI/nl.lproj/UIStateBar.strings delete mode 100644 Classes/LinphoneUI/pl.lproj/StatusBarView.strings delete mode 100644 Classes/LinphoneUI/pl.lproj/TabBarView.strings delete mode 100644 Classes/LinphoneUI/pl.lproj/UICallConferenceCell.strings delete mode 100644 Classes/LinphoneUI/pl.lproj/UICallPausedCell.strings delete mode 100644 Classes/LinphoneUI/pl.lproj/UIChatBubblePhotoCell.strings delete mode 100644 Classes/LinphoneUI/pl.lproj/UIChatBubbleTextCell.strings delete mode 100644 Classes/LinphoneUI/pl.lproj/UIChatCell.strings delete mode 100644 Classes/LinphoneUI/pl.lproj/UIChatConversationImdnTableViewCell.strings delete mode 100644 Classes/LinphoneUI/pl.lproj/UIChatConversationInfoTableViewCell.strings delete mode 100644 Classes/LinphoneUI/pl.lproj/UIChatCreateCell.strings delete mode 100644 Classes/LinphoneUI/pl.lproj/UIChatCreateCollectionViewCell.strings delete mode 100644 Classes/LinphoneUI/pl.lproj/UIConfirmationDialog.strings delete mode 100644 Classes/LinphoneUI/pl.lproj/UIContactCell.strings delete mode 100644 Classes/LinphoneUI/pl.lproj/UIContactDetailsCell.strings delete mode 100644 Classes/LinphoneUI/pl.lproj/UIHistoryCell.strings delete mode 100644 Classes/LinphoneUI/pt_BR.lproj/StatusBarView.strings delete mode 100644 Classes/LinphoneUI/pt_BR.lproj/TabBarView.strings delete mode 100644 Classes/LinphoneUI/pt_BR.lproj/UICallConferenceCell.strings delete mode 100644 Classes/LinphoneUI/pt_BR.lproj/UICallPausedCell.strings delete mode 100644 Classes/LinphoneUI/pt_BR.lproj/UIChatBubblePhotoCell.strings delete mode 100644 Classes/LinphoneUI/pt_BR.lproj/UIChatBubbleTextCell.strings delete mode 100644 Classes/LinphoneUI/pt_BR.lproj/UIChatCell.strings delete mode 100644 Classes/LinphoneUI/pt_BR.lproj/UIChatConversationImdnTableViewCell.strings delete mode 100644 Classes/LinphoneUI/pt_BR.lproj/UIChatConversationInfoTableViewCell.strings delete mode 100644 Classes/LinphoneUI/pt_BR.lproj/UIChatCreateCell.strings delete mode 100644 Classes/LinphoneUI/pt_BR.lproj/UIChatCreateCollectionViewCell.strings delete mode 100644 Classes/LinphoneUI/pt_BR.lproj/UIConfirmationDialog.strings delete mode 100644 Classes/LinphoneUI/pt_BR.lproj/UIContactCell.strings delete mode 100644 Classes/LinphoneUI/pt_BR.lproj/UIContactDetailsCell.strings delete mode 100644 Classes/LinphoneUI/pt_BR.lproj/UIHistoryCell.strings delete mode 100644 Classes/LinphoneUI/ru.lproj/StatusBarView.strings delete mode 100644 Classes/LinphoneUI/ru.lproj/TabBarView.strings delete mode 100644 Classes/LinphoneUI/ru.lproj/UICallConferenceCell.strings delete mode 100644 Classes/LinphoneUI/ru.lproj/UICallPausedCell.strings delete mode 100644 Classes/LinphoneUI/ru.lproj/UIChatBubblePhotoCell.strings delete mode 100644 Classes/LinphoneUI/ru.lproj/UIChatBubbleTextCell.strings delete mode 100644 Classes/LinphoneUI/ru.lproj/UIChatCell.strings delete mode 100644 Classes/LinphoneUI/ru.lproj/UIChatConversationImdnTableViewCell.strings delete mode 100644 Classes/LinphoneUI/ru.lproj/UIChatConversationInfoTableViewCell.strings delete mode 100644 Classes/LinphoneUI/ru.lproj/UIChatCreateCell.strings delete mode 100644 Classes/LinphoneUI/ru.lproj/UIChatCreateCollectionViewCell.strings delete mode 100644 Classes/LinphoneUI/ru.lproj/UIConfirmationDialog.strings delete mode 100644 Classes/LinphoneUI/ru.lproj/UIContactCell.strings delete mode 100644 Classes/LinphoneUI/ru.lproj/UIContactDetailsCell.strings delete mode 100644 Classes/LinphoneUI/ru.lproj/UIHistoryCell.strings delete mode 100644 Classes/LinphoneUI/sv.lproj/StatusBarView.strings delete mode 100644 Classes/LinphoneUI/sv.lproj/TabBarView.strings delete mode 100644 Classes/LinphoneUI/sv.lproj/UICallConferenceCell.strings delete mode 100644 Classes/LinphoneUI/sv.lproj/UICallPausedCell.strings delete mode 100644 Classes/LinphoneUI/sv.lproj/UIChatBubblePhotoCell.strings delete mode 100644 Classes/LinphoneUI/sv.lproj/UIChatBubbleTextCell.strings delete mode 100644 Classes/LinphoneUI/sv.lproj/UIChatCell.strings delete mode 100644 Classes/LinphoneUI/sv.lproj/UIChatConversationImdnTableViewCell.strings delete mode 100644 Classes/LinphoneUI/sv.lproj/UIChatConversationInfoTableViewCell.strings delete mode 100644 Classes/LinphoneUI/sv.lproj/UIChatCreateCell.strings delete mode 100644 Classes/LinphoneUI/sv.lproj/UIChatCreateCollectionViewCell.strings delete mode 100644 Classes/LinphoneUI/sv.lproj/UIConfirmationDialog.strings delete mode 100644 Classes/LinphoneUI/sv.lproj/UIContactCell.strings delete mode 100644 Classes/LinphoneUI/sv.lproj/UIContactDetailsCell.strings delete mode 100644 Classes/LinphoneUI/sv.lproj/UIHistoryCell.strings delete mode 100644 Classes/LinphoneUI/tr.lproj/StatusBarView.strings delete mode 100644 Classes/LinphoneUI/tr.lproj/TabBarView.strings delete mode 100644 Classes/LinphoneUI/tr.lproj/UICallConferenceCell.strings delete mode 100644 Classes/LinphoneUI/tr.lproj/UICallPausedCell.strings delete mode 100644 Classes/LinphoneUI/tr.lproj/UIChatBubblePhotoCell.strings delete mode 100644 Classes/LinphoneUI/tr.lproj/UIChatBubbleTextCell.strings delete mode 100644 Classes/LinphoneUI/tr.lproj/UIChatCell.strings delete mode 100644 Classes/LinphoneUI/tr.lproj/UIChatConversationImdnTableViewCell.strings delete mode 100644 Classes/LinphoneUI/tr.lproj/UIChatConversationInfoTableViewCell.strings delete mode 100644 Classes/LinphoneUI/tr.lproj/UIChatCreateCell.strings delete mode 100644 Classes/LinphoneUI/tr.lproj/UIChatCreateCollectionViewCell.strings delete mode 100644 Classes/LinphoneUI/tr.lproj/UIConfirmationDialog.strings delete mode 100644 Classes/LinphoneUI/tr.lproj/UIContactCell.strings delete mode 100644 Classes/LinphoneUI/tr.lproj/UIContactDetailsCell.strings delete mode 100644 Classes/LinphoneUI/tr.lproj/UIHistoryCell.strings delete mode 100644 Classes/LinphoneUI/uk.lproj/StatusBarView.strings delete mode 100644 Classes/LinphoneUI/uk.lproj/TabBarView.strings delete mode 100644 Classes/LinphoneUI/uk.lproj/UICallConferenceCell.strings delete mode 100644 Classes/LinphoneUI/uk.lproj/UICallPausedCell.strings delete mode 100644 Classes/LinphoneUI/uk.lproj/UIChatBubblePhotoCell.strings delete mode 100644 Classes/LinphoneUI/uk.lproj/UIChatBubbleTextCell.strings delete mode 100644 Classes/LinphoneUI/uk.lproj/UIChatCell.strings delete mode 100644 Classes/LinphoneUI/uk.lproj/UIChatConversationImdnTableViewCell.strings delete mode 100644 Classes/LinphoneUI/uk.lproj/UIChatConversationInfoTableViewCell.strings delete mode 100644 Classes/LinphoneUI/uk.lproj/UIChatCreateCell.strings delete mode 100644 Classes/LinphoneUI/uk.lproj/UIChatCreateCollectionViewCell.strings delete mode 100644 Classes/LinphoneUI/uk.lproj/UIConfirmationDialog.strings delete mode 100644 Classes/LinphoneUI/uk.lproj/UIContactCell.strings delete mode 100644 Classes/LinphoneUI/uk.lproj/UIContactDetailsCell.strings delete mode 100644 Classes/LinphoneUI/uk.lproj/UIHistoryCell.strings delete mode 100644 Classes/LinphoneUI/zh_CN.lproj/StatusBarView.strings delete mode 100644 Classes/LinphoneUI/zh_CN.lproj/TabBarView.strings delete mode 100644 Classes/LinphoneUI/zh_CN.lproj/UICallConferenceCell.strings delete mode 100644 Classes/LinphoneUI/zh_CN.lproj/UICallPausedCell.strings delete mode 100644 Classes/LinphoneUI/zh_CN.lproj/UIChatBubblePhotoCell.strings delete mode 100644 Classes/LinphoneUI/zh_CN.lproj/UIChatBubbleTextCell.strings delete mode 100644 Classes/LinphoneUI/zh_CN.lproj/UIChatCell.strings delete mode 100644 Classes/LinphoneUI/zh_CN.lproj/UIChatConversationImdnTableViewCell.strings delete mode 100644 Classes/LinphoneUI/zh_CN.lproj/UIChatConversationInfoTableViewCell.strings delete mode 100644 Classes/LinphoneUI/zh_CN.lproj/UIChatCreateCell.strings delete mode 100644 Classes/LinphoneUI/zh_CN.lproj/UIChatCreateCollectionViewCell.strings delete mode 100644 Classes/LinphoneUI/zh_CN.lproj/UIConfirmationDialog.strings delete mode 100644 Classes/LinphoneUI/zh_CN.lproj/UIContactCell.strings delete mode 100644 Classes/LinphoneUI/zh_CN.lproj/UIContactDetailsCell.strings delete mode 100644 Classes/LinphoneUI/zh_CN.lproj/UIHistoryCell.strings delete mode 100644 Classes/LinphoneUI/zh_TW.lproj/StatusBarView.strings delete mode 100644 Classes/LinphoneUI/zh_TW.lproj/TabBarView.strings delete mode 100644 Classes/LinphoneUI/zh_TW.lproj/UICallCell.strings delete mode 100644 Classes/LinphoneUI/zh_TW.lproj/UICallConferenceCell.strings delete mode 100644 Classes/LinphoneUI/zh_TW.lproj/UICallPausedCell.strings delete mode 100644 Classes/LinphoneUI/zh_TW.lproj/UIChatBubblePhotoCell.strings delete mode 100644 Classes/LinphoneUI/zh_TW.lproj/UIChatBubbleTextCell.strings delete mode 100644 Classes/LinphoneUI/zh_TW.lproj/UIChatCell.strings delete mode 100644 Classes/LinphoneUI/zh_TW.lproj/UIChatConversationImdnTableViewCell.strings delete mode 100644 Classes/LinphoneUI/zh_TW.lproj/UIChatConversationInfoTableViewCell.strings delete mode 100644 Classes/LinphoneUI/zh_TW.lproj/UIChatCreateCell.strings delete mode 100644 Classes/LinphoneUI/zh_TW.lproj/UIChatCreateCollectionViewCell.strings delete mode 100644 Classes/LinphoneUI/zh_TW.lproj/UIConfirmationDialog.strings delete mode 100644 Classes/LinphoneUI/zh_TW.lproj/UIContactCell.strings delete mode 100644 Classes/LinphoneUI/zh_TW.lproj/UIContactDetailsCell.strings delete mode 100644 Classes/LinphoneUI/zh_TW.lproj/UIContactDetailsFooter.strings delete mode 100644 Classes/LinphoneUI/zh_TW.lproj/UIContactDetailsHeader.strings delete mode 100644 Classes/LinphoneUI/zh_TW.lproj/UIHistoryCell.strings delete mode 100644 Classes/LinphoneUI/zh_TW.lproj/UIMainBar.strings delete mode 100644 Classes/LinphoneUI/zh_TW.lproj/UIMainBar~ipad.strings delete mode 100644 Classes/Log.h delete mode 100644 Classes/MagicSearch.swift delete mode 100644 Classes/MainStoryboard.storyboard delete mode 100644 Classes/PhoneMainView.h delete mode 100644 Classes/PhoneMainView.m delete mode 100644 Classes/RecordingsListTableView.h delete mode 100644 Classes/RecordingsListTableView.m delete mode 100644 Classes/RecordingsListView.h delete mode 100644 Classes/RecordingsListView.m delete mode 100644 Classes/SettingsView.h delete mode 100644 Classes/SettingsView.m delete mode 100644 Classes/ShopTableView.h delete mode 100644 Classes/ShopTableView.m delete mode 100644 Classes/ShopView.h delete mode 100644 Classes/ShopView.m delete mode 100644 Classes/SideMenuTableView.h delete mode 100644 Classes/SideMenuTableView.m delete mode 100644 Classes/SideMenuView.h delete mode 100644 Classes/SideMenuView.m delete mode 100644 Classes/Swift/AppManager.swift delete mode 100644 Classes/Swift/CallManager.swift delete mode 100644 Classes/Swift/Chat/Data/FileType.swift delete mode 100644 Classes/Swift/Chat/ViewModels/ChatConversationTableViewModel.swift delete mode 100644 Classes/Swift/Chat/ViewModels/ChatConversationViewModel.swift delete mode 100644 Classes/Swift/Chat/Views/ChatConversationTableViewSwift.swift delete mode 100644 Classes/Swift/Chat/Views/ChatConversationViewSwift.swift delete mode 100644 Classes/Swift/Chat/Views/CircularProgressBarView.swift delete mode 100644 Classes/Swift/Chat/Views/DownloadMessageCell.swift delete mode 100644 Classes/Swift/Chat/Views/DropDownCell.swift delete mode 100644 Classes/Swift/Chat/Views/DropDownCell.xib delete mode 100644 Classes/Swift/Chat/Views/Fragments/ReactionCell.swift delete mode 100644 Classes/Swift/Chat/Views/Fragments/SheetViewController.swift delete mode 100644 Classes/Swift/Chat/Views/MessageView.swift delete mode 100644 Classes/Swift/Chat/Views/MultilineMessageCell.swift delete mode 100644 Classes/Swift/Chat/Views/UploadMessageCell.swift delete mode 100644 Classes/Swift/Conference/Data/Duration.swift delete mode 100644 Classes/Swift/Conference/Data/Mode.swift delete mode 100644 Classes/Swift/Conference/Data/ScheduledConferenceData.swift delete mode 100644 Classes/Swift/Conference/Data/TimeZoneData.swift delete mode 100644 Classes/Swift/Conference/ViewModels/ConferenceSchedulingViewModel.swift delete mode 100644 Classes/Swift/Conference/ViewModels/ConferenceWaitingRoomViewModel.swift delete mode 100644 Classes/Swift/Conference/ViewModels/ScheduledConferencesViewModel.swift delete mode 100644 Classes/Swift/Conference/Views/ConferenceHistoryDetailsView.swift delete mode 100644 Classes/Swift/Conference/Views/ConferenceSchedulingSummaryView.swift delete mode 100644 Classes/Swift/Conference/Views/ConferenceSchedulingView.swift delete mode 100644 Classes/Swift/Conference/Views/ConferenceWaitingRoomView.swift delete mode 100644 Classes/Swift/Conference/Views/ICSBubbleView.swift delete mode 100644 Classes/Swift/Conference/Views/ScheduledConferencesCell.swift delete mode 100644 Classes/Swift/Conference/Views/ScheduledConferencesView.swift delete mode 100644 Classes/Swift/ConfigManager.swift delete mode 100644 Classes/Swift/Extensions/IOS/CopyableLabel.swift delete mode 100644 Classes/Swift/Extensions/IOS/OptionalExtensions.swift delete mode 100644 Classes/Swift/Extensions/IOS/SnapkitBridge.swift delete mode 100644 Classes/Swift/Extensions/IOS/UIApplication+Extension.swift delete mode 100644 Classes/Swift/Extensions/IOS/UIButtonExtensions.swift delete mode 100644 Classes/Swift/Extensions/IOS/UIColorExtensions.swift delete mode 100644 Classes/Swift/Extensions/IOS/UIDeviceExtensions.swift delete mode 100644 Classes/Swift/Extensions/IOS/UIImageExtensions.swift delete mode 100644 Classes/Swift/Extensions/IOS/UIImageViewExtensions.swift delete mode 100644 Classes/Swift/Extensions/IOS/UILabelExtensions.swift delete mode 100644 Classes/Swift/Extensions/IOS/UIVIewControllerExtensions.swift delete mode 100644 Classes/Swift/Extensions/IOS/UIVIewExtensions.swift delete mode 100644 Classes/Swift/Extensions/LinphoneCore/AddressExtensions.swift delete mode 100644 Classes/Swift/Extensions/LinphoneCore/CallExtensions.swift delete mode 100644 Classes/Swift/Extensions/LinphoneCore/ConferenceExtensions.swift delete mode 100644 Classes/Swift/Extensions/LinphoneCore/CoreExtensions.swift delete mode 100644 Classes/Swift/Extensions/LinphoneCore/IceState.swift delete mode 100644 Classes/Swift/Extensions/LinphoneCore/ParticipantExtensions.swift delete mode 100644 Classes/Swift/Extensions/LinphoneCore/PayloadType.swift delete mode 100644 Classes/Swift/FileUtil.swift delete mode 100644 Classes/Swift/LocalPushManager.swift delete mode 100644 Classes/Swift/ProviderDelegate.swift delete mode 100644 Classes/Swift/SwiftUtil.swift delete mode 100644 Classes/Swift/Util/AudioPlayer.swift delete mode 100644 Classes/Swift/Util/BackActionsNavigationView.swift delete mode 100644 Classes/Swift/Util/BackNextNavigationView.swift delete mode 100644 Classes/Swift/Util/ContentMessageView.swift delete mode 100644 Classes/Swift/Util/CustomAlertController.swift delete mode 100644 Classes/Swift/Util/MutableLiveData.swift delete mode 100644 Classes/Swift/Util/Pair.swift delete mode 100644 Classes/Swift/Util/TimestampUtils.swift delete mode 100644 Classes/Swift/Util/UIImageExtension.swift delete mode 100644 Classes/Swift/Util/ViewModel/MediatorLiveData.swift delete mode 100644 Classes/Swift/Util/Viewers/ImageViewer.swift delete mode 100644 Classes/Swift/Util/Viewers/MediaViewer.swift delete mode 100644 Classes/Swift/Util/Viewers/TextViewer.swift delete mode 100644 Classes/Swift/VFSUtil.swift delete mode 100644 Classes/Swift/Voip/AudioRouteUtils.swift delete mode 100644 Classes/Swift/Voip/Theme/ButtonTheme.swift delete mode 100644 Classes/Swift/Voip/Theme/LightDarkColor.swift delete mode 100644 Classes/Swift/Voip/Theme/TextStyle.swift delete mode 100644 Classes/Swift/Voip/Theme/VoipTexts.swift delete mode 100644 Classes/Swift/Voip/Theme/VoipTheme.swift delete mode 100644 Classes/Swift/Voip/ViewModels/CallData.swift delete mode 100644 Classes/Swift/Voip/ViewModels/CallStatisticsData.swift delete mode 100644 Classes/Swift/Voip/ViewModels/CallsViewModel.swift delete mode 100644 Classes/Swift/Voip/ViewModels/ConferenceParticipantData.swift delete mode 100644 Classes/Swift/Voip/ViewModels/ConferenceParticipantDeviceData.swift delete mode 100644 Classes/Swift/Voip/ViewModels/ConferenceSpeakerData.swift delete mode 100644 Classes/Swift/Voip/ViewModels/ConferenceViewModel.swift delete mode 100644 Classes/Swift/Voip/ViewModels/ControlsViewModel.swift delete mode 100644 Classes/Swift/Voip/Views/CompositeViewControllers/AbstractCallView.swift delete mode 100644 Classes/Swift/Voip/Views/CompositeViewControllers/AbstractIncomingOutgoingCallView.swift delete mode 100644 Classes/Swift/Voip/Views/CompositeViewControllers/ConferenceCallView.swift delete mode 100644 Classes/Swift/Voip/Views/CompositeViewControllers/IncomingCallView.swift delete mode 100644 Classes/Swift/Voip/Views/CompositeViewControllers/OutgoingCallView.swift delete mode 100644 Classes/Swift/Voip/Views/CompositeViewControllers/SingleCallView.swift delete mode 100644 Classes/Swift/Voip/Views/Fragments/ActiveCall/ActiveCallView.swift delete mode 100644 Classes/Swift/Voip/Views/Fragments/AudioRoutesView.swift delete mode 100644 Classes/Swift/Voip/Views/Fragments/CallStatsView.swift delete mode 100644 Classes/Swift/Voip/Views/Fragments/CallsList/CallsListView.swift delete mode 100644 Classes/Swift/Voip/Views/Fragments/CallsList/VoipCallCell.swift delete mode 100644 Classes/Swift/Voip/Views/Fragments/CallsList/VoipCallContextMenu.swift delete mode 100644 Classes/Swift/Voip/Views/Fragments/Conference/MicMuted.swift delete mode 100644 Classes/Swift/Voip/Views/Fragments/Conference/VoipActiveSpeakerParticipantCell.swift delete mode 100644 Classes/Swift/Voip/Views/Fragments/Conference/VoipAudioOnlyParticipantCell.swift delete mode 100644 Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceActiveSpeakerView.swift delete mode 100644 Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceAudioOnlyView.swift delete mode 100644 Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceDisplayModeSelectionView.swift delete mode 100644 Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceGridView.swift delete mode 100644 Classes/Swift/Voip/Views/Fragments/Conference/VoipGridParticipantCell.swift delete mode 100644 Classes/Swift/Voip/Views/Fragments/ConferenceLayoutPickerView.swift delete mode 100644 Classes/Swift/Voip/Views/Fragments/ControlsView.swift delete mode 100644 Classes/Swift/Voip/Views/Fragments/DismissableView.swift delete mode 100644 Classes/Swift/Voip/Views/Fragments/LocalVideoView.swift delete mode 100644 Classes/Swift/Voip/Views/Fragments/NumpadView.swift delete mode 100644 Classes/Swift/Voip/Views/Fragments/ParticipantsList/ParticipantsListView.swift delete mode 100644 Classes/Swift/Voip/Views/Fragments/ParticipantsList/VoipParticipantCell.swift delete mode 100644 Classes/Swift/Voip/Views/Fragments/PausedCallOrConferenceView.swift delete mode 100644 Classes/Swift/Voip/Views/Fragments/RemotelyRecording.swift delete mode 100644 Classes/Swift/Voip/Views/Fragments/SpeakersList/SpeakersListView.swift delete mode 100644 Classes/Swift/Voip/Views/Fragments/SpeakersList/VoipSpeakerCell.swift delete mode 100644 Classes/Swift/Voip/Views/Fragments/VoipExtraButtonsView.swift delete mode 100644 Classes/Swift/Voip/Views/SharedLayoutConstants.swift delete mode 100644 Classes/Swift/Voip/VoipDialog.swift delete mode 100644 Classes/Swift/Voip/VoipDialog_BACKUP_1064.swift delete mode 100644 Classes/Swift/Voip/VoipDialog_BACKUP_1156.swift delete mode 100644 Classes/Swift/Voip/VoipDialog_BACKUP_884.swift delete mode 100644 Classes/Swift/Voip/VoipDialog_BACKUP_973.swift delete mode 100644 Classes/Swift/Voip/VoipDialog_BASE_1064.swift delete mode 100644 Classes/Swift/Voip/VoipDialog_BASE_1156.swift delete mode 100644 Classes/Swift/Voip/VoipDialog_BASE_884.swift delete mode 100644 Classes/Swift/Voip/VoipDialog_BASE_973.swift delete mode 100644 Classes/Swift/Voip/VoipDialog_LOCAL_1064.swift delete mode 100644 Classes/Swift/Voip/VoipDialog_LOCAL_1156.swift delete mode 100644 Classes/Swift/Voip/VoipDialog_LOCAL_884.swift delete mode 100644 Classes/Swift/Voip/VoipDialog_LOCAL_973.swift delete mode 100644 Classes/Swift/Voip/VoipDialog_REMOTE_1064.swift delete mode 100644 Classes/Swift/Voip/VoipDialog_REMOTE_1156.swift delete mode 100644 Classes/Swift/Voip/VoipDialog_REMOTE_884.swift delete mode 100644 Classes/Swift/Voip/VoipDialog_REMOTE_973.swift delete mode 100644 Classes/Swift/Voip/Widgets/Avatar.swift delete mode 100644 Classes/Swift/Voip/Widgets/BouncingCounter.swift delete mode 100644 Classes/Swift/Voip/Widgets/ButtonWithStateBackgrounds.swift delete mode 100644 Classes/Swift/Voip/Widgets/CallControlButton.swift delete mode 100644 Classes/Swift/Voip/Widgets/FormButton.swift delete mode 100644 Classes/Swift/Voip/Widgets/RotatingSpinner.swift delete mode 100644 Classes/Swift/Voip/Widgets/StyledCheckBox.swift delete mode 100644 Classes/Swift/Voip/Widgets/StyledDatePicker.swift delete mode 100644 Classes/Swift/Voip/Widgets/StyledLabel.swift delete mode 100644 Classes/Swift/Voip/Widgets/StyledSwitch.swift delete mode 100644 Classes/Swift/Voip/Widgets/StyledTextView.swift delete mode 100644 Classes/Swift/Voip/Widgets/StyledValuePicker.swift delete mode 100644 Classes/Swift/Voip/Widgets/UICallTimer.swift delete mode 100644 Classes/Swift/Voip/Widgets/VoipExtraButton.swift delete mode 100755 Classes/Utils/CAAnimationBlocks/CAAnimation+Blocks.h delete mode 100755 Classes/Utils/CAAnimationBlocks/CAAnimation+Blocks.m delete mode 100644 Classes/Utils/ColorSpaceUtilites.m delete mode 100644 Classes/Utils/ColorSpaceUtilities.h delete mode 100755 Classes/Utils/DCRoundSwitch/DCRoundSwitch.h delete mode 100755 Classes/Utils/DCRoundSwitch/DCRoundSwitch.m delete mode 100755 Classes/Utils/DCRoundSwitch/DCRoundSwitchKnobLayer.h delete mode 100755 Classes/Utils/DCRoundSwitch/DCRoundSwitchKnobLayer.m delete mode 100755 Classes/Utils/DCRoundSwitch/DCRoundSwitchOutlineLayer.h delete mode 100755 Classes/Utils/DCRoundSwitch/DCRoundSwitchOutlineLayer.m delete mode 100755 Classes/Utils/DCRoundSwitch/DCRoundSwitchToggleLayer.h delete mode 100755 Classes/Utils/DCRoundSwitch/DCRoundSwitchToggleLayer.m delete mode 100755 Classes/Utils/DTFoundation/DTActionSheet.h delete mode 100755 Classes/Utils/DTFoundation/DTActionSheet.m delete mode 100644 Classes/Utils/DTFoundation/DTAlertView.h delete mode 100644 Classes/Utils/DTFoundation/DTAlertView.m delete mode 100644 Classes/Utils/DTFoundation/DTWeakSupport.h delete mode 100644 Classes/Utils/FastAddressBook.h delete mode 100644 Classes/Utils/FastAddressBook.m delete mode 100644 Classes/Utils/FileTransferDelegate.h delete mode 100644 Classes/Utils/FileTransferDelegate.m delete mode 100755 Classes/Utils/HPGrowingTextView/HPGrowingTextView.h delete mode 100755 Classes/Utils/HPGrowingTextView/HPGrowingTextView.m delete mode 100755 Classes/Utils/HPGrowingTextView/HPTextViewInternal.h delete mode 100755 Classes/Utils/HPGrowingTextView/HPTextViewInternal.m delete mode 100755 Classes/Utils/InAppSettingsKit/Controllers/IASKAppSettingsViewController.h delete mode 100755 Classes/Utils/InAppSettingsKit/Controllers/IASKAppSettingsViewController.m delete mode 100755 Classes/Utils/InAppSettingsKit/Controllers/IASKSpecifierValuesViewController.h delete mode 100755 Classes/Utils/InAppSettingsKit/Controllers/IASKSpecifierValuesViewController.m delete mode 100755 Classes/Utils/InAppSettingsKit/Controllers/IASKViewController.h delete mode 100755 Classes/Utils/InAppSettingsKit/Models/IASKSettingsReader.h delete mode 100755 Classes/Utils/InAppSettingsKit/Models/IASKSettingsReader.m delete mode 100755 Classes/Utils/InAppSettingsKit/Models/IASKSettingsStore.h delete mode 100755 Classes/Utils/InAppSettingsKit/Models/IASKSettingsStore.m delete mode 100755 Classes/Utils/InAppSettingsKit/Models/IASKSettingsStoreFile.h delete mode 100755 Classes/Utils/InAppSettingsKit/Models/IASKSettingsStoreFile.m delete mode 100755 Classes/Utils/InAppSettingsKit/Models/IASKSettingsStoreUserDefaults.h delete mode 100755 Classes/Utils/InAppSettingsKit/Models/IASKSettingsStoreUserDefaults.m delete mode 100755 Classes/Utils/InAppSettingsKit/Models/IASKSpecifier.h delete mode 100755 Classes/Utils/InAppSettingsKit/Models/IASKSpecifier.m delete mode 100755 Classes/Utils/InAppSettingsKit/Views/IASKPSSliderSpecifierViewCell.h delete mode 100755 Classes/Utils/InAppSettingsKit/Views/IASKPSSliderSpecifierViewCell.m delete mode 100755 Classes/Utils/InAppSettingsKit/Views/IASKPSTextFieldSpecifierViewCell.h delete mode 100755 Classes/Utils/InAppSettingsKit/Views/IASKPSTextFieldSpecifierViewCell.m delete mode 100755 Classes/Utils/InAppSettingsKit/Views/IASKSlider.h delete mode 100755 Classes/Utils/InAppSettingsKit/Views/IASKSlider.m delete mode 100755 Classes/Utils/InAppSettingsKit/Views/IASKSwitch.h delete mode 100755 Classes/Utils/InAppSettingsKit/Views/IASKSwitch.m delete mode 100755 Classes/Utils/InAppSettingsKit/Views/IASKTextField.h delete mode 100755 Classes/Utils/InAppSettingsKit/Views/IASKTextField.m delete mode 100644 Classes/Utils/Log.m delete mode 100644 Classes/Utils/OrderedDictionary.h delete mode 100644 Classes/Utils/OrderedDictionary.m delete mode 100755 Classes/Utils/TPKeyboardAvoiding/LICENSE.txt delete mode 100755 Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingCollectionView.h delete mode 100755 Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingCollectionView.m delete mode 100755 Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingScrollView.h delete mode 100755 Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingScrollView.m delete mode 100755 Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingTableView.h delete mode 100755 Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingTableView.m delete mode 100755 Classes/Utils/TPKeyboardAvoiding/UIScrollView+TPKeyboardAvoidingAdditions.h delete mode 100755 Classes/Utils/TPKeyboardAvoiding/UIScrollView+TPKeyboardAvoidingAdditions.m delete mode 100755 Classes/Utils/TPMultiLayoutViewController/TPMultiLayoutViewController.h delete mode 100755 Classes/Utils/TPMultiLayoutViewController/TPMultiLayoutViewController.m delete mode 100644 Classes/Utils/UIAlertView+Blocks/UIAlertView+Blocks.h delete mode 100644 Classes/Utils/UIAlertView+Blocks/UIAlertView+Blocks.m delete mode 100644 Classes/Utils/Utils.h delete mode 100644 Classes/Utils/Utils.m delete mode 100755 Classes/Utils/XMLRPC/XMLRPCConnectionDelegate.h delete mode 100644 Classes/Utils/XMLRPCHelper.h delete mode 100644 Classes/Utils/XMLRPCHelper.m delete mode 100644 Classes/ar.lproj/AboutView.strings delete mode 100644 Classes/ar.lproj/AssistantLinkView.strings delete mode 100644 Classes/ar.lproj/AssistantView.strings delete mode 100644 Classes/ar.lproj/AssistantViewScreens.strings delete mode 100644 Classes/ar.lproj/CallOutgoingView.strings delete mode 100644 Classes/ar.lproj/CallView~ipad.strings delete mode 100644 Classes/ar.lproj/ChatConversationCreateView.strings delete mode 100644 Classes/ar.lproj/ChatConversationImdnView.strings delete mode 100644 Classes/ar.lproj/ChatConversationInfoView.strings delete mode 100644 Classes/ar.lproj/ChatConversationView.strings delete mode 100644 Classes/ar.lproj/ChatsListView.strings delete mode 100644 Classes/ar.lproj/ContactDetailsView.strings delete mode 100644 Classes/ar.lproj/ContactsListView.strings delete mode 100644 Classes/ar.lproj/CountryListView.strings delete mode 100644 Classes/ar.lproj/DialerView.strings delete mode 100644 Classes/ar.lproj/DialerView~ipad.strings delete mode 100644 Classes/ar.lproj/FirstLoginView.strings delete mode 100644 Classes/ar.lproj/HistoryDetailsView.strings delete mode 100644 Classes/ar.lproj/HistoryListView.strings delete mode 100644 Classes/ar.lproj/ImageView.strings delete mode 100644 Classes/ar.lproj/SettingsView.strings delete mode 100644 Classes/ar.lproj/ShopView.strings delete mode 100644 Classes/ar.lproj/SideMenuView.strings delete mode 100644 Classes/ar.lproj/SideMenuView~ipad.strings delete mode 100644 Classes/cs.lproj/AboutView.strings delete mode 100644 Classes/cs.lproj/AssistantLinkView.strings delete mode 100644 Classes/cs.lproj/AssistantView.strings delete mode 100644 Classes/cs.lproj/AssistantViewScreens.strings delete mode 100644 Classes/cs.lproj/CallIncomingView.strings delete mode 100644 Classes/cs.lproj/CallOutgoingView.strings delete mode 100644 Classes/cs.lproj/CallView.strings delete mode 100644 Classes/cs.lproj/CallView~ipad.strings delete mode 100644 Classes/cs.lproj/ChatConversationCreateView.strings delete mode 100644 Classes/cs.lproj/ChatConversationImdnView.strings delete mode 100644 Classes/cs.lproj/ChatConversationInfoView.strings delete mode 100644 Classes/cs.lproj/ChatConversationView.strings delete mode 100644 Classes/cs.lproj/ContactDetailsView.strings delete mode 100644 Classes/cs.lproj/ContactsListView.strings delete mode 100644 Classes/cs.lproj/CountryListView.strings delete mode 100644 Classes/cs.lproj/DialerView.strings delete mode 100644 Classes/cs.lproj/DialerView~ipad.strings delete mode 100644 Classes/cs.lproj/FirstLoginView.strings delete mode 100644 Classes/cs.lproj/HistoryDetailsView.strings delete mode 100644 Classes/cs.lproj/SettingsView.strings delete mode 100644 Classes/cs.lproj/ShopView.strings delete mode 100644 Classes/cs.lproj/SideMenuView.strings delete mode 100644 Classes/de.lproj/AboutView.strings delete mode 100644 Classes/de.lproj/AssistantLinkView.strings delete mode 100644 Classes/de.lproj/AssistantView.strings delete mode 100644 Classes/de.lproj/AssistantViewScreens.strings delete mode 100644 Classes/de.lproj/AssistantViews.strings delete mode 100644 Classes/de.lproj/AssistantView~ipad.strings delete mode 100644 Classes/de.lproj/CallIncomingView.strings delete mode 100644 Classes/de.lproj/CallOutgoingView.strings delete mode 100644 Classes/de.lproj/CallView.strings delete mode 100644 Classes/de.lproj/CallView~ipad.strings delete mode 100644 Classes/de.lproj/ChatConversationCreateView.strings delete mode 100644 Classes/de.lproj/ChatConversationImdnView.strings delete mode 100644 Classes/de.lproj/ChatConversationInfoView.strings delete mode 100644 Classes/de.lproj/ChatConversationView.strings delete mode 100644 Classes/de.lproj/ChatRoomView.strings delete mode 100644 Classes/de.lproj/ChatView.strings delete mode 100644 Classes/de.lproj/ChatsListView.strings delete mode 100644 Classes/de.lproj/ContactDetailsView.strings delete mode 100644 Classes/de.lproj/ContactsListView.strings delete mode 100644 Classes/de.lproj/ContactsView.strings delete mode 100644 Classes/de.lproj/CountryListView.strings delete mode 100644 Classes/de.lproj/DialerView.strings delete mode 100644 Classes/de.lproj/DialerView~ipad.strings delete mode 100644 Classes/de.lproj/FirstLoginView.strings delete mode 100644 Classes/de.lproj/HistoryDetailsView.strings delete mode 100644 Classes/de.lproj/HistoryListView.strings delete mode 100644 Classes/de.lproj/HistoryView.strings delete mode 100644 Classes/de.lproj/ImageView.strings delete mode 100644 Classes/de.lproj/InCallView.strings delete mode 100644 Classes/de.lproj/IncomingCallView.strings delete mode 100644 Classes/de.lproj/IncomingCallView~ipad.strings delete mode 100644 Classes/de.lproj/SettingsView.strings delete mode 100644 Classes/de.lproj/ShopView.strings delete mode 100644 Classes/de.lproj/SideMenuView.strings delete mode 100644 Classes/de.lproj/SideMenuView~ipad.strings delete mode 100644 Classes/en.lproj/RecordingsListView.strings delete mode 100644 Classes/es.lproj/AboutView.strings delete mode 100644 Classes/es.lproj/AssistantLinkView.strings delete mode 100644 Classes/es.lproj/AssistantView.strings delete mode 100644 Classes/es.lproj/AssistantViewScreens.strings delete mode 100644 Classes/es.lproj/CallIncomingView.strings delete mode 100644 Classes/es.lproj/CallOutgoingView.strings delete mode 100644 Classes/es.lproj/CallView.strings delete mode 100644 Classes/es.lproj/CallView~ipad.strings delete mode 100644 Classes/es.lproj/ChatConversationCreateView.strings delete mode 100644 Classes/es.lproj/ChatConversationImdnView.strings delete mode 100644 Classes/es.lproj/ChatConversationInfoView.strings delete mode 100644 Classes/es.lproj/ChatConversationView.strings delete mode 100644 Classes/es.lproj/ChatsListView.strings delete mode 100644 Classes/es.lproj/ContactDetailsView.strings delete mode 100644 Classes/es.lproj/ContactsListView.strings delete mode 100644 Classes/es.lproj/CountryListView.strings delete mode 100644 Classes/es.lproj/DialerView.strings delete mode 100644 Classes/es.lproj/DialerView~ipad.strings delete mode 100644 Classes/es.lproj/FirstLoginView.strings delete mode 100644 Classes/es.lproj/HistoryDetailsView.strings delete mode 100644 Classes/es.lproj/HistoryListView.strings delete mode 100644 Classes/es.lproj/ImageView.strings delete mode 100644 Classes/es.lproj/SettingsView.strings delete mode 100644 Classes/es.lproj/ShopView.strings delete mode 100644 Classes/es.lproj/SideMenuView.strings delete mode 100644 Classes/es.lproj/SideMenuView~ipad.strings delete mode 100644 Classes/es_AR.lproj/AboutView.strings delete mode 100644 Classes/es_AR.lproj/AssistantLinkView.strings delete mode 100644 Classes/es_AR.lproj/AssistantView.strings delete mode 100644 Classes/es_AR.lproj/AssistantViewScreens.strings delete mode 100644 Classes/es_AR.lproj/CallIncomingView.strings delete mode 100644 Classes/es_AR.lproj/CallOutgoingView.strings delete mode 100644 Classes/es_AR.lproj/CallView.strings delete mode 100644 Classes/es_AR.lproj/CallView~ipad.strings delete mode 100644 Classes/es_AR.lproj/ChatConversationCreateView.strings delete mode 100644 Classes/es_AR.lproj/ChatConversationImdnView.strings delete mode 100644 Classes/es_AR.lproj/ChatConversationInfoView.strings delete mode 100644 Classes/es_AR.lproj/ChatConversationView.strings delete mode 100644 Classes/es_AR.lproj/ChatsListView.strings delete mode 100644 Classes/es_AR.lproj/ContactDetailsView.strings delete mode 100644 Classes/es_AR.lproj/ContactsListView.strings delete mode 100644 Classes/es_AR.lproj/CountryListView.strings delete mode 100644 Classes/es_AR.lproj/DialerView.strings delete mode 100644 Classes/es_AR.lproj/DialerView~ipad.strings delete mode 100644 Classes/es_AR.lproj/FirstLoginView.strings delete mode 100644 Classes/es_AR.lproj/HistoryDetailsView.strings delete mode 100644 Classes/es_AR.lproj/HistoryListView.strings delete mode 100644 Classes/es_AR.lproj/ImageView.strings delete mode 100644 Classes/es_AR.lproj/SettingsView.strings delete mode 100644 Classes/es_AR.lproj/ShopView.strings delete mode 100644 Classes/es_AR.lproj/SideMenuView.strings delete mode 100644 Classes/es_AR.lproj/SideMenuView~ipad.strings delete mode 100644 Classes/fr.lproj/AboutView.strings delete mode 100644 Classes/fr.lproj/AssistantLinkView.strings delete mode 100644 Classes/fr.lproj/AssistantView.strings delete mode 100644 Classes/fr.lproj/AssistantViewScreens.strings delete mode 100644 Classes/fr.lproj/ChatConversationCreateView.strings delete mode 100644 Classes/fr.lproj/ChatConversationImdnView.strings delete mode 100644 Classes/fr.lproj/ChatConversationInfoView.strings delete mode 100644 Classes/fr.lproj/ChatConversationView.strings delete mode 100644 Classes/fr.lproj/ChatsListView.strings delete mode 100644 Classes/fr.lproj/ContactDetailsView.strings delete mode 100644 Classes/fr.lproj/ContactsListView.strings delete mode 100644 Classes/fr.lproj/CountryListView.strings delete mode 100644 Classes/fr.lproj/DialerView.strings delete mode 100644 Classes/fr.lproj/DialerView~ipad.strings delete mode 100644 Classes/fr.lproj/FirstLoginView.strings delete mode 100644 Classes/fr.lproj/HistoryDetailsView.strings delete mode 100644 Classes/fr.lproj/HistoryListView.strings delete mode 100644 Classes/fr.lproj/ImageView.strings delete mode 100644 Classes/fr.lproj/PhoneMainView.strings delete mode 100644 Classes/fr.lproj/RecordingsListView.strings delete mode 100644 Classes/fr.lproj/SettingsView.strings delete mode 100644 Classes/fr.lproj/ShopView.strings delete mode 100644 Classes/fr.lproj/SideMenuView.strings delete mode 100644 Classes/fr.lproj/SideMenuView~ipad.strings delete mode 100644 Classes/he.lproj/AboutView.strings delete mode 100644 Classes/hu.lproj/AboutView.strings delete mode 100644 Classes/hu.lproj/AssistantLinkView.strings delete mode 100644 Classes/hu.lproj/AssistantView.strings delete mode 100644 Classes/hu.lproj/AssistantViewScreens.strings delete mode 100644 Classes/hu.lproj/ChatConversationCreateView.strings delete mode 100644 Classes/hu.lproj/ChatConversationImdnView.strings delete mode 100644 Classes/hu.lproj/ChatConversationInfoView.strings delete mode 100644 Classes/hu.lproj/ChatConversationView.strings delete mode 100644 Classes/hu.lproj/ChatsListView.strings delete mode 100644 Classes/hu.lproj/ContactDetailsView.strings delete mode 100644 Classes/hu.lproj/ContactsListView.strings delete mode 100644 Classes/hu.lproj/CountryListView.strings delete mode 100644 Classes/hu.lproj/DialerView.strings delete mode 100644 Classes/hu.lproj/DialerView~ipad.strings delete mode 100644 Classes/hu.lproj/FirstLoginView.strings delete mode 100644 Classes/hu.lproj/HistoryDetailsView.strings delete mode 100644 Classes/hu.lproj/HistoryListView.strings delete mode 100644 Classes/hu.lproj/ImageView.strings delete mode 100644 Classes/hu.lproj/PhoneMainView.strings delete mode 100644 Classes/hu.lproj/SettingsView.strings delete mode 100644 Classes/hu.lproj/ShopView.strings delete mode 100644 Classes/hu.lproj/SideMenuView.strings delete mode 100644 Classes/hu.lproj/SideMenuView~ipad.strings delete mode 100644 Classes/it.lproj/AboutView.strings delete mode 100644 Classes/it.lproj/AssistantLinkView.strings delete mode 100644 Classes/it.lproj/AssistantView.strings delete mode 100644 Classes/it.lproj/AssistantViewScreens.strings delete mode 100644 Classes/it.lproj/CallIncomingView.strings delete mode 100644 Classes/it.lproj/CallOutgoingView.strings delete mode 100644 Classes/it.lproj/CallView.strings delete mode 100644 Classes/it.lproj/CallView~ipad.strings delete mode 100644 Classes/it.lproj/ChatConversationCreateView.strings delete mode 100644 Classes/it.lproj/ChatConversationImdnView.strings delete mode 100644 Classes/it.lproj/ChatConversationInfoView.strings delete mode 100644 Classes/it.lproj/ChatConversationView.strings delete mode 100644 Classes/it.lproj/ChatsListView.strings delete mode 100644 Classes/it.lproj/ContactDetailsView.strings delete mode 100644 Classes/it.lproj/ContactsListView.strings delete mode 100644 Classes/it.lproj/CountryListView.strings delete mode 100644 Classes/it.lproj/DialerView.strings delete mode 100644 Classes/it.lproj/DialerView~ipad.strings delete mode 100644 Classes/it.lproj/FirstLoginView.strings delete mode 100644 Classes/it.lproj/HistoryDetailsView.strings delete mode 100644 Classes/it.lproj/HistoryListView.strings delete mode 100644 Classes/it.lproj/ImageView.strings delete mode 100644 Classes/it.lproj/SettingsView.strings delete mode 100644 Classes/it.lproj/ShopView.strings delete mode 100644 Classes/it.lproj/SideMenuView.strings delete mode 100644 Classes/it.lproj/SideMenuView~ipad.strings delete mode 100644 Classes/ja.lproj/AboutView.strings delete mode 100644 Classes/ja.lproj/AssistantLinkView.strings delete mode 100644 Classes/ja.lproj/AssistantView.strings delete mode 100644 Classes/ja.lproj/AssistantViewScreens.strings delete mode 100644 Classes/ja.lproj/AssistantViews.strings delete mode 100644 Classes/ja.lproj/AssistantView~ipad.strings delete mode 100644 Classes/ja.lproj/CallIncomingView.strings delete mode 100644 Classes/ja.lproj/CallOutgoingView.strings delete mode 100644 Classes/ja.lproj/CallView.strings delete mode 100644 Classes/ja.lproj/CallView~ipad.strings delete mode 100644 Classes/ja.lproj/ChatConversationCreateView.strings delete mode 100644 Classes/ja.lproj/ChatConversationImdnView.strings delete mode 100644 Classes/ja.lproj/ChatConversationInfoView.strings delete mode 100644 Classes/ja.lproj/ChatConversationView.strings delete mode 100644 Classes/ja.lproj/ChatRoomView.strings delete mode 100644 Classes/ja.lproj/ChatView.strings delete mode 100644 Classes/ja.lproj/ChatsListView.strings delete mode 100644 Classes/ja.lproj/ContactDetailsView.strings delete mode 100644 Classes/ja.lproj/ContactsListView.strings delete mode 100644 Classes/ja.lproj/ContactsView.strings delete mode 100644 Classes/ja.lproj/CountryListView.strings delete mode 100644 Classes/ja.lproj/DialerView.strings delete mode 100644 Classes/ja.lproj/DialerView~ipad.strings delete mode 100644 Classes/ja.lproj/FirstLoginView.strings delete mode 100644 Classes/ja.lproj/HistoryDetailsView.strings delete mode 100644 Classes/ja.lproj/HistoryListView.strings delete mode 100644 Classes/ja.lproj/HistoryView.strings delete mode 100644 Classes/ja.lproj/ImageView.strings delete mode 100644 Classes/ja.lproj/InCallView.strings delete mode 100644 Classes/ja.lproj/IncomingCallView.strings delete mode 100644 Classes/ja.lproj/IncomingCallView~ipad.strings delete mode 100644 Classes/ja.lproj/SettingsView.strings delete mode 100644 Classes/ja.lproj/ShopView.strings delete mode 100644 Classes/ja.lproj/SideMenuView.strings delete mode 100644 Classes/ja.lproj/SideMenuView~ipad.strings delete mode 100644 Classes/ka.lproj/AboutView.strings delete mode 100644 Classes/ka.lproj/AssistantLinkView.strings delete mode 100644 Classes/ka.lproj/AssistantView.strings delete mode 100644 Classes/ka.lproj/AssistantViewScreens.strings delete mode 100644 Classes/ka.lproj/CallIncomingView.strings delete mode 100644 Classes/ka.lproj/CallOutgoingView.strings delete mode 100644 Classes/ka.lproj/CallView.strings delete mode 100644 Classes/ka.lproj/CallView~ipad.strings delete mode 100644 Classes/ka.lproj/ChatConversationCreateView.strings delete mode 100644 Classes/ka.lproj/ChatConversationImdnView.strings delete mode 100644 Classes/ka.lproj/ChatConversationInfoView.strings delete mode 100644 Classes/ka.lproj/ChatConversationView.strings delete mode 100644 Classes/ka.lproj/ChatsListView.strings delete mode 100644 Classes/ka.lproj/ContactDetailsView.strings delete mode 100644 Classes/ka.lproj/ContactsListView.strings delete mode 100644 Classes/ka.lproj/CountryListView.strings delete mode 100644 Classes/ka.lproj/DialerView.strings delete mode 100644 Classes/ka.lproj/DialerView~ipad.strings delete mode 100644 Classes/ka.lproj/FirstLoginView.strings delete mode 100644 Classes/ka.lproj/HistoryDetailsView.strings delete mode 100644 Classes/ka.lproj/HistoryListView.strings delete mode 100644 Classes/ka.lproj/ImageView.strings delete mode 100644 Classes/ka.lproj/SettingsView.strings delete mode 100644 Classes/ka.lproj/ShopView.strings delete mode 100644 Classes/ka.lproj/SideMenuView.strings delete mode 100644 Classes/ka.lproj/SideMenuView~ipad.strings delete mode 100644 Classes/linphone-Bridging-Header.h delete mode 100644 Classes/nl.lproj/AboutView.strings delete mode 100644 Classes/nl.lproj/AssistantLinkView.strings delete mode 100644 Classes/nl.lproj/AssistantView.strings delete mode 100644 Classes/nl.lproj/AssistantViewScreens.strings delete mode 100644 Classes/nl.lproj/AssistantViews.strings delete mode 100644 Classes/nl.lproj/AssistantView~ipad.strings delete mode 100644 Classes/nl.lproj/CallIncomingView.strings delete mode 100644 Classes/nl.lproj/CallOutgoingView.strings delete mode 100644 Classes/nl.lproj/CallView.strings delete mode 100644 Classes/nl.lproj/CallView~ipad.strings delete mode 100644 Classes/nl.lproj/ChatConversationCreateView.strings delete mode 100644 Classes/nl.lproj/ChatConversationImdnView.strings delete mode 100644 Classes/nl.lproj/ChatConversationInfoView.strings delete mode 100644 Classes/nl.lproj/ChatConversationView.strings delete mode 100644 Classes/nl.lproj/ChatRoomView.strings delete mode 100644 Classes/nl.lproj/ChatView.strings delete mode 100644 Classes/nl.lproj/ChatsListView.strings delete mode 100644 Classes/nl.lproj/ContactDetailsView.strings delete mode 100644 Classes/nl.lproj/ContactsListView.strings delete mode 100644 Classes/nl.lproj/ContactsView.strings delete mode 100644 Classes/nl.lproj/CountryListView.strings delete mode 100644 Classes/nl.lproj/DialerView.strings delete mode 100644 Classes/nl.lproj/DialerView~ipad.strings delete mode 100644 Classes/nl.lproj/FirstLoginView.strings delete mode 100644 Classes/nl.lproj/HistoryDetailsView.strings delete mode 100644 Classes/nl.lproj/HistoryListView.strings delete mode 100644 Classes/nl.lproj/HistoryView.strings delete mode 100644 Classes/nl.lproj/ImageView.strings delete mode 100644 Classes/nl.lproj/InCallView.strings delete mode 100644 Classes/nl.lproj/IncomingCallView.strings delete mode 100644 Classes/nl.lproj/IncomingCallView~ipad.strings delete mode 100644 Classes/nl.lproj/SettingsView.strings delete mode 100644 Classes/nl.lproj/ShopView.strings delete mode 100644 Classes/pl.lproj/AboutView.strings delete mode 100644 Classes/pl.lproj/AssistantLinkView.strings delete mode 100644 Classes/pl.lproj/AssistantView.strings delete mode 100644 Classes/pl.lproj/AssistantViewScreens.strings delete mode 100644 Classes/pl.lproj/CallIncomingView.strings delete mode 100644 Classes/pl.lproj/CallOutgoingView.strings delete mode 100644 Classes/pl.lproj/CallView.strings delete mode 100644 Classes/pl.lproj/CallView~ipad.strings delete mode 100644 Classes/pl.lproj/ChatConversationCreateView.strings delete mode 100644 Classes/pl.lproj/ChatConversationImdnView.strings delete mode 100644 Classes/pl.lproj/ChatConversationInfoView.strings delete mode 100644 Classes/pl.lproj/ChatConversationView.strings delete mode 100644 Classes/pl.lproj/ChatsListView.strings delete mode 100644 Classes/pl.lproj/ContactDetailsView.strings delete mode 100644 Classes/pl.lproj/ContactsListView.strings delete mode 100644 Classes/pl.lproj/CountryListView.strings delete mode 100644 Classes/pl.lproj/DialerView.strings delete mode 100644 Classes/pl.lproj/DialerView~ipad.strings delete mode 100644 Classes/pl.lproj/FirstLoginView.strings delete mode 100644 Classes/pl.lproj/HistoryDetailsView.strings delete mode 100644 Classes/pl.lproj/HistoryListView.strings delete mode 100644 Classes/pl.lproj/ImageView.strings delete mode 100644 Classes/pl.lproj/SettingsView.strings delete mode 100644 Classes/pl.lproj/ShopView.strings delete mode 100644 Classes/pl.lproj/SideMenuView.strings delete mode 100644 Classes/pl.lproj/SideMenuView~ipad.strings delete mode 100644 Classes/pt_BR.lproj/AboutView.strings delete mode 100644 Classes/pt_BR.lproj/AssistantLinkView.strings delete mode 100644 Classes/pt_BR.lproj/AssistantView.strings delete mode 100644 Classes/pt_BR.lproj/AssistantViewScreens.strings delete mode 100644 Classes/pt_BR.lproj/CallIncomingView.strings delete mode 100644 Classes/pt_BR.lproj/CallOutgoingView.strings delete mode 100644 Classes/pt_BR.lproj/CallView.strings delete mode 100644 Classes/pt_BR.lproj/CallView~ipad.strings delete mode 100644 Classes/pt_BR.lproj/ChatConversationCreateView.strings delete mode 100644 Classes/pt_BR.lproj/ChatConversationImdnView.strings delete mode 100644 Classes/pt_BR.lproj/ChatConversationInfoView.strings delete mode 100644 Classes/pt_BR.lproj/ChatConversationView.strings delete mode 100644 Classes/pt_BR.lproj/ChatsListView.strings delete mode 100644 Classes/pt_BR.lproj/ContactDetailsView.strings delete mode 100644 Classes/pt_BR.lproj/ContactsListView.strings delete mode 100644 Classes/pt_BR.lproj/CountryListView.strings delete mode 100644 Classes/pt_BR.lproj/DialerView.strings delete mode 100644 Classes/pt_BR.lproj/DialerView~ipad.strings delete mode 100644 Classes/pt_BR.lproj/FirstLoginView.strings delete mode 100644 Classes/pt_BR.lproj/HistoryDetailsView.strings delete mode 100644 Classes/pt_BR.lproj/HistoryListView.strings delete mode 100644 Classes/pt_BR.lproj/ImageView.strings delete mode 100644 Classes/pt_BR.lproj/SettingsView.strings delete mode 100644 Classes/pt_BR.lproj/ShopView.strings delete mode 100644 Classes/pt_BR.lproj/SideMenuView.strings delete mode 100644 Classes/pt_BR.lproj/SideMenuView~ipad.strings delete mode 100644 Classes/ru.lproj/AboutView.strings delete mode 100644 Classes/ru.lproj/AssistantLinkView.strings delete mode 100644 Classes/ru.lproj/AssistantView.strings delete mode 100644 Classes/ru.lproj/AssistantViewScreens.strings delete mode 100644 Classes/ru.lproj/CallOutgoingView.strings delete mode 100644 Classes/ru.lproj/CallView~ipad.strings delete mode 100644 Classes/ru.lproj/ChatConversationCreateView.strings delete mode 100644 Classes/ru.lproj/ChatConversationImdnView.strings delete mode 100644 Classes/ru.lproj/ChatConversationInfoView.strings delete mode 100644 Classes/ru.lproj/ChatConversationView.strings delete mode 100644 Classes/ru.lproj/ChatsListView.strings delete mode 100644 Classes/ru.lproj/ContactDetailsView.strings delete mode 100644 Classes/ru.lproj/ContactsListView.strings delete mode 100644 Classes/ru.lproj/CountryListView.strings delete mode 100644 Classes/ru.lproj/DialerView.strings delete mode 100644 Classes/ru.lproj/DialerView~ipad.strings delete mode 100644 Classes/ru.lproj/FirstLoginView.strings delete mode 100644 Classes/ru.lproj/HistoryDetailsView.strings delete mode 100644 Classes/ru.lproj/HistoryListView.strings delete mode 100644 Classes/ru.lproj/ImageView.strings delete mode 100644 Classes/ru.lproj/SettingsView.strings delete mode 100644 Classes/ru.lproj/ShopView.strings delete mode 100644 Classes/ru.lproj/SideMenuView.strings delete mode 100644 Classes/ru.lproj/SideMenuView~ipad.strings delete mode 100644 Classes/sv.lproj/AboutView.strings delete mode 100644 Classes/sv.lproj/AssistantLinkView.strings delete mode 100644 Classes/sv.lproj/AssistantView.strings delete mode 100644 Classes/sv.lproj/AssistantViewScreens.strings delete mode 100644 Classes/sv.lproj/CallIncomingView.strings delete mode 100644 Classes/sv.lproj/CallOutgoingView.strings delete mode 100644 Classes/sv.lproj/CallView.strings delete mode 100644 Classes/sv.lproj/CallView~ipad.strings delete mode 100644 Classes/sv.lproj/ChatConversationCreateView.strings delete mode 100644 Classes/sv.lproj/ChatConversationImdnView.strings delete mode 100644 Classes/sv.lproj/ChatConversationInfoView.strings delete mode 100644 Classes/sv.lproj/ChatConversationView.strings delete mode 100644 Classes/sv.lproj/ChatsListView.strings delete mode 100644 Classes/sv.lproj/ContactDetailsView.strings delete mode 100644 Classes/sv.lproj/ContactsListView.strings delete mode 100644 Classes/sv.lproj/CountryListView.strings delete mode 100644 Classes/sv.lproj/DialerView.strings delete mode 100644 Classes/sv.lproj/DialerView~ipad.strings delete mode 100644 Classes/sv.lproj/FirstLoginView.strings delete mode 100644 Classes/sv.lproj/HistoryDetailsView.strings delete mode 100644 Classes/sv.lproj/HistoryListView.strings delete mode 100644 Classes/sv.lproj/ImageView.strings delete mode 100644 Classes/sv.lproj/SettingsView.strings delete mode 100644 Classes/sv.lproj/ShopView.strings delete mode 100644 Classes/sv.lproj/SideMenuView.strings delete mode 100644 Classes/sv.lproj/SideMenuView~ipad.strings delete mode 100644 Classes/tr.lproj/AboutView.strings delete mode 100644 Classes/tr.lproj/AssistantLinkView.strings delete mode 100644 Classes/tr.lproj/AssistantView.strings delete mode 100644 Classes/tr.lproj/AssistantViewScreens.strings delete mode 100644 Classes/tr.lproj/CallIncomingView.strings delete mode 100644 Classes/tr.lproj/CallOutgoingView.strings delete mode 100644 Classes/tr.lproj/CallView.strings delete mode 100644 Classes/tr.lproj/CallView~ipad.strings delete mode 100644 Classes/tr.lproj/ChatConversationCreateView.strings delete mode 100644 Classes/tr.lproj/ChatConversationImdnView.strings delete mode 100644 Classes/tr.lproj/ChatConversationInfoView.strings delete mode 100644 Classes/tr.lproj/ChatConversationView.strings delete mode 100644 Classes/tr.lproj/ChatsListView.strings delete mode 100644 Classes/tr.lproj/ContactDetailsView.strings delete mode 100644 Classes/tr.lproj/ContactsListView.strings delete mode 100644 Classes/tr.lproj/CountryListView.strings delete mode 100644 Classes/tr.lproj/DialerView.strings delete mode 100644 Classes/tr.lproj/DialerView~ipad.strings delete mode 100644 Classes/tr.lproj/FirstLoginView.strings delete mode 100644 Classes/tr.lproj/HistoryDetailsView.strings delete mode 100644 Classes/tr.lproj/HistoryListView.strings delete mode 100644 Classes/tr.lproj/ImageView.strings delete mode 100644 Classes/tr.lproj/SettingsView.strings delete mode 100644 Classes/tr.lproj/ShopView.strings delete mode 100644 Classes/tr.lproj/SideMenuView.strings delete mode 100644 Classes/tr.lproj/SideMenuView~ipad.strings delete mode 100644 Classes/uk.lproj/AboutView.strings delete mode 100644 Classes/uk.lproj/AssistantLinkView.strings delete mode 100644 Classes/uk.lproj/AssistantView.strings delete mode 100644 Classes/uk.lproj/AssistantViewScreens.strings delete mode 100644 Classes/uk.lproj/CallIncomingView.strings delete mode 100644 Classes/uk.lproj/CallOutgoingView.strings delete mode 100644 Classes/uk.lproj/CallView.strings delete mode 100644 Classes/uk.lproj/CallView~ipad.strings delete mode 100644 Classes/uk.lproj/ChatConversationCreateView.strings delete mode 100644 Classes/uk.lproj/ChatConversationImdnView.strings delete mode 100644 Classes/uk.lproj/ChatConversationInfoView.strings delete mode 100644 Classes/uk.lproj/ChatConversationView.strings delete mode 100644 Classes/uk.lproj/ChatsListView.strings delete mode 100644 Classes/uk.lproj/ContactDetailsView.strings delete mode 100644 Classes/uk.lproj/ContactsListView.strings delete mode 100644 Classes/uk.lproj/CountryListView.strings delete mode 100644 Classes/uk.lproj/DialerView.strings delete mode 100644 Classes/uk.lproj/DialerView~ipad.strings delete mode 100644 Classes/uk.lproj/FirstLoginView.strings delete mode 100644 Classes/uk.lproj/HistoryDetailsView.strings delete mode 100644 Classes/uk.lproj/HistoryListView.strings delete mode 100644 Classes/uk.lproj/ImageView.strings delete mode 100644 Classes/uk.lproj/SettingsView.strings delete mode 100644 Classes/uk.lproj/ShopView.strings delete mode 100644 Classes/uk.lproj/SideMenuView.strings delete mode 100644 Classes/uk.lproj/SideMenuView~ipad.strings delete mode 100644 Classes/zh_CN.lproj/AboutView.strings delete mode 100644 Classes/zh_CN.lproj/AssistantLinkView.strings delete mode 100644 Classes/zh_CN.lproj/AssistantView.strings delete mode 100644 Classes/zh_CN.lproj/AssistantViewScreens.strings delete mode 100644 Classes/zh_CN.lproj/CallIncomingView.strings delete mode 100644 Classes/zh_CN.lproj/CallOutgoingView.strings delete mode 100644 Classes/zh_CN.lproj/CallView.strings delete mode 100644 Classes/zh_CN.lproj/CallView~ipad.strings delete mode 100644 Classes/zh_CN.lproj/ChatConversationCreateView.strings delete mode 100644 Classes/zh_CN.lproj/ChatConversationImdnView.strings delete mode 100644 Classes/zh_CN.lproj/ChatConversationInfoView.strings delete mode 100644 Classes/zh_CN.lproj/ChatConversationView.strings delete mode 100644 Classes/zh_CN.lproj/ChatsListView.strings delete mode 100644 Classes/zh_CN.lproj/ContactDetailsView.strings delete mode 100644 Classes/zh_CN.lproj/ContactsListView.strings delete mode 100644 Classes/zh_CN.lproj/CountryListView.strings delete mode 100644 Classes/zh_CN.lproj/DialerView.strings delete mode 100644 Classes/zh_CN.lproj/DialerView~ipad.strings delete mode 100644 Classes/zh_CN.lproj/FirstLoginView.strings delete mode 100644 Classes/zh_CN.lproj/HistoryDetailsView.strings delete mode 100644 Classes/zh_CN.lproj/HistoryListView.strings delete mode 100644 Classes/zh_CN.lproj/ImageView.strings delete mode 100644 Classes/zh_CN.lproj/SettingsView.strings delete mode 100644 Classes/zh_CN.lproj/ShopView.strings delete mode 100644 Classes/zh_CN.lproj/SideMenuView.strings delete mode 100644 Classes/zh_CN.lproj/SideMenuView~ipad.strings delete mode 100644 Classes/zh_TW.lproj/AboutView.strings delete mode 100644 Classes/zh_TW.lproj/AssistantLinkView.strings delete mode 100644 Classes/zh_TW.lproj/AssistantView.strings delete mode 100644 Classes/zh_TW.lproj/AssistantViewScreens.strings delete mode 100644 Classes/zh_TW.lproj/AssistantViews.strings delete mode 100644 Classes/zh_TW.lproj/AssistantView~ipad.strings delete mode 100644 Classes/zh_TW.lproj/CallIncomingView.strings delete mode 100644 Classes/zh_TW.lproj/CallOutgoingView.strings delete mode 100644 Classes/zh_TW.lproj/CallView.strings delete mode 100644 Classes/zh_TW.lproj/CallView~ipad.strings delete mode 100644 Classes/zh_TW.lproj/ChatConversationCreateView.strings delete mode 100644 Classes/zh_TW.lproj/ChatConversationImdnView.strings delete mode 100644 Classes/zh_TW.lproj/ChatConversationInfoView.strings delete mode 100644 Classes/zh_TW.lproj/ChatConversationView.strings delete mode 100644 Classes/zh_TW.lproj/ChatRoomView.strings delete mode 100644 Classes/zh_TW.lproj/ChatView.strings delete mode 100644 Classes/zh_TW.lproj/ChatsListView.strings delete mode 100644 Classes/zh_TW.lproj/ContactDetailsView.strings delete mode 100644 Classes/zh_TW.lproj/ContactsListView.strings delete mode 100644 Classes/zh_TW.lproj/ContactsView.strings delete mode 100644 Classes/zh_TW.lproj/CountryListView.strings delete mode 100644 Classes/zh_TW.lproj/DialerView.strings delete mode 100644 Classes/zh_TW.lproj/DialerView~ipad.strings delete mode 100644 Classes/zh_TW.lproj/FirstLoginView.strings delete mode 100644 Classes/zh_TW.lproj/HistoryDetailsView.strings delete mode 100644 Classes/zh_TW.lproj/HistoryListView.strings delete mode 100644 Classes/zh_TW.lproj/HistoryView.strings delete mode 100644 Classes/zh_TW.lproj/ImageView.strings delete mode 100644 Classes/zh_TW.lproj/InCallView.strings delete mode 100644 Classes/zh_TW.lproj/IncomingCallView.strings delete mode 100644 Classes/zh_TW.lproj/IncomingCallView~ipad.strings delete mode 100644 Classes/zh_TW.lproj/SettingsView.strings delete mode 100644 Classes/zh_TW.lproj/ShopView.strings delete mode 100644 Classes/zh_TW.lproj/SideMenuView.strings delete mode 100644 Classes/zh_TW.lproj/SideMenuView~ipad.strings delete mode 100644 GoogleService-Info.plist delete mode 100644 LocalPushProvider/Info.plist delete mode 100644 LocalPushProvider/LocalPushProvider.entitlements delete mode 100644 LocalPushProvider/LocalPushProvider.swift delete mode 100644 Podfile delete mode 100644 Resources/Images.xcassets/AppIcon.appiconset/1024.png delete mode 100644 Resources/Images.xcassets/AppIcon.appiconset/120-1.png delete mode 100644 Resources/Images.xcassets/AppIcon.appiconset/120.png delete mode 100644 Resources/Images.xcassets/AppIcon.appiconset/152.png delete mode 100644 Resources/Images.xcassets/AppIcon.appiconset/167.png delete mode 100644 Resources/Images.xcassets/AppIcon.appiconset/180.png delete mode 100644 Resources/Images.xcassets/AppIcon.appiconset/20.png delete mode 100644 Resources/Images.xcassets/AppIcon.appiconset/29-1.png delete mode 100644 Resources/Images.xcassets/AppIcon.appiconset/29.png delete mode 100644 Resources/Images.xcassets/AppIcon.appiconset/40-1.png delete mode 100644 Resources/Images.xcassets/AppIcon.appiconset/40-2.png delete mode 100644 Resources/Images.xcassets/AppIcon.appiconset/40.png delete mode 100644 Resources/Images.xcassets/AppIcon.appiconset/58-1.png delete mode 100644 Resources/Images.xcassets/AppIcon.appiconset/58.png delete mode 100644 Resources/Images.xcassets/AppIcon.appiconset/60.png delete mode 100644 Resources/Images.xcassets/AppIcon.appiconset/76.png delete mode 100644 Resources/Images.xcassets/AppIcon.appiconset/80-1.png delete mode 100644 Resources/Images.xcassets/AppIcon.appiconset/80.png delete mode 100644 Resources/Images.xcassets/AppIcon.appiconset/87.png delete mode 100644 Resources/Images.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 Resources/Images.xcassets/Contents.json delete mode 100644 Resources/Images.xcassets/LaunchImage.launchimage/Contents.json delete mode 100644 Resources/ar.lproj/Localizable.strings delete mode 100644 Resources/assistant_external_sip.rc delete mode 100644 Resources/assistant_linphone_create.rc delete mode 100644 Resources/assistant_linphone_existing.rc delete mode 100644 Resources/assistant_remote.rc delete mode 100644 Resources/cs.lproj/Localizable.strings delete mode 100644 Resources/de.lproj/Localizable.strings delete mode 100644 Resources/en.lproj/Localizable.strings delete mode 100644 Resources/es.lproj/Localizable.strings delete mode 100644 Resources/es_AR.lproj/Localizable.strings delete mode 100644 Resources/fonts/Roboto-Bold.ttf delete mode 100644 Resources/fonts/Roboto-Italic.ttf delete mode 100644 Resources/fonts/Roboto-Regular.ttf delete mode 100644 Resources/fr.lproj/Localizable.strings delete mode 100644 Resources/hu.lproj/Localizable.strings delete mode 100644 Resources/images/add_field_default.png delete mode 100644 Resources/images/add_field_default@2x.png delete mode 100644 Resources/images/add_field_over.png delete mode 100644 Resources/images/add_field_over@2x.png delete mode 100644 Resources/images/avatar.png delete mode 100644 Resources/images/avatar@2x.png delete mode 100644 Resources/images/avatar~ipad.png delete mode 100644 Resources/images/avatar~ipad@2x.png delete mode 100644 Resources/images/back_default.png delete mode 100644 Resources/images/back_default@2x.png delete mode 100644 Resources/images/back_disabled.png delete mode 100644 Resources/images/back_disabled@2x.png delete mode 100644 Resources/images/backspace_default.png delete mode 100644 Resources/images/backspace_default@2x.png delete mode 100644 Resources/images/backspace_disabled.png delete mode 100644 Resources/images/backspace_disabled@2x.png delete mode 100644 Resources/images/backspace_over.png delete mode 100644 Resources/images/backspace_over@2x.png delete mode 100644 Resources/images/call_add_default.png delete mode 100644 Resources/images/call_add_default@2x.png delete mode 100644 Resources/images/call_add_disabled.png delete mode 100644 Resources/images/call_add_disabled@2x.png delete mode 100644 Resources/images/call_alt_back_default.png delete mode 100644 Resources/images/call_alt_back_default@2x.png delete mode 100644 Resources/images/call_alt_back_disabled.png delete mode 100644 Resources/images/call_alt_back_disabled@2x.png delete mode 100644 Resources/images/call_alt_start_default.png delete mode 100644 Resources/images/call_alt_start_default@2x.png delete mode 100644 Resources/images/call_alt_start_disabled.png delete mode 100644 Resources/images/call_alt_start_disabled@2x.png delete mode 100644 Resources/images/call_audio_start_default.png delete mode 100644 Resources/images/call_audio_start_default@2x.png delete mode 100644 Resources/images/call_audio_start_disabled.png delete mode 100644 Resources/images/call_audio_start_disabled@2x.png delete mode 100644 Resources/images/call_back_default.png delete mode 100644 Resources/images/call_back_default@2x.png delete mode 100644 Resources/images/call_back_disabled.png delete mode 100644 Resources/images/call_back_disabled@2x.png delete mode 100644 Resources/images/call_hangup_default.png delete mode 100644 Resources/images/call_hangup_default@2x.png delete mode 100644 Resources/images/call_hangup_disabled.png delete mode 100644 Resources/images/call_hangup_disabled@2x.png delete mode 100644 Resources/images/call_incoming.png delete mode 100644 Resources/images/call_incoming@2x.png delete mode 100644 Resources/images/call_missed.png delete mode 100644 Resources/images/call_missed@2x.png delete mode 100644 Resources/images/call_outgoing.png delete mode 100644 Resources/images/call_outgoing@2x.png delete mode 100644 Resources/images/call_quality_indicator_0.png delete mode 100644 Resources/images/call_quality_indicator_0@2x.png delete mode 100644 Resources/images/call_quality_indicator_1.png delete mode 100644 Resources/images/call_quality_indicator_1@2x.png delete mode 100644 Resources/images/call_quality_indicator_2.png delete mode 100644 Resources/images/call_quality_indicator_2@2x.png delete mode 100644 Resources/images/call_quality_indicator_3.png delete mode 100644 Resources/images/call_quality_indicator_3@2x.png delete mode 100644 Resources/images/call_quality_indicator_4.png delete mode 100644 Resources/images/call_quality_indicator_4@2x.png delete mode 100644 Resources/images/call_start_body_default.png delete mode 100644 Resources/images/call_start_body_default@2x.png delete mode 100644 Resources/images/call_start_body_default~ipad.png delete mode 100644 Resources/images/call_start_body_default~ipad@2x.png delete mode 100644 Resources/images/call_start_body_disabled.png delete mode 100644 Resources/images/call_start_body_disabled@2x.png delete mode 100644 Resources/images/call_start_body_disabled~ipad.png delete mode 100644 Resources/images/call_start_body_disabled~ipad@2x.png delete mode 100644 Resources/images/call_start_body_over.png delete mode 100644 Resources/images/call_start_body_over@2x.png delete mode 100644 Resources/images/call_start_body_over~ipad.png delete mode 100644 Resources/images/call_start_body_over~ipad@2x.png delete mode 100644 Resources/images/call_status_incoming.png delete mode 100644 Resources/images/call_status_incoming@2x.png delete mode 100644 Resources/images/call_status_incoming~ipad.png delete mode 100644 Resources/images/call_status_incoming~ipad@2x.png delete mode 100644 Resources/images/call_status_missed.png delete mode 100644 Resources/images/call_status_missed@2x.png delete mode 100644 Resources/images/call_status_missed~ipad.png delete mode 100644 Resources/images/call_status_missed~ipad@2x.png delete mode 100644 Resources/images/call_status_outgoing.png delete mode 100644 Resources/images/call_status_outgoing@2x.png delete mode 100644 Resources/images/call_status_outgoing~ipad.png delete mode 100644 Resources/images/call_status_outgoing~ipad@2x.png delete mode 100644 Resources/images/call_transfer_default.png delete mode 100644 Resources/images/call_transfer_default@2x.png delete mode 100644 Resources/images/call_transfer_disabled.png delete mode 100644 Resources/images/call_transfer_disabled@2x.png delete mode 100644 Resources/images/call_video_start_default.png delete mode 100644 Resources/images/call_video_start_default@2x.png delete mode 100644 Resources/images/call_video_start_disabled.png delete mode 100644 Resources/images/call_video_start_disabled@2x.png delete mode 100644 Resources/images/callkit_logo.png delete mode 100644 Resources/images/callkit_logo@2x.png delete mode 100644 Resources/images/camera_default.png delete mode 100644 Resources/images/camera_default@2x.png delete mode 100644 Resources/images/camera_disabled.png delete mode 100644 Resources/images/camera_disabled@2x.png delete mode 100644 Resources/images/camera_selected.png delete mode 100644 Resources/images/camera_selected@2x.png delete mode 100644 Resources/images/camera_switch_default.png delete mode 100644 Resources/images/camera_switch_default@2x.png delete mode 100644 Resources/images/camera_switch_disabled.png delete mode 100644 Resources/images/camera_switch_disabled@2x.png delete mode 100644 Resources/images/camera_switch_over.png delete mode 100644 Resources/images/camera_switch_over@2x.png delete mode 100644 Resources/images/cancel_edit_default.png delete mode 100644 Resources/images/cancel_edit_default@2x.png delete mode 100644 Resources/images/cancel_edit_disabled.png delete mode 100644 Resources/images/cancel_edit_disabled@2x.png delete mode 100644 Resources/images/cancel_forward.png delete mode 100644 Resources/images/chat_add_default.png delete mode 100644 Resources/images/chat_add_default@2x.png delete mode 100644 Resources/images/chat_add_disabled.png delete mode 100644 Resources/images/chat_add_disabled@2x.png delete mode 100644 Resources/images/chat_add_group.png delete mode 100644 Resources/images/chat_add_group@2x.png delete mode 100644 Resources/images/chat_attachment_default.png delete mode 100644 Resources/images/chat_attachment_default@2x.png delete mode 100644 Resources/images/chat_attachment_disabled.png delete mode 100644 Resources/images/chat_attachment_disabled@2x.png delete mode 100644 Resources/images/chat_attachment_over.png delete mode 100644 Resources/images/chat_attachment_over@2x.png delete mode 100644 Resources/images/chat_delivered.png delete mode 100644 Resources/images/chat_error.png delete mode 100644 Resources/images/chat_group_add.png delete mode 100644 Resources/images/chat_group_add@2x.png delete mode 100644 Resources/images/chat_group_avatar.png delete mode 100644 Resources/images/chat_group_avatar@2x.png delete mode 100644 Resources/images/chat_group_informations.png delete mode 100644 Resources/images/chat_group_informations@2x.png delete mode 100644 Resources/images/chat_list_indicator.png delete mode 100644 Resources/images/chat_list_indicator@2x.png delete mode 100644 Resources/images/chat_list_indicator~ipad.png delete mode 100644 Resources/images/chat_list_indicator~ipad@2x.png delete mode 100644 Resources/images/chat_message_not_delivered.png delete mode 100644 Resources/images/chat_message_not_delivered@2x.png delete mode 100644 Resources/images/chat_read.png delete mode 100644 Resources/images/chat_secure.png delete mode 100644 Resources/images/chat_send_default.png delete mode 100644 Resources/images/chat_send_default@2x.png delete mode 100644 Resources/images/chat_send_disabled.png delete mode 100644 Resources/images/chat_send_disabled@2x.png delete mode 100644 Resources/images/chat_send_over.png delete mode 100644 Resources/images/chat_send_over@2x.png delete mode 100644 Resources/images/chat_start_body_default.png delete mode 100644 Resources/images/chat_start_body_default@2x.png delete mode 100644 Resources/images/chat_start_body_default~ipad.png delete mode 100644 Resources/images/chat_start_body_default~ipad@2x.png delete mode 100644 Resources/images/chat_start_body_disabled.png delete mode 100644 Resources/images/chat_start_body_disabled@2x.png delete mode 100644 Resources/images/chat_start_body_disabled~ipad.png delete mode 100644 Resources/images/chat_start_body_disabled~ipad@2x.png delete mode 100644 Resources/images/chat_start_body_over.png delete mode 100644 Resources/images/chat_start_body_over@2x.png delete mode 100644 Resources/images/chat_start_body_over~ipad.png delete mode 100644 Resources/images/chat_start_body_over~ipad@2x.png delete mode 100644 Resources/images/chat_unsecure.png delete mode 100644 Resources/images/check_selected.png delete mode 100644 Resources/images/check_selected@2x.png delete mode 100644 Resources/images/check_unselected.png delete mode 100644 Resources/images/check_unselected@2x.png delete mode 100644 Resources/images/checkbox_checked.png delete mode 100644 Resources/images/checkbox_checked@2x.png delete mode 100644 Resources/images/checkbox_unchecked.png delete mode 100644 Resources/images/checkbox_unchecked@2x.png delete mode 100644 Resources/images/chevron_list_close.png delete mode 100644 Resources/images/chevron_list_close@2x.png delete mode 100644 Resources/images/chevron_list_open.png delete mode 100644 Resources/images/chevron_list_open@2x.png delete mode 100644 Resources/images/color_A.png delete mode 100644 Resources/images/color_C.png delete mode 100644 Resources/images/color_D.png delete mode 100644 Resources/images/color_E.png delete mode 100644 Resources/images/color_F.png delete mode 100644 Resources/images/color_G.png delete mode 100644 Resources/images/color_H.png delete mode 100644 Resources/images/color_I.png delete mode 100644 Resources/images/color_L.png delete mode 100644 Resources/images/color_M.png delete mode 100644 Resources/images/conference_delete.png delete mode 100644 Resources/images/conference_delete@2x.png delete mode 100644 Resources/images/conference_exit_default.png delete mode 100644 Resources/images/conference_exit_default@2x.png delete mode 100644 Resources/images/conference_exit_over.png delete mode 100644 Resources/images/conference_exit_over@2x.png delete mode 100644 Resources/images/conference_schedule_calendar_default.png delete mode 100644 Resources/images/conference_schedule_participants_default.png delete mode 100644 Resources/images/conference_schedule_time_default.png delete mode 100644 Resources/images/contact_add_default.png delete mode 100644 Resources/images/contact_add_default@2x.png delete mode 100644 Resources/images/contact_add_disabled.png delete mode 100644 Resources/images/contact_add_disabled@2x.png delete mode 100644 Resources/images/contacts_all_default.png delete mode 100644 Resources/images/contacts_all_default@2x.png delete mode 100644 Resources/images/contacts_all_disabled.png delete mode 100644 Resources/images/contacts_all_disabled@2x.png delete mode 100644 Resources/images/contacts_all_selected.png delete mode 100644 Resources/images/contacts_all_selected@2x.png delete mode 100644 Resources/images/contacts_sip_default.png delete mode 100644 Resources/images/contacts_sip_default@2x.png delete mode 100644 Resources/images/contacts_sip_selected.png delete mode 100644 Resources/images/contacts_sip_selected@2x.png delete mode 100644 Resources/images/delete_default.png delete mode 100644 Resources/images/delete_default@2x.png delete mode 100644 Resources/images/delete_disabled.png delete mode 100644 Resources/images/delete_disabled@2x.png delete mode 100644 Resources/images/delete_field_default.png delete mode 100644 Resources/images/delete_field_default@2x.png delete mode 100644 Resources/images/delete_field_over.png delete mode 100644 Resources/images/delete_field_over@2x.png delete mode 100644 Resources/images/delete_img.png delete mode 100644 Resources/images/deselect_all.png delete mode 100644 Resources/images/deselect_all@2x.png delete mode 100644 Resources/images/dialer_alt_back.png delete mode 100644 Resources/images/dialer_alt_back@2x.png delete mode 100644 Resources/images/dialer_back_default.png delete mode 100644 Resources/images/dialer_back_default@2x.png delete mode 100644 Resources/images/dialer_back_disabled.png delete mode 100644 Resources/images/dialer_back_disabled@2x.png delete mode 100644 Resources/images/dialer_background.png delete mode 100644 Resources/images/edit_default.png delete mode 100644 Resources/images/edit_default@2x.png delete mode 100644 Resources/images/edit_disabled.png delete mode 100644 Resources/images/edit_disabled@2x.png delete mode 100644 Resources/images/edit_list_default.png delete mode 100644 Resources/images/edit_list_default@2x.png delete mode 100644 Resources/images/edit_list_disabled.png delete mode 100644 Resources/images/edit_list_disabled@2x.png delete mode 100644 Resources/images/emoji.png delete mode 100644 Resources/images/ephemeral_messages_color_A.png delete mode 100644 Resources/images/ephemeral_messages_default.png delete mode 100644 Resources/images/file_audio_default.png delete mode 100644 Resources/images/file_default.png delete mode 100644 Resources/images/file_pdf_default.png delete mode 100644 Resources/images/file_picture_default.png delete mode 100644 Resources/images/file_video_default.png delete mode 100644 Resources/images/file_voice_default.png delete mode 100644 Resources/images/footer_chat_default.png delete mode 100644 Resources/images/footer_chat_default@2x.png delete mode 100644 Resources/images/footer_chat_disabled.png delete mode 100644 Resources/images/footer_chat_disabled@2x.png delete mode 100644 Resources/images/footer_contacts_default.png delete mode 100644 Resources/images/footer_contacts_default@2x.png delete mode 100644 Resources/images/footer_contacts_disabled.png delete mode 100644 Resources/images/footer_contacts_disabled@2x.png delete mode 100644 Resources/images/footer_dialer_default.png delete mode 100644 Resources/images/footer_dialer_default@2x.png delete mode 100644 Resources/images/footer_dialer_disabled.png delete mode 100644 Resources/images/footer_dialer_disabled@2x.png delete mode 100644 Resources/images/footer_history_default.png delete mode 100644 Resources/images/footer_history_default@2x.png delete mode 100644 Resources/images/footer_history_disabled.png delete mode 100644 Resources/images/footer_history_disabled@2x.png delete mode 100644 Resources/images/forward_message_default.png delete mode 100644 Resources/images/history_all_default.png delete mode 100644 Resources/images/history_all_default@2x.png delete mode 100644 Resources/images/history_all_disabled.png delete mode 100644 Resources/images/history_all_disabled@2x.png delete mode 100644 Resources/images/history_all_selected.png delete mode 100644 Resources/images/history_all_selected@2x.png delete mode 100644 Resources/images/history_chat_indicator.png delete mode 100644 Resources/images/history_chat_indicator@2x.png delete mode 100644 Resources/images/history_missed_default.png delete mode 100644 Resources/images/history_missed_default@2x.png delete mode 100644 Resources/images/history_missed_disabled.png delete mode 100644 Resources/images/history_missed_disabled@2x.png delete mode 100644 Resources/images/history_missed_selected.png delete mode 100644 Resources/images/history_missed_selected@2x.png delete mode 100644 Resources/images/invite_linphone.png delete mode 100644 Resources/images/invite_linphone@2x.png delete mode 100644 Resources/images/led_connected.png delete mode 100644 Resources/images/led_connected@2x.png delete mode 100644 Resources/images/led_disconnected.png delete mode 100644 Resources/images/led_disconnected@2x.png delete mode 100644 Resources/images/led_error.png delete mode 100644 Resources/images/led_error@2x.png delete mode 100644 Resources/images/led_inprogress.png delete mode 100644 Resources/images/led_inprogress@2x.png delete mode 100644 Resources/images/lime_ko.png delete mode 100644 Resources/images/lime_ko@2x.png delete mode 100644 Resources/images/linphone_logo.png delete mode 100644 Resources/images/linphone_logo@2x.png delete mode 100644 Resources/images/linphone_user.png delete mode 100644 Resources/images/linphone_user@2x.png delete mode 100644 Resources/images/linphone_user~ipad.png delete mode 100644 Resources/images/linphone_user~ipad@2x.png delete mode 100644 Resources/images/list_details_default.png delete mode 100644 Resources/images/list_details_default@2x.png delete mode 100644 Resources/images/list_details_over.png delete mode 100644 Resources/images/list_details_over@2x.png delete mode 100644 Resources/images/menu.png delete mode 100644 Resources/images/menu@2x.png delete mode 100644 Resources/images/menu_about.png delete mode 100644 Resources/images/menu_about@2x.png delete mode 100644 Resources/images/menu_assistant.png delete mode 100644 Resources/images/menu_assistant@2x.png delete mode 100644 Resources/images/menu_copy_text_default.png delete mode 100644 Resources/images/menu_delete.png delete mode 100644 Resources/images/menu_forward_default.png delete mode 100644 Resources/images/menu_info.png delete mode 100644 Resources/images/menu_link_account.png delete mode 100644 Resources/images/menu_link_account@2x.png delete mode 100644 Resources/images/menu_notifications_off.png delete mode 100644 Resources/images/menu_notifications_on.png delete mode 100644 Resources/images/menu_options.png delete mode 100644 Resources/images/menu_options@2x.png delete mode 100644 Resources/images/menu_recordings.png delete mode 100644 Resources/images/menu_recordings@2x.png delete mode 100644 Resources/images/menu_reply_default.png delete mode 100644 Resources/images/menu_resend_default.png delete mode 100644 Resources/images/menu_security_default.png delete mode 100644 Resources/images/menu_voip_meeting_schedule.png delete mode 100644 Resources/images/micro_default.png delete mode 100644 Resources/images/micro_default@2x.png delete mode 100644 Resources/images/micro_disabled.png delete mode 100644 Resources/images/micro_disabled@2x.png delete mode 100644 Resources/images/micro_selected.png delete mode 100644 Resources/images/micro_selected@2x.png delete mode 100644 Resources/images/more_menu_default.png delete mode 100644 Resources/images/new_chat_attachment_default.png delete mode 100644 Resources/images/new_chat_send_default.png delete mode 100644 Resources/images/new_vr_off.png delete mode 100644 Resources/images/next_default.png delete mode 100644 Resources/images/next_default@2x.png delete mode 100644 Resources/images/next_disabled.png delete mode 100644 Resources/images/next_disabled@2x.png delete mode 100644 Resources/images/nowebcamCIF.jpg delete mode 100644 Resources/images/numpad_0_default.png delete mode 100644 Resources/images/numpad_0_default@2x.png delete mode 100644 Resources/images/numpad_0_over.png delete mode 100644 Resources/images/numpad_0_over@2x.png delete mode 100644 Resources/images/numpad_0_over~ipad.png delete mode 100644 Resources/images/numpad_0_over~ipad@2x.png delete mode 100644 Resources/images/numpad_0~ipad.png delete mode 100644 Resources/images/numpad_0~ipad@2x.png delete mode 100644 Resources/images/numpad_1_default.png delete mode 100644 Resources/images/numpad_1_default@2x.png delete mode 100644 Resources/images/numpad_1_over.png delete mode 100644 Resources/images/numpad_1_over@2x.png delete mode 100644 Resources/images/numpad_1_over~ipad.png delete mode 100644 Resources/images/numpad_1_over~ipad@2x.png delete mode 100644 Resources/images/numpad_1~ipad.png delete mode 100644 Resources/images/numpad_1~ipad@2x.png delete mode 100644 Resources/images/numpad_2_default.png delete mode 100644 Resources/images/numpad_2_default@2x.png delete mode 100644 Resources/images/numpad_2_over.png delete mode 100644 Resources/images/numpad_2_over@2x.png delete mode 100644 Resources/images/numpad_2_over~ipad.png delete mode 100644 Resources/images/numpad_2_over~ipad@2x.png delete mode 100644 Resources/images/numpad_2~ipad.png delete mode 100644 Resources/images/numpad_2~ipad@2x.png delete mode 100644 Resources/images/numpad_3_default.png delete mode 100644 Resources/images/numpad_3_default@2x.png delete mode 100644 Resources/images/numpad_3_over.png delete mode 100644 Resources/images/numpad_3_over@2x.png delete mode 100644 Resources/images/numpad_3_over~ipad.png delete mode 100644 Resources/images/numpad_3_over~ipad@2x.png delete mode 100644 Resources/images/numpad_3~ipad.png delete mode 100644 Resources/images/numpad_3~ipad@2x.png delete mode 100644 Resources/images/numpad_4_default.png delete mode 100644 Resources/images/numpad_4_default@2x.png delete mode 100644 Resources/images/numpad_4_over.png delete mode 100644 Resources/images/numpad_4_over@2x.png delete mode 100644 Resources/images/numpad_4_over~ipad.png delete mode 100644 Resources/images/numpad_4_over~ipad@2x.png delete mode 100644 Resources/images/numpad_4~ipad.png delete mode 100644 Resources/images/numpad_4~ipad@2x.png delete mode 100644 Resources/images/numpad_5_default.png delete mode 100644 Resources/images/numpad_5_default@2x.png delete mode 100644 Resources/images/numpad_5_over.png delete mode 100644 Resources/images/numpad_5_over@2x.png delete mode 100644 Resources/images/numpad_5_over~ipad.png delete mode 100644 Resources/images/numpad_5_over~ipad@2x.png delete mode 100644 Resources/images/numpad_5~ipad.png delete mode 100644 Resources/images/numpad_5~ipad@2x.png delete mode 100644 Resources/images/numpad_6_default.png delete mode 100644 Resources/images/numpad_6_default@2x.png delete mode 100644 Resources/images/numpad_6_over.png delete mode 100644 Resources/images/numpad_6_over@2x.png delete mode 100644 Resources/images/numpad_6_over~ipad.png delete mode 100644 Resources/images/numpad_6_over~ipad@2x.png delete mode 100644 Resources/images/numpad_6~ipad.png delete mode 100644 Resources/images/numpad_6~ipad@2x.png delete mode 100644 Resources/images/numpad_7_default.png delete mode 100644 Resources/images/numpad_7_default@2x.png delete mode 100644 Resources/images/numpad_7_over.png delete mode 100644 Resources/images/numpad_7_over@2x.png delete mode 100644 Resources/images/numpad_7_over~ipad.png delete mode 100644 Resources/images/numpad_7_over~ipad@2x.png delete mode 100644 Resources/images/numpad_7~ipad.png delete mode 100644 Resources/images/numpad_7~ipad@2x.png delete mode 100644 Resources/images/numpad_8_default.png delete mode 100644 Resources/images/numpad_8_default@2x.png delete mode 100644 Resources/images/numpad_8_over.png delete mode 100644 Resources/images/numpad_8_over@2x.png delete mode 100644 Resources/images/numpad_8_over~ipad.png delete mode 100644 Resources/images/numpad_8_over~ipad@2x.png delete mode 100644 Resources/images/numpad_8~ipad.png delete mode 100644 Resources/images/numpad_8~ipad@2x.png delete mode 100644 Resources/images/numpad_9_default.png delete mode 100644 Resources/images/numpad_9_default@2x.png delete mode 100644 Resources/images/numpad_9_over.png delete mode 100644 Resources/images/numpad_9_over@2x.png delete mode 100644 Resources/images/numpad_9_over~ipad.png delete mode 100644 Resources/images/numpad_9_over~ipad@2x.png delete mode 100644 Resources/images/numpad_9~ipad.png delete mode 100644 Resources/images/numpad_9~ipad@2x.png delete mode 100644 Resources/images/numpad_hash_default.png delete mode 100644 Resources/images/numpad_hash_default@2x.png delete mode 100644 Resources/images/numpad_hash_over.png delete mode 100644 Resources/images/numpad_hash_over@2x.png delete mode 100644 Resources/images/numpad_hash_over~ipad.png delete mode 100644 Resources/images/numpad_hash_over~ipad@2x.png delete mode 100644 Resources/images/numpad_hash~ipad.png delete mode 100644 Resources/images/numpad_hash~ipad@2x.png delete mode 100644 Resources/images/numpad_over_background.png delete mode 100644 Resources/images/numpad_star_default.png delete mode 100644 Resources/images/numpad_star_default@2x.png delete mode 100644 Resources/images/numpad_star_over.png delete mode 100644 Resources/images/numpad_star_over@2x.png delete mode 100644 Resources/images/numpad_star_over~ipad.png delete mode 100644 Resources/images/numpad_star_over~ipad@2x.png delete mode 100644 Resources/images/numpad_star~ipad.png delete mode 100644 Resources/images/numpad_star~ipad@2x.png delete mode 100644 Resources/images/options_add_call_default.png delete mode 100644 Resources/images/options_add_call_default@2x.png delete mode 100644 Resources/images/options_add_call_disabled.png delete mode 100644 Resources/images/options_add_call_disabled@2x.png delete mode 100644 Resources/images/options_default.png delete mode 100644 Resources/images/options_default@2x.png delete mode 100644 Resources/images/options_disabled.png delete mode 100644 Resources/images/options_disabled@2x.png delete mode 100644 Resources/images/options_selected.png delete mode 100644 Resources/images/options_selected@2x.png delete mode 100644 Resources/images/options_start_conference_default.png delete mode 100644 Resources/images/options_start_conference_default@2x.png delete mode 100644 Resources/images/options_start_conference_disabled.png delete mode 100644 Resources/images/options_start_conference_disabled@2x.png delete mode 100644 Resources/images/options_transfer_call_default.png delete mode 100644 Resources/images/options_transfer_call_default@2x.png delete mode 100644 Resources/images/options_transfer_call_disabled.png delete mode 100644 Resources/images/options_transfer_call_disabled@2x.png delete mode 100644 Resources/images/pause_big_default.png delete mode 100644 Resources/images/pause_big_default@2x.png delete mode 100644 Resources/images/pause_big_disabled.png delete mode 100644 Resources/images/pause_big_disabled@2x.png delete mode 100644 Resources/images/pause_big_over_selected.png delete mode 100644 Resources/images/pause_big_over_selected@2x.png delete mode 100644 Resources/images/pause_small_default.png delete mode 100644 Resources/images/pause_small_default@2x.png delete mode 100644 Resources/images/pause_small_disabled.png delete mode 100644 Resources/images/pause_small_disabled@2x.png delete mode 100644 Resources/images/pause_small_over_selected.png delete mode 100644 Resources/images/pause_small_over_selected@2x.png delete mode 100644 Resources/images/post_quantum_secure@3x.png delete mode 100644 Resources/images/presence_away.png delete mode 100644 Resources/images/presence_away@2x.png delete mode 100644 Resources/images/presence_offline.png delete mode 100644 Resources/images/presence_offline@2x.png delete mode 100644 Resources/images/presence_online.png delete mode 100644 Resources/images/presence_online@2x.png delete mode 100644 Resources/images/presence_unregistered.png delete mode 100644 Resources/images/presence_unregistered@2x.png delete mode 100644 Resources/images/rec_off_default.png delete mode 100644 Resources/images/rec_off_default@2x.png delete mode 100644 Resources/images/rec_on_default.png delete mode 100644 Resources/images/rec_on_default@2x.png delete mode 100644 Resources/images/recording.png delete mode 100644 Resources/images/recording@2x.png delete mode 100644 Resources/images/reply_cancel.png delete mode 100644 Resources/images/route_bluetooth_default.png delete mode 100644 Resources/images/route_bluetooth_default@2x.png delete mode 100644 Resources/images/route_bluetooth_disabled.png delete mode 100644 Resources/images/route_bluetooth_disabled@2x.png delete mode 100644 Resources/images/route_bluetooth_selected.png delete mode 100644 Resources/images/route_bluetooth_selected@2x.png delete mode 100644 Resources/images/route_earpiece_default.png delete mode 100644 Resources/images/route_earpiece_default@2x.png delete mode 100644 Resources/images/route_earpiece_disabled.png delete mode 100644 Resources/images/route_earpiece_disabled@2x.png delete mode 100644 Resources/images/route_earpiece_selected.png delete mode 100644 Resources/images/route_earpiece_selected@2x.png delete mode 100644 Resources/images/route_speaker_default.png delete mode 100644 Resources/images/route_speaker_default@2x.png delete mode 100644 Resources/images/route_speaker_disabled.png delete mode 100644 Resources/images/route_speaker_disabled@2x.png delete mode 100644 Resources/images/route_speaker_selected.png delete mode 100644 Resources/images/route_speaker_selected@2x.png delete mode 100644 Resources/images/routes_default.png delete mode 100644 Resources/images/routes_default@2x.png delete mode 100644 Resources/images/routes_disabled.png delete mode 100644 Resources/images/routes_disabled@2x.png delete mode 100644 Resources/images/routes_selected.png delete mode 100644 Resources/images/routes_selected@2x.png delete mode 100644 Resources/images/scroll_to_bottom_default.png delete mode 100644 Resources/images/security_1_indicator.png delete mode 100644 Resources/images/security_1_indicator@2x.png delete mode 100644 Resources/images/security_2_indicator.png delete mode 100644 Resources/images/security_2_indicator@2x.png delete mode 100644 Resources/images/security_alert_indicator.png delete mode 100644 Resources/images/security_alert_indicator@2x.png delete mode 100644 Resources/images/security_ko.png delete mode 100644 Resources/images/security_ko@2x.png delete mode 100644 Resources/images/security_ok.png delete mode 100644 Resources/images/security_ok@2x.png delete mode 100644 Resources/images/security_pending.png delete mode 100644 Resources/images/security_pending@2x.png delete mode 100644 Resources/images/security_toogle_background_green.png delete mode 100644 Resources/images/security_toogle_background_green@2x.png delete mode 100644 Resources/images/security_toogle_background_grey.png delete mode 100644 Resources/images/security_toogle_background_grey@2x.png delete mode 100644 Resources/images/security_toogle_button.png delete mode 100644 Resources/images/security_toogle_button@2x.png delete mode 100644 Resources/images/security_toogle_icon_green.png delete mode 100644 Resources/images/security_toogle_icon_green@2x.png delete mode 100644 Resources/images/security_toogle_icon_grey.png delete mode 100644 Resources/images/security_toogle_icon_grey@2x.png delete mode 100644 Resources/images/select_all_default.png delete mode 100644 Resources/images/select_all_default@2x.png delete mode 100644 Resources/images/select_all_disabled.png delete mode 100644 Resources/images/select_all_disabled@2x.png delete mode 100644 Resources/images/side_menu_voip_meeting_schedule.png delete mode 100644 Resources/images/side_menu_voip_meeting_schedule@2x.png delete mode 100644 Resources/images/speaker_default.png delete mode 100644 Resources/images/speaker_default@2x.png delete mode 100644 Resources/images/speaker_disabled.png delete mode 100644 Resources/images/speaker_disabled@2x.png delete mode 100644 Resources/images/speaker_selected.png delete mode 100644 Resources/images/speaker_selected@2x.png delete mode 100644 Resources/images/splashscreen.png delete mode 100644 Resources/images/splashscreen@2x.png delete mode 100644 Resources/images/valid_default.png delete mode 100644 Resources/images/valid_default@2x.png delete mode 100644 Resources/images/valid_disabled.png delete mode 100644 Resources/images/valid_disabled@2x.png delete mode 100644 Resources/images/voicemail.png delete mode 100644 Resources/images/voicemail@2x.png delete mode 100644 Resources/images/voip_audio_routes.png delete mode 100644 Resources/images/voip_bluetooth.png delete mode 100644 Resources/images/voip_call.png delete mode 100644 Resources/images/voip_call_add.png delete mode 100644 Resources/images/voip_call_chat.png delete mode 100644 Resources/images/voip_call_forward.png delete mode 100644 Resources/images/voip_call_header_active.png delete mode 100644 Resources/images/voip_call_header_incoming.png delete mode 100644 Resources/images/voip_call_header_outgoing.png delete mode 100644 Resources/images/voip_call_header_paused.png delete mode 100644 Resources/images/voip_call_list_menu.png delete mode 100644 Resources/images/voip_call_more.png delete mode 100644 Resources/images/voip_call_numpad.png delete mode 100644 Resources/images/voip_call_participants.png delete mode 100644 Resources/images/voip_call_record.png delete mode 100644 Resources/images/voip_call_stats.png delete mode 100644 Resources/images/voip_calls_list.png delete mode 100644 Resources/images/voip_camera_off.png delete mode 100644 Resources/images/voip_camera_on.png delete mode 100644 Resources/images/voip_cancel.png delete mode 100644 Resources/images/voip_change_camera.png delete mode 100644 Resources/images/voip_chat_rooms_list.png delete mode 100644 Resources/images/voip_checkbox_checked.png delete mode 100644 Resources/images/voip_checkbox_unchecked.png delete mode 100644 Resources/images/voip_conference_active_speaker.png delete mode 100644 Resources/images/voip_conference_audio_only.png delete mode 100644 Resources/images/voip_conference_mosaic.png delete mode 100644 Resources/images/voip_conference_new.png delete mode 100644 Resources/images/voip_conference_new_selected.png delete mode 100644 Resources/images/voip_conference_paused_big.png delete mode 100644 Resources/images/voip_conference_play_big.png delete mode 100644 Resources/images/voip_copy.png delete mode 100644 Resources/images/voip_delete.png delete mode 100644 Resources/images/voip_dropdown.png delete mode 100644 Resources/images/voip_earpiece.png delete mode 100644 Resources/images/voip_edit.png delete mode 100644 Resources/images/voip_export.png delete mode 100644 Resources/images/voip_hangup.png delete mode 100644 Resources/images/voip_info.png delete mode 100644 Resources/images/voip_mandatory.png delete mode 100644 Resources/images/voip_meeting_schedule.png delete mode 100644 Resources/images/voip_menu_more.png delete mode 100644 Resources/images/voip_merge_calls.png delete mode 100644 Resources/images/voip_micro_off.png delete mode 100644 Resources/images/voip_micro_on.png delete mode 100644 Resources/images/voip_multiple_contacts_avatar.png delete mode 100644 Resources/images/voip_numpad_0.png delete mode 100644 Resources/images/voip_numpad_1.png delete mode 100644 Resources/images/voip_numpad_2.png delete mode 100644 Resources/images/voip_numpad_3.png delete mode 100644 Resources/images/voip_numpad_4.png delete mode 100644 Resources/images/voip_numpad_5.png delete mode 100644 Resources/images/voip_numpad_6.png delete mode 100644 Resources/images/voip_numpad_7.png delete mode 100644 Resources/images/voip_numpad_8.png delete mode 100644 Resources/images/voip_numpad_9.png delete mode 100644 Resources/images/voip_numpad_hash.png delete mode 100644 Resources/images/voip_numpad_star.png delete mode 100644 Resources/images/voip_pause.png delete mode 100644 Resources/images/voip_radio_off.png delete mode 100644 Resources/images/voip_radio_on.png delete mode 100644 Resources/images/voip_remote_recording.png delete mode 100644 Resources/images/voip_single_contact_avatar.png delete mode 100644 Resources/images/voip_speaker_off.png delete mode 100644 Resources/images/voip_speaker_on.png delete mode 100644 Resources/images/voip_spinner.png delete mode 100644 Resources/images/vr_off.png delete mode 100644 Resources/images/vr_on.png delete mode 100644 Resources/images/vr_pause.png delete mode 100644 Resources/images/vr_play.png delete mode 100644 Resources/images/vr_stop.png delete mode 100644 Resources/images/vr_wave.png delete mode 100644 Resources/images/waiting_time.png delete mode 100644 Resources/images/waiting_time@2x.png delete mode 100644 Resources/it.lproj/Localizable.strings delete mode 100644 Resources/ja.lproj/Localizable.strings delete mode 100644 Resources/ka.lproj/Localizable.strings delete mode 100644 Resources/linphonerc delete mode 100644 Resources/linphonerc-factory delete mode 100644 Resources/linphonerc~ipad delete mode 100644 Resources/nl.lproj/Localizable.strings delete mode 100644 Resources/pl.lproj/Localizable.strings delete mode 100644 Resources/pt_BR.lproj/Localizable.strings delete mode 100644 Resources/ru.lproj/Localizable.strings delete mode 100644 Resources/sounds/hold.mkv delete mode 100644 Resources/sounds/msg.caf delete mode 100644 Resources/sounds/ringback.wav delete mode 100644 Resources/sounds/ringtones/notes_of_the_optimistic.caf delete mode 100644 Resources/sounds/shortring.caf delete mode 100644 Resources/sv.lproj/Localizable.strings delete mode 100644 Resources/tr.lproj/Localizable.strings delete mode 100644 Resources/uk.lproj/Localizable.strings delete mode 100644 Resources/zh_CN.lproj/Localizable.strings delete mode 100644 Resources/zh_TW.lproj/Localizable.strings delete mode 100644 Settings/InAppSettings.bundle/Account.plist delete mode 100644 Settings/InAppSettings.bundle/Advanced.plist delete mode 100644 Settings/InAppSettings.bundle/Audio.plist delete mode 100644 Settings/InAppSettings.bundle/Call.plist delete mode 100644 Settings/InAppSettings.bundle/Chat.plist delete mode 100644 Settings/InAppSettings.bundle/Contacts.plist delete mode 100644 Settings/InAppSettings.bundle/LDAP.plist delete mode 100644 Settings/InAppSettings.bundle/Meetings.plist delete mode 100644 Settings/InAppSettings.bundle/Network.plist delete mode 100644 Settings/InAppSettings.bundle/Root.plist delete mode 100644 Settings/InAppSettings.bundle/Tunnel.plist delete mode 100644 Settings/InAppSettings.bundle/Video.plist delete mode 100644 Settings/InAppSettings.bundle/ar.lproj/Account.strings delete mode 100644 Settings/InAppSettings.bundle/ar.lproj/Advanced.strings delete mode 100644 Settings/InAppSettings.bundle/ar.lproj/Audio.strings delete mode 100644 Settings/InAppSettings.bundle/ar.lproj/Call.strings delete mode 100644 Settings/InAppSettings.bundle/ar.lproj/Chat.strings delete mode 100644 Settings/InAppSettings.bundle/ar.lproj/Network.strings delete mode 100644 Settings/InAppSettings.bundle/ar.lproj/Root.strings delete mode 100644 Settings/InAppSettings.bundle/ar.lproj/Tunnel.strings delete mode 100644 Settings/InAppSettings.bundle/ar.lproj/Video.strings delete mode 100644 Settings/InAppSettings.bundle/cs.lproj/Account.strings delete mode 100644 Settings/InAppSettings.bundle/cs.lproj/Advanced.strings delete mode 100644 Settings/InAppSettings.bundle/cs.lproj/Root.strings delete mode 100644 Settings/InAppSettings.bundle/de.lproj/Account.strings delete mode 100644 Settings/InAppSettings.bundle/de.lproj/Advanced.strings delete mode 100644 Settings/InAppSettings.bundle/de.lproj/Audio.strings delete mode 100644 Settings/InAppSettings.bundle/de.lproj/Call.strings delete mode 100644 Settings/InAppSettings.bundle/de.lproj/Chat.strings delete mode 100644 Settings/InAppSettings.bundle/de.lproj/Network.strings delete mode 100644 Settings/InAppSettings.bundle/de.lproj/Root.strings delete mode 100644 Settings/InAppSettings.bundle/de.lproj/Tunnel.strings delete mode 100644 Settings/InAppSettings.bundle/de.lproj/Video.strings delete mode 100644 Settings/InAppSettings.bundle/en.lproj/Account.strings delete mode 100644 Settings/InAppSettings.bundle/en.lproj/Advanced.strings delete mode 100644 Settings/InAppSettings.bundle/en.lproj/Audio.strings delete mode 100644 Settings/InAppSettings.bundle/en.lproj/Call.strings delete mode 100644 Settings/InAppSettings.bundle/en.lproj/Chat.strings delete mode 100644 Settings/InAppSettings.bundle/en.lproj/Network.strings delete mode 100644 Settings/InAppSettings.bundle/en.lproj/Root.strings delete mode 100644 Settings/InAppSettings.bundle/en.lproj/Tunnel.strings delete mode 100644 Settings/InAppSettings.bundle/en.lproj/Video.strings delete mode 100644 Settings/InAppSettings.bundle/es.lproj/Account.strings delete mode 100644 Settings/InAppSettings.bundle/es.lproj/Advanced.strings delete mode 100644 Settings/InAppSettings.bundle/es.lproj/Audio.strings delete mode 100644 Settings/InAppSettings.bundle/es.lproj/Call.strings delete mode 100644 Settings/InAppSettings.bundle/es.lproj/Chat.strings delete mode 100644 Settings/InAppSettings.bundle/es.lproj/Network.strings delete mode 100644 Settings/InAppSettings.bundle/es.lproj/Root.strings delete mode 100644 Settings/InAppSettings.bundle/es.lproj/Tunnel.strings delete mode 100644 Settings/InAppSettings.bundle/es.lproj/Video.strings delete mode 100644 Settings/InAppSettings.bundle/es_AR.lproj/Account.strings delete mode 100644 Settings/InAppSettings.bundle/es_AR.lproj/Advanced.strings delete mode 100644 Settings/InAppSettings.bundle/es_AR.lproj/Audio.strings delete mode 100644 Settings/InAppSettings.bundle/es_AR.lproj/Call.strings delete mode 100644 Settings/InAppSettings.bundle/es_AR.lproj/Chat.strings delete mode 100644 Settings/InAppSettings.bundle/es_AR.lproj/Network.strings delete mode 100644 Settings/InAppSettings.bundle/es_AR.lproj/Root.strings delete mode 100644 Settings/InAppSettings.bundle/es_AR.lproj/Tunnel.strings delete mode 100644 Settings/InAppSettings.bundle/es_AR.lproj/Video.strings delete mode 100644 Settings/InAppSettings.bundle/fr.lproj/Account.strings delete mode 100644 Settings/InAppSettings.bundle/fr.lproj/Advanced.strings delete mode 100644 Settings/InAppSettings.bundle/fr.lproj/Audio.strings delete mode 100644 Settings/InAppSettings.bundle/fr.lproj/Call.strings delete mode 100644 Settings/InAppSettings.bundle/fr.lproj/Chat.strings delete mode 100644 Settings/InAppSettings.bundle/fr.lproj/Network.strings delete mode 100644 Settings/InAppSettings.bundle/fr.lproj/Root.strings delete mode 100644 Settings/InAppSettings.bundle/fr.lproj/Tunnel.strings delete mode 100644 Settings/InAppSettings.bundle/fr.lproj/Video.strings delete mode 100644 Settings/InAppSettings.bundle/hu.lproj/Account.strings delete mode 100644 Settings/InAppSettings.bundle/hu.lproj/Advanced.strings delete mode 100644 Settings/InAppSettings.bundle/hu.lproj/Audio.strings delete mode 100644 Settings/InAppSettings.bundle/hu.lproj/Call.strings delete mode 100644 Settings/InAppSettings.bundle/hu.lproj/Chat.strings delete mode 100644 Settings/InAppSettings.bundle/hu.lproj/Network.strings delete mode 100644 Settings/InAppSettings.bundle/hu.lproj/Root.strings delete mode 100644 Settings/InAppSettings.bundle/hu.lproj/Tunnel.strings delete mode 100644 Settings/InAppSettings.bundle/hu.lproj/Video.strings delete mode 100644 Settings/InAppSettings.bundle/it.lproj/Account.strings delete mode 100644 Settings/InAppSettings.bundle/it.lproj/Advanced.strings delete mode 100644 Settings/InAppSettings.bundle/it.lproj/Audio.strings delete mode 100644 Settings/InAppSettings.bundle/it.lproj/Call.strings delete mode 100644 Settings/InAppSettings.bundle/it.lproj/Chat.strings delete mode 100644 Settings/InAppSettings.bundle/it.lproj/Network.strings delete mode 100644 Settings/InAppSettings.bundle/it.lproj/Root.strings delete mode 100644 Settings/InAppSettings.bundle/it.lproj/Tunnel.strings delete mode 100644 Settings/InAppSettings.bundle/it.lproj/Video.strings delete mode 100644 Settings/InAppSettings.bundle/ja.lproj/Account.strings delete mode 100644 Settings/InAppSettings.bundle/ja.lproj/Advanced.strings delete mode 100644 Settings/InAppSettings.bundle/ja.lproj/Audio.strings delete mode 100644 Settings/InAppSettings.bundle/ja.lproj/Call.strings delete mode 100644 Settings/InAppSettings.bundle/ja.lproj/Chat.strings delete mode 100644 Settings/InAppSettings.bundle/ja.lproj/Network.strings delete mode 100644 Settings/InAppSettings.bundle/ja.lproj/Root.strings delete mode 100644 Settings/InAppSettings.bundle/ja.lproj/Tunnel.strings delete mode 100644 Settings/InAppSettings.bundle/ja.lproj/Video.strings delete mode 100644 Settings/InAppSettings.bundle/ka.lproj/Account.strings delete mode 100644 Settings/InAppSettings.bundle/ka.lproj/Advanced.strings delete mode 100644 Settings/InAppSettings.bundle/ka.lproj/Audio.strings delete mode 100644 Settings/InAppSettings.bundle/ka.lproj/Call.strings delete mode 100644 Settings/InAppSettings.bundle/ka.lproj/Chat.strings delete mode 100644 Settings/InAppSettings.bundle/ka.lproj/Network.strings delete mode 100644 Settings/InAppSettings.bundle/ka.lproj/Root.strings delete mode 100644 Settings/InAppSettings.bundle/ka.lproj/Tunnel.strings delete mode 100644 Settings/InAppSettings.bundle/ka.lproj/Video.strings delete mode 100644 Settings/InAppSettings.bundle/nl.lproj/Account.strings delete mode 100644 Settings/InAppSettings.bundle/nl.lproj/Advanced.strings delete mode 100644 Settings/InAppSettings.bundle/nl.lproj/Audio.strings delete mode 100644 Settings/InAppSettings.bundle/nl.lproj/Call.strings delete mode 100644 Settings/InAppSettings.bundle/nl.lproj/Chat.strings delete mode 100644 Settings/InAppSettings.bundle/nl.lproj/Network.strings delete mode 100644 Settings/InAppSettings.bundle/nl.lproj/Root.strings delete mode 100644 Settings/InAppSettings.bundle/nl.lproj/Tunnel.strings delete mode 100644 Settings/InAppSettings.bundle/nl.lproj/Video.strings delete mode 100644 Settings/InAppSettings.bundle/pl.lproj/Account.strings delete mode 100644 Settings/InAppSettings.bundle/pl.lproj/Advanced.strings delete mode 100644 Settings/InAppSettings.bundle/pl.lproj/Audio.strings delete mode 100644 Settings/InAppSettings.bundle/pl.lproj/Call.strings delete mode 100644 Settings/InAppSettings.bundle/pl.lproj/Chat.strings delete mode 100644 Settings/InAppSettings.bundle/pl.lproj/Network.strings delete mode 100644 Settings/InAppSettings.bundle/pl.lproj/Root.strings delete mode 100644 Settings/InAppSettings.bundle/pl.lproj/Tunnel.strings delete mode 100644 Settings/InAppSettings.bundle/pl.lproj/Video.strings delete mode 100644 Settings/InAppSettings.bundle/pt_BR.lproj/Account.strings delete mode 100644 Settings/InAppSettings.bundle/pt_BR.lproj/Advanced.strings delete mode 100644 Settings/InAppSettings.bundle/pt_BR.lproj/Audio.strings delete mode 100644 Settings/InAppSettings.bundle/pt_BR.lproj/Call.strings delete mode 100644 Settings/InAppSettings.bundle/pt_BR.lproj/Chat.strings delete mode 100644 Settings/InAppSettings.bundle/pt_BR.lproj/Network.strings delete mode 100644 Settings/InAppSettings.bundle/pt_BR.lproj/Root.strings delete mode 100644 Settings/InAppSettings.bundle/pt_BR.lproj/Tunnel.strings delete mode 100644 Settings/InAppSettings.bundle/pt_BR.lproj/Video.strings delete mode 100644 Settings/InAppSettings.bundle/ru.lproj/Account.strings delete mode 100644 Settings/InAppSettings.bundle/ru.lproj/Advanced.strings delete mode 100644 Settings/InAppSettings.bundle/ru.lproj/Audio.strings delete mode 100644 Settings/InAppSettings.bundle/ru.lproj/Call.strings delete mode 100644 Settings/InAppSettings.bundle/ru.lproj/Chat.strings delete mode 100644 Settings/InAppSettings.bundle/ru.lproj/Network.strings delete mode 100644 Settings/InAppSettings.bundle/ru.lproj/Root.strings delete mode 100644 Settings/InAppSettings.bundle/ru.lproj/Tunnel.strings delete mode 100644 Settings/InAppSettings.bundle/ru.lproj/Video.strings delete mode 100644 Settings/InAppSettings.bundle/sv.lproj/Account.strings delete mode 100644 Settings/InAppSettings.bundle/sv.lproj/Advanced.strings delete mode 100644 Settings/InAppSettings.bundle/sv.lproj/Audio.strings delete mode 100644 Settings/InAppSettings.bundle/sv.lproj/Call.strings delete mode 100644 Settings/InAppSettings.bundle/sv.lproj/Chat.strings delete mode 100644 Settings/InAppSettings.bundle/sv.lproj/Network.strings delete mode 100644 Settings/InAppSettings.bundle/sv.lproj/Root.strings delete mode 100644 Settings/InAppSettings.bundle/sv.lproj/Tunnel.strings delete mode 100644 Settings/InAppSettings.bundle/sv.lproj/Video.strings delete mode 100644 Settings/InAppSettings.bundle/tr.lproj/Account.strings delete mode 100644 Settings/InAppSettings.bundle/tr.lproj/Advanced.strings delete mode 100644 Settings/InAppSettings.bundle/tr.lproj/Audio.strings delete mode 100644 Settings/InAppSettings.bundle/tr.lproj/Call.strings delete mode 100644 Settings/InAppSettings.bundle/tr.lproj/Chat.strings delete mode 100644 Settings/InAppSettings.bundle/tr.lproj/Network.strings delete mode 100644 Settings/InAppSettings.bundle/tr.lproj/Root.strings delete mode 100644 Settings/InAppSettings.bundle/tr.lproj/Tunnel.strings delete mode 100644 Settings/InAppSettings.bundle/tr.lproj/Video.strings delete mode 100644 Settings/InAppSettings.bundle/uk.lproj/Account.strings delete mode 100644 Settings/InAppSettings.bundle/uk.lproj/Advanced.strings delete mode 100644 Settings/InAppSettings.bundle/uk.lproj/Audio.strings delete mode 100644 Settings/InAppSettings.bundle/uk.lproj/Call.strings delete mode 100644 Settings/InAppSettings.bundle/uk.lproj/Chat.strings delete mode 100644 Settings/InAppSettings.bundle/uk.lproj/Network.strings delete mode 100644 Settings/InAppSettings.bundle/uk.lproj/Root.strings delete mode 100644 Settings/InAppSettings.bundle/uk.lproj/Tunnel.strings delete mode 100644 Settings/InAppSettings.bundle/uk.lproj/Video.strings delete mode 100644 Settings/InAppSettings.bundle/zh_CN.lproj/Account.strings delete mode 100644 Settings/InAppSettings.bundle/zh_CN.lproj/Advanced.strings delete mode 100644 Settings/InAppSettings.bundle/zh_CN.lproj/Audio.strings delete mode 100644 Settings/InAppSettings.bundle/zh_CN.lproj/Call.strings delete mode 100644 Settings/InAppSettings.bundle/zh_CN.lproj/Chat.strings delete mode 100644 Settings/InAppSettings.bundle/zh_CN.lproj/Network.strings delete mode 100644 Settings/InAppSettings.bundle/zh_CN.lproj/Root.strings delete mode 100644 Settings/InAppSettings.bundle/zh_CN.lproj/Tunnel.strings delete mode 100644 Settings/InAppSettings.bundle/zh_CN.lproj/Video.strings delete mode 100644 Settings/InAppSettings.bundle/zh_TW.lproj/Account.strings delete mode 100644 Settings/InAppSettings.bundle/zh_TW.lproj/Advanced.strings delete mode 100644 Settings/InAppSettings.bundle/zh_TW.lproj/Audio.strings delete mode 100644 Settings/InAppSettings.bundle/zh_TW.lproj/Call.strings delete mode 100644 Settings/InAppSettings.bundle/zh_TW.lproj/Chat.strings delete mode 100644 Settings/InAppSettings.bundle/zh_TW.lproj/Network.strings delete mode 100644 Settings/InAppSettings.bundle/zh_TW.lproj/Root.strings delete mode 100644 Settings/InAppSettings.bundle/zh_TW.lproj/Tunnel.strings delete mode 100644 Settings/InAppSettings.bundle/zh_TW.lproj/Video.strings delete mode 100644 TestsUI/AssistantTester.h delete mode 100644 TestsUI/AssistantTester.m delete mode 100644 TestsUI/CallTester.h delete mode 100644 TestsUI/CallTester.m delete mode 100644 TestsUI/ChatTester.h delete mode 100644 TestsUI/ChatTester.m delete mode 100644 TestsUI/ContactsTester.h delete mode 100644 TestsUI/ContactsTester.m delete mode 100644 TestsUI/Info.plist delete mode 100644 TestsUI/LinphoneTestCase.h delete mode 100644 TestsUI/LinphoneTestCase.m delete mode 100644 TestsUI/NotificationTester.h delete mode 100644 TestsUI/NotificationTester.m delete mode 100755 Tools/change_ios_custom_font.sh delete mode 100755 Tools/check_tools.sh delete mode 100755 Tools/deploy.sh delete mode 100644 Tools/exportOptions.plist delete mode 100755 Tools/git_version.sh delete mode 100755 Tools/i18n_generate_strings_files.sh delete mode 100755 Tools/i18n_update_strings_files.py delete mode 100755 Tools/imgur_upload.sh delete mode 100644 Tools/liblinphone.podspec delete mode 100755 Tools/sdk_download.sh delete mode 100755 Tools/sync_resources_android.py delete mode 100755 Tools/tag_missing_resources.sh delete mode 100644 UITests/CallUITests/ActiveCallUITests.swift delete mode 100644 UITests/CallUITests/ExtraMenuUITests.swift delete mode 100644 UITests/CallUITests/IncomingCallUITests.swift delete mode 100644 UITests/CallUITests/OutgoingCallUITests.swift delete mode 100644 UITests/Methods/ActiveCallViewUITestsMethods.swift delete mode 100644 UITests/Methods/ConferenceCallViewUITestsMethods.swift delete mode 100644 UITests/Methods/ExtraMenuActiveCallActionsUITestsMethods.swift delete mode 100644 UITests/Methods/IncomingOutgoingCallViewUITestsMethods.swift delete mode 100644 UITests/Methods/UITestsCoreManager.swift delete mode 100644 UITests/Methods/UITestsScreenshots.swift delete mode 100644 UITests/Methods/UITestsUtils.swift delete mode 100644 UITests/Screenshots/IO_call_view.svg delete mode 100644 UITests/Screenshots/Linphone.svg delete mode 100644 UITests/Screenshots/active_call_view.svg delete mode 100644 UITests/Screenshots/call_failed_error_view.svg delete mode 100644 UITests/Screenshots/call_numpad_view.svg delete mode 100644 UITests/Screenshots/call_stats_view.svg delete mode 100644 UITests/Screenshots/dialer_view.svg delete mode 100644 UITests/Screenshots/images/IO_call_view.png delete mode 100644 UITests/Screenshots/images/IO_call_view_mute.png delete mode 100644 UITests/Screenshots/images/IO_call_view_outgoing.png delete mode 100644 UITests/Screenshots/images/IO_call_view_speaker.png delete mode 100644 UITests/Screenshots/images/Linphone.png delete mode 100644 UITests/Screenshots/images/active_call_view.png delete mode 100644 UITests/Screenshots/images/active_call_view_call_stats.png delete mode 100644 UITests/Screenshots/images/active_call_view_extra_menu.png delete mode 100644 UITests/Screenshots/images/active_call_view_mute.png delete mode 100644 UITests/Screenshots/images/active_call_view_pause.png delete mode 100644 UITests/Screenshots/images/active_call_view_pause_shadow.png delete mode 100644 UITests/Screenshots/images/active_call_view_record.png delete mode 100644 UITests/Screenshots/images/active_call_view_remote_pause.png delete mode 100644 UITests/Screenshots/images/active_call_view_remote_record.png delete mode 100644 UITests/Screenshots/images/active_call_view_shadow.png delete mode 100644 UITests/Screenshots/images/active_call_view_speaker.png delete mode 100644 UITests/Screenshots/images/call_failed_error_view.png delete mode 100644 UITests/Screenshots/images/call_numpad_view.png delete mode 100644 UITests/Screenshots/images/call_stats_view.png delete mode 100644 UITests/Screenshots/images/call_stats_view_pause.png delete mode 100644 UITests/Screenshots/images/call_stats_view_remote_pause.png delete mode 100644 UITests/Screenshots/images/dialer_view.png delete mode 100644 UITests/Screenshots/images/dialer_view_popup.png delete mode 100644 UITests/Screenshots/images/forErrors/no_preview.png delete mode 100644 UITests/Screenshots/images/side_menu_view.png delete mode 100644 UITests/Screenshots/images/status_bar.png delete mode 100644 UITests/Screenshots/images/status_bar_call_view.png delete mode 100644 UITests/Screenshots/images/tab_bar.png delete mode 100644 UITests/Screenshots/side_menu_view.svg delete mode 100644 UITests/Screenshots/status_bar.svg delete mode 100644 UITests/Screenshots/tab_bar.svg delete mode 100644 UITests/TestPlans/Debug.xctestplan delete mode 100644 UITests/TestPlans/Default.xctestplan delete mode 100644 UITests/TestPlans/PauseMode_extended.xctestplan delete mode 100644 doc/CUSTOMIZING.txt delete mode 100644 iTunesArtwork delete mode 100644 linphone-Info.plist delete mode 100644 linphone-adhoc.plist delete mode 100644 linphone.entitlements delete mode 100644 linphone.xcodeproj/.gitignore delete mode 100644 linphone.xcodeproj/project.pbxproj delete mode 100644 linphone.xcodeproj/project.pbxproj.orig delete mode 100644 linphone.xcodeproj/xcshareddata/xcschemes/linphone.xcscheme delete mode 100644 linphone.xcodeproj/xcshareddata/xcschemes/linphone.xcscheme.orig delete mode 100644 linphone.xcworkspace/contents.xcworkspacedata delete mode 100644 linphone.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 linphoneExtension/Base.lproj/MainInterface.storyboard delete mode 100644 linphoneExtension/Info.plist delete mode 100644 linphoneExtension/ShareViewController.h delete mode 100644 linphoneExtension/ShareViewController.m delete mode 100644 linphoneExtension/linphoneExtension.entitlements delete mode 100644 linphone_Prefix.pch delete mode 100644 main.m delete mode 100644 msgNotification/Utils.swift delete mode 100644 msgNotificationContent/Base.lproj/MainInterface.storyboard delete mode 100644 msgNotificationContent/GoogleService-Info.plist delete mode 100644 msgNotificationContent/Info.plist delete mode 100644 msgNotificationContent/NotificationViewController.swift delete mode 100644 msgNotificationContent/msgNotificationContent.entitlements delete mode 100644 msgNotificationService/GoogleService-Info.plist delete mode 100644 msgNotificationService/Info.plist delete mode 100644 msgNotificationService/NotificationService.swift delete mode 100644 msgNotificationService/msgNotificationService.entitlements delete mode 100644 prepare.conf delete mode 100755 prepare.py delete mode 100755 scripts/android_import.sh diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 5286f4739..000000000 --- a/.gitignore +++ /dev/null @@ -1,23 +0,0 @@ -build-* -*.locuser -.DS_Store -liblinphone-sdk -liblinphone-iphone-sdk*.zip -xcuserdata/ -Classes/LinphoneIOSVersion.h -Pods/ -Podfile.lock -GoogleService-Info.plist -build -test-reports -WORK -Makefile -OUTPUT -git-clang-format.diff -submodules/tunnel -submodules/binaries/dummy-*.a -linphone-iphone.ipa -TutorialHellowWorld/hello-world.xcodeproj/project.xcworkspace/ -diff-format.patch -*.xcscmblueprint -liblinphone-iphone-sdk-* diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index e69de29bb..000000000 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 68e131abc..000000000 --- a/.travis.yml +++ /dev/null @@ -1,28 +0,0 @@ -language: objective-c -osx_image: xcode7.2 - -env: - global: - - secure: "JPPcWdmNIJiR3YcIwe0LRYce6qDdsiagO+eKKAp7eVk/wD9UHbz96Ms2FFkXxPhRJB1PA6Pf8FpAzIL2YRiJL9jRtKHSvtdF1cSto+57XyBkCsw7PkMVUIxp7fg6Wiwn3H3tucF8jisIkv/Pn7R+9EqePkZSqqu3+ig5AX9ApQ4=" - - KIF_SCREENSHOTS=$PWD/Screens - -before_install: - - brew update 1>/dev/null - - brew install doxygen nasm yasm optipng imagemagick intltool ninja antlr cmake - - wget --no-check-certificate https://raw.githubusercontent.com/FFmpeg/gas-preprocessor/master/gas-preprocessor.pl - - chmod +x gas-preprocessor.pl - - sudo mv gas-preprocessor.pl /usr/local/bin - - sudo ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize - - git submodule update --init --recursive - -install: - - ./prepare.py -d x86_64 -G Ninja - - make -j4 -s - - mkdir -p $KIF_SCREENSHOTS - -script: - - xctool -project linphone.xcodeproj -scheme linphone -sdk iphonesimulator -destination name='iPhone 6' build 1>/dev/null - - xctool -project linphone.xcodeproj -scheme linphone -sdk iphonesimulator -destination name='iPhone 6' test - -after_script: - - ./Tools/imgur_upload.sh diff --git a/.tx/config b/.tx/config deleted file mode 100644 index 58e946dae..000000000 --- a/.tx/config +++ /dev/null @@ -1,309 +0,0 @@ -[main] -host = https://www.transifex.com -minimum_perc = 1 - -[linphone-ios.localizablestrings] -source_lang = en -file_filter = Resources/.lproj/Localizable.strings -source_file = Resources/en.lproj/Localizable.strings -type = STRINGS - -[linphone-ios.aboutviewstrings] -source_lang = en -file_filter = Classes/.lproj/AboutView.strings -source_file = Classes/Base.lproj/AboutView.strings -type = STRINGS - -[linphone-ios.assistantviewstrings] -source_lang = en -file_filter = Classes/.lproj/AssistantView.strings -source_file = Classes/Base.lproj/AssistantView.strings -type = STRINGS - -[linphone-ios.assistantviewscreensstrings] -source_lang = en -file_filter = Classes/.lproj/AssistantViewScreens.strings -source_file = Classes/Base.lproj/AssistantViewScreens.strings -type = STRINGS - -[linphone-ios.callincomingviewstrings] -source_lang = en -file_filter = Classes/.lproj/CallIncomingView.strings -source_file = Classes/Base.lproj/CallIncomingView.strings -type = STRINGS - -[linphone-ios.calloutgoingviewstrings] -source_lang = en -file_filter = Classes/.lproj/CallOutgoingView.strings -source_file = Classes/Base.lproj/CallOutgoingView.strings -type = STRINGS - -[linphone-ios.callviewstrings] -source_lang = en -file_filter = Classes/.lproj/CallView.strings -source_file = Classes/Base.lproj/CallView.strings -type = STRINGS - -[linphone-ios.callviewipadstrings] -source_lang = en -file_filter = Classes/.lproj/CallView~ipad.strings -source_file = Classes/Base.lproj/CallView~ipad.strings -type = STRINGS - -[linphone-ios.chatconversationcreateviewstrings] -source_lang = en -file_filter = Classes/.lproj/ChatConversationCreateView.strings -source_file = Classes/Base.lproj/ChatConversationCreateView.strings -type = STRINGS - -[linphone-ios.chatconversationviewstrings] -source_lang = en -file_filter = Classes/.lproj/ChatConversationView.strings -source_file = Classes/Base.lproj/ChatConversationView.strings -type = STRINGS - -[linphone-ios.chatslistviewstrings] -source_lang = en -file_filter = Classes/.lproj/ChatsListView.strings -source_file = Classes/Base.lproj/ChatsListView.strings -type = STRINGS - -[linphone-ios.contactdetailsviewstrings] -source_lang = en -file_filter = Classes/.lproj/ContactDetailsView.strings -source_file = Classes/Base.lproj/ContactDetailsView.strings -type = STRINGS - -[linphone-ios.contactslistviewstrings] -source_lang = en -file_filter = Classes/.lproj/ContactsListView.strings -source_file = Classes/Base.lproj/ContactsListView.strings -type = STRINGS - -[linphone-ios.dialerviewstrings] -source_lang = en -file_filter = Classes/.lproj/DialerView.strings -source_file = Classes/Base.lproj/DialerView.strings -type = STRINGS - -[linphone-ios.dialerviewipadstrings] -source_lang = en -file_filter = Classes/.lproj/DialerView~ipad.strings -source_file = Classes/Base.lproj/DialerView~ipad.strings -type = STRINGS - -[linphone-ios.firstloginviewstrings] -source_lang = en -file_filter = Classes/.lproj/FirstLoginView.strings -source_file = Classes/Base.lproj/FirstLoginView.strings -type = STRINGS - -[linphone-ios.historydetailsviewstrings] -source_lang = en -file_filter = Classes/.lproj/HistoryDetailsView.strings -source_file = Classes/Base.lproj/HistoryDetailsView.strings -type = STRINGS - -[linphone-ios.historylistviewstrings] -source_lang = en -file_filter = Classes/.lproj/HistoryListView.strings -source_file = Classes/Base.lproj/HistoryListView.strings -type = STRINGS - -[linphone-ios.imageviewstrings] -source_lang = en -file_filter = Classes/.lproj/ImageView.strings -source_file = Classes/Base.lproj/ImageView.strings -type = STRINGS - -[linphone-ios.settingsviewstrings] -source_lang = en -file_filter = Classes/.lproj/SettingsView.strings -source_file = Classes/Base.lproj/SettingsView.strings -type = STRINGS - -[linphone-ios.sidemenuviewstrings] -source_lang = en -file_filter = Classes/.lproj/SideMenuView.strings -source_file = Classes/Base.lproj/SideMenuView.strings -type = STRINGS - -[linphone-ios.sidemenuviewipadstrings] -source_lang = en -file_filter = Classes/.lproj/SideMenuView~ipad.strings -source_file = Classes/Base.lproj/SideMenuView~ipad.strings -type = STRINGS - -[linphone-ios.statusbarviewstrings] -source_lang = en -file_filter = Classes/LinphoneUI/.lproj/StatusBarView.strings -source_file = Classes/LinphoneUI/Base.lproj/StatusBarView.strings -type = STRINGS - -[linphone-ios.tabbarviewstrings] -source_lang = en -file_filter = Classes/LinphoneUI/.lproj/TabBarView.strings -source_file = Classes/LinphoneUI/Base.lproj/TabBarView.strings -type = STRINGS - -[linphone-ios.uicallconferencecellstrings] -source_lang = en -file_filter = Classes/LinphoneUI/.lproj/UICallConferenceCell.strings -source_file = Classes/LinphoneUI/Base.lproj/UICallConferenceCell.strings -type = STRINGS - -[linphone-ios.uicallpausedcellstrings] -source_lang = en -file_filter = Classes/LinphoneUI/.lproj/UICallPausedCell.strings -source_file = Classes/LinphoneUI/Base.lproj/UICallPausedCell.strings -type = STRINGS - -[linphone-ios.uichatbubblephotocellstrings] -source_lang = en -file_filter = Classes/LinphoneUI/.lproj/UIChatBubblePhotoCell.strings -source_file = Classes/LinphoneUI/Base.lproj/UIChatBubblePhotoCell.strings -type = STRINGS - -[linphone-ios.uichatbubbletextcellstrings] -source_lang = en -file_filter = Classes/LinphoneUI/.lproj/UIChatBubbleTextCell.strings -source_file = Classes/LinphoneUI/Base.lproj/UIChatBubbleTextCell.strings -type = STRINGS - -[linphone-ios.uichatcellstrings] -source_lang = en -file_filter = Classes/LinphoneUI/.lproj/UIChatCell.strings -source_file = Classes/LinphoneUI/Base.lproj/UIChatCell.strings -type = STRINGS - -[linphone-ios.uichatcreatecellstrings] -source_lang = en -file_filter = Classes/LinphoneUI/.lproj/UIChatCreateCell.strings -source_file = Classes/LinphoneUI/Base.lproj/UIChatCreateCell.strings -type = STRINGS - -[linphone-ios.uiconfirmationdialogstrings] -source_lang = en -file_filter = Classes/LinphoneUI/.lproj/UIConfirmationDialog.strings -source_file = Classes/LinphoneUI/Base.lproj/UIConfirmationDialog.strings -type = STRINGS - -[linphone-ios.uicontactcellstrings] -source_lang = en -file_filter = Classes/LinphoneUI/.lproj/UIContactCell.strings -source_file = Classes/LinphoneUI/Base.lproj/UIContactCell.strings -type = STRINGS - -[linphone-ios.uicontactdetailscellstrings] -source_lang = en -file_filter = Classes/LinphoneUI/.lproj/UIContactDetailsCell.strings -source_file = Classes/LinphoneUI/Base.lproj/UIContactDetailsCell.strings -type = STRINGS - -[linphone-ios.uihistorycellstrings] -source_lang = en -file_filter = Classes/LinphoneUI/.lproj/UIHistoryCell.strings -source_file = Classes/LinphoneUI/Base.lproj/UIHistoryCell.strings -type = STRINGS - -[linphone-ios.inappsettingsaccountstrings] -source_lang = en -file_filter = Settings/InAppSettings.bundle/.lproj/Account.strings -source_file = Settings/InAppSettings.bundle/en.lproj/Account.strings -type = STRINGS - -[linphone-ios.inappsettingsadvancedstrings] -source_lang = en -file_filter = Settings/InAppSettings.bundle/.lproj/Advanced.strings -source_file = Settings/InAppSettings.bundle/en.lproj/Advanced.strings -type = STRINGS - -[linphone-ios.inappsettingsaudiostrings] -source_lang = en -file_filter = Settings/InAppSettings.bundle/.lproj/Audio.strings -source_file = Settings/InAppSettings.bundle/en.lproj/Audio.strings -type = STRINGS - -[linphone-ios.inappsettingscallstrings] -source_lang = en -file_filter = Settings/InAppSettings.bundle/.lproj/Call.strings -source_file = Settings/InAppSettings.bundle/en.lproj/Call.strings -type = STRINGS - -[linphone-ios.inappsettingsnetworkstrings] -source_lang = en -file_filter = Settings/InAppSettings.bundle/.lproj/Network.strings -source_file = Settings/InAppSettings.bundle/en.lproj/Network.strings -type = STRINGS - -[linphone-ios.inappsettingsrootstrings] -source_lang = en -file_filter = Settings/InAppSettings.bundle/.lproj/Root.strings -source_file = Settings/InAppSettings.bundle/en.lproj/Root.strings -type = STRINGS - -[linphone-ios.inappsettingstunnelstrings] -source_lang = en -file_filter = Settings/InAppSettings.bundle/.lproj/Tunnel.strings -source_file = Settings/InAppSettings.bundle/en.lproj/Tunnel.strings -type = STRINGS - -[linphone-ios.inappsettingsvideostrings] -source_lang = en -file_filter = Settings/InAppSettings.bundle/.lproj/Video.strings -source_file = Settings/InAppSettings.bundle/en.lproj/Video.strings -type = STRINGS - -[linphone-ios.shopviewstrings] -source_lang = en -file_filter = Classes/.lproj/ShopView.strings -source_file = Classes/en.lproj/ShopView.strings -type = STRINGS - -[linphone-ios.assistantlinkviewstrings] -source_lang = en -file_filter = Classes/.lproj/AssistantLinkView.strings -source_file = Classes/Base.lproj/AssistantLinkView.strings -type = STRINGS - -[linphone-ios.countrylistviewstrings] -source_lang = en -file_filter = Classes/.lproj/CountryListView.strings -source_file = Classes/Base.lproj/CountryListView.strings -type = STRINGS - -[linphone-ios.inappsettingschatstrings] -source_lang = en -file_filter = Settings/InAppSettings.bundle/.lproj/Chat.strings -source_file = Settings/InAppSettings.bundle/en.lproj/Chat.strings -type = STRINGS - -[linphone-ios.uichatconversationinfotableviewcellstrings] -source_lang = en -file_filter = Classes/LinphoneUI/.lproj/UIChatConversationInfoTableViewCell.strings -source_file = Classes/LinphoneUI/Base.lproj/UIChatConversationInfoTableViewCell.strings -type = STRINGS - -[linphone-ios.uichatconversationimdntableviewcellstrings] -source_lang = en -file_filter = Classes/LinphoneUI/.lproj/UIChatConversationImdnTableViewCell.strings -source_file = Classes/LinphoneUI/Base.lproj/UIChatConversationImdnTableViewCell.strings -type = STRINGS - -[linphone-ios.uichatcreatecollectionviewcellstrings] -source_lang = en -file_filter = Classes/LinphoneUI/.lproj/UIChatCreateCollectionViewCell.strings -source_file = Classes/LinphoneUI/Base.lproj/UIChatCreateCollectionViewCell.strings -type = STRINGS - -[linphone-ios.chatconversationinfoviewstrings] -source_lang = en -file_filter = Classes/.lproj/ChatConversationInfoView.strings -source_file = Classes/Base.lproj/ChatConversationInfoView.strings -type = STRINGS - -[linphone-ios.chatconversationimdnviewstrings] -source_lang = en -file_filter = Classes/.lproj/ChatConversationImdnView.strings -source_file = Classes/Base.lproj/ChatConversationImdnView.strings -type = STRINGS diff --git a/CallUITests-Info.plist b/CallUITests-Info.plist deleted file mode 100644 index 0c67376eb..000000000 --- a/CallUITests-Info.plist +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/Classes/AboutView.h b/Classes/AboutView.h deleted file mode 100644 index b1576e7ac..000000000 --- a/Classes/AboutView.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "UICompositeView.h" - -@interface AboutView : TPMultiLayoutViewController - -@property(weak, nonatomic) IBOutlet UILabel *nameLabel; -@property(weak, nonatomic) IBOutlet UILabel *descriptionLabel; -@property(weak, nonatomic) IBOutlet UILabel *appVersionLabel; -@property(weak, nonatomic) IBOutlet UILabel *libVersionLabel; -@property(weak, nonatomic) IBOutlet UILabel *licenceLabel; -@property(weak, nonatomic) IBOutlet UILabel *translateLabel; -@property(weak, nonatomic) IBOutlet UILabel *policyLabel; -- (IBAction)onLinkTap:(id)sender; -- (IBAction)onLicenceTap; -- (IBAction)onPolicyTap; -- (IBAction)onDialerBackClick:(id)sender; - -@end diff --git a/Classes/AboutView.m b/Classes/AboutView.m deleted file mode 100644 index 9329d01b3..000000000 --- a/Classes/AboutView.m +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "PhoneMainView.h" -#import "LinphoneManager.h" -#import "LinphoneIOSVersion.h" - -@implementation AboutView - -#pragma mark - UICompositeViewDelegate Functions - -static UICompositeViewDescription *compositeDescription = nil; -+ (UICompositeViewDescription *)compositeViewDescription { - if (compositeDescription == nil) { - compositeDescription = [[UICompositeViewDescription alloc] init:self.class - statusBar:StatusBarView.class - tabBar:nil - sideMenu:SideMenuView.class - fullscreen:false - isLeftFragment:YES - fragmentWith:nil]; - } - return compositeDescription; -} - -- (UICompositeViewDescription *)compositeViewDescription { - return self.class.compositeViewDescription; -} - -#pragma mark - ViewController Functions - -- (void)viewDidLoad { - [super viewDidLoad]; - NSString *name = [NSBundle.mainBundle objectForInfoDictionaryKey:@"CFBundleDisplayName"]; - _nameLabel.text = name; - NSDictionary *infoDict = [[NSBundle mainBundle] infoDictionary]; - NSString *curVersion = [NSString stringWithFormat:@"version %@",[infoDict objectForKey:@"CFBundleShortVersionString"]]; - _appVersionLabel.text = [NSString stringWithFormat:@"%@ iOS %@", name, curVersion]; - _libVersionLabel.text = [NSString stringWithFormat:@"%@ SDK %s", name, LINPHONE_SDK_VERSION]; - _translateLabel.text = [NSString stringWithString:NSLocalizedString(@"Help us translate Linphone", nil)]; - - UITapGestureRecognizer *tapGestureRecognizer = - [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onLicenceTap)]; - tapGestureRecognizer.numberOfTapsRequired = 1; - [_licenceLabel addGestureRecognizer:tapGestureRecognizer]; - _licenceLabel.userInteractionEnabled = YES; - - UITapGestureRecognizer *tapGestureRecognizerTranslate = - [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onTranslateTap)]; - tapGestureRecognizer.numberOfTapsRequired = 1; - [_translateLabel addGestureRecognizer:tapGestureRecognizerTranslate]; - _translateLabel.userInteractionEnabled = YES; - - UITapGestureRecognizer *tapGestureRecognizerPolicy = - [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onPolicyTap)]; - tapGestureRecognizerPolicy.numberOfTapsRequired = 1; - [_policyLabel addGestureRecognizer:tapGestureRecognizerPolicy]; - _policyLabel.userInteractionEnabled = YES; -} - -#pragma mark - Action Functions - -- (IBAction)onLinkTap:(id)sender { - UIGestureRecognizer *gest = sender; - NSString *url = ((UILabel *)gest.view).text; - if (![UIApplication.sharedApplication openURL:[NSURL URLWithString:url]]) { - LOGE(@"Failed to open %@, invalid URL", url); - } -} - -- (IBAction)onPolicyTap { - NSString *url = @"https://www.linphone.org/privacy-policy"; - if (![UIApplication.sharedApplication openURL:[NSURL URLWithString:url]]) { - LOGE(@"Failed to open %@, invalid URL", url); - } -} - -- (IBAction)onLicenceTap { - NSString *url = @"https://www.gnu.org/licenses/gpl-3.0.html"; - if (![UIApplication.sharedApplication openURL:[NSURL URLWithString:url]]) { - LOGE(@"Failed to open %@, invalid URL", url); - } -} -- (IBAction)onTranslateTap { - NSString *url = @"https://weblate.linphone.org/projects/linphone-iphone"; - if (![UIApplication.sharedApplication openURL:[NSURL URLWithString:url]]) { - LOGE(@"Failed to open %@, invalid URL", url); - } -} - -- (IBAction)onDialerBackClick:(id)sender { - [PhoneMainView.instance popCurrentView]; -} -@end diff --git a/Classes/AssistantLinkView.h b/Classes/AssistantLinkView.h deleted file mode 100644 index f8135ac2a..000000000 --- a/Classes/AssistantLinkView.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "PhoneMainView.h" -#import -#import "TPKeyboardAvoidingScrollView.h" - -@interface AssistantLinkView : UIViewController -@property(weak, nonatomic) IBOutlet TPKeyboardAvoidingScrollView *linkAccountView; -@property(weak, nonatomic) IBOutlet UIView *activateSMSView; - -@property(weak, nonatomic) IBOutlet UIButton *countryButton; -@property(weak, nonatomic) IBOutlet UITextField *countryCodeField; -@property(weak, nonatomic) IBOutlet UITextField *activationCodeField; -@property (weak, nonatomic) IBOutlet UIRoundBorderedButton *maybeLaterButton; -@property(weak, nonatomic) IBOutlet UIRoundBorderedButton *linkAccountButton; -@property(weak, nonatomic) IBOutlet UIRoundBorderedButton *checkValidationButton; -@property(weak, nonatomic) IBOutlet UIView *waitView; -@property(weak, nonatomic) IBOutlet UITextField *phoneField; -@property (weak, nonatomic) IBOutlet UILabel *linkSMSText; -@property BOOL firstTime; - -- (IBAction)onLinkAccount:(id)sender; -- (IBAction)onCheckValidationButton:(id)sender; -- (IBAction)onCountryClick:(id)sender; -- (IBAction)onDialerClick:(id)sender; -- (IBAction)onPhoneNumberDisclosureClick:(id)sender; -- (IBAction)onMaybeLater:(id)sender; - -@end diff --git a/Classes/AssistantLinkView.m b/Classes/AssistantLinkView.m deleted file mode 100644 index 080e8b4ec..000000000 --- a/Classes/AssistantLinkView.m +++ /dev/null @@ -1,345 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import - -#import "AssistantLinkView.h" -#import "UITextField+DoneButton.h" -#import "UIAssistantTextField.h" - -@implementation AssistantLinkView { - LinphoneAccountCreator *account_creator; -} - -- (void)viewDidLoad { - [super viewDidLoad]; - // every UITextField subviews with phone keyboard must be tweaked to have a done button - [self addDoneButtonRecursivelyInView:self.view]; - self.phoneField.delegate = self; self.firstTime = TRUE; -} - -- (void)addDoneButtonRecursivelyInView:(UIView *)subview { - for (UIView *child in [subview subviews]) { - if ([child isKindOfClass:UITextField.class]) { - UITextField *tf = (UITextField *)child; - if (tf.keyboardType == UIKeyboardTypePhonePad || tf.keyboardType == UIKeyboardTypeNumberPad) { - [tf addDoneButton]; - } - } - [self addDoneButtonRecursivelyInView:child]; - } -} - -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; - - _linkAccountView.hidden = _activateSMSView.userInteractionEnabled = NO; - _activateSMSView.hidden = _linkAccountView.userInteractionEnabled = YES; - [self fitScrollContentSize]; - - if (!account_creator) { - account_creator = linphone_account_creator_new( - LC, - [LinphoneManager.instance lpConfigStringForKey:@"xmlrpc_url" inSection:@"assistant" withDefault:@""] - .UTF8String); - } - - linphone_account_creator_set_user_data(account_creator, (__bridge void *)(self)); - - LinphoneAccountCreatorCbs * cbs = linphone_factory_create_account_creator_cbs(linphone_factory_get()); - linphone_account_creator_cbs_set_link_account(cbs, assistant_link_phone_number_with_account); - linphone_account_creator_cbs_set_activate_alias(cbs, assistant_activate_phone_number_link); - linphone_account_creator_add_callbacks(account_creator, cbs); - linphone_account_creator_cbs_unref(cbs); - - LinphoneAccount *acc = linphone_core_get_default_account(LC); - LinphoneAccountParams const *accParams = (acc) ? linphone_account_get_params(acc) : NULL; - if (acc && - strcmp([LinphoneManager.instance lpConfigStringForKey:@"domain_name" - inSection:@"app" - withDefault:@"sip.linphone.org"] - .UTF8String, - linphone_account_params_get_domain(accParams)) == 0) { - linphone_account_creator_set_username( - account_creator, linphone_address_get_username(linphone_account_params_get_identity_address(accParams))); - const LinphoneAuthInfo *info = linphone_account_find_auth_info(acc); - if (info) { - if (linphone_auth_info_get_passwd(info)) - linphone_account_creator_set_password(account_creator, linphone_auth_info_get_passwd(info)); - else - linphone_account_creator_set_ha1(account_creator, linphone_auth_info_get_ha1(info)); - } - linphone_account_creator_set_domain(account_creator, linphone_account_params_get_domain(accParams)); - } else { - LOGW(@"Default proxy is NOT a sip.linphone.org, aborting"); - [PhoneMainView.instance popToView:DialerView.compositeViewDescription]; - } - - CTTelephonyNetworkInfo *networkInfo = [CTTelephonyNetworkInfo new]; - CTCarrier *carrier = networkInfo.subscriberCellularProvider; - NSDictionary *country = [CountryListView countryWithIso:carrier.isoCountryCode]; - if (!country) { - // fetch phone locale - for (NSString *lang in [NSLocale preferredLanguages]) { - NSUInteger idx = [lang rangeOfString:@"-"].location; - idx = (idx == NSNotFound) ? idx = 0 : idx + 1; - if ((country = [CountryListView countryWithIso:[lang substringFromIndex:idx]]) != nil) - break; - } - } - - if (country && self.firstTime) { - [self didSelectCountry:country]; - } -} - -- (void)viewDidDisappear:(BOOL)animated { - if (account_creator) { - linphone_account_creator_unref(account_creator); - } - account_creator = NULL; - [super viewDidDisappear:animated]; -} - -- (void)fitScrollContentSize { - // make view scrollable only if next button is too away - CGRect viewframe = _linkAccountView.frame; - if (UIInterfaceOrientationIsLandscape([[UIApplication sharedApplication] statusBarOrientation])) { - viewframe.size.height += 60; - } - [_linkAccountView setContentSize:viewframe.size]; -} - -- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { - [self fitScrollContentSize]; -} - -#pragma mark - UICompositeViewDelegate Functions - -static UICompositeViewDescription *compositeDescription = nil; - -+ (UICompositeViewDescription *)compositeViewDescription { - if (compositeDescription == nil) { - compositeDescription = [[UICompositeViewDescription alloc] init:self.class - statusBar:StatusBarView.class - tabBar:nil - sideMenu:SideMenuView.class - fullscreen:false - isLeftFragment:NO - fragmentWith:nil]; - - compositeDescription.darkBackground = true; - } - return compositeDescription; -} - -- (UICompositeViewDescription *)compositeViewDescription { - return self.class.compositeViewDescription; -} - -#pragma mark - popup - -- (void)showErrorPopup:(const char *)err { - if (strcmp(err, "ERROR_KEY_DOESNT_MATCH") == 0) { - UIAlertController *errView = - [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Account configuration issue", nil) - message:[AssistantView StringForXMLRPCError:err] - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction *defaultAction = [UIAlertAction actionWithTitle:@"OK" - style:UIAlertActionStyleDefault - handler:^(UIAlertAction *action) { - self.linkAccountView.hidden = NO; - self.linkAccountView.userInteractionEnabled = YES; - self.activateSMSView.userInteractionEnabled = NO; - self.activateSMSView.hidden = YES; - self.activationCodeField.text = @""; - }]; - - [errView addAction:defaultAction]; - [self presentViewController:errView animated:YES completion:nil]; - } else { - UIAlertController *errView = - [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Account configuration issue", nil) - message:[AssistantView StringForXMLRPCError:err] - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction *defaultAction = [UIAlertAction actionWithTitle:@"OK" - style:UIAlertActionStyleDefault - handler:^(UIAlertAction *action){ - }]; - - [errView addAction:defaultAction]; - [self presentViewController:errView animated:YES completion:nil]; - } -} - -#pragma mark - cbs - -void assistant_link_phone_number_with_account(LinphoneAccountCreator *creator, LinphoneAccountCreatorStatus status, - const char *resp) { - AssistantLinkView *thiz = (__bridge AssistantLinkView *)(linphone_account_creator_get_user_data(creator)); - thiz.waitView.hidden = YES; - if (status == LinphoneAccountCreatorStatusRequestOk) { - thiz.linkAccountView.hidden = thiz.activateSMSView.userInteractionEnabled = YES; - NSString* phoneNumber = [NSString stringWithUTF8String:linphone_account_creator_get_phone_number(creator)]; - thiz.linkSMSText.text = [NSString stringWithFormat:NSLocalizedString(@"We have sent a SMS with a validation code to %@. To complete your phone number verification, please enter the 4 digit code below:",nil), phoneNumber]; - thiz.activateSMSView.hidden = thiz.linkAccountView.userInteractionEnabled = NO; - } else { - if (strcmp(resp, "Missing required parameters") == 0) { - [thiz showErrorPopup:"ERROR_NO_PHONE_NUMBER"]; - } else { - [thiz showErrorPopup:resp]; - } - } -} - -void assistant_activate_phone_number_link(LinphoneAccountCreator *creator, LinphoneAccountCreatorStatus status, - const char *resp) { - AssistantLinkView *thiz = (__bridge AssistantLinkView *)(linphone_account_creator_get_user_data(creator)); - thiz.waitView.hidden = YES; - if (status == LinphoneAccountCreatorStatusAccountActivated) { - [LinphoneManager.instance lpConfigSetInt:0 forKey:@"must_link_account_time"]; - // save country code prefix if none is already entered - LinphoneAccount *acc = linphone_core_get_default_account(LC); - LinphoneAccountParams const *accParams = linphone_account_get_params(acc); - if (linphone_account_params_get_international_prefix(accParams) == NULL) { - const char *prefix = thiz.countryCodeField.text.UTF8String; - LinphoneAccountParams * newPrefixAccountParams = linphone_account_params_clone(accParams); - linphone_account_params_set_international_prefix(newPrefixAccountParams, prefix[0] == '+' ? &prefix[1] : prefix); - linphone_account_set_params(acc, newPrefixAccountParams); - linphone_account_params_unref(newPrefixAccountParams); - } - [PhoneMainView.instance popToView:DialerView.compositeViewDescription]; - [[NSNotificationCenter defaultCenter] postNotificationName:kLinphoneAddressBookUpdate object:NULL]; - [LinphoneManager.instance.fastAddressBook fetchContactsInBackGroundThread]; - } else { - [thiz showErrorPopup:resp]; - } -} - -#pragma mark - other -- (void)updateCountry:(BOOL)force { - NSDictionary *c = [CountryListView countryWithCountryCode:_countryCodeField.text]; - if (c || force) { - [_countryButton setTitle:c ? [c objectForKey:@"name"] : NSLocalizedString(@"Unknown country code", nil) - forState:UIControlStateNormal]; - } - if ([[_countryButton currentTitle] isEqualToString:NSLocalizedString(@"Unknown country code", nil)]) { - _countryCodeField.layer.borderWidth = .8; - _countryCodeField.layer.cornerRadius = 4.f; - _countryCodeField.layer.borderColor = [[UIColor redColor] CGColor]; - self.linkAccountButton.enabled = FALSE; - } else { - _countryCodeField.layer.borderColor = [[UIColor clearColor] CGColor]; - if (_phoneField.layer.borderColor != [[UIColor redColor] CGColor]) { - self.linkAccountButton.enabled = TRUE; - } - } -} - -- (IBAction)onCountryCodeFieldChange:(id)sender { - [self updateCountry:NO]; -} - -- (IBAction)onCountryCodeFieldEnd:(id)sender { - [self updateCountry:YES]; -} - -- (IBAction)onCountryClick:(id)sender { - self.firstTime = FALSE; - CountryListView *view = VIEW(CountryListView); - [view setDelegate:(id)self]; - [PhoneMainView.instance changeCurrentView:view.compositeViewDescription]; -} - -- (IBAction)onLinkAccount:(id)sender { - _waitView.hidden = NO; - NSString *newStr = [_countryCodeField.text substringWithRange:NSMakeRange(1, [_countryCodeField.text length]-1)]; - linphone_account_creator_set_phone_number(account_creator, _phoneField.text.UTF8String, - newStr.UTF8String); - - NSString * language = [[NSLocale preferredLanguages] objectAtIndex:0]; - linphone_account_creator_set_language(account_creator, [[language substringToIndex:2] UTF8String]); - linphone_account_creator_link_account(account_creator); -} - -- (IBAction)onCheckValidationButton:(id)sender { - _waitView.hidden = NO; - linphone_account_creator_set_activation_code(account_creator, _activationCodeField.text.UTF8String); - linphone_account_creator_activate_alias(account_creator); -} - -- (IBAction)onDialerClick:(id)sender { - [PhoneMainView.instance popCurrentView]; -} - -- (IBAction)onPhoneNumberDisclosureClick:(id)sender { - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"What will my phone number be used for?", nil) - message:NSLocalizedString(@"Your friends will find your more easily if you link your account to your " - @"phone number. \n\nYou will see in your address book who is using " - @"Linphone and your friends will know that they can reach you on Linphone " - @"as well. \n\nYou can use your phone number with only one Linphone " - @"account. If you had already linked your number to an other account but " - @"you prefer to use this one, simply link it now and your number will " - @"automatically be moved to this account.", - nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - [errView addAction:defaultAction]; - [self presentViewController:errView animated:YES completion:nil]; -} - -- (IBAction)onMaybeLater:(id)sender { - [PhoneMainView.instance popToView:DialerView.compositeViewDescription]; -} - -#pragma mark - select country delegate - -- (void)didSelectCountry:(NSDictionary *)country { - [_countryButton setTitle:[country objectForKey:@"name"] forState:UIControlStateNormal]; - _countryCodeField.text = [country objectForKey:@"code"]; -} - -#pragma mark - UITextFieldDelegate Functions - -- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { - //remove the + from the country code to avoir error when checking its validity - NSString *newStr = [_countryCodeField.text substringWithRange:NSMakeRange(1, [_countryCodeField.text length]-1)]; - LinphoneAccountCreatorStatus status = linphone_account_creator_set_phone_number(account_creator, [_phoneField.text UTF8String], [newStr UTF8String]); - if (status == LinphoneAccountCreatorPhoneNumberStatusTooLong || - status == LinphoneAccountCreatorPhoneNumberStatusTooShort) { - self.phoneField.layer.borderWidth = .8; - self.phoneField.layer.cornerRadius = 4.f; - self.phoneField.layer.borderColor = [[UIColor redColor] CGColor]; - self.linkAccountButton.enabled = FALSE; - } else { - self.phoneField.layer.borderColor = [[UIColor clearColor] CGColor]; - if (_countryCodeField.layer.borderColor != [[UIColor redColor] CGColor]){ - self.linkAccountButton.enabled = TRUE; - } - } - return YES; -} - -@end diff --git a/Classes/AssistantView.h b/Classes/AssistantView.h deleted file mode 100644 index b9a225654..000000000 --- a/Classes/AssistantView.h +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import "UICompositeView.h" -#import "TPKeyboardAvoidingScrollView.h" -#import "PhoneMainView.h" - -typedef enum _TokenRequestAction { - TokenRequestAction_None, - TokenRequestAction_CreateAccount, - TokenRequestAction_RecoverAccount -} TokenRequestAction; - -@interface AssistantView : UIViewController { - - @private - LinphoneAccountCreator *account_creator; - UIView *currentView; - UIView *nextView; - NSMutableArray *historyViews; - LinphoneAccount *new_account; - size_t number_of_accounts_before; - BOOL mustRestoreView; - long phone_number_length; - TokenRequestAction tokenRequestAction; -} - -@property(nonatomic) UICompositeViewDescription *outgoingView; -@property (weak, nonatomic) IBOutlet UILabel *subtileLabel_useLinphoneAccount; - -@property(nonatomic, strong) IBOutlet TPKeyboardAvoidingScrollView *contentView; -@property(nonatomic, strong) IBOutlet UIView *waitView; -@property(nonatomic, strong) IBOutlet UIButton *backButton; -@property (weak, nonatomic) IBOutlet UIButton *infoLoginButton; -@property (weak, nonatomic) IBOutlet UIRoundBorderedButton *linphoneLoginButton; - -@property(nonatomic, strong) IBOutlet UIView *welcomeView; -@property(nonatomic, strong) IBOutlet UIView *createAccountView; -@property(nonatomic, strong) IBOutlet UIView *createAccountActivateEmailView; -@property(nonatomic, strong) IBOutlet UIView *linphoneLoginView; -@property(nonatomic, strong) IBOutlet UIView *loginView; -@property(nonatomic, strong) IBOutlet UIView *linphoneSpecificFeatureWarningView; -@property(nonatomic, strong) IBOutlet UIView *remoteProvisioningLoginView; -@property(strong, nonatomic) IBOutlet UIView *remoteProvisioningView; -@property (strong, nonatomic) IBOutlet UIView *createAccountActivateSMSView; -@property (strong, nonatomic) IBOutlet UIView *qrCodeView; - -@property(nonatomic, strong) IBOutlet UIImageView *welcomeLogoImage; -@property(nonatomic, strong) IBOutlet UIButton *gotoCreateAccountButton; -@property(nonatomic, strong) IBOutlet UIButton *gotoLinphoneLoginButton; -@property(nonatomic, strong) IBOutlet UIButton *gotoLinphoneSpecificFeatureWarningButton; -@property(nonatomic, strong) IBOutlet UIButton *gotoLoginButton; -@property(nonatomic, strong) IBOutlet UIButton *gotoRemoteProvisioningButton; -@property (weak, nonatomic) IBOutlet UILabel *phoneLabel; -@property (weak, nonatomic) IBOutlet UILabel *phoneTitle; -@property (weak, nonatomic) IBOutlet UILabel *activationTitle; -@property (weak, nonatomic) IBOutlet UILabel *activationEmailText; -@property (weak, nonatomic) IBOutlet UILabel *activationSMSText; -@property (weak, nonatomic) IBOutlet UILabel *linphoneSpecificFeatureWarningText; -@property (weak, nonatomic) IBOutlet UILabel *linphoneSpecificFeatureWarningContactLink; - -@property (weak, nonatomic) IBOutlet UILabel *accountLabel; -@property (weak, nonatomic) IBOutlet UIButton *qrCodeButton; -@property (weak, nonatomic) IBOutlet UIButton *downloadButton; -@property (weak, nonatomic) IBOutlet UITextField *urlLabel; -@property (weak, nonatomic) IBOutlet NSLayoutConstraint *createAccountNextButtonPositionConstraint; -@property (weak, nonatomic) IBOutlet UIButton *acceptButton; -- (IBAction)onAcceptTermsClick:(id)sender; -@property (weak, nonatomic) IBOutlet UITextView *acceptText; - - -+ (NSString *)StringForXMLRPCError:(const char *)err; -+ (NSString *)errorForLinphoneAccountCreatorPhoneNumberStatus:(LinphoneAccountCreatorPhoneNumberStatus)status; -+ (NSString *)errorForLinphoneAccountCreatorUsernameStatus:(LinphoneAccountCreatorUsernameStatus)status; -+ (NSString *)errorForLinphoneAccountCreatorEmailStatus:(LinphoneAccountCreatorEmailStatus)status; -+ (NSString *)errorForLinphoneAccountCreatorPasswordStatus:(LinphoneAccountCreatorPasswordStatus)status; -+ (NSString *)errorForLinphoneAccountCreatorActivationCodeStatus:(LinphoneAccountCreatorActivationCodeStatus)status; -+ (NSString *)errorForLinphoneAccountCreatorStatus:(LinphoneAccountCreatorStatus)status; -+ (NSString *)errorForLinphoneAccountCreatorDomainStatus:(LinphoneAccountCreatorDomainStatus)status; - -- (void)reset; -- (void)fillDefaultValues; - -- (IBAction)onBackClick:(id)sender; - -- (IBAction)onGotoCreateAccountClick:(id)sender; -- (IBAction)onGotoLinphoneLoginClick:(id)sender; -- (IBAction)onGotoLoginClick:(id)sender; -- (IBAction)onGotoRemoteProvisioningClick:(id)sender; - -- (IBAction)onCreateAccountClick:(id)sender; -- (IBAction)onCreateAccountActivationClick:(id)sender; -- (IBAction)onLinphoneLoginClick:(id)sender; -- (IBAction)onLoginClick:(id)sender; -- (IBAction)onRemoteProvisioningLoginClick:(id)sender; -- (IBAction)onRemoteProvisioningDownloadClick:(id)sender; -- (IBAction)onLaunchQRCodeView:(id)sender; -- (IBAction)onCreateAccountCheckActivatedClick:(id)sender; -- (IBAction)onLinkAccountClick:(id)sender; - -- (IBAction)onFormSwitchToggle:(id)sender; -- (IBAction)onCountryCodeClick:(id)sender; -- (IBAction)onCountryCodeFieldChange:(id)sender; -- (IBAction)onCountryCodeFieldEnd:(id)sender; -- (IBAction)onPhoneNumberDisclosureClick:(id)sender; -@end diff --git a/Classes/AssistantView.m b/Classes/AssistantView.m deleted file mode 100644 index 9979fc071..000000000 --- a/Classes/AssistantView.m +++ /dev/null @@ -1,1973 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "linphone/linphonecore_utils.h" -#import -#import - -#import "AssistantView.h" -#import "CountryListView.h" -#import "LinphoneManager.h" -#import "PhoneMainView.h" -#import "UIAssistantTextField.h" -#import "UITextField+DoneButton.h" -#import "LinphoneAppDelegate.h" -#import "SVProgressHUD.h" - -#ifdef DEBUG -#define PROVIDER_NAME "apns.dev" -#else -#define PROVIDER_NAME "apns" -#endif - -typedef enum _ViewElement { - ViewElement_Username = 100, - ViewElement_Password = 101, - ViewElement_Password2 = 102, - ViewElement_Email = 103, - ViewElement_Domain = 104, - ViewElement_URL = 105, - ViewElement_DisplayName = 106, - ViewElement_Phone = 107, - ViewElement_SMSCode = 108, - ViewElement_PhoneCC = 109, - ViewElement_TextFieldCount = ViewElement_PhoneCC - 100 + 1, - ViewElement_Transport = 110, - ViewElement_Username_Label = 120, - ViewElement_NextButton = 130, - - ViewElement_PhoneButton = 150, - - ViewElement_UsernameFormView = 181, - ViewElement_EmailFormView = 182, -} ViewElement; - -@implementation AssistantView - -#pragma mark - Lifecycle Functions - -- (id)init { - self = [super initWithNibName:NSStringFromClass(self.class) bundle:[NSBundle mainBundle]]; - if (self != nil) { - [[NSBundle mainBundle] loadNibNamed:@"AssistantViewScreens" owner:self options:nil]; - historyViews = [[NSMutableArray alloc] init]; - currentView = nil; - mustRestoreView = NO; - } - return self; -} - -#pragma mark - UICompositeViewDelegate Functions - -static UICompositeViewDescription *compositeDescription = nil; - -+ (UICompositeViewDescription *)compositeViewDescription { - if (compositeDescription == nil) { - compositeDescription = [[UICompositeViewDescription alloc] init:self.class - statusBar:StatusBarView.class - tabBar:nil - sideMenu:SideMenuView.class - fullscreen:false - isLeftFragment:NO - fragmentWith:nil]; - - compositeDescription.darkBackground = true; - } - return compositeDescription; -} - -- (UICompositeViewDescription *)compositeViewDescription { - return self.class.compositeViewDescription; -} - -#pragma mark - ViewController Functions - -- (IBAction)onContactTap { - NSString *url = @"https://www.linphone.org/contact"; - if (![UIApplication.sharedApplication openURL:[NSURL URLWithString:url]]) { - LOGE(@"[Assistant] Failed to open %@, invalid URL", url); - } -} - -- (void)viewDidLoad { - [super viewDidLoad]; - UITapGestureRecognizer *tapGestureRecognizer = - [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onContactTap)]; - tapGestureRecognizer.numberOfTapsRequired = 1; - [_linphoneSpecificFeatureWarningContactLink addGestureRecognizer:tapGestureRecognizer]; - _linphoneSpecificFeatureWarningContactLink.userInteractionEnabled = YES; -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(registrationUpdateEvent:) - name:kLinphoneRegistrationUpdate - object:nil]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(configuringUpdate:) - name:kLinphoneConfiguringStateUpdate - object:nil]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(onAccountAuthenticationTokenReceived:) - name:kLinphoneAccountCreationAuthenticationTokenReceived - object:nil]; - - if (!mustRestoreView) { - new_account = NULL; - MSList *accounts = [LinphoneManager.instance createAccountsNotHiddenList]; - number_of_accounts_before = bctbx_list_size(accounts); - bctbx_free(accounts); - [self resetTextFields]; - [self changeView:_welcomeView back:FALSE animation:FALSE]; - } - mustRestoreView = NO; - _outgoingView = DialerView.compositeViewDescription; - _qrCodeButton.hidden = !ENABLE_QRCODE; - [self resetLiblinphone:FALSE]; - [self enableWelcomeViewButtons]; - NSString *message = NSLocalizedString(@"I accept Belledonne Communications’ terms of use and privacy policy", nil); - NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:message attributes:@{NSForegroundColorAttributeName : [UIColor systemGrayColor]}]; - [attributedString addAttribute:NSLinkAttributeName - value:@"https://www.linphone.org/general-terms" - range:[[attributedString string] rangeOfString:NSLocalizedString(@"terms of use", nil)]]; - [attributedString addAttribute:NSLinkAttributeName - value:@"https://www.linphone.org/privacy-policy" - range:[[attributedString string] rangeOfString:NSLocalizedString(@"privacy policy", nil)]]; - - NSDictionary *linkAttributes = @{NSForegroundColorAttributeName : [UIColor redColor], - NSUnderlineStyleAttributeName : @(NSUnderlineStyleSingle)}; - - _acceptText.linkTextAttributes = linkAttributes; - _acceptText.attributedText = attributedString; - _acceptText.editable = NO; - _acceptText.delegate = self; -} - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - [NSNotificationCenter.defaultCenter removeObserver:self]; -} - -- (void)fitContent { - // always resize content view so that it fits whole available width - CGRect frame = currentView.frame; - frame.size.width = _contentView.bounds.size.width; - currentView.frame = frame; - - [_contentView setContentSize:frame.size]; - [_contentView contentSizeToFit]; - - _qrCodeView.frame = [[UIScreen mainScreen] bounds]; -} - -- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { - [self fitContent]; -} - -#pragma mark - UITextViewDelegate -- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange interaction:(UITextItemInteraction)interaction { - return [[UIApplication sharedApplication] openURL:URL]; -} - -#pragma mark - Utils - -- (void)resetLiblinphone:(BOOL)core { - - if (account_creator) { - linphone_account_creator_unref(account_creator); - account_creator = NULL; - } - if (core) { - [LinphoneManager.instance resetLinphoneCore]; - } - account_creator = linphone_account_creator_new( - LC, [LinphoneManager.instance lpConfigStringForKey:@"xmlrpc_url" inSection:@"assistant" withDefault:@""] - .UTF8String); - linphone_account_creator_set_user_data(account_creator, (__bridge void *)(self)); - - LinphoneAccountCreatorCbs * cbs = linphone_factory_create_account_creator_cbs(linphone_factory_get()); - - linphone_account_creator_cbs_set_is_account_exist(cbs, assistant_is_account_used); - linphone_account_creator_cbs_set_create_account(cbs, assistant_create_account); - linphone_account_creator_cbs_set_activate_account(cbs, assistant_activate_account); - linphone_account_creator_cbs_set_is_account_activated(cbs, - assistant_is_account_activated); - linphone_account_creator_cbs_set_recover_account(cbs, - assistant_recover_phone_account); - linphone_account_creator_cbs_set_is_account_linked(cbs, - assistant_is_account_linked); - linphone_account_creator_cbs_set_login_linphone_account(cbs, assistant_login_linphone_account); - linphone_account_creator_cbs_set_send_token(cbs, assistant_request_auth_token_cb); - - linphone_account_creator_add_callbacks(account_creator, cbs); - linphone_account_creator_cbs_unref(cbs); -} - -- (void)loadAssistantConfig:(NSString *)rcFilename { - linphone_core_load_config_from_xml(LC, - [LinphoneManager bundleFile:rcFilename].UTF8String); - if (account_creator) { - // Below two settings are applied to account creator when it is built. - // Reloading Core config after won't change the account creator configuration, - // hence the manual reload - linphone_account_creator_set_domain(account_creator, [[LinphoneManager.instance lpConfigStringForKey:@"domain" inSection:@"assistant" withDefault:@""] UTF8String]); - linphone_account_creator_set_algorithm(account_creator, [[LinphoneManager.instance lpConfigStringForKey:@"algorithm" inSection:@"assistant" withDefault:@""] UTF8String]); - } - [self changeView:nextView back:FALSE animation:TRUE]; -} - -- (void)reset { - [LinphoneManager.instance removeAllAccounts]; - [self resetTextFields]; - [self changeView:_welcomeView back:FALSE animation:FALSE]; - _waitView.hidden = TRUE; -} - -- (void)clearHistory { - [historyViews removeAllObjects]; -} - -+ (NSString *)StringForXMLRPCError:(const char *)err { -#define IS(x) (strcmp(err, #x) == 0) - if - IS(ERROR_ACCOUNT_ALREADY_ACTIVATED) - return NSLocalizedString(@"This account is already activated.", nil); - if - IS(ERROR_ACCOUNT_ALREADY_IN_USE) - return NSLocalizedString(@"This account is already in use.", nil); - if - IS(ERROR_ACCOUNT_DOESNT_EXIST) - return NSLocalizedString(@"This account does not exist.", nil); - if - IS(ERROR_ACCOUNT_NOT_ACTIVATED) - return NSLocalizedString(@"This account is not activated yet.", nil); - if - IS(ERROR_ALIAS_ALREADY_IN_USE) - return NSLocalizedString(@"This phone number is already used. Please type a different number. \nYou can delete " - @"your existing account if you want to reuse your phone number.", - nil); - if - IS(ERROR_ALIAS_DOESNT_EXIST) - return NSLocalizedString(@"This alias does not exist.", nil); - if - IS(ERROR_EMAIL_ALREADY_IN_USE) - return NSLocalizedString(@"This email address is already used.", nil); - if - IS(ERROR_EMAIL_DOESNT_EXIST) - return NSLocalizedString(@"This email does not exist.", nil); - if - IS(ERROR_KEY_DOESNT_MATCH) - return NSLocalizedString(@"The confirmation code is invalid. \nPlease try again.", nil); - if - IS(ERROR_PASSWORD_DOESNT_MATCH) - return NSLocalizedString(@"Passwords do not match.", nil); - if - IS(ERROR_PHONE_ISNT_E164) - return NSLocalizedString(@"Your phone number is invalid.", nil); - if - IS(ERROR_CANNOT_SEND_SMS) - return NSLocalizedString(@"Server error, please try again later.", nil); - if - IS(ERROR_NO_PHONE_NUMBER) - return NSLocalizedString(@"Please confirm your country code and enter your phone number.", nil); - if - IS(Missing required parameters) - return NSLocalizedString(@"Missing required parameters", nil); - if - IS(ERROR_BAD_CREDENTIALS) - return NSLocalizedString(@"Bad credentials, check your account settings", nil); - if - IS(ERROR_NO_PASSWORD) - return NSLocalizedString(@"Please enter a password to your account", nil); - if - IS(ERROR_NO_EMAIL) - return NSLocalizedString(@"Please enter your email", nil); - if - IS(ERROR_NO_USERNAME) - return NSLocalizedString(@"Please enter a username", nil); - if - IS(ERROR_INVALID_CONFIRMATION) - return NSLocalizedString(@"Your confirmation password doesn't match your password", nil); - if - IS(ERROR_INVALID_EMAIL) - return NSLocalizedString(@"Your email is invalid", nil); - - if (!linphone_core_is_network_reachable(LC)) - return NSLocalizedString(@"There is no network connection available, enable " - @"WIFI or WWAN prior to configure an account.", - nil); - if IS(ERROR_PUSH_UNAVAILABLE) - return NSLocalizedString(@"Push parameters are not available, and are required in order to create an account through an iPhone.\n Please enable them or create your account on https://subscribe.linphone.org", nil); - - if IS(ERROR_AUTH_TOKEN_NOT_RECEIVED) - return NSLocalizedString(@"Failed to get an auth token from account manager server", nil); - - return NSLocalizedString(@"Unknown error, please try again later.", nil); -} - -- (void)enableWelcomeViewButtons { - BOOL acceptTerms = [LinphoneManager.instance lpConfigBoolForKey:@"accept_terms" withDefault:FALSE]; - UIImage *image = acceptTerms ? [UIImage imageNamed:@"checkbox_checked.png"] : [UIImage imageNamed:@"checkbox_unchecked.png"]; - [_acceptButton setImage:image forState:UIControlStateNormal]; - _gotoRemoteProvisioningButton.enabled = _gotoLinphoneLoginButton.enabled = _gotoCreateAccountButton.enabled = _gotoLinphoneSpecificFeatureWarningButton.enabled = acceptTerms; -} - -+ (NSString *)errorForLinphoneAccountCreatorPhoneNumberStatus:(LinphoneAccountCreatorPhoneNumberStatus)status { - switch (status) { - case LinphoneAccountCreatorPhoneNumberStatusTooShort: /**< Phone number too short */ - return NSLocalizedString(@"Your phone number is too short.", nil); - case LinphoneAccountCreatorPhoneNumberStatusTooLong: /**< Phone number too long */ - return NSLocalizedString(@"Your phone number is too long.", nil); - return nil; /* this is not an error, just user has to finish typing */ - case LinphoneAccountCreatorPhoneNumberStatusInvalidCountryCode: /**< Country code invalid */ - return NSLocalizedString(@"Your country code is invalid.", nil); - case LinphoneAccountCreatorPhoneNumberStatusInvalid: /**< Phone number invalid */ - return NSLocalizedString(@"Your phone number is invalid.", nil); - default: - return NSLocalizedString(@"Unknown error, please try again later.", nil); - } -} - -+ (NSString *)errorForLinphoneAccountCreatorUsernameStatus:(LinphoneAccountCreatorUsernameStatus)status { - switch (status) { - case LinphoneAccountCreatorUsernameStatusTooShort: /**< Username too short */ - return NSLocalizedString(@"Your username is too short.", nil); - case LinphoneAccountCreatorUsernameStatusTooLong: /**< Username too long */ - return NSLocalizedString(@"Your username is too long.", nil); - case LinphoneAccountCreatorUsernameStatusInvalidCharacters: /**< Contain invalid characters */ - return NSLocalizedString(@"Your username contains invalid characters.", nil); - case LinphoneAccountCreatorUsernameStatusInvalid: /**< Invalid username */ - return NSLocalizedString(@"Your username is invalid.", nil); - default: - return NSLocalizedString(@"Unknown error, please try again later.", nil); - } -} - -+ (NSString *)errorForLinphoneAccountCreatorEmailStatus:(LinphoneAccountCreatorEmailStatus)status { - switch (status) { - case LinphoneAccountCreatorEmailStatusMalformed: /**< Email malformed */ - return NSLocalizedString(@"Your email is malformed.", nil); - case LinphoneAccountCreatorEmailStatusInvalidCharacters: /**< Contain invalid characters */ - return NSLocalizedString(@"Your email contains invalid characters.", nil); - default: - return NSLocalizedString(@"Unknown error, please try again later.", nil); - } -} - -+ (NSString *)errorForLinphoneAccountCreatorPasswordStatus:(LinphoneAccountCreatorPasswordStatus)status { - switch (status) { - case LinphoneAccountCreatorPasswordStatusTooShort: /**< Password too short */ - // return NSLocalizedString(@"Your password is too short.", nil); - case LinphoneAccountCreatorPasswordStatusTooLong: /**< Password too long */ - // return NSLocalizedString(@"Your password is too long.", nil); - return nil; - case LinphoneAccountCreatorPasswordStatusInvalidCharacters: /**< Contain invalid characters */ - return NSLocalizedString(@"Your password contains invalid characters.", nil); - case LinphoneAccountCreatorPasswordStatusMissingCharacters: /**< Missing specific characters */ - default: - return NSLocalizedString(@"Unknown error, please try again later.", nil); - } -} - -+ (NSString *)errorForLinphoneAccountCreatorActivationCodeStatus:(LinphoneAccountCreatorActivationCodeStatus)status { - switch (status) { - case LinphoneAccountCreatorActivationCodeStatusTooShort: /**< Activation code too short */ - return NSLocalizedString(@"Your country code is too short.", nil); - case LinphoneAccountCreatorActivationCodeStatusTooLong: /**< Activation code too long */ - return NSLocalizedString(@"Your country code is too long.", nil); - return nil; /* this is not an error, just user has to finish typing */ - case LinphoneAccountCreatorActivationCodeStatusInvalidCharacters: /**< Contain invalid characters */ - return NSLocalizedString(@"Your activation code contains invalid characters.", nil); - default: - return NSLocalizedString(@"Unknown error, please try again later.", nil); - } -} - -+ (NSString *)errorForLinphoneAccountCreatorStatus:(LinphoneAccountCreatorStatus)status { - switch (status) { - case LinphoneAccountCreatorStatusRequestFailed: /**< Request failed */ - return NSLocalizedString(@"Server error, please try again later.", nil); - case LinphoneAccountCreatorStatusMissingArguments: /**< Request failed due to missing argument(s) */ - return NSLocalizedString(@"Missing required parameters", nil); - case LinphoneAccountCreatorStatusMissingCallbacks: /**< Request failed due to missing callback(s) */ - return NSLocalizedString(@"Missing required callbacks", nil); - - /** Account status **/ - /* Existence */ - case LinphoneAccountCreatorStatusAccountNotExist: /**< Account not exist */ - return NSLocalizedString(@"This account does not exist.", nil); - case LinphoneAccountCreatorStatusAliasExist: /**< Alias exist */ - return NSLocalizedString( - @"This phone number is already used. Please type a different number. \nYou can delete " - @"your existing account if you want to reuse your phone number.", - nil); - case LinphoneAccountCreatorStatusAliasNotExist: /**< Alias not exist */ - return NSLocalizedString(@"This alias does not exist.", nil); - /* Activation */ - case LinphoneAccountCreatorStatusAccountAlreadyActivated: /**< Account already activated */ - return NSLocalizedString(@"This account is already activated.", nil); - case LinphoneAccountCreatorStatusAccountNotActivated: /**< Account not activated */ - return NSLocalizedString(@"This account is not activated yet.", nil); - - /** Server **/ - case LinphoneAccountCreatorStatusServerError: /**< Error server */ - return NSLocalizedString(@"Server error, please try again later.", nil); - default: - if (!linphone_core_is_network_reachable(LC)) { - return NSLocalizedString(@"There is no network connection available, enable " - @"WIFI or WWAN prior to configure an account.", - nil); - } - return NSLocalizedString(@"Unknown error, please try again later.", nil); - } -} - -+ (NSString *)errorForLinphoneAccountCreatorDomainStatus:(LinphoneAccountCreatorDomainStatus)status { - switch (status) { - case LinphoneAccountCreatorDomainInvalid: /**< Domain invalid */ - return NSLocalizedString(@"Invalid.", nil); - default: - return NSLocalizedString(@"Unknown error, please try again later.", nil); - } -} - -- (void)configureAccount { - LinphoneManager *lm = LinphoneManager.instance; - - if (!linphone_core_is_network_reachable(LC)) { - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Network Error", nil) - message:NSLocalizedString(@"There is no network connection available, enable " - @"WIFI or WWAN prior to configure an account", - nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Cancel", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [self presentViewController:errView animated:YES completion:nil]; - _waitView.hidden = YES; - return; - } - - // remove previous proxy config, if any - if (new_account != NULL) { - const LinphoneAuthInfo *auth = linphone_account_find_auth_info(new_account); - linphone_core_remove_account(LC, new_account); - if (auth) { - linphone_core_remove_auth_info(LC, auth); - } - } - // Used to be linphone_account_creator_create_proxy_config, which is now deprecated and has no "account" equivalent since linphone_account_creator_create_account is a very different function. - - /** start of linphone_account_creator_create_proxy_config re-implementation for accounts **/ - LinphoneAuthInfo *info; - LinphoneAccountParams *accountParams = linphone_core_create_account_params(LC); - LinphoneAddress *identity = linphone_address_new(NULL); - linphone_address_set_username(identity, linphone_account_creator_get_username(account_creator)); - linphone_address_set_domain(identity, linphone_account_creator_get_domain(account_creator)); - - char const *creatorDisplayName = linphone_account_creator_get_display_name(account_creator); - if (creatorDisplayName) { - linphone_address_set_display_name(identity, creatorDisplayName); - } - linphone_account_params_set_identity_address(accountParams, identity); - if (linphone_account_creator_get_phone_country_code(account_creator)) { - linphone_account_params_set_international_prefix(accountParams, linphone_account_creator_get_phone_country_code(account_creator)); - } else if (linphone_account_creator_get_phone_number(account_creator)) { - int dial_prefix_number = linphone_dial_plan_lookup_ccc_from_e164(linphone_account_creator_get_phone_number(account_creator)); - char buff[4]; - snprintf(buff, sizeof(buff), "%d", dial_prefix_number); - linphone_account_params_set_international_prefix(accountParams, buff); - } - char const* creatorDomain = linphone_account_creator_get_domain(account_creator); - if (linphone_account_params_get_server_addr(accountParams) == NULL && creatorDomain != NULL) { - char *url = ms_strdup_printf("sip:%s", creatorDomain); - LinphoneAddress *proxy_addr = linphone_address_new(url); - if (proxy_addr) { - linphone_address_set_transport(proxy_addr, linphone_account_creator_get_transport(account_creator)); - linphone_account_params_set_server_addr(accountParams, linphone_address_as_string_uri_only(proxy_addr)); - linphone_address_unref(proxy_addr); - } else { - linphone_account_params_set_server_addr(accountParams, creatorDomain); - } - ms_free(url); - } - - linphone_account_params_set_register_enabled(accountParams, TRUE); - - const char* creatorPassword = linphone_account_creator_get_password(account_creator); - const char* creatorHa1 = linphone_account_creator_get_ha1(account_creator); - info = linphone_auth_info_new_for_algorithm(linphone_address_get_username(identity), // username - NULL, //user id - creatorPassword, // passwd - creatorPassword ? NULL : creatorHa1, // ha1 - !creatorPassword && creatorHa1 ? linphone_address_get_domain(identity) : NULL, // realm - assumed to be domain - linphone_address_get_domain(identity), // domain - creatorPassword ? NULL : linphone_account_creator_get_algorithm(account_creator) //if clear text password is given, allow its usage with all algorithms. - ); - linphone_core_add_auth_info(LC, info); - linphone_address_unref(identity); - - LinphonePushNotificationConfig *pushConfig = linphone_account_params_get_push_notification_config(accountParams); - linphone_push_notification_config_set_provider(pushConfig, PROVIDER_NAME); - - if (strcmp(creatorDomain, "sip.linphone.org")==0) { - linphone_core_set_media_encryption(LC, LinphoneMediaEncryptionSRTP); - } - - new_account = linphone_core_create_account(LC, accountParams); - linphone_account_params_unref(accountParams); - - if (linphone_core_add_account(LC, new_account) != -1) { - if (linphone_account_creator_get_set_as_default(account_creator)) { - linphone_core_set_default_account(LC, new_account); - } - } - else { - linphone_core_remove_auth_info(LC, info); - linphone_auth_info_unref(info); - new_account = NULL; - } - /** end of linphone_account_creator_create_proxy_config re-implementation for accounts **/ - - if (new_account) { - // reload address book to prepend proxy config domain to contacts' phone number - // todo: STOP doing that! - [[LinphoneManager.instance fastAddressBook] fetchContactsInBackGroundThread]; - } else - [self displayAssistantConfigurationError]; - - [LinphoneManager.instance migrationPerAccount]; - - linphone_config_sync(LinphoneManager.instance.configDb); - -} - -- (void)displayAssistantConfigurationError { - UIAlertController *errView = [UIAlertController - alertControllerWithTitle:NSLocalizedString(@"Assistant error", nil) - message:NSLocalizedString( - @"Could not configure your account, please check parameters or try again later", - nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction *defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Cancel", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction *action){ - }]; - - [errView addAction:defaultAction]; - [self presentViewController:errView animated:YES completion:nil]; - _waitView.hidden = YES; - return; -} - -#pragma mark - UI update - -- (void)changeView:(UIView *)view back:(BOOL)back animation:(BOOL)animation { - - static BOOL placement_done = NO; // indicates if the button placement has been done in the assistant choice view - - - if (view == _welcomeView) { - BOOL show_logo = [LinphoneManager.instance lpConfigBoolForKey:@"show_assistant_logo_in_choice_view_preference"]; - BOOL show_extern = ![LinphoneManager.instance lpConfigBoolForKey:@"hide_assistant_custom_account"]; - BOOL show_new = ![LinphoneManager.instance lpConfigBoolForKey:@"hide_assistant_create_account"]; - BOOL show_fetch_remote = ![LinphoneManager.instance lpConfigBoolForKey:@"show_remote_provisioning_in_assistant"]; - - if (!placement_done) { - // visibility - _welcomeLogoImage.hidden = !show_logo; - _gotoLoginButton.hidden = !show_extern; - _gotoCreateAccountButton.hidden = !show_new; - _gotoRemoteProvisioningButton.hidden = !show_fetch_remote; - - // placement - if (show_logo && show_new && !show_extern) { - // lower both remaining buttons - [_gotoCreateAccountButton setCenter:[_gotoLinphoneLoginButton center]]; - [_gotoLoginButton setCenter:[_gotoLoginButton center]]; - - } else if (!show_logo && !show_new && show_extern) { - // move up the extern button - [_gotoLoginButton setCenter:[_gotoCreateAccountButton center]]; - } - placement_done = YES; - } - if (!show_extern && !show_logo) { - // no option to create or specify a custom account: go to connect view directly - view = _linphoneLoginView; - } - } - - if (currentView == _qrCodeView) { - linphone_core_enable_video_preview(LC, FALSE); - linphone_core_enable_qrcode_video_preview(LC, FALSE); - LinphoneAppDelegate *delegate = (LinphoneAppDelegate *)UIApplication.sharedApplication.delegate; - delegate.onlyPortrait = FALSE; - } - - // Animation - if (animation && ANIMATED) { - CATransition *trans = [CATransition animation]; - [trans setType:kCATransitionPush]; - [trans setDuration:0.35]; - [trans setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; - if (back) { - [trans setSubtype:kCATransitionFromLeft]; - } else { - [trans setSubtype:kCATransitionFromRight]; - } - [_contentView.layer addAnimation:trans forKey:@"Transition"]; - } - - // Stack current view - if (currentView != nil) { - if (!back) - [historyViews addObject:currentView]; - [currentView removeFromSuperview]; - } - - // Set current view - currentView = view; - [_contentView insertSubview:currentView atIndex:0]; - [_contentView setContentOffset:CGPointMake(0, -_contentView.contentInset.top) animated:NO]; - - // Resize next button to fix text length - UIRoundBorderedButton *button = [self findButton:ViewElement_NextButton]; - CGSize size = [button.titleLabel.text sizeWithFont:button.titleLabel.font]; - size.width += 60; - CGRect frame = button.frame; - frame.origin.x += (button.frame.size.width - size.width) / 2; - frame.size.width = size.width; - [button setFrame:frame]; - - [self fitContent]; - - // also force next button alignement on create account page - if ([self findView:ViewElement_PhoneButton inView:currentView ofType:UIRoundBorderedButton.class]) { - CTTelephonyNetworkInfo *networkInfo = [CTTelephonyNetworkInfo new]; - CTCarrier *carrier = networkInfo.subscriberCellularProvider; - NSDictionary *country = [CountryListView countryWithIso:carrier.isoCountryCode]; - - if (!IPAD) { - UISwitch *emailSwitch = (UISwitch *)[self findView:ViewElement_EmailFormView inView:self.contentView ofType:UISwitch.class]; - UILabel *emailLabel = (UILabel *)[self findView:ViewElement_EmailFormView inView:self.contentView ofType:UILabel.class]; - [emailSwitch removeFromSuperview]; - [emailLabel removeFromSuperview]; - //Move up the createAccountButton - CGRect r1 = [currentView frame]; - r1.size.height = 460; - [currentView setFrame:r1]; - } - - if (!country) { - //fetch phone locale - for (NSString* lang in [NSLocale preferredLanguages]) { - NSUInteger idx = [lang rangeOfString:@"-"].location; - idx = (idx == NSNotFound) ? idx = 0 : idx + 1; - if ((country = [CountryListView countryWithIso:[lang substringFromIndex:idx]]) != nil) - break; - } - } - - if (country) { - [self didSelectCountry:country]; - } - [self onFormSwitchToggle:nil]; - } - - // every UITextField subviews with phone keyboard must be tweaked to have a done button - [self addDoneButtonRecursivelyInView:self.view]; - [self prepareErrorLabels]; -} - -- (void)addDoneButtonRecursivelyInView:(UIView *)subview { - for (UIView *child in [subview subviews]) { - if ([child isKindOfClass:UITextField.class]) { - UITextField *tf = (UITextField *)child; - if (tf.keyboardType == UIKeyboardTypePhonePad || tf.keyboardType == UIKeyboardTypeNumberPad) { - [tf addDoneButton]; - } - } - [self addDoneButtonRecursivelyInView:child]; - } -} - -- (void)fillDefaultValues { - [self resetTextFields]; - - LinphoneAccountParams *default_account_params = linphone_core_create_account_params(LC); - LinphoneAccount *default_account = linphone_core_create_account(LC, default_account_params); - const char *identity = linphone_account_params_get_identity(linphone_account_get_params(default_account)); - if (identity) { - LinphoneAddress *default_addr = linphone_core_interpret_url_2(LC, identity, false); - if (default_addr) { - const char *domain = linphone_address_get_domain(default_addr); - const char *username = linphone_address_get_username(default_addr); - if (domain && strlen(domain) > 0) { - [self findTextField:ViewElement_Domain].text = [NSString stringWithUTF8String:domain]; - } - if (username && strlen(username) > 0 && username[0] != '?') { - [self findTextField:ViewElement_Username].text = [NSString stringWithUTF8String:username]; - } - } - } - - [self changeView:_remoteProvisioningLoginView back:FALSE animation:TRUE]; - - linphone_account_params_unref(default_account_params); -} - -- (void)resetTextFields { - for (UIView *view in @[ - _welcomeView, - _createAccountView, - _linphoneLoginView, - _loginView, - _createAccountActivateEmailView, - _createAccountActivateSMSView, - _remoteProvisioningLoginView - ]) { - [AssistantView cleanTextField:view]; -#if DEBUG - UIAssistantTextField *atf = - (UIAssistantTextField *)[self findView:ViewElement_Domain inView:view ofType:UIAssistantTextField.class]; - atf.text = @"test.linphone.org"; -#endif - } - phone_number_length = 0; -} - -+ (void)cleanTextField:(UIView *)view { - if ([view isKindOfClass:UIAssistantTextField.class]) { - [(UIAssistantTextField *)view setText:@""]; - ((UIAssistantTextField *)view).canShowError = NO; - } else if (view.tag == ViewElement_PhoneButton) { - [(UIButton *)view setTitle:NSLocalizedString(@"Select your country", nil) forState:UIControlStateNormal]; - } else { - for (UIView *subview in view.subviews) { - [AssistantView cleanTextField:subview]; - } - } -} - -- (UIView *)findView:(ViewElement)tag inView:view ofType:(Class)type { - for (UIView *child in [view subviews]) { - if (child.tag == tag && child.class == type) { - return child; - } else { - UIView *o = [self findView:tag inView:child ofType:type]; - if (o) - return o; - } - } - return nil; -} - -- (UIAssistantTextField *)findTextField:(ViewElement)tag { - return (UIAssistantTextField *)[self findView:tag inView:self.contentView ofType:[UIAssistantTextField class]]; -} - -- (UIRoundBorderedButton *)findButton:(ViewElement)tag { - return (UIRoundBorderedButton *)[self findView:tag inView:self.contentView ofType:[UIRoundBorderedButton class]]; -} - -- (UILabel *)findLabel:(ViewElement)tag { - return (UILabel *)[self findView:tag inView:self.contentView ofType:[UILabel class]]; -} - -- (void)prepareErrorLabels { - UIAssistantTextField *createUsername = [self findTextField:ViewElement_Username]; - [createUsername - showError:[AssistantView - errorForLinphoneAccountCreatorUsernameStatus:LinphoneAccountCreatorUsernameStatusInvalid] - when:^BOOL(NSString *inputEntry) { - LinphoneAccountCreatorUsernameStatus s = - linphone_account_creator_set_username(account_creator, inputEntry.UTF8String); - if (s != LinphoneAccountCreatorUsernameStatusOk) - linphone_account_creator_set_username(account_creator, NULL); - createUsername.errorLabel.text = [AssistantView errorForLinphoneAccountCreatorUsernameStatus:s]; - return s != LinphoneAccountCreatorUsernameStatusOk; - }]; - UIAssistantTextField *createPhone = [self findTextField:ViewElement_Phone]; - [createPhone - showError:[AssistantView - errorForLinphoneAccountCreatorPhoneNumberStatus:LinphoneAccountCreatorPhoneNumberStatusInvalid] - when:^BOOL(NSString *inputEntry) { - - UIAssistantTextField *countryCodeField = [self findTextField:ViewElement_PhoneCC]; - NSString *newStr = - [countryCodeField.text substringWithRange:NSMakeRange(1, [countryCodeField.text length] - 1)]; - NSString *prefix = (inputEntry.length > 0) ? newStr : nil; - LinphoneAccountCreatorPhoneNumberStatus s = linphone_account_creator_set_phone_number( - account_creator, inputEntry.length > 0 ? inputEntry.UTF8String : NULL, prefix.UTF8String); - if (s != LinphoneAccountCreatorPhoneNumberStatusOk) { - linphone_account_creator_set_phone_number(account_creator, NULL, NULL); - } - - createPhone.errorLabel.text = [AssistantView errorForLinphoneAccountCreatorPhoneNumberStatus:s]; - - return s != LinphoneAccountCreatorPhoneNumberStatusOk; - }]; - - UIAssistantTextField *password = [self findTextField:ViewElement_Password]; - [password showError:[AssistantView - errorForLinphoneAccountCreatorPasswordStatus:LinphoneAccountCreatorPasswordStatusTooShort] - when:^BOOL(NSString *inputEntry) { - LinphoneAccountCreatorPasswordStatus s = - linphone_account_creator_set_password(account_creator, inputEntry.UTF8String); - password.errorLabel.text = [AssistantView errorForLinphoneAccountCreatorPasswordStatus:s]; - return s != LinphoneAccountCreatorPasswordStatusOk; - }]; - - UIAssistantTextField *password2 = [self findTextField:ViewElement_Password2]; - [password2 showError:NSLocalizedString(@"The confirmation code is invalid. \nPlease check your SMS and try again.", nil) - when:^BOOL(NSString *inputEntry) { - return ![inputEntry isEqualToString:[self findTextField:ViewElement_Password].text]; - }]; - - UIAssistantTextField *email = [self findTextField:ViewElement_Email]; - [email - showError:[AssistantView errorForLinphoneAccountCreatorEmailStatus:LinphoneAccountCreatorEmailStatusMalformed] - when:^BOOL(NSString *inputEntry) { - LinphoneAccountCreatorEmailStatus s = - linphone_account_creator_set_email(account_creator, inputEntry.UTF8String); - email.errorLabel.text = [AssistantView errorForLinphoneAccountCreatorEmailStatus:s]; - return s != LinphoneAccountCreatorEmailStatusOk; - }]; - - UIAssistantTextField *domain = [self findTextField:ViewElement_Domain]; - [domain showError:[AssistantView errorForLinphoneAccountCreatorDomainStatus:LinphoneAccountCreatorDomainInvalid] - when:^BOOL(NSString *inputEntry) { - if (![inputEntry isEqualToString:@""]) { - LinphoneAccountCreatorDomainStatus s = - linphone_account_creator_set_domain(account_creator, inputEntry.UTF8String); - domain.errorLabel.text = [AssistantView errorForLinphoneAccountCreatorDomainStatus:s]; - return s != LinphoneAccountCreatorDomainOk; - } - return true; - }]; - - UIAssistantTextField *url = [self findTextField:ViewElement_URL]; - [url showError:NSLocalizedString(@"Invalid remote provisioning URL", nil) - when:^BOOL(NSString *inputEntry) { - if (inputEntry.length > 0) { - bool isValid = linphone_core_set_provisioning_uri(LC, [self addSchemeToProvisiionninUriIMissing:inputEntry].UTF8String) != 0; - linphone_core_set_provisioning_uri(LC,NULL); - return isValid; - } - return TRUE; - }]; - - UIAssistantTextField *displayName = [self findTextField:ViewElement_DisplayName]; - [displayName showError:[AssistantView - errorForLinphoneAccountCreatorUsernameStatus:LinphoneAccountCreatorUsernameStatusInvalid] - when:^BOOL(NSString *inputEntry) { - LinphoneAccountCreatorUsernameStatus s = LinphoneAccountCreatorUsernameStatusOk; - if (inputEntry.length > 0) { - s = linphone_account_creator_set_display_name(account_creator, inputEntry.UTF8String); - displayName.errorLabel.text = - [AssistantView errorForLinphoneAccountCreatorUsernameStatus:s]; - } - return s != LinphoneAccountCreatorUsernameStatusOk; - }]; - - UIAssistantTextField *smsCode = [self findTextField:ViewElement_SMSCode]; - [smsCode showError:nil when:^BOOL(NSString *inputEntry) { - return inputEntry.length != 4; - }]; - [self shouldEnableNextButton]; - -} - --(NSString *) addSchemeToProvisiionninUriIMissing:(NSString *)uri { - // missing prefix will result in http:// being used - return [uri rangeOfString:@"://"].location == NSNotFound ? [NSString stringWithFormat:@"http://%@", uri] : uri; -} - -- (void)shouldEnableNextButton { - BOOL invalidInputs = NO; - for (int i = 0; !invalidInputs && i < ViewElement_TextFieldCount; i++) { - ViewElement ve = (ViewElement)100+i; - if ([self findTextField:ve].isInvalid) { - invalidInputs = YES; - break; - } - } - - UISwitch *emailSwitch = (UISwitch *)[self findView:ViewElement_EmailFormView inView:self.contentView ofType:UISwitch.class]; - if (!emailSwitch.isOn) { - [self findButton:ViewElement_NextButton].enabled = !invalidInputs; - } -} - -- (BOOL) checkFields { - UISwitch *emailSwitch = (UISwitch *)[self findView:ViewElement_EmailFormView inView:self.contentView ofType:UISwitch.class]; - if (emailSwitch.isOn) { - if ([self findTextField:ViewElement_Username].text.length == 0) { - [self showErrorPopup:"ERROR_NO_USERNAME"]; - return FALSE; - } - if ([self findTextField:ViewElement_Email].text.length == 0) { - [self showErrorPopup:"ERROR_NO_EMAIL"]; - return FALSE; - } else { - LinphoneAccountCreatorEmailStatus s = linphone_account_creator_set_email( - account_creator, [self findTextField:ViewElement_Email].text.UTF8String); - if (s == LinphoneAccountCreatorEmailStatusMalformed) { - [self showErrorPopup:"ERROR_INVALID_EMAIL"]; - return FALSE; - } - } - if ([self findTextField:ViewElement_Password].text.length == 0) { - [self showErrorPopup:"ERROR_NO_PASSWORD"]; - return FALSE; - } - if (![[self findTextField:ViewElement_Password].text isEqualToString:[self findTextField:ViewElement_Password2].text]) { - [self showErrorPopup:"ERROR_INVALID_CONFIRMATION"]; - return FALSE; - } - - return TRUE; - } else { - return TRUE; - } -} - -#pragma mark - Event Functions - -- (void)registrationUpdateEvent:(NSNotification *)notif { - NSString *message = [notif.userInfo objectForKey:@"message"]; - [self registrationUpdate:[[notif.userInfo objectForKey:@"state"] intValue] - forAccount:[[notif.userInfo objectForKeyedSubscript:@"account"] pointerValue] - message:message]; -} - -- (void)registrationUpdate:(LinphoneRegistrationState)state - forAccount:(LinphoneAccount *)account - message:(NSString *)message { - // in assistant we only care about ourself - if (new_account && account != new_account) { - return; - } - - switch (state) { - case LinphoneRegistrationOk: { - _waitView.hidden = true; - - [LinphoneManager.instance - lpConfigSetInt:[NSDate new].timeIntervalSince1970 + - [LinphoneManager.instance lpConfigIntForKey:@"link_account_popup_time" withDefault:84200] - forKey:@"must_link_account_time"]; - [PhoneMainView.instance popToView:_outgoingView]; - break; - } - case LinphoneRegistrationNone: - case LinphoneRegistrationCleared: { - _waitView.hidden = true; - break; - } - case LinphoneRegistrationFailed: { - _waitView.hidden = true; - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Connection failure", nil) - message:message - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Cancel", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - UIAlertAction* continueAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Continue", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) { - [PhoneMainView.instance popToView:DialerView.compositeViewDescription]; - }]; - - [errView addAction:defaultAction]; - [errView addAction:continueAction]; - [self presentViewController:errView animated:YES completion:nil]; - break; - } - case LinphoneRegistrationProgress: { - _waitView.hidden = false; - break; - } - default: - break; - } -} - -- (void)configuringUpdate:(NSNotification *)notif { - LinphoneConfiguringState status = (LinphoneConfiguringState)[[notif.userInfo valueForKey:@"state"] integerValue]; - - switch (status) { - case LinphoneConfiguringSuccessful: - // we successfully loaded a remote provisioned config, go to dialer - [LinphoneManager.instance lpConfigSetInt:[NSDate new].timeIntervalSince1970 - forKey:@"must_link_account_time"]; - [LinphoneManager.instance configurePushProviderForAccounts]; - - MSList *accounts = [LinphoneManager.instance createAccountsNotHiddenList]; - if (number_of_accounts_before < bctbx_list_size(accounts)) { - LOGI(@"[Assistant] A proxy config was set up with the remote provisioning, skip assistant"); - [self onDialerClick:nil]; - } - bctbx_free(accounts); - - _waitView.hidden = true; - if (nextView == nil) { - [self fillDefaultValues]; - } else { - [self changeView:nextView back:false animation:TRUE]; - nextView = nil; - } - break; - case LinphoneConfiguringFailed: { - _waitView.hidden = true; - NSString *error_message = [notif.userInfo valueForKey:@"message"]; - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Provisioning Load error", nil) - message:error_message - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [self presentViewController:errView animated:YES completion:nil]; - break; - } - - case LinphoneConfiguringSkipped: - _waitView.hidden = true; - default: - break; - } -} - -- (void)onAccountAuthenticationTokenReceived:(NSNotification *)notif { - NSString *token = [LinphoneManager.instance lpConfigStringForKey:@"account_creation_token" inSection:@"app"]; - linphone_account_creator_set_token(account_creator, [token UTF8String]); - if (tokenRequestAction == TokenRequestAction_CreateAccount) - linphone_account_creator_is_account_exist(account_creator); - else if (tokenRequestAction == TokenRequestAction_RecoverAccount) - linphone_account_creator_recover_account(account_creator); - - tokenRequestAction = TokenRequestAction_None; -} - -- (void)showErrorPopup:(const char *)error { - [SVProgressHUD dismiss]; - const char *err = error ? error : ""; - if (strcmp(err, "ERROR_BAD_CREDENTIALS") == 0) { - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Connection failure", nil) - message:[AssistantView StringForXMLRPCError:err] - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Cancel", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - UIAlertAction* continueAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Continue", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) { - [PhoneMainView.instance popToView:DialerView.compositeViewDescription]; - }]; - - defaultAction.accessibilityLabel = @"PopUpResp"; - [errView addAction:defaultAction]; - [errView addAction:continueAction]; - [self presentViewController:errView animated:YES completion:nil]; - } else if (strcmp(err, "ERROR_KEY_DOESNT_MATCH") == 0) { - UIAlertController *errView = - [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Account configuration issue", nil) - message:[AssistantView StringForXMLRPCError:err] - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction *defaultAction = [UIAlertAction - actionWithTitle:@"OK" - style:UIAlertActionStyleDefault - handler:^(UIAlertAction *action) { - NSString *tmp_phone = - [NSString stringWithUTF8String:linphone_account_creator_get_phone_number(account_creator)]; - int ccc = -1; - const LinphoneDialPlan *dialplan = NULL; - char *nationnal_significant_number = NULL; - ccc = linphone_dial_plan_lookup_ccc_from_e164(tmp_phone.UTF8String); - if (ccc > -1) { /*e164 like phone number*/ - dialplan = linphone_dial_plan_by_ccc_as_int(ccc); - nationnal_significant_number = strstr(tmp_phone.UTF8String, linphone_dial_plan_get_country_calling_code(dialplan)); - if (nationnal_significant_number) { - nationnal_significant_number += strlen(linphone_dial_plan_get_country_calling_code(dialplan)); - } - } - [self changeView:_linphoneLoginView back:FALSE animation:TRUE]; - UISwitch *usernameSwitch = (UISwitch *)[self findView:ViewElement_UsernameFormView - inView:self.contentView - ofType:UISwitch.class]; - [usernameSwitch setOn:FALSE]; - UIView *usernameView = - [self findView:ViewElement_UsernameFormView inView:self.contentView ofType:UIView.class]; - usernameView.hidden = !usernameSwitch.isOn; - if (nationnal_significant_number) { - ((UITextField *)[self findView:ViewElement_Phone - inView:_linphoneLoginView - ofType:[UIAssistantTextField class]]) - .text = [NSString stringWithUTF8String:nationnal_significant_number]; - } - ((UITextField *)[self findView:ViewElement_SMSCode - inView:_createAccountActivateSMSView - ofType:[UITextField class]]) - .text = @""; - linphone_account_creator_set_activation_code(account_creator, ""); - if (linphone_dial_plan_get_iso_country_code(dialplan)) { - NSDictionary *country = [CountryListView - countryWithIso:[NSString stringWithUTF8String:linphone_dial_plan_get_iso_country_code(dialplan)]]; - [self didSelectCountry:country]; - } - // Reset phone number in account_creator to be sure to let the user retry - if (nationnal_significant_number) { - linphone_account_creator_set_phone_number(account_creator, nationnal_significant_number, - linphone_dial_plan_get_country_calling_code(dialplan)); - } - }]; - - defaultAction.accessibilityLabel = @"PopUpResp"; - [errView addAction:defaultAction]; - [self presentViewController:errView animated:YES completion:nil]; - } else if (strcmp(err, "ERROR_PUSH_UNAVAILABLE") == 0) { - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Push unavailable", nil) - message:[AssistantView StringForXMLRPCError:err] - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - defaultAction.accessibilityLabel = @"PopUpResp"; - [self presentViewController:errView animated:YES completion:nil]; - } else if (strcmp(err, "ERROR_AUTH_TOKEN_NOT_RECEIVED") == 0) { - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Authentication token error", nil) - message:[AssistantView StringForXMLRPCError:err] - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - defaultAction.accessibilityLabel = @"PopUpResp"; - [self presentViewController:errView animated:YES completion:nil]; - } else { - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Account configuration issue", nil) - message:[AssistantView StringForXMLRPCError:err] - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - defaultAction.accessibilityLabel = @"PopUpResp"; - [self presentViewController:errView animated:YES completion:nil]; - } - - // enable linphoneLoginButton if error - [_linphoneLoginButton setBackgroundColor:[UIColor clearColor]]; - _linphoneLoginButton.enabled = YES; -} - -- (void)isAccountUsed:(LinphoneAccountCreatorStatus)status withResp:(const char *)resp { - if (currentView == _linphoneLoginView) { - if (status == LinphoneAccountCreatorStatusAccountExistWithAlias) { - _outgoingView = DialerView.compositeViewDescription; - [self configureAccount]; - } else if (status == LinphoneAccountCreatorStatusAccountExist) { - if([LinphoneManager.instance lpConfigIntForKey:@"hide_link_phone_number"]){ - _outgoingView = DialerView.compositeViewDescription; - }else{ - _outgoingView = AssistantLinkView.compositeViewDescription; - } - [self configureAccount]; - } else { - if (resp) { - if (linphone_account_creator_get_username(account_creator) && - (strcmp(resp, "ERROR_ACCOUNT_DOESNT_EXIST") == 0)) { - [self showErrorPopup:"ERROR_BAD_CREDENTIALS"]; - } else { - [self showErrorPopup:resp]; - } - } else { - [self showErrorPopup:""]; - } - } - } else { - if (status == LinphoneAccountCreatorStatusAccountExist || - status == LinphoneAccountCreatorStatusAccountExistWithAlias) { - if (linphone_account_creator_get_phone_number(account_creator) != NULL) { - // Offer the possibility to resend a sms confirmation in some cases - linphone_account_creator_is_account_activated(account_creator); - } else { - [self showErrorPopup:resp]; - } - } else if (status == LinphoneAccountCreatorStatusAccountNotExist) { - NSString * language = [[NSLocale preferredLanguages] objectAtIndex:0]; - linphone_account_creator_set_language(account_creator, [[language substringToIndex:2] UTF8String]); - linphone_account_creator_create_account(account_creator); - } else { - [self showErrorPopup:resp]; - - } - } -} - -- (void) isAccountActivated:(const char *)resp { - if (currentView != _createAccountView) { - if( linphone_account_creator_get_phone_number(account_creator) == NULL) { - [self configureAccount]; - [PhoneMainView.instance changeCurrentView:AssistantLinkView.compositeViewDescription]; - } else { - [PhoneMainView.instance changeCurrentView:DialerView.compositeViewDescription]; - } - } else { - if (!linphone_account_creator_get_username(account_creator)) { - [self showErrorPopup:"ERROR_ALIAS_ALREADY_IN_USE"]; - } else { - [self showErrorPopup:"ERROR_ACCOUNT_ALREADY_IN_USE"]; - } - } -} - -#pragma mark - Account creator callbacks - -void assistant_is_account_used(LinphoneAccountCreator *creator, LinphoneAccountCreatorStatus status, const char *resp) { - AssistantView *thiz = (__bridge AssistantView *)(linphone_account_creator_get_user_data(creator)); - thiz.waitView.hidden = YES; - [thiz isAccountUsed:status withResp:resp]; -} - -void assistant_create_account(LinphoneAccountCreator *creator, LinphoneAccountCreatorStatus status, const char *resp) { - AssistantView *thiz = (__bridge AssistantView *)(linphone_account_creator_get_user_data(creator)); - thiz.waitView.hidden = YES; - if (status == LinphoneAccountCreatorStatusAccountCreated) { - [SVProgressHUD dismiss]; - if (linphone_account_creator_get_phone_number(creator)) { - NSString* phoneNumber = [NSString stringWithUTF8String:linphone_account_creator_get_phone_number(creator)]; - thiz.activationSMSText.text = [NSString stringWithFormat:NSLocalizedString(@"We have sent a SMS with a validation code to %@. To complete your phone number verification, please enter the 4 digit code below:", nil), phoneNumber]; - [thiz changeView:thiz.createAccountActivateSMSView back:FALSE animation:TRUE]; - } else { - NSString* email = [NSString stringWithUTF8String:linphone_account_creator_get_email(creator)]; - thiz.activationEmailText.text = [NSString stringWithFormat:NSLocalizedString(@" Your account is created. We have sent a confirmation email to %@. Please check your mails to validate your account. Once it is done, come back here and click on the button.", nil), email]; - [thiz changeView:thiz.createAccountActivateEmailView back:FALSE animation:TRUE]; - } - } else { - [thiz showErrorPopup:resp]; - } -} - -void assistant_recover_phone_account(LinphoneAccountCreator *creator, LinphoneAccountCreatorStatus status, - const char *resp) { - AssistantView *thiz = (__bridge AssistantView *)(linphone_account_creator_get_user_data(creator)); - thiz.waitView.hidden = YES; - if (status == LinphoneAccountCreatorStatusRequestOk) { - [SVProgressHUD dismiss]; - NSString* phoneNumber = [NSString stringWithUTF8String:linphone_account_creator_get_phone_number(creator)]; - thiz.activationSMSText.text = [NSString stringWithFormat:NSLocalizedString(@"We have sent a SMS with a validation code to %@. To complete your phone number verification, please enter the 4 digit code below:", nil), phoneNumber]; - [thiz changeView:thiz.createAccountActivateSMSView back:FALSE animation:TRUE]; - } else { - if(!resp) { - [thiz showErrorPopup:"ERROR_CANNOT_SEND_SMS"]; - } else { - [thiz showErrorPopup:resp]; - } - } -} - -void assistant_activate_account(LinphoneAccountCreator *creator, LinphoneAccountCreatorStatus status, - const char *resp) { - AssistantView *thiz = (__bridge AssistantView *)(linphone_account_creator_get_user_data(creator)); - thiz.waitView.hidden = YES; - if (status == LinphoneAccountCreatorStatusAccountActivated) { - [thiz configureAccount]; - [[NSNotificationCenter defaultCenter] postNotificationName:kLinphoneAddressBookUpdate object:NULL]; - } else if (status == LinphoneAccountCreatorStatusAccountAlreadyActivated) { - // in case we are actually trying to link account, let's try it now - linphone_account_creator_activate_alias(creator); - } else { - [thiz showErrorPopup:resp]; - } -} - -void assistant_request_auth_token_cb(LinphoneAccountCreator *creator, LinphoneAccountCreatorStatus status, - const char *resp) { - AssistantView *thiz = (__bridge AssistantView *)(linphone_account_creator_get_user_data(creator)); - - if (status == LinphoneAccountCreatorStatusMissingArguments) { - [thiz showErrorPopup:"ERROR_PUSH_UNAVAILABLE"]; - } else if (status == LinphoneAccountCreatorStatusUnexpectedError) { - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Unknown error", nil) - message:NSLocalizedString(@"Failed to request an authentication token from account manager", nil) - preferredStyle:UIAlertControllerStyleAlert]; - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - [errView addAction:defaultAction]; - [thiz presentViewController:errView animated:YES completion:nil]; - } -} - -void assistant_login_linphone_account(LinphoneAccountCreator *creator, LinphoneAccountCreatorStatus status, - const char *resp) { - AssistantView *thiz = (__bridge AssistantView *)(linphone_account_creator_get_user_data(creator)); - thiz.waitView.hidden = YES; - if (status == LinphoneAccountCreatorStatusRequestOk) { - [thiz configureAccount]; - [[NSNotificationCenter defaultCenter] postNotificationName:kLinphoneAddressBookUpdate object:NULL]; - } else { - [thiz showErrorPopup:resp]; - } -} - -void assistant_is_account_activated(LinphoneAccountCreator *creator, LinphoneAccountCreatorStatus status, - const char *resp) { - AssistantView *thiz = (__bridge AssistantView *)(linphone_account_creator_get_user_data(creator)); - thiz.waitView.hidden = YES; - if (status == LinphoneAccountCreatorStatusAccountActivated) { - [thiz isAccountActivated:resp]; - } else if (status == LinphoneAccountCreatorStatusAccountNotActivated) { - if (!IPAD || linphone_account_creator_get_phone_number(creator) != NULL) { - //Re send SMS if the username is the phone number - if (linphone_account_creator_get_username(creator) != linphone_account_creator_get_phone_number(creator) && linphone_account_creator_get_username(creator) != NULL) { - [thiz showErrorPopup:"ERROR_ACCOUNT_ALREADY_IN_USE"]; - [thiz findButton:ViewElement_NextButton].enabled = NO; - } else { - NSString * language = [[NSLocale preferredLanguages] objectAtIndex:0]; - linphone_account_creator_set_language(creator, [[language substringToIndex:2] UTF8String]); - - if (linphone_account_creator_get_token(creator)) { - linphone_account_creator_recover_account(creator); - } else { - [thiz requestAuthToken:TokenRequestAction_RecoverAccount]; - } - } - } else { - // TODO : Re send email ? - [thiz showErrorPopup:"ERROR_ACCOUNT_ALREADY_IN_USE"]; - [thiz findButton:ViewElement_NextButton].enabled = NO; - } - } else { - [thiz showErrorPopup:resp]; - } -} - -void assistant_is_account_linked(LinphoneAccountCreator *creator, LinphoneAccountCreatorStatus status, - const char *resp) { - AssistantView *thiz = (__bridge AssistantView *)(linphone_account_creator_get_user_data(creator)); - thiz.waitView.hidden = YES; - if (status == LinphoneAccountCreatorStatusAccountLinked) { - [LinphoneManager.instance lpConfigSetInt:0 forKey:@"must_link_account_time"]; - } else if (status == LinphoneAccountCreatorStatusAccountNotLinked) { - [LinphoneManager.instance lpConfigSetInt:[NSDate new].timeIntervalSince1970 forKey:@"must_link_account_time"]; - } else { - [thiz showErrorPopup:resp]; - } -} - -#pragma mark - UITextFieldDelegate Functions - -- (void)textFieldDidBeginEditing:(UITextField *)textField { - UIAssistantTextField *atf = (UIAssistantTextField *)textField; - [atf textFieldDidBeginEditing:atf]; -} - -- (void)textFieldDidEndEditing:(UITextField *)textField { - UIAssistantTextField *atf = (UIAssistantTextField *)textField; - [atf textFieldDidEndEditing:atf]; - [self shouldEnableNextButton]; -} - -- (BOOL)textFieldShouldReturn:(UITextField *)textField { - UIAssistantTextField *atf = (UIAssistantTextField *)textField; - [textField resignFirstResponder]; - if (textField.returnKeyType == UIReturnKeyNext) { - [atf.nextFieldResponder becomeFirstResponder]; - } else if (textField.returnKeyType == UIReturnKeyDone) { - [[self findButton:ViewElement_NextButton] sendActionsForControlEvents:UIControlEventTouchUpInside]; - } - return YES; -} - -- (BOOL)textField:(UITextField *)textField - shouldChangeCharactersInRange:(NSRange)range - replacementString:(NSString *)string { - if (textField.tag == ViewElement_SMSCode) { - // max 4 length - return range.location + range.length <= 4; - } else { - UIAssistantTextField *atf = (UIAssistantTextField *)textField; - BOOL replace = YES; - // if we are hitting backspace on secure entry, this will clear all text - if ([string isEqual:@""] && textField.isSecureTextEntry) { - range = NSMakeRange(0, atf.text.length); - } - [atf textField:atf shouldChangeCharactersInRange:range replacementString:string]; - if (atf.tag == ViewElement_Username && currentView == _createAccountView) { - atf.text = [atf.text stringByReplacingCharactersInRange:range withString:string.lowercaseString]; - replace = NO; - } - - if (textField.tag == ViewElement_Phone || textField.tag == ViewElement_Username) { - [self refreshYourUsername]; - } - [self shouldEnableNextButton]; - - return replace; - } -} - -// Change button color and wait the display of this -#define ONCLICKBUTTON(button, timewaitmsec, body) \ -UIColor *previousColor = (UIColor*)[sender backgroundColor]; \ -[button setBackgroundColor:[UIColor lightGrayColor]]; \ - _waitView.hidden = NO; \ - dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (timewaitmsec * NSEC_PER_MSEC)); \ - dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ \ - body \ - [button setBackgroundColor:previousColor]; \ - _waitView.hidden = YES; \ - }); \ - -// Change button color and wait until object finished to avoid duplicated actions -#define ONNEWCLICKBUTTON(button, timewaitmsec, body) \ -[button setBackgroundColor:[UIColor lightGrayColor]]; \ - _waitView.hidden = NO; \ - dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (timewaitmsec * NSEC_PER_MSEC)); \ - dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ \ - body \ - [button setBackgroundColor:[UIColor clearColor]]; \ - }); \ - -#pragma mark - Action Functions - -- (IBAction)onGotoCreateAccountClick:(id)sender { - ONCLICKBUTTON(sender, 100, { - nextView = _createAccountView; - _accountLabel.text = NSLocalizedString(@"Please enter your phone number", nil); - [self loadAssistantConfig:@"assistant_linphone_create.rc"]; - }); -} - -- (IBAction)onGotoLinphoneLoginClick:(id)sender { - ONCLICKBUTTON(sender, 100, { - nextView = _linphoneLoginView; - [self loadAssistantConfig:@"assistant_linphone_existing.rc"]; - }); -} - -- (IBAction)onGotoLoginClick:(id)sender { - ONCLICKBUTTON(sender, 100, { - nextView = _loginView; - [self loadAssistantConfig:@"assistant_external_sip.rc"]; - }); -} - -- (IBAction)onGoToNonLinphoneInfoPage:(id)sender { - ONCLICKBUTTON(sender, 100, { - nextView = _linphoneSpecificFeatureWarningView; - [self changeView:nextView back:FALSE animation:TRUE]; - }); -} - -- (IBAction)onGotoRemoteProvisioningClick:(id)sender { - ONCLICKBUTTON(sender, 100, { - nextView = _remoteProvisioningView; - [self findTextField:ViewElement_URL].text = - [LinphoneManager.instance lpConfigStringForKey:@"config-uri" inSection:@"misc"]; - [self loadAssistantConfig:@"assistant_remote.rc"]; - }); -} - --(void)requestAuthToken:(TokenRequestAction)requestType { - const LinphonePushNotificationConfig * core_push_config = linphone_core_get_push_notification_config(LC); - - linphone_account_creator_set_pn_provider(account_creator, PROVIDER_NAME); - //extract ".remote" from core pn_param which is of the form : VABCD1234.org.linphone.phone.voip&remote - NSString *formatedPnParam = [NSString stringWithUTF8String:linphone_push_notification_config_get_param(core_push_config)]; - formatedPnParam = [formatedPnParam stringByReplacingOccurrencesOfString:@"voip&remote" withString:@"remote"]; - linphone_account_creator_set_pn_param(account_creator, [formatedPnParam UTF8String]); - - //extract REMOTETOKENID from core pn_prid which is of the form : VOIPTOKENID:voip&REMOTETOKENID:remote - const char* core_remote_token = linphone_push_notification_config_get_remote_token(core_push_config); - NSString *formatedRemoteToken=@""; - if (core_remote_token) { - formatedRemoteToken = [[NSString stringWithUTF8String:core_remote_token] substringToIndex:64]; - linphone_account_creator_set_pn_prid(account_creator, [formatedRemoteToken UTF8String]); - } else { - LOGW(@"[Assistant] - No remote push token available in core for account creator configuration"); - [self showErrorPopup:"ERROR_PUSH_UNAVAILABLE"]; - return; - } - LOGI(@"[Assistant] Found push notification info: provider [%s], param [%@] and prid [%@]", PROVIDER_NAME, formatedPnParam, formatedRemoteToken); - - - LinphoneAccountCreatorStatus requestStatus = linphone_account_creator_request_auth_token(account_creator); - if (requestStatus == LinphoneAccountCreatorStatusRequestOk) { - [SVProgressHUD show]; - tokenRequestAction = requestType; - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - if (tokenRequestAction == requestType) { - tokenRequestAction = TokenRequestAction_None; - [self showErrorPopup:"ERROR_AUTH_TOKEN_NOT_RECEIVED"]; - [SVProgressHUD dismiss]; - } - }); - } else { - [self showErrorPopup:"ERROR_PUSH_UNAVAILABLE"]; - } -} - -- (IBAction)onCreateAccountClick:(id)sender { - if ([self checkFields]) { - ONCLICKBUTTON(sender, 100, { - _activationTitle.text = @"CREATE ACCOUNT"; - _waitView.hidden = NO; - - - UIAssistantTextField *createUsername = [self findTextField:ViewElement_Username]; - if ([createUsername.text length] == 0) { - linphone_account_creator_set_username(account_creator, linphone_account_creator_get_phone_number(account_creator)); - } - - if (linphone_account_creator_get_token(account_creator)) { - linphone_account_creator_is_account_exist(account_creator); - } else { - [self requestAuthToken:TokenRequestAction_CreateAccount]; - } - }); - } -} - -- (IBAction)onCreateAccountActivationClick:(id)sender { - ONCLICKBUTTON(sender, 100, { - [self debugtest]; - /* - _waitView.hidden = NO; - linphone_account_creator_set_activation_code( - account_creator, - ((UITextField *)[self findView:ViewElement_SMSCode inView:_contentView ofType:UITextField.class]) - .text.UTF8String); - - if ([_activationTitle.text isEqualToString:@"USE LINPHONE ACCOUNT"]) { - linphone_account_creator_login_linphone_account(account_creator); - } else { - linphone_account_creator_activate_account(account_creator); - } *//* else { - NSString * language = [[NSLocale preferredLanguages] objectAtIndex:0]; - linphone_account_creator_set_language(account_creator, [[language substringToIndex:2] UTF8String]); - linphone_account_creator_link_account(account_creator); - linphone_account_creator_activate_alias(account_creator); - } */ - }); -} - --(void) debugtest{ - _waitView.hidden = NO; - linphone_account_creator_set_activation_code( - account_creator, - ((UITextField *)[self findView:ViewElement_SMSCode inView:_contentView ofType:UITextField.class]) - .text.UTF8String); - - if ([_activationTitle.text isEqualToString:@"USE LINPHONE ACCOUNT"]) { - linphone_account_creator_login_linphone_account(account_creator); - } else { - linphone_account_creator_activate_account(account_creator); - } /* else { - NSString * language = [[NSLocale preferredLanguages] objectAtIndex:0]; - linphone_account_creator_set_language(account_creator, [[language substringToIndex:2] UTF8String]); - linphone_account_creator_link_account(account_creator); - linphone_account_creator_activate_alias(account_creator); - } */ -} - -- (IBAction)onCreateAccountCheckActivatedClick:(id)sender { - ONCLICKBUTTON(sender, 100, { - _waitView.hidden = NO; - linphone_account_creator_is_account_activated(account_creator); - }); -} - -- (IBAction)onLinkAccountClick:(id)sender { - ONCLICKBUTTON(sender, 100, { - _waitView.hidden = NO; - NSString * language = [[NSLocale preferredLanguages] objectAtIndex:0]; - linphone_account_creator_set_language(account_creator, [[language substringToIndex:2] UTF8String]); - linphone_account_creator_link_account(account_creator); - }); -} - -- (IBAction)onLinphoneLoginClick:(id)sender { - // disable button after first click - _linphoneLoginButton.enabled = NO; - [_linphoneLoginButton setBackgroundColor:[UIColor lightGrayColor]]; - _waitView.hidden = NO; - - dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (100 * NSEC_PER_MSEC)); - dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ - ((UITextField *)[self findView:ViewElement_SMSCode inView:_contentView ofType:UITextField.class]).text = @""; - _activationTitle.text = @"USE LINPHONE ACCOUNT"; - if ((linphone_account_creator_get_phone_number(account_creator) != NULL) && - linphone_account_creator_get_password(account_creator) == NULL && - linphone_account_creator_get_ha1(account_creator) == NULL) { - NSString * language = [[NSLocale preferredLanguages] objectAtIndex:0]; - linphone_account_creator_set_language(account_creator, [[language substringToIndex:2] UTF8String]); - linphone_account_creator_set_username(account_creator, linphone_account_creator_get_phone_number(account_creator)); - if (linphone_account_creator_get_token(account_creator)) { - linphone_account_creator_recover_account(account_creator); - } else { - [self requestAuthToken:TokenRequestAction_RecoverAccount]; - } - - } else { - // check if account is already linked with a phone number. - // if not, propose it to the user - linphone_account_creator_is_account_exist(account_creator); - } - }); -} - -- (IBAction)onLoginClick:(id)sender { - ONCLICKBUTTON(sender, 100, { - _waitView.hidden = NO; - NSString *domain = [self findTextField:ViewElement_Domain].text; - NSString *username = [self findTextField:ViewElement_Username].text; - NSString *displayName = [self findTextField:ViewElement_DisplayName].text; - NSString *pwd = [self findTextField:ViewElement_Password].text; - LinphoneAccountParams *accountParams = linphone_core_create_account_params(LC); - LinphoneAddress *addr = linphone_address_new(NULL); - LinphoneAddress *tmpAddr = linphone_address_new([NSString stringWithFormat:@"sip:%@",domain].UTF8String); - if (tmpAddr == nil) { - [self displayAssistantConfigurationError]; - return; - } - - linphone_address_set_username(addr, username.UTF8String); - linphone_address_set_port(addr, linphone_address_get_port(tmpAddr)); - linphone_address_set_domain(addr, linphone_address_get_domain(tmpAddr)); - if (displayName && ![displayName isEqualToString:@""]) { - linphone_address_set_display_name(addr, displayName.UTF8String); - } - - linphone_account_params_set_identity_address(accountParams, addr); - // set transport - UISegmentedControl *transports = (UISegmentedControl *)[self findView:ViewElement_Transport - inView:self.contentView - ofType:UISegmentedControl.class]; - if (transports) { - NSString *type = [transports titleForSegmentAtIndex:[transports selectedSegmentIndex]]; - LinphoneAddress *transportAddr = linphone_address_new([NSString stringWithFormat:@"sip:%s;transport=%s", domain.UTF8String, type.lowercaseString.UTF8String].UTF8String); - linphone_account_params_set_routes_addresses(accountParams, bctbx_list_new(transportAddr)); - linphone_account_params_set_server_addr(accountParams, [NSString stringWithFormat:@"%s;transport=%s", domain.UTF8String, type.lowercaseString.UTF8String].UTF8String); - - linphone_address_unref(transportAddr); - } - linphone_account_params_set_publish_enabled(accountParams, FALSE); - linphone_account_params_set_register_enabled(accountParams, TRUE); - - LinphoneAuthInfo *info = - linphone_auth_info_new(linphone_address_get_username(addr), // username - NULL, // user id - pwd.UTF8String, // passwd - NULL, // ha1 - linphone_address_get_domain(addr), // realm - assumed to be domain - linphone_address_get_domain(addr) // domain - ); - linphone_core_add_auth_info(LC, info); - linphone_address_unref(addr); - linphone_address_unref(tmpAddr); - - LinphoneAccount *account = linphone_core_create_account(LC, accountParams); - linphone_account_params_unref(accountParams); - if (account) { - if (linphone_core_add_account(LC, account) != -1) { - linphone_core_set_default_account(LC, account); - // reload address book to prepend proxy config domain to contacts' phone number - // todo: STOP doing that! - [[LinphoneManager.instance fastAddressBook] fetchContactsInBackGroundThread]; - [PhoneMainView.instance changeCurrentView:DialerView.compositeViewDescription]; - } else { - [self displayAssistantConfigurationError]; - } - } else { - [self displayAssistantConfigurationError]; - } - }); -} - -- (IBAction)onRemoteProvisioningLoginClick:(id)sender { - ONCLICKBUTTON(sender, 100, { - _waitView.hidden = NO; - [self configureAccount]; - }); -} - -- (IBAction)onRemoteProvisioningDownloadClick:(id)sender { - ONNEWCLICKBUTTON(sender, 100, { - if (number_of_accounts_before > 0) { - // TODO remove ME when it is fixed in SDK. - linphone_core_set_provisioning_uri(LC, NULL); - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Provisioning Load error", nil) - message:NSLocalizedString(@"Please remove other accounts before remote provisioning.", nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [self presentViewController:errView animated:YES completion:nil]; - _waitView.hidden = TRUE; - } else { - linphone_core_set_provisioning_uri(LC, [self addSchemeToProvisiionninUriIMissing:[self findTextField:ViewElement_URL].text].UTF8String); - [self resetLiblinphone:TRUE]; - } - }); -} - -- (IBAction)onLaunchQRCodeView:(id)sender { - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(qrCodeFound:) - name:kLinphoneQRCodeFound - object:nil]; - LinphoneAppDelegate *delegate = (LinphoneAppDelegate *)UIApplication.sharedApplication.delegate; - delegate.onlyPortrait = TRUE; - NSNumber *value = [NSNumber numberWithInt:UIDeviceOrientationPortrait]; - [[UIDevice currentDevice] setValue:value forKey:@"orientation"]; - //[UIViewController attemptRotationToDeviceOrientation]; - AVCaptureDevice *backCamera = [AVCaptureDevice defaultDeviceWithDeviceType:AVCaptureDeviceTypeBuiltInWideAngleCamera mediaType:AVMediaTypeVideo position:AVCaptureDevicePositionBack]; - if (![[NSString stringWithUTF8String:linphone_core_get_video_device(LC) ?: ""] containsString:[backCamera uniqueID]]) { - - bctbx_list_t *deviceList = linphone_core_get_video_devices_list(LC); - NSMutableArray *devices = [NSMutableArray array]; - - while (deviceList) { - char *data = deviceList->data; - if (data) [devices addObject:[NSString stringWithUTF8String:data]]; - deviceList = deviceList->next; - } - bctbx_list_free(deviceList); - - for (NSString *device in devices) { - if ([device containsString:backCamera.uniqueID]) { - linphone_core_set_video_device(LC, device.UTF8String); - } - } - } - - - linphone_core_set_native_preview_window_id(LC, (__bridge void *)(_qrCodeView)); - linphone_core_enable_video_preview(LC, TRUE); - linphone_core_enable_qrcode_video_preview(LC, TRUE); - - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(qrCodeFound:) - name:kLinphoneQRCodeFound - object:nil]; - - [self changeView:_qrCodeView back:FALSE animation:TRUE]; -} - -- (void)refreshYourUsername { - UIAssistantTextField *username = [self findTextField:ViewElement_Username]; - UIAssistantTextField *phone = [self findTextField:ViewElement_Phone]; - const char* uri = NULL; - if (!username.superview.hidden && ![username.text isEqualToString:@""]) { - uri = linphone_account_creator_get_username(account_creator); - } else if (!phone.superview.hidden && ![phone.text isEqualToString:@""]) { - uri = linphone_account_creator_get_phone_number(account_creator); - } - - if (uri) { - _accountLabel.text = [NSString stringWithFormat:NSLocalizedString(@"Your SIP address will be sip:%s@sip.linphone.org", nil), uri]; - } else if (!username.superview.hidden) { - _accountLabel.text = NSLocalizedString(@"Please enter your username", nil); - } else { - _accountLabel.text = NSLocalizedString(@"Please enter your phone number", nil); - } -} - -- (IBAction)onFormSwitchToggle:(UISwitch*)sender { - UISwitch *usernameSwitch = (UISwitch *)[self findView:ViewElement_UsernameFormView inView:self.contentView ofType:UISwitch.class]; - UISwitch *emailSwitch = (UISwitch *)[self findView:ViewElement_EmailFormView inView:self.contentView ofType:UISwitch.class]; - - UIView * usernameView = [self findView:ViewElement_UsernameFormView inView:self.contentView ofType:UIView.class]; - UIView * emailView = [self findView:ViewElement_EmailFormView inView:self.contentView ofType:UIView.class]; - usernameView.hidden = !usernameSwitch.isOn && !emailSwitch.isOn; - emailView.hidden = !emailSwitch.isOn; - - [self findTextField:ViewElement_Phone].hidden = emailSwitch.isOn; - [self findTextField:ViewElement_PhoneCC].hidden = emailSwitch.isOn; - [self findButton:ViewElement_PhoneButton].hidden = emailSwitch.isOn; - self.phoneLabel.hidden = emailSwitch.isOn; - self.phoneTitle.hidden = emailSwitch.isOn; - self.phoneTitle.text = NSLocalizedString(@"Please confirm your country code and enter your phone number", nil); - self.infoLoginButton.hidden = !usernameView.hidden; - if (!usernameView.hidden) { - self.subtileLabel_useLinphoneAccount.text = NSLocalizedString(@"Please enter your username and password", nil); - } else { - self.subtileLabel_useLinphoneAccount.text = NSLocalizedString(@"Please confirm your country code and enter your phone number", nil); - } - - - UIAssistantTextField* countryCodeField = [self findTextField:ViewElement_PhoneCC]; - UIRoundBorderedButton *phoneButton = [self findButton:ViewElement_PhoneButton]; - usernameSwitch.enabled = phoneButton.enabled = countryCodeField.enabled = countryCodeField.userInteractionEnabled = - [self findTextField:ViewElement_Phone].userInteractionEnabled = [self findTextField:ViewElement_Phone].enabled = - !emailSwitch.isOn; - - [self refreshYourUsername]; - - // put next button right after latest field (avoid blanks) - int old = _createAccountNextButtonPositionConstraint.constant; - _createAccountNextButtonPositionConstraint.constant = IPAD || !usernameView.hidden ? 21 : -10; - if (!usernameView.hidden) { - _createAccountNextButtonPositionConstraint.constant += usernameView.frame.size.height; - } - if (!emailView.hidden) { - _createAccountNextButtonPositionConstraint.constant += emailView.frame.size.height; - } - // make view scrollable only if next button is too away - CGRect viewframe = currentView.frame; - viewframe.size.height = 30 + _createAccountNextButtonPositionConstraint.constant - old + [self findButton:ViewElement_NextButton].frame.origin.y + [self findButton:ViewElement_NextButton].frame.size.height; - [_contentView setContentSize:viewframe.size]; - if (emailSwitch.isOn) { - [self findButton:ViewElement_NextButton].enabled = TRUE; - } - [self shouldEnableNextButton]; -} - -- (IBAction)onCountryCodeClick:(id)sender { - mustRestoreView = YES; - - CountryListView *view = VIEW(CountryListView); - [view setDelegate:(id)self]; - [PhoneMainView.instance changeCurrentView:view.compositeViewDescription]; -} - -- (void)updateCountry:(BOOL)force { - UIAssistantTextField* countryCodeField = [self findTextField:ViewElement_PhoneCC]; - NSDictionary *c = [CountryListView countryWithCountryCode:countryCodeField.text]; - if (c || force) { - UIRoundBorderedButton *phoneButton = [self findButton:ViewElement_PhoneButton]; - [phoneButton setTitle:c ? [c objectForKey:@"name"] : NSLocalizedString(@"Unknown country code", nil) - forState:UIControlStateNormal]; - } -} - -- (IBAction)onCountryCodeFieldChange:(id)sender { - [self updateCountry:NO]; -} - -- (IBAction)onCountryCodeFieldEnd:(id)sender { - [self updateCountry:YES]; -} - -- (IBAction)onPhoneNumberDisclosureClick:(id)sender { - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"What will my phone number be used for?", nil) - message:NSLocalizedString(@"Your friends will find your more easily if you link your account to your " - @"phone number. \n\nYou will see in your address book who is using " - @"Linphone and your friends will know that they can reach you on Linphone " - @"as well.", - nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [self presentViewController:errView animated:YES completion:nil]; -} - -- (IBAction)onBackClick:(id)sender { - if ([historyViews count] > 0) { - if (currentView == _createAccountActivateSMSView || currentView == _createAccountActivateEmailView || currentView == _qrCodeView) { - UIView *view = [historyViews lastObject]; - [historyViews removeLastObject]; - [self changeView:view back:TRUE animation:TRUE]; - } else if (currentView == _welcomeView) { - [PhoneMainView.instance popCurrentView]; - } else { - [self changeView:_welcomeView back:TRUE animation:TRUE]; - } - } else { - [self onDialerClick:nil]; - } -} - -- (IBAction)onDialerClick:(id)sender { - [PhoneMainView.instance popToView:DialerView.compositeViewDescription]; - } - -- (IBAction)onLinkTap:(id)sender { - NSString *url = @"https://subscribe.linphone.org"; - if (![UIApplication.sharedApplication openURL:[NSURL URLWithString:url]]) { - LOGE(@"[Assistant] Failed to open %@, invalid URL", url); - } -} - -- (IBAction)onAcceptTermsClick:(id)sender { - BOOL acceptTerms = [LinphoneManager.instance lpConfigBoolForKey:@"accept_terms" withDefault:FALSE]; - [LinphoneManager.instance lpConfigSetBool:!acceptTerms forKey:@"accept_terms"]; - [self enableWelcomeViewButtons]; -} - -#pragma mark - select country delegate - -- (void)didSelectCountry:(NSDictionary *)country { - UIRoundBorderedButton *phoneButton = [self findButton:ViewElement_PhoneButton]; - [phoneButton setTitle:[country objectForKey:@"name"] forState:UIControlStateNormal]; - UIAssistantTextField* countryCodeField = [self findTextField:ViewElement_PhoneCC]; - countryCodeField.text = countryCodeField.lastText = [country objectForKey:@"code"]; - phone_number_length = [[country objectForKey:@"phone_length "] integerValue]; - [self shouldEnableNextButton]; -} - --(void)qrCodeFound:(NSNotification *)notif { - if ([notif.userInfo count] == 0){ - return; - } - [NSNotificationCenter.defaultCenter removeObserver:self name:kLinphoneQRCodeFound object:nil]; - dispatch_async(dispatch_get_main_queue(), ^{ - self.urlLabel.text = [notif.userInfo objectForKey:@"qrcode"]; - - if ([historyViews count] > 0) { - if (currentView == _qrCodeView) { - UIView *view = [historyViews lastObject]; - [historyViews removeLastObject]; - [self changeView:view back:TRUE animation:TRUE]; - } else { - [self changeView:_welcomeView back:TRUE animation:TRUE]; - } - } - }); -} - -@end diff --git a/Classes/Base.lproj/AboutView.strings b/Classes/Base.lproj/AboutView.strings deleted file mode 100644 index 19cb665514bfc8635485f8a29ffb40f523b9cdf1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3874 zcmd6q-*VDG6vn@6o+86#XF{dgvFLbFO06g(YD={pZzx5YN})mu);IDc)!%MNX<(UP z&<>NyvPsUKJ>Pf!Ex&)|w5bhw+EZ6e4Y@qM;LfX|s%pGDQ=4yjJ?Cx6{5xYTbHO~+ zHLISXXH#Q)6_5|q+?VA}iYR^+R76TYAs>Xx|NV z=a{=B3TTO}%HL_qVponGR^j3p%tLO&PG2|R^}sXW%?K7-y0y=J%Z+)8kS*e3TW^u{ z^%9*v%yrO{%s1L*yrl}o)g-PB zE{QD2r`G&?+=1#k#N#_lA+A|pm&p@T6Gvc9`np4InVh&Uu^i%gJ66SdKt?t|c0fd% zia#Lpx;($bV`r0^=V5PPt3;0~VIu#S*#C_DPv%=hf05g_GxOwu%=Dfv5_1lfHjFiAxNu3hxX5DHs$9(XxPW>TpGl*>o7Qprla3p(&Q#hml_nYUE(sR{ z%UhF%`{7StBXVH}{A04loWAy{1W6WL66FU?87U&gYpMRIHXSj1oxVTI1nA0CPsYc=e diff --git a/Classes/Base.lproj/AboutView.xib b/Classes/Base.lproj/AboutView.xib deleted file mode 100644 index 286b802c2..000000000 --- a/Classes/Base.lproj/AboutView.xib +++ /dev/null @@ -1,300 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/Base.lproj/AssistantLinkView.strings b/Classes/Base.lproj/AssistantLinkView.strings deleted file mode 100644 index 7a967d82d64d4fda4e151449e039a57fd3902bdb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7040 zcmeI1+foxj5Qh7jr`X~W-KYqPT3&>pCCVW}0P!x6a54l438#lwzn*2?WM{II5s{Q- zrFOHK>7D8B`TOsl$&c?7@zOL zJ%{uhN>{G?B-8iHM)pK{(nccUohIKsIW^H(dDUJ z$!Ce>1wApBj-9+Qh5i#fyCg~@={xyrmT-+Hm^;LOU2MC;w$!dAtXz>#{N9#TJif+L znYE~xUn^3(C%>e6WVVl{NvORKg_l`Y{s^Qzlb75Z_;Wgk7nj7pj~AEKgK^}ND1q1n zw|^Qh^YB5J&j}n5&M+0}pjX{!mvU3eH^qFi03K!ypX_lzBkuNd_;5*t;=`w(FPd!c zwDD9&jmO9tEEOSLzuMu=`+j>EtRx=I0 zyL>ArMPTj3psd7mjpwB0*dRjd8J#5=TXA@5aM?DkZRR^R)syz9J{?BgLJxCGUK<<>r!5Ov2U+vKF)0k7x(}7vM$gC^NJT%V?d@&rRBs?8Q1TRzHX64y-{-KlAuGtr(9kUykB!yV86}`+V58 zD>SW6M&BVfjNg+r)19!!f3aUTS?v|@`;OJs{mmwO;z7T zGc50e+)f`W7W-(2%5E9&>@Z3!A9(jV=OdRysENwuq<>%b@!mXB|HFv~A9#!Ito|#Bg1FRu8MDLvrng*C-;aOX znq^)YT{oXseEFhEy|fDUl`&RWSjKF+ux$LRkvN9;Ue-e`c6L0q^bTp6Tj{=3>% p2CeJVhU;LsjCH<$S8k{|^ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/Base.lproj/AssistantSubviews.strings b/Classes/Base.lproj/AssistantSubviews.strings deleted file mode 100644 index 10e7b95e4d29441863bf6c1d67278e10e88b807c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22190 zcmdspZbfSfuP1k6{62`0-X`SIuM(;CDu zQjayVUAEbx>^S50sQcC1t?riW|Nrlq`OW-l8fL{@nIm({U&H*H$1i5jY?{~RPxFnx zYt!S(A6!2&$NY7z*Ua&6 z-<&<%^O~`G$mZj`<6f71?wBi^X7%Bozng#EOZma zyFMgdx>k=78i!u#Xr=IL7c|e{Ov5s3d<=UTFzjVA!$#399W{M6ohNUC&<5Q4aL=*k zJ?B=$=jWg7(Zd(@3#uL6d>8ku3$nxrG5 z&scpvIbG7&qobnhlER*9ZDPoDh}7R%f!+{dWMwI8`L$H9PuD6HBgy0?9=erapNyhubJcBL4W8pccDnl(Q9Zo# zsJiZv^)w?oKF7Ac$;c{OJTG9Gi`TB&&?M&gRE|rbe=%B2@6l?kCeh^#wn-K|o(fB> zKF9jE+%+?IRAI|rjMgMlxjL-g>1gWtgJW=$Dr((UR)g8A*_?mEF+-D>V_u}n^{c;v zC*|>D*7-5Z@y=PZXLj+!9oV~U;vTsGZ%>)yOZ(h3?;rf5uql+#*&dFYYRk0Z?;==T zfP}YKcy&jCw3-j5o!~1+DBd%}LtttDSCXvdoP@@8!JZG;m+vGDx87^kmzkqUXc=Le zMydR9Om%s08@qS;+s7w%9_F;lKi15F&3JEEyYrRX)rBta)g&}4wQ*y%jAI?q`g_&! z;0?9hJeD4?k_-2jc$8;VlSpN~rqe89afT478A)hy+#m2X+k5UawhM%$T@fX=u z*+NZ1vv8Q$I9e}k_+9<#8Q-E0{R$+W;|UotV}q5pjE5$X>J7td9%Dy{sNRusD`}aR zDf@RC4t0>y^{MI{gc`*Vi227VYr!`8gPg9&^{vVqw#cp4VZonN8yUT_%b?=dBsAaf z$Bfw!&SFZ{wPU0BwXNeD>{0Zoo9@tEb}8g!k5r>BBdE6h6H*yfR+Hxy^CDOkwx~vY ziBvzRuW34BI?o*M<+RH-Ovtn6um%%$#Ln7i2>2eLVWewTctCyKVyO7Okiw$$6}vjB zHsQ)HJi3OB8GYyFfK8f2Dx1Of*6}6auhAXWbt6@^+mnNab zpK<7!iq-VEc8hOIwSQpN7czj0+_+#*I(gRNnbM>aV@k z)^D>auE3ct=U_9swtZ@%vh|vTX1zaV%!XaYJfre*-S-ppkd<0?r?08baxGf?Pxh>& zH=J>GoBVXn_U(($7AH<`&40*Z|4Te_=X+N7!#*O43p7v<>4!_>Nq0VLaO=U9Y@q&Df=X zC>_=VYDC$cd&8^pylE1e73C3A^`BP0xku(NJCc{2AIqq3_NaBr_G=QU-ah%-W}VEV zK?Wkv#Yq6^56gbG%SozOq1jvq73WdKN>E3SRIa#DTm*Zf44uTNodw+4O^&@tdXHSzz^;k`(7#9BeGOd_)$bNw2F4Fary|YE4 zfR9ipk&4jdW7=!tmV9fmcpmKM!{XrLOA*ENkyH8L?(5=K+WAlM>$l8j(^io^V%KwT zRy7ID&$V%5wv5Bi!*4tcp1&j3<3%j~Zh5?duWxx4YZ9qE*0qY^F)O})0!GqRcxihd zH>~*ncT+TpRE#F?>#;6+i`+Keue|J=LgL?lVTiMvrYprmATXi!tNK?ZT7k)iLCZT2-RQmfho9B!BVi6HOwO7okQm z9A+h_J7<4WYWV|dTKG%I_xS5?}bge7gF4s(VL%TSdO1Iv0sI z8nSh;4|z8`*2Z|>0hh_{o!qe3)rQ+kBtmH4^)pExBgZ+-kK68KPp`b~m&i3T^zHLj8O-YHk)w(jk`jSoY1EH?zC< zn}!Zd=ony+7-udWeTIQK0!(;7v>t{V#XCPBDe^dE8LV_TVfMp1Nai} zV2Cj+bg?OO&M8%gNgW#ZDugZP8j?vpStG|cKOS;&WjNySoEuYPLZyZCl&VvDO^LWR zyw`4hR$|r#PAxtojEJ+y95Optkon!G3SpDIUCrwbKK1<9y;rK+wKx}8^DkM9;++MS Q@~-L^Rv~_M-qfPu0c=ZYhyVZp diff --git a/Classes/Base.lproj/AssistantView.xib b/Classes/Base.lproj/AssistantView.xib deleted file mode 100644 index 078af144f..000000000 --- a/Classes/Base.lproj/AssistantView.xib +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/Base.lproj/AssistantViewScreens.strings b/Classes/Base.lproj/AssistantViewScreens.strings deleted file mode 100644 index 33e0e883fc53799643648e4ee0312bcf7b6428ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34714 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 lT`?(lDUQD1(f#I~Yt!ar;T - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/Base.lproj/AssistantViews.strings b/Classes/Base.lproj/AssistantViews.strings deleted file mode 100644 index 8b6aa3f3b3004d58c46a2ef0c0b3ef09b5618e26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18746 zcmd^HTT|mU6xK7pBD0S>18u^REba86T)JgpDTVA#nNA-1gx^={qdLIPHLi};P<>KY zI6mO|kGR`Yef$h{`zv*UdlUT5)mL?ddl$Gfd3??h?o8ETR>ImGo_9Ovo|*XT(k z^9sLnoKJCV;IF=JYh?X~=lzXu^l|S%?L9uXskRr|yat9foYR$!Lb|+mCH;Cs^E^&jAfMq))%F;sD^f3x*G$gXRO6()Fi~A_FvlnHVLUpi2}QKc7S1Cn z4`lNf#}}`a^UrGZlCvf8uQRYY*4&V1Wi#Y68e;5i%ER7@J*yeC_m5Hq2AWFL8ldbeb~V5*E6?)6X)ntEfZ28gvAT%r2y zLH7xCg=&^LqI0?4u=)xh z>m1|x@wb)oG`b?KAvl?_SZ{!vvd~ah{ltOsDLb;DsWLQ<`L=7T z@4YNRSERP%WUj_`oTTg=n1wE6J5EY09*OPtmNHbxZq1b4nqs^8@?tUaeA@oamy%~M z9u@z57i+$R5RP)=uwUdq?#AEZ`yi% zQ$(WUm6I8ZmG^BMKb#~vI$lOOJgbi%ZcIB|jAZFOM-Sthfu4h+v2ZAAI%?C48oIKY zsEN@$)_;n4Zk#uDl;4li73mm>^Wa#lydPJKj+ap`R;tKzeji8g3hA9-);w58ZKeEu zOKd$}>T2xg%ZkGnvL7cU7LO$Me7Tgr#`vXKxe!vn=Ic~Y^ZD{)IpF!WG3ld@L(0o= zG08~@;VCy3K1HoHhVAJ6InAksaQPKm2Q{2DlX5cUDEU#4wHGHNFURn>cp1)KoRkof zDst%lWAzZSm;Vl-6EU-!lopGR_kC-xq>MaE@rd}RJ4+>>AHq;BrgkxFP3ukmL9cd? z%t+&<0Y2yWq<7c(Hfv)3*01o)HEEm`(L>Gz9~0J&MPz1MHxD~6*IBrTfexoTLz@(D>#YK6$6#*qJK8t+OyIi~4$GVpgpTpko88glNSE zy}6@zdHp4CcWZ>qdpcSpMC-9=H3F?7vhQ)s>Z4?A(6ik4le&b)M8uz8C7Ns8xaiwK z9I|bkzj9SZzQ6i)8*xjkj6(j(NeW@|{Z&$%{tRziUb~jRQZSTm9jP zQjVy0TV59^mzZb&Y#yv!m!ag6rC58~#>Li-%C*VkA-$ThiFZM?p0S8db#i3wVtc5% zc(8Ko#9D;=Rq>Fn(^`5iu82-`a%AmNHxE{Bomh)-zbYQmbzLiBrcoZP(j02-Qa2A) z?o089blud7nDP4d{UM8om*x-tEEClaFRz{?%%=9XD_boOb@;>c-jmcyty?8-H^ z^r$;_*HoxK=`O|_W!9*2W5ev~oA#Ies@Aa*p^IY=j2wGD#I=xC=A2HkT<~LK+v9SQ zsz=Z3;Cf$9ixA#&bE7n4evP>xiga54J;V7ueD!uQH%fCw8*A$Igl;ROTi7F@^9 z!!67}CG!c_Lh1{}HI*~Q&t+QQNJ>7bl_Op==P|`~3$ao~4&mlQv!mz(<`+-lF+=qS zj=v+5^gO@eT1fqd(Mh+=v(GS|L7 zSy<&5f8E1UXX*ov6C6jFYoR$k_g%Mx@K*haS;@bURqQT-J z;95vMBdw8~0lrGLJ%3t4^_Y1LTs}|h5JDNs>t)x#=X?GQ^1!yX`Yw*!SP^jU*`8~` zd43gomgVX|XE(d@#;j2=Jt6%U80rUqSfI;Vb$W*$>KaTO>wfATMw*{IKDZVfA4PQu zVeUfjvipMleRkP#@qm$%$pV*P;SlpJ?>+on3u!L!^@-(xAEVfO;7h34rywp})D(=Gm~PY!Ns}(B4}hi%bc%`EMPI({krtSND|r1$Gm)4( z!#Q*A$ISPahaS4{F@-^lJ%^7c{yJD7!UP{UaBPvXGG;x-isLO?nP7>8?OQntWcAzaUc+UQb#~KAWmuy!R8z6NZq3BjZXzP*Xd_~)>vyiQ zJ5{EY$*9I;q-Ij})2EYrm!FlYeiIuxkE~ywma2n3!M*qd2x^3mHSKM7eL}g1moPe= zN%r_JPUqjz0YZUNsHWsP>c2v{e>o#pz3CL4&LcaNgj^4O0?j$HZ`9^AeSuD2O~>}r UCzCsuv$3@=%OdNSWNZfyKkCzM$p8QV diff --git a/Classes/Base.lproj/CallIncomingView.strings b/Classes/Base.lproj/CallIncomingView.strings deleted file mode 100644 index 383ae2d16652815c09bbae68c0eaeaac0222fa3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4498 zcmd6rZ*LMo5XR>TEl`;5AA1OjFT zVD30jm*hykiDIQD_c5!EjVRbG3V4+GHD~f_p1I<&UM-sp%u7}!AA$S}5qL&@D0tX} zF-ZodwQaNTWryjHKl*;0Rb3}N`50?hk4#M2QIk5Fcp>jlsk*#ozA9xj?%ctGDoh!G zd&H%vz8dc>qPJNT;G5={>CK!I%l+9E^rzIhX8$d$Rz$7BXc4{5V*BWQbTHjlvbldo z9^ZhxOOI11#(|jHZ?o{_e%d2f{{L@3Xh@MNP;oses_05S7_6{a_(o;jez7fmY=FN* zG>)kcC6{PUF%^xpg>N)`_0iQW-=a^tTjn{l>28@+byg3!q?cAeSB`Zcpc)R=DSuFo%Jn7$YRo5ik2z*K^42HcVVHpuI!lH%<1HFbiuS@_~N z{n>2(&E2xmN1R%V;11-Jdm9!!H?nWD*fe^VmaX<%VObP(jupSZhumA#!1q)X(iS$g dTg|gwVZ#Uw(C2vlpAE%%Wt578&0>8v`~`1@t)>6~ diff --git a/Classes/Base.lproj/CallOutgoingView.strings b/Classes/Base.lproj/CallOutgoingView.strings deleted file mode 100644 index 9f052fcb664f1adcb1fa59b471ba4fa1ce74cf8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5650 zcmds*Z%-OQ5XR>=VGZ+OqiCt2t9jbBeCmVG&6{K4<9nQh4t zuh`n3Nt?MI?<*O~CUb3OdgJ?4C6ROH%$h5^cEGjy{yn{0lNDXonE7?7jaM$pp}d!f z)n&$QzAdCH=JC3~wPsPWPx5&;H-3uGzXDI1#?h+u@%zf63}>g3GI_xrMyn^Wu>=b- zJZ!;LBumniPL2)DB9x81KM#w32i6RGu^0O*`2gx&Ic97T6?F%@YY~e5t~Wm9w~;>D zH-q9DELr|^!PX&mOZc2H_m*rqlMB9^Tsh~eV`C=fmxNq6^>T0m@<=LJM)F+N$p zYf-Z78ozEM{_i~V@iD7BSf*AT*eGZ)HmEpXay)1jp|S8Z^Po({TLpE^Wl zK{ZD;DAPsF;{U4zYqCOrVk+W*ahoXG$?>3BgvP^cE5Rx#`s9S^Clba?<0o|m4LG<2 z{ejJiW7&X*yRo2IgmR#J<;x4VGMrnbGd*Qb_H4)418b(3O?u8fbgfA|H~2JNX@&Z} znIf9ZL7n?W@X%&l;2!%92d+g44K}))_vTh7r~4C*zLoZRrpxwq%{t>nxY2v%UG{$w z^w(&^s7J_p^{ggn7PE3R%9znCLYaBoQ^bx{(U_ zI5i7RC$;DLu(;JPB>(fOGdc6S)JJn7ShU?hpGtU`L#bJW?q=Sfhehx9VAJrQpcN7I zZ-cSUUgx`^uDBMV_+5{}8PN6SzUr5x{ZCbHEdG|$1!)#fTm5!99mjMDU;m(*C7gu} z@-k~8GQ8saH=tRB?!W7iZ~y;oE$gHE+u%Dy&5XWx=yLA%d78!3sAVp9le2lqza{2u v6Wf1!PPy*qaB3D0znk}~=9(5x=HLd^dSUl^$XG|uw{je47NHzyJ{9CQOJZH+ diff --git a/Classes/Base.lproj/CallView.strings b/Classes/Base.lproj/CallView.strings deleted file mode 100644 index 7eab58bf38c62db68b4e5bd7512a229df84f0504..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18822 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 N))2X@n-V=S{{t0ZAprmY diff --git a/Classes/Base.lproj/CallView~ipad.strings b/Classes/Base.lproj/CallView~ipad.strings deleted file mode 100644 index 743293f4d95da727743eeebd8efea2e0d4618585..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18822 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/Base.lproj/ChatConversationImdnView.strings b/Classes/Base.lproj/ChatConversationImdnView.strings deleted file mode 100644 index c2c12c056b73aa45dee39d0920991e4583d566eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1782 zcmd6o*-pYh6o&unK1IVNNl{R5G~Td8AtY`<;w42?b^`_V<<*ZuS(=ft7!z~Sg_(1v z|8i#d{BU%jv|JU`S5p(h)j3y6b(NLZQ~@#4kdZUSn`#m5Fta0H9qKw{ysOHb&rE-{ zLO#syEi12>?K0mYyR70WtD<||$>UpX?vKRfvLX#Ohj&v(=0`|UtFLTgaaeU1>#_!{ z{sf)|+}e8GgL@&=EC^8sp>8wY=fB4mJ*v7OJoQk-Q;mw-m>#B#qq;zTM1y_QxTdZ`em3*R@J9=BA9_y1$7nsV0%;k>^D?&d-Dy&oSqM zi-+^R5AbmEN9-dEYv1iClJZP)^6lq+7nMr5eyj)XJ~4`UZ_4;j-e=jhr#jLJu2(?+ Z%>RbVSwFJ&y@}cOjyGkPcDxOPqc0jP4O;*J diff --git a/Classes/Base.lproj/ChatConversationImdnView.xib b/Classes/Base.lproj/ChatConversationImdnView.xib deleted file mode 100644 index 99dc77538..000000000 --- a/Classes/Base.lproj/ChatConversationImdnView.xib +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/Base.lproj/ChatConversationInfoView.strings b/Classes/Base.lproj/ChatConversationInfoView.strings deleted file mode 100644 index 69315c608b9fcdebb0e237ba616d2e0585dac3a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2800 zcmd6pTTjA35QWb(zoPNcq+Vj8F~$eM3mAi_czH!dsX|e#M*Z>Xw_CZ`tgWljm<9^$ z+3uM$XJ&YPDQQ;I3RF>7E!}YiTIDsRL)BE)y%MgzVt!fS_mm|+Mv#lcn?^u+WQt=W0xM#_$5u;jK;N5 z%*kH`pWZp?$N(kWbK}JND5PUHaYP*l9cLWjLijpjl1ow4;|b_LD=WCfRDsbc!3!~; ziswZ_PcW0BZfEB@m2{iYz=iPDAdj1`CJEj*vvv3{qXz#AV$ZLBR}>$s--Vdrob - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/Base.lproj/ChatConversationView.strings b/Classes/Base.lproj/ChatConversationView.strings deleted file mode 100644 index 394c7aca14a1761606f7315e96331bff992f1b89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7442 zcmd6sTTk0S5QXQNUlAeo1SI^)4%H2!upJKfu8w0Dg=lgSbGQ;m{GN0=yvx5~z zpEJW6#UVPv|BjqF5G}~Eg~?p;MK$^?7pfum{!yw#(d|W?_u#a{Z`a^_S}84ROY+Xb zXs-BT%zCyj<{myjkXv#7Cf8mV6HmPAFx#|sUA|7XkK#-yNteB5_D^5#oDo`;MJqz) zif@Fno?SfZHYg2VqdRR5S56+vu>>gB5$9bvilZKD%aXjb7>5zfuVUG#z(6NbUKb1N zaw`|$-MYK}eslpZXs2nkH z$N65qlMzq(6K8{F;mbp|cP>^Y(}hhqFts;(S8S0F`!G<$I>3He-dj9q7QQ@;`r<-u zSF2cKW95D$pNMlS>P1eePS@z(4S%)R0ZkOl9NCz6P`V}1hIAzXy-6QMNXA~Xn1{=! z8ZuP-yuP?FPb1R1cyI7-(q{$qQDr`ps5OfsBRv`F(Y~%EX`M(FoJQ&HBkYUx0Cs+B z7QU!QeR0Lw&Tk*JOLiA|yRj;j;T8^l@EM?VD=#9iS@?30<(n@j@lK2Pe26-oMO}^2 zdZYN+J6yw)%yrE|+u{0?U3ezT>TDYueUj5VyY9{)#zMC#lKm5TeI+uaGGDm zvSE5mt)oic^T%X+12$?@gaD;~VD~4ZuUYuAk>*#iY^22?osD|b8wFB@hd{2_M=KT^ znuRYLX?_*UhTUhTv(P~MTHs%#&kN);e{EYVXcoRK*!~oYJ}m>&SvaNcKY~Au>Oq+u za$vEbS@^P$=9h~NyE58UAaA#oj{kyQ@dW%^C_*4VQP{GDU$fBaLSA27m?x_ghH3N0 z$#3>=((js1@RDB8OoAtLPf2~$EXK)#G~cGfN_LOX;cdVg_#fzt0w#zf=Aa}Cn#H&* zn3Y|qUHMk{2-CZYh1Y?13p z#G1uxig7Z3VvSCFzoDVYgE#K2hVQbp=eksU^6tfNvg=c`&E7qTDp`{{X#amuv+#{> HdjI+#00?au diff --git a/Classes/Base.lproj/ChatConversationView.xib b/Classes/Base.lproj/ChatConversationView.xib deleted file mode 100644 index 1f462666a..000000000 --- a/Classes/Base.lproj/ChatConversationView.xib +++ /dev/null @@ -1,713 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/Base.lproj/ChatRoomView.strings b/Classes/Base.lproj/ChatRoomView.strings deleted file mode 100644 index fcaf31239ab71e43eb1b156e736de285dc64d8ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2792 zcmb_eT~ER=6g|)T6$^);S&xM;&i4|5I|7ko;1L}HtIrjG~7 z#iy4l3Ocq68xGmH`|{dGhikk@UP}e@IMi^IP(sYuYN6ZOw-!2fz7}~rOnT_(_MXpW z<}b5*$atqSsS8sju+AjimOZO%wN+K?*hQI? z%_AE-)%7ReE$5IvfAdsO>a1he zw&bHwV_mXvO}=*I$uOpePwb&Xd_~^aRL#0wafW{K5xUKc+!T9tI@VF!S*xUdQw+9e ze#eN3J4Fv7f-XifhQ6_boZ=*kjN&b3Y;&~Ox{38}cOTUQTzrtTxbrNiwy8GHQoO~C zE$<@RCf3P*q^d~O<^e9LqbKi)1NNT@`AzxdvHOhasTjrmXT(3AQNazXpn_LM<~X5s R){ZLoExSZq&zt(<;2*<7pg;fs diff --git a/Classes/Base.lproj/ChatView.strings b/Classes/Base.lproj/ChatView.strings deleted file mode 100644 index 0a6a5b80297c96e5c6bb0fccd1a556f1fb22c618..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1508 zcmb`H-Acni5QWcmo+9+J7yf}4RlLzwD2Tm@50Ewiqp?cTqQ1QP?dE4oO^sX15(qQ1 zXXc!lo$s$e#~LcsjdH~*Iiarj271s`*IH}EdDRljCH7bgPHH1F&6RO4BjQtc_~v-> z7Ga{q`l_2VyifQSL{BwtqeeCIkV*pnM>_gfmO+cKnI{0lkI@o#gVt$n8F9)|DqVN6d-reXtkQWK86t;`rtL+Qn7jWNv*n1mnUqN z6}JmI9osJfr@&%%(chcnOy^sDHWuGL_gAp54sU2;v`F>HjxqXFJgfa0VY}FqVK=ht ItiulU1Ep=`7ytkO diff --git a/Classes/Base.lproj/ChatsListView.strings b/Classes/Base.lproj/ChatsListView.strings deleted file mode 100644 index 2273c8280be5090d386ced3e1f12d0f946a5fa95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1866 zcmdUw-A=+l5Jtc2K1IVN38)yOiSb53LsTT>i* zNz2RO3%}8rDV*eFbiJeCn^+A_F1Z_8ulSy!dz zbNZ%{Fv_1`(B#Z0aQ5tKFG0c7{Qoa~z;V)sp_lyrr?fs~gZ MV2fCmKw4go#-C3krvLx| diff --git a/Classes/Base.lproj/ChatsListView.xib b/Classes/Base.lproj/ChatsListView.xib deleted file mode 100644 index e0527c064..000000000 --- a/Classes/Base.lproj/ChatsListView.xib +++ /dev/null @@ -1,239 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/Base.lproj/ContactDetailsView.strings b/Classes/Base.lproj/ContactDetailsView.strings deleted file mode 100644 index e1f38b24f9d3a8e7e5f840de825295a75a4e7457..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2866 zcmcgu%TB^T6g}&HMZ=P$xX>uXxDfFH0a4LF+yN4KlSo0}|-^Gou13G@&={5Y1h{J-n`|;3+^Fo82{F(UcC~z*KhjWDmT|^ufTM=0;opbBy=}y9c1?s8R=6X+t<=iaMd%QQ&&H%-yq+$9(FNmn Z>ERg>SMkO9Rj{yK%esiDE|zn#@CQOLvkd?M diff --git a/Classes/Base.lproj/ContactDetailsView.xib b/Classes/Base.lproj/ContactDetailsView.xib deleted file mode 100644 index a9a2879a4..000000000 --- a/Classes/Base.lproj/ContactDetailsView.xib +++ /dev/null @@ -1,342 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/Base.lproj/ContactsListView.strings b/Classes/Base.lproj/ContactsListView.strings deleted file mode 100644 index 75457d14605e42589b2932b385f2cd666641fd16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2176 zcmd6oPfx-?5XIk_PtkBB0b>L_7!N3#U{Fz_QEyN|kp>Kw1pV;pZ@2u>rUfcAF`G8q z-I>`puWx3*J~P@;PL7V{siilDqeGsoZdB8e#_}0M4Olr~y(O2?v6elx)x)oc#k=b4 zwb}9J5h~2hmuvlf>+9PSy4KIfdNhrDiSG;FF0pE=&SMm(`#ErCm={%83qy7uVSN-C zPDqc9Iyn#Ys%OhaXG2~}Azn&}dHD;TbQ!AXkrCEQpu0GIltVm}6Y~&%YP#7rZLI`~ zH+5xdWqGb8EFP4nCii*Y<39;yA7zoWUgB`2%f<{>3{=VACHD_q^WN1JOavaY z{t#u6l!2dER%N~DdI1j8(!KG_dsxwqx~z`r21f0sD>(E|vod1VvQ;o5PSB0p z>OjYU4?_YJ`}HvM7Kwz`N*|+eN&Jzs+u#D(F2Plf`;9bdG`=@Z@se p - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/Base.lproj/ContactsView.strings b/Classes/Base.lproj/ContactsView.strings deleted file mode 100644 index 933e3a6291d9d462caaae3300a21f5ffff9256f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1786 zcmbu9&5FW65QOWTrwATB=tbQH@nG~K2z%LmfEX2{F^a~6FTcB$$uC2X*vcRzGt*UF z{bBxoJ@nCqj~Nn#xN`ZJ@Ylf)76@=d#&trtf!xW684>Pm)?; z%IEwoGWD6M&5Xm=)MdPVDRsYCyXSjEtp(<_#-Kd!vQLlC1N5Hip;Ie7--Sm9-851r zyWq%<5`3FEB+O7vuy8KsrpYI(+KF;qea9MpOD0Nj#?J7|bG<`yXptPMNxssLenRr} zE2ef2kLgO8W&MV(eI?It(du;e7OFXQa;(GA?Nnd tC(`f>%op)c5^*K^#D~Q!-_d?e+g|!q@&qeRZEZIhR}NXbq0?6P@DBl}5)l9Z diff --git a/Classes/Base.lproj/CountryListView.strings b/Classes/Base.lproj/CountryListView.strings deleted file mode 100644 index d3f5ff5205ef1e5005feae972e111eda780e2c58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 484 zcma)&O$&lR7=-8SuMm%cb?6k)A+1B7LLWp&lPE3fkU{M_(LBxBiS_uZLcW}Xj2 z4b^1I)lt4KEK?n}rKJWMGuvp(pQSd_nEQ=0!_3tO(}%ra)@8f$U`~0@v`$$b8WGF@ z=0LriJ%Jm`)((!XiJBUwj2f;C?q!I2?!wBI{_$a;_$#ZUE6TCXI;Adr90&MLS_#Pz s(nAR1Ug#xj!l9`^hl<2|l15}5p_H60t-cbMA?k1KDkq;die3!80LUapd;kCd diff --git a/Classes/Base.lproj/CountryListView.xib b/Classes/Base.lproj/CountryListView.xib deleted file mode 100755 index 40977ba7e..000000000 --- a/Classes/Base.lproj/CountryListView.xib +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/Base.lproj/DialerView.strings b/Classes/Base.lproj/DialerView.strings deleted file mode 100644 index a53319359c1ad161296f581775a5374db9bfa51d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3692 zcmcJS-A=+l5QWcmpQ7QC3l&-rW4sX5NMhoJ`T+bTq7@8aqA#zW-C=E^mSv2a4Wya< zIs45_cc)*U5e`vDj2zC5>W|D()Nq7@9TQOrOX5zZ>NnoyUry3ilZZ-K zlBPE%F8^|pV>OAWge7q&Q*}&S{^cYcHHoN%CAs6BI$({kyFN-v_oK0BZdbR-IB(ln)M&M@_=dBe;X$L<(5VcI6G*tE31J%sf@kF*(^pLV;JFtqw=qNo?) E8$Bx~+yDRo diff --git a/Classes/Base.lproj/DialerView.xib b/Classes/Base.lproj/DialerView.xib deleted file mode 100644 index 3728f77cf..000000000 --- a/Classes/Base.lproj/DialerView.xib +++ /dev/null @@ -1,350 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/Base.lproj/DialerView~ipad.strings b/Classes/Base.lproj/DialerView~ipad.strings deleted file mode 100644 index aac28d0e3fd94b6d2e9515062067134b5fee2d39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8486 zcmdU!ZBr955Xbj*KShU^%$!26KpDpufXGv&3WC*lZ7B+r2Meh6!>j*I8he*ZE-adJ zoEvURy1mVBcaz=h{rpj*r!-G>+Mp5j=oVLYXS#-HKa z9u05}mHZj?@$CqIcQm0kzUwPl^PEk(!Z$-2tKVIz`w5;jp8j4xv4dZoV`Ko?9eM#N zJ&Wd4<2>eB!{;VFd64$G-%ogm{u-YB7(3i3tFa|M(Y3OV=G1e~Yp%l%_jIYO!?w8o zixzRu!)F88OhUF<2h|;}Yw*dVBc1-n=l=$+S`ok_(iqTM;*yw1^^v5sV3F{MltgQZ zOR^O3NlJ?al0`9z))JRwIY?sS&+IQLrD77TB`(QIki^8_j6}XyYAta|T0s&Me>0LL zu}`#?xFlw0@~?Oke>0M0F^Sd^m!uK&iHW}%$%>dnYl%x@b|$}1O#IDAT4EBdB`(P! za%vAXLV10Z7V;yHNV7^-S6nKS1AYE!7P2IdNO`oDxFp-~&MoS`a{n|7xspeuJXu|F zsn%6>eG#Bqq!#j|CO7Lyk4ee0`r?wU;mmP@x|=K2I?fqfuks4x6GyoZ8^l+hR*y+( zLvx60fep}(aD{2@T7qfi)kIcbTrx9X->$MiUucCAdQYdgA7BLzEq}Tsq~6uDh)Zf# zosYCZ$2dJF^akhl1Z(sP|J#vUl#r5Eah@`H+DF=?&vcdTo)qB&4KORMgpu zs!l%7Zeb@{1?d_s<9-0&_AOqQgp@Zsm$Mo*vHDhfepII%!%rz zZdjIZNk}b`ol9J5bMp7C{0=hK9!NR*6J+c@`tA8W-6bLAeOPDe-*@>thD_%8ZExnc7%0yuHuXH>;%ze$Cpb&8eiqJ3q{tSy+;Z4Rl2AhImcWg>n1n@ z9$}}=uP~Q{)B;uXT|yncE_RV^FutNq+y~$_JsMM8xFn>cRdfKe=V$*e&`0*@g7g@y zOubg<2)ZPsyxFgZxwGs%J&Pu$IrpeyV))x xJwaciO&=@^xFn<&D4$*27%*>ud@*p3TDcAO6#E%hi`#{Mj!Qyn0X>Tv{Q^mB|Iz>e diff --git a/Classes/Base.lproj/DialerView~ipad.xib b/Classes/Base.lproj/DialerView~ipad.xib deleted file mode 100644 index 1b50b5abc..000000000 --- a/Classes/Base.lproj/DialerView~ipad.xib +++ /dev/null @@ -1,674 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/Base.lproj/FirstLoginView.strings b/Classes/Base.lproj/FirstLoginView.strings deleted file mode 100644 index ded50f88828218ad3c5c30f989f7ffc6b2230ef2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7146 zcmds*Z&TVp5XSd4pThB_GqF|s2dC2)qEPJ=MJrN$hl)x?1%gHW@NIv07@1r)CMRg8 zPKFqhO>Uok_I97UKfep|M&@KjR;43N2{~ruGrw7>%ZBVqOKxN!6=`$Tkz?+E;%QTk zI9k@eEr&eq@EgdjeB;@nwH<#amB8*_MC;99eo&*jnV!zgt;cYP}G^~YjSl52b&$Q4NZqflYI0cg)`^e(|?qS)o= z5VfqBm?#8thjjoS6B7uer?Cj9#7 z<1C1epM`Fm*(0_FATe_zLQ^I$%)LH$Zoz$RuZ}pkV7q0XwrwQBOuRi}63AEH4T#YX zVmBIdJO`2%^LBLO(HNnxPm{)A4R5Qml7rI)nBN6mP0l&jWjldUv(PZQV@`^phX3C= z8erL>GCe*wmuzJWWQe63SiMx>yL6k<&Wp6X7PGz zl7=o1{^{1FY4qnBHOch-p{>hP{v`0}p#lrhlH_ z_?NA}ZQFgX6%8=MoY!?pNltk?pt>$`J|OQa3EW8wZJy`xV^XYcO-#pCAr>VN-N*vx z4k%6kFd8rFHJXKn%N^4fgO8?c&`&$4sjD1{a-Hr{2iv(6Ie*~qje}6L@XgqyN51%7 zJ(2ukI*S^DIE$Kv#$s~RNpZOOer#E5(l;X=oi^vTVXFaWtIWy(g%xbA&@;PYot1&IjC9W!KwK%Db_mLsEjh&#NR4cBSz9VY+_^P-L2IL zA?hgVFcCJ*Lc^ww>x<>NYRoaHOjo?1D;UMTm{3ES#s5`fGz9V4s99)CPQS+Zu5;2W z=^3i_0uFau#`(MRu?wM~_-8)saz@XhMy(0bZh zDxLFlcA|_zsIj*caNVZw#BpjC8t2-$S-fWHR;})(W9gw^Lr@fLz3ozm8V(lCLc^ks zJ1G{o4|l!R9wF98U^}$k^33iX#Cg&zG;DeNm^Rk@x+g>#oq}@-gaIA%4mMq!NsBx< zT_3VAPNU{%d#&mDYgTAOQ1{5(0Hv`?C5~g)EPQK@=F>~WVlB7!9m4q?5on?;0^TYn zYOiMD8wb~)r^dityM)xxuFSJWGb+E!uD97WZ*j-$2cO - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/Base.lproj/HistoryDetailsView.strings b/Classes/Base.lproj/HistoryDetailsView.strings deleted file mode 100644 index 56036a31fc191017da7ead93aec5119cc381ec2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5074 zcmd6r?Qhah6voeI{)%QFmvkzI&Bd4q9Zse~)M$p^c-vqvU^b@CKVJRavO>8WxZYNT zH0!$d^xpG4=Q%Ik?_ULZB)bwwBv;asTaG|p@UtVIq$U-)lQG9ghTM71{g!k%da>m| z+A`q10T%c2mS=6ATuoP~#MYM&Z#H;(!SfE*H94AE9X>qY#ghWphqCuqyX;I?Nbgf% zja7(ha?R@J`0*LPd-6R4t|;bX9D6yAIr+x5`TNF!wJ1+5wC0X4Uf2FE4rY<^kEy-) z5Y*T3I9X{~jEhoQz+K9XJH59r<}p71AZCf$Pl#zBl?Nzulo?O5>P(y3x-MVyWnEdi z90AxyoI7(`T^*&8Jhq}_?)a+Hwf}n2M?}%&;%cPN0pV*8VGmFgE+$TbUJCepra z1L~?2QFutczT$ifPc;j*X0cAx|GyGd$%hK)@5p|`!I2y+aIk3M&w=Tfvkoy#RY{i; zY)+Dzl2ob-5SU8U<#$hBf?*(E$x_pYhg|jJjPG%0L_a!rWI|Rx60c^JE{k6-E;ie( zkI9z?Drv%LNX7UfWlJlXMP9A6WPX}(apclV9UTOyV}uq0)M6&I$rRQ@L#yj#O-gb*2ut7cQLnx?*}p42Y^ei`L}?c0y*^Hs^>Lc;CXSS@=dg z?aO*myL$0*CK}Ym8#ve}mLY5$Oef`JPS-4anQ-~%V#n6L&(}$|N%lQlm|W=7MGY_A zh5n&g`0}#KH(ySYTul0hHjysZfre&MGZGzW7Fq?+_VvZG{`j6!0a`@%4CRONhWYp2 zssNhBHpMqfA6_1R4efmVH482NS^RS8W3%%?m;Y6mDsYTSLV3bWX@A{o7J0R@P4hvY xS;c%oMe>nzUEc96HLniMLQ_Zn`CzkJxTa#%;h@YE9-@m6a%wT5S^Rq~`~i#G2nhfH diff --git a/Classes/Base.lproj/HistoryDetailsView.xib b/Classes/Base.lproj/HistoryDetailsView.xib deleted file mode 100644 index 63116312d..000000000 --- a/Classes/Base.lproj/HistoryDetailsView.xib +++ /dev/null @@ -1,500 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMSAAGGoF8QD05T -S2V5ZWRBcmNoaXZlctEICVRyb290gAGvEBALDBccEyEmJy4xND5GR0tOVSRudWxs1Q0ODxAREhMUFRZW -JGNsYXNzXk5TUmVzaXppbmdNb2RlXE5TSW1hZ2VGbGFnc1ZOU1JlcHNXTlNDb2xvcoAPEAASAMAAAIAC -gArSGA0ZG1pOUy5vYmplY3RzoRqAA4AJ0hgNHSCiHh+ABIAFgAjTDSIjJCUTXxAUTlNUSUZGUmVwcmVz -ZW50YXRpb25fEBlOU0ludGVybmFsTGF5b3V0RGlyZWN0aW9ugAeABk8RAj5NTQAqAAAADOHh4eEADwEA -AAMAAAABAAIAAAEBAAMAAAABAAIAAAECAAMAAAABAAgAAAEDAAMAAAABAAEAAAEGAAMAAAABAAEAAAEK -AAMAAAABAAEAAAERAAQAAAABAAAACAESAAMAAAABAAEAAAEVAAMAAAABAAEAAAEWAAMAAAABAAIAAAEX -AAQAAAABAAAABAEcAAMAAAABAAEAAAEoAAMAAAABAAIAAAFTAAMAAAABAAEAAIdzAAcAAAF4AAAAxgAA -AAAAAAF4YXBwbAIQAABtbnRyR1JBWVhZWiAH1QAHAAEAAAAAAABhY3NwQVBQTAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAARkZXNjAAAAtAAAAHVjcHJ0AAABLAAAACd3dHB0AAABVAAAABRrVFJDAAABaAAA -AA5kZXNjAAAAAAAAABtDYWxpYnJhdGVkIEdyYXkgQ29sb3JzcGFjZQAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSBDb21wdXRlciwgSW5jLgAAWFlaIAAAAAAAAPNRAAEAAAAB -FsxjdXJ2AAAAAAAAAAECMwAA0igpKitaJGNsYXNzbmFtZVgkY2xhc3Nlc18QEE5TQml0bWFwSW1hZ2VS -ZXCjKiwtWk5TSW1hZ2VSZXBYTlNPYmplY3TSKCkvMFdOU0FycmF5oi8t0igpMjNeTlNNdXRhYmxlQXJy -YXmjMi8t1TU2NzgNOTo7PD1XTlNXaGl0ZVxOU0NvbXBvbmVudHNcTlNDb2xvclNwYWNlXxASTlNDdXN0 -b21Db2xvclNwYWNlRDAgMABDMCAwEAOAC4AO1D9AQQ1CQ0RFVE5TSURVTlNJQ0NXTlNNb2RlbBAJgAwQ -AIANTxERnAAAEZxhcHBsAgAAAG1udHJHUkFZWFlaIAfcAAgAFwAPAC4AD2Fjc3BBUFBMAAAAAG5vbmUA -AAAAAAAAAAAAAAAAAAAAAAD21gABAAAAANMtYXBwbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAABWRlc2MAAADAAAAAeWRzY20AAAE8AAAIGmNwcnQAAAlYAAAAI3d0cHQA -AAl8AAAAFGtUUkMAAAmQAAAIDGRlc2MAAAAAAAAAH0dlbmVyaWMgR3JheSBHYW1tYSAyLjIgUHJvZmls -ZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtbHVjAAAAAAAAAB8AAAAMc2tTSwAAAC4AAAGEZGFESwAAADoA -AAGyY2FFUwAAADgAAAHsdmlWTgAAAEAAAAIkcHRCUgAAAEoAAAJkdWtVQQAAACwAAAKuZnJGVQAAAD4A -AALaaHVIVQAAADQAAAMYemhUVwAAABoAAANMa29LUgAAACIAAANmbmJOTwAAADoAAAOIY3NDWgAAACgA -AAPCaGVJTAAAACQAAAPqcm9STwAAACoAAAQOZGVERQAAAE4AAAQ4aXRJVAAAAE4AAASGc3ZTRQAAADgA -AATUemhDTgAAABoAAAUMamFKUAAAACYAAAUmZWxHUgAAACoAAAVMcHRQTwAAAFIAAAV2bmxOTAAAAEAA -AAXIZXNFUwAAAEwAAAYIdGhUSAAAADIAAAZUdHJUUgAAACQAAAaGZmlGSQAAAEYAAAaqaHJIUgAAAD4A -AAbwcGxQTAAAAEoAAAcuYXJFRwAAACwAAAd4cnVSVQAAADoAAAekZW5VUwAAADwAAAfeAFYBYQBlAG8A -YgBlAGMAbgDhACAAcwBpAHYA4QAgAGcAYQBtAGEAIAAyACwAMgBHAGUAbgBlAHIAaQBzAGsAIABnAHIA -5QAgADIALAAyACAAZwBhAG0AbQBhAC0AcAByAG8AZgBpAGwARwBhAG0AbQBhACAAZABlACAAZwByAGkA -cwBvAHMAIABnAGUAbgDoAHIAaQBjAGEAIAAyAC4AMgBDHqUAdQAgAGgA7ABuAGgAIABNAOAAdQAgAHgA -4QBtACAAQwBoAHUAbgBnACAARwBhAG0AbQBhACAAMgAuADIAUABlAHIAZgBpAGwAIABHAGUAbgDpAHIA -aQBjAG8AIABkAGEAIABHAGEAbQBhACAAZABlACAAQwBpAG4AegBhAHMAIAAyACwAMgQXBDAEMwQwBDsE -TAQ9BDAAIABHAHIAYQB5AC0EMwQwBDwEMAAgADIALgAyAFAAcgBvAGYAaQBsACAAZwDpAG4A6QByAGkA -cQB1AGUAIABnAHIAaQBzACAAZwBhAG0AbQBhACAAMgAsADIAwQBsAHQAYQBsAOEAbgBvAHMAIABzAHoA -/AByAGsAZQAgAGcAYQBtAG0AYQAgADIALgAykBp1KHBwlo5RSV6mADIALgAygnJfaWPPj/DHfLwYACDW -jMDJACCsELnIACAAMgAuADIAINUEuFzTDMd8AEcAZQBuAGUAcgBpAHMAawAgAGcAcgDlACAAZwBhAG0A -bQBhACAAMgAsADIALQBwAHIAbwBmAGkAbABPAGIAZQBjAG4A4QAgAWEAZQBkAOEAIABnAGEAbQBhACAA -MgAuADIF0gXQBd4F1AAgBdAF5AXVBegAIAXbBdwF3AXZACAAMgAuADIARwBhAG0AYQAgAGcAcgBpACAA -ZwBlAG4AZQByAGkAYwEDACAAMgAsADIAQQBsAGwAZwBlAG0AZQBpAG4AZQBzACAARwByAGEAdQBzAHQA -dQBmAGUAbgAtAFAAcgBvAGYAaQBsACAARwBhAG0AbQBhACAAMgAsADIAUAByAG8AZgBpAGwAbwAgAGcA -cgBpAGcAaQBvACAAZwBlAG4AZQByAGkAYwBvACAAZABlAGwAbABhACAAZwBhAG0AbQBhACAAMgAsADIA -RwBlAG4AZQByAGkAcwBrACAAZwByAOUAIAAyACwAMgAgAGcAYQBtAG0AYQBwAHIAbwBmAGkAbGZukBpw -cF6mfPtlcAAyAC4AMmPPj/Blh072TgCCLDCwMOwwpDCsMPMw3gAgADIALgAyACAw1zDtMNUwoTCkMOsD -kwO1A70DuQO6A8wAIAOTA7oDwQO5ACADkwOsA7wDvAOxACAAMgAuADIAUABlAHIAZgBpAGwAIABnAGUA -bgDpAHIAaQBjAG8AIABkAGUAIABjAGkAbgB6AGUAbgB0AG8AcwAgAGQAYQAgAEcAYQBtAG0AYQAgADIA -LAAyAEEAbABnAGUAbQBlAGUAbgAgAGcAcgBpAGoAcwAgAGcAYQBtAG0AYQAgADIALAAyAC0AcAByAG8A -ZgBpAGUAbABQAGUAcgBmAGkAbAAgAGcAZQBuAOkAcgBpAGMAbwAgAGQAZQAgAGcAYQBtAG0AYQAgAGQA -ZQAgAGcAcgBpAHMAZQBzACAAMgAsADIOIw4xDgcOKg41DkEOAQ4hDiEOMg5ADgEOIw4iDkwOFw4xDkgO -Jw5EDhsAIAAyAC4AMgBHAGUAbgBlAGwAIABHAHIAaQAgAEcAYQBtAGEAIAAyACwAMgBZAGwAZQBpAG4A -ZQBuACAAaABhAHIAbQBhAGEAbgAgAGcAYQBtAG0AYQAgADIALAAyACAALQBwAHIAbwBmAGkAaQBsAGkA -RwBlAG4AZQByAGkBDQBrAGkAIABHAHIAYQB5ACAARwBhAG0AbQBhACAAMgAuADIAIABwAHIAbwBmAGkA -bABVAG4AaQB3AGUAcgBzAGEAbABuAHkAIABwAHIAbwBmAGkAbAAgAHMAegBhAHIAbwFbAGMAaQAgAGcA -YQBtAG0AYQAgADIALAAyBjoGJwZFBicAIAAyAC4AMgAgBkQGSAZGACAGMQZFBicGLwZKACAGOQYnBkUE -HgQxBEkEMARPACAEQQQ1BEAEMARPACAEMwQwBDwEPAQwACAAMgAsADIALQQ/BEAEPgREBDgEOwRMAEcA -ZQBuAGUAcgBpAGMAIABHAHIAYQB5ACAARwBhAG0AbQBhACAAMgAuADIAIABQAHIAbwBmAGkAbABlAAB0 -ZXh0AAAAAENvcHlyaWdodCBBcHBsZSBJbmMuLCAyMDEyAABYWVogAAAAAAAA81EAAQAAAAEWzGN1cnYA -AAAAAAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIANwA7AEAARQBKAE8AVABZAF4AYwBoAG0AcgB3AHwA -gQCGAIsAkACVAJoAnwCkAKkArgCyALcAvADBAMYAywDQANUA2wDgAOUA6wDwAPYA+wEBAQcBDQETARkB -HwElASsBMgE4AT4BRQFMAVIBWQFgAWcBbgF1AXwBgwGLAZIBmgGhAakBsQG5AcEByQHRAdkB4QHpAfIB -+gIDAgwCFAIdAiYCLwI4AkECSwJUAl0CZwJxAnoChAKOApgCogKsArYCwQLLAtUC4ALrAvUDAAMLAxYD -IQMtAzgDQwNPA1oDZgNyA34DigOWA6IDrgO6A8cD0wPgA+wD+QQGBBMEIAQtBDsESARVBGMEcQR+BIwE -mgSoBLYExATTBOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYFpgW1BcUF1QXlBfYGBgYWBicGNwZIBlkG -agZ7BowGnQavBsAG0QbjBvUHBwcZBysHPQdPB2EHdAeGB5kHrAe/B9IH5Qf4CAsIHwgyCEYIWghuCIII -lgiqCL4I0gjnCPsJEAklCToJTwlkCXkJjwmkCboJzwnlCfsKEQonCj0KVApqCoEKmAquCsUK3ArzCwsL -Igs5C1ELaQuAC5gLsAvIC+EL+QwSDCoMQwxcDHUMjgynDMAM2QzzDQ0NJg1ADVoNdA2ODakNww3eDfgO -Ew4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EPXg96D5YPsw/PD+wQCRAmEEMQYRB+EJsQuRDXEPURExExEU8R -bRGMEaoRyRHoEgcSJhJFEmQShBKjEsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkUahSLFK0UzhTwFRIV -NBVWFXgVmxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdlF4kXrhfSF/cYGxhAGGUYihivGNUY+hkgGUUZ -axmRGbcZ3RoEGioaURp3Gp4axRrsGxQbOxtjG4obshvaHAIcKhxSHHscoxzMHPUdHh1HHXAdmR3DHewe -Fh5AHmoelB6+HukfEx8+H2kflB+/H+ogFSBBIGwgmCDEIPAhHCFIIXUhoSHOIfsiJyJVIoIiryLdIwoj -OCNmI5QjwiPwJB8kTSR8JKsk2iUJJTglaCWXJccl9yYnJlcmhya3JugnGCdJJ3onqyfcKA0oPyhxKKIo -1CkGKTgpaymdKdAqAio1KmgqmyrPKwIrNitpK50r0SwFLDksbiyiLNctDC1BLXYtqy3hLhYuTC6CLrcu -7i8kL1ovkS/HL/4wNTBsMKQw2zESMUoxgjG6MfIyKjJjMpsy1DMNM0YzfzO4M/E0KzRlNJ402DUTNU01 -hzXCNf02NzZyNq426TckN2A3nDfXOBQ4UDiMOMg5BTlCOX85vDn5OjY6dDqyOu87LTtrO6o76DwnPGU8 -pDzjPSI9YT2hPeA+ID5gPqA+4D8hP2E/oj/iQCNAZECmQOdBKUFqQaxB7kIwQnJCtUL3QzpDfUPARANE -R0SKRM5FEkVVRZpF3kYiRmdGq0bwRzVHe0fASAVIS0iRSNdJHUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpM -cky6TQJNSk2TTdxOJU5uTrdPAE9JT5NP3VAnUHFQu1EGUVBRm1HmUjFSfFLHUxNTX1OqU/ZUQlSPVNtV -KFV1VcJWD1ZcVqlW91dEV5JX4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0VblVvlXDVchlzWXSddeF3JXhpe -bF69Xw9fYV+zYAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tkQGSUZOllPWWSZedmPWaSZuhnPWeTZ+lo -P2iWaOxpQ2maafFqSGqfavdrT2una/9sV2yvbQhtYG25bhJua27Ebx5veG/RcCtwhnDgcTpxlXHwckty -pnMBc11zuHQUdHB0zHUodYV14XY+dpt2+HdWd7N4EXhueMx5KnmJeed6RnqlewR7Y3vCfCF8gXzhfUF9 -oX4BfmJ+wn8jf4R/5YBHgKiBCoFrgc2CMIKSgvSDV4O6hB2EgITjhUeFq4YOhnKG14c7h5+IBIhpiM6J -M4mZif6KZIrKizCLlov8jGOMyo0xjZiN/45mjs6PNo+ekAaQbpDWkT+RqJIRknqS45NNk7aUIJSKlPSV -X5XJljSWn5cKl3WX4JhMmLiZJJmQmfyaaJrVm0Kbr5wcnImc951kndKeQJ6unx2fi5/6oGmg2KFHobai -JqKWowajdqPmpFakx6U4pammGqaLpv2nbqfgqFKoxKk3qamqHKqPqwKrdavprFys0K1ErbiuLa6hrxav -i7AAsHWw6rFgsdayS7LCszizrrQltJy1E7WKtgG2ebbwt2i34LhZuNG5SrnCuju6tbsuu6e8IbybvRW9 -j74KvoS+/796v/XAcMDswWfB48JfwtvDWMPUxFHEzsVLxcjGRsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bM -Ncy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp22vvb -gNwF3IrdEN2W3hzeot8p36/gNuC94UThzOJT4tvjY+Pr5HPk/OWE5g3mlucf56noMui86Ubp0Opb6uXr -cOv77IbtEe2c7ijutO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe9m32+/eK+Bn4qPk4+cf6V/rn+3f8 -B/yY/Sn9uv5L/tz/bf//0igpSElcTlNDb2xvclNwYWNlokotXE5TQ29sb3JTcGFjZdIoKUxNV05TQ29s -b3KiTC3SKClPUFdOU0ltYWdlok8tAAgAEQAaACQAKQAyADcASQBMAFEAUwBmAGwAdwB+AI0AmgChAKkA -qwCtALIAtAC2ALsAxgDIAMoAzADRANQA1gDYANoA4QD4ARQBFgEYA1oDXwNqA3MDhgOKA5UDngOjA6sD -rgOzA8IDxgPRA9kD5gPzBAgEDQQRBBMEFQQXBCAEJQQrBDMENQQ3BDkEOxXbFeAV7RXwFf0WAhYKFg0W -EhYaAAAAAAAAAgEAAAAAAAAAUQAAAAAAAAAAAAAAAAAAFh0 - - - - - - - - - - - - diff --git a/Classes/Base.lproj/HistoryListView.strings b/Classes/Base.lproj/HistoryListView.strings deleted file mode 100644 index 1d0c576adba79c07408ceb3aece9807024b41d7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1806 zcmdT_O-sW-5Pj$TiqK;rwO|_%=|Qd1Vm}b+rMEOjjFc#83ii*peX|=Y>{z%Afe=%@&F-6q%>o!5YsNE#tswi zt+=x;JlybKR-v-blx?O?cvW^8wbR`1oVM>=hx9eZu<+5#_uGuq;eQXES~0W=5A~yP zctUe*Oo>_ejqvhIPWlEXeQQo^V`-L|dom(5q${kd5_|)-Z;krK>d&cL_7ABC)OYs&oGu+Ag|ygoi1+jE5QL(8z9?#{XdBInTXxvU<5s@J0?icF7Uv z37&9euu-OA%SKgPKh?&muj>kyn*LJQ^gA(Q+|uK9mAkyj3D-MHx9sjNu}R;PHzcL> g{4Ef_DLHt+Cug5kvNV_|)9BDj$8_rY_E9-F0%T|zp8x;= diff --git a/Classes/Base.lproj/HistoryListView.xib b/Classes/Base.lproj/HistoryListView.xib deleted file mode 100644 index 90a4022b3..000000000 --- a/Classes/Base.lproj/HistoryListView.xib +++ /dev/null @@ -1,215 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/Base.lproj/HistoryView.strings b/Classes/Base.lproj/HistoryView.strings deleted file mode 100644 index d29c7a5b6ea885cd8f6dc239ca31ee0a6d54c45c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1944 zcmbtVyH3ME5S-dyVWmt#3X(L4A`gm4L22Lv65~h)CrH65_<3OV;Z}u0MA%qjx#EbcN{r$$N4QXj@<1mutULf1$TU6&9xm@ z$_8P^clpZP`O2NGT!g(lS8?~L#@+DjE59>ht*~q`#`XG;JQKc;adQ=iL4$BTi-Zwu z**H?!2?sJN@#OMQQiIRnCGsV27JWKus7P?_j4l2>Qjt_dj+cMBI0;;wm|e7Tv1dll zy7#ghzu!?!tB&0|8lv0TTYP<>pK@pWbxZ@#re@E&aqNopoOwUG*ePPSOVgm^wqA6R z?X2atNDq)cmNU=4yTS%T7ynlGN#`G%H?aSP82*(m>Ro>23wQ#T?Js5k diff --git a/Classes/Base.lproj/ImageView.xib b/Classes/Base.lproj/ImageView.xib deleted file mode 100644 index 510358109..000000000 --- a/Classes/Base.lproj/ImageView.xib +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/Base.lproj/InCallView.strings b/Classes/Base.lproj/InCallView.strings deleted file mode 100644 index 229e293deef74c2a5ca6ea486f7b9bc0b601e081..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 256 zcma)$xeCHS6h%)xUlCHKaA|DBMr{Iuh4=x`9v+*fd diff --git a/Classes/Base.lproj/IncomingCallView.strings b/Classes/Base.lproj/IncomingCallView.strings deleted file mode 100644 index d880a031c7586c602a747fd334023739178bf95d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1558 zcmcJP%}&EG5QOKPr-*v&0a^;JD#QWWOC%&ta8IKO1*HLj`FnZbOByGVAu$$0)=Ku; zp556U`|~5xp~i}}QlV5&j96#bNY_eqp=TM!y-GZ%_)}$!ZGAG=MmhI#PQ2@qy$w4> zi?C*u)%zv0{rxM>+|_;q{<=LoZ}!LJ6EUCb;8(FmEyDL`5lH{X?!2kQ1MG*nEgWu( zU~Xb1!xhPg8i9&(OjCMc99)@`N%UjvmU}s>*707(G_s58B7g;&-YYju7b! DJCNzN diff --git a/Classes/Base.lproj/IncomingCallView~ipad.strings b/Classes/Base.lproj/IncomingCallView~ipad.strings deleted file mode 100644 index 322b0100b892cc63c601a6aa8922ce6eedac55de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3130 zcmc&$O-sW-5Pj$TiqK;Z+FDI1;z8R>K=7pZv=oW7Q8a%2dG&45X>{W5y2MhJg=BU! zGjHB}#){T1)rRq~ShXWP5U=DbgTB0eWL_>-;PRzurbL`}OxcfN_l1JS#& zjTN?WFg9(=hpgcuoV97ic3DNgWONHYt-btB6vjy~Mwi`Cye0j8BQKK60}L_15%-Au znES-T*>8A6Ym;*}y*__aMl{1My}V)dEb+SWCZxJ_yfVB{r{V30@4Fpe?bGIpAk2lGt`&-`PHHO*kXz%9;MRi0}m_LDNM5 diff --git a/Classes/Base.lproj/PhoneMainView.xib b/Classes/Base.lproj/PhoneMainView.xib deleted file mode 100644 index 91d01a21f..000000000 --- a/Classes/Base.lproj/PhoneMainView.xib +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/Base.lproj/RecordingsListView.xib b/Classes/Base.lproj/RecordingsListView.xib deleted file mode 100644 index 5132e66cd..000000000 --- a/Classes/Base.lproj/RecordingsListView.xib +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/Base.lproj/SettingsView.strings b/Classes/Base.lproj/SettingsView.strings deleted file mode 100644 index eda4583d11cd67c8d83797fb9010e9ae0ffadb5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 726 zcmbu6OACTf6ohB(uMn3)25qB7T8PkNVg3NMFim=pO8xn2yuKnVi#X`w+?hM)JNJH* z(1!{c24c84vt*3;DR5vxM~Z}Xz@D8U`!0OeMkqsg2>b>-E9i(tGSdq<^5z5Gd^vkp)B^1kl{jx zYHK#8Sg|ZDV8ZU8wQ<6noLda|54o*l>8NPi6dLo2)P|@nw~OV!*VV<&cO8TQcM*{- T6PykwH(v - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/Base.lproj/ShopView.strings b/Classes/Base.lproj/ShopView.strings deleted file mode 100644 index cc79d924be22232a2e9063fa9386591735cb850e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 464 zcma)&I}5@<5QM)vzapdzL`xB|@C63M2x?=OM2pj)g(v8rSI0yX5nn8K9D6f6GkZBZ z)bVlYkrA_3xwLgW=7e-PU{yP|>a^64NmZ*HX-F{Q86i%L^q1%-D<^bVs$Ai3e4BIa zeNH6oTIf{$kbcP-Fk?fYZddn$vE~)ZzMMLGzeCji^5vB(pPf0<__mQMW#P&y!%=P@ kTbnW@V)7%UQ7)@|P33L%l - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/Base.lproj/SideMenuView.strings b/Classes/Base.lproj/SideMenuView.strings deleted file mode 100644 index a1f126d9b960d8d3673c431bdc4bdf9cb135263f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 478 zcmbu5OAEp<5QOKPUr~B2SW!F(BKW#g1y3zreH3dcReXTIUj3wLPw}FJY&MhK$oh d*S@J;<3fzit|r90I^3&{TCJ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/Base.lproj/SideMenuView~ipad.strings b/Classes/Base.lproj/SideMenuView~ipad.strings deleted file mode 100644 index 0ec55c3e15a4424efac8c638653883806fa8a6ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 478 zcmbu5%L>9U5Jm4gUs19wSkaXrg7{ce1l<(e`Y5$UY_SUZ^Xfs{E+il*A(NTO&CHxU z?nZ6-@-)^#Yn3cd1GZJ9P;+t{#oSr-$)54A*jh7FuDy=L6TG-mEqId=ZBd5Y)an)a zNG)|W!d}!Ne%JMx!r;3ULDSVXm0W!d75-t#DwaUI7t4^pNL46+K83M>H0O-T - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/ChatConversationCreateCollectionViewController.h b/Classes/ChatConversationCreateCollectionViewController.h deleted file mode 100644 index 3e1775d97..000000000 --- a/Classes/ChatConversationCreateCollectionViewController.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -@interface ChatConversationCreateCollectionViewController : UICollectionViewController - -@end diff --git a/Classes/ChatConversationCreateCollectionViewController.m b/Classes/ChatConversationCreateCollectionViewController.m deleted file mode 100644 index 2b56f91a8..000000000 --- a/Classes/ChatConversationCreateCollectionViewController.m +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "ChatConversationCreateCollectionViewController.h" - -@interface ChatConversationCreateCollectionViewController () - -@end - -@implementation ChatConversationCreateCollectionViewController - -static NSString * const reuseIdentifier = @"Cell"; - -- (void)viewDidLoad { - [super viewDidLoad]; - - // Register cell classes - [self.collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:reuseIdentifier]; -} - -- (void)didReceiveMemoryWarning { - [super didReceiveMemoryWarning]; -} - -@end diff --git a/Classes/ChatConversationCreateTableView.h b/Classes/ChatConversationCreateTableView.h deleted file mode 100644 index 640af50d9..000000000 --- a/Classes/ChatConversationCreateTableView.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -@interface ChatConversationCreateTableView : UITableViewController -@property(nonatomic) Boolean allFilter; -@property(nonatomic) Boolean notFirstTime; -@property(nonatomic) Boolean reloadMagicSearch; -@property(nonatomic, strong) NSMutableArray *contactsGroup; - -@property(weak, nonatomic) IBOutlet UISearchBar *searchBar; -@property (weak, nonatomic) IBOutlet UICollectionView *collectionView; -@property (weak, nonatomic) IBOutlet UIButton *controllerNextButton; -@property (weak, nonatomic) IBOutlet UIView *waitView; -@property (weak, nonatomic) IBOutlet UIView *loadingView; - -@property(nonatomic) Boolean isForEditing; -@property(nonatomic) Boolean isGroupChat; -@property(nonatomic) Boolean isEncrypted; -- (void) loadData; - -@end diff --git a/Classes/ChatConversationCreateTableView.m b/Classes/ChatConversationCreateTableView.m deleted file mode 100644 index 5dd389375..000000000 --- a/Classes/ChatConversationCreateTableView.m +++ /dev/null @@ -1,399 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "linphoneapp-Swift.h" -#import "ChatConversationCreateTableView.h" -#import "UIChatCreateCell.h" -#import "LinphoneManager.h" -#import "PhoneMainView.h" -#import "UIChatCreateCollectionViewCell.h" - -@interface ChatConversationCreateTableView () - -@property(nonatomic, strong) NSMutableArray *addresses; -@property(nonatomic, strong) NSMutableArray *phoneOrAddr; -@property(nonatomic, strong) NSMutableArray *addressesCached; -@property(readonly, nonatomic) NSMutableDictionary *ldapAndProvisioningContactAddressBookMap; - -@end - -@implementation ChatConversationCreateTableView - -- (void)viewWillAppear:(BOOL)animated { - if (!_ldapAndProvisioningContactAddressBookMap) { - _ldapAndProvisioningContactAddressBookMap = [NSMutableDictionary dictionary]; - } - [super viewWillAppear:animated]; - - int y = _contactsGroup.count > 0 - ? _collectionView.frame.origin.y + _collectionView.frame.size.height - : _searchBar.frame.origin.y + _searchBar.frame.size.height; - [UIView animateWithDuration:0 - delay:0 - options:UIViewAnimationOptionCurveEaseOut - animations:^{ - [self.tableView setFrame:CGRectMake(self.tableView.frame.origin.x, - y, - self.tableView.frame.size.width, - _waitView.frame.size.height - _waitView.frame.origin.y - y)]; - } - completion:nil]; - - _addresses = [[NSMutableArray alloc] initWithCapacity:LinphoneManager.instance.fastAddressBook.addressBookMap.allKeys.count]; - _phoneOrAddr = [[NSMutableArray alloc] initWithCapacity:LinphoneManager.instance.fastAddressBook.addressBookMap.allKeys.count]; - _addressesCached = [[NSMutableArray alloc] initWithCapacity:LinphoneManager.instance.fastAddressBook.addressBookMap.allKeys.count]; - - [[NSNotificationCenter defaultCenter] - addObserver:self - selector:@selector(onChatMagicSearchStarted:) - name:kLinphoneMagicSearchStarted - object:nil]; - [[NSNotificationCenter defaultCenter] - addObserver:self - selector:@selector(onChatMagicSearchFinished:) - name:kLinphoneMagicSearchFinished - object:nil]; - - if(_notFirstTime) { - for(NSString *addr in _contactsGroup) { - [_collectionView registerClass:UIChatCreateCollectionViewCell.class forCellWithReuseIdentifier:addr]; - } - [self searchBar:_searchBar textDidChange:_searchBar.text]; - return; - } - _contactsGroup = [[NSMutableArray alloc] init]; - [_searchBar setText:@""]; - [self searchBar:_searchBar textDidChange:_searchBar.text]; - self.tableView.accessibilityIdentifier = @"Suggested addresses"; - - NSDictionary* userInfo; - [NSNotificationCenter.defaultCenter addObserver:self - selector: @selector(receivePresenceNotification:) - name: @"LinphoneFriendPresenceUpdate" - object: userInfo]; -} - --(void) receivePresenceNotification:(NSNotification*)notification -{ - if ([notification.name isEqualToString:@"LinphoneFriendPresenceUpdate"]) - { - NSDictionary* userInfo = notification.userInfo; - NSString* friend = (NSString*)userInfo[@"friend"]; - - for (int i = 0; i < _addresses.count; i++) - { - - NSString *key = [_addresses objectAtIndex:i]; - Contact *contact = [LinphoneManager.instance.fastAddressBook.addressBookMap objectForKey:[FastAddressBook normalizeSipURI:key use_prefix:[CallManager.instance applyInternationalPrefix]]]; - if (!contact) { - contact = [_ldapAndProvisioningContactAddressBookMap objectForKey:key]; - } - - if (contact.friend != nil && linphone_friend_get_address(contact.friend) != nil) { - char *curi = linphone_address_as_string_uri_only(linphone_friend_get_address(contact.friend)); - NSString *uri = [NSString stringWithUTF8String:curi]; - - if([uri isEqual:friend]){ - NSIndexPath* indexPath = [NSIndexPath indexPathForRow:i inSection:0]; - NSArray* indexArray = [NSArray arrayWithObjects:indexPath, nil]; - [self.tableView reloadRowsAtIndexPaths:indexArray withRowAnimation:UITableViewRowAnimationFade]; - } - } - } - } -} - -- (void) viewWillDisappear:(BOOL)animated { - [[NSNotificationCenter defaultCenter] removeObserver:self]; - [[NSNotificationCenter defaultCenter] removeObserver:self name:@"LinphoneFriendPresenceUpdate" object:nil]; - [AvatarBridge removeAllObserver]; - _notFirstTime = FALSE; -} - -- (void)onChatMagicSearchStarted:(NSNotification *)k { - _loadingView.hidden = FALSE; -} -- (void)onChatMagicSearchFinished:(NSNotification *)k { - [self buildChatContactTable]; - _loadingView.hidden = TRUE; -} - --(BOOL) isSecureChatable:(const LinphoneFriend*)friend { - if (!friend) - return false; - const LinphonePresenceModel *model = linphone_friend_get_presence_model(friend); - return model && linphone_presence_model_has_capability(model, LinphoneFriendCapabilityLimeX3dh); -} - -- (void) buildChatContactTable { - - bctbx_list_t *result_list = [MagicSearchSingleton.instance getLastSearchResults]; - bctbx_list_t *it; - LinphoneAccount *account = linphone_core_get_default_account(LC); - - for (it = result_list; it != NULL; it = it->next) { - LinphoneSearchResult *result = it->data; - const LinphoneAddress *addr = linphone_search_result_get_address(result); - const LinphoneFriend* friend = linphone_search_result_get_friend(result); - const char *phoneNumber = linphone_search_result_get_phone_number(result); - - if (([LinphoneManager.instance lpConfigBoolForKey:@"force_lime_chat_rooms"] && ![self isSecureChatable:friend]) || [LinphoneManager.instance lpConfigBoolForKey:@"disable_chat_feature"]) { - continue; - } - - Contact *contact = nil; - char *uri = nil; - NSString *address = nil; - - if (addr) { - uri = linphone_address_as_string_uri_only(addr); - address = [NSString stringWithUTF8String:uri]; - contact = [LinphoneManager.instance.fastAddressBook.addressBookMap objectForKey:[FastAddressBook normalizeSipURI:address use_prefix:[CallManager.instance applyInternationalPrefix]]]; - - if (!contact && friend) { - contact = [[Contact alloc] initWithFriend:friend]; - [contact setCreatedFromLdapOrProvisioning:TRUE]; - [_ldapAndProvisioningContactAddressBookMap setObject:contact forKey:address]; - } - } else if (friend){ - if (!phoneNumber) { - continue; - } - - if (account) { - char *normalizedPhoneNumber = linphone_account_normalize_phone_number(account, phoneNumber); - if (!normalizedPhoneNumber) { - // get invalid phone number, continue - continue; - } - addr = linphone_account_normalize_sip_uri(account, normalizedPhoneNumber); - bctbx_free(normalizedPhoneNumber); - uri = linphone_address_as_string_uri_only(addr); - address = [NSString stringWithUTF8String:uri]; - - contact = [[Contact alloc] initWithFriend:friend]; - [contact setCreatedFromLdapOrProvisioning:TRUE]; - [_ldapAndProvisioningContactAddressBookMap setObject:contact forKey:address]; - linphone_address_unref(addr); - } - } - if (uri) ms_free(uri); - - if (!addr) { - continue; - } - [_addresses addObject:address]; - [_phoneOrAddr addObject:phoneNumber ? [NSString stringWithUTF8String:phoneNumber] : address]; - [_addressesCached addObject:[NSString stringWithFormat:@"%d",linphone_search_result_get_capabilities(result)]]; - - } - bctbx_list_free(result_list); - [self.tableView reloadData]; - _reloadMagicSearch = FALSE; -} - - -- (void) loadData { - [self reloadDataWithFilter:_searchBar.text]; -} - -- (void)reloadDataWithFilter:(NSString *)filter { - [_addresses removeAllObjects]; - [_phoneOrAddr removeAllObjects]; - [_addressesCached removeAllObjects]; - [_ldapAndProvisioningContactAddressBookMap removeAllObjects]; - [self.tableView reloadData]; - - _reloadMagicSearch = _reloadMagicSearch || [filter length]==0 || ![[MagicSearchSingleton.instance currentFilter] isEqualToString:filter]; - [MagicSearchSingleton.instance setCurrentFilter:filter]; - - if (_reloadMagicSearch) { - [MagicSearchSingleton.instance searchForContactsWithDomain:_allFilter ? @"" : @"*" sourceFlags:LinphoneMagicSearchSourceAll clearCache:FALSE]; - } else { - [self buildChatContactTable]; - } -} - -#pragma mark - TableView methods - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return 1; -} - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - return _addresses.count; -} - -- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(nonnull NSIndexPath *)indexPath { - return 60.0; -} - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - NSString *kCellId = NSStringFromClass(UIChatCreateCell.class); - UIChatCreateCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId]; - if (cell == nil) - cell = [[UIChatCreateCell alloc] initWithIdentifier:kCellId]; - - NSString *key = [_addresses objectAtIndex:indexPath.row]; - NSString *phoneOrAddr = [_phoneOrAddr objectAtIndex:indexPath.row]; - Contact *contact = [LinphoneManager.instance.fastAddressBook.addressBookMap objectForKey:[FastAddressBook normalizeSipURI:key use_prefix:[CallManager.instance applyInternationalPrefix]]]; - if (!contact) { - contact = [_ldapAndProvisioningContactAddressBookMap objectForKey:key]; - } - - const LinphonePresenceModel *model = contact.friend ? linphone_friend_get_presence_model(contact.friend) : NULL; - Boolean linphoneContact = [FastAddressBook contactHasValidSipDomain:contact] - || (model && linphone_presence_model_get_basic_status(model) == LinphonePresenceBasicStatusOpen); - LinphoneAddress *addr = [LinphoneUtils normalizeSipOrPhoneAddress:key]; - if (!addr) - return cell; - - cell.linphoneImage.hidden = [LinphoneManager.instance lpConfigBoolForKey:@"hide_linphone_contacts" inSection:@"app"] || !linphoneContact; - cell.securityImage.hidden = !(model && linphone_presence_model_has_capability(model, LinphoneFriendCapabilityLimeX3dh)); - int capabilities = [[_addressesCached objectAtIndex:indexPath.row] intValue]; - BOOL greyCellForEncryptedChat = _isEncrypted ? capabilities > 1 : TRUE; - BOOL greyCellForGroupChat = _isGroupChat ? capabilities > 0 : TRUE; - cell.userInteractionEnabled = cell.greyView.hidden = greyCellForEncryptedChat && greyCellForGroupChat; - cell.displayNameLabel.text = [contact createdFromLdapOrProvisioning] ? [contact displayName] : [FastAddressBook displayNameForAddress:addr]; - char *str = linphone_address_as_string(addr); - cell.addressLabel.text = linphoneContact ? [NSString stringWithUTF8String:str] : phoneOrAddr; - ms_free(str); - cell.selectedImage.hidden = ![_contactsGroup containsObject:cell.addressLabel.text]; - [cell.avatarImage setImage:[FastAddressBook imageForAddress:addr]]; - cell.contentView.userInteractionEnabled = false; - cell.contentView.backgroundColor = UIColor.clearColor; - cell.backgroundColor = UIColor.clearColor; - return cell; -} - -- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - UIChatCreateCell *cell = [tableView cellForRowAtIndexPath:indexPath]; - if (!cell.userInteractionEnabled) - return; - - LinphoneAccount *defaultAccount = linphone_core_get_default_account(LC); - if (!(defaultAccount && linphone_account_params_get_conference_factory_uri(linphone_account_get_params(defaultAccount))) || !_isGroupChat) { - LinphoneAddress *addr = linphone_address_new(cell.addressLabel.text.UTF8String); - [PhoneMainView.instance getOrCreateOneToOneChatRoom:addr waitView:_waitView isEncrypted:_isEncrypted]; - if (!addr) { - LOGE(@"Chat room could not be created on server, because null address."); - [ChatConversationInfoView displayCreationError]; - } else { - linphone_address_unref(addr); - } - return; - } - - [tableView deselectRowAtIndexPath:indexPath animated:YES]; - NSInteger index = 0; - if(cell.selectedImage.hidden) { - if(![_contactsGroup containsObject:cell.addressLabel.text]) { - [_contactsGroup addObject:cell.addressLabel.text]; - [_collectionView registerClass:UIChatCreateCollectionViewCell.class forCellWithReuseIdentifier:cell.addressLabel.text]; - } - } else if([_contactsGroup containsObject:cell.addressLabel.text]) { - index = (NSInteger)[_contactsGroup indexOfObject:cell.addressLabel.text]; - [_contactsGroup removeObject:cell.addressLabel.text]; - if(index == _contactsGroup.count) - index = index-1; - } - cell.selectedImage.hidden = !cell.selectedImage.hidden; - _controllerNextButton.enabled = (_contactsGroup.count > 0) || _isForEditing; - if (_contactsGroup.count > 1 || (_contactsGroup.count == 1 && cell.selectedImage.hidden)) { - [UIView animateWithDuration:0.2 - delay:0 - options:UIViewAnimationOptionCurveEaseOut - animations:^{ - [tableView setFrame:CGRectMake(tableView.frame.origin.x, - _collectionView.frame.origin.y + _collectionView.frame.size.height, - tableView.frame.size.width, - tableView.frame.size.height)]; - - } - completion:nil]; - } else if (_contactsGroup.count == 1 && !cell.selectedImage.hidden) { - [UIView animateWithDuration:0.2 - delay:0 - options:UIViewAnimationOptionCurveEaseOut - animations:^{ - [tableView setFrame:CGRectMake(tableView.frame.origin.x, - _collectionView.frame.origin.y + _collectionView.frame.size.height, - tableView.frame.size.width, - tableView.frame.size.height - _collectionView.frame.size.height)]; - - } - completion:nil]; - } else { - [UIView animateWithDuration:0.2 - delay:0 - options:UIViewAnimationOptionCurveEaseOut - animations:^{ - [tableView setFrame:CGRectMake(tableView.frame.origin.x, - _searchBar.frame.origin.y + _searchBar.frame.size.height, - tableView.frame.size.width, - tableView.frame.size.height + _collectionView.frame.size.height)]; - } - completion:nil]; - } - [_collectionView reloadData]; - if (!cell.selectedImage.hidden) { - index = _contactsGroup.count - 1; - } - - dispatch_async(dispatch_get_main_queue(), ^{ - if(index > 0) { - NSIndexPath *path = [NSIndexPath indexPathForItem:index inSection:0]; - [_collectionView scrollToItemAtIndexPath:path - atScrollPosition:(UICollectionViewScrollPositionCenteredHorizontally | UICollectionViewScrollPositionCenteredVertically) - animated:YES]; - } - }); -} - -#pragma mark - Searchbar delegates - -- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText { - searchBar.showsCancelButton = (searchText.length > 0); - [self reloadDataWithFilter:searchText]; - if ([searchText isEqualToString:@""]) { - [_searchBar resignFirstResponder]; - } -} - -- (BOOL)searchBar:(UISearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(nonnull NSString *)text { - return TRUE; -} - -- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar { - [searchBar setShowsCancelButton:FALSE animated:TRUE]; -} - -- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar { - [searchBar setShowsCancelButton:(searchBar.text.length > 0) animated:TRUE]; -} - -- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar { - [searchBar resignFirstResponder]; -} - -- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar { - [searchBar resignFirstResponder]; -} - -@end diff --git a/Classes/ChatConversationCreateView.h b/Classes/ChatConversationCreateView.h deleted file mode 100644 index 32e998c23..000000000 --- a/Classes/ChatConversationCreateView.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef ChatConversationCreateView_h -#define ChatConversationCreateView_h - -#import -#import "ChatConversationCreateTableView.h" -#import "ChatConversationCreateCollectionViewController.h" -#import "UICompositeView.h" - -@interface ChatConversationCreateView : UIViewController - -@property(strong, nonatomic) IBOutlet ChatConversationCreateTableView *tableController; -@property(strong, nonatomic) IBOutlet ChatConversationCreateCollectionViewController *collectionController; -@property (weak, nonatomic) IBOutlet UICollectionView *collectionView; -@property (weak, nonatomic) IBOutlet UIButton *backButton; -@property (weak, nonatomic) IBOutlet UIButton *nextButton; -@property (weak, nonatomic) IBOutlet UIButton *allButton; -@property (weak, nonatomic) IBOutlet UIButton *linphoneButton; -@property (weak, nonatomic) IBOutlet UIImageView *selectedButtonImage; -@property (weak, nonatomic) IBOutlet UIView *waitView; -@property (weak, nonatomic) IBOutlet UIView *chiffreOptionView; -@property (weak, nonatomic) IBOutlet UIView *switchView; -@property (weak, nonatomic) IBOutlet UIImageView *chiffreImage; -@property (weak, nonatomic) IBOutlet UIButton *chiffreButton; -@property (weak, nonatomic) IBOutlet UIView *topBar; - -@property(nonatomic) Boolean isForEditing; -@property(nonatomic) Boolean isGroupChat; -@property(nonatomic) Boolean isEncrypted; - -@property(nonatomic) Boolean isForVoipConference; -@property(nonatomic) Boolean isForOngoingVoipConference; - -@property (weak, nonatomic) IBOutlet UILabel *voipTitle; - -- (IBAction)onBackClick:(id)sender; -- (IBAction)onNextClick:(id)sender; -- (IBAction)onChiffreClick:(id)sender; - --(void) unfragmentCompositeDescription; --(void) fragmentCompositeDescription; - -@end - -#endif /* ChatConversationCreateView_h */ diff --git a/Classes/ChatConversationCreateView.m b/Classes/ChatConversationCreateView.m deleted file mode 100644 index 724f6aff6..000000000 --- a/Classes/ChatConversationCreateView.m +++ /dev/null @@ -1,337 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "ChatConversationCreateView.h" -#import "PhoneMainView.h" -#import "UIChatCreateCollectionViewCell.h" -#import "linphoneapp-Swift.h" - -@implementation ChatConversationCreateView - -#pragma mark - UICompositeViewDelegate Functions - -static UICompositeViewDescription *compositeDescription = nil; - -+ (UICompositeViewDescription *)compositeViewDescription { - if (compositeDescription == nil) { - compositeDescription = [[UICompositeViewDescription alloc] init:self.class - statusBar:StatusBarView.class - tabBar:TabBarView.class - sideMenu:SideMenuView.class - fullscreen:false - isLeftFragment:NO - fragmentWith:ChatsListView.class]; - } - return compositeDescription; -} - -- (UICompositeViewDescription *)compositeViewDescription { - return self.class.compositeViewDescription; -} - --(void) unfragmentCompositeDescription { - if (!IPAD) - return; - compositeDescription.isLeftFragment = true; - compositeDescription.otherFragment = nil; -} - --(void) fragmentCompositeDescription { - if (!IPAD) - return; - compositeDescription.otherFragment = IPAD ? NSStringFromClass(ChatsListView.class) : nil; - compositeDescription.isLeftFragment = false; -} - - -- (void)viewDidLoad { - [super viewDidLoad]; - UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] - initWithTarget:self - action:@selector(dismissKeyboards)]; - tap.delegate = self; - [self.view addGestureRecognizer:tap]; - UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; - layout.scrollDirection = UICollectionViewScrollDirectionHorizontal; - layout.estimatedItemSize = UICollectionViewFlowLayoutAutomaticSize; - _collectionController.collectionView = _collectionView; - _collectionController = (ChatConversationCreateCollectionViewController *)[[UICollectionViewController alloc] initWithCollectionViewLayout:layout]; - _collectionView.dataSource = self; - [_collectionView setCollectionViewLayout:layout]; - _tableController.collectionView = _collectionView; - _tableController.controllerNextButton = _nextButton; - _isForEditing = FALSE; - _voipTitle.text = VoipTexts.call_action_participants_list; - _topBar.backgroundColor = [VoipTheme.voipToolbarBackgroundColor get]; - -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - [self viewUpdateEvent:nil]; - - if (IPAD) - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(viewUpdateEvent:) - name:kLinphoneChatCreateViewChange - object:nil]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(displayModeChanged) - name:kDisplayModeChanged - object:nil]; - LinphoneAccount *defaultAccount = linphone_core_get_default_account(LC); - _chiffreOptionView.hidden = !(defaultAccount && linphone_account_params_get_conference_factory_uri(linphone_account_get_params(defaultAccount))); - if ([LinphoneManager.instance lpConfigBoolForKey:@"hide_linphone_contacts" inSection:@"app"]) { - self.linphoneButton.hidden = TRUE; - self.selectedButtonImage.hidden = TRUE; - CGRect frame = _allButton.frame; - frame.origin.x = _linphoneButton.frame.origin.x; - _allButton.frame = frame; - - } - - if ([LinphoneManager.instance lpConfigBoolForKey:@"force_lime_chat_rooms"] || [LinphoneManager.instance lpConfigBoolForKey:@"disable_chat_feature"]) { - _chiffreOptionView.hidden = true; - _isEncrypted = true; - _tableController.isEncrypted = true; - _allButton.hidden = true; - _linphoneButton.hidden = true; - _selectedButtonImage.hidden = true; - } - - if (_isForVoipConference) { - _switchView.hidden = true; - _chiffreOptionView.hidden = true; - _voipTitle.hidden = false; - if (_isForOngoingVoipConference) { - [_nextButton setImage:[UIImage imageNamed:@"valid_default"] forState:UIControlStateNormal]; - } else { - [_nextButton setImage:[UIImage imageNamed:@"next_default"] forState:UIControlStateNormal]; - } - } else { - _voipTitle.hidden = true; - [_nextButton setImage:[UIImage imageNamed:@"next_default"] forState:UIControlStateNormal]; - } - [self displayModeChanged]; -} - -- (void)displayModeChanged{ - [self.tableController.tableView reloadData]; - if (_isForVoipConference) { - self.view.backgroundColor = [VoipTheme.voipBackgroundBWColor get]; - _tableController.tableView.backgroundColor = [VoipTheme.voipBackgroundBWColor get]; - _tableController.searchBar.backgroundColor = [VoipTheme.voipBackgroundBWColor get]; - _tableController.collectionView.backgroundColor = [VoipTheme.voipBackgroundBWColor get]; - } else { - self.view.backgroundColor = [VoipTheme.backgroundWhiteBlack get]; - _tableController.tableView.backgroundColor = [VoipTheme.backgroundWhiteBlack get]; - _tableController.searchBar.backgroundColor = [VoipTheme.backgroundWhiteBlack get]; - _tableController.collectionView.backgroundColor = [VoipTheme.backgroundWhiteBlack get]; - } -} - -- (void)viewUpdateEvent:(NSNotification *)notif { - CGRect frame = _chiffreOptionView.frame; - if (_isGroupChat) { - _nextButton.hidden = FALSE; - _switchView.hidden = TRUE; - frame.origin.x = (self.view.frame.size.width - _chiffreOptionView.frame.size.width)/2; - } else { - _nextButton.hidden = TRUE; - _switchView.hidden = FALSE; - frame.origin.x = self.view.frame.size.width * 0.192; - } - _chiffreOptionView.frame = frame; - _isEncrypted = [LinphoneManager.instance lpConfigBoolForKey:@"force_lime_chat_rooms"] || [LinphoneManager.instance lpConfigBoolForKey:@"disable_chat_feature"]; // false by default - CGRect buttonFrame = _chiffreButton.frame; - - if (!_isEncrypted) { - buttonFrame.origin.x = 2; - [_chiffreImage setImage:[UIImage imageNamed:@"security_toogle_background_grey.png"]]; - _chiffreButton.frame = buttonFrame; - } - - _waitView.hidden = YES; - _backButton.hidden = IPAD && !(_isForVoipConference||_isForOngoingVoipConference); - if(_tableController.contactsGroup.count == 0) { - if (!_isForEditing) - _nextButton.enabled = FALSE; - - _tableController.tableView.frame = CGRectMake(_tableController.tableView.frame.origin.x, - _tableController.searchBar.frame.origin.y + _tableController.searchBar.frame.size.height, - _tableController.tableView.frame.size.width, - _tableController.tableView.frame.size.height + _collectionView.frame.size.height); - } else { - _tableController.tableView.frame = CGRectMake(_tableController.tableView.frame.origin.x, - _collectionView.frame.origin.y + _collectionView.frame.size.height, - _tableController.tableView.frame.size.width, - _tableController.tableView.frame.size.height); - } - [_collectionView reloadData]; - _tableController.isForEditing = _isForEditing; - _tableController.isGroupChat = _isGroupChat; - _tableController.isEncrypted = _isEncrypted; - [self changeView:ContactsLinphone]; -} - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - [NSNotificationCenter.defaultCenter removeObserver:self]; -} - -#pragma mark - Chat room functions - -- (void)createChatRoom { - NSString *addr = _tableController.contactsGroup[0]; - LinphoneAddress *remoteAddress = linphone_address_new(addr.UTF8String); - [PhoneMainView.instance getOrCreateOneToOneChatRoom:remoteAddress waitView:_waitView isEncrypted:_isEncrypted]; - linphone_address_unref(remoteAddress); -} - -#pragma mark - Buttons signals - -- (IBAction)onBackClick:(id)sender { - [_tableController.contactsGroup removeAllObjects]; - if (_isForVoipConference) { - if (_isForOngoingVoipConference) { - [PhoneMainView.instance popToView:VIEW(ConferenceCallView).compositeViewDescription]; - [ControlsViewModelBridge showParticipants]; - } else { - [PhoneMainView.instance popToView:ConferenceSchedulingView.compositeViewDescription]; - } - } else { - if (_tableController.isForEditing) - [PhoneMainView.instance popToView:ChatConversationInfoView.compositeViewDescription]; - else - [PhoneMainView.instance popToView:ChatsListView.compositeViewDescription]; - } -} - -- (IBAction)onNextClick:(id)sender { - if (_isForVoipConference) { - if (_isForOngoingVoipConference) { - [PhoneMainView.instance popToView:VIEW(ConferenceCallView).compositeViewDescription]; - [ConferenceViewModelBridge updateParticipantsListWithAddresses:_tableController.contactsGroup]; - } else { - [PhoneMainView.instance changeCurrentView:VIEW(ConferenceSchedulingSummaryView).compositeViewDescription]; - [VIEW(ConferenceSchedulingSummaryView) setParticipantsWithAddresses:_tableController.contactsGroup]; - } - } else { - ChatConversationInfoView *view = VIEW(ChatConversationInfoView); - view.contacts = _tableController.contactsGroup; - view.create = !_isForEditing; - view.encrypted = _isEncrypted; - [PhoneMainView.instance changeCurrentView:view.compositeViewDescription]; - } -} - -- (IBAction)onChiffreClick:(id)sender { - CGRect frame = _chiffreButton.frame; - _isEncrypted = !_isEncrypted; - _tableController.isEncrypted = _isEncrypted; - if (_isEncrypted) { - // encrypted - frame.origin.x = 20; - [_chiffreImage setImage:[UIImage imageNamed:@"security_toogle_background_green.png"]]; - } else { - // no encrypted - frame.origin.x = 2; - [_chiffreImage setImage:[UIImage imageNamed:@"security_toogle_background_grey.png"]]; - } - _chiffreButton.frame = frame; - [_tableController.tableView reloadData]; -} - -- (void)dismissKeyboards { - if ([self.tableController.searchBar isFirstResponder]) - [self.tableController.searchBar resignFirstResponder]; -} - -#pragma mark - Contacts filter - -typedef enum { ContactsAll, ContactsLinphone, ContactsMAX } ContactsCategory; - -- (void)changeView:(ContactsCategory)view { - CGRect frame = _selectedButtonImage.frame; - - if (view == ContactsAll && !_allButton.selected) { - frame.origin.x = _allButton.frame.origin.x; - _allButton.selected = TRUE; - _linphoneButton.selected = FALSE; - _tableController.allFilter = TRUE; - _tableController.reloadMagicSearch = TRUE; - [_tableController loadData]; - } else if (view == ContactsLinphone && !_linphoneButton.selected) { - frame.origin.x = _linphoneButton.frame.origin.x; - _linphoneButton.selected = TRUE; - _allButton.selected = FALSE; - _tableController.allFilter = FALSE; - _tableController.reloadMagicSearch = TRUE; - [_tableController loadData]; - } - _selectedButtonImage.frame = frame; - if ([LinphoneManager.instance lpConfigBoolForKey:@"hide_linphone_contacts" inSection:@"app"]) { - _allButton.selected = FALSE; - } -} - -- (IBAction)onAllClick:(id)event { - [self changeView:ContactsAll]; -} - -- (IBAction)onLinphoneClick:(id)event { - [self changeView:ContactsLinphone]; -} - -#pragma mark - GestureRecognizerDelegate - -- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch -{ - return NO; -} - -#pragma mark - UICollectionViewDataSource & Delegate -- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { - return _tableController.contactsGroup.count; -} - -- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView { - return 1; -} - -- (UIChatCreateCollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { - NSString *uri = _tableController.contactsGroup[indexPath.item]; - UIChatCreateCollectionViewCell *cell = (UIChatCreateCollectionViewCell *)[_collectionView dequeueReusableCellWithReuseIdentifier:uri forIndexPath:indexPath]; - cell.controller = self; - cell.uri = uri; - LinphoneAddress *addr = NULL; - LinphoneAccount *account = linphone_core_get_default_account(LC); - if (account && linphone_account_is_phone_number(account, uri.UTF8String)) { - char *phone = linphone_account_normalize_phone_number(account, uri.UTF8String); - addr = linphone_account_normalize_sip_uri(account, phone); - ms_free(phone); - } else - addr = linphone_address_new(uri.UTF8String); - [cell.nameLabel setText:[FastAddressBook displayNameForAddress:addr]]; - linphone_address_unref(addr); - return cell; -} - - -@end diff --git a/Classes/ChatConversationImdnView.h b/Classes/ChatConversationImdnView.h deleted file mode 100644 index e0bc17f18..000000000 --- a/Classes/ChatConversationImdnView.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef ChatConversationImdnView_h -#define ChatConversationImdnView_h - -#import - -#import "UICompositeView.h" -#import "UIRoundBorderedButton.h" -#import "UIChatBubbleTextCell.h" - -@interface ChatConversationImdnView : UIViewController -{ - @private - NSString *messageText; -} - -@property(nonatomic) LinphoneEventLog *event; -@property(nonatomic) bctbx_list_t *displayedList; -@property(nonatomic) bctbx_list_t *receivedList; -@property(nonatomic) bctbx_list_t *notReceivedList; -@property(nonatomic) bctbx_list_t *errorList; -@property(nonatomic) UIChatBubbleTextCell *cell; -@property(nonatomic) NSTimer *ephemeralDisplayTimer; - - -@property (weak, nonatomic) IBOutlet UIView *msgView; -@property (weak, nonatomic) IBOutlet UITableView *tableView; - -- (IBAction)onBackClick:(id)sender; -- (void)updateImdnList; - -@end - -#endif /* ChatConversationImdnView_h */ diff --git a/Classes/ChatConversationImdnView.m b/Classes/ChatConversationImdnView.m deleted file mode 100644 index f83a8b64e..000000000 --- a/Classes/ChatConversationImdnView.m +++ /dev/null @@ -1,327 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "ChatConversationImdnView.h" -#import "PhoneMainView.h" -#import "UIChatBubbleTextCell.h" -#import "UIChatBubblePhotoCell.h" -#import "UIChatConversationImdnTableViewCell.h" - -@implementation ChatConversationImdnView - -static UICompositeViewDescription *compositeDescription = nil; - -+ (UICompositeViewDescription *)compositeViewDescription { - if (compositeDescription == nil) { - compositeDescription = [[UICompositeViewDescription alloc] init:self.class - statusBar:StatusBarView.class - tabBar:TabBarView.class - sideMenu:SideMenuView.class - fullscreen:false - isLeftFragment:NO - fragmentWith:ChatsListView.class]; - } - return compositeDescription; -} - -- (UICompositeViewDescription *)compositeViewDescription { - return self.class.compositeViewDescription; -} - -- (void)viewDidLoad { - [super viewDidLoad]; -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - - _cell = [VIEW(ChatConversationView).tableController buildMessageCell:_event]; - _cell.frame = CGRectMake(-10,0,_msgView.frame.size.width,_msgView.frame.size.height); - _cell.isFirst = true; - _cell.isLast = true; - [_cell update]; - _cell.popupMenuAllowed = false; - for (UIView *v in [_msgView subviews]) { - [v removeFromSuperview]; - } - [_msgView addSubview:_cell]; - - - _tableView.delegate = self; - _tableView.dataSource = self; - - [self updateImdnList]; - [self fitContent]; - [self startEphemeralDisplayTimer]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(ephemeralDeleted:) - name:kLinphoneEphemeralMessageDeletedInRoom - object:nil]; - -} - --(void) viewWillDisappear:(BOOL)animated { - [self stopEphemeralDisplayTimer]; - [NSNotificationCenter.defaultCenter removeObserver:self]; - [super viewWillDisappear:animated]; -} - -- (void)updateImdnList { - if (_event) { - LinphoneChatMessage *_msg = linphone_event_log_get_chat_message(_event); - if (_msg) { - _displayedList = linphone_chat_message_get_participants_by_imdn_state(_msg, LinphoneChatMessageStateDisplayed); - _receivedList = linphone_chat_message_get_participants_by_imdn_state(_msg, LinphoneChatMessageStateDeliveredToUser); - _notReceivedList = linphone_chat_message_get_participants_by_imdn_state(_msg, LinphoneChatMessageStateDelivered); - _errorList = linphone_chat_message_get_participants_by_imdn_state(_msg, LinphoneChatMessageStateNotDelivered); - - [_tableView reloadData]; - } - } -} - -- (void)fitContent { - LinphoneChatMessage *_msg = linphone_event_log_get_chat_message(_event); - CGSize messageSize = [UIChatBubbleTextCell ViewHeightForMessage:_msg withWidth:self.view.frame.size.width]; - if (messageSize.height > self.view.bounds.size.height/2) { - [_msgView setFrame:CGRectMake(_msgView.frame.origin.x, - _msgView.frame.origin.y, - self.view.frame.size.width, - self.view.bounds.size.height/2 +5)]; - } else { - [_msgView setFrame:CGRectMake(_msgView.frame.origin.x, - _msgView.frame.origin.y, - self.view.frame.size.width, - messageSize.height+5)]; - } - - [_tableView setFrame:CGRectMake(_tableView.frame.origin.x, - _msgView.frame.origin.y + _msgView.frame.size.height + 10, - _tableView.frame.size.width, - self.view.frame.size.height - (_msgView.frame.origin.y + _msgView.frame.size.height))]; -} - -- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { - [self fitContent]; -} - - -#pragma mark - TableView - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - NSInteger numberOfSection = 0; - if (_displayedList) numberOfSection++; - if (_receivedList) numberOfSection++; - if (_notReceivedList) numberOfSection++; - if (_errorList) numberOfSection++; - return numberOfSection; -} - -- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { - return 23.0; -} - -- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(nonnull NSIndexPath *)indexPath { - return 44.0; -} -- (nullable UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { - UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 0, 0)]; - label.numberOfLines = 1; - UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, 23)]; - UIImage *image = NULL; - - if (section == 0) { - if (_displayedList) { - label.text = NSLocalizedString(@"Read", nil); - label.textColor = [UIColor colorWithRed:(24 / 255.0) green:(167 / 255.0) blue:(175 / 255.0) alpha:1.0]; - image = [UIImage imageNamed:@"chat_read"]; - } else if (_receivedList) { - label.text = NSLocalizedString(@"Delivered", nil); - label.textColor = [UIColor grayColor]; - image = [UIImage imageNamed:@"chat_delivered"]; - } else if (_notReceivedList) { - label.text = NSLocalizedString(@"Sent", nil); - label.textColor = [UIColor grayColor]; - } else if (_errorList) { - label.text = NSLocalizedString(@"Error", nil); - label.textColor = [UIColor redColor]; - image = [UIImage imageNamed:@"chat_error"]; - } - } else if (section == 1) { - if (_displayedList && _receivedList) { - label.text = NSLocalizedString(@"Delivered", nil); - label.textColor = [UIColor grayColor]; - image = [UIImage imageNamed:@"chat_delivered"]; - } else if (_notReceivedList) { - label.text = NSLocalizedString(@"Sent", nil); - label.textColor = [UIColor grayColor]; - } else if (_errorList) { - label.text = NSLocalizedString(@"Error", nil); - label.textColor = [UIColor redColor]; - image = [UIImage imageNamed:@"chat_error"]; - } - } else if (section == 2) { - if (_displayedList && _receivedList && _notReceivedList) { - label.text = NSLocalizedString(@"Sent", nil); - label.textColor = [UIColor grayColor]; - } else if (_errorList) { - label.text = NSLocalizedString(@"Error", nil); - label.textColor = [UIColor redColor]; - image = [UIImage imageNamed:@"chat_error"]; - } - } else if (section == 3) { - label.text = NSLocalizedString(@"Error", nil); - label.textColor = [UIColor redColor]; - image = [UIImage imageNamed:@"chat_error"]; - } - - [view addSubview:label]; - [label sizeToFit]; - [label setCenter:view.center]; - - if (image) { - UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; - [view addSubview:imageView]; - [imageView setFrame:CGRectMake(label.frame.origin.x + label.frame.size.width + 5, 2, 19, 19)]; - } - - if (@available(iOS 13, *)) { - [view setBackgroundColor:[UIColor secondarySystemBackgroundColor]]; - } else { - [view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"color_G.png"]]]; - } - return view; -} - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - if (section == 0) { - if (_displayedList) - return bctbx_list_size(_displayedList); - else if (_receivedList) - return bctbx_list_size(_receivedList); - else if (_notReceivedList) - return bctbx_list_size(_notReceivedList); - else if (_errorList) - return bctbx_list_size(_errorList); - } else if (section == 1) { - if (_displayedList &&_receivedList) - return bctbx_list_size(_receivedList); - else if (_notReceivedList) - return bctbx_list_size(_notReceivedList); - else if (_errorList) - return bctbx_list_size(_errorList); - } else if (section == 2) { - if (_displayedList && _receivedList && _notReceivedList) - return bctbx_list_size(_notReceivedList); - else if (_errorList) - return bctbx_list_size(_errorList); - } else if (section == 3) - return bctbx_list_size(_errorList); - - return 0; -} - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - bctbx_list_t *list = NULL; - if (indexPath.section == 0) { - if (_displayedList) - list = _displayedList; - else if (_receivedList) - list = _receivedList; - else if (_notReceivedList) - list = _notReceivedList; - else if (_errorList) - list = _errorList; - } else if (indexPath.section == 1) { - if (_displayedList &&_receivedList) - list = _receivedList; - else if (_notReceivedList) - list = _notReceivedList; - else if (_errorList) - list = _errorList; - } else if (indexPath.section == 2) { - if (_displayedList && _receivedList && _notReceivedList) - list = _notReceivedList; - else if (_errorList) - list = _errorList; - } else if (indexPath.section == 3) - list = _errorList; - - if (!list) - return nil; - - NSString *kCellId = NSStringFromClass(UIChatConversationImdnTableViewCell.class); - UIChatConversationImdnTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId]; - if (cell == nil) { - cell = [[UIChatConversationImdnTableViewCell alloc] initWithIdentifier:kCellId]; - } - LinphoneParticipantImdnState *state = bctbx_list_nth_data(list, (int)indexPath.row); - const LinphoneParticipant *participant = linphone_participant_imdn_state_get_participant(state); - time_t time = linphone_participant_imdn_state_get_state_change_time(state); - const LinphoneAddress *addr = linphone_participant_get_address(participant); - cell.displayName.text = [FastAddressBook displayNameForAddress:addr]; - cell.avatar.image = [FastAddressBook imageForAddress:addr]; - cell.dateLabel.text = [LinphoneUtils timeToString:time withFormat:LinphoneDateChatBubble]; - cell.userInteractionEnabled = false; - - return cell; -} - -- (IBAction)onBackClick:(id)sender { - [PhoneMainView.instance popCurrentView]; -} - -#pragma mark ephemeral messages - --(void) startEphemeralDisplayTimer { - _ephemeralDisplayTimer = [NSTimer scheduledTimerWithTimeInterval:1 - target:self - selector:@selector(updateEphemeralTimes) - userInfo:nil - repeats:YES]; -} - --(void) updateEphemeralTimes { - NSDateComponentsFormatter *f= [[NSDateComponentsFormatter alloc] init]; - f.unitsStyle = NSDateComponentsFormatterUnitsStylePositional; - f.zeroFormattingBehavior = NSDateComponentsFormatterZeroFormattingBehaviorPad; - - LinphoneChatMessage *_msg = _event ? linphone_event_log_get_chat_message(_event) : nil; - if (_msg && linphone_chat_message_is_ephemeral(_msg)) { - long duration = linphone_chat_message_get_ephemeral_expire_time(_msg) == 0 ? - linphone_chat_room_get_ephemeral_lifetime(linphone_chat_message_get_chat_room(_msg)) : - linphone_chat_message_get_ephemeral_expire_time(_msg)-[NSDate date].timeIntervalSince1970; - f.allowedUnits = (duration > 86400 ? kCFCalendarUnitDay : 0)|(duration > 3600 ? kCFCalendarUnitHour : 0)|kCFCalendarUnitMinute|kCFCalendarUnitSecond; - _cell.ephemeralTime.text = [f stringFromTimeInterval:duration]; - _cell.ephemeralTime.hidden = NO; - _cell.ephemeralIcon.hidden = NO; - } -} - --(void) stopEphemeralDisplayTimer { - [_ephemeralDisplayTimer invalidate]; -} - -- (void)ephemeralDeleted:(NSNotification *)notif { - [PhoneMainView.instance popToView:ChatConversationView.compositeViewDescription]; -} - -@end diff --git a/Classes/ChatConversationInfoView.h b/Classes/ChatConversationInfoView.h deleted file mode 100644 index ba781d684..000000000 --- a/Classes/ChatConversationInfoView.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "UICompositeView.h" -#import "UIRoundBorderedButton.h" - -@interface ChatConversationInfoView : UIViewController - -@property(nonatomic) BOOL create; -@property(nonatomic) BOOL imAdmin; -@property(nonatomic) BOOL encrypted; -@property(nonatomic, strong) NSMutableArray *contacts; -@property(nonatomic, strong) NSMutableArray *admins; -@property(nonatomic, strong) NSMutableArray *oldContacts; -@property(nonatomic, strong) NSMutableArray *oldAdmins; -@property(nonatomic) NSString *oldSubject; -@property(nonatomic) LinphoneChatRoom *room; -@property(nonatomic) LinphoneChatRoomCbs *chatRoomCbs; -@property(nonatomic) const char *peerAddress; -@property(nonatomic) const char *localAddress; - -@property (weak, nonatomic) IBOutlet UIIconButton *nextButton; -@property (weak, nonatomic) IBOutlet UIRoundBorderedButton *quitButton; -@property (weak, nonatomic) IBOutlet UIIconButton *addButton; -@property (weak, nonatomic) IBOutlet UITextField *nameLabel; -@property (weak, nonatomic) IBOutlet UITableView *tableView; -@property (weak, nonatomic) IBOutlet UIView *waitView; -@property (weak, nonatomic) IBOutlet UIView *participantsBar; - -+ (void)displayCreationError; - -- (IBAction)onNextClick:(id)sender; -- (IBAction)onBackClick:(id)sender; -- (IBAction)onQuitClick:(id)sender; - -@end diff --git a/Classes/ChatConversationInfoView.m b/Classes/ChatConversationInfoView.m deleted file mode 100644 index b5ea0ae06..000000000 --- a/Classes/ChatConversationInfoView.m +++ /dev/null @@ -1,467 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "ChatConversationInfoView.h" -#import "PhoneMainView.h" -#import "UIChatConversationInfoTableViewCell.h" -#import "linphoneapp-Swift.h" - -#import "linphone/core.h" - -@implementation ChatConversationInfoView - -#pragma mark - UICompositeViewDelegate Functions - -static UICompositeViewDescription *compositeDescription = nil; - -+ (UICompositeViewDescription *)compositeViewDescription { - if (compositeDescription == nil) { - compositeDescription = [[UICompositeViewDescription alloc] init:self.class - statusBar:StatusBarView.class - tabBar:TabBarView.class - sideMenu:SideMenuView.class - fullscreen:false - isLeftFragment:NO - fragmentWith:ChatsListView.class]; - } - return compositeDescription; -} - -- (UICompositeViewDescription *)compositeViewDescription { - return self.class.compositeViewDescription; -} - -+ (void)displayCreationError { - static UIAlertController *errorView = nil; - // avoid having multiple popups - [PhoneMainView.instance dismissViewControllerAnimated:YES completion:nil]; - errorView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Chat room creation error", nil) - message:NSLocalizedString(@"Chat room could not be created on server", nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"OK", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - [errorView addAction:defaultAction]; - [PhoneMainView.instance presentViewController:errorView animated:YES completion:nil]; -} - -- (void)viewDidLoad { - [super viewDidLoad]; - UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self - action:@selector(dismissKeyboards)]; - tap.delegate = self; - [self.view addGestureRecognizer:tap]; - - UITapGestureRecognizer *particpantsBarTap = [[UITapGestureRecognizer alloc] initWithTarget:self - action:@selector(onAddClick:)]; - particpantsBarTap.delegate = self; - [_participantsBar addGestureRecognizer:particpantsBarTap]; - - _nameLabel.delegate = self; - _tableView.dataSource = self; - _tableView.delegate = self; - _admins = [[NSMutableArray alloc] init]; - _oldAdmins = [[NSMutableArray alloc] init]; - _oldContacts = [[NSMutableArray alloc] init]; - _room = NULL; - _chatRoomCbs = NULL; - _peerAddress = NULL; - _localAddress = NULL; -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - _waitView.hidden = YES; - - [self configure]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(onLinphoneCoreReady:) - name:kLinphoneGlobalStateUpdate - object:nil]; - - NSDictionary* userInfo; - [NSNotificationCenter.defaultCenter addObserver:self - selector: @selector(receivePresenceNotification:) - name: @"LinphoneFriendPresenceUpdate" - object: userInfo]; -} - --(void) receivePresenceNotification:(NSNotification*)notification -{ - if ([notification.name isEqualToString:@"LinphoneFriendPresenceUpdate"]) - { - NSDictionary* userInfo = notification.userInfo; - NSString* friend = (NSString*)userInfo[@"friend"]; - - for (int i = 0; i < _contacts.count; i++) - { - - NSString *uri = _contacts[i]; - LinphoneAddress *addr = linphone_address_new(uri.UTF8String); - - if (addr != nil) { - char *curi = linphone_address_as_string_uri_only(addr); - NSString *uri = [NSString stringWithUTF8String:curi]; - - if([uri isEqual:friend]){ - NSIndexPath* indexPath = [NSIndexPath indexPathForRow:i inSection:0]; - NSArray* indexArray = [NSArray arrayWithObjects:indexPath, nil]; - [self.tableView reloadRowsAtIndexPaths:indexArray withRowAnimation:UITableViewRowAnimationFade]; - } - } - } - } -} - -- (void)viewWillDisappear:(BOOL)animated { - [NSNotificationCenter.defaultCenter removeObserver:self]; - [[NSNotificationCenter defaultCenter] removeObserver:self name:@"LinphoneFriendPresenceUpdate" object:nil]; - [AvatarBridge removeAllObserver]; - if (!_room || !_chatRoomCbs) - return; - - linphone_chat_room_remove_callbacks(_room, _chatRoomCbs); - _chatRoomCbs = NULL; -} - -- (void)configure { - if (_create) - _room = NULL; - - _nameLabel.text = _room && linphone_chat_room_get_subject(_room) - ? [NSString stringWithUTF8String:linphone_chat_room_get_subject(_room)] - : @""; - _nextButton.enabled = _nameLabel.text.length > 0 && _contacts.count > 0; - LinphoneParticipant *me = _room && !linphone_chat_room_is_read_only(_room) - ? linphone_chat_room_get_me(_room) - : NULL; - _imAdmin = me - ? linphone_participant_is_admin(me) - : false; - _quitButton.hidden = _create || (me == NULL); - _nameLabel.enabled = _create || _imAdmin; - _addButton.hidden = !_create && !_imAdmin; - _nextButton.hidden = !_create && !_imAdmin; - - CGFloat height = _quitButton.hidden - ? self.view.frame.size.height - _tableView.frame.origin.y - : _quitButton.frame.origin.y - _tableView.frame.origin.y - 10; - [_tableView setFrame:CGRectMake( - _tableView.frame.origin.x, - _tableView.frame.origin.y, - _tableView.frame.size.width, - height - )]; - - if (_room) { - _chatRoomCbs = linphone_factory_create_chat_room_cbs(linphone_factory_get()); - linphone_chat_room_cbs_set_state_changed(_chatRoomCbs, main_view_chat_room_state_changed); - linphone_chat_room_cbs_set_subject_changed(_chatRoomCbs, chat_room_subject_changed); - linphone_chat_room_cbs_set_participant_added(_chatRoomCbs, chat_room_participant_added); - linphone_chat_room_cbs_set_participant_removed(_chatRoomCbs, chat_room_participant_removed); - linphone_chat_room_cbs_set_participant_admin_status_changed(_chatRoomCbs, chat_room_participant_admin_status_changed); - linphone_chat_room_cbs_set_user_data(_chatRoomCbs, (__bridge void*)self); - linphone_chat_room_add_callbacks(_room, _chatRoomCbs); - } - - [_tableView reloadData]; -} - -#pragma mark - next functions - -- (void)onLinphoneCoreReady:(NSNotification *)notif { - if ((LinphoneGlobalState)[[[notif userInfo] valueForKey:@"state"] integerValue] == LinphoneGlobalOn) { - if (!_create && _peerAddress && _localAddress) { - LinphoneAddress *peerAddr = linphone_core_create_address([LinphoneManager getLc], _peerAddress); - LinphoneAddress *localAddr = linphone_core_create_address([LinphoneManager getLc], _localAddress); - if (peerAddr && localAddr) { - _room = linphone_core_search_chat_room([LinphoneManager getLc], NULL, localAddr, peerAddr, NULL); - } - [self configure]; - } - } -} - -- (void)onCreate { - bctbx_list_t *addresses = NULL; - for (NSString *addr in _contacts) { - LinphoneAddress *linphoneAddress = linphone_address_new(addr.UTF8String); - if (!linphoneAddress) - continue; - - if (!addresses) { - addresses = bctbx_list_new((void *)linphoneAddress); - continue; - } - addresses = bctbx_list_append(addresses, (void *)linphoneAddress); - } - [PhoneMainView.instance createChatRoom:_nameLabel.text.UTF8String addresses:addresses andWaitView:_waitView isEncrypted:_encrypted isGroup:TRUE]; - bctbx_list_free_with_data(addresses, (void (*)(void *))linphone_address_unref); -} - -- (void)onValidate { - ChatConversationViewSwift *view = VIEW(ChatConversationViewSwift); - // Change subject if necessary - if (![_oldSubject isEqualToString:_nameLabel.text]) - linphone_chat_room_set_subject(_room, _nameLabel.text.UTF8String); - - // Add participants if necessary - bctbx_list_t *addedPartipants = NULL; - for (NSString *uri in _contacts) { - if ([_oldContacts containsObject:uri]) - continue; - - LinphoneAddress *addr = linphone_address_new(uri.UTF8String); - linphone_address_clean(addr);//keep only username@domain - if (addedPartipants) - addedPartipants = bctbx_list_append(addedPartipants, addr); - else - addedPartipants = bctbx_list_new(addr); - } - if (addedPartipants) { - linphone_chat_room_add_participants(_room, addedPartipants); - bctbx_list_free_with_data(addedPartipants, (void (*)(void *))linphone_address_unref); - } - - - // Remove participants if necessary - bctbx_list_t *removedPartipants = NULL; - for (NSString *uri in _oldContacts) { - if ([_contacts containsObject:uri]) - continue; - - LinphoneAddress *addr = linphone_address_new(uri.UTF8String); - LinphoneParticipant *participant = linphone_participant_ref(linphone_chat_room_find_participant(_room, addr)); - if (!participant) - continue; - - if (removedPartipants) - removedPartipants = bctbx_list_append(removedPartipants, participant); - else - removedPartipants = bctbx_list_new(participant); - - linphone_address_unref(addr); - } - if (removedPartipants) { - linphone_chat_room_remove_participants(_room, removedPartipants); - bctbx_list_free_with_data(removedPartipants, (void (*)(void *))linphone_participant_unref); - } - - // add admins if necessary - for (NSString *admin in _admins) { - if ([_oldAdmins containsObject:admin]) - continue; - - LinphoneAddress *addr = linphone_address_new(admin.UTF8String); - LinphoneParticipant *participant = linphone_chat_room_find_participant(_room, addr); - if (!participant) - continue; - - linphone_chat_room_set_participant_admin_status(_room, participant, true); - linphone_address_unref(addr); - } - - // remove admins if necessary - for (NSString *admin in _oldAdmins) { - if ([_admins containsObject:admin]) - continue; - - LinphoneAddress *addr = linphone_address_new(admin.UTF8String); - LinphoneParticipant *participant = linphone_chat_room_find_participant(_room, addr); - if (!participant) - continue; - - linphone_chat_room_set_participant_admin_status(_room, participant, false); - linphone_address_unref(addr); - } - [PhoneMainView.instance changeCurrentView:view.compositeViewDescription]; -} - -#pragma mark - Buttons responders - -- (IBAction)onNextClick:(id)sender { - if(_create) - [self onCreate]; - else - [self onValidate]; -} - -- (IBAction)onBackClick:(id)sender { - if(_create) { - ChatConversationCreateView *view = VIEW(ChatConversationCreateView); - [view fragmentCompositeDescription]; - view.tableController.contactsGroup = [_contacts mutableCopy]; - view.tableController.notFirstTime = TRUE; - view.isForEditing = FALSE; - view.isForVoipConference = FALSE; - [PhoneMainView.instance popToView:view.compositeViewDescription]; - } else { - ChatConversationViewSwift *view = VIEW(ChatConversationViewSwift); - [PhoneMainView.instance popToView:view.compositeViewDescription]; - } -} - -- (IBAction)onQuitClick:(id)sender { - NSString *msg = - [NSString stringWithFormat:NSLocalizedString(@"Do you want to leave this conversation?", nil)]; - [UIConfirmationDialog ShowWithMessage:msg - cancelMessage:nil - confirmMessage:NSLocalizedString(@"LEAVE", nil) - onCancelClick:^() {} - onConfirmationClick:^() { - linphone_chat_room_leave(_room); - }]; -} - -- (IBAction)onAddClick:(id)sender { - if (_create || _imAdmin) { - ChatConversationCreateView *view = VIEW(ChatConversationCreateView); - [view fragmentCompositeDescription]; - view.tableController.notFirstTime = TRUE; - view.isForEditing = !_create; - view.isGroupChat = TRUE; - view.tableController.contactsGroup = [_contacts mutableCopy]; - view.isForVoipConference = FALSE; - [PhoneMainView.instance popToView:view.compositeViewDescription]; - } -} - -#pragma mark - TableView - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return 1; -} - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - return _contacts.count; -} - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - NSString *kCellId = NSStringFromClass(UIChatConversationInfoTableViewCell.class); - UIChatConversationInfoTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId]; - if (cell == nil) { - cell = [[UIChatConversationInfoTableViewCell alloc] initWithIdentifier:kCellId]; - } - cell.uri = _contacts[indexPath.row]; - LinphoneAddress *addr = linphone_address_new(cell.uri.UTF8String); - cell.nameLabel.text = (addr == nil? cell.uri : [FastAddressBook displayNameForAddress:addr]); - [cell.avatarImage setImage:[FastAddressBook imageForAddress:addr]]; - cell.controllerView = self; - if(![_admins containsObject:cell.uri]) { - cell.adminLabel.enabled = FALSE; - cell.adminImage.image = [UIImage imageNamed:@"check_unselected.png"]; - } - cell.adminButton.hidden = _create || (!_imAdmin && !cell.adminLabel.enabled) || ![_oldContacts containsObject:cell.uri]; - cell.adminButton.userInteractionEnabled = _imAdmin; - cell.removeButton.hidden = !_create && !_imAdmin; - if (addr) - linphone_address_unref(addr); - - return cell; -} - -#pragma mark - searchBar delegate - -- (void)dismissKeyboards { - if ([_nameLabel isFirstResponder]) { - [_nameLabel resignFirstResponder]; - } -} - -#pragma mark - UITextFieldDelegate - -- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { - _nextButton.enabled = (!((string.length == 0 || string == nil || [string isEqual:@""]) && (textField.text.length == 1)) - && _contacts.count > 0); - return TRUE; -} - -#pragma mark - chat room callbacks - -- (void)myAdminStatusChanged:(BOOL)admin { - NSString *message = admin - ? NSLocalizedString(@"You are now an admin of the chat room", nil) - : NSLocalizedString(@"You are no longer an admin of the chat room", nil); - - static UIAlertController *alertView = nil; - // avoid having multiple popups - [PhoneMainView.instance dismissViewControllerAnimated:YES completion:nil]; - alertView = [UIAlertController alertControllerWithTitle:[NSString stringWithFormat:@"%@", message] - message:nil - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"OK", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - [alertView addAction:defaultAction]; - [PhoneMainView.instance presentViewController:alertView animated:YES completion:nil]; -} - -void chat_room_subject_changed(LinphoneChatRoom *cr, const LinphoneEventLog *event_log) { - ChatConversationInfoView *view = (__bridge ChatConversationInfoView *)linphone_chat_room_cbs_get_user_data(linphone_chat_room_get_current_callbacks(cr)); - view.nameLabel.text = [NSString stringWithUTF8String:linphone_event_log_get_subject(event_log)]; -} - -void chat_room_participant_added(LinphoneChatRoom *cr, const LinphoneEventLog *event_log) { - ChatConversationInfoView *view = (__bridge ChatConversationInfoView *)linphone_chat_room_cbs_get_user_data(linphone_chat_room_get_current_callbacks(cr)); - char *str = linphone_address_as_string(linphone_event_log_get_participant_address(event_log)); - NSString *participantAddress = [NSString stringWithUTF8String:str]; - ms_free(str); - [view.oldContacts addObject:participantAddress]; - [view.contacts addObject:participantAddress]; - [view.tableView reloadData]; -} - -void chat_room_participant_removed(LinphoneChatRoom *cr, const LinphoneEventLog *event_log) { - ChatConversationInfoView *view = (__bridge ChatConversationInfoView *)linphone_chat_room_cbs_get_user_data(linphone_chat_room_get_current_callbacks(cr)); - char *str = linphone_address_as_string(linphone_event_log_get_participant_address(event_log)); - NSString *participantAddress = [NSString stringWithUTF8String:str]; - ms_free(str); - [view.oldContacts removeObject:participantAddress]; - [view.contacts removeObject:participantAddress]; - [view.tableView reloadData]; -} - -void chat_room_participant_admin_status_changed(LinphoneChatRoom *cr, const LinphoneEventLog *event_log) { - ChatConversationInfoView *view = (__bridge ChatConversationInfoView *)linphone_chat_room_cbs_get_user_data(linphone_chat_room_get_current_callbacks(cr)); - char *str = linphone_address_as_string(linphone_event_log_get_participant_address(event_log)); - NSString *participantAddress = [NSString stringWithUTF8String:str]; - ms_free(str); - - LinphoneParticipant *me = linphone_chat_room_get_me(cr); - if (me && linphone_address_equal(linphone_participant_get_address(me), linphone_event_log_get_participant_address(event_log))) { - [view myAdminStatusChanged:(linphone_event_log_get_type(event_log) == LinphoneEventLogTypeConferenceParticipantSetAdmin)]; - [view viewWillAppear:TRUE]; - return; - } - - if (linphone_event_log_get_type(event_log) == LinphoneEventLogTypeConferenceParticipantSetAdmin) { - [view.admins addObject:participantAddress]; - [view.oldAdmins addObject:participantAddress]; - } else { // linphone_event_log_get_type(event_log) == LinphoneEventLogTypeConferenceParticipantUnsetAdmin - [view.admins removeObject:participantAddress]; - [view.oldAdmins removeObject:participantAddress]; - } - [view.tableView reloadData]; -} - -@end diff --git a/Classes/ChatConversationTableView.h b/Classes/ChatConversationTableView.h deleted file mode 100644 index f62ed074c..000000000 --- a/Classes/ChatConversationTableView.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#include "linphone/linphonecore.h" - -#import "linphone/api/c-event-log.h" -#import "linphone/api/c-chat-room.h" - -#import "UICheckBoxTableView.h" - - -@interface FileContext : NSObject -@property NSMutableArray *typesArray; -@property NSMutableArray *datasArray; -@property NSMutableArray *previewsArray; -@property NSMutableArray *namesArray; -@property NSMutableArray *uuidsArray; - -- (void)clear; -- (NSUInteger)count; -- (void)addObject:(NSData *)data name:(NSString *)name type:(NSString *)type; -@end - -@protocol ChatConversationDelegate - -- (BOOL)resendMultiFiles:(FileContext *)newFileContext message:(NSString *)message rootMessage:(LinphoneChatMessage *)rootMessage; -- (BOOL)resendFile:(NSData *)data withName:(NSString *)name type:(NSString *)type key:(NSString *)key message:(NSString *)message rootMessage:(LinphoneChatMessage *)rootMessage; -- (BOOL)startFileUpload:(NSData *)data withName:(NSString *)name rootMessage:(LinphoneChatMessage *)rootMessage; -- (void)resendChat:(NSString *)message withExternalUrl:(NSString *)url rootMessage:(LinphoneChatMessage *)rootMessage; -- (void)tableViewIsScrolling; - -@end - -@interface ChatConversationTableView : UICheckBoxTableView { - @private - NSMutableArray *eventList; - NSMutableArray *totalEventList; -} - -@property(nonatomic) LinphoneChatRoom *chatRoom; -@property(nonatomic) NSInteger currentIndex; -@property(nonatomic, strong) id chatRoomDelegate; -@property NSMutableDictionary *imagesInChatroom; -@property(nonatomic) NSTimer *ephemeralDisplayTimer; -@property (nullable, nonatomic) UIButton *floatingScrollButton; -@property (nullable, nonatomic) UILabel *scrollBadge; -@property (nullable, nonatomic) UIButton *floatingScrollBackground; - -- (void)addEventEntry:(LinphoneEventLog *)event; -- (void)scrollToBottom:(BOOL)animated; -- (void)scrollToLastUnread:(BOOL)animated; -- (void)updateEventEntry:(LinphoneEventLog *)event; -- (void)refreshData; -- (void)reloadData; -- (void) dismissMessagesPopups; -- (void) scrollToMessage:(LinphoneChatMessage *)message; -- (int) indexOfMesssage:(LinphoneChatMessage *)message; -- (void *)buildMessageCell:(LinphoneEventLog *) event; - -@end diff --git a/Classes/ChatConversationTableView.m b/Classes/ChatConversationTableView.m deleted file mode 100644 index 42d2d123a..000000000 --- a/Classes/ChatConversationTableView.m +++ /dev/null @@ -1,533 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "LinphoneManager.h" -#import "ChatConversationTableView.h" -#import "ChatConversationImdnView.h" -#import "UIChatBubblePhotoCell.h" -#import "UIChatNotifiedEventCell.h" -#import "PhoneMainView.h" -#import "linphoneapp-Swift.h" - -@implementation ChatConversationTableView - -#pragma mark - Lifecycle Functions - -- (void)dealloc { - [self clearEventList]; -} - - -#pragma mark - ViewController Functions - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - self.tableView.accessibilityIdentifier = @"ChatRoom list"; - _imagesInChatroom = [NSMutableDictionary dictionary]; - _currentIndex = 0; - [self startEphemeralDisplayTimer]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(ephemeralDeleted:) - name:kLinphoneEphemeralMessageDeletedInRoom - object:nil]; -} - --(void) viewWillDisappear:(BOOL)animated { - [self dismissMessagesPopups]; - [self stopEphemeralDisplayTimer]; - [NSNotificationCenter.defaultCenter removeObserver:self]; - [super viewWillDisappear:animated]; - [_floatingScrollButton setHidden:TRUE]; -} - -#pragma mark - - -- (void)clearEventList { - for (NSValue *value in totalEventList) { - LinphoneEventLog *event = value.pointerValue; - linphone_event_log_unref(event); - } - [eventList removeAllObjects]; - [totalEventList removeAllObjects]; -} - --(bool) eventTypeIsOfInterestForOneToOneRoom:(LinphoneEventLogType)type { - return - type == LinphoneEventLogTypeConferenceChatMessage || - type == LinphoneEventLogTypeConferenceEphemeralMessageEnabled || - type == LinphoneEventLogTypeConferenceEphemeralMessageDisabled || - type == LinphoneEventLogTypeConferenceEphemeralMessageLifetimeChanged; -} - -- (void)updateData { - [self clearEventList]; - if (!_chatRoom) - return; - - LinphoneChatRoomCapabilitiesMask capabilities = linphone_chat_room_get_capabilities(_chatRoom); - bool oneToOne = capabilities & LinphoneChatRoomCapabilitiesOneToOne; - bctbx_list_t *chatRoomEvents = linphone_chat_room_get_history_events(_chatRoom, 0); - int unread_count = 0; - - bctbx_list_t *head = chatRoomEvents; - size_t listSize = bctbx_list_size(chatRoomEvents); - totalEventList = [[NSMutableArray alloc] initWithCapacity:listSize]; - eventList = [[NSMutableArray alloc] initWithCapacity:MIN(listSize, BASIC_EVENT_LIST)]; - BOOL autoDownload = (linphone_core_get_max_size_for_auto_download_incoming_files(LC) > -1); - while (chatRoomEvents) { - LinphoneEventLog *event = (LinphoneEventLog *)chatRoomEvents->data; - if (oneToOne && ![self eventTypeIsOfInterestForOneToOneRoom:linphone_event_log_get_type(event)]) { - chatRoomEvents = chatRoomEvents->next; - } else { - LinphoneChatMessage *chat = linphone_event_log_get_chat_message(event); - if (chat && !linphone_chat_message_is_read(chat)) { - if (unread_count == 0) { - // [eventList addObject:[NSString stringWithString:@"Ceci est un test wesh wesh"]]; - } - } - // if auto_download is available and file transfer in progress, not add event now - if (!(autoDownload && chat && linphone_chat_message_is_file_transfer_in_progress(chat))) { - [totalEventList addObject:[NSValue valueWithPointer:linphone_event_log_ref(event)]]; - if (listSize <= BASIC_EVENT_LIST) { - [eventList addObject:[NSValue valueWithPointer:linphone_event_log_ref(event)]]; - } - } - - chatRoomEvents = chatRoomEvents->next; - listSize -= 1; - } - } - bctbx_list_free_with_data(head, (bctbx_list_free_func)linphone_event_log_unref); -} - -- (void)refreshData { - if (totalEventList.count <= eventList.count) { - _currentIndex = 0; - return; - } - - NSUInteger num = MIN(totalEventList.count-eventList.count, BASIC_EVENT_LIST); - _currentIndex = num - 1; - while (num) { - NSInteger index = totalEventList.count - eventList.count - 1; - [eventList insertObject:[totalEventList objectAtIndex:index] atIndex:0]; - index -= 1; - num -= 1; - } -} - -- (void)reloadData { - [self updateData]; - [self.tableView reloadData]; - [self scrollToLastUnread:false]; -} - -- (void)addEventEntry:(LinphoneEventLog *)event { - [eventList addObject:[NSValue valueWithPointer:linphone_event_log_ref(event)]]; - [totalEventList addObject:[NSValue valueWithPointer:linphone_event_log_ref(event)]]; - int pos = (int)eventList.count - 1; - NSIndexPath *indexPath = [NSIndexPath indexPathForRow:pos inSection:0]; - [self.tableView beginUpdates]; - [self.tableView insertRowsAtIndexPaths:@[ indexPath ] withRowAnimation:UITableViewRowAnimationFade]; - [self.tableView endUpdates]; -} - -- (void)updateEventEntry:(LinphoneEventLog *)event { - NSInteger index = [eventList indexOfObject:[NSValue valueWithPointer:event]]; - if (index < 0) { - LOGW(@"event entry doesn't exist"); - return; - } - [self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:index inSection:0]] - withRowAnimation:FALSE]; // just reload - return; -} - -- (void)scrollToBottom:(BOOL)animated { - //[self.tableView reloadData]; - size_t count = eventList.count; - if (!count) - return; - - //[self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:(count - 1) inSection:0]]; - [self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:(count - 1) inSection:0] - atScrollPosition:UITableViewScrollPositionBottom - animated:animated]; - if ([UIApplication sharedApplication].applicationState == UIApplicationStateActive) - [ChatConversationViewSwift markAsRead:_chatRoom]; -} - -- (void)scrollToLastUnread:(BOOL)animated { - if (eventList.count == 0 || _chatRoom == nil) - return; - - int index = -1; - size_t count = eventList.count; - // Find first unread & set all entry read - for (int i = (int)count - 1; i > 0; --i) { - LinphoneEventLog *event = [[eventList objectAtIndex:i] pointerValue]; - if (!(linphone_event_log_get_type(event) == LinphoneEventLogTypeConferenceChatMessage)) - break; - - LinphoneChatMessage *chat = linphone_event_log_get_chat_message(event); - int read = linphone_chat_message_is_read(chat); - LinphoneChatMessageState state = linphone_chat_message_get_state(chat); - if (read == 0 && - !(state == LinphoneChatMessageStateFileTransferError || state == LinphoneChatMessageStateNotDelivered)) { - if (index == -1) { - index = i; - break; - } - } - } - if (index == -1 && count > 0) - index = (int)count - 1; - - if ([UIApplication sharedApplication].applicationState == UIApplicationStateActive) - [ChatConversationViewSwift markAsRead:_chatRoom]; - - // Scroll to unread - if (index < 0) - return; - - [self.tableView.layer removeAllAnimations]; - [self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:index inSection:0] - atScrollPosition:UITableViewScrollPositionTop - animated:animated]; -} - - -- (void) scrollToMessage:(LinphoneChatMessage *)message { - int index = [self indexOfMesssage:message]; - if (index < 0) - return; - - [self.tableView.layer removeAllAnimations]; - [self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:index inSection:0] - atScrollPosition:UITableViewScrollPositionTop - animated:true]; -} - --(int) indexOfMesssage:(LinphoneChatMessage *)message { - if (eventList.count == 0 || _chatRoom == nil) - return -1; - - const char *msgId = linphone_chat_message_get_message_id(message); - - int index = -1; - size_t count = eventList.count; - for (int i = (int)count - 1; i > 0; --i) { - LinphoneEventLog *event = [[eventList objectAtIndex:i] pointerValue]; - LinphoneChatMessage *chat = linphone_event_log_get_chat_message(event); - if (!chat) - continue; - if (!strcmp(msgId, linphone_chat_message_get_message_id(chat))) { - index = i; - break; - } - - } - return index; -} - -#pragma mark - Property Functions - -- (void)setChatRoom:(LinphoneChatRoom *)room { - _chatRoom = room; - [self reloadData]; - [self updateEphemeralTimes]; -} - -static const int MAX_AGGLOMERATED_TIME=300; -static const int BASIC_EVENT_LIST=15; - -- (BOOL)isFirstIndexInTableView:(NSIndexPath *)indexPath chat:(LinphoneChatMessage *)chat { - LinphoneEventLog *previousEvent = nil; - NSInteger indexOfPreviousEvent = indexPath.row - 1; - if (indexOfPreviousEvent > -1) { - previousEvent = [[eventList objectAtIndex:indexOfPreviousEvent] pointerValue]; - if (linphone_event_log_get_type(previousEvent) != LinphoneEventLogTypeConferenceChatMessage) { - return TRUE; - } - } - if (!previousEvent) - return TRUE; - - LinphoneChatMessage *previousChat = linphone_event_log_get_chat_message(previousEvent); - if (!linphone_address_equal(linphone_chat_message_get_from_address(previousChat), linphone_chat_message_get_from_address(chat))) { - return TRUE; - } - // the maximum interval between 2 agglomerated chats at 5mn - if ((linphone_chat_message_get_time(chat)-linphone_chat_message_get_time(previousChat)) > MAX_AGGLOMERATED_TIME) { - return TRUE; - } - - return FALSE; -} - -- (BOOL)isLastIndexInTableView:(NSIndexPath *)indexPath chat:(LinphoneChatMessage *)chat { - LinphoneEventLog *nextEvent = nil; - NSInteger indexOfNextEvent = indexPath.row + 1; - while (!nextEvent && indexOfNextEvent < [eventList count]) { - LinphoneEventLog *tmp = [[eventList objectAtIndex:indexOfNextEvent] pointerValue]; - if (linphone_event_log_get_type(tmp) == LinphoneEventLogTypeConferenceChatMessage) { - nextEvent = tmp; - } - ++indexOfNextEvent; - } - - if (!nextEvent) - return TRUE; - - LinphoneChatMessage *nextChat = linphone_event_log_get_chat_message(nextEvent); - if (!linphone_address_equal(linphone_chat_message_get_from_address(nextChat), linphone_chat_message_get_from_address(chat))) { - return TRUE; - } - - return FALSE; -} - -#pragma mark - UITableViewDataSource Functions - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return 1; -} - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - return eventList.count; -} - -- (void)tableView:(UITableView *)tableView didEndDisplayingCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath*)indexPath { - if (!_chatRoom && [[cell reuseIdentifier] isEqualToString:@"UIChatBubblePhotoCell"]) { - [(UIChatBubbleTextCell *)cell clearEncryptedFiles]; - } - if ([cell isKindOfClass:[UIChatBubbleTextCell class]] ||[cell isKindOfClass:[UIChatBubblePhotoCell class]]) - [(UIChatBubbleTextCell *)cell dismissPopup]; -} - --(void) dismissMessagesPopups { - for (UITableViewCell *cell in self.tableView.visibleCells) { - if (![[cell reuseIdentifier] isEqualToString:NSStringFromClass(UIChatNotifiedEventCell.class)]) - [(UIChatBubbleTextCell *)cell dismissPopup]; - } -} - --(UIChatBubbleTextCell *)buildMessageCell:(LinphoneEventLog *) event { - NSString *kCellId = nil; - LinphoneChatMessage *chat = linphone_event_log_get_chat_message(event); - BOOL isConferenceIcs = [ICSBubbleView isConferenceInvitationMessageWithCmessage:chat]; - if (!isConferenceIcs && (linphone_chat_message_get_file_transfer_information(chat) || linphone_chat_message_get_external_body_url(chat))) - kCellId = NSStringFromClass(UIChatBubblePhotoCell.class); - else - kCellId = NSStringFromClass(UIChatBubbleTextCell.class); - // To use less memory and to avoid overlapping. To be improved. - UIChatBubbleTextCell *cell = [self.tableView dequeueReusableCellWithIdentifier:kCellId]; - cell = [[NSClassFromString(kCellId) alloc] initWithIdentifier:kCellId]; - [cell setEvent:event]; - return cell; -} - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - NSString *kCellId = nil; - LinphoneEventLog *event = [[eventList objectAtIndex:indexPath.row] pointerValue]; - if (linphone_event_log_get_type(event) == LinphoneEventLogTypeConferenceChatMessage) { - UIChatBubbleTextCell *cell = [self buildMessageCell:event]; - LinphoneChatMessage *chat = linphone_event_log_get_chat_message(event); - if (chat) { - cell.isFirst = [self isFirstIndexInTableView:indexPath chat:chat]; - cell.isLast = [self isLastIndexInTableView:indexPath chat:chat]; - [cell update]; - } - [cell setChatRoomDelegate:_chatRoomDelegate]; - [super accessoryForCell:cell atPath:indexPath]; - cell.selectionStyle = UITableViewCellSelectionStyleNone; - cell.tableController = self; - cell.popupMenuAllowed = true; - return cell; - } else { - kCellId = NSStringFromClass(UIChatNotifiedEventCell.class); - UIChatNotifiedEventCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId]; - if (!cell) - cell = [[NSClassFromString(kCellId) alloc] initWithIdentifier:kCellId]; - - [cell setEvent:event]; - [super accessoryForCell:cell atPath:indexPath]; - cell.selectionStyle = UITableViewCellSelectionStyleNone; - return cell; - } -} - -#pragma mark - UITableViewDelegate Functions - -- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView { - [_chatRoomDelegate tableViewIsScrolling]; -} - -- (void)scrollViewDidScroll:(UIScrollView *)scrollView { - if (scrollView.contentOffset.y >= (scrollView.contentSize.height - scrollView.frame.size.height)) { - if ([UIApplication sharedApplication].applicationState == UIApplicationStateActive) - [ChatConversationViewSwift markAsRead:_chatRoom]; - } -} - -static const CGFloat MESSAGE_SPACING_PERCENTAGE = 1.f; - -- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { - LinphoneEventLog *event = [[eventList objectAtIndex:indexPath.row] pointerValue]; - if (linphone_event_log_get_type(event) == LinphoneEventLogTypeConferenceChatMessage) { - LinphoneChatMessage *chat = linphone_event_log_get_chat_message(event); - //If the message is followed by another one that is not from the same address, we add a little space under it - CGFloat height = 0; - if ([self isLastIndexInTableView:indexPath chat:chat]) - height += tableView.frame.size.height * MESSAGE_SPACING_PERCENTAGE / 100; - if (![self isFirstIndexInTableView:indexPath chat:chat]) - height -= 20; - return [UIChatBubbleTextCell ViewHeightForMessage:chat withWidth:self.view.frame.size.width].height + height; - } - return [UIChatNotifiedEventCell height]; -} - -- (void) tableView:(UITableView *)tableView deleteRowAtIndex:(NSIndexPath *)indexPath { - [tableView beginUpdates]; - LinphoneEventLog *event = [[eventList objectAtIndex:indexPath.row] pointerValue]; - linphone_event_log_delete_from_database(event); - NSInteger index = indexPath.row + _currentIndex + (totalEventList.count - eventList.count); - if (index < totalEventList.count) - [totalEventList removeObjectAtIndex:index]; - [eventList removeObjectAtIndex:indexPath.row]; - - [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] - withRowAnimation:UITableViewRowAnimationBottom]; - [tableView endUpdates]; - [self loadData]; -} - -- (nullable UISwipeActionsConfiguration *)tableView:(UITableView *)tableView - leadingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath *)indexPath { - - LinphoneEventLog *event = [[eventList objectAtIndex:indexPath.row] pointerValue]; - - if (linphone_event_log_get_type(event) != LinphoneEventLogTypeConferenceChatMessage) { - return [UISwipeActionsConfiguration configurationWithActions:@[]]; - } - - UIContextualAction *replyAction = [UIContextualAction contextualActionWithStyle:UIContextualActionStyleNormal - title:NSLocalizedString(@"Reply", nil) - handler:^(UIContextualAction * _Nonnull action, __kindof UIView * _Nonnull sourceView, void (^ _Nonnull completionHandler)(BOOL)) { - LinphoneChatMessage *msg = linphone_event_log_get_chat_message(event); - [VIEW(ChatConversationViewSwift) initiateReplyViewForMessage:msg]; - [self scrollToBottom:TRUE]; - }]; - - UISwipeActionsConfiguration *swipeActionConfig = [UISwipeActionsConfiguration configurationWithActions:@[replyAction]]; - swipeActionConfig.performsFirstActionWithFullSwipe = YES; - return swipeActionConfig; -} - -- (nullable UISwipeActionsConfiguration *)tableView:(UITableView *)tableView - trailingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath *)indexPath { - - UIContextualAction *delete = [UIContextualAction contextualActionWithStyle:UIContextualActionStyleDestructive - title:NSLocalizedString(@"Delete", nil) - handler:^(UIContextualAction * _Nonnull action, __kindof UIView * _Nonnull sourceView, void (^ _Nonnull completionHandler)(BOOL)) { - [self tableView:tableView deleteRowAtIndex:indexPath]; - }]; - - LinphoneEventLog *event = [[eventList objectAtIndex:indexPath.row] pointerValue]; - UIContextualAction *imdnAction = [UIContextualAction contextualActionWithStyle:UIContextualActionStyleNormal - title:NSLocalizedString(@"Info", nil) - handler:^(UIContextualAction * _Nonnull action, __kindof UIView * _Nonnull sourceView, void (^ _Nonnull completionHandler)(BOOL)) { - ChatConversationImdnView *view = VIEW(ChatConversationImdnView); - view.event = event; - [PhoneMainView.instance changeCurrentView:view.compositeViewDescription]; - }]; - - UISwipeActionsConfiguration *swipeActionConfig; - - if (linphone_event_log_get_type(event) == LinphoneEventLogTypeConferenceChatMessage && - !(linphone_chat_room_get_capabilities(_chatRoom) & LinphoneChatRoomCapabilitiesOneToOne)) { - swipeActionConfig = [UISwipeActionsConfiguration configurationWithActions:@[delete, imdnAction]]; - } else { - swipeActionConfig = [UISwipeActionsConfiguration configurationWithActions:@[delete]]; - } - - swipeActionConfig.performsFirstActionWithFullSwipe = YES; - return swipeActionConfig; -} - -- (void)removeSelectionUsing:(void (^)(NSIndexPath *))remover { - [super removeSelectionUsing:^(NSIndexPath *indexPath) { - LinphoneEventLog *event = [[eventList objectAtIndex:indexPath.row] pointerValue]; - if (linphone_event_log_get_chat_message(event)) { - linphone_chat_room_delete_message(_chatRoom, linphone_event_log_get_chat_message(event)); - } else { - linphone_event_log_delete_from_database(event); - } - NSInteger index = indexPath.row + _currentIndex + (totalEventList.count - eventList.count); - if (index < totalEventList.count) - [totalEventList removeObjectAtIndex:index]; - [eventList removeObjectAtIndex:indexPath.row]; - }]; -} - -#pragma mark ephemeral messages - --(void) startEphemeralDisplayTimer { - _ephemeralDisplayTimer = [NSTimer scheduledTimerWithTimeInterval:1 - target:self - selector:@selector(updateEphemeralTimes) - userInfo:nil - repeats:YES]; -} - --(void) updateEphemeralTimes { - NSDateComponentsFormatter *f= [[NSDateComponentsFormatter alloc] init]; - f.unitsStyle = NSDateComponentsFormatterUnitsStylePositional; - f.zeroFormattingBehavior = NSDateComponentsFormatterZeroFormattingBehaviorPad; - - for (NSValue *v in eventList) { - LinphoneEventLog *event = [v pointerValue]; - if (linphone_event_log_get_type(event) == LinphoneEventLogTypeConferenceChatMessage) { - LinphoneChatMessage *msg = linphone_event_log_get_chat_message(event); - if (linphone_chat_message_is_ephemeral(msg)) { - UIChatBubbleTextCell *cell = (UIChatBubbleTextCell *)[self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:[eventList indexOfObject:v] inSection:0]]; - long duration = linphone_chat_message_get_ephemeral_expire_time(msg) == 0 ? - linphone_chat_room_get_ephemeral_lifetime(linphone_chat_message_get_chat_room(msg)) : - linphone_chat_message_get_ephemeral_expire_time(msg)-[NSDate date].timeIntervalSince1970; - f.allowedUnits = (duration > 86400 ? kCFCalendarUnitDay : 0)|(duration > 3600 ? kCFCalendarUnitHour : 0)|kCFCalendarUnitMinute|kCFCalendarUnitSecond; - cell.ephemeralTime.text = [f stringFromTimeInterval:duration]; - cell.ephemeralTime.hidden = NO; - cell.ephemeralIcon.hidden = NO; - } - } - } -} - --(void) stopEphemeralDisplayTimer { - [_ephemeralDisplayTimer invalidate]; -} - -- (void)ephemeralDeleted:(NSNotification *)notif { - LinphoneChatRoom *r =[[notif.userInfo objectForKey:@"room"] pointerValue]; - if (r ==_chatRoom) - [self reloadData]; -} - - -@end diff --git a/Classes/ChatConversationView.h b/Classes/ChatConversationView.h deleted file mode 100644 index 16ab31f55..000000000 --- a/Classes/ChatConversationView.h +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import -#import - -#import "UIToggleButton.h" -#import "UICompositeView.h" -#import "ChatConversationTableView.h" -#import "ImagePickerView.h" -#import "OrderedDictionary.h" -#import "UIRoundedImageView.h" -#import "UIBackToCallButton.h" -#import "Utils/HPGrowingTextView/HPGrowingTextView.h" -#import "UIImageViewDeletable.h" -#import "UIConfirmationDialog.h" -#import "UIInterfaceStyleButton.h" -#import "UIChatReplyBubbleView.h" -#include "linphone/linphonecore.h" - - -//Quicklook Preview Item -@interface PreviewItem : NSObject -@property(readonly, nonatomic) NSURL *previewItemURL; -@property(readonly, nonatomic) NSString *previewItemTitle; -@end - -//QuickLook Datasource for rending PDF docs -@interface FileDataSource : NSObject -@property NSMutableArray *files; -@end - -@interface ChatConversationView - : TPMultiLayoutViewController { - OrderedDictionary *imageQualities; - BOOL scrollOnGrowingEnabled; - BOOL composingVisible; - UIConfirmationDialog *securityDialog; - UIRefreshControl *refreshControl; - BOOL isOneToOne; - BOOL isEncrypted; -} - -@property(nonatomic) LinphoneChatRoom *chatRoom; -@property(nonatomic) LinphoneChatRoomCbs *chatRoomCbs; -@property(nonatomic) Boolean markAsRead; -@property(nonatomic) const char *peerAddress; -@property(nonatomic) const char *localAddress; - -@property (strong, nonatomic) FileDataSource *FileDataSource; - -@property(weak, nonatomic) IBOutlet UIButton *backButton; -@property(nonatomic, strong) IBOutlet ChatConversationTableView *tableController; -@property(weak, nonatomic) IBOutlet HPGrowingTextView *messageField; -@property(weak, nonatomic) IBOutlet UIView *topBar; -@property(nonatomic, strong) IBOutlet UIButton *sendButton; -@property(nonatomic, strong) IBOutlet UILabel *addressLabel; -@property(nonatomic, strong) IBOutlet UIView *chatView; -@property(nonatomic, strong) IBOutlet UIView *messageView; -@property(nonatomic, strong) IBOutlet UITapGestureRecognizer *listTapGestureRecognizer; -@property(nonatomic, strong) IBOutlet UISwipeGestureRecognizer *listSwipeGestureRecognizer; -@property(strong, nonatomic) IBOutlet UILabel *composeLabel; -@property(strong, nonatomic) IBOutlet UIView *composeIndicatorView; -@property(nonatomic, strong) IBOutlet UIButton *pictureButton; -@property(weak, nonatomic) IBOutlet UIButton *callButton; -@property(weak, nonatomic) IBOutlet UIBackToCallButton *backToCallButton; -@property (weak, nonatomic) IBOutlet UILabel *particpantsLabel; -@property NSMutableArray *qualitySettingsArray; -@property (weak, nonatomic) IBOutlet UICollectionView *imagesCollectionView; -@property (weak, nonatomic) IBOutlet UIView *imagesView; -@property (weak, nonatomic) IBOutlet UIButton *encryptedButton; -@property (weak, nonatomic) IBOutlet UIInterfaceStyleButton *toggleSelectionButton; -@property FileContext *fileContext; -@property (weak, nonatomic) IBOutlet UITableView *popupMenu; -@property (weak, nonatomic) IBOutlet UIInterfaceStyleButton *toggleMenuButton; -@property (weak, nonatomic) IBOutlet UIImageView *ephemeralndicator; - - -// Voice recording -@property (strong, nonatomic) IBOutlet UIView *vrView; -@property (weak, nonatomic) IBOutlet UIView *vrInnerView; -@property (weak, nonatomic) IBOutlet UIButton *vrDeleteButton; -@property (weak, nonatomic) IBOutlet UIButton *vrPlayButton; -@property (weak, nonatomic) IBOutlet UIImageView *vrWave; -@property (weak, nonatomic) IBOutlet UIView *vrWaveMask; -@property (weak, nonatomic) IBOutlet UIView *vrWaveMaskPlayer; -@property (weak, nonatomic) IBOutlet UILabel *vrDurationLabel; -@property NSTimer *vrRecordTimer; -@property NSTimer *vrPlayerTimer; -@property (weak, nonatomic) IBOutlet UIButton *toggleRecord; -@property BOOL isVoiceRecording; -@property BOOL isPendingVoiceRecord; -@property BOOL isPlayingVoiceRecording; -@property LinphoneRecorder *voiceRecorder; -@property LinphonePlayer *sharedVoicePlayer; -@property BOOL showVoiceRecorderView; -@property BOOL preservePendingActions; -@property BOOL *sharingMedia; - -// Reply -@property (weak, nonatomic) IBOutlet UIView *replyView; -@property BOOL showReplyView; -@property UIChatReplyBubbleView *replyBubble; - -// Forward -@property LinphoneChatMessage *pendingForwardMessage; - - -+ (void)markAsRead:(LinphoneChatRoom *)chatRoom; -+ (void)autoDownload:(LinphoneChatMessage *)message; -+(NSString *)getKeyFromFileType:(NSString *)fileType fileName:(NSString *)name; -+ (NSURL *)getFileUrl:(NSString *)name; -+ (void)writeFileInImagesDirectory:(NSData *)data name:(NSString *)name; -+ (NSData *)getFileData:(NSString *)name; -+ (void)writeMediaToGallery:(NSString *)name fileType:(NSString *)fileType; -+(UIImage *)getBasicImage; -+(UIImage*)drawText:(NSString*)text image:(UIImage *)image textSize:(CGFloat)textSize; -+(BOOL) isBasicChatRoom:(LinphoneChatRoom *)room; - -- (void)configureForRoom:(BOOL)editing; -- (IBAction)onBackClick:(id)event; -- (IBAction)onEditClick:(id)event; -- (IBAction)onMessageChange:(id)sender; -- (IBAction)onSendClick:(id)event; -- (IBAction)onPictureClick:(id)event; -- (IBAction)onListTap:(id)sender; -- (IBAction)onCallClick:(id)sender; -- (IBAction)onDeleteClick:(id)sender; -- (IBAction)onEditionChangeClick:(id)sender; -- (IBAction)onEncryptedDevicesClick:(id)sender; -- (void)update; -- (void)openFileWithURL:(NSURL *)url; -- (void)openFileWithURLs:(NSMutableArray*)urls index:(NSInteger)currentIndex; -- (void)clearMessageView; -- (void)configureMessageField; - -- (void)showFileDownloadError; -- (NSURL *)getICloudFileUrl:(NSString *)name; -- (void)removeCallBacks; - --(void) startSharedPlayer:(const char *)path; --(void) stopSharedPlayer; --(BOOL) sharedPlayedIsPlaying:(const char *)path; - --(void) initiateReplyViewForMessage:(LinphoneChatMessage *)message; - --(void) stopVoiceRecording; - -@end diff --git a/Classes/ChatConversationView.m b/Classes/ChatConversationView.m deleted file mode 100644 index 15eeb882e..000000000 --- a/Classes/ChatConversationView.m +++ /dev/null @@ -1,2297 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "linphoneapp-Swift.h" -#import "ChatConversationView.h" -#import "PhoneMainView.h" -#import "Utils.h" -#import "FileTransferDelegate.h" -#import "UIChatBubbleTextCell.h" -#import "DevicesListView.h" -#import "SVProgressHUD.h" -#import "EphemeralSettingsView.h" -#import "Utils.h" - -@implementation FileContext - -- (void)addObject:(UIImage *)image withQuality:(float)quality { - NSString *name = [NSString stringWithFormat:@"%li-%f.jpg", (long)image.hash, [NSDate timeIntervalSinceReferenceDate]]; - NSData *data = UIImageJPEGRepresentation(image, quality); - - [self addObject:data name:name type:@"image" image:image]; -} - -- (void)addObject:(NSData *)data name:(NSString *)name type:(NSString *)type image:(UIImage *)image { - [_previewsArray addObject:image]; - [_uuidsArray addObject:[NSUUID UUID]]; - [self addObject:data name:name type:type]; -} - -- (void)addObject:(NSData *)data name:(NSString *)name type:(NSString *)type { - [_namesArray addObject:name]; - [_typesArray addObject:type]; - [_datasArray addObject:data]; -} - -- (void)deleteContentWithUuid:(NSUUID *)uuid { - NSUInteger key = [_uuidsArray indexOfObject:uuid]; - [_previewsArray removeObjectAtIndex:key]; - [_uuidsArray removeObjectAtIndex:key]; - [_namesArray removeObjectAtIndex:key]; - [_typesArray removeObjectAtIndex:key]; - [_datasArray removeObjectAtIndex:key]; -} - -- (void)clear { - _previewsArray = [NSMutableArray array]; - _uuidsArray = [NSMutableArray array]; - _namesArray = [NSMutableArray array]; - _typesArray = [NSMutableArray array]; - _datasArray = [NSMutableArray array]; -} - -- (NSUInteger)count { - return [_datasArray count]; -} - -@end - - -@implementation PreviewItem -- (instancetype)initPreviewURL:(NSURL *)docURL - WithTitle:(NSString *)title { - self = [super init]; - if (self) { - _previewItemURL = [docURL copy]; - _previewItemTitle = [title copy]; - } - return self; -} -@end - -@implementation FileDataSource -- (instancetype)initWithFiles:(NSMutableArray*)files { - self = [super init]; - if (self) { - _files = files; - } - return self; -} -- (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller { - return _files.count; -} -- (id)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index { - NSURL *url = [_files objectAtIndex:index]; - return [[PreviewItem alloc] initPreviewURL:url WithTitle:[url lastPathComponent]]; -} -@end - -@implementation ChatConversationView - -#pragma mark - Lifecycle Functions - -- (id)init { - self = [super initWithNibName:NSStringFromClass(self.class) bundle:[NSBundle mainBundle]]; - if (self != nil) { - scrollOnGrowingEnabled = TRUE; - _chatRoom = NULL; - _chatRoomCbs = NULL; - securityDialog = NULL; - isOneToOne = TRUE; - isEncrypted = FALSE; - imageQualities = [[OrderedDictionary alloc] - initWithObjectsAndKeys:[NSNumber numberWithFloat:0.9], NSLocalizedString(@"Maximum", nil), - [NSNumber numberWithFloat:0.5], NSLocalizedString(@"Average", nil), - [NSNumber numberWithFloat:0.0], NSLocalizedString(@"Minimum", nil), nil]; - composingVisible = false; - [self initSharedPlayer]; - } - return self; -} - -- (void)dealloc { - [NSNotificationCenter.defaultCenter removeObserver:self]; -} - -#pragma mark - UICompositeViewDelegate Functions - -static UICompositeViewDescription *compositeDescription = nil; - -+ (UICompositeViewDescription *)compositeViewDescription { - if (compositeDescription == nil) { - compositeDescription = [[UICompositeViewDescription alloc] init:self.class - statusBar:StatusBarView.class - tabBar:IPAD ? TabBarView.class :nil - sideMenu:SideMenuView.class - fullscreen:false - isLeftFragment:NO - fragmentWith:ChatsListView.class]; - } - return compositeDescription; -} - -- (UICompositeViewDescription *)compositeViewDescription { - return self.class.compositeViewDescription; -} - - -+ (void)markAsRead:(LinphoneChatRoom *)chatRoom { - if (!chatRoom) - return; - - linphone_chat_room_mark_as_read(chatRoom); - if (IPAD) { - ChatsListView *listView = VIEW(ChatsListView); - [listView.tableController markCellAsRead:chatRoom]; - } - [PhoneMainView.instance updateApplicationBadgeNumber]; -} - -#pragma mark - ViewController Functions - -- (void)viewDidLoad { - [super viewDidLoad]; - _markAsRead = TRUE; - // if we use fragments, remove back button - if (IPAD) { - _backButton.hidden = YES; - _backButton.alpha = 0; - } - - refreshControl = [[UIRefreshControl alloc]init]; - [refreshControl addTarget:self action:@selector(refreshData) forControlEvents:UIControlEventValueChanged]; - _tableController.refreshControl = refreshControl; - - _messageField.minNumberOfLines = 1; - _messageField.maxNumberOfLines = IPAD ? 10 : 3; - _messageField.delegate = self; - _messageField.font = [UIFont systemFontOfSize:18.0f]; - _messageField.contentInset = UIEdgeInsetsMake(-15, 0, 0, 0); - // _messageField.internalTextView.scrollIndicatorInsets = UIEdgeInsetsMake(0, 0, 0, 10); - [_tableController setChatRoomDelegate:self]; - [_imagesCollectionView registerClass:[UIImageViewDeletable class] forCellWithReuseIdentifier:NSStringFromClass([UIImageViewDeletable class])]; - [_imagesCollectionView setDataSource:self]; - [_imagesCollectionView setDelegate:self]; - [_toggleSelectionButton setImage:[UIImage imageNamed:@"select_all_default.png"] forState:UIControlStateSelected]; - - _vrInnerView.layer.cornerRadius = 5.0f; - _vrInnerView.layer.masksToBounds = YES; - _vrWaveMaskPlayer.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"color_L"]]; // rgba(1,88,7,0.2); - _showVoiceRecorderView = false; - _toggleMenuButton.imageView.contentMode = UIViewContentModeScaleAspectFit; - _toggleRecord.imageView.contentMode = UIViewContentModeScaleAspectFit; -} - -- (void)refreshData { - [_tableController refreshData]; - [refreshControl endRefreshing]; - if (_tableController.totalNumberOfItems == 0) - return; - [_tableController loadData]; - [_tableController.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:_tableController.currentIndex inSection:0] - atScrollPosition:UITableViewScrollPositionTop - animated:false]; -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - if (!_chatRoom) - [self onLinphoneCoreReady:nil]; - - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(applicationDidEnterBackground) - name:UIApplicationDidEnterBackgroundNotification - object:nil]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(applicationWillEnterForeground) - name:UIApplicationWillEnterForegroundNotification - object:nil]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(keyboardWillShow:) - name:UIKeyboardWillShowNotification - object:nil]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(keyboardWillHide:) - name:UIKeyboardWillHideNotification - object:nil]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(onMessageChange:) - name:UITextViewTextDidChangeNotification - object:nil]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(callUpdateEvent:) - name:kLinphoneCallUpdate - object:nil]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(onLinphoneCoreReady:) - name:kLinphoneGlobalStateUpdate - object:nil]; - - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(endVoicePlayingIfDoingSO:) - name:kLinphoneVoiceMessagePlayerLostFocus - object:nil]; - - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(endVoicePlayingIfDoingSO:) - name:kLinphoneVoiceMessagePlayerEOF - object:nil]; - if ([_fileContext count] > 0) { - [UIView animateWithDuration:0 - delay:0 - options:UIViewAnimationOptionBeginFromCurrentState - animations:^{ - // resizing imagesView - CGRect imagesFrame = [_imagesView frame]; - imagesFrame.origin.y = [_messageView frame].origin.y - 120; - imagesFrame.size.height = 120; - [_imagesView setFrame:imagesFrame]; - // resizing chatTable - CGRect tableViewFrame = [_tableController.tableView frame]; - tableViewFrame.size.height -= 120; - [_tableController.tableView setFrame:tableViewFrame]; - [self updateFramesInclRecordingAndReplyView]; - } completion:nil]; - } - [self configureForRoom:self.editing]; - - // Resize the popup table depending on wether ephemeral messages are enabled or not. - CGRect popupFrame = _popupMenu.frame; - popupFrame.size.height = 44 * [_popupMenu numberOfRowsInSection:0]; - _popupMenu.frame = popupFrame; - - // Voice recording & Replies - _vrView.hidden = true; - _toggleRecord.enabled = linphone_core_get_calls_nb(LC) == 0; - _replyView.hidden = true; - _preservePendingActions = false; - - _toggleRecord.enabled = linphone_core_get_calls_nb(LC) == 0; - - [PhoneMainView.instance hideTabBar:!IPAD]; -} - -- (void)viewWillDisappear:(BOOL)animated { - - if (!_preservePendingActions) - [self cancelVoiceRecording]; - - if (!_preservePendingActions) - [self closePendingReply]; - - - - else if (_isVoiceRecording) - [self stopVoiceRecording]; - - [super viewWillDisappear:animated]; - - [self removeCallBacks]; - - [_messageField resignFirstResponder]; - - [self setComposingVisible:false withDelay:0]; // will hide the "user is composing.." message - - [self stopAllPlays]; - - [NSNotificationCenter.defaultCenter removeObserver:self]; - PhoneMainView.instance.currentRoom = NULL; - [[UIApplication sharedApplication] setIdleTimerDisabled:false]; - _chatRoom = NULL; - _tableController.chatRoom = nil; -} - -- (void)removeCallBacks { - if (_chatRoom && _chatRoomCbs) { - linphone_chat_room_remove_callbacks(_chatRoom, _chatRoomCbs); - _chatRoomCbs = NULL; - } -} - -- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { - [super didRotateFromInterfaceOrientation:fromInterfaceOrientation]; - if ([[UIApplication sharedApplication] applicationState] == UIApplicationStateBackground) { - [self refreshImageDrawer]; - return; - } - composingVisible = !composingVisible; - - // force offset recomputing - [_messageField refreshHeight]; - LinphoneAddress *peerAddr = linphone_core_create_address([LinphoneManager getLc], _peerAddress); - LinphoneAddress *localAddr = linphone_core_create_address([LinphoneManager getLc], _localAddress); - if (peerAddr && localAddr) { - _chatRoom = linphone_core_search_chat_room([LinphoneManager getLc], NULL, localAddr, peerAddr, NULL); - if (_chatRoom) { - isOneToOne = linphone_chat_room_get_capabilities(_chatRoom) & LinphoneChatRoomCapabilitiesOneToOne; - isEncrypted = linphone_chat_room_get_capabilities(_chatRoom) & LinphoneChatRoomCapabilitiesEncrypted; - [self setComposingVisible:!composingVisible withDelay:0]; - [self configureForRoom:true]; - [_tableController scrollToBottom:true]; - } - } - if (peerAddr) linphone_address_unref(peerAddr); - if (localAddr) linphone_address_unref(localAddr); - - _backButton.hidden = _tableController.isEditing; - [self refreshImageDrawer]; - [self stopAllPlays]; - [self keyboardWillHide:nil]; -} - -#pragma mark - - -- (void)applicationDidEnterBackground{ - if (!_preservePendingActions) - [self cancelVoiceRecording]; - else if (_isVoiceRecording) - [self stopVoiceRecording]; - if (!_preservePendingActions) - [self closePendingReply]; - [self stopAllPlays]; - _chatRoom = nil; - [_messageField resignFirstResponder]; -} - -- (void)applicationWillEnterForeground{ - if (_chatRoom == nil) { - if (linphone_core_get_calls_nb(LC) == 0) - [SVProgressHUD show]; - else - [self onLinphoneCoreReady:nil]; - } -} - -- (void)configureForRoom:(BOOL)editing { - if (!_chatRoom) { - _chatView.hidden = YES; - return; - } - - if (!_chatRoomCbs) { - _chatRoomCbs = linphone_factory_create_chat_room_cbs(linphone_factory_get()); - linphone_chat_room_cbs_set_state_changed(_chatRoomCbs, on_chat_room_state_changed); - linphone_chat_room_cbs_set_subject_changed(_chatRoomCbs, on_chat_room_subject_changed); - linphone_chat_room_cbs_set_participant_added(_chatRoomCbs, on_chat_room_participant_added); - linphone_chat_room_cbs_set_participant_removed(_chatRoomCbs, on_chat_room_participant_removed); - linphone_chat_room_cbs_set_participant_admin_status_changed(_chatRoomCbs, on_chat_room_participant_admin_status_changed); - linphone_chat_room_cbs_set_chat_message_received(_chatRoomCbs, on_chat_room_chat_message_received); - linphone_chat_room_cbs_set_chat_message_sending(_chatRoomCbs, on_chat_room_chat_message_sending); - linphone_chat_room_cbs_set_is_composing_received(_chatRoomCbs, on_chat_room_is_composing_received); - linphone_chat_room_cbs_set_conference_joined(_chatRoomCbs, on_chat_room_conference_joined); - linphone_chat_room_cbs_set_conference_left(_chatRoomCbs, on_chat_room_conference_left); - linphone_chat_room_cbs_set_security_event(_chatRoomCbs, on_chat_room_conference_alert); - linphone_chat_room_cbs_set_user_data(_chatRoomCbs, (__bridge void*)self); - linphone_chat_room_add_callbacks(_chatRoom, _chatRoomCbs); - } - - [self updateSuperposedButtons]; - - if (_tableController.isEditing) - [_tableController setEditing:editing]; - - BOOL fileSharingEnabled = linphone_core_get_file_transfer_server(LC) != NULL; - [_pictureButton setEnabled:fileSharingEnabled]; - - [self updateSuperposedButtons]; - _toggleRecord.enabled = linphone_core_get_calls_nb(LC) == 0; - - PhoneMainView.instance.currentRoom = _chatRoom; - if (isOneToOne) { - bctbx_list_t *participants = linphone_chat_room_get_participants(_chatRoom); - LinphoneParticipant *firstParticipant = participants ? (LinphoneParticipant *)participants->data : NULL; - const LinphoneAddress *addr = firstParticipant ? linphone_participant_get_address(firstParticipant) : linphone_chat_room_get_peer_address(_chatRoom); - [ContactDisplay setDisplayNameLabel:_addressLabel forAddress:addr]; - bctbx_list_free(participants); - } else - _addressLabel.text = [NSString stringWithUTF8String:linphone_chat_room_get_subject(_chatRoom) ?: LINPHONE_DUMMY_SUBJECT]; - - [self updateParticipantLabel]; - [self configureMessageField]; - [_tableController setChatRoom:_chatRoom]; - - _chatView.hidden = NO; - UIImage *image = [FastAddressBook imageForSecurityLevel:linphone_chat_room_get_security_level(_chatRoom)]; - [_encryptedButton setImage:image forState:UIControlStateNormal]; - _encryptedButton.hidden = image ? FALSE : TRUE; - [self update]; - [self shareFile]; - - [self setupPopupMenu]; - _ephemeralndicator.hidden = !linphone_chat_room_ephemeral_enabled(_chatRoom); - [self handlePendingTransferIfAny]; - -} - -+(BOOL) isBasicChatRoom:(LinphoneChatRoom *)room { - if (!room) - return true; - LinphoneChatRoomCapabilitiesMask capabilities = linphone_chat_room_get_capabilities(room); - return capabilities & LinphoneChatRoomCapabilitiesBasic; -} - --(BOOL) isEncryptedChatRoom:(LinphoneChatRoom *)room { - if (!room) - return true; - LinphoneChatRoomCapabilitiesMask capabilities = linphone_chat_room_get_capabilities(room); - return capabilities & LinphoneChatRoomCapabilitiesEncrypted; -} - - - -- (void)configureMessageField { - if (isOneToOne) { - _messageField.editable = TRUE; - _pictureButton.enabled = TRUE; - _messageView.userInteractionEnabled = TRUE; - if (linphone_chat_room_is_read_only(_chatRoom)) { - linphone_chat_room_add_participant(_chatRoom, linphone_participant_get_address(linphone_chat_room_get_me(_chatRoom))); - } - } else { - _messageField.editable = !linphone_chat_room_is_read_only(_chatRoom); - _pictureButton.enabled = !linphone_chat_room_is_read_only(_chatRoom); - _messageView.userInteractionEnabled = !linphone_chat_room_is_read_only(_chatRoom); - } -} - --(NSData *) nsDataRead { - NSString* groupName = [NSString stringWithFormat:@"group.%@.linphoneExtension",[[NSBundle mainBundle] bundleIdentifier]]; - NSString *path =[[[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:groupName] path]; - NSString *fullCacheFilePathPath = [NSString stringWithFormat:@"%@/%@",path,@"nsData"]; - return[NSData dataWithContentsOfFile:fullCacheFilePathPath]; -} - - -- (void)shareFile { - NSString* groupName = [NSString stringWithFormat:@"group.%@.linphoneExtension",[[NSBundle mainBundle] bundleIdentifier]]; - - - NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:groupName]; - NSDictionary *dict = [defaults valueForKey:@"photoData"]; - NSDictionary *dictFile = [defaults valueForKey:@"icloudData"]; - NSDictionary *dictUrl = [defaults valueForKey:@"url"]; - if (dict) { - //file shared from photo lib - NSString *fileName = dict[@"url"]; - [_messageField setText:dict[@"message"]]; - [self confirmShare:[self nsDataRead] url:nil fileName:fileName]; - [defaults removeObjectForKey:@"photoData"]; - } else if (dictFile) { - NSString *fileName = dictFile[@"url"]; - [_messageField setText:dictFile[@"message"]]; - [self confirmShare:[self nsDataRead] url:nil fileName:fileName]; - [defaults removeObjectForKey:@"icloudData"]; - } else if (dictUrl) { - NSString *url = dictUrl[@"url"]; - [_messageField setText:dictUrl[@"message"]]; - [self confirmShare:nil url:url fileName:nil]; - [defaults removeObjectForKey:@"url"]; - } -} - -// reload the chatroom after the core starts -- (void)onLinphoneCoreReady:(NSNotification *)notif { - if (linphone_core_get_global_state(LC) == LinphoneGlobalOn) { - LinphoneAddress *peerAddr = linphone_core_create_address([LinphoneManager getLc], _peerAddress); - LinphoneAddress *localAddr = linphone_core_create_address([LinphoneManager getLc], _localAddress); - if (peerAddr && localAddr) { - _chatRoom = linphone_core_search_chat_room([LinphoneManager getLc], NULL, localAddr, peerAddr, NULL); - if (_chatRoom) { - isOneToOne = linphone_chat_room_get_capabilities(_chatRoom) & LinphoneChatRoomCapabilitiesOneToOne; - isEncrypted = linphone_chat_room_get_capabilities(_chatRoom) & LinphoneChatRoomCapabilitiesEncrypted; - [self configureForRoom:self.editing]; - if (_chatRoom && _markAsRead) { - if (IPAD) { - [VIEW(ChatsListView).tableController loadData]; - } - [ChatConversationView markAsRead:_chatRoom]; - } - _markAsRead = TRUE; - } - } - [SVProgressHUD dismiss]; - } -} - -- (void)callUpdateEvent:(NSNotification *)notif { - [self updateSuperposedButtons]; - _toggleRecord.enabled = linphone_core_get_calls_nb(LC) == 0; - [_tableController.tableView reloadData]; - -} - -- (void)update { - if (_chatRoom == NULL) { - LOGW(@"Cannot update chat room header: null contact"); - return; - } - - const LinphoneAddress *addr = linphone_chat_room_get_peer_address(_chatRoom); - if (addr == NULL) { - [PhoneMainView.instance popCurrentView]; - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Invalid SIP address", nil) - message:NSLocalizedString(@"Either configure a SIP proxy server from settings prior to send a " - @"message or use a valid SIP address (I.E sip:john@example.net)", - nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Continue", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [self presentViewController:errView animated:YES completion:nil]; - return; - } -} - -- (BOOL)sendMessage:(NSString *)message withExterlBodyUrl:(NSURL *)externalUrl rootMessage:(LinphoneChatMessage *)rootMessage { - if (_chatRoom == NULL) { - LOGW(@"Cannot send message: No chatroom"); - return FALSE; - } - - LinphoneChatMessage *msg = rootMessage; - BOOL basic = [ChatConversationView isBasicChatRoom:_chatRoom]; - const LinphoneAccountParams *params = linphone_account_get_params(linphone_core_get_default_account(LC)); - BOOL cpimEnabled = linphone_account_params_cpim_in_basic_chat_room_enabled(params); - if ((!basic || cpimEnabled) && message && message.length > 0) { - linphone_chat_message_add_utf8_text_content(msg, message.UTF8String); - } - - if (externalUrl) { - linphone_chat_message_set_external_body_url(msg, [[externalUrl absoluteString] UTF8String]); - } - - bctbx_list_t const *contentList = linphone_chat_message_get_contents(msg); - if (bctbx_list_size(contentList) > 0) { - linphone_chat_message_send(msg); - } - - if (basic && !cpimEnabled && message && message.length > 0) { - linphone_chat_message_send(linphone_chat_room_create_message_from_utf8(_chatRoom, message.UTF8String)); - } - - return TRUE; -} - -- (void)saveAndSend:(UIImage *)image assetId:(NSString *)phAssetId withQuality:(float)quality{ - [_fileContext addObject:image withQuality:quality]; - [_qualitySettingsArray addObject:@(quality)]; - [self refreshImageDrawer]; -} - -- (void)chooseImageQuality:(UIImage *)image assetId:(NSString *)phAssetId { - [SVProgressHUD show]; - NSMutableDictionary *optionsBlock = [[NSMutableDictionary alloc] init]; - NSMutableDictionary *optionsText = [[NSMutableDictionary alloc] init]; - DTActionSheet *sheet = [[DTActionSheet alloc] initWithTitle:NSLocalizedString(@"Choose the image size", nil)]; - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - for (NSString *key in [imageQualities allKeys]) { - NSNumber *quality = [imageQualities objectForKey:key]; - NSData *data = UIImageJPEGRepresentation(image, [quality floatValue]); - NSNumber *size = [NSNumber numberWithInteger:[data length]]; - NSString *text = [NSString stringWithFormat:@"%@ (%@)", key, [size toHumanReadableSize]]; - [optionsBlock setObject:^() { - [self saveAndSend:image assetId:phAssetId withQuality:[quality floatValue]]; - } forKey:key]; - [optionsText setObject:text forKey:key]; - } - dispatch_async(dispatch_get_main_queue(), ^{ - for (NSString *key in [imageQualities allKeys]) { - [sheet addButtonWithTitle:[optionsText objectForKey:key] block:[optionsBlock objectForKey:key]]; - } - [sheet addCancelButtonWithTitle:NSLocalizedString(@"Cancel", nil) block:nil]; - [SVProgressHUD dismiss]; - [sheet showInView:PhoneMainView.instance.view]; - }); - }); -} - -- (void)confirmShare:(NSData *)data url:(NSString *)url fileName:(NSString *)fileName { - DTActionSheet *sheet = [[DTActionSheet alloc] initWithTitle:NSLocalizedString(@"Select or create a conversation to share the file(s)", nil)]; - dispatch_async(dispatch_get_main_queue(), ^{ - [sheet addButtonWithTitle:NSLocalizedString(@"Send to this conversation", nil) - block:^() { - if (![[self.messageField text] isEqualToString:@""]) { - [self sendMessageInMessageField:linphone_chat_room_create_empty_message(_chatRoom)]; - } - if (url) - [self sendMessage:url withExterlBodyUrl:nil rootMessage:linphone_chat_room_create_empty_message(_chatRoom)]; - else - [self startFileUpload:data withName:fileName rootMessage:linphone_chat_room_create_empty_message(_chatRoom)]; - }]; - - [sheet addCancelButtonWithTitle:NSLocalizedString(@"Cancel", nil) block:nil]; - [sheet showInView:PhoneMainView.instance.view]; - }); -} - -- (void)setComposingVisible:(BOOL)visible withDelay:(CGFloat)delay { - Boolean shouldAnimate = composingVisible != visible; - CGRect keyboardFrame = [_messageView frame]; - CGRect newComposingFrame = [_composeIndicatorView frame]; - CGRect newTableFrame = [_tableController.tableView frame]; - - if (visible) { - // pull up the composing frame and shrink the table view - newTableFrame.size.height -= newComposingFrame.size.height; - newComposingFrame.origin.y = keyboardFrame.origin.y - newComposingFrame.size.height; - const bctbx_list_t *addresses = linphone_chat_room_get_composing_addresses(_chatRoom); - NSString *composingAddresses = @""; - if (bctbx_list_size(addresses) == 1) { - composingAddresses = [FastAddressBook displayNameForAddress:(LinphoneAddress *)addresses->data]; - _composeLabel.text = [NSString stringWithFormat:NSLocalizedString(@"%@ is writing...", nil), composingAddresses]; - } else { - while (addresses) { - if (![composingAddresses isEqualToString:@""]) - composingAddresses = [composingAddresses stringByAppendingString:@", "]; - composingAddresses = [composingAddresses stringByAppendingString:[FastAddressBook displayNameForAddress:(LinphoneAddress *)addresses->data]]; - addresses = addresses->next; - } - _composeLabel.text = [NSString stringWithFormat:NSLocalizedString(@"%@ are writing...", nil), composingAddresses]; - } - } else { - // pull down the composing frame and widen the tableview - newTableFrame.size.height += newComposingFrame.size.height; - newComposingFrame.origin.y = keyboardFrame.origin.y; - } - composingVisible = visible; - if (!shouldAnimate) - return; - - [UIView animateWithDuration:delay - animations:^{ - _tableController.tableView.frame = newTableFrame; - _composeIndicatorView.frame = newComposingFrame; - } - completion:^(BOOL finished) { - _composeIndicatorView.hidden = !visible; - }]; - if (visible) { - if (_tableController.tableView.contentOffset.y + newComposingFrame.size.height >= (_tableController.tableView.contentSize.height - _tableController.tableView.frame.size.height - 1)) { - [_tableController scrollToBottom:TRUE]; - } - } -} - -- (BOOL) groupCallAvailable { - if (isOneToOne || !_backToCallButton.hidden || _tableController.tableView.isEditing) - return false; - LinphoneAccount *account = linphone_core_get_default_account(LC); - if (!account) - return false; - const LinphoneAccountParams *params = linphone_account_get_params(account); - if (!params) - return false; - return linphone_account_params_get_audio_video_conference_factory_address(params) != nil || linphone_account_params_get_conference_factory_uri(params) != nil; - -} - -- (void)updateSuperposedButtons { - [_backToCallButton update]; - _callButton.hidden = !_backToCallButton.hidden || _tableController.tableView.isEditing; - _toggleMenuButton.hidden = _tableController.isEditing; - - // Group call : - if (self.groupCallAvailable ) { - [_callButton setImage: [LinphoneUtils resizeImage:[UIImage imageNamed:@"voip_conference_new"] newSize:CGSizeMake(50, 50)] forState:UIControlStateNormal]; - _callButton.hidden = false; - } else { - [_callButton setImage:[UIImage imageNamed:@"call_alt_start_default"] forState:UIControlStateNormal]; - } - -} - -- (void)updateParticipantLabel { - CGRect frame = _addressLabel.frame; - if (isOneToOne) { - _particpantsLabel.hidden = TRUE; - frame.origin.y = (_topBar.frame.size.height - _addressLabel.frame.size.height)/2; - } else { - _particpantsLabel.hidden = FALSE; - bctbx_list_t *participants = linphone_chat_room_get_participants(_chatRoom); - _particpantsLabel.text = @""; - while (participants) { - LinphoneParticipant *participant = (LinphoneParticipant *)participants->data; - if (![_particpantsLabel.text isEqualToString:@""]) - _particpantsLabel.text = [_particpantsLabel.text stringByAppendingString:@", "]; - - _particpantsLabel.text = [_particpantsLabel.text stringByAppendingString: - [FastAddressBook displayNameForAddress:linphone_participant_get_address(participant)]]; - participants = participants->next; - } - frame.origin.y = 0; - } - _addressLabel.frame = frame; -} - -- (void)sendMessageInMessageField:(LinphoneChatMessage *)rootMessage { - if ([self sendMessage:[_messageField text] withExterlBodyUrl:nil rootMessage:rootMessage]) { - scrollOnGrowingEnabled = FALSE; - [_messageField setText:@""]; - scrollOnGrowingEnabled = TRUE; - [self onMessageChange:nil]; - } -} - -#pragma mark - UITextFieldDelegate Functions - -- (BOOL)growingTextViewShouldBeginEditing:(HPGrowingTextView *)growingTextView { - if (_tableController.isEditing) { - [_tableController setEditing:NO]; - } - [_listTapGestureRecognizer setEnabled:TRUE]; - return TRUE; -} - -- (BOOL)growingTextViewShouldEndEditing:(HPGrowingTextView *)growingTextView { - [_listTapGestureRecognizer setEnabled:FALSE]; - return TRUE; -} - -- (void)growingTextChanged:(HPGrowingTextView *)growingTextView text:(NSString *)text { - if ([text length] > 0 && _chatRoom) - linphone_chat_room_compose(_chatRoom); -} - -- (void)growingTextView:(HPGrowingTextView *)growingTextView willChangeHeight:(float)height { - int diff = height - growingTextView.bounds.size.height; - - if (diff != 0) { - CGRect messageRect = [_messageView frame]; - messageRect.origin.y -= diff; - messageRect.size.height += diff; - [_messageView setFrame:messageRect]; - - if ([_fileContext count] > 0) { - CGRect _imagesRect = [_imagesView frame]; - _imagesRect.origin.y -= diff; - [_imagesView setFrame:_imagesRect]; - } - - // Always stay at bottom - if (scrollOnGrowingEnabled) { - CGRect tableFrame = [_tableController.view frame]; - CGPoint contentPt = [_tableController.tableView contentOffset]; - contentPt.y += diff; - if (contentPt.y + tableFrame.size.height > _tableController.tableView.contentSize.height) - contentPt.y += diff; - [_tableController.tableView setContentOffset:contentPt animated:FALSE]; - } - - CGRect tableRect = [_tableController.view frame]; - tableRect.size.height -= diff; - [_tableController.view setFrame:tableRect]; - [self updateFramesInclRecordingAndReplyView]; - - // if we're showing the compose message, update it position - if (![_composeLabel isHidden]) { - CGRect frame = [_composeIndicatorView frame]; - frame.origin.y -= diff; - [_composeIndicatorView setFrame:frame]; - } - } -} - -#pragma mark - Action Functions - -- (IBAction)onBackClick:(id)event { - NSString *previousViewName = [PhoneMainView.instance getPreviousViewName]; - _sharingMedia = nil; - if ([previousViewName isEqualToString:@"ContactDetailsView"]) { - ContactDetailsView *view = VIEW(ContactDetailsView); - [PhoneMainView.instance popToView:view.compositeViewDescription]; - } else { - ChatsListView *view = VIEW(ChatsListView); - [PhoneMainView.instance popToView:view.compositeViewDescription]; - } -} - -- (IBAction)onEditClick:(id)event { - [_tableController setEditing:![_tableController isEditing] animated:TRUE]; - [_messageField resignFirstResponder]; - [self updateSuperposedButtons]; -} - -- (IBAction)onSendClick:(id)event { - - if (!linphone_core_is_network_reachable(LC)) { - //[PhoneMainView.instance presentViewController:[LinphoneUtils networkErrorView:@"send a message"] animated:YES completion:nil]; - //return; - } - - LinphoneChatMessage *rootMessage = _replyBubble ? linphone_chat_room_create_reply_message(_chatRoom, _replyBubble.message) : linphone_chat_room_create_empty_message(_chatRoom); - - if (_replyBubble) { - [self closePendingReply]; - } - - if (_isPendingVoiceRecord && _voiceRecorder && linphone_recorder_get_file(_voiceRecorder)) { - LinphoneContent * voiceContent = linphone_recorder_create_content(_voiceRecorder); - _isPendingVoiceRecord = false; - [self cancelVoiceRecording]; - [self stopVoiceRecordPlayer]; - linphone_chat_message_add_content(rootMessage, voiceContent); - } - - if ([_fileContext count] > 0) { - if (linphone_chat_room_get_capabilities(_chatRoom) & LinphoneChatRoomCapabilitiesConference) { - [self startMultiFilesUpload:rootMessage]; - } else { - int i = 0; - for (i = 0; i < [_fileContext count]-1; ++i) { - [self startUploadData:[_fileContext.datasArray objectAtIndex:i] withType:[_fileContext.typesArray objectAtIndex:i] withName:[_fileContext.namesArray objectAtIndex:i] andMessage:NULL rootMessage:NULL]; - } - if (isOneToOne) { - [self startUploadData:[_fileContext.datasArray objectAtIndex:i] withType:[_fileContext.typesArray objectAtIndex:i] withName:[_fileContext.namesArray objectAtIndex:i] andMessage:NULL rootMessage:NULL]; - if (![[self.messageField text] isEqualToString:@""]) { - [self sendMessage:[_messageField text] withExterlBodyUrl:nil rootMessage:rootMessage]; - } - } else { - [self startUploadData:[_fileContext.datasArray objectAtIndex:i] withType:[_fileContext.typesArray objectAtIndex:i] withName:[_fileContext.namesArray objectAtIndex:i] andMessage:[self.messageField text] rootMessage:rootMessage]; - } - } - - [self clearMessageView]; - return; - } - [self sendMessageInMessageField:rootMessage]; -} - -- (IBAction)onListTap:(id)sender { - [_messageField resignFirstResponder]; -} - -- (IBAction)onDeleteClick:(id)sender { - LOGI(@"onDeleteClick"); - NSString *msg = [NSString stringWithFormat:NSLocalizedString(@"Do you want to delete the selected messages?", nil)]; - [UIConfirmationDialog ShowWithMessage:msg - cancelMessage:nil - confirmMessage:nil - onCancelClick:^() { - [self onEditionChangeClick:nil]; - } - onConfirmationClick:^() { - [_tableController removeSelectionUsing:nil]; - _tableController.editButton.hidden = true; - [_tableController loadData]; - [self onEditionChangeClick:nil]; - }]; -} - -- (IBAction)onEditionChangeClick:(id)sender { - _backButton.hidden = _tableController.isEditing; - [self updateSuperposedButtons]; -} - -- (IBAction)onEncryptedDevicesClick:(id)sender { - NSString *message = NSLocalizedString(@"Instant messages are end-to-end encrypted in secured conversations. It is possible to upgrade the security level of a conversation by authenticating participants. To do so, call the contact and follow the authentification process.",nil); - BOOL notAskAgain = [LinphoneManager.instance lpConfigBoolForKey:@"confirmation_dialog_before_sas_call_not_ask_again"]; - - if (notAskAgain) { - [self goToDeviceListView]; - } else { - securityDialog = [UIConfirmationDialog ShowWithMessage:message cancelMessage:NSLocalizedString(@"CANCEL", nil) confirmMessage:NSLocalizedString(@"OK", nil) onCancelClick:^() { - } onConfirmationClick:^() { - [self goToDeviceListView]; - }]; - [_messageField resignFirstResponder]; - securityDialog.authView.hidden = FALSE; - [securityDialog setSpecialColor]; - } -} - -- (IBAction)onCallClick:(id)sender { - bctbx_list_t *participants = linphone_chat_room_get_participants(_chatRoom); - LinphoneParticipant *firstParticipant = participants ? (LinphoneParticipant *)participants->data : NULL; - const LinphoneAddress *addr = firstParticipant ? linphone_participant_get_address(firstParticipant) : linphone_chat_room_get_peer_address(_chatRoom); - if (self.groupCallAvailable) { - UIConfirmationDialog *d = [UIConfirmationDialog ShowWithMessage:VoipTexts.conference_start_group_call_dialog_message - cancelMessage:nil - confirmMessage:VoipTexts.conference_start_group_call_dialog_ok_button - onCancelClick:^() {} - onConfirmationClick:^() { - [ConferenceViewModelBridge startGroupCallWithCChatRoom:_chatRoom]; - }]; - d.groupCallImage.hidden = NO; - [d.groupCallImage setImageNamed:@"voip_conference_new" tintColor:UIColor.whiteColor]; - [d setSpecialColor]; - [d setWhiteCancel]; - } else - [LinphoneManager.instance call:addr]; -} - -- (IBAction)onListSwipe:(id)sender { - [self onBackClick:sender]; -} - -- (IBAction)onMessageChange:(id)sender { - [self setSendButtonState]; -} - -- (IBAction)onPictureClick:(id)event { - _preservePendingActions = true; - [_messageField resignFirstResponder]; - [ImagePickerView SelectImageFromDevice:self atPosition:_pictureButton inView:self.view withDocumentMenuDelegate:self]; - -} - -- (void)displayGroupInfo { - NSMutableArray *contactsArray = [[NSMutableArray alloc] init]; - NSMutableArray *admins = [[NSMutableArray alloc] init]; - bctbx_list_t *participants = linphone_chat_room_get_participants(_chatRoom); - while (participants) { - LinphoneParticipant *participant = (LinphoneParticipant *)participants->data; - char *curi = linphone_address_as_string_uri_only(linphone_participant_get_address(participant)); - NSString *uri = [NSString stringWithUTF8String:curi]; - [contactsArray addObject:uri]; - - if(linphone_participant_is_admin(participant)) - [admins addObject:uri]; - participants = participants->next; - ms_free(curi); - } - ChatConversationInfoView *view = VIEW(ChatConversationInfoView); - view.create = FALSE; - view.contacts = [contactsArray mutableCopy]; - view.oldContacts = [contactsArray mutableCopy]; - view.admins = [admins mutableCopy]; - view.oldAdmins = [admins mutableCopy]; - view.oldSubject = [NSString stringWithUTF8String:linphone_chat_room_get_subject(_chatRoom) ?: LINPHONE_DUMMY_SUBJECT]; - view.room = _chatRoom; - view.peerAddress = _peerAddress; - view.localAddress = _localAddress; - [PhoneMainView.instance changeCurrentView:view.compositeViewDescription]; -} - -- (IBAction)onInfoClick:(id)sender { - [self displayGroupInfo]; -} - -#pragma mark ChatRoomDelegate - -- (BOOL)startMultiFilesUpload:(LinphoneChatMessage *)rootMessage { - FileTransferDelegate *fileTransfer = [[FileTransferDelegate alloc] init]; - [fileTransfer setText:[self.messageField text]]; - [fileTransfer uploadFileContent:_fileContext forChatRoom:_chatRoom rootMessage:rootMessage]; - [_tableController scrollToBottom:true]; - return TRUE; -} - -- (BOOL)startUploadData:(NSData *)data withType:(NSString*)type withName:(NSString *)name andMessage:(NSString *)message rootMessage:(LinphoneChatMessage *)rootMessage { - FileTransferDelegate *fileTransfer = [[FileTransferDelegate alloc] init]; - if (message) - [fileTransfer setText:message]; - NSString *key = @"localfile"; - if ([type isEqualToString:@"video"]) { - key = @"localvideo"; - } else if ([type isEqualToString:@"image"]) { - key = @"localimage"; - } - [fileTransfer uploadData:data forChatRoom:_chatRoom type:type subtype:type name:name key:key rootMessage:rootMessage]; - [_tableController scrollToBottom:true]; - return TRUE; -} - -- (BOOL)startFileUpload:(NSData *)data withName:(NSString *)name rootMessage:(LinphoneChatMessage *)rootMessage { - FileTransferDelegate *fileTransfer = [[FileTransferDelegate alloc] init]; - [fileTransfer uploadFile:data forChatRoom:_chatRoom withName:name rootMessage:rootMessage]; - [_tableController scrollToBottom:true]; - return TRUE; -} - -- (BOOL)resendMultiFiles:(FileContext *)newFileContext message:(NSString *)message rootMessage:(LinphoneChatMessage *)rootMessage { - FileTransferDelegate *fileTransfer = [[FileTransferDelegate alloc] init]; - if (message) - [fileTransfer setText:message]; - [fileTransfer uploadFileContent:newFileContext forChatRoom:_chatRoom rootMessage:rootMessage]; - [_tableController scrollToBottom:true]; - return TRUE; -} - -- (BOOL)resendFile: (NSData *)data withName:(NSString *)name type:(NSString *)type key:(NSString *)key message:(NSString *)message rootMessage:(LinphoneChatMessage *)rootMessage{ - FileTransferDelegate *fileTransfer = [[FileTransferDelegate alloc] init]; - if (message) - [fileTransfer setText:message]; - [fileTransfer uploadData:data forChatRoom:_chatRoom type:type subtype:type name:name key:key rootMessage:rootMessage]; - [_tableController scrollToBottom:true]; - return TRUE; -} - -- (void)resendChat:(NSString *)message withExternalUrl:(NSString *)url rootMessage:(LinphoneChatMessage *)rootMessage { - [self sendMessage:message withExterlBodyUrl:[NSURL URLWithString:url] rootMessage:rootMessage]; -} - -#pragma mark ImagePickerDelegate - -- (void)imagePickerDelegateImage:(UIImage *)image info:(NSString *)phAssetId { - // When getting image from the camera, it may be 90° rotated due to orientation - // (image.imageOrientation = UIImageOrientationRight). Just rotate it to be face up. - if (image.imageOrientation != UIImageOrientationUp) { - UIGraphicsBeginImageContextWithOptions(image.size, false, image.scale); - [image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)]; - image = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - } - - // Dismiss popover on iPad - if (IPAD) { - [VIEW(ImagePickerView).popoverController dismissPopoverAnimated:TRUE]; - } - [self chooseImageQuality:image assetId:phAssetId]; -} - - -- (void)imagePickerDelegateVideo:(NSURL*)url info:(NSDictionary *)info { - NSURL * mediaURL = [info objectForKey:UIImagePickerControllerMediaURL]; - [SVProgressHUD show]; - AVAsset *video = [AVAsset assetWithURL:mediaURL]; - AVAssetExportSession *exportSession = [AVAssetExportSession exportSessionWithAsset:video presetName:AVAssetExportPresetMediumQuality]; - exportSession.shouldOptimizeForNetworkUse = YES; - exportSession.outputFileType = AVFileTypeMPEG4; - - NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); - NSString *documentsDirectory = [paths objectAtIndex:0]; - - NSString *localname = [[[mediaURL absoluteString] md5] stringByAppendingString:@".mp4"]; - NSURL *compressedVideoUrl=[[NSURL fileURLWithPath:documentsDirectory] URLByAppendingPathComponent:localname]; - exportSession.outputURL = compressedVideoUrl; - [exportSession exportAsynchronouslyWithCompletionHandler:^{ - dispatch_async(dispatch_get_main_queue(), ^{ - [SVProgressHUD dismiss]; - UIImage* image = [UIChatBubbleTextCell getImageFromVideoUrl:compressedVideoUrl]; - [_fileContext addObject:[NSData dataWithContentsOfURL:compressedVideoUrl] name:localname type:@"video" image:image]; - [self refreshImageDrawer]; - }); - }]; - - BOOL saveToGallery = [ConfigManager.instance lpConfigBoolForKeyWithKey:@"auto_write_to_gallery_preference"]; - - if (![info valueForKey:UIImagePickerControllerReferenceURL] && saveToGallery) { - [self writeVideoToGallery:mediaURL]; - } -} - -+ (void)writeMediaToGallery:(NSString *)name fileType:(NSString *)fileType { - if (![LinphoneManager.instance lpConfigBoolForKey:@"vfs_enabled_mode"]) { - NSString *filePath = [LinphoneManager validFilePath:name]; - NSFileManager *fileManager = [NSFileManager defaultManager]; - if ([fileManager fileExistsAtPath:filePath]) { - NSData* data = [NSData dataWithContentsOfFile:filePath]; - - // define a block , not called immediately. To avoid crash when saving photo before PHAuthorizationStatusNotDetermined. - void (^block)(void)= ^ { - if ([fileType isEqualToString:@"image"] ) { - // we're finished, save the image and update the message - UIImage *image = [UIImage imageWithData:data]; - if (!image) { - ChatConversationView *view = VIEW(ChatConversationView); - [view showFileDownloadError]; - return; - } - __block PHObjectPlaceholder *placeHolder; - [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{ - PHAssetCreationRequest *request = [PHAssetCreationRequest creationRequestForAssetFromImage:image]; - placeHolder = [request placeholderForCreatedAsset]; - } completionHandler:^(BOOL success, NSError *error) { - dispatch_async(dispatch_get_main_queue(), ^{ - if (error) { - LOGE(@"Cannot save image data downloaded [%@]", [error localizedDescription]); - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Transfer error", nil) - message:NSLocalizedString(@"Cannot write image to photo library",nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [PhoneMainView.instance presentViewController:errView animated:YES completion:nil]; - } else { - LOGI(@"Image saved to [%@]", [placeHolder localIdentifier]); - } - }); - }]; - } else if([fileType isEqualToString:@"video"]) { - __block PHObjectPlaceholder *placeHolder; - [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{ - PHAssetCreationRequest *request = [PHAssetCreationRequest creationRequestForAssetFromVideoAtFileURL:[NSURL fileURLWithPath:filePath]]; - placeHolder = [request placeholderForCreatedAsset]; - } completionHandler:^(BOOL success, NSError * _Nullable error) { - dispatch_async(dispatch_get_main_queue(), ^{ - if (error) { - LOGE(@"Cannot save video data downloaded [%@]", [error localizedDescription]); - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Transfer error", nil) - message:NSLocalizedString(@"Cannot write video to photo library", nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [PhoneMainView.instance presentViewController:errView animated:YES completion:nil]; - } else { - LOGI(@"video saved to [%@]", [placeHolder localIdentifier]); - } - }); - }]; - } - }; - - // When you save an image or video to a photo library, make sure that it is allowed. Otherwise, there will be a backup error. - if ([PHPhotoLibrary authorizationStatus] == PHAuthorizationStatusAuthorized) { - block(); - } else { - [PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status) { - dispatch_async(dispatch_get_main_queue(), ^{ - if ([PHPhotoLibrary authorizationStatus] == PHAuthorizationStatusAuthorized) { - block(); - } else { - [[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Photo's permission", nil) message:NSLocalizedString(@"Photo not authorized", nil) delegate:nil cancelButtonTitle:nil otherButtonTitles:@"Continue", nil] show]; - } - }); - }]; - } - } - } -} - --(void) writeVideoToGallery:(NSURL *)url { - - NSString *localIdentifier; - PHFetchResult *assetCollections = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAlbumRegular options:nil]; - for (PHAssetCollection *assetCollection in assetCollections) { - if([[assetCollection localizedTitle] isEqualToString:[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"]] ){ - localIdentifier = assetCollection.localIdentifier; - break; - } - } - if(localIdentifier ){ - PHFetchResult *fetchResult = [PHAssetCollection fetchAssetCollectionsWithLocalIdentifiers:@[localIdentifier] options:nil]; - PHAssetCollection *assetCollection = fetchResult.firstObject; - - [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{ - PHAssetChangeRequest *assetChangeRequest = [PHAssetChangeRequest creationRequestForAssetFromVideoAtFileURL:url]; - - PHAssetCollectionChangeRequest *assetCollectionChangeRequest = [PHAssetCollectionChangeRequest changeRequestForAssetCollection:assetCollection]; - [assetCollectionChangeRequest addAssets:@[[assetChangeRequest placeholderForCreatedAsset]]]; - } completionHandler:^(BOOL success, NSError *error) { - if (!success) { - NSLog(@"Error creating asset: %@", error); - } - }]; - }else{ - __block PHObjectPlaceholder *albumPlaceholder; - [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{ - PHAssetCollectionChangeRequest *changeRequest = [PHAssetCollectionChangeRequest creationRequestForAssetCollectionWithTitle:[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"]]; - albumPlaceholder = changeRequest.placeholderForCreatedAssetCollection; - } completionHandler:^(BOOL success, NSError *error) { - if (success) { - PHFetchResult *fetchResult = [PHAssetCollection fetchAssetCollectionsWithLocalIdentifiers:@[albumPlaceholder.localIdentifier] options:nil]; - PHAssetCollection *assetCollection = fetchResult.firstObject; - - [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{ - PHAssetChangeRequest *assetChangeRequest = [PHAssetChangeRequest creationRequestForAssetFromVideoAtFileURL:url]; - PHAssetCollectionChangeRequest *assetCollectionChangeRequest = [PHAssetCollectionChangeRequest changeRequestForAssetCollection:assetCollection]; - [assetCollectionChangeRequest addAssets:@[[assetChangeRequest placeholderForCreatedAsset]]]; - } completionHandler:^(BOOL success, NSError *error) { - if (!success) { - NSLog(@"Error creating asset: %@", error); - } - }]; - } else { - NSLog(@"Error creating album: %@", error); - } - }]; - } -} - -- (void)tableViewIsScrolling { - // if user is scrolling in table view, we should hide the keyboard - if ([_messageField isFirstResponder]) { - [_messageField resignFirstResponder]; - } -} - -#pragma mark - Keyboard Event Functions - -- (void)keyboardWillHide:(NSNotification *)notif { - NSTimeInterval duration = [[[notif userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue]; - - int heightDiff = UIInterfaceOrientationIsLandscape([[UIApplication sharedApplication] statusBarOrientation]) ? 55 : 105; - - [UIView animateWithDuration:duration - delay:0 - options:UIViewAnimationOptionBeginFromCurrentState - animations:^{ - CGFloat composeIndicatorCompensation = composingVisible ? _composeIndicatorView.frame.size.height : 0.0f; - - // Show TabBar and status bar and also top bar - - // somehow, it breaks rotation if we put that in the block above when rotating portrait -> landscape - // if (!UIInterfaceOrientationIsPortrait(self.interfaceOrientation)) { - [PhoneMainView.instance hideTabBar:NO]; - // } - [PhoneMainView.instance hideStatusBar:NO]; - [PhoneMainView.instance fullScreen:NO]; - _topBar.alpha = 1.0; - - // Resize chat view - { - CGRect chatFrame = [_chatView frame]; - chatFrame.origin.y = _topBar.frame.origin.y + _topBar.frame.size.height; - chatFrame.size.height = [[self view] frame].size.height - chatFrame.origin.y; - [_chatView setFrame:chatFrame]; - } - - // Resize & Move table view - { - CGRect tableFrame = [_tableController.view frame]; - tableFrame.size.height = - [_messageView frame].origin.y - tableFrame.origin.y - composeIndicatorCompensation; - [_tableController.view setFrame:tableFrame]; - - - // Scroll to bottom - NSInteger lastSection = [_tableController.tableView numberOfSections] - 1; - if (lastSection >= 0) { - NSInteger lastRow = [_tableController.tableView numberOfRowsInSection:lastSection] - 1; - if (lastRow >= 0) { - [_tableController.tableView - scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:lastRow inSection:lastSection] - atScrollPosition:UITableViewScrollPositionBottom - animated:FALSE]; - } - } - } - - - if ([_fileContext count] > 0){ - // resizing imagesView - CGRect imagesFrame = [_imagesView frame]; - imagesFrame.origin.y = [_messageView frame].origin.y - heightDiff; - imagesFrame.size.height = heightDiff; - [_imagesView setFrame:imagesFrame]; - // resizing chatTable - CGRect tableViewFrame = [_tableController.tableView frame]; - tableViewFrame.size.height = imagesFrame.origin.y - tableViewFrame.origin.y; - [_tableController.tableView setFrame:tableViewFrame]; - } - if (_showVoiceRecorderView) - _vrView.hidden = true; // force recalculate - if (_showReplyView) - _replyView.hidden = true; // force recalculate - [self updateFramesInclRecordingAndReplyView]; - - } - completion:^(BOOL finished){ - }]; -} - -- (void)keyboardWillShow:(NSNotification *)notif { - NSTimeInterval duration = [[[notif userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue]; - - int heightDiff = UIInterfaceOrientationIsLandscape([[UIApplication sharedApplication] statusBarOrientation]) ? 55 : 105; - - [UIView animateWithDuration:duration - delay:0 - options:UIViewAnimationOptionBeginFromCurrentState - animations:^{ - CGFloat composeIndicatorCompensation = composingVisible ? _composeIndicatorView.frame.size.height : 0.0f; - - CGRect endFrame = [[[notif userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue]; - - if (([[UIDevice currentDevice].systemVersion floatValue] < 8) && - UIInterfaceOrientationIsLandscape([UIApplication sharedApplication].statusBarOrientation)) { - int width = endFrame.size.height; - endFrame.size.height = endFrame.size.width; - endFrame.size.width = width; - } - - // Hide TabBar and status bar and also top bar - [PhoneMainView.instance hideTabBar:YES]; - [PhoneMainView.instance hideStatusBar:YES]; - [PhoneMainView.instance fullScreen:YES]; - _topBar.alpha = 0.0; - - // Resize chat view - { - CGRect viewFrame = [[self view] frame]; - CGRect rect = PhoneMainView.instance.view.bounds; - CGPoint pos = {viewFrame.size.width, viewFrame.size.height}; - CGPoint gPos = - [self.view convertPoint:pos - toView:[UIApplication sharedApplication] - .keyWindow.rootViewController.view]; // Bypass IOS bug on landscape mode - float diff = (rect.size.height - gPos.y - endFrame.size.height); - if (diff > 0) - diff = 0; - CGRect chatFrame = [_chatView frame]; - chatFrame.origin.y = 0; - chatFrame.size.height = viewFrame.size.height - chatFrame.origin.y + diff; - [_chatView setFrame:chatFrame]; - } - - // Resize & Move table view - { - CGRect tableFrame = _tableController.view.frame; - tableFrame.size.height = - [_messageView frame].origin.y - tableFrame.origin.y - composeIndicatorCompensation; - [_tableController.view setFrame:tableFrame]; - - } - - if ([_fileContext count] > 0){ - // resizing imagesView - CGRect imagesFrame = [_imagesView frame]; - imagesFrame.origin.y = [_messageView frame].origin.y - heightDiff; - imagesFrame.size.height = heightDiff; - [_imagesView setFrame:imagesFrame]; - // resizing chatTable - CGRect tableViewFrame = [_tableController.tableView frame]; - tableViewFrame.size.height = imagesFrame.origin.y - tableViewFrame.origin.y; - [_tableController.tableView setFrame:tableViewFrame]; - - } - - // Scroll - NSInteger lastSection = [_tableController.tableView numberOfSections] - 1; - if (lastSection >= 0) { - NSInteger lastRow = [_tableController.tableView numberOfRowsInSection:lastSection] - 1; - if (lastRow >= 0) { - [_tableController.tableView - scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:lastRow inSection:lastSection] - atScrollPosition:UITableViewScrollPositionBottom - animated:FALSE]; - } - } - if (_showVoiceRecorderView) - _vrView.hidden = true; // force recalculate - if (_showReplyView) - _replyView.hidden = true; // force recalculate - [self updateFramesInclRecordingAndReplyView]; - - - } - completion:^(BOOL finished){ - }]; -} - -#pragma mark - chat room callbacks - -void on_chat_room_state_changed(LinphoneChatRoom *cr, LinphoneChatRoomState newState) { - ChatConversationView *view = (__bridge ChatConversationView *)linphone_chat_room_cbs_get_user_data(linphone_chat_room_get_current_callbacks(cr)); - [view configureMessageField]; -} - -void on_chat_room_subject_changed(LinphoneChatRoom *cr, const LinphoneEventLog *event_log) { - ChatConversationView *view = (__bridge ChatConversationView *)linphone_chat_room_cbs_get_user_data(linphone_chat_room_get_current_callbacks(cr)); - const char *subject = linphone_chat_room_get_subject(cr) ?: linphone_event_log_get_subject(event_log); - if (subject) { - view.addressLabel.text = [NSString stringWithUTF8String:subject]; - [view.tableController addEventEntry:(LinphoneEventLog *)event_log]; - [view.tableController scrollToBottom:true]; - if (IPAD) { - [VIEW(ChatsListView).tableController loadData]; - } - } -} - -void on_chat_room_participant_added(LinphoneChatRoom *cr, const LinphoneEventLog *event_log) { - ChatConversationView *view = (__bridge ChatConversationView *)linphone_chat_room_cbs_get_user_data(linphone_chat_room_get_current_callbacks(cr)); - [view.tableController addEventEntry:(LinphoneEventLog *)event_log]; - [view updateParticipantLabel]; - [view.tableController scrollToBottom:true]; -} - -void on_chat_room_participant_removed(LinphoneChatRoom *cr, const LinphoneEventLog *event_log) { - ChatConversationView *view = (__bridge ChatConversationView *)linphone_chat_room_cbs_get_user_data(linphone_chat_room_get_current_callbacks(cr)); - [view.tableController addEventEntry:(LinphoneEventLog *)event_log]; - [view updateParticipantLabel]; - [view.tableController scrollToBottom:true]; - UIImage *image = [FastAddressBook imageForSecurityLevel:linphone_chat_room_get_security_level(cr)]; - [view.encryptedButton setImage:image forState:UIControlStateNormal]; -} - -void on_chat_room_participant_admin_status_changed(LinphoneChatRoom *cr, const LinphoneEventLog *event_log) { - ChatConversationView *view = (__bridge ChatConversationView *)linphone_chat_room_cbs_get_user_data(linphone_chat_room_get_current_callbacks(cr)); - [view.tableController addEventEntry:(LinphoneEventLog *)event_log]; - [view.tableController scrollToBottom:true]; -} - -void on_chat_room_chat_message_received(LinphoneChatRoom *cr, const LinphoneEventLog *event_log) { - ChatConversationView *view = (__bridge ChatConversationView *)linphone_chat_room_cbs_get_user_data(linphone_chat_room_get_current_callbacks(cr)); - - LinphoneChatMessage *chat = linphone_event_log_get_chat_message(event_log); - if (!chat) - return; - - BOOL hasFile = FALSE; - // if auto_download is available and file is downloaded - if ((linphone_core_get_max_size_for_auto_download_incoming_files(LC) > -1) && linphone_chat_message_get_file_transfer_information(chat)) - hasFile = TRUE; - - if (!linphone_chat_message_is_file_transfer(chat) && !linphone_chat_message_is_text(chat) && !hasFile) /*probably an imdn*/ - return; - - const LinphoneAddress *from = linphone_chat_message_get_from_address(chat); - if (!from) - return; - - bool isDisplayingBottomOfTable = [view.tableController.tableView indexPathsForVisibleRows].lastObject.row == [view.tableController totalNumberOfItems] - 1; - [view.tableController addEventEntry:(LinphoneEventLog *)event_log]; - - if (isDisplayingBottomOfTable) { - [view.tableController scrollToBottom:TRUE]; - } else { - [[view.tableController scrollBadge] setHidden:FALSE]; - int unread_msg = linphone_chat_room_get_unread_messages_count(cr); - [[view.tableController scrollBadge] setText:[NSString stringWithFormat:@"%d", unread_msg]]; - } -} - -void on_chat_room_chat_message_sending(LinphoneChatRoom *cr, const LinphoneEventLog *event_log) { - ChatConversationView *view = (__bridge ChatConversationView *)linphone_chat_room_cbs_get_user_data(linphone_chat_room_get_current_callbacks(cr)); - [view.tableController addEventEntry:(LinphoneEventLog *)event_log]; - [view.tableController scrollToBottom:true]; - - if (IPAD) - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneMessageReceived object:view]; -} - -void on_chat_room_is_composing_received(LinphoneChatRoom *cr, const LinphoneAddress *remoteAddr, bool_t isComposing) { - ChatConversationView *view = (__bridge ChatConversationView *)linphone_chat_room_cbs_get_user_data(linphone_chat_room_get_current_callbacks(cr)); - BOOL composing = linphone_chat_room_is_remote_composing(cr) || bctbx_list_size(linphone_chat_room_get_composing_addresses(cr)) > 0; - [view setComposingVisible:composing withDelay:0.3]; -} - -void on_chat_room_conference_joined(LinphoneChatRoom *cr, const LinphoneEventLog *event_log) { - ChatConversationView *view = (__bridge ChatConversationView *)linphone_chat_room_cbs_get_user_data(linphone_chat_room_get_current_callbacks(cr)); - [view configureForRoom:false]; - [view.tableController scrollToBottom:true]; - if (IPAD) - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneMessageReceived object:nil]; -} - -void on_chat_room_conference_left(LinphoneChatRoom *cr, const LinphoneEventLog *event_log) { - ChatConversationView *view = (__bridge ChatConversationView *)linphone_chat_room_cbs_get_user_data(linphone_chat_room_get_current_callbacks(cr)); - [view.tableController addEventEntry:(LinphoneEventLog *)event_log]; - [view.tableController scrollToBottom:true]; -} - -- (void)goToDeviceListView { - DevicesListView *view = VIEW(DevicesListView); - view.room = _chatRoom; - [PhoneMainView.instance popToView:view.compositeViewDescription]; -} - -void on_chat_room_conference_alert(LinphoneChatRoom *cr, const LinphoneEventLog *event_log) { - ChatConversationView *view = (__bridge ChatConversationView *)linphone_chat_room_cbs_get_user_data(linphone_chat_room_get_current_callbacks(cr)); - [view.tableController addEventEntry:(LinphoneEventLog *)event_log]; - [view.tableController scrollToBottom:true]; - UIImage *image = [FastAddressBook imageForSecurityLevel:linphone_chat_room_get_security_level(cr)]; - [view.encryptedButton setImage:image forState:UIControlStateNormal]; -} - -- (void)openFileWithURLs:(NSMutableArray*)urls index:(NSInteger)currentIndex -{ - //create the Quicklook controller. - QLPreviewController *qlController = [[QLPreviewController alloc] init]; - self.FileDataSource = [[FileDataSource alloc] initWithFiles:urls]; - - qlController.dataSource = self.FileDataSource; - qlController.currentPreviewItemIndex = currentIndex; - qlController.delegate = self; - - //present the document. - [self presentViewController:qlController animated:YES completion:nil]; -} - -- (void)openFileWithURL:(NSURL *)url -{ - [self openFileWithURLs:[NSMutableArray arrayWithObject:url] index:0]; -} - -- (void)previewControllerDidDismiss:(QLPreviewController *)controller -{ - // QuickLook: When done button is pushed - [PhoneMainView.instance fullScreen:NO]; -} - -+ (NSData *)getFileData: (NSString *)name { - NSString *filePath = [LinphoneManager validFilePath:name]; - return [NSData dataWithContentsOfFile:filePath]; -} - -+ (NSURL *)getFileUrl: (NSString *)name { - NSString *filePath = [LinphoneManager validFilePath:name]; - return [NSURL fileURLWithPath:filePath]; -} - -+ (void)writeFileInImagesDirectory:(NSData *)data name:(NSString *)name { - NSString *filePath = [[LinphoneManager imagesDirectory] stringByAppendingPathComponent:name]; - if (name || [name isEqualToString:@""]) { - LOGW(@"try to write file in %@", filePath); - } - [[NSFileManager defaultManager] createFileAtPath:filePath - contents:data - attributes:nil]; -} - -- (NSURL *)getICloudFileUrl:(NSString *)name { - if (@available(iOS 11.0, *)) { - return [NSURL fileURLWithPath:[LinphoneManager documentFile:name]]; - } - - NSFileManager *fileManager = [NSFileManager defaultManager]; - NSURL *icloudPath = [[fileManager URLForUbiquityContainerIdentifier:nil] URLByAppendingPathComponent:@"Documents"]; - - if (icloudPath) { - if (![fileManager fileExistsAtPath:icloudPath.path isDirectory:nil]) { - LOGI(@"Create directory"); - [fileManager createDirectoryAtURL:icloudPath withIntermediateDirectories:YES attributes:nil error:nil]; - } - - return [icloudPath URLByAppendingPathComponent:name]; - } - - return nil; -} - -- (void)deleteFileWithUuid:(NSUUID *)uuid { - [_fileContext deleteContentWithUuid:uuid]; - [self refreshImageDrawer]; -} - -- (void)clearMessageView { - [_messageField setText:@""]; - if (!_fileContext) _fileContext = [[FileContext alloc] init]; - [_fileContext clear]; - - [self refreshImageDrawer]; -} - -- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { - return [_fileContext count]; -} - - -- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath { - return UIInterfaceOrientationIsLandscape([[UIApplication sharedApplication] statusBarOrientation]) ? CGSizeMake(60, 60) : CGSizeMake(120, 120); -} - -- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { - UIImageViewDeletable *imgView = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([UIImageViewDeletable class]) forIndexPath:indexPath]; - CGRect imgFrame = imgView.frame; - imgFrame.origin.y = 5; - if (UIInterfaceOrientationIsLandscape([[UIApplication sharedApplication] statusBarOrientation])) { - imgFrame.size.height = 60; - } else { - imgFrame.size.height = 120; - } - - [imgView.image setImage:[UIImage resizeImage:[_fileContext.previewsArray objectAtIndex:[indexPath item]] withMaxWidth:imgFrame.size.width andMaxHeight:imgFrame.size.height]]; - [imgView setUuid:[_fileContext.uuidsArray objectAtIndex:[indexPath item]]]; - [imgView setDeleteDelegate:self]; - [imgView setFrame:imgFrame]; - [self setSendButtonState]; - return imgView; -} - -- (void)refreshImageDrawer { - int heightDiff = UIInterfaceOrientationIsLandscape([[UIApplication sharedApplication] statusBarOrientation]) ? 65 : 125; - - if ([_fileContext count] == 0) { - [UIView animateWithDuration:0 - delay:0 - options:UIViewAnimationOptionBeginFromCurrentState - animations:^{ - // resizing imagesView - CGRect imagesFrame = [_imagesView frame]; - imagesFrame.origin.y = [_messageView frame].origin.y; - imagesFrame.size.height = 0; - [_imagesView setFrame:imagesFrame]; - // resizing chatTable - CGRect tableViewFrame = [_tableController.tableView frame]; - tableViewFrame.size.height = imagesFrame.origin.y - tableViewFrame.origin.y; - [_tableController.tableView setFrame:tableViewFrame]; - [self updateFramesInclRecordingAndReplyView]; - } - completion:nil]; - [self setSendButtonState]; - } else { - // resizing imagesView - CGRect imagesFrame = [_imagesView frame]; - imagesFrame.origin.y = [_messageView frame].origin.y - heightDiff; - imagesFrame.size.height = heightDiff; - [_imagesView setFrame:imagesFrame]; - // resizing chatTable - CGRect tableViewFrame = [_tableController.tableView frame]; - tableViewFrame.size.height = imagesFrame.origin.y - tableViewFrame.origin.y; - [_tableController.tableView setFrame:tableViewFrame]; - [self updateFramesInclRecordingAndReplyView]; - [_imagesCollectionView reloadData]; - } -} - -- (void)showFileDownloadError { - UIAlertController *errView = [UIAlertController - alertControllerWithTitle:NSLocalizedString(@"File download error", nil) - message:NSLocalizedString(@"Error while downloading the file.\n" - @"The file is probably encrypted.\n" - @"Please retry to download this file after activating LIME.", - nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction *defaultAction = [UIAlertAction actionWithTitle:@"OK" - style:UIAlertActionStyleDefault - handler:^(UIAlertAction *action){ - }]; - - [errView addAction:defaultAction]; - [PhoneMainView.instance presentViewController:errView animated:YES completion:nil]; -} - -+ (NSString *)getKeyFromFileType:(NSString *)fileType fileName:(NSString *)name{ - if ([fileType isEqualToString:@"video"]) { - return @"localvideo"; - } else if ([fileType isEqualToString:@"image"] || [name hasSuffix:@"JPG"] || [name hasSuffix:@"PNG"] || [name hasSuffix:@"jpg"] || [name hasSuffix:@"png"]) { - return @"localimage"; - } - return @"localfile"; -} - -/* There are three cases: auto download in foreground, auto download in background, on click download*/ -+ (void)autoDownload:(LinphoneChatMessage *)message { - ChatConversationView *view = VIEW(ChatConversationView); - LinphoneContent *content = linphone_chat_message_get_file_transfer_information(message); - NSString *name = [NSString stringWithUTF8String:linphone_content_get_name(content)]; - NSString *fileType = [NSString stringWithUTF8String:linphone_content_get_type(content)]; - NSString *key = [ChatConversationView getKeyFromFileType:fileType fileName:name]; - - [LinphoneManager setValueInMessageAppData:name forKey:key inMessage:message]; - dispatch_async(dispatch_get_main_queue(), ^{ - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneMessageReceived object:view]; - if (![VFSUtil vfsEnabledWithGroupName:kLinphoneMsgNotificationAppGroupId] && [ConfigManager.instance lpConfigBoolForKeyWithKey:@"auto_write_to_gallery_preference"]) { - [ChatConversationView writeMediaToGallery:name fileType:fileType]; - } - }); -} - --(void) documentMenu:(UIDocumentMenuViewController *)documentMenu didPickDocumentPicker:(UIDocumentPickerViewController *)documentPicker { - documentPicker.delegate = self; - [PhoneMainView.instance presentViewController:documentPicker animated:YES completion:nil]; -} - --(void) documentPicker:(UIDocumentPickerViewController *)controller didPickDocumentAtURL:(NSURL *)url { - [url startAccessingSecurityScopedResource]; - NSFileCoordinator *co =[[NSFileCoordinator alloc] init]; - NSError *error = nil; - [co coordinateReadingItemAtURL:url options:0 error:&error byAccessor:^(NSURL * _Nonnull newURL) { - UIImage *image = [UIChatBubbleTextCell getImageFromFileName:[newURL lastPathComponent] forReplyBubble:false]; - [_fileContext addObject:[NSData dataWithContentsOfURL:newURL] name:[newURL lastPathComponent] type:@"file" image:image]; - [self refreshImageDrawer]; - }]; - [url stopAccessingSecurityScopedResource]; -} - -+(UIImage *)getBasicImage { - UIColor *color=[UIColor grayColor]; - CGRect frame = CGRectMake(0, 0, 200, 200); - UIGraphicsBeginImageContext(frame.size); - CGContextRef context = UIGraphicsGetCurrentContext(); - CGContextSetFillColorWithColor(context, [color CGColor]); - CGContextFillRect(context, frame); - UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - return image; -} - -+(UIImage*)drawText:(NSString*)text image:(UIImage *)image textSize:(CGFloat)textSize -{ - UIFont *font = [UIFont boldSystemFontOfSize:textSize]; - UIGraphicsBeginImageContext(image.size); - [image drawInRect:CGRectMake(0,0,image.size.width,image.size.height)]; - CGRect rect = CGRectMake(0, 30, image.size.width, image.size.height); - [[UIColor whiteColor] set]; - [text drawInRect:CGRectIntegral(rect) withFont:font]; - UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - - return newImage; -} - -// Popup menu --(void) addOrGoToContact:(const LinphoneAddress *)contactAddress { - Contact *contact = [FastAddressBook getContactWithAddress:contactAddress]; - - if (contact) { - ContactDetailsView *view = VIEW(ContactDetailsView); - [PhoneMainView.instance changeCurrentView:view.compositeViewDescription]; - [ContactSelection setSelectionMode:ContactSelectionModeNone]; - [view setContact:contact]; - } else { - char *lAddress = linphone_address_as_string_uri_only(contactAddress); - if (lAddress != NULL) { - NSString *normSip = [NSString stringWithUTF8String:lAddress]; - normSip = [normSip hasPrefix:@"sip:"] ? [normSip substringFromIndex:4] : normSip; - normSip = [normSip hasPrefix:@"sips:"] ? [normSip substringFromIndex:5] : normSip; - [ContactSelection setAddAddress:normSip]; - [ContactSelection setSelectionMode:ContactSelectionModeEdit]; - [ContactSelection enableSipFilter:FALSE]; - [PhoneMainView.instance changeCurrentView:ContactsListView.compositeViewDescription]; - ms_free(lAddress); - } - } -} - --(void) showAddressAndIdentityPopup { - - char *localAddress = linphone_address_as_string(linphone_chat_room_get_local_address(_chatRoom)); - char *peerAddress = linphone_address_as_string(linphone_chat_room_get_peer_address(_chatRoom)); - NSString *infoMsg = [NSString stringWithFormat:@"Chat room id:\n%s\nLocal account:\n%s", peerAddress, localAddress]; - ms_free(localAddress); - ms_free(peerAddress); - - UIAlertController *popupView = - [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Chatroom debug infos", nil) - message:infoMsg - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction *defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Copy to clipboard", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction *action) { - UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; - pasteboard.string = infoMsg; - }]; - - [popupView addAction:defaultAction]; - [self presentViewController:popupView animated:YES completion:nil]; - -} - --(BOOL) canAdminEphemeral:(const LinphoneChatRoom *)cr { - if (!cr || !isEncrypted) return FALSE; - - // If ephemeral mode is DeviceManaged, then we don't need to check anything else - return (linphone_chat_room_params_get_ephemeral_mode(linphone_chat_room_get_current_params(cr)) == LinphoneChatRoomEphemeralModeDeviceManaged) - || ( linphone_chat_room_has_capability(cr, LinphoneChatRoomCapabilitiesEphemeral) && linphone_chat_room_params_get_ephemeral_mode(linphone_chat_room_get_current_params(cr)) == LinphoneChatRoomEphemeralModeAdminManaged && linphone_participant_is_admin(linphone_chat_room_get_me(cr))); -} - -- (void) setupPopupMenu { - _popupMenu.dataSource = self; - _popupMenu.delegate = self; - _tableController.editButton.hidden = true; - _popupMenu.layer.shadowColor = [UIColor lightGrayColor].CGColor; - _popupMenu.layer.shadowOpacity = 0.5; - _popupMenu.layer.shadowOffset = CGSizeZero; - _popupMenu.layer.shadowRadius = 10; - _popupMenu.layer.masksToBounds = false; - _toggleMenuButton.hidden = false; - _popupMenu.tableFooterView = [UIView new]; - _popupMenu.separatorStyle = UITableViewCellSeparatorStyleNone; - [_popupMenu reloadData]; -} - --(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - [self onToggleMenu:nil]; - - int firstIndex = isOneToOne ? 0 : 1; - - if (!isOneToOne && indexPath.row == 0) { //Schedule meeting - [ConferenceViewModelBridge scheduleFromGroupChatWithCChatRoom:_chatRoom]; - [PhoneMainView.instance popToView:ConferenceSchedulingView.compositeViewDescription]; - } - - if (indexPath.row == firstIndex) { - if (isOneToOne) { - if (isEncrypted) { - LinphoneAddress* contactAddress = linphone_address_clone(linphone_participant_get_address(bctbx_list_nth_data(linphone_chat_room_get_participants(_chatRoom), 0))); - linphone_address_clean(contactAddress); - [self addOrGoToContact:contactAddress]; - linphone_address_unref(contactAddress); - } else { - [self addOrGoToContact:linphone_chat_room_get_peer_address(_chatRoom)]; - } - } else { - [self displayGroupInfo]; - } - } - - if (isEncrypted && indexPath.row == 1+firstIndex) { - [self goToDeviceListView]; - } - - BOOL canEphemeral = [self canAdminEphemeral:_chatRoom]; - if (canEphemeral && indexPath.row == 2+firstIndex) { - EphemeralSettingsView *view = VIEW(EphemeralSettingsView); - view.room = _chatRoom; - [PhoneMainView.instance popToView:view.compositeViewDescription]; - } - if ((!isEncrypted && indexPath.row == 1+firstIndex) || (isEncrypted && indexPath.row == 3+firstIndex)) { - [LinphoneManager setChatroomPushEnabled:_chatRoom withPushEnabled:![LinphoneManager getChatroomPushEnabled:_chatRoom]]; - [_popupMenu reloadData]; - } - - if ((!isEncrypted && indexPath.row == 2+firstIndex) || (isEncrypted && indexPath.row == 4+firstIndex)) { - [_tableController onEditClick:nil]; - [self onEditionChangeClick:nil]; - } - - if ((isEncrypted && ((!canEphemeral && indexPath.row == 4+firstIndex)||(canEphemeral && indexPath.row == 5+firstIndex))) - || (!isEncrypted && indexPath.row == 3+firstIndex)) { - [self showAddressAndIdentityPopup]; - } -} - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return 1; -} - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - int nbRows = 3; - - if ([LinphoneManager.instance lpConfigIntForKey:@"debugenable_preference"] == 1) // DEBOGUE == ALL - ++nbRows; - - if (!isEncrypted) - return nbRows; - else - ++nbRows; - - if ([self canAdminEphemeral:_chatRoom]) - ++nbRows; - - if (!isOneToOne) // schedule meeting - ++nbRows; - - return nbRows; -} - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - UITableViewCell *cell = [[UITableViewCell alloc] init]; - - if (!_chatRoom) { - // Workaround to avoid crash in background for release 4.7. This shouldn't happen though, so there may be a deeper issue not found yet - return cell; - } - - int firstIndex = isOneToOne ? 0 : 1; - - if (!isOneToOne && indexPath.row == 0) { - cell.imageView.image = [UIImage imageNamed:@"menu_voip_meeting_schedule"]; - cell.textLabel.text = NSLocalizedString(@"Schedule a meeting",nil); - } - - if (indexPath.row == firstIndex) { - if (isOneToOne) { - Contact *contact; - if (isEncrypted) { - LinphoneAddress * contactAddress = linphone_address_clone(linphone_participant_get_address(bctbx_list_nth_data(linphone_chat_room_get_participants(_chatRoom), 0))); - linphone_address_clean(contactAddress); - contact = [FastAddressBook getContactWithAddress:contactAddress]; - linphone_address_unref(contactAddress); - } else { - contact = [FastAddressBook getContactWithAddress:linphone_chat_room_get_peer_address(_chatRoom)]; - } - if (contact == nil) { - cell.imageView.image = [UIImage imageNamed:@"contact_add_default.png"]; - cell.textLabel.text = NSLocalizedString(@"Add to contacts",nil); - } else { - cell.imageView.image = [UIImage imageNamed:@"contacts_all_default.png"]; - cell.textLabel.text = NSLocalizedString(@"Go to contact",nil); - } - } else { - cell.imageView.image = [UIImage imageNamed:@"chat_group_informations.png"]; - cell.textLabel.text = NSLocalizedString(@"Group infos",nil); - } - } - - if (isEncrypted && indexPath.row == 1+firstIndex) { - cell.imageView.image = [UIImage imageNamed:@"menu_security_default.png"]; - cell.textLabel.text = NSLocalizedString(@"Conversation's devices",nil); - } - - bool canEphemeral = [self canAdminEphemeral:_chatRoom]; - if (canEphemeral && indexPath.row == 2+firstIndex) { - cell.imageView.image = [LinphoneUtils resizeImage:[UIImage imageNamed:@"ephemeral_messages_default.png"] newSize:CGSizeMake(20, 25)]; - cell.textLabel.text = NSLocalizedString(@"Ephemeral messages",nil); - } - - if ((isEncrypted && indexPath.row == 3+firstIndex) || (!isEncrypted && indexPath.row == 1+firstIndex)) { - if ([LinphoneManager getChatroomPushEnabled:_chatRoom]) { - cell.imageView.image = [UIImage imageNamed:@"menu_notifications_off.png"]; - cell.textLabel.text = NSLocalizedString(@"Mute notifications",nil); - } else { - cell.imageView.image = [UIImage imageNamed:@"menu_notifications_on.png"]; - cell.textLabel.text = NSLocalizedString(@"Un-mute notifications",nil); - } - } - - if ((isEncrypted && indexPath.row == 4+firstIndex) || (!isEncrypted && indexPath.row == 2+firstIndex)) { - cell.imageView.image = [UIImage imageNamed:@"delete_default.png"]; - cell.textLabel.text = NSLocalizedString(@"Delete messages",nil); - } - - if ((isEncrypted && ((!canEphemeral && indexPath.row == 4+firstIndex)||(canEphemeral && indexPath.row == 5+firstIndex))) - || (!isEncrypted && indexPath.row == 3+firstIndex)) { - cell.imageView.image = [UIImage imageNamed:@"chat_group_informations.png"]; - cell.textLabel.text = NSLocalizedString(@"Debug infos",nil); - } - - UIImageView * icon = [[UIImageView alloc] initWithFrame:CGRectMake(tableView.frame.size.width-37, 7, 30, 30)]; - icon.contentMode = UIViewContentModeScaleAspectFit; - icon.image = cell.imageView.image; - [cell.contentView addSubview:icon]; - cell.imageView.image = nil; - - return cell; -} -- (IBAction)onToggleMenu:(id)sender { - _popupMenu.hidden = !_popupMenu.hidden; - if (!_popupMenu.hidden) - [_popupMenu selectRowAtIndexPath:nil animated:false scrollPosition:UITableViewScrollPositionNone]; -} - -// Voice recording - -- (IBAction)onVrDelete:(id)sender { - [self cancelVoiceRecording]; - [self stopVoiceRecordPlayer]; -} - -- (IBAction)onvrPlayPauseStop:(id)sender { - if (_isVoiceRecording) { - [self stopVoiceRecording]; - } else { - if (_isPlayingVoiceRecording) - [self stopVoiceRecordPlayer]; - else - [self playRecordedMessage]; - } -} - -- (IBAction)onVrStart:(id)sender { - if (_isVoiceRecording) { - [self stopVoiceRecording]; - } else { - [self startVoiceRecording]; - } -} - --(void) createVoiceRecorder { - LinphoneRecorderParams *p = linphone_core_create_recorder_params(LC); - linphone_recorder_params_set_file_format(p, LinphoneRecorderFileFormatMkv); - _voiceRecorder = linphone_core_create_recorder(LC, p); -} - --(void) cancelVoiceRecording { - [[UIApplication sharedApplication] setIdleTimerDisabled:false]; - _showVoiceRecorderView = false; - _toggleRecord.selected = false; - [self updateFramesInclRecordingAndReplyView]; - _isPendingVoiceRecord = false; - _isVoiceRecording = false; - if (_voiceRecorder && linphone_recorder_get_state(_voiceRecorder) != LinphoneRecorderClosed) { - linphone_recorder_close(_voiceRecorder); - const char *recordingFile = linphone_recorder_get_file(_voiceRecorder); - if (recordingFile) { - [AppManager removeFileWithFile:[NSString stringWithUTF8String:recordingFile]]; - } - } - [self setSendButtonState]; -} - --(void) stopVoiceRecording { - [[UIApplication sharedApplication] setIdleTimerDisabled:false]; - if (_voiceRecorder && linphone_recorder_get_state(_voiceRecorder) == LinphoneRecorderRunning) { - LOGI(@"[Chat Message Sending] Pausing / closing voice recorder"); - linphone_recorder_pause(_voiceRecorder); - linphone_recorder_close(_voiceRecorder); - _vrDurationLabel.text = [self formattedDuration:linphone_recorder_get_duration(_voiceRecorder)]; - } - _isVoiceRecording = false; - if ([LinphoneManager.instance lpConfigBoolForKey:@"voice_recording_send_right_away" withDefault:false]) { - [self onSendClick:nil]; - } - [_vrPlayButton setImage:[UIImage imageNamed:@"vr_play"] forState:UIControlStateNormal]; - _toggleRecord.selected = false; - _vrWaveMask.frame = CGRectZero; - [_vrRecordTimer invalidate]; - _isPendingVoiceRecord = linphone_recorder_get_duration(_voiceRecorder) > 0; - [self setSendButtonState]; - -} - --(void) startVoiceRecording { - [[UIApplication sharedApplication] setIdleTimerDisabled:true]; - - if (!_voiceRecorder) - [self createVoiceRecorder]; - [CallManager.instance activateAudioSession]; - _toggleRecord.selected = true; - [_vrPlayButton setImage:[UIImage imageNamed:@"vr_stop"] forState:UIControlStateNormal]; - - - _showVoiceRecorderView = true; - [self updateFramesInclRecordingAndReplyView]; - _isVoiceRecording = true; - _vrWaveMaskPlayer.frame = CGRectZero; - - switch (linphone_recorder_get_state(_voiceRecorder)) { - case LinphoneRecorderClosed: { - NSString *filename = [NSString stringWithFormat:@"%@/voice-recording-%@.mkv",[LinphoneManager imagesDirectory], [NSUUID UUID].UUIDString]; - linphone_recorder_open(_voiceRecorder, filename.UTF8String); - linphone_recorder_start(_voiceRecorder); - LOGW(@"[Chat Message Sending] Recorder is closed opening it with %@",filename); - break; - }; - case LinphoneRecorderRunning: { - LOGW(@"[Chat Message Sending] Recorder is already recording"); - break; - } - case LinphoneRecorderPaused: { - LOGW(@"[Chat Message Sending] Recorder isn't closed, resuming recording"); - linphone_recorder_start(_voiceRecorder); - } - } - _vrWaveMask.frame = _vrWave.frame; - _vrDurationLabel.text = [self formattedDuration:linphone_recorder_get_duration(_voiceRecorder)]; - _vrRecordTimer = [NSTimer scheduledTimerWithTimeInterval:1.0 - target:self - selector:@selector(voiceRecordTimerUpdate) - userInfo:nil - repeats:YES]; - - -} - --(void) voiceRecordTimerUpdate { - int recorderDuration = linphone_recorder_get_duration(_voiceRecorder); - if (recorderDuration > [LinphoneManager.instance lpConfigIntForKey:@"voice_recording_max_duration" withDefault:60000]) { - LOGW(@"[Chat Message Sending] Max duration for voice recording exceeded, stopping. (max = %d)",[LinphoneManager.instance lpConfigIntForKey:@"voice_recording_max_duration" withDefault:60000]); - [self stopVoiceRecording]; - } else { - _vrDurationLabel.text = [self formattedDuration:linphone_recorder_get_duration(_voiceRecorder)]; - CGRect r = _vrWaveMask.frame; - r.origin.x += 30; - r.size.width -= 30; - if (r.origin.x > _vrWave.frame.size.width) { - r = _vrWave.frame; - _vrWaveMask.frame = r; - } else { - [UIView animateWithDuration:1.0 delay:0.0 options:UIViewAnimationOptionCurveLinear animations:^{ - _vrWaveMask.frame = r; - }completion:^(BOOL finished) {}]; - } - } -} - -// Playback Shared Player (new recording & chat bubble) - -- (void) initSharedPlayer { - LOGI(@"[Voice Message] Creating shared player"); - _sharedVoicePlayer = linphone_core_create_local_player(LC, [CallManager.instance getSpeakerSoundCard].UTF8String, nil, nil); - LinphonePlayerCbs *cbs = linphone_factory_create_player_cbs(linphone_factory_get()); - linphone_player_cbs_set_eof_reached(cbs, on_shared_player_eof_reached); - linphone_player_cbs_set_user_data(cbs, (__bridge void*)self); - linphone_player_add_callbacks(_sharedVoicePlayer, cbs); -} - --(void) startSharedPlayer:(const char *)path { - LOGI(@"[Voice Message] Starting shared player path = %s",path); - if (linphone_player_get_user_data(_sharedVoicePlayer)) { - LOGI(@"[Voice Message] a play was requested (%s), but there is already one going (%s)",path,(const char *)linphone_player_get_user_data(_sharedVoicePlayer) ); - NSDictionary* userInfo = @{@"path": [NSString stringWithUTF8String:linphone_player_get_user_data(_sharedVoicePlayer)]}; - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneVoiceMessagePlayerLostFocus object:nil userInfo:userInfo]; - } - [CallManager.instance changeRouteToSpeaker]; - linphone_player_set_user_data(_sharedVoicePlayer, (void *)path); - linphone_player_open(_sharedVoicePlayer, path); - linphone_player_start(_sharedVoicePlayer); -} - --(void) stopSharedPlayer { - LOGI(@"[Voice Message] Stopping shared player path = %s",linphone_player_get_user_data(_sharedVoicePlayer) ? (const char *)linphone_player_get_user_data(_sharedVoicePlayer) : "nil"); - linphone_player_pause(_sharedVoicePlayer); - linphone_player_seek(_sharedVoicePlayer,0); - linphone_player_close(_sharedVoicePlayer); - linphone_player_set_user_data(_sharedVoicePlayer, nil); -} - --(BOOL) sharedPlayedIsPlaying:(const char *)path { - return path && linphone_player_get_user_data(_sharedVoicePlayer) && !strcmp(path,linphone_player_get_user_data(_sharedVoicePlayer)); -} - -void on_shared_player_eof_reached(LinphonePlayer *p) { - LOGI(@"[Voice Message] End of file reached for player"); - const char * currentPlayedFile = (const char *) linphone_player_get_user_data(p); - if (currentPlayedFile) { - NSDictionary* userInfo = @{@"path": [NSString stringWithUTF8String:currentPlayedFile]}; - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneVoiceMessagePlayerEOF object:nil userInfo:userInfo]; - } -} - -// Playback of new recordings - --(void) playRecordedMessage { - [_vrPlayButton setImage:[UIImage imageNamed:@"vr_stop"] forState:UIControlStateNormal]; - _vrDurationLabel.text = [self formattedDuration:linphone_player_get_duration(_sharedVoicePlayer)]; - _vrWaveMask.frame = CGRectZero; - CGRect r = CGRectZero; - r.size.height = _vrInnerView.frame.size.height; - _vrWaveMaskPlayer.frame = r; - _vrPlayerTimer = [NSTimer scheduledTimerWithTimeInterval:1.0 - target:self - selector:@selector(voicePlayTimerUpdate) - userInfo:nil - repeats:YES]; - [self startSharedPlayer:linphone_recorder_get_file(_voiceRecorder)]; - [self animPlayerOnce]; - _isPlayingVoiceRecording = true; -} - --(void) voicePlayTimerUpdate { - _vrDurationLabel.text = [self formattedDuration:linphone_player_get_duration(_sharedVoicePlayer)]; - [self animPlayerOnce]; -} - --(void) animPlayerOnce { - CGRect r = _vrWaveMaskPlayer.frame; - r.size.width += _vrInnerView.frame.size.width / ((linphone_player_get_duration(_sharedVoicePlayer) / 1000)+1) ; - if (r.size.width > _vrInnerView.frame.size.width) { - r.size.width = _vrInnerView.frame.size.width; - } - [UIView animateWithDuration:1.0 delay:0.0 options:UIViewAnimationOptionCurveLinear animations:^{ - _vrWaveMaskPlayer.frame = r; - }completion:^(BOOL finished) {}]; -} - --(void) endVoicePlayingIfDoingSO:(NSNotification *)notif { - if (_isPlayingVoiceRecording) - [self stopVoiceRecordPlayer]; -} - --(void) stopVoiceRecordPlayer { - [self stopSharedPlayer]; - [_vrPlayButton setImage:[UIImage imageNamed:@"vr_play"] forState:UIControlStateNormal]; - _isPlayingVoiceRecording = false; - [_vrPlayerTimer invalidate]; - _vrWaveMaskPlayer.frame = CGRectZero; -} - --(NSString *)formattedDuration:(long)valueMs { - return [NSString stringWithFormat:@"%02ld:%02ld", valueMs/ 60000, (valueMs % 60000) / 1000 ]; -} - --(void) updateFramesInclRecordingAndReplyView { // place below the messages table. - BOOL showHideVoice = _showVoiceRecorderView != !_vrView.hidden; - if (showHideVoice) - _vrView.hidden = !_showVoiceRecorderView; - - CGRect vrFrame = _vrView.frame; - CGRect tableFrame = _tableController.tableView.frame; - if (showHideVoice) { - tableFrame.size.height = _showVoiceRecorderView ? tableFrame.size.height - vrFrame.size.height : tableFrame.size.height + vrFrame.size.height; - _tableController.tableView.frame = tableFrame; - [_tableController.tableView reloadData]; - } - vrFrame.origin.y = tableFrame.origin.y+tableFrame.size.height; - _vrView.frame = vrFrame; - - BOOL showHideReply = _showReplyView != !_replyView.hidden; - if (showHideReply) - _replyView.hidden = !_showReplyView; - - CGRect repFrame = _replyView.frame; - tableFrame = _tableController.tableView.frame; - if (showHideReply) { - tableFrame.size.height = _showReplyView ? tableFrame.size.height - repFrame.size.height : tableFrame.size.height + repFrame.size.height; - _tableController.tableView.frame = tableFrame; - [_tableController.tableView reloadData]; - } - repFrame.origin.y = _showVoiceRecorderView ? vrFrame.origin.y + vrFrame.size.height : tableFrame.origin.y+tableFrame.size.height; - _replyView.frame = repFrame; - -} - --(void) stopAllPlays { - if (linphone_player_get_user_data(_sharedVoicePlayer)) { - NSDictionary* userInfo = @{@"path": [NSString stringWithUTF8String:linphone_player_get_user_data(_sharedVoicePlayer)]}; - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneVoiceMessagePlayerLostFocus object:nil userInfo:userInfo]; - } -} - -// send button state - --(void) setSendButtonState { - _sendButton.enabled = !_isVoiceRecording && ((_isPendingVoiceRecord && linphone_recorder_get_duration(_voiceRecorder) > 0) || [[_messageField text] length] > 0 || _fileContext.count > 0); -} - - -// Reply - --(void) closePendingReply { - if (_replyBubble != nil) { - _showReplyView = false; - [_replyBubble.view removeFromSuperview]; - [self updateFramesInclRecordingAndReplyView]; - _replyBubble = nil; - } -} - --(void) initiateReplyViewForMessage:(LinphoneChatMessage *)message { - if (_replyBubble != nil) - [self closePendingReply]; - _replyBubble = [[UIChatReplyBubbleView alloc] initWithNibName:@"UIChatReplyBubbleView" bundle:nil]; - [self addChildViewController:_replyBubble]; - [_replyView addSubview:_replyBubble.view]; - [_replyBubble didMoveToParentViewController:self]; - [_replyBubble configureForMessage:message withDimissBlock:^{ - [self closePendingReply]; - } hideDismiss:false withClickBlock:^{}]; - _showReplyView = true; - [self updateFramesInclRecordingAndReplyView]; - [self.tableController scrollToMessage:message]; - [self.messageField becomeFirstResponder]; -} - --(void) handlePendingTransferIfAny { - if (self.pendingForwardMessage) { - LinphoneChatMessage *message = self.pendingForwardMessage; - self.pendingForwardMessage = nil; - UIConfirmationDialog *d = [UIConfirmationDialog ShowWithMessage:NSLocalizedString(@"Transfer this message to this conversation ?",nil) - cancelMessage:nil - confirmMessage:NSLocalizedString(@"TRANSFER",nil) - onCancelClick:^() {} - onConfirmationClick:^() { - linphone_chat_message_send(linphone_chat_room_create_forward_message(_chatRoom, message)); - linphone_chat_message_unref(message); - }]; - d.forwardImage.hidden = NO; - [d setSpecialColor]; - } -} - - -@end diff --git a/Classes/ChatsListTableView.h b/Classes/ChatsListTableView.h deleted file mode 100644 index 5a49bf983..000000000 --- a/Classes/ChatsListTableView.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#include "linphone/linphonecore.h" -#include "UICheckBoxTableView.h" - -@interface ChatsListTableView : UICheckBoxTableView - -@property (nonatomic) NSInteger nbOfChatRoomToDelete; -@property (nonatomic) bctbx_list_t *chatRooms; -@property (weak, nonatomic) IBOutlet UIView *waitView; -@property bctbx_list_t *data; - - -- (void)loadData; -- (void)markCellAsRead:(LinphoneChatRoom *)chatRoom; -- (void)updateEventEntry:(LinphoneChatMessage *)msg; -@end diff --git a/Classes/ChatsListTableView.m b/Classes/ChatsListTableView.m deleted file mode 100644 index 33b970598..000000000 --- a/Classes/ChatsListTableView.m +++ /dev/null @@ -1,338 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "ChatsListTableView.h" -#import "UIChatCell.h" -#import "FileTransferDelegate.h" -#import "linphoneapp-Swift.h" -#import "linphone/linphonecore.h" -#import "PhoneMainView.h" -#import "Utils.h" -#import "SVProgressHUD.h" - - -@implementation ChatsListTableView - -#pragma mark - Lifecycle Functions - -- (instancetype)init { - self = super.init; - if (self) { - _data = nil; - _nbOfChatRoomToDelete = 0; - _waitView.hidden = TRUE; - } - return self; -} - - -- (void)dealloc { - bctbx_list_free(_data); -} - -#pragma mark - ViewController Functions - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - self.tableView.accessibilityIdentifier = @"Chat list"; - [self loadData]; - _chatRooms = NULL; - - NSDictionary* userInfo; - [NSNotificationCenter.defaultCenter addObserver:self - selector: @selector(receivePresenceNotification:) - name: @"LinphoneFriendPresenceUpdate" - object: userInfo]; -} - --(void) receivePresenceNotification:(NSNotification*)notification -{ - if ([notification.name isEqualToString:@"LinphoneFriendPresenceUpdate"]) - { - NSDictionary* userInfo = notification.userInfo; - NSString* friend = (NSString*)userInfo[@"friend"]; - - for (int i = 0; i < bctbx_list_size(_data); i++) - { - LinphoneChatRoom *chatRoom = (LinphoneChatRoom *)bctbx_list_nth_data(_data, i); - - bctbx_list_t *participants = linphone_chat_room_get_participants(chatRoom); - if (linphone_chat_room_get_nb_participants(chatRoom) == 1) { - LinphoneParticipant *firstParticipant = participants ? (LinphoneParticipant *)participants->data : NULL; - - char *curi = linphone_address_as_string_uri_only(linphone_participant_get_address(firstParticipant)); - NSString *uri = [NSString stringWithUTF8String:curi]; - - LinphoneChatRoomCapabilitiesMask capabilities = linphone_chat_room_get_capabilities(chatRoom); - bool oneToOne = capabilities & LinphoneChatRoomCapabilitiesOneToOne; - if(oneToOne && [uri isEqual:friend]){ - NSIndexPath* indexPath = [NSIndexPath indexPathForRow:i inSection:0]; - NSArray* indexArray = [NSArray arrayWithObjects:indexPath, nil]; - [self.tableView reloadRowsAtIndexPaths:indexArray withRowAnimation:UITableViewRowAnimationFade]; - } - } - } - } -} - -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; - // we cannot do that in viewWillAppear because we will change view while previous transition - // was not finished, leading to "[CALayer retain]: message sent to deallocated instance" error msg - /* - if (IPAD && [self totalNumberOfItems] > 0) { - [PhoneMainView.instance changeCurrentView:ChatConversationView.compositeViewDescription]; - } - */ -} - -- (void)viewWillDisappear:(BOOL)animated { - while (_chatRooms) { - LinphoneChatRoom *chatRoom = (LinphoneChatRoom *)_chatRooms->data; - if (!chatRoom) - continue; - - - LinphoneChatRoomCbs *cbs = linphone_chat_room_get_current_callbacks(chatRoom); - if (cbs) {// If the view is getting changed while a chatroom deletion is in progress, the callbacks may already have been deleted despite the chatroom still being there, causing a potential crash. - linphone_chat_room_remove_callbacks(chatRoom, cbs); - } - _chatRooms = _chatRooms->next; - } - - [[NSNotificationCenter defaultCenter] removeObserver:self name:@"LinphoneFriendPresenceUpdate" object:nil]; - [AvatarBridge removeAllObserver]; -} - -- (void)layoutSubviews { - [self.tableView layoutSubviews]; - - CGSize contentSize = self.tableView.contentSize; - contentSize.width = self.tableView.bounds.size.width; - self.tableView.contentSize = contentSize; -} - -#pragma mark - - -static int sorted_history_comparison(LinphoneChatRoom *to_insert, LinphoneChatRoom *elem) { - time_t new = linphone_chat_room_get_last_update_time(to_insert); - time_t old = linphone_chat_room_get_last_update_time(elem); - if (new < old) - return 1; - else if (new > old) - return -1; - - return 0; -} - -- (MSList *)sortChatRooms { - MSList *sorted = nil; - const MSList *unsorted = linphone_core_get_chat_rooms(LC); - const MSList *iter = unsorted; - - while (iter) { - // store last message in user data - LinphoneChatRoom *chat_room = iter->data; - sorted = bctbx_list_insert_sorted(sorted, chat_room, (bctbx_compare_func)sorted_history_comparison); - iter = iter->next; - } - return sorted; -} - -- (void)loadData { - if (_data) bctbx_list_free(_data); - _data = [self sortChatRooms]; - [super loadData]; - - /* - if (IPAD) { - int idx = bctbx_list_index(_data, VIEW(ChatConversationView).chatRoom); - // if conversation view is using a chatroom that does not exist anymore, update it - if (idx != -1) { - NSIndexPath *indexPath = [NSIndexPath indexPathForRow:idx inSection:0]; - [self.tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone]; - } else if ([LinphoneManager.instance lpConfigBoolForKey:@"create_chat" withDefault:FALSE]) { - // if create chat, show the empty chat - [LinphoneManager.instance lpConfigSetBool:FALSE forKey:@"create_chat"]; - } else if (![self selectFirstRow]) { - ChatConversationCreateView *view = VIEW(ChatConversationCreateView); - [view fragmentCompositeDescription]; - view.tableController.notFirstTime = FALSE; - view.isForVoipConference = FALSE; - [PhoneMainView.instance changeCurrentView:view.compositeViewDescription]; - } - } - */ -} - -- (void)updateEventEntry:(LinphoneChatMessage *)msg { - int idx = bctbx_list_index(_data, linphone_chat_message_get_chat_room(msg)); - NSIndexPath *indexPath = [NSIndexPath indexPathForRow:idx inSection:0]; - if (idx < 0) { - LOGW(@"event entry doesn't exist"); - return; - } - [self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:FALSE]; -} - -- (void)markCellAsRead:(LinphoneChatRoom *)chatRoom { - int idx = bctbx_list_index(_data, VIEW(ChatConversationView).chatRoom); - NSIndexPath *indexPath = [NSIndexPath indexPathForRow:idx inSection:0]; - /* - if (IPAD) { - UIChatCell *cell = (UIChatCell *)[self.tableView cellForRowAtIndexPath:indexPath]; - [cell updateUnreadBadge]; - } - */ -} - -#pragma mark - UITableViewDataSource Functions - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return 1; -} - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - return bctbx_list_size(_data); -} - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - static NSString *kCellId = @"UIChatCell"; - UIChatCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId]; - if (cell == nil) - cell = [[UIChatCell alloc] initWithIdentifier:kCellId]; - - if ([[UIApplication sharedApplication] applicationState] == UIApplicationStateBackground) { - return cell; - } - - [cell setChatRoom:(LinphoneChatRoom *)bctbx_list_nth_data(_data, (int)[indexPath row])]; - [super accessoryForCell:cell atPath:indexPath]; - BOOL forwardMode = VIEW(ChatConversationViewSwift).pendingForwardMessage != nil; - cell.forwardIcon.hidden = !forwardMode; - if (forwardMode) { - cell.ephemeral.hidden = true; - cell.imdmIcon.hidden = true; - } - - return cell; -} - -- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(nonnull NSIndexPath *)indexPath { - return 86.0; -} - -#pragma mark - UITableViewDelegate Functions - -- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - [super tableView:tableView didSelectRowAtIndexPath:indexPath]; - if ([self isEditing]) - return; - - LinphoneChatRoom *chatRoom = (LinphoneChatRoom *)bctbx_list_nth_data(_data, (int)[indexPath row]); - [PhoneMainView.instance goToChatRoomSwift:chatRoom]; -} - -void deletion_chat_room_state_changed(LinphoneChatRoom *cr, LinphoneChatRoomState newState) { - LinphoneChatRoomCbs *cbs = linphone_chat_room_get_current_callbacks(cr); - ChatsListTableView *view =cbs ? ((__bridge ChatsListTableView *)linphone_chat_room_cbs_get_user_data(cbs) ?: NULL) : NULL; - if (!view) - return; - - if (newState == LinphoneChatRoomStateDeleted || newState == LinphoneChatRoomStateTerminationFailed) { - linphone_chat_room_remove_callbacks(cr, cbs); - view.chatRooms = bctbx_list_remove(view.chatRooms, cr); - view.nbOfChatRoomToDelete--; - } - - if (view.nbOfChatRoomToDelete == 0) { - // will force a call to [self loadData] - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneMessageReceived object:view]; - view.waitView.hidden = TRUE; - [SVProgressHUD dismiss]; - } -} - -- (void) deleteChatRooms { - _waitView.hidden = FALSE; - [SVProgressHUD show]; - bctbx_list_t *chatRooms = bctbx_list_copy(_chatRooms); - while (chatRooms) { - LinphoneChatRoom *chatRoom = (LinphoneChatRoom *)chatRooms->data; - if (!chatRoom) - continue; - - _nbOfChatRoomToDelete++; - LinphoneChatRoomCbs *cbs = linphone_factory_create_chat_room_cbs(linphone_factory_get()); - linphone_chat_room_cbs_set_state_changed(cbs, deletion_chat_room_state_changed); - linphone_chat_room_cbs_set_user_data(cbs, (__bridge void*)self); - linphone_chat_room_add_callbacks(chatRoom, cbs); - - FileTransferDelegate *ftdToDelete = nil; - for (FileTransferDelegate *ftd in [LinphoneManager.instance fileTransferDelegates]) { - if (linphone_chat_message_get_chat_room(ftd.message) == chatRoom) { - ftdToDelete = ftd; - break; - } - } - [ftdToDelete cancel]; - - // Re-enable push notification after deleting the chatroom, in order to get the notification if we are re-invited, or for secure 1-to-1 chatrooms. - [LinphoneManager setChatroomPushEnabled:chatRoom withPushEnabled:TRUE]; - linphone_core_delete_chat_room(LC, chatRoom); - chatRooms = chatRooms->next; - } -} - -- (void)tableView:(UITableView *)tableView - commitEditingStyle:(UITableViewCellEditingStyle)editingStyle - forRowAtIndexPath:(NSIndexPath *)indexPath { - if (editingStyle == UITableViewCellEditingStyleDelete) { - LinphoneChatRoom *chatRoom = (LinphoneChatRoom *)bctbx_list_nth_data(_data, (int)[indexPath row]); - NSString *msg = (LinphoneChatRoomCapabilitiesOneToOne & linphone_chat_room_get_capabilities(chatRoom)) - ? [NSString stringWithFormat:NSLocalizedString(@"Do you want to delete this conversation?", nil)] - : [NSString stringWithFormat:NSLocalizedString(@"Do you want to leave and delete this conversation?", nil)]; - [UIConfirmationDialog ShowWithMessage:msg - cancelMessage:nil - confirmMessage:nil - onCancelClick:^() {} - onConfirmationClick:^() { - _chatRooms = bctbx_list_new((void *)chatRoom); - [self deleteChatRooms]; - }]; - } -} - -- (void)removeSelectionUsing:(void (^)(NSIndexPath *))remover { - _chatRooms = NULL; - // we must iterate through selected items in reverse order - [self.selectedItems sortUsingComparator:^(NSIndexPath *obj1, NSIndexPath *obj2) { - return [obj2 compare:obj1]; - }]; - NSArray *copy = [[NSArray alloc] initWithArray:self.selectedItems]; - for (NSIndexPath *indexPath in copy) { - LinphoneChatRoom *chatRoom = (LinphoneChatRoom *)bctbx_list_nth_data(_data, (int)[indexPath row]); - _chatRooms = bctbx_list_append(_chatRooms, chatRoom); - } - [self deleteChatRooms]; - [self.selectedItems removeAllObjects]; - [self setEditing:NO animated:YES]; -} - -@end diff --git a/Classes/ChatsListView.h b/Classes/ChatsListView.h deleted file mode 100644 index c9598fcbe..000000000 --- a/Classes/ChatsListView.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "UIToggleButton.h" - -#import "ChatsListTableView.h" -#import "UICompositeView.h" -#import "UIBackToCallButton.h" - -@interface ChatsListView : UIViewController { -} - -@property(nonatomic, strong) IBOutlet ChatsListTableView *tableController; -@property(weak, nonatomic) IBOutlet UIButton *addButton; -@property (weak, nonatomic) IBOutlet UIButton *addGroupChatButton; -@property(weak, nonatomic) IBOutlet UIBackToCallButton *backToCallButton; -@property (weak, nonatomic) IBOutlet UIView *waitView; -@property (weak, nonatomic) IBOutlet UIInterfaceStyleButton *toggleSelectionButton; -@property (weak, nonatomic) IBOutlet UILabel *forwardTitle; -@property (weak, nonatomic) IBOutlet UIInterfaceStyleButton *cancelForwardButton; - - -- (IBAction)onAddGroupChatClick:(id)event; -- (IBAction)onAddClick:(id)event; -- (IBAction)onChatRoomSwiftClick:(id)event; -- (IBAction)onEditionChangeClick:(id)sender; -- (IBAction)onDeleteClick:(id)sender; - --(void) mediaSharing; - -@end diff --git a/Classes/ChatsListView.m b/Classes/ChatsListView.m deleted file mode 100644 index 812809e08..000000000 --- a/Classes/ChatsListView.m +++ /dev/null @@ -1,220 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "ChatsListView.h" -#import "PhoneMainView.h" - -#import "ChatConversationCreateView.h" -#import "linphoneapp-Swift.h" -@implementation ChatsListView - -#pragma mark - ViewController Functions - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(textReceivedEvent:) - name:kLinphoneMessageReceived - object:nil]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(callUpdateEvent:) - name:kLinphoneCallUpdate - object:nil]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(ephemeralDeleted:) - name:kLinphoneEphemeralMessageDeletedInRoom - object:nil]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(displayModeChanged) - name:kDisplayModeChanged - object:nil]; - [_backToCallButton update]; - self.tableController.waitView = _waitView; - [self setEditing:NO]; - LinphoneAccount *defaultAccount = linphone_core_get_default_account(LC); - _addGroupChatButton.hidden = !(defaultAccount && linphone_account_params_get_conference_factory_uri(linphone_account_get_params(defaultAccount))); - [_toggleSelectionButton setImage:[UIImage imageNamed:@"select_all_default.png"] forState:UIControlStateSelected]; - - // For testing crashlytics - /*UIButton* button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; - button.frame = CGRectMake(20, 50, 100, 30); - [button setTitle:@"Crash" forState:UIControlStateNormal]; - [button addTarget:self action:@selector(crashButtonTapped:) - forControlEvents:UIControlEventTouchUpInside]; - [self.view addSubview:button];*/ - - [self mediaSharing]; - -} - -- (void)mediaSharing{ - BOOL forwardMode; - - NSString* groupName = [NSString stringWithFormat:@"group.%@.linphoneExtension",[[NSBundle mainBundle] bundleIdentifier]]; - NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:groupName]; - NSDictionary *dict = [defaults valueForKey:@"photoData"]; - NSDictionary *dictFile = [defaults valueForKey:@"icloudData"]; - NSDictionary *dictUrl = [defaults valueForKey:@"url"]; - if(dict||dictFile||dictUrl) VIEW(ChatConversationViewSwift).sharingMedia = TRUE; - - if(VIEW(ChatConversationViewSwift).sharingMedia == false){ - forwardMode = VIEW(ChatConversationViewSwift).pendingForwardMessage != nil; - }else{ - forwardMode = VIEW(ChatConversationViewSwift).sharingMedia != false; - } - _tableController.editButton.hidden = forwardMode; - if(VIEW(ChatConversationViewSwift).sharingMedia == false){ - _forwardTitle.text = NSLocalizedString(@"Select a discussion or create a new one",nil); - } - else{ - _forwardTitle.text = NSLocalizedString(@"Select or create a conversation to share the file(s)",nil); - } - _forwardTitle.hidden = !forwardMode; - _cancelForwardButton.hidden = !forwardMode; - - _tableController.tableView.frame = CGRectMake(0, 66 + (forwardMode ? _forwardTitle.frame.size.height : 0), _tableController.tableView.frame.size.width, self.view.frame.size.height - 66 - ( forwardMode ? _forwardTitle.frame.size.height : 0 )); - _addButton.frame = CGRectMake(forwardMode ? 82 : 0 , _addButton.frame.origin.y, _addButton.frame.size.width, _addButton.frame.size.height); - _addGroupChatButton.frame = CGRectMake(forwardMode ? 164 : 82 , _addGroupChatButton.frame.origin.y, _addGroupChatButton.frame.size.width, _addGroupChatButton.frame.size.height); -} - -- (void)displayModeChanged{ - [self.tableController.tableView reloadData]; -} - -- (void)ephemeralDeleted:(NSNotification *)notif { - //LinphoneChatRoom *r =[[notif.userInfo objectForKey:@"room"] intValue]; - [self.tableController loadData]; -} - - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - - [NSNotificationCenter.defaultCenter removeObserver:self]; - self.view = NULL; -} - -#pragma mark - Event Functions - -- (void)textReceivedEvent:(NSNotification *)notif { - [_tableController loadData]; -} - -- (void)callUpdateEvent:(NSNotification *)notif { - [_backToCallButton update]; -} - -#pragma mark - UICompositeViewDelegate Functions - -static UICompositeViewDescription *compositeDescription = nil; - -+ (UICompositeViewDescription *)compositeViewDescription { - if (compositeDescription == nil) { - compositeDescription = [[UICompositeViewDescription alloc] init:self.class - statusBar:StatusBarView.class - tabBar:TabBarView.class - sideMenu:SideMenuView.class - fullscreen:false - isLeftFragment:YES - fragmentWith:ChatConversationCreateView.class]; - } - return compositeDescription; -} - -- (UICompositeViewDescription *)compositeViewDescription { - return self.class.compositeViewDescription; -} - -#pragma mark - Action Functions - -- (void)newChatCreate:(BOOL)isGroup { - ChatConversationCreateView *view = VIEW(ChatConversationCreateView); - [view fragmentCompositeDescription]; - view.isForEditing = false; - view.isGroupChat = isGroup; - view.tableController.notFirstTime = FALSE; - view.isForVoipConference = FALSE; - [view.tableController.contactsGroup removeAllObjects]; - [PhoneMainView.instance changeCurrentView:view.compositeViewDescription]; -} - -- (IBAction)onAddGroupChatClick:(id)event { - [self newChatCreate:TRUE]; - //if (IPAD) - //[NSNotificationCenter.defaultCenter postNotificationName:kLinphoneChatCreateViewChange object:VIEW(ChatConversationCreateView) userInfo:nil]; -} - -- (IBAction)onChatRoomSwiftClick:(id)event { - [PhoneMainView.instance changeCurrentView:ChatConversationViewSwift.compositeViewDescription]; -} - -- (IBAction)onAddClick:(id)event { - [self newChatCreate:FALSE]; - //if (IPAD) - //[NSNotificationCenter.defaultCenter postNotificationName:kLinphoneChatCreateViewChange object:VIEW(ChatConversationCreateView) userInfo:nil]; -} - -- (IBAction)onEditionChangeClick:(id)sender { - _addButton.hidden = _addGroupChatButton.hidden = self.tableController.isEditing; - [_backToCallButton update]; -} - -- (IBAction)onDeleteClick:(id)sender { - BOOL group = false; - NSArray *copy = [[NSArray alloc] initWithArray:_tableController.selectedItems]; - for (NSIndexPath *indexPath in copy) { - LinphoneChatRoom *chatRoom = (LinphoneChatRoom *)bctbx_list_nth_data(_tableController.data, (int)[indexPath row]); - if (LinphoneChatRoomCapabilitiesConference & linphone_chat_room_get_capabilities(chatRoom)) { - group = true; - break; - } - } - NSString *msg = group - ? [NSString stringWithFormat:NSLocalizedString(@"Do you want to leave and delete the selected conversations?", nil)] - : [NSString stringWithFormat:NSLocalizedString(@"Do you want to delete the selected conversations?", nil)]; - [UIConfirmationDialog ShowWithMessage:msg - cancelMessage:nil - confirmMessage:nil - onCancelClick:^() { - [self onEditionChangeClick:nil]; - } - onConfirmationClick:^() { - [_tableController removeSelectionUsing:nil]; - [self onEditionChangeClick:nil]; - }]; -} - -- (IBAction)crashButtonTapped:(id)sender { - assert(NO); -} - -- (IBAction)onCancelForwardClicked:(id)sender { - VIEW(ChatConversationViewSwift).sharingMedia = false; - VIEW(ChatConversationViewSwift).pendingForwardMessage = nil; - NSString* groupName = [NSString stringWithFormat:@"group.%@.linphoneExtension",[[NSBundle mainBundle] bundleIdentifier]]; - NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:groupName]; - [defaults removeObjectForKey:@"photoData"]; - [defaults removeObjectForKey:@"icloudData"]; - [defaults removeObjectForKey:@"url"]; - [PhoneMainView.instance popCurrentView]; -} - - - -@end diff --git a/Classes/Contact.h b/Classes/Contact.h deleted file mode 100644 index 46e664337..000000000 --- a/Classes/Contact.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import -#import -#include - -@interface Contact : NSObject - -//@property(nonatomic, readonly) ABRecordRef person; -@property(nonatomic, readonly) CNContact *person; -@property(nonatomic, readonly) LinphoneFriend *friend; - -@property(nonatomic, retain) NSString *identifier; -@property(nonatomic, retain) NSString *firstName; -@property(nonatomic, retain) NSString *lastName; -@property(nonatomic, retain) NSString *organizationName; -@property(nonatomic, retain) NSString *displayName; -@property(nonatomic, strong) NSMutableArray *sipAddresses; -@property(nonatomic, strong) NSMutableArray *emails; -@property(nonatomic, strong) NSMutableArray *phones; -@property BOOL createdFromLdapOrProvisioning; -@property BOOL added; - -- (void)setAvatar:(UIImage *)avatar; -- (UIImage *)avatar; -- (NSString *)displayName; - -- (instancetype)initWithCNContact:(CNContact *)contact; -- (instancetype)initWithFriend:(LinphoneFriend *) friend; -- (void)reloadFriend; -- (void)clearFriend; - -- (BOOL)setSipAddress:(NSString *)sip atIndex:(NSInteger)index; -- (BOOL)setEmail:(NSString *)email atIndex:(NSInteger)index; -- (BOOL)setPhoneNumber:(NSString *)phone atIndex:(NSInteger)index; - -- (BOOL)addSipAddress:(NSString *)sip; -- (BOOL)addEmail:(NSString *)email; -- (BOOL)addPhoneNumber:(NSString *)phone; - -- (BOOL)removeSipAddressAtIndex:(NSInteger)index; -- (BOOL)removePhoneNumberAtIndex:(NSInteger)index; -- (BOOL)removeEmailAtIndex:(NSInteger)index; - -- (NSMutableArray*)getSipAddressesWithoutDuplicatePhoneNumbers; -@end diff --git a/Classes/Contact.m b/Classes/Contact.m deleted file mode 100644 index 19f021d20..000000000 --- a/Classes/Contact.m +++ /dev/null @@ -1,516 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "Contact.h" -#import "ContactsListView.h" - -@implementation Contact - -- (instancetype)initWithCNContact:(CNContact *)acncontact { - return [self initWithPerson:acncontact andFriend:NULL]; -} - -- (instancetype)initWithFriend:(LinphoneFriend *)afriend { - return [self initWithPerson:NULL andFriend:afriend]; -} - -- (instancetype)initWithPerson:(CNContact *)acncontact - andFriend:(LinphoneFriend *)afriend { - self = [super init]; - _person = acncontact; - _friend = afriend ? linphone_friend_ref(afriend) : NULL; - _added = FALSE; - _createdFromLdapOrProvisioning = FALSE; - _phones = [[NSMutableArray alloc] init]; - _sipAddresses = [[NSMutableArray alloc] init]; - _emails = [[NSMutableArray alloc] init]; - if (_person) { - _identifier = _person.identifier; - _firstName = _person.givenName; - _lastName = _person.familyName; - _organizationName = _person.organizationName; - _displayName = [NSString stringWithFormat:@"%@ %@", _firstName, _lastName]; - for (CNLabeledValue *phoneNumber in _person.phoneNumbers) { - [_phones addObject:phoneNumber.value.stringValue]; - } - if ([_person respondsToSelector:NSSelectorFromString( CNInstantMessageAddressUsernameKey)] || [_person respondsToSelector:NSSelectorFromString(CNContactInstantMessageAddressesKey)]) { - if (_person.instantMessageAddresses != NULL) { - for (CNLabeledValue *sipAddr in _person.instantMessageAddresses) { - if ([FastAddressBook isSipAddress:sipAddr]) { - NSString *username = sipAddr.value.username; - [_sipAddresses addObject:username]; - } - } - } - } - - for (CNLabeledValue *email in _person.emailAddresses) { - [_emails addObject:email.value]; - } - const char *key = [NSString stringWithFormat:@"ab%@", acncontact.identifier].UTF8String; - // try to find friend associated with that person - if (_friend){ - linphone_friend_unref(_friend); - _friend = nil; - } - _friend = linphone_friend_list_find_friend_by_ref_key(linphone_core_get_default_friend_list(LC), key); - if (!_friend) { - _friend = linphone_core_create_friend(LC); - linphone_friend_set_ref_key(_friend, key); - linphone_friend_set_name(_friend, [NSString stringWithFormat:@"%@%@", _firstName ? _firstName : @"", _lastName ? [_firstName ? @" " : @"" stringByAppendingString:_lastName] : @""] .UTF8String); - for (NSString *sipAddr in _sipAddresses) { - LinphoneAddress *addr = linphone_core_interpret_url_2(LC, sipAddr.UTF8String, true); - if (addr) { - linphone_address_set_display_name(addr, [self displayName].UTF8String); - linphone_friend_add_address(_friend, addr); - linphone_address_destroy(addr); - } - } - for (NSString *phone in _phones) { - linphone_friend_add_phone_number(_friend, phone.UTF8String); - } - if (_organizationName) { - linphone_friend_set_organization(_friend, [_organizationName UTF8String]); - } - if (_friend) { - linphone_friend_enable_subscribes(_friend, FALSE); - linphone_friend_set_inc_subscribe_policy(_friend, LinphoneSPDeny); - linphone_core_add_friend(LC, _friend); - } - }else linphone_friend_ref(_friend); - } else if (_friend) { - [self loadFriend]; - } else { - LOGE(@"Contact cannot be initialized"); - return nil; - } - - /* LOGI(@"Contact %@ %@ initialized with %d phones, %d sip, %d emails", - self.firstName ?: @"", self.lastName ?: @"", self.phones.count, - self.sipAddresses.count, self.emails.count); - */ - return self; -} - -- (void)dealloc { - if (_friend) { - linphone_friend_unref(_friend); - } - _person = nil; - _friend = NULL; -} - -#pragma mark - Getters -- (UIImage *)avatar { - @try { - if (_person) - return [UIImage imageWithData:_person.imageData]; - } @catch (NSException *e) { - LOGE(@"CNContact imageData CNPropertyNotFetchedException : %@", e); - } - return nil; -} - -- (NSString *)displayName { - if (_friend) { - const char *friend_name = linphone_friend_get_name(_friend); - if (friend_name) - return [NSString stringWithUTF8String:friend_name]; - } - - if (_person) { - NSString *lFirstName = _person.givenName; - NSString *lLocalizedFirstName = [FastAddressBook localizedLabel:lFirstName]; - NSString *compositeName = _person.nickname; - NSString *lLastName = _person.familyName; - NSString *lLocalizedLastName = [FastAddressBook localizedLabel:lLastName]; - NSString *lOrganization = _person.organizationName; - NSString *lLocalizedOrganization = [FastAddressBook localizedLabel:lOrganization]; - - if (compositeName && ![compositeName isEqualToString:@""]) - return compositeName; - if (lLocalizedFirstName || lLocalizedLastName) - return [NSString stringWithFormat:@"%@ %@", lLocalizedFirstName, lLocalizedLastName]; - return (NSString *)lLocalizedOrganization; - } - - BOOL firstName = _firstName && ![_firstName isEqualToString:@""]; - BOOL lastName = _lastName && ![_lastName isEqualToString:@""]; - if (lastName || firstName) { - NSMutableString *str = NULL; - if (firstName) { - str = [_firstName copy]; - if (lastName) - [str appendFormat:@" %@", _lastName]; - return str; - } - str = [_lastName copy]; - return str; - } - - return NSLocalizedString(@"Unknown", nil); -} - -#pragma mark - Setters - -- (void)setAvatar:(UIImage *)avatar { - if (!_person) { - LOGW(@"%s: Cannot do it when using LinphoneFriend, skipping", __FUNCTION__); - return; - } - - NSData *imageAvatar = UIImageJPEGRepresentation(avatar, 0.9f); - [_person setValue:imageAvatar forKey:CNContactImageDataKey]; -} - -- (void)setFirstName:(NSString *)firstName { - BOOL ret = FALSE; - if ([firstName isEqualToString:_firstName]) - return; - - if (_friend) - ret = linphone_friend_set_name(_friend, [NSString stringWithFormat:@"%@ %@", firstName,_person.familyName].UTF8String); - - if (_person) { - [_person setValue:firstName forKey:CNContactGivenNameKey]; - [_person setValue:[NSString stringWithFormat:@"%@ %@", firstName, _person.familyName] forKey:CNContactNicknameKey]; - ret = TRUE; - } - - if (ret) { - _firstName = firstName; - _displayName = [NSString stringWithFormat:@"%@ %@", firstName, _person.familyName]; - } -} - -- (void)setLastName:(NSString *)lastName { - BOOL ret = FALSE; - if ([lastName isEqualToString:_lastName]) - return; - - if (_friend) - ret = linphone_friend_set_name(_friend, [NSString stringWithFormat:@"%@ %@", _person.givenName, lastName].UTF8String); - - if (_person) { - [_person setValue:lastName forKey:CNContactFamilyNameKey]; - [_person setValue:[NSString stringWithFormat:@"%@ %@", _person.givenName, lastName] forKey:CNContactNicknameKey]; - ret = TRUE; - } - - if (ret) { - _lastName = lastName; - _displayName = [NSString stringWithFormat:@"%@ %@", _person.givenName, lastName]; - } -} - -- (BOOL)setSipAddress:(NSString *)sip atIndex:(NSInteger)index { - if (!_person || [sip isEqualToString:@" "]) { - LOGW(@"%s: Cannot do it when using LinphoneFriend, skipping", __FUNCTION__); - return FALSE; - } - - NSString *normSip = [sip hasPrefix:@" "] ? [sip substringFromIndex:1] : sip; - normSip = [normSip hasPrefix:@"sip:"] ? [normSip substringFromIndex:4] : normSip; - CNInstantMessageAddress *cNSipMsgAddr = [[CNInstantMessageAddress alloc] initWithUsername:normSip service:@"SIP"]; - CNLabeledValue *sipAddress = [CNLabeledValue labeledValueWithLabel:NULL value:cNSipMsgAddr]; - NSMutableArray *> *tmpSipAddresses = [_person.instantMessageAddresses mutableCopy]; - if ((index + 1) > [_person.instantMessageAddresses count]) - [tmpSipAddresses addObject:sipAddress]; - else - [tmpSipAddresses replaceObjectAtIndex:index withObject:sipAddress]; - - [_person setValue:tmpSipAddresses forKey:CNContactInstantMessageAddressesKey]; - _sipAddresses[index] = normSip; - return TRUE; -} - -- (BOOL)setPhoneNumber:(NSString *)phone atIndex:(NSInteger)index { - if (!_person) { - LOGW(@"%s: Cannot do it when using LinphoneFriend, skipping", __FUNCTION__); - return FALSE; - } - - CNLabeledValue *mobileNumber = [CNLabeledValue labeledValueWithLabel:CNLabelPhoneNumberMobile value:[CNPhoneNumber phoneNumberWithStringValue:phone]]; - NSMutableArray *> *tmpPhoneNumbers = [_person.phoneNumbers mutableCopy]; - if ((index + 1) > [_person.phoneNumbers count]) - [tmpPhoneNumbers addObject:mobileNumber]; - else - [tmpPhoneNumbers replaceObjectAtIndex:index withObject:mobileNumber]; - - [_person setValue:tmpPhoneNumbers forKey:CNContactPhoneNumbersKey]; - _phones[index] = phone; - return TRUE; -} - -- (BOOL)setEmail:(NSString *)email atIndex:(NSInteger)index { - if (!_person) { - LOGW(@"%s: Cannot do it when using LinphoneFriend, skipping", __FUNCTION__); - return FALSE; - } - - CNLabeledValue *emailAddress = [CNLabeledValue labeledValueWithLabel:NULL value:email]; - NSMutableArray *> *tmpEmailAddress = [_person.emailAddresses mutableCopy]; - if ((index + 1) > [_person.emailAddresses count]) - [tmpEmailAddress addObject:emailAddress]; - else - [tmpEmailAddress replaceObjectAtIndex:index withObject:emailAddress]; - - [_person setValue:tmpEmailAddress forKey:CNContactEmailAddressesKey]; - _emails[index] = email; - return TRUE; -} - -- (BOOL)addSipAddress:(NSString *)sip { - BOOL ret = TRUE; - NSString *normSip = NULL; - if (sip == NULL || [sip isEqualToString:@""]) - return FALSE; - - if (![sip isEqualToString:@" "]) { - if (_person) { - normSip = [sip containsString:@"@"] ? [sip componentsSeparatedByString:@"@"][0] : sip; - CNInstantMessageAddress *cNSipMsgAddr; - cNSipMsgAddr = [[CNInstantMessageAddress alloc] initWithUsername:normSip service:@"SIP"]; //service:[normSip componentsSeparatedByString:@"@"][1]]; - CNLabeledValue *sipAddress = [CNLabeledValue labeledValueWithLabel:NULL value:cNSipMsgAddr]; - NSMutableArray *> *tmpSipAddresses = [_person.instantMessageAddresses mutableCopy]; - [tmpSipAddresses addObject:sipAddress]; - [_person setValue:tmpSipAddresses forKey:CNContactInstantMessageAddressesKey]; - ret = TRUE; - } else { - LinphoneAddress *addr = linphone_core_interpret_url_2(LC, sip.UTF8String, true) ?: linphone_address_new(sip.UTF8String); - if (!addr) - return FALSE; - - linphone_friend_add_address(_friend, addr); - linphone_address_destroy(addr); - // ensure that it was added by checking list size - ret = (bctbx_list_size(linphone_friend_get_addresses(_friend)) == _sipAddresses.count + 1); - } - } - - if (ret) { - if ([sip hasPrefix:@" "]) - [_sipAddresses addObject:[sip substringFromIndex:1]]; - else - [_sipAddresses addObject:sip]; - } - - return ret; -} - -- (BOOL)addPhoneNumber:(NSString *)phone { - BOOL ret = TRUE; - if (phone == NULL || [phone isEqualToString:@""]) - return FALSE; - - if (![phone isEqualToString:@" "]){ - if (_person) { - CNLabeledValue *mobileNumber = [CNLabeledValue labeledValueWithLabel:CNLabelPhoneNumberMobile - value:[CNPhoneNumber phoneNumberWithStringValue:phone]]; - NSMutableArray *>*tmpPhoneNumbers = [_person.phoneNumbers mutableCopy]; - [tmpPhoneNumbers addObject:mobileNumber]; - [_person setValue:tmpPhoneNumbers forKey:CNContactPhoneNumbersKey]; - ret = TRUE; - } else { - char *cphone = ms_strdup(phone.UTF8String); - if (!cphone) - return FALSE; - - linphone_friend_add_phone_number(_friend, cphone); - phone = [NSString stringWithUTF8String:cphone]; - ms_free(cphone); - // ensure that it was added by checking list size - ret = (bctbx_list_size(linphone_friend_get_phone_numbers( _friend)) == _phones.count + 1); - } - } - - if (ret) - [_phones addObject:phone]; - - return ret; -} - -- (BOOL)addEmail:(NSString *)email { - if (email == NULL || [email isEqualToString:@""]) - return FALSE; - - if (![email isEqualToString:@" "]) { - if (!_person) { - LOGW(@"%s: Cannot do it when using LinphoneFriend, skipping", __FUNCTION__); - return FALSE; - } - - CNLabeledValue *emailAddress = [CNLabeledValue labeledValueWithLabel:NULL value:email]; - NSMutableArray *> *tmpEmailAddress = [_person.emailAddresses mutableCopy]; - [tmpEmailAddress addObject:emailAddress]; - [_person setValue:tmpEmailAddress forKey:CNContactEmailAddressesKey]; - } - - [_emails addObject:email]; - return TRUE; -} - -- (BOOL)removeSipAddressAtIndex:(NSInteger)index { - BOOL ret = FALSE; - if (_person) { - NSMutableArray *>*tmpSipAddress = [_person.instantMessageAddresses mutableCopy]; - if ([tmpSipAddress count] > index) { - [tmpSipAddress removeObjectAtIndex:index]; - [_person setValue:tmpSipAddress forKey:CNContactInstantMessageAddressesKey]; - } - ret = TRUE; - } else { - LinphoneAddress *addr = linphone_core_interpret_url_2(LC, ((NSString *)_sipAddresses[index]).UTF8String, true); - if (!addr) - return FALSE; - - linphone_friend_remove_address(_friend, addr); - linphone_address_destroy(addr); - // ensure that it was destroyed by checking list size - ret = (bctbx_list_size(linphone_friend_get_addresses(_friend)) + 1 == _sipAddresses.count); - } - - if (ret) - [_sipAddresses removeObjectAtIndex:index]; - - return ret; -} - -- (BOOL)removePhoneNumberAtIndex:(NSInteger)index { - BOOL ret = FALSE; - if (_person && _person.phoneNumbers.count > 0) { - NSMutableArray *> *tmpPhoneNumbers = [_person.phoneNumbers mutableCopy]; - if ([tmpPhoneNumbers count] > index) { - [tmpPhoneNumbers removeObjectAtIndex:index]; - [_person setValue:tmpPhoneNumbers forKey:CNContactPhoneNumbersKey]; - } - ret = TRUE; - } else { - const char *phone = ((NSString *)_phones[index]).UTF8String; - linphone_friend_remove_phone_number(_friend, phone); - // ensure that it was destroyed by checking list size - ret = (bctbx_list_size(linphone_friend_get_phone_numbers(_friend)) + 1 == _phones.count); - } - if (ret) - [_phones removeObjectAtIndex:index]; - - return ret; -} - -- (BOOL)removeEmailAtIndex:(NSInteger)index { - if (!_person || _person.phoneNumbers.count == 0) { - LOGW(@"%s: Cannot do it when using LinphoneFriend, skipping", __FUNCTION__); - return FALSE; - } - - NSMutableArray *> *tmpEmailAddresses = [_person.emailAddresses mutableCopy]; - if ([tmpEmailAddresses count] > index) { - [tmpEmailAddresses removeObjectAtIndex:index]; - [_person setValue:tmpEmailAddresses forKey:CNContactEmailAddressesKey]; - } - - [_emails removeObjectAtIndex:index]; - return TRUE; -} - - -#pragma mark - LinphoneFriend utils - -- (void)loadFriend { - // First and Last name - _firstName = [NSString stringWithUTF8String:linphone_friend_get_name(_friend) ?: ""]; - _lastName = nil; - - // Phone numbers - _phones = [[NSMutableArray alloc] init]; - MSList *numbers = linphone_friend_get_phone_numbers(_friend); - while (numbers) { - NSString *phone = [NSString stringWithUTF8String:numbers->data]; - [_phones addObject:phone]; - numbers = numbers->next; - } - - // SIP (IM) - _sipAddresses = [[NSMutableArray alloc] init]; - const MSList *sips = linphone_friend_get_addresses(_friend); - while (sips) { - LinphoneAddress *addr = sips->data; - char *uri = linphone_address_as_string_uri_only(addr); - NSString *sipaddr = [NSString stringWithUTF8String:uri]; - [_sipAddresses addObject:sipaddr]; - ms_free(uri); - sips = sips->next; - } - - // Email - no support for LinphoneFriend - _emails = [[NSMutableArray alloc] init]; -} - -- (void)reloadFriend { - const char *key = [NSString stringWithFormat:@"ab%@", _person.identifier].UTF8String; - // try to find friend associated with that person - _friend = linphone_friend_list_find_friend_by_ref_key(linphone_core_get_default_friend_list(LC), key); - if (!_friend) { - _friend = linphone_core_create_friend(LC); - linphone_friend_set_ref_key(_friend, key); - linphone_friend_set_name(_friend, [NSString stringWithFormat:@"%@%@", _firstName ? _firstName : @"", _lastName ? [_firstName ? @" " : @"" stringByAppendingString:_lastName] : @""] .UTF8String); - for (NSString *sipAddr in _sipAddresses) { - LinphoneAddress *addr = linphone_core_interpret_url_2(LC, sipAddr.UTF8String, true); - if (addr) { - linphone_address_set_display_name(addr, [self displayName].UTF8String); - linphone_friend_add_address(_friend, addr); - linphone_address_destroy(addr); - } - } - for (NSString *phone in _phones) { - linphone_friend_add_phone_number(_friend, phone.UTF8String); - } - if (_friend) { - linphone_friend_enable_subscribes(_friend, FALSE); - linphone_friend_set_inc_subscribe_policy(_friend, LinphoneSPDeny); - linphone_core_add_friend(LC, _friend); - } - } else linphone_friend_ref(_friend); -} - -- (void)clearFriend { - if (_friend) linphone_friend_unref(_friend); - _friend = NULL; -} - -- (NSMutableArray*)getSipAddressesWithoutDuplicatePhoneNumbers { - NSMutableArray* resAdresses = [[NSMutableArray alloc] init]; - - for (NSString *address in _sipAddresses) { - LinphoneAddress *addr = linphone_core_interpret_url_2(LC, [address UTF8String], YES); - bool isFoundInPhones = false; - if (addr && linphone_address_get_username(addr)) { - for (NSString *phoneNb in _phones) { - if ([phoneNb isEqualToString:[NSString stringWithUTF8String:linphone_address_get_username(addr)]]) { - isFoundInPhones = true; - break; - } - } - } - if (!isFoundInPhones) [resAdresses addObject:address]; - } - - return resAdresses; -} -@end diff --git a/Classes/ContactDetailsTableView.h b/Classes/ContactDetailsTableView.h deleted file mode 100644 index 38ab1c19a..000000000 --- a/Classes/ContactDetailsTableView.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import - -#import "Contact.h" -#import "LinphoneUI/UIToggleButton.h" - -typedef enum _ContactSections { - ContactSections_None = 0, // first section is empty because we cannot set header for first section - ContactSections_FirstName, - ContactSections_LastName, - ContactSections_Organization, - ContactSections_Sip, - ContactSections_Number, - ContactSections_Email, - ContactSections_MAX -} ContactSections; - -@interface ContactDetailsTableView : UITableViewController - -@property(strong, nonatomic) Contact *contact; -@property(weak, nonatomic) IBOutlet UIToggleButton *editButton; - -- (void)addPhoneField:(NSString *)number; -- (void)addSipField:(NSString *)address; -- (void)addEmailField:(NSString *)address; -- (void)setContact:(Contact *)contact; -@property (weak, nonatomic) UIView *waitView; - -@end diff --git a/Classes/ContactDetailsTableView.m b/Classes/ContactDetailsTableView.m deleted file mode 100644 index 15c0bb13e..000000000 --- a/Classes/ContactDetailsTableView.m +++ /dev/null @@ -1,463 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "ContactDetailsTableView.h" -#import "PhoneMainView.h" -#import "UIContactDetailsCell.h" -#import "Utils.h" -#import "OrderedDictionary.h" - -@implementation ContactDetailsTableView - -#pragma mark - Property Functions - -- (NSMutableArray *)getSectionData:(NSInteger)section { - if (section == ContactSections_Number) { - return _contact.phones; - } else if (section == ContactSections_Sip) { - return _contact.sipAddresses; - } else if (section == ContactSections_Email) { - if ([LinphoneManager.instance - lpConfigBoolForKey:@"show_contacts_emails_preference"] == - true) { - return _contact.emails; - } - } - return nil; -} - -- (void)removeEmptyEntry:(UITableView *)tableview section:(NSInteger)section animated:(BOOL)animated { - NSMutableArray *sectionDict = [self getSectionData:section]; - for (NSInteger i = sectionDict.count - 1; i >= 0; i--) { - NSString *value = sectionDict[i]; - if (value.length == 0) { - [self removeEntry:tableview indexPath:[NSIndexPath indexPathForRow:i inSection:section] animated:animated]; - } - } -} - -- (void)removeEntry:(UITableView *)tableview indexPath:(NSIndexPath *)path animated:(BOOL)animated { - bool rmed = YES; - if (path.section == ContactSections_Number) { - rmed = [_contact removePhoneNumberAtIndex:path.row]; - } else if (path.section == ContactSections_Sip) { - rmed = [_contact removeSipAddressAtIndex:path.row]; - } else if (path.section == ContactSections_Email) { - rmed = [_contact removeEmailAtIndex:path.row]; - } else { - rmed = NO; - } - - if (rmed) { - [tableview deleteRowsAtIndexPaths:@[ path ] - withRowAnimation:animated ? UITableViewRowAnimationFade : UITableViewRowAnimationNone]; - } else { - LOGW(@"Cannot remove entry at path %@, skipping", path); - } -} - -- (void)addEntry:(UITableView *)tableview section:(NSInteger)section animated:(BOOL)animated value:(NSString *)value { - bool added = FALSE; - if (section == ContactSections_Number) { - if ([_contact.phones count] == [_contact.person.phoneNumbers count]) - added = [_contact addPhoneNumber:value]; - } else if (section == ContactSections_Sip) { - if ([_contact.sipAddresses count] == [self countSipAddressFromCNContact:_contact.person]) //[_contact.person.instantMessageAddresses count]) - added = [_contact addSipAddress:value]; - } else if (section == ContactSections_Email) { - if ([_contact.emails count] == - [_contact.person.emailAddresses count]) - added = [_contact addEmail:value]; - } - if (added) { - NSUInteger count = [self getSectionData:section].count; - [tableview - insertRowsAtIndexPaths:@[ [NSIndexPath indexPathForRow:count - 1 - inSection:section] ] - withRowAnimation:animated ? UITableViewRowAnimationFade - : UITableViewRowAnimationNone]; - } else { - LOGW(@"Cannot add entry '%@' in section %d, skipping", value, - section); - } -} - --(NSInteger)countSipAddressFromCNContact:(CNContact*) mCNContact{ - NSInteger count = 0; - if (mCNContact.instantMessageAddresses != NULL) { - for (CNLabeledValue *sipAddr in mCNContact.instantMessageAddresses) { - if ([FastAddressBook isSipAddress:sipAddr]) - count++; - } - } - return count; -} - - -- (void)setContact:(Contact *)acontact { - // if (acontact == _contact) - // return; - _contact = acontact; - [self loadData]; -} - -- (void)addPhoneField:(NSString *)number { - ContactSections i = 0; - while (i != ContactSections_MAX && i != ContactSections_Number) - ++i; - [self addEntry:[self tableView] section:i animated:FALSE value:number]; -} - -- (void)addSipField:(NSString *)address { - ContactSections i = 0; - while (i != ContactSections_MAX && i != ContactSections_Sip) - ++i; - [self addEntry:[self tableView] section:i animated:FALSE value:address]; -} - -- (void)addEmailField:(NSString *)address { - ContactSections i = 0; - while (i != ContactSections_MAX && i != ContactSections_Email) - ++i; - [self addEntry:[self tableView] section:i animated:FALSE value:address]; -} - -- (BOOL)isValid { - BOOL hasName = (_contact.firstName.length + _contact.lastName.length + _contact.organizationName.length > 0); - BOOL hasAddr = - (_contact.phones.count + _contact.sipAddresses.count) > 0; - return hasName && hasAddr; -} - -#pragma mark - UITableViewDataSource Functions - -- (void)loadData { - [self.tableView reloadData]; -} - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return ContactSections_MAX; -} - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - if (section == ContactSections_FirstName || section == ContactSections_LastName || section == ContactSections_Organization) { - /*first and last name only when editting */ - return (self.tableView.isEditing) ? 1 : 0; - } else if (section == ContactSections_Sip) { - return [_contact getSipAddressesWithoutDuplicatePhoneNumbers].count; - } else if (section == ContactSections_Number) { - return _contact.phones.count; - } else if (section == ContactSections_Email) { - BOOL showEmails = [LinphoneManager.instance - lpConfigBoolForKey:@"show_contacts_emails_preference"]; - return showEmails ? _contact.emails.count : 0; - } - return 0; -} - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - static NSString *kCellId = @"UIContactDetailsCell"; - UIContactDetailsCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId]; - if (cell == nil) { - cell = [[UIContactDetailsCell alloc] initWithIdentifier:kCellId]; - cell.waitView = _waitView; - [cell.editTextfield setDelegate:self]; - } - - cell.selectionStyle = UITableViewCellSelectionStyleNone; - - cell.indexPath = indexPath; - [cell hideDeleteButton:NO]; - [cell.editTextfield setKeyboardType:UIKeyboardTypeDefault]; - NSString *value = @""; - if (indexPath.section == ContactSections_FirstName) { - value = _contact.firstName; - [cell hideDeleteButton:YES]; - } else if (indexPath.section == ContactSections_LastName) { - value = _contact.lastName; - [cell hideDeleteButton:YES]; - } else if (indexPath.section == ContactSections_Organization) { - value = _contact.organizationName; - [cell hideDeleteButton:YES]; - } else if ([indexPath section] == ContactSections_Number) { - value = _contact.phones[indexPath.row]; - [cell.editTextfield setKeyboardType:UIKeyboardTypePhonePad]; - } else if ([indexPath section] == ContactSections_Sip) { - value = _contact.sipAddresses[indexPath.row]; - LinphoneAddress *addr = NULL; - if ([LinphoneManager.instance - lpConfigBoolForKey:@"contact_display_username_only"] && - (addr = linphone_core_interpret_url_2(LC, [value UTF8String], YES))) { - value = - [NSString stringWithCString:linphone_address_get_username(addr) - encoding:[NSString defaultCStringEncoding]]; - linphone_address_destroy(addr); - } - [cell.editTextfield setKeyboardType:UIKeyboardTypeASCIICapable]; - } else if ([indexPath section] == ContactSections_Email) { - value = _contact.emails[indexPath.row]; - [cell.editTextfield setKeyboardType:UIKeyboardTypeEmailAddress]; - } - if ([value hasPrefix:@" "]) - value = [value substringFromIndex:1]; - [cell setAddress:value]; - cell.contentView.userInteractionEnabled = false; - - return cell; -} - -- (void)tableView:(UITableView *)tableView - commitEditingStyle:(UITableViewCellEditingStyle)editingStyle - forRowAtIndexPath:(NSIndexPath *)indexPath { - [LinphoneUtils findAndResignFirstResponder:[self tableView]]; - if (editingStyle == UITableViewCellEditingStyleInsert) { - [tableView beginUpdates]; - [self addEntry:tableView - section:[indexPath section] - animated:TRUE - value:@" "]; - [tableView endUpdates]; - } else if (editingStyle == UITableViewCellEditingStyleDelete) { - [tableView beginUpdates]; - [self removeEntry:tableView indexPath:indexPath animated:TRUE]; - [tableView endUpdates]; - } -} - -#pragma mark - UITableViewDelegate Functions - -- (void)setEditing:(BOOL)editing animated:(BOOL)animated { - BOOL showEmails = [LinphoneManager.instance lpConfigBoolForKey:@"show_contacts_emails_preference"]; - if (editing) { - // add phone/SIP/email entries so that the user can add new data - for (int section = 0; section < [self numberOfSectionsInTableView:[self tableView]]; ++section) { - if (section == ContactSections_Number || section == ContactSections_Sip || - (showEmails && section == ContactSections_Email)) { - [self addEntry:self.tableView section:section animated:animated value:@""]; - } - } - _editButton.enabled = [self isValid]; - } else { - [LinphoneUtils findAndResignFirstResponder:[self tableView]]; - // remove empty phone numbers - for (int section = 0; section < [self numberOfSectionsInTableView:[self tableView]]; ++section) { - // remove phony entries that were not filled by the user - if (section == ContactSections_Number || section == ContactSections_Sip || - (showEmails && section == ContactSections_Email)) { - - [self removeEmptyEntry:self.tableView section:section animated:NO]; - } - } - _editButton.enabled = YES; - } - // order is imported here: empty rows must be deleted before table change editing mode - [super setEditing:editing animated:animated]; - - [self loadData]; -} - -- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { - NSString *text = nil; - BOOL canAddEntry = self.tableView.isEditing; - NSString *addEntryName = nil; - if (section == ContactSections_FirstName && self.tableView.isEditing) { - text = NSLocalizedString(@"First name", nil); - canAddEntry = NO; - } else if (section == ContactSections_LastName && self.tableView.isEditing) { - text = NSLocalizedString(@"Last name", nil); - canAddEntry = NO; - } else if (section == ContactSections_Organization && self.tableView.isEditing) { - text = NSLocalizedString(@"Organization", nil); - canAddEntry = NO; - } else if ([self getSectionData:section].count > 0 || self.tableView.isEditing) { - if (section == ContactSections_Number) { - text = NSLocalizedString(@"Phone numbers", nil); - addEntryName = NSLocalizedString(@"Add new phone number", nil); - } else if (section == ContactSections_Sip && !_contact.createdFromLdapOrProvisioning) { - text = NSLocalizedString(@"SIP addresses", nil); - addEntryName = NSLocalizedString(@"Add new SIP address", nil); - } else if (section == ContactSections_Email && - [LinphoneManager.instance lpConfigBoolForKey:@"show_contacts_emails_preference"]) { - text = NSLocalizedString(@"Email addresses", nil); - addEntryName = NSLocalizedString(@"Add new email", nil); - } - } - - if (!text) { - return nil; - } - - CGRect frame = CGRectMake(0, 0, tableView.frame.size.width, 30); - UIView *tempView = [[UIView alloc] initWithFrame:frame]; - if (@available(iOS 13, *)) { - tempView.backgroundColor = [UIColor systemBackgroundColor]; - } else { - tempView.backgroundColor = [UIColor whiteColor]; - } - - UILabel *tempLabel = [[UILabel alloc] initWithFrame:frame]; - tempLabel.backgroundColor = [UIColor clearColor]; - tempLabel.textColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"color_E.png"]]; - tempLabel.text = text.uppercaseString; - tempLabel.textAlignment = NSTextAlignmentCenter; - tempLabel.font = [UIFont systemFontOfSize:15]; - tempLabel.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin; - [tempView addSubview:tempLabel]; - - if (canAddEntry) { - frame.origin.x = (tableView.frame.size.width - 30 /*image size*/) / 2 - 5 /*right offset*/; - UIIconButton *tempAddButton = [[UIIconButton alloc] initWithFrame:frame]; - [tempAddButton setImage:[UIImage imageNamed:@"add_field_default.png"] forState:UIControlStateNormal]; - [tempAddButton setImage:[UIImage imageNamed:@"add_field_over.png"] forState:UIControlStateHighlighted]; - [tempAddButton setImage:[UIImage imageNamed:@"add_field_over.png"] forState:UIControlStateSelected]; - [tempAddButton addTarget:self action:@selector(onAddClick:) forControlEvents:UIControlEventTouchUpInside]; - tempAddButton.tag = section; - tempAddButton.accessibilityLabel = addEntryName; - tempAddButton.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin; - [tempView addSubview:tempAddButton]; - } - - return tempView; -} - -- (void)onAddClick:(id)sender { - NSInteger section = ((UIButton *)sender).tag; - UITableView *tableView = VIEW(ContactDetailsView).tableController.tableView; - NSInteger count = [self.tableView numberOfRowsInSection:section]; - NSIndexPath *indexPath = [NSIndexPath indexPathForRow:count inSection:section]; - [tableView.dataSource tableView:tableView - commitEditingStyle:UITableViewCellEditingStyleInsert - forRowAtIndexPath:indexPath]; -} - -- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView - editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { - return UITableViewCellEditingStyleNone; -} - -- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { - if (tableView.isEditing) { - return 44; - } else { - return 88; - } -} -- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section { - return 1e-5; -} - -- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { - if (section == 0 || - (!self.tableView.isEditing && (section == ContactSections_FirstName || section == ContactSections_LastName || section == ContactSections_LastName))) { - return 1e-5; - } - return [self tableView:tableView viewForHeaderInSection:section].frame.size.height; -} - -#pragma mark - UITextFieldDelegate Functions - -- (BOOL)textFieldShouldReturn:(UITextField *)textField { - [textField resignFirstResponder]; - return YES; -} - -- (void)textFieldUpdated:(UITextField *)textField { - UIView *view = [textField superview]; - while (view != nil && ![view isKindOfClass:[UIContactDetailsCell class]]) - view = [view superview]; - if (view != nil) { - UIContactDetailsCell *cell = (UIContactDetailsCell *)view; - // we cannot use indexPathForCell method here because if the cell is not visible anymore, - // it will return nil.. - NSIndexPath *path = [self.tableView indexPathForCell:cell]; // [self.tableView indexPathForCell:cell]; - ContactSections sect = (ContactSections)[path section]; - NSString *value = [textField text]; - - switch (sect) { - case ContactSections_FirstName: - _contact.firstName = value; - break; - case ContactSections_LastName: - _contact.lastName = value; - break; - case ContactSections_Organization: - _contact.organizationName = value; - break; - case ContactSections_Sip: - [_contact setSipAddress:value atIndex:path.row]; - value = _contact.sipAddresses[path.row]; // in case of reformatting - break; - case ContactSections_Email: - [_contact setEmail:value atIndex:path.row]; - value = _contact.emails[path.row]; // in case of reformatting - break; - case ContactSections_Number: - [_contact setPhoneNumber:value atIndex:path.row]; - value = - _contact.phones[path.row]; // in case of - // reformatting - break; - case ContactSections_MAX: - case ContactSections_None: - break; - } - cell.editTextfield.text = value; - _editButton.enabled = [self isValid]; - } -} - -- (void)textFieldDidEndEditing:(UITextField *)textField { - [self textFieldUpdated:textField]; - // TODO reload current contact -} - -- (BOOL)textField:(UITextField *)textField - shouldChangeCharactersInRange:(NSRange)range - replacementString:(NSString *)string { -#if 0 - // every time we modify contact entry, we must check if we can enable "edit" button - UIView *view = [textField superview]; - while (view != nil && ![view isKindOfClass:[UIContactDetailsCell class]]) - view = [view superview]; - - UIContactDetailsCell *cell = (UIContactDetailsCell *)view; - // we cannot use indexPathForCell method here because if the cell is not visible anymore, - // it will return nil.. - NSIndexPath *path = cell.indexPath; - - _editButton.enabled = NO; - for (ContactSections s = ContactSections_Sip; !_editButton.enabled && s <= ContactSections_Number; s++) { - for (int i = 0; !_editButton.enabled && i < [self tableView:self.tableView numberOfRowsInSection:s]; i++) { - NSIndexPath *cellpath = [NSIndexPath indexPathForRow:i inSection:s]; - if ([cellpath isEqual:path]) { - _editButton.enabled = (textField.text.length > 0); - } else { - UIContactDetailsCell *cell = - (UIContactDetailsCell *)[self tableView:self.tableView cellForRowAtIndexPath:cellpath]; - _editButton.enabled = (cell.editTextfield.text.length > 0); - } - } - } -#else - [self textFieldUpdated:textField]; -#endif - return YES; -} - -@end diff --git a/Classes/ContactDetailsView.h b/Classes/ContactDetailsView.h deleted file mode 100644 index 41893770c..000000000 --- a/Classes/ContactDetailsView.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "UICompositeView.h" -#import "UIToggleButton.h" -#import "ContactDetailsTableView.h" -#import "UIRoundedImageView.h" -#import "ImagePickerView.h" - -@interface ContactDetailsView : TPMultiLayoutViewController { - BOOL inhibUpdate; -} - -@property(nonatomic, assign, setter=setContact:) Contact *contact; -@property(nonatomic) Contact *tmpContact; -@property(nonatomic, strong) IBOutlet ContactDetailsTableView *tableController; -@property(nonatomic, strong) IBOutlet UIToggleButton *editButton; -@property(nonatomic, strong) IBOutlet UIButton *backButton; -@property(nonatomic, strong) IBOutlet UIButton *cancelButton; -@property(weak, nonatomic) IBOutlet UIImageView *avatarImage; -@property(weak, nonatomic) IBOutlet UILabel *nameLabel; -@property(weak, nonatomic) IBOutlet UILabel *organizationLabel; -@property(weak, nonatomic) IBOutlet UIToggleButton *deleteButton; -@property(weak, nonatomic) IBOutlet UIScrollView *contentView; -@property(weak, nonatomic) IBOutlet UILabel *emptyLabel; -@property BOOL isAdding; -@property (weak, nonatomic) IBOutlet UIView *waitView; - -- (IBAction)onBackClick:(id)event; -- (IBAction)onCancelClick:(id)event; -- (IBAction)onEditClick:(id)event; -- (IBAction)onDeleteClick:(id)sender; -- (IBAction)onAvatarClick:(id)sender; - - -- (void)updateBackOrCancelButton; -- (void)newContact; -- (void)newContact:(NSString *)address; -- (void)editContact:(Contact *)contact; -- (void)editContact:(Contact *)contact address:(NSString *)address; -- (void)setContact:(Contact *)contact; -- (void)resetContact; -@end diff --git a/Classes/ContactDetailsView.m b/Classes/ContactDetailsView.m deleted file mode 100644 index 66ce967ec..000000000 --- a/Classes/ContactDetailsView.m +++ /dev/null @@ -1,661 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "ContactDetailsView.h" -#import "PhoneMainView.h" -#import "UIContactDetailsCell.h" -#import "linphoneapp-Swift.h" - -@implementation ContactDetailsView - -#pragma mark - Lifecycle Functions - -- (id)init { - self = [super initWithNibName:NSStringFromClass(self.class) bundle:[NSBundle mainBundle]]; - if (self != nil) { - inhibUpdate = FALSE; - [NSNotificationCenter.defaultCenter - addObserver:self - selector:@selector(onAddressBookUpdate:) - name:kLinphoneAddressBookUpdate - object:nil]; - [[NSNotificationCenter defaultCenter] - addObserver:self - selector:@selector(onAddressBookUpdate:) - name:CNContactStoreDidChangeNotification - object:nil]; - } - return self; -} - -- (void)dealloc { - [NSNotificationCenter.defaultCenter removeObserver:self]; -} - -#pragma mark - - -- (void)onAddressBookUpdate:(NSNotification *)k { - if (!inhibUpdate && ![_tableController isEditing] && - (PhoneMainView.instance.currentView == self.compositeViewDescription) && - (_nameLabel.text == PhoneMainView.instance.currentName)) { - [self resetData]; - } -} - -- (void)resetData { - if (self.isEditing) { - [self setEditing:FALSE]; - } - - LOGI(@"Reset data to contact %p", _contact); - [_avatarImage setImage:[FastAddressBook imageForContact:_contact]]; - [_tableController setContact:_contact]; - _emptyLabel.hidden = YES; - _avatarImage.hidden = !_emptyLabel.hidden; - _deleteButton.hidden = !_emptyLabel.hidden; - _editButton.hidden = !_emptyLabel.hidden; -} - -- (void)removeContact { - inhibUpdate = TRUE; - [[LinphoneManager.instance fastAddressBook] deleteContact:_contact]; - inhibUpdate = FALSE; - - if (IPAD) { - ContactsListView *view = VIEW(ContactsListView); - if (![view .tableController selectFirstRow]) { - [self setContact:nil]; - } - } - - [PhoneMainView.instance popCurrentView]; -} - -- (void)saveData { - if (_contact == NULL) { - [PhoneMainView.instance popCurrentView]; - return; - } - PhoneMainView.instance.currentName = _contact.displayName; - _nameLabel.text = PhoneMainView.instance.currentName; - _organizationLabel.text = _contact.organizationName; - - // fix no sipaddresses in contact.friend - const MSList *sips = linphone_friend_get_addresses(_contact.friend); - while (sips) { - linphone_friend_remove_address(_contact.friend, sips->data); - sips = sips->next; - } - - for (NSString *sipAddr in _contact.sipAddresses) { - LinphoneAddress *addr = linphone_core_interpret_url_2(LC, sipAddr.UTF8String, true); - if (addr) { - linphone_friend_add_address(_contact.friend, addr); - linphone_address_destroy(addr); - } - } - [LinphoneManager.instance.fastAddressBook saveContact:_contact]; -} - -- (void)selectContact:(Contact *)acontact andReload:(BOOL)reload { - if (self.isEditing) { - [self setEditing:FALSE]; - } - - _contact = acontact; - _emptyLabel.hidden = (_contact != NULL); - _avatarImage.hidden = !_emptyLabel.hidden; - _deleteButton.hidden = !_emptyLabel.hidden || [_contact createdFromLdapOrProvisioning]; - _editButton.hidden = !_emptyLabel.hidden || [_contact createdFromLdapOrProvisioning]; - - [_avatarImage setImage:[FastAddressBook imageForContact:_contact]]; - [ContactDisplay setDisplayNameLabel:_nameLabel forContact:_contact]; - _organizationLabel.text = _contact.organizationName; - [_tableController setContact:_contact]; - - if (reload) { - [self setEditing:TRUE animated:FALSE]; - } -} - -- (void)modifyTmpContact:(Contact *)acontact { - if (_tmpContact) { - _tmpContact = nil; - } - if (!acontact) { - return; - } - @synchronized(LinphoneManager.instance.fastAddressBook) { - _tmpContact = [[Contact alloc] - initWithCNContact:[LinphoneManager.instance.fastAddressBook - getCNContactFromContact:acontact]]; - } -} - -- (void)addCurrentContactContactField:(NSString *)address { - LinphoneAddress *linphoneAddress = linphone_core_interpret_url_2(LC, address.UTF8String, true); - NSString *username = - linphoneAddress ? [NSString stringWithUTF8String:linphone_address_get_username(linphoneAddress)] : address; - - if (([username rangeOfString:@"@"].length > 0) && - ([LinphoneManager.instance lpConfigBoolForKey:@"show_contacts_emails_preference"] == true)) { - [_tableController addEmailField:username]; - } else if ((linphone_account_is_phone_number(NULL, [username UTF8String])) && - ([LinphoneManager.instance lpConfigBoolForKey:@"save_new_contacts_as_phone_number"] == true)) { - [_tableController addPhoneField:username]; - } else { - [_tableController addSipField:address]; - } - if (linphoneAddress) { - linphone_address_destroy(linphoneAddress); - } - [self setEditing:TRUE]; - [[_tableController tableView] reloadData]; -} - -- (void)newContact { - _isAdding = TRUE; - CNContact *contact = [[CNContact alloc] init]; - [self selectContact:[[Contact alloc] initWithCNContact:contact] - andReload:YES]; -} - -- (void)newContact:(NSString *)address { - CNContact *contact = [[CNContact alloc] init]; - Contact *mContact = [[Contact alloc] initWithCNContact:contact]; - [self selectContact:mContact andReload:NO]; - [self addCurrentContactContactField:address]; - // force to restart server subscription to add new contact into the list - [LinphoneManager.instance becomeActive]; -} - -- (void)editContact:(Contact *)acontact { - [self modifyTmpContact:acontact]; - [self selectContact:acontact andReload:YES]; -} - -- (void)editContact:(Contact *)acontact address:(NSString *)address { - [self modifyTmpContact:acontact]; - [self selectContact:acontact andReload:NO]; - [self addCurrentContactContactField:address]; -} - -- (void)setContact:(Contact *)acontact { - [self selectContact:acontact andReload:NO]; -} - -- (void)resetContact { - if (self.tmpContact) { - _contact.firstName = _tmpContact.firstName.copy; - _contact.lastName = _tmpContact.lastName.copy; - while (_contact.sipAddresses.count > 0) { - [_contact removeSipAddressAtIndex:0]; - } - NSInteger nbSipAd = 0; - while (_tmpContact.sipAddresses.count > nbSipAd) { - [_contact addSipAddress:_tmpContact.sipAddresses[nbSipAd]]; - nbSipAd++; - } - while (_contact.phones.count > 0) { - [_contact removePhoneNumberAtIndex:0]; - } - NSInteger nbPhone = 0; - while (_tmpContact.phones.count > nbPhone) { - [_contact addPhoneNumber:_tmpContact.phones[nbPhone]]; - nbPhone++; - } - while (_contact.emails.count > 0) { - [_contact removeEmailAtIndex:0]; - } - NSInteger nbEmail = 0; - while (_tmpContact.emails.count > nbEmail) { - [_contact addEmail:_tmpContact.emails[nbEmail]]; - nbEmail++; - } - self.tmpContact = NULL; - [self saveData]; - } -} - -#pragma mark - ViewController Functions - -- (void)updateBackOrCancelButton { - if (self.tableController.isEditing) { - _backButton.hidden = TRUE; - _cancelButton.hidden = FALSE; - } else { - if (!IPAD) { - _backButton.hidden = FALSE; - } - _cancelButton.hidden = TRUE; - } -} - -- (void)viewDidLoad { - [super viewDidLoad]; - - // if we use fragments, remove back button - if (IPAD) { - _backButton.hidden = YES; - _backButton.alpha = 0; - } - - [self setContact:NULL]; - - _tableController.tableView.accessibilityIdentifier = @"Contact table"; - - [_editButton setImage:[UIImage imageNamed:@"valid_disabled.png"] - forState:(UIControlStateDisabled | UIControlStateSelected)]; - - UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] - initWithTarget:self - action:@selector(dismissKeyboards)]; - - [self.view addGestureRecognizer:tap]; -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - _waitView.hidden = YES; - _editButton.hidden = ([ContactSelection getSelectionMode] != ContactSelectionModeEdit && - [ContactSelection getSelectionMode] != ContactSelectionModeNone); - [_tableController.tableView addObserver:self forKeyPath:@"contentSize" options:0 context:NULL]; - _tableController.waitView = _waitView; - if (!IPAD && !self.tableController.isEditing) - self.tmpContact = NULL; - - [[NSNotificationCenter defaultCenter] addObserver: self - selector: @selector(deviceOrientationDidChange:) - name: UIDeviceOrientationDidChangeNotification - object: nil]; - if (IPAD && self.contact == NULL) { - _editButton.hidden = TRUE; - _deleteButton.hidden = TRUE; - } else if (self.contact != NULL && self.contact.createdFromLdapOrProvisioning) { - _editButton.hidden = TRUE; - _deleteButton.hidden = TRUE; - } - PhoneMainView.instance.currentName = _nameLabel.text; - // Update presence for contact - for (NSInteger j = 0; j < [self.tableController.tableView numberOfSections]; ++j) { - for (NSInteger i = 0; i < [self.tableController.tableView numberOfRowsInSection:j]; ++i) { - [(UIContactDetailsCell *)[self.tableController.tableView - cellForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:j]] shouldHideLinphoneImageOfAddress]; - } - } - [_editButton setImage:[UIImage imageNamed:@"valid_default.png"] forState:UIControlStateSelected]; - - [self updateBackOrCancelButton]; - [self recomputeTableViewSize:FALSE]; - - NSDictionary* userInfo; - [NSNotificationCenter.defaultCenter addObserver:self - selector: @selector(receivePresenceNotification:) - name: @"LinphoneFriendPresenceUpdate" - object: userInfo]; -} - --(void) receivePresenceNotification:(NSNotification*)notification -{ - if ([notification.name isEqualToString:@"LinphoneFriendPresenceUpdate"]) - { - [self resetData]; - } -} - -- (void)deviceOrientationDidChange:(NSNotification*)notif { - if (IPAD) { - if (self.contact == NULL || (self.contact.firstName == NULL && self.contact.lastName == NULL)) { - if (! self.tableController.isEditing) { - _editButton.hidden = TRUE; - _deleteButton.hidden = TRUE; - _avatarImage.hidden = TRUE; - _emptyLabel.hidden = FALSE; - } - } - } - - if (self.contact != NULL && self.contact.createdFromLdapOrProvisioning) { - _editButton.hidden = TRUE; - _deleteButton.hidden = TRUE; - } - _nameLabel.hidden = self.tableController.isEditing; - _organizationLabel.hidden = self.tableController.isEditing; - [self updateBackOrCancelButton]; - [self recomputeTableViewSize:self.tableController.isEditing]; -} - -- (void)viewWillDisappear:(BOOL)animated { - if (_tableController && _tableController.tableView && [_tableController.tableView observationInfo]) { - [_tableController.tableView removeObserver:self forKeyPath:@"contentSize"]; - } - [super viewWillDisappear:animated]; - PhoneMainView.instance.currentName = NULL; - if (!_tableController.isEditing) { - [self resetContact]; - } - - BOOL rm = TRUE; - for (NSString *sip in _contact.sipAddresses) { - if (![sip isEqualToString:@""]) { - rm = FALSE; - break; - } - } - if (rm) { - for (NSString *phone in _contact.phones) { - if (![phone isEqualToString:@""]) { - rm = FALSE; - break; - } - } - } - if (rm) { - [LinphoneManager.instance.fastAddressBook deleteContact:_contact]; - } - - [[NSNotificationCenter defaultCenter] removeObserver:self name:@"LinphoneFriendPresenceUpdate" object:nil]; - [AvatarBridge removeAllObserver]; -} - -#pragma mark - UICompositeViewDelegate Functions - -static UICompositeViewDescription *compositeDescription = nil; - -+ (UICompositeViewDescription *)compositeViewDescription { - if (compositeDescription == nil) { - compositeDescription = [[UICompositeViewDescription alloc] init:self.class - statusBar:StatusBarView.class - tabBar:TabBarView.class - sideMenu:SideMenuView.class - fullscreen:false - isLeftFragment:NO - fragmentWith:ContactsListView.class]; - } - return compositeDescription; -} - -- (UICompositeViewDescription *)compositeViewDescription { - return self.class.compositeViewDescription; -} - -#pragma mark - - -- (void)setEditing:(BOOL)editing { - [self setEditing:editing animated:NO]; -} - -- (void)setEditing:(BOOL)editing animated:(BOOL)animated { - [super setEditing:editing animated:animated]; - if (editing) { - _editButton.hidden = FALSE; - _deleteButton.hidden = FALSE; - _avatarImage.hidden = FALSE; - } else { - _editButton.hidden = TRUE; - _deleteButton.hidden = TRUE; - _avatarImage.hidden = TRUE; - } - - if (animated) { - [UIView beginAnimations:nil context:nil]; - [UIView setAnimationDuration:1.0]; - } - [_tableController setEditing:editing animated:animated]; - if (editing) { - [_editButton setOn]; - } else { - [_editButton setOff]; - } - _cancelButton.hidden = !editing; - _backButton.hidden = editing; - _nameLabel.hidden = editing; - _organizationLabel.hidden = editing; - [ContactDisplay setDisplayNameLabel:_nameLabel forContact:_contact]; - _organizationLabel.text = _contact.organizationName; - - [self recomputeTableViewSize:editing]; - - if (animated) { - [UIView commitAnimations]; - } -} - -- (void)recomputeTableViewSize:(BOOL)editing { - CGRect frame = _tableController.tableView.frame; - if ([self viewIsCurrentlyPortrait] && !editing) { - frame.origin.y = _organizationLabel.frame.origin.y + _organizationLabel.frame.size.height; - } else { - frame.origin.y = _avatarImage.frame.size.height + _avatarImage.frame.origin.y; - } - - frame.size.height = _tableController.tableView.contentSize.height; - _tableController.tableView.frame = frame; - [self recomputeContentViewSize]; -} - -- (void)observeValueForKeyPath:(NSString *)keyPath - ofObject:(id)object - change:(NSDictionary *)change - context:(void *)context { - CGRect frame = _tableController.tableView.frame; - frame.size = _tableController.tableView.contentSize; - _tableController.tableView.frame = frame; - [self recomputeContentViewSize]; -} - -- (void)recomputeContentViewSize { - _contentView.contentSize = - CGSizeMake(_tableController.tableView.frame.size.width + _tableController.tableView.frame.origin.x, - _tableController.tableView.frame.size.height + _tableController.tableView.frame.origin.y); -} - -#pragma mark - Action Functions - -- (IBAction)onCancelClick:(id)event { - [self dismissKeyboards]; - if (!_isAdding) { - _contact.firstName = _tmpContact.firstName.copy; - _contact.lastName = _tmpContact.lastName.copy; - _contact.avatar = _tmpContact.avatar.copy; - [_avatarImage setImage:[FastAddressBook imageForContact:_contact]]; - - while (_contact.sipAddresses.count > 0) { - [_contact removeSipAddressAtIndex:0]; - } - NSInteger nbSipAd = 0; - if (_tmpContact.sipAddresses) { - while (_tmpContact.sipAddresses.count > nbSipAd) { - [_contact addSipAddress:_tmpContact.sipAddresses[nbSipAd]]; - nbSipAd++; - } - } - while (_contact.phones.count > 0) { - if (_contact.phones[0] != NULL && ![_contact.phones[0] isEqualToString:@" "]) { - [_contact removePhoneNumberAtIndex:0]; - } else { - // remove empty index - [_contact.phones removeObjectAtIndex:0]; - } - } - NSInteger nbPhone = 0; - if (_tmpContact.phones != NULL) { - while (_tmpContact.phones.count > nbPhone) { - [_contact addPhoneNumber:_tmpContact.phones[nbPhone]]; - nbPhone++; - } - } - while (_contact.emails.count > 0) { - [_contact removeEmailAtIndex:0]; - } - NSInteger nbEmail = 0; - if (_tmpContact.emails != NULL) { - while (_tmpContact.emails.count > nbEmail) { - [_contact addEmail:_tmpContact.emails[nbEmail]]; - nbEmail++; - } - } - // [self saveData]; - } else { - [LinphoneManager.instance.fastAddressBook deleteContact:_contact]; - } - - [self setEditing:FALSE]; - if (IPAD) { - _emptyLabel.hidden = !_isAdding; - _avatarImage.hidden = !_emptyLabel.hidden; - _deleteButton.hidden = !_emptyLabel.hidden; - _editButton.hidden = !_emptyLabel.hidden; - } else { - if (_isAdding) { - [PhoneMainView.instance popCurrentView]; - } else { - _avatarImage.hidden = FALSE; - _deleteButton.hidden = FALSE; - _editButton.hidden = FALSE; - } - } - - self.tmpContact = NULL; - if (_isAdding) { - [PhoneMainView.instance - popToView:ContactsListView.compositeViewDescription]; - _isAdding = FALSE; - } -} - -- (IBAction)onBackClick:(id)event { - if ([ContactSelection getSelectionMode] == ContactSelectionModeEdit) { - [ContactSelection setSelectionMode:ContactSelectionModeNone]; - } - - NSString* previous = [PhoneMainView.instance getPreviousViewName]; - if ([previous isEqualToString:@"HistoryDetailsView"]) { - HistoryDetailsView *view = VIEW(HistoryDetailsView); - [PhoneMainView.instance popToView:view.compositeViewDescription]; - } else { - ContactsListView *view = VIEW(ContactsListView); - [PhoneMainView.instance popToView:view.compositeViewDescription]; - } -} - -- (IBAction)onEditClick:(id)event { - if (_tableController.isEditing) { - [LinphoneManager.instance setContactsUpdated:TRUE]; - [self setEditing:FALSE]; - if(![self hasDuplicateContactOf:_contact]){ - [self saveData]; - _isAdding = FALSE; - self.tmpContact = NULL; - _avatarImage.hidden = FALSE; - _deleteButton.hidden = FALSE; - _editButton.hidden = FALSE; - }else{ - LOGE(@"====>>>> Duplicated Contacts detected !!!"); - [[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Contact error", nil) message:NSLocalizedString(@"Contact duplicate", nil) delegate:nil cancelButtonTitle:nil otherButtonTitles:@"Continue", nil] show]; - } - } else { - [self modifyTmpContact:_contact]; - [self setEditing:TRUE]; - } -} - -- (IBAction)onDeleteClick:(id)sender { - NSString *msg = NSLocalizedString(@"Do you want to delete selected contact?\nIt will also be deleted from your phone's address book.", nil); - [UIConfirmationDialog ShowWithMessage:msg - cancelMessage:nil - confirmMessage:nil - onCancelClick:nil - onConfirmationClick:^() { - if (_tableController.isEditing) { - [self onCancelClick:sender]; - } - [self removeContact]; - [self dismissKeyboards]; - }]; -} - -- (IBAction)onAvatarClick:(id)sender { - [LinphoneUtils findAndResignFirstResponder:self.view]; - if (_tableController.isEditing) { - [ImagePickerView SelectImageFromDevice:self atPosition:_avatarImage inView:self.view withDocumentMenuDelegate:nil]; - } -} - -- (void)dismissKeyboards { - NSArray *cells = [self.tableController.tableView visibleCells]; - for (UIContactDetailsCell *cell in cells) { - UIView * txt = cell.editTextfield; - if ([txt isKindOfClass:[UITextField class]] && [txt isFirstResponder]) { - [txt resignFirstResponder]; - } - } -} - -- (BOOL) hasDuplicateContactOf:(Contact*) contactToCheck{ - CNContactStore *store = [[CNContactStore alloc] init]; - NSArray *keysToFetch = @[ - CNContactEmailAddressesKey, CNContactPhoneNumbersKey, - CNContactInstantMessageAddressesKey, CNInstantMessageAddressUsernameKey, - CNContactFamilyNameKey, CNContactGivenNameKey, CNContactPostalAddressesKey, - CNContactIdentifierKey, CNContactImageDataKey, CNContactNicknameKey - ]; - CNMutableContact *mCNContact = - [[store unifiedContactWithIdentifier:contactToCheck.identifier keysToFetch:keysToFetch error:nil] mutableCopy]; - if(mCNContact == NULL){ - for(NSString *address in contactToCheck.sipAddresses){ - NSString *name = [FastAddressBook normalizeSipURI:address use_prefix:TRUE]; - if([LinphoneManager.instance.fastAddressBook.addressBookMap objectForKey:name]){ - return TRUE; - } - } - return FALSE; - }else{ - return FALSE; - } -} - - -#pragma mark - Image picker delegate - -- (void)imagePickerDelegateImage:(UIImage *)image info:(NSDictionary *)info { - // When getting image from the camera, it may be 90° rotated due to orientation - // (image.imageOrientation = UIImageOrientationRight). Just rotate it to be face up. - if (image.imageOrientation != UIImageOrientationUp) { - UIGraphicsBeginImageContextWithOptions(image.size, false, image.scale); - [image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)]; - image = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - } - - // Dismiss popover on iPad - if (IPAD) { - [VIEW(ImagePickerView).popoverController dismissPopoverAnimated:TRUE]; - } - - [_contact setAvatar:image]; - - [_avatarImage setImage:[FastAddressBook imageForContact:_contact]]; -} - -- (void)imagePickerDelegateVideo:(NSURL*)url info:(NSDictionary *)info { - return; -} - -@end diff --git a/Classes/ContactsListTableView.h b/Classes/ContactsListTableView.h deleted file mode 100644 index adf5a87b6..000000000 --- a/Classes/ContactsListTableView.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import - -#import "UICheckBoxTableView.h" - -#import "OrderedDictionary.h" - -@interface ContactsListTableView : UICheckBoxTableView { - @private - OrderedDictionary *addressBookMap; -} -@property(atomic) BOOL reloadMagicSearch; -- (void)loadData; -- (void)loadDataWithFilter:(NSString *)filter; -- (void)removeAllContacts; - -@end diff --git a/Classes/ContactsListTableView.m b/Classes/ContactsListTableView.m deleted file mode 100644 index 2e612f5d4..000000000 --- a/Classes/ContactsListTableView.m +++ /dev/null @@ -1,397 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "linphoneapp-Swift.h" -#import "ContactsListTableView.h" -#import "UIContactCell.h" -#import "LinphoneManager.h" -#import "PhoneMainView.h" -#import "Utils.h" - -@implementation ContactsListTableView - -#pragma mark - Lifecycle Functions - -- (void)initContactsTableViewController { - addressBookMap = [[OrderedDictionary alloc] init]; - [[NSNotificationCenter defaultCenter] - addObserver:self - selector:@selector(onAddressBookUpdate:) - name:CNContactStoreDidChangeNotification - object:nil]; - [[NSNotificationCenter defaultCenter] - addObserver:self - selector:@selector(onMagicSearchFinished:) - name:kLinphoneMagicSearchFinished - object:nil]; -} - -- (void)onAddressBookUpdate:(NSNotification *)k { - if ((![MagicSearchSingleton.instance isSearchOngoing] && (PhoneMainView.instance.currentView == ContactsListView.compositeViewDescription)) || (IPAD && PhoneMainView.instance.currentView == ContactDetailsView.compositeViewDescription)) { - [self loadData]; - } -} - -- (void)onMagicSearchFinished:(NSNotification *)k { - [self buildContactTable]; -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - if (IPAD) { - if (![self selectFirstRow]) { - ContactDetailsView *view = VIEW(ContactDetailsView); - [view setContact:nil]; - } - } - NSDictionary* userInfo; - [NSNotificationCenter.defaultCenter addObserver:self - selector: @selector(receivePresenceNotification:) - name: @"LinphoneFriendPresenceUpdate" - object: userInfo]; -} - --(void)viewWillDisappear:(BOOL)animated{ - [super viewWillDisappear:animated]; - [[NSNotificationCenter defaultCenter] removeObserver:self name:@"LinphoneFriendPresenceUpdate" object:nil]; - [AvatarBridge removeAllObserver]; -} - --(void)viewDidDisappear:(BOOL)animated{ - [super viewDidDisappear:animated]; -} - --(void) receivePresenceNotification:(NSNotification*)notification -{ - if ([notification.name isEqualToString:@"LinphoneFriendPresenceUpdate"]) - { - NSDictionary* userInfo = notification.userInfo; - NSString* friend = (NSString*)userInfo[@"friend"]; - - NSArray *indexPathsVisible = self.tableView.indexPathsForVisibleRows; - - for (int i = 0; i < indexPathsVisible.count; i++) - { - NSMutableArray *subAr = [addressBookMap objectForKey:[addressBookMap keyAtIndex:indexPathsVisible[i].section]]; - Contact *contact = subAr[indexPathsVisible[i].row]; - - if (contact.sipAddresses.count > 0){ - for (NSString *sip in contact.sipAddresses) { - NSString *uri = [@"sip:" stringByAppendingString:sip]; - - if([uri isEqual:friend]){ - NSIndexPath* indexPath = indexPathsVisible[i]; - NSArray* indexArray = [NSArray arrayWithObjects:indexPath, nil]; - [self.tableView reloadRowsAtIndexPaths:indexArray withRowAnimation:UITableViewRowAnimationFade]; - } - } - }else if (contact.phones.count > 0){ - for (NSString *phone in contact.phones) { - NSString *uri = phone; - - if([uri isEqual:friend]){ - NSIndexPath* indexPath = indexPathsVisible[i]; - NSArray* indexArray = [NSArray arrayWithObjects:indexPath, nil]; - [self.tableView reloadRowsAtIndexPaths:indexArray withRowAnimation:UITableViewRowAnimationFade]; - } - } - } - } - } -} - -- (id)init { - self = [super init]; - if (self) { - [self initContactsTableViewController]; - } - _reloadMagicSearch = TRUE; - return self; -} - -- (id)initWithCoder:(NSCoder *)decoder { - self = [super initWithCoder:decoder]; - if (self) { - [self initContactsTableViewController]; - } - return self; -} - -- (void)dealloc { - [[NSNotificationCenter defaultCenter] removeObserver:self]; - [self removeAllContacts]; -} - -- (void)removeAllContacts { - for (NSInteger j = 0; j < [self.tableView numberOfSections]; ++j) { - for (NSInteger i = 0; i < [self.tableView numberOfRowsInSection:j]; ++i) { - [[self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:j]] setContact:nil]; - } - } -} - -#pragma mark - - -static int ms_strcmpfuz(const char *fuzzy_word, const char *sentence) { - if (!fuzzy_word || !sentence) { - return fuzzy_word == sentence; - } - const char *c = fuzzy_word; - const char *within_sentence = sentence; - for (; c != NULL && *c != '\0' && within_sentence != NULL; ++c) { - within_sentence = strchr(within_sentence, *c); - // Could not find c character in sentence. Abort. - if (within_sentence == NULL) { - break; - } - // since strchr returns the index of the matched char, move forward - within_sentence++; - } - - // If the whole fuzzy was found, returns 0. Otherwise returns number of characters left. - return (int)(within_sentence != NULL ? 0 : fuzzy_word + strlen(fuzzy_word) - c); -} - -- (NSString *)displayNameForContact:(Contact *)person { - NSString *name = person.displayName; - if (name != nil && [name length] > 0 && ![name isEqualToString:NSLocalizedString(@"Unknown", nil)]) { - - // Sort contacts by first letter. We need to translate the name to ASCII first, because of UTF-8 - // issues. For instance expected order would be: Alberta(A tilde) before ASylvano. - NSData *name2ASCIIdata = [name dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; - NSString *name2ASCII = [[NSString alloc] initWithData:name2ASCIIdata encoding:NSASCIIStringEncoding]; - return name2ASCII; - } - return NSLocalizedString(@"Unknown", nil); -} - -- (void)buildContactTable { - @synchronized(addressBookMap) { - //Set all contacts from ContactCell to nil - for (NSInteger j = 0; j < [self.tableView numberOfSections]; ++j) - { - for (NSInteger i = 0; i < [self.tableView numberOfRowsInSection:j]; ++i) - { - [[self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:j]] setContact:nil]; - } - } - // Reset Address book - [addressBookMap removeAllObjects]; - - NSMutableArray *subAr = [NSMutableArray new]; - [addressBookMap insertObject:subAr forKey:@"" selector:@selector(caseInsensitiveCompare:)]; - // - - NSArray *searchResults = [MagicSearchSingleton.instance getLastSearchContacts]; - - for (Contact *contact in searchResults) { - NSMutableString *name = [[NSMutableString alloc] initWithString: [self displayNameForContact:contact]]; - if (name != nil) { - NSString *firstChar = [[name substringToIndex:1] uppercaseString]; - // Put in correct subAr - if ([firstChar characterAtIndex:0] < 'A' || [firstChar characterAtIndex:0] > 'Z') { - firstChar = @"#"; - } - NSMutableArray *subAr = [addressBookMap objectForKey:firstChar]; - if (subAr == nil) { - subAr = [[NSMutableArray alloc] init]; - [addressBookMap insertObject:subAr forKey:firstChar selector:@selector(caseInsensitiveCompare:)]; - } - NSUInteger idx = [subAr indexOfObject:contact inSortedRange:(NSRange){0, subAr.count} options:NSBinarySearchingInsertionIndex usingComparator:^NSComparisonResult( Contact *_Nonnull obj1, Contact *_Nonnull obj2) { - return [[self displayNameForContact:obj1] compare:[self displayNameForContact:obj2] options:NSCaseInsensitiveSearch]; - }]; - if (![subAr containsObject:contact]) { - [subAr insertObject:contact atIndex:idx]; - } - } - } - [super loadData]; - } - // since we refresh the tableview, we must perform this on main - // thread - dispatch_async(dispatch_get_main_queue(), ^(void) { - if (IPAD) { - if (!([self totalNumberOfItems] > 0)) { - ContactDetailsView *view = VIEW(ContactDetailsView); - [view setContact:nil]; - } - } - }); - _reloadMagicSearch = FALSE; -} - -- (void)loadData { - if (_reloadMagicSearch) { - NSString *domain = @""; - if ([ContactSelection getSipFilterEnabled]) { - LinphoneAccount *defaultAccount = linphone_core_get_default_account(LC); - if (defaultAccount) { - domain = [NSString stringWithUTF8String:linphone_account_params_get_domain(linphone_account_get_params(defaultAccount))]; - } - } - int sourceFlags = LinphoneMagicSearchSourceFriends | LinphoneMagicSearchSourceLdapServers; - [MagicSearchSingleton.instance searchForContactsWithDomain:domain sourceFlags:sourceFlags clearCache:[LinphoneManager.instance getContactsUpdated]]; - [LinphoneManager.instance setContactsUpdated:FALSE]; - } else { - [self buildContactTable]; - } -} - -- (void)loadDataWithFilter: (NSString *)filter { - LOGI(@"Load search contact list"); - _reloadMagicSearch = _reloadMagicSearch || [filter length]==0 || ![[MagicSearchSingleton.instance currentFilter] isEqualToString:filter]; - [MagicSearchSingleton.instance setCurrentFilter:filter]; - [self loadData]; -} - -#pragma mark - UITableViewDataSource Functions - -- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView { - return [addressBookMap allKeys]; -} - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return [addressBookMap count]; -} - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - return [(OrderedDictionary *)[addressBookMap objectForKey:[addressBookMap keyAtIndex:section]] count]; -} - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - NSString *kCellId = NSStringFromClass(UIContactCell.class); - UIContactCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId]; - if (cell == nil) { - cell = [[UIContactCell alloc] initWithIdentifier:kCellId]; - } - NSMutableArray *subAr = [addressBookMap objectForKey:[addressBookMap keyAtIndex:[indexPath section]]]; - Contact *contact = subAr[indexPath.row]; - - // Cached avatar - UIImage *image = [FastAddressBook imageForContact:contact]; - [cell.avatarImage setImage:image]; - [cell setContact:contact]; - [super accessoryForCell:cell atPath:indexPath]; - cell.contentView.userInteractionEnabled = false; - - return cell; -} - -- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { - CGRect frame = CGRectMake(0, 0, tableView.frame.size.width, tableView.sectionHeaderHeight); - UIView *tempView = [[UIView alloc] initWithFrame:frame]; - if (@available(iOS 13, *)) { - tempView.backgroundColor = [UIColor systemBackgroundColor]; - } else { - tempView.backgroundColor = [UIColor whiteColor]; - } - - UILabel *tempLabel = [[UILabel alloc] initWithFrame:frame]; - tempLabel.backgroundColor = [UIColor clearColor]; - tempLabel.textColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"color_A.png"]]; - tempLabel.text = [addressBookMap keyAtIndex:section]; - tempLabel.textAlignment = NSTextAlignmentCenter; - tempLabel.font = [UIFont boldSystemFontOfSize:17]; - tempLabel.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin; - [tempView addSubview:tempLabel]; - - return tempView; -} - -- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - [super tableView:tableView didSelectRowAtIndexPath:indexPath]; - if (![self isEditing]) { - NSMutableArray *subAr = [addressBookMap objectForKey:[addressBookMap keyAtIndex:[indexPath section]]]; - Contact *contact = subAr[indexPath.row]; - - // Go to Contact details view - ContactDetailsView *view = VIEW(ContactDetailsView); - [PhoneMainView.instance changeCurrentView:view.compositeViewDescription]; - if (([ContactSelection getSelectionMode] != ContactSelectionModeEdit) || !([ContactSelection getAddAddress])) { - [view setContact:contact]; - } else { - if (IPAD) { - [view resetContact]; - view.isAdding = FALSE; - } - [view editContact:contact address:[ContactSelection getAddAddress]]; - } - } -} - -- (void)tableView:(UITableView *)tableView - commitEditingStyle:(UITableViewCellEditingStyle)editingStyle - forRowAtIndexPath:(NSIndexPath *)indexPath { - if (editingStyle == UITableViewCellEditingStyleDelete) { - [NSNotificationCenter.defaultCenter removeObserver:self]; - - NSString *msg = NSLocalizedString(@"Do you want to delete selected contact?\nIt will also be deleted from your phone's address book.", nil); - [UIConfirmationDialog ShowWithMessage:msg - cancelMessage:nil - confirmMessage:nil - onCancelClick:nil - onConfirmationClick:^() { - [tableView beginUpdates]; - - NSString *firstChar = [addressBookMap keyAtIndex:[indexPath section]]; - NSMutableArray *subAr = [addressBookMap objectForKey:firstChar]; - Contact *contact = subAr[indexPath.row]; - [subAr removeObjectAtIndex:indexPath.row]; - if (subAr.count == 0) { - [addressBookMap removeObjectForKey:firstChar]; - [tableView deleteSections:[NSIndexSet indexSetWithIndex:indexPath.section] - withRowAnimation:UITableViewRowAnimationFade]; - } - UIContactCell* cell = [self.tableView cellForRowAtIndexPath:indexPath]; - [cell setContact:NULL]; - [[LinphoneManager.instance fastAddressBook] deleteContact:contact]; - [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]; - [tableView endUpdates]; - - [NSNotificationCenter.defaultCenter addObserver:self selector:@selector(onAddressBookUpdate:) - name:kLinphoneAddressBookUpdate - object:nil]; - [self loadData]; - }]; - } -} - -- (void)removeSelectionUsing:(void (^)(NSIndexPath *))remover { - [super removeSelectionUsing:^(NSIndexPath *indexPath) { - [NSNotificationCenter.defaultCenter removeObserver:self]; - - NSString *firstChar = [addressBookMap keyAtIndex:[indexPath section]]; - NSMutableArray *subAr = [addressBookMap objectForKey:firstChar]; - Contact *contact = subAr[indexPath.row]; - [subAr removeObjectAtIndex:indexPath.row]; - if (subAr.count == 0) { - [addressBookMap removeObjectForKey:firstChar]; - } - UIContactCell* cell = [self.tableView cellForRowAtIndexPath:indexPath]; - [cell setContact:NULL]; - [[LinphoneManager.instance fastAddressBook] deleteContact:contact]; - - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(onAddressBookUpdate:) - name:kLinphoneAddressBookUpdate - object:nil]; - }]; -} - -@end diff --git a/Classes/ContactsListView.h b/Classes/ContactsListView.h deleted file mode 100644 index 23835b8c8..000000000 --- a/Classes/ContactsListView.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "UICompositeView.h" -#import "ContactsListTableView.h" -#import "UIInterfaceStyleButton.h" - -typedef enum _ContactSelectionMode { ContactSelectionModeNone, ContactSelectionModeEdit } ContactSelectionMode; - -@interface ContactSelection : NSObject { -} - -+ (void)setSelectionMode:(ContactSelectionMode)selectionMode; -+ (ContactSelectionMode)getSelectionMode; -+ (void)setAddAddress:(NSString *)address; -+ (NSString *)getAddAddress; -/*! - * Filters contacts by SIP domain. - * @param enabled Wether SIP domain filter is enabled - */ -+ (void)enableSipFilter:(BOOL)enabled; - -/*! - * Wether SIP domain filter is enabled - * @return the filter used, or nil if none. - */ -+ (BOOL)getSipFilterEnabled; - -@end - -@interface ContactsListView : UIViewController - -@property(strong, nonatomic) IBOutlet ContactsListTableView *tableController; -@property(strong, nonatomic) IBOutlet UIView *topBar; -@property(strong, nonatomic) IBOutlet UIView *switchView; -@property(nonatomic, strong) IBOutlet UIButton *allButton; -@property(nonatomic, strong) IBOutlet UIButton *linphoneButton; -@property(nonatomic, strong) IBOutlet UIButton *addButton; -@property(nonatomic, strong) IBOutlet UIButton *deleteButton; -@property(strong, nonatomic) IBOutlet UISearchBar *searchBar; -@property(weak, nonatomic) IBOutlet UIImageView *selectedButtonImage; -@property (weak, nonatomic) IBOutlet UIInterfaceStyleButton *toggleSelectionButton; -@property (weak, nonatomic) IBOutlet UILabel *loadingLabel; -@property (weak, nonatomic) IBOutlet UIView *loadingView; -@property (weak, nonatomic) IBOutlet UILabel *ldapMoreResultsLabel; - -- (IBAction)onAllClick:(id)event; -- (IBAction)onLinphoneClick:(id)event; -- (IBAction)onAddContactClick:(id)event; -- (IBAction)onDeleteClick:(id)sender; -- (IBAction)onEditionChangeClick:(id)sender; - -@end diff --git a/Classes/ContactsListView.m b/Classes/ContactsListView.m deleted file mode 100644 index 829b32acc..000000000 --- a/Classes/ContactsListView.m +++ /dev/null @@ -1,356 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "linphoneapp-Swift.h" -#import "PhoneMainView.h" - -@implementation ContactSelection - -static ContactSelectionMode sSelectionMode = ContactSelectionModeNone; -static NSString *sAddAddress = nil; -static BOOL bSipFilterEnabled = FALSE; -static BOOL addAddressFromOthers = FALSE; - -+ (void)setSelectionMode:(ContactSelectionMode)selectionMode { - sSelectionMode = selectionMode; -} - -+ (ContactSelectionMode)getSelectionMode { - return sSelectionMode; -} - -+ (void)setAddAddress:(NSString *)address { - sAddAddress = address; - addAddressFromOthers = true; -} - -+ (NSString *)getAddAddress { - return sAddAddress; -} - -+ (void)enableSipFilter:(BOOL)enabled { - bSipFilterEnabled = enabled; -} - -+ (BOOL)getSipFilterEnabled { - return bSipFilterEnabled; -} - -@end - -@implementation ContactsListView - -@synthesize tableController; -@synthesize allButton; -@synthesize linphoneButton; -@synthesize addButton; -@synthesize deleteButton; -@synthesize topBar; - -typedef enum { ContactsAll, ContactsLinphone, ContactsMAX } ContactsCategory; - -#pragma mark - UICompositeViewDelegate Functions - -static UICompositeViewDescription *compositeDescription = nil; - -+ (UICompositeViewDescription *)compositeViewDescription { - if (compositeDescription == nil) { - compositeDescription = [[UICompositeViewDescription alloc] init:self.class - statusBar:StatusBarView.class - tabBar:TabBarView.class - sideMenu:SideMenuView.class - fullscreen:false - isLeftFragment:YES - fragmentWith:ContactDetailsView.class]; - } - return compositeDescription; -} - -- (UICompositeViewDescription *)compositeViewDescription { - return self.class.compositeViewDescription; -} - -#pragma mark - ViewController Functions - -- (void)viewDidLoad { - NSLog(@"Debuglog viewDidLoad"); - [super viewDidLoad]; - _searchBar.text = [MagicSearchSingleton.instance currentFilter]; - tableController.tableView.accessibilityIdentifier = @"Contacts table"; - - if (![[PhoneMainView.instance getPreviousViewName] isEqualToString:@"ContactDetailsView"]) { - _searchBar.text = @""; - } - - if ([LinphoneManager.instance lpConfigBoolForKey:@"only_show_sip_contacts_list"]) { - _switchView.hidden = true; - [self changeView:ContactsLinphone]; - } else if ([LinphoneManager.instance lpConfigBoolForKey:@"hide_sip_contacts_list"]){ - _switchView.hidden = true; - [self changeView:ContactsAll]; - } else { - [self changeView:ContactsAll]; - } - - UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] - initWithTarget:self - action:@selector(dismissKeyboards)]; - - [tap setDelegate:self]; - [self.view addGestureRecognizer:tap]; -} - -- (void)viewWillAppear:(BOOL)animated { - - NSLog(@"Debuglog viewWillAppear"); - [super viewWillAppear:animated]; - _searchBar.showsCancelButton = (_searchBar.text.length > 0); - - int y = _searchBar.frame.origin.y + _searchBar.frame.size.height; - [tableController.tableView setFrame:CGRectMake(tableController.tableView.frame.origin.x, - y, - tableController.tableView.frame.size.width, - tableController.tableView.frame.size.height)]; - [tableController.emptyView setFrame:CGRectMake(tableController.emptyView.frame.origin.x, - y, - tableController.emptyView.frame.size.width, - tableController.emptyView.frame.size.height)]; - - if (tableController.isEditing) { - tableController.editing = NO; - } - [self refreshButtons]; - [_toggleSelectionButton setImage:[UIImage imageNamed:@"select_all_default.png"] forState:UIControlStateSelected]; - if ([LinphoneManager.instance lpConfigBoolForKey:@"hide_linphone_contacts" inSection:@"app"]) { - self.linphoneButton.hidden = TRUE; - self.selectedButtonImage.hidden = TRUE; - } - - [[NSNotificationCenter defaultCenter] - addObserver:self - selector:@selector(onMagicSearchStarted:) - name:kLinphoneMagicSearchStarted - object:nil]; - [[NSNotificationCenter defaultCenter] - addObserver:self - selector:@selector(onMagicSearchFinished:) - name:kLinphoneMagicSearchFinished - object:nil]; - [[NSNotificationCenter defaultCenter] - addObserver:self - selector:@selector(onMagicSearchMoreAvailable:) - name:kLinphoneMagicSearchMoreAvailable - object:nil]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(displayModeChanged) - name:kDisplayModeChanged - object:nil]; -} - -- (void)onMagicSearchStarted:(NSNotification *)k { - _loadingView.hidden = FALSE; -} -- (void)onMagicSearchFinished:(NSNotification *)k { - _loadingView.hidden = TRUE; -} -- (void)onMagicSearchMoreAvailable:(NSNotification *)k { - _ldapMoreResultsLabel.hidden = FALSE; -} - -- (void)viewDidAppear:(BOOL)animated { - NSLog(@"Debuglog viewDidAppear"); - [super viewDidAppear:animated]; - if (![FastAddressBook isAuthorized]) { - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Address book", nil) - message:NSLocalizedString(@"You must authorize the application to have access to address book.\n" - "Toggle the application in Settings > Privacy > Contacts", - nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Continue", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [self presentViewController:errView animated:YES completion:nil]; - [PhoneMainView.instance popCurrentView]; - } - - // show message toast when add contact from address - if ([ContactSelection getAddAddress] != nil && addAddressFromOthers) { - UIAlertController *infoView = [UIAlertController - alertControllerWithTitle:NSLocalizedString(@"Info", nil) - message:NSLocalizedString(@"Select a contact or create a new one.",nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction *defaultAction = [UIAlertAction actionWithTitle:@"OK" - style:UIAlertActionStyleDefault - handler:^(UIAlertAction *action){ - }]; - - [infoView addAction:defaultAction]; - addAddressFromOthers = FALSE; - [PhoneMainView.instance presentViewController:infoView animated:YES completion:nil]; - } -} - -- (void) viewWillDisappear:(BOOL)animated { - [[NSNotificationCenter defaultCenter] removeObserver:self]; - self.view = NULL; - [self.tableController removeAllContacts]; -} - -#pragma mark - - -- (void)changeView:(ContactsCategory)view { - NSLog(@"Debuglog changeView"); - CGRect frame = _selectedButtonImage.frame; - if (view == ContactsAll && !allButton.selected) { - //REQUIRED TO RELOAD WITH FILTER - [LinphoneManager.instance setContactsUpdated:TRUE]; - frame.origin.x = allButton.frame.origin.x; - [ContactSelection enableSipFilter:FALSE]; - allButton.selected = TRUE; - linphoneButton.selected = FALSE; - [tableController setReloadMagicSearch:TRUE]; - [tableController loadDataWithFilter: _searchBar.text]; - } else if (view == ContactsLinphone && !linphoneButton.selected) { - //REQUIRED TO RELOAD WITH FILTER - [LinphoneManager.instance setContactsUpdated:TRUE]; - frame.origin.x = linphoneButton.frame.origin.x; - [ContactSelection enableSipFilter:TRUE]; - linphoneButton.selected = TRUE; - allButton.selected = FALSE; - [tableController setReloadMagicSearch:TRUE]; - [tableController loadDataWithFilter: _searchBar.text]; - } - _selectedButtonImage.frame = frame; - if ([LinphoneManager.instance lpConfigBoolForKey:@"hide_linphone_contacts" inSection:@"app"]) { - allButton.selected = FALSE; - } -} - -- (void)refreshButtons { - [addButton setHidden:![LinphoneManager.instance lpConfigBoolForKey:@"enable_native_address_book"] || [LinphoneManager.instance lpConfigBoolForKey:@"read_only_native_address_book"]]; - if ([LinphoneManager.instance lpConfigBoolForKey:@"read_only_native_address_book"]) { - addButton.hidden = true; - deleteButton.hidden = true; - } - [self changeView:[ContactSelection getSipFilterEnabled] ? ContactsLinphone : ContactsAll]; -} - -#pragma mark - Action Functions - -- (IBAction)onAllClick:(id)event { - [self changeView:ContactsAll]; -} - -- (IBAction)onLinphoneClick:(id)event { - [self changeView:ContactsLinphone]; -} - -- (IBAction)onAddContactClick:(id)event { - ContactDetailsView *view = VIEW(ContactDetailsView); - [PhoneMainView.instance changeCurrentView:view.compositeViewDescription]; - view.isAdding = TRUE; - if ([ContactSelection getAddAddress] == nil) { - [view newContact]; - } else { - [view newContact:[ContactSelection getAddAddress]]; - } -} - -- (void)displayModeChanged{ - [self.tableController.tableView reloadData]; -} - -- (IBAction)onDeleteClick:(id)sender { - NSString *msg = [NSString stringWithFormat:NSLocalizedString(@"Do you want to delete selected contacts?\nThey will also be deleted from your phone's address book.", nil)]; - [LinphoneManager.instance setContactsUpdated:TRUE]; - [UIConfirmationDialog ShowWithMessage:msg - cancelMessage:nil - confirmMessage:nil - onCancelClick:^() { - [self onEditionChangeClick:nil]; - } - onConfirmationClick:^() { - [tableController removeSelectionUsing:nil]; - [tableController loadData]; - [self onEditionChangeClick:nil]; - }]; -} - -- (IBAction)onEditionChangeClick:(id)sender { - allButton.hidden = linphoneButton.hidden = _selectedButtonImage.hidden = addButton.hidden = self.tableController.isEditing; - if ([LinphoneManager.instance lpConfigBoolForKey:@"enable_native_address_book"]) { - addButton.hidden = self.tableController.isEditing; - } - if ([LinphoneManager.instance lpConfigBoolForKey:@"read_only_native_address_book"]) { - addButton.hidden = true; - deleteButton.hidden = true; - } -} - -- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar { - searchBar.text = @""; - [LinphoneManager.instance setContactsUpdated:TRUE]; - [self searchBar:searchBar textDidChange:@""]; - - [searchBar resignFirstResponder]; -} - -- (void)dismissKeyboards { - if ([self.searchBar isFirstResponder]){ - [self.searchBar resignFirstResponder]; - } -} - -#pragma mark - searchBar delegate - -- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText { - NSLog(@"Debuglog textdidchange"); - if (![searchText isEqualToString:[MagicSearchSingleton.instance currentFilter]]) { - if (searchText.length == 0) { - [LinphoneManager.instance setContactsUpdated:TRUE]; - } - _ldapMoreResultsLabel.hidden = TRUE; - [tableController loadDataWithFilter:searchText]; - } -} - -- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar { - [searchBar setShowsCancelButton:FALSE animated:TRUE]; -} - -- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar { - [searchBar setShowsCancelButton:TRUE animated:TRUE]; -} - -- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar { - [searchBar resignFirstResponder]; -} - -#pragma mark - GestureRecognizerDelegate - -- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch -{ - return NO; -} - -@end diff --git a/Classes/CountryListView.h b/Classes/CountryListView.h deleted file mode 100755 index c20ed1a0f..000000000 --- a/Classes/CountryListView.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import "PhoneMainView.h" - -@protocol CountryListViewDelegate -- (void)didSelectCountry:(NSDictionary *)country; -@end - -@interface CountryListView : UIViewController - -@property (nonatomic, weak) iddelegate; -@property(strong, nonatomic) UISearchController *searchController; - -- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope; - -- (IBAction)onCancelClick:(id)sender; - -+ (NSDictionary *)countryWithIso:(NSString*)iso; - -+ (NSDictionary *)countryWithCountryCode:(NSString*)cc; - -@end diff --git a/Classes/CountryListView.m b/Classes/CountryListView.m deleted file mode 100755 index aaf221d0a..000000000 --- a/Classes/CountryListView.m +++ /dev/null @@ -1,180 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "CountryListView.h" -#import "linphone/linphonecore_utils.h" - -@interface CountryListView () - -@property (strong, nonatomic) IBOutlet UITableView *tableView; -@property (strong, nonatomic) NSArray *searchResults; - -@end - -@implementation CountryListView - -static NSMutableArray * dataRows = nil; - -+ (NSArray*) getData { - if (!dataRows) { - dataRows = [[NSMutableArray alloc] init]; - const bctbx_list_t *dialPlans = linphone_dial_plan_get_all_list(); - while (dialPlans) { - LinphoneDialPlan* dial_plan = (LinphoneDialPlan*)dialPlans->data; - [dataRows addObject:@{ - @"name":[NSString stringWithUTF8String:linphone_dial_plan_get_country(dial_plan)], - @"iso":[NSString stringWithUTF8String:linphone_dial_plan_get_iso_country_code(dial_plan)], - @"code":[NSString stringWithFormat:@"+%s",linphone_dial_plan_get_country_calling_code(dial_plan)], - @"phone_length":@(linphone_dial_plan_get_national_number_length(dial_plan)) - }]; - dialPlans = dialPlans->next; - } - } - return dataRows; -} -#pragma mark - UICompositeViewDelegate Functions - -static UICompositeViewDescription *compositeDescription = nil; - -+ (UICompositeViewDescription *)compositeViewDescription { - if (compositeDescription == nil) { - compositeDescription = [[UICompositeViewDescription alloc] init:self.class - statusBar:StatusBarView.class - tabBar:nil - sideMenu:SideMenuView.class - fullscreen:false - isLeftFragment:YES - fragmentWith:nil]; - } - return compositeDescription; -} - -- (UICompositeViewDescription *)compositeViewDescription { - return self.class.compositeViewDescription; -} - -#pragma mark - Other - -- (void)viewDidLoad { - [super viewDidLoad]; - - _searchResults = [[NSArray alloc] init]; - self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil]; - self.searchController.searchResultsUpdater = self; - self.searchController.searchBar.delegate = self; - self.searchController.obscuresBackgroundDuringPresentation = false; - [self.searchController.searchBar sizeToFit]; - self.tableView.tableHeaderView = self.searchController.searchBar; - [_tableView reloadData]; -} - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - if (self.searchController.active) { - self.searchController.active = NO; - [self.searchController.searchBar removeFromSuperview]; - } -} -#pragma mark - UITableView Datasource - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return 1; -} - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - if (self.searchController.active){ - return _searchResults.count; - }else{ - return [self.class getData].count; - } -} - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - static NSString *cellIdentifier = @"Cell"; - UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; - if(cell == nil) { - cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:cellIdentifier]; - } - - if (self.searchController.active) { - cell.textLabel.text = [[_searchResults objectAtIndex:indexPath.row] valueForKey:@"name"]; - cell.detailTextLabel.text = [[_searchResults objectAtIndex:indexPath.row] valueForKey:@"code"]; - }else{ - cell.textLabel.text = [[[self.class getData] objectAtIndex:indexPath.row] valueForKey:@"name"]; - cell.detailTextLabel.text = [[[self.class getData] objectAtIndex:indexPath.row] valueForKey:@"code"]; - } - return cell; -} - -#pragma mark - UITableView Delegate methods - -- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - [tableView deselectRowAtIndexPath:indexPath animated:YES]; - if ([_delegate respondsToSelector:@selector(didSelectCountry:)]) { - NSDictionary* dict = nil; - if (self.searchController.active) { - dict = [_searchResults objectAtIndex:indexPath.row]; - }else{ - dict = [[self.class getData] objectAtIndex:indexPath.row]; - } - - [self.delegate didSelectCountry:dict]; - } - [PhoneMainView.instance popCurrentView]; -} - -#pragma mark - searchController delegate - -- (void)updateSearchResultsForSearchController:(UISearchController *)searchController { - [self filterContentForSearchText:self.searchController.searchBar.text scope:@""]; - dispatch_async(dispatch_get_main_queue(), ^{ - [self.tableView reloadData]; - }); -} - -#pragma mark - Filtering - -- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope{ - NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name contains[c] %@ or code contains %@", searchText, searchText]; - _searchResults = [[self.class getData] filteredArrayUsingPredicate:predicate]; -} - -- (IBAction)onCancelClick:(id)sender { - [PhoneMainView.instance popCurrentView]; -} - -+ (NSDictionary *)countryWithIso:(NSString *)iso { - for (NSDictionary *dict in [self.class getData]) { - if ([[dict objectForKey:@"iso"] isEqualToString:iso.uppercaseString]) { - return dict; - } - } - return nil; -} - -+ (NSDictionary *)countryWithCountryCode:(NSString *)cc { - for (NSDictionary *dict in [self.class getData]) { - if ([[dict objectForKey:@"code"] isEqualToString:cc.uppercaseString]) { - return dict; - } - } - return nil; -} - -@end diff --git a/Classes/DevicesListView.h b/Classes/DevicesListView.h deleted file mode 100644 index f399f59f8..000000000 --- a/Classes/DevicesListView.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import "UICompositeView.h" - -@interface DevicesMenuEntry : NSObject { -@public - LinphoneParticipant *participant; - LinphoneParticipantDevice *device; - BOOL isFirst; - BOOL isUnique; - BOOL isMyself; - NSInteger index; - BOOL isListOpen; - NSString *displayName; -}; - -@end - -@interface DevicesListView : UIViewController - -@property (weak, nonatomic) IBOutlet UILabel *addressLabel; -@property (weak, nonatomic) IBOutlet UITableView *tableView; - -@property(nonatomic) LinphoneChatRoom *room; -@property NSMutableArray *devicesMenuEntries; - -- (IBAction)onBackClick:(id)sender; - -@end diff --git a/Classes/DevicesListView.m b/Classes/DevicesListView.m deleted file mode 100644 index 10c38e7c7..000000000 --- a/Classes/DevicesListView.m +++ /dev/null @@ -1,178 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "linphoneapp-Swift.h" -#import "DevicesListView.h" -#import "PhoneMainView.h" -#import "UIDeviceCell.h" - -@implementation DevicesMenuEntry -- (id)init:(LinphoneParticipantDevice *)dev isMe:(BOOL)isMe isFirst:(BOOL)first isUnique:(BOOL)unique index:(NSInteger)idx{ - if ((self = [super init])) { - device = dev; - isMyself = isMe; - isFirst = first; - isUnique = unique; - index = idx; - isListOpen = FALSE; - } - return self; -} - -@end - -@implementation DevicesListView -#pragma mark - UICompositeViewDelegate Functions - -static UICompositeViewDescription *compositeDescription = nil; - -+ (UICompositeViewDescription *)compositeViewDescription { - if (compositeDescription == nil) { - compositeDescription = [[UICompositeViewDescription alloc] init:self.class - statusBar:StatusBarView.class - tabBar:TabBarView.class - sideMenu:SideMenuView.class - fullscreen:false - isLeftFragment:NO - fragmentWith:ChatsListView.class]; - } - return compositeDescription; -} - -- (UICompositeViewDescription *)compositeViewDescription { - return self.class.compositeViewDescription; -} - -#pragma mark - ViewController Functions -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - _tableView.dataSource = self; - _tableView.delegate = self; - bctbx_list_t *participants = linphone_chat_room_get_participants(_room); - _devicesMenuEntries = [NSMutableArray array]; - if (linphone_chat_room_get_capabilities(_room) & LinphoneChatRoomCapabilitiesOneToOne) { - LinphoneParticipant *firstParticipant = participants ? (LinphoneParticipant *)participants->data : NULL; - const LinphoneAddress *addr = firstParticipant ? linphone_participant_get_address(firstParticipant) : linphone_chat_room_get_peer_address(_room); - [ContactDisplay setDisplayNameLabel:_addressLabel forAddress:addr]; - } else { - _addressLabel.text = [NSString stringWithUTF8String:linphone_chat_room_get_subject(_room) ?: LINPHONE_DUMMY_SUBJECT]; - _addressLabel.text = [NSString stringWithFormat:NSLocalizedString(@"%@'s devices", nil), _addressLabel.text]; - } - - LinphoneParticipant *participant; - for (int i=0; idisplayName = lab.text; - entry->participant = participant; - [_devicesMenuEntries addObject:entry]; - bctbx_list_free(devices); - } - - LinphoneParticipant *me = linphone_chat_room_get_me(_room); - bctbx_list_t *devices = linphone_participant_get_devices(me); - DevicesMenuEntry *entry = [[DevicesMenuEntry alloc] init:(LinphoneParticipantDevice *)bctbx_list_nth_data(devices, 0) isMe:TRUE isFirst:TRUE isUnique:(bctbx_list_size(devices)<2) index:bctbx_list_size(participants)]; - entry->participant = me; - [_devicesMenuEntries addObject:entry]; - bctbx_list_free(devices); - - bctbx_list_free(participants); - - _tableView.separatorStyle = UITableViewCellSeparatorStyleNone; - [_tableView reloadData]; -} - -#pragma mark - Action Functions -- (IBAction)onBackClick:(id)sender { - ChatConversationViewSwift *view = VIEW(ChatConversationViewSwift); - [PhoneMainView.instance popToView:view.compositeViewDescription]; -} - -#pragma mark - TableView - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return 1; -} - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - return [_devicesMenuEntries count]; -} - -- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(nonnull NSIndexPath *)indexPath -{ - return 56.0; -} - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath -{ - NSString *kCellId = NSStringFromClass(UIDeviceCell.class); - UIDeviceCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId]; - if (cell == nil) { - cell = [[UIDeviceCell alloc] initWithIdentifier:kCellId]; - } - DevicesMenuEntry *entry = [_devicesMenuEntries objectAtIndex:indexPath.row]; - if (entry->isFirst) { - entry->isMyself ? cell.deviceLabel.text = NSLocalizedString(@"Me", nil) : [ContactDisplay setDisplayNameLabel:cell.deviceLabel forAddress:linphone_participant_get_address(entry->participant)]; - } - cell.device = entry->device; - cell.isFirst = entry->isFirst; - cell.isUnique = entry->isUnique; - cell.isListOpen = entry->isListOpen; - [cell update]; - - return cell; -} - -- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - DevicesMenuEntry *entry = [_devicesMenuEntries objectAtIndex:indexPath.row]; - if (entry->isUnique || !entry->isFirst) { - if (!entry->device) { - LOGE(@"Can not call, because the device is null."); - [_tableView reloadData]; - } else { - const LinphoneAddress *addr = linphone_participant_device_get_address(entry->device); - [CallManager.instance startCallWithAddr:(LinphoneAddress *)addr isSas:TRUE isVideo:false isConference:false]; - } - } else { - bctbx_list_t *devices = linphone_participant_get_devices(entry->participant); - if (entry->isListOpen) { - entry->isListOpen = FALSE; - [_devicesMenuEntries replaceObjectAtIndex:indexPath.row withObject:entry]; - for (int i=0; i< bctbx_list_size(devices); i++) { - [_devicesMenuEntries removeObjectAtIndex:indexPath.row+1]; - } - } else { - entry->isListOpen = TRUE; - [_devicesMenuEntries replaceObjectAtIndex:indexPath.row withObject:entry]; - LinphoneParticipantDevice *device; - for (int i=0; iisMyself isFirst:FALSE isUnique:FALSE index:entry->index]; - [_devicesMenuEntries insertObject:tempEntry atIndex:indexPath.row+i+1]; - } - } - bctbx_list_free(devices); - [_tableView reloadData]; - } -} - -@end diff --git a/Classes/DevicesListView.xib b/Classes/DevicesListView.xib deleted file mode 100644 index c0e97cabe..000000000 --- a/Classes/DevicesListView.xib +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/DialerView.h b/Classes/DialerView.h deleted file mode 100644 index 808900397..000000000 --- a/Classes/DialerView.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "UICompositeView.h" - -#import "UICamSwitch.h" -#import "UICallButton.h" -#import "UIDigitButton.h" - -@interface DialerView - : TPMultiLayoutViewController { -} - - -@property(nonatomic, strong) IBOutlet UITextField *addressField; -@property(nonatomic, strong) IBOutlet UIButton *addContactButton; -@property(nonatomic, strong) IBOutlet UICallButton *callButton; -@property(nonatomic, strong) IBOutlet UIButton *backButton; -@property(weak, nonatomic) IBOutlet UIButton *backspaceButton; - -@property(nonatomic, strong) IBOutlet UIDigitButton *oneButton; -@property(nonatomic, strong) IBOutlet UIDigitButton *twoButton; -@property(nonatomic, strong) IBOutlet UIDigitButton *threeButton; -@property(nonatomic, strong) IBOutlet UIDigitButton *fourButton; -@property(nonatomic, strong) IBOutlet UIDigitButton *fiveButton; -@property(nonatomic, strong) IBOutlet UIDigitButton *sixButton; -@property(nonatomic, strong) IBOutlet UIDigitButton *sevenButton; -@property(nonatomic, strong) IBOutlet UIDigitButton *eightButton; -@property(nonatomic, strong) IBOutlet UIDigitButton *nineButton; -@property(nonatomic, strong) IBOutlet UIDigitButton *starButton; -@property(nonatomic, strong) IBOutlet UIDigitButton *zeroButton; -@property(nonatomic, strong) IBOutlet UIDigitButton *hashButton; -@property(nonatomic, strong) IBOutlet UIView *backgroundView; -@property(nonatomic, strong) IBOutlet UIView *videoPreview; -@property(nonatomic, strong) IBOutlet UICamSwitch *videoCameraSwitch; -@property(weak, nonatomic) IBOutlet UIView *padView; - -- (IBAction)onAddContactClick:(id)event; -- (IBAction)onBackClick:(id)event; -- (IBAction)onAddressChange:(id)sender; -- (IBAction)onBackspaceClick:(id)sender; - -- (void)setAddress:(NSString *)address; - -@end diff --git a/Classes/DialerView.m b/Classes/DialerView.m deleted file mode 100644 index c7f0da9b5..000000000 --- a/Classes/DialerView.m +++ /dev/null @@ -1,461 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "LinphoneManager.h" -#import "PhoneMainView.h" -#import "linphoneapp-Swift.h" - - -@implementation DialerView - -#pragma mark - UICompositeViewDelegate Functions - -static UICompositeViewDescription *compositeDescription = nil; - -+ (UICompositeViewDescription *)compositeViewDescription { - if (compositeDescription == nil) { - compositeDescription = [[UICompositeViewDescription alloc] init:self.class - statusBar:StatusBarView.class - tabBar:TabBarView.class - sideMenu:SideMenuView.class - fullscreen:false - isLeftFragment:YES - fragmentWith:nil]; - compositeDescription.darkBackground = true; - } - return compositeDescription; -} - -- (UICompositeViewDescription *)compositeViewDescription { - return self.class.compositeViewDescription; -} - -#pragma mark - ViewController Functions - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - - _padView.hidden = - !IPAD && UIInterfaceOrientationIsLandscape(PhoneMainView.instance.mainViewController.currentOrientation); - - // Set observer - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(callUpdateEvent:) - name:kLinphoneCallUpdate - object:nil]; - - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(coreUpdateEvent:) - name:kLinphoneCoreUpdate - object:nil]; - - // Update on show - LinphoneManager *mgr = LinphoneManager.instance; - LinphoneCall *call = linphone_core_get_current_call(LC); - LinphoneCallState state = (call != NULL) ? linphone_call_get_state(call) : 0; - [self callUpdate:call state:state]; - - if (IPAD) { - BOOL videoEnabled = linphone_core_video_display_enabled(LC); - BOOL previewPref = [mgr lpConfigBoolForKey:@"preview_preference"]; - - if (videoEnabled && previewPref) { - linphone_core_set_native_preview_window_id(LC, (__bridge void *)(_videoPreview)); - - if (!linphone_core_video_preview_enabled(LC)) { - linphone_core_enable_video_preview(LC, TRUE); - } - - [_backgroundView setHidden:FALSE]; - [_videoCameraSwitch setHidden:FALSE]; - } else { - linphone_core_set_native_preview_window_id(LC, NULL); - linphone_core_enable_video_preview(LC, FALSE); - [_backgroundView setHidden:TRUE]; - [_videoCameraSwitch setHidden:TRUE]; - } - } else { - linphone_core_enable_video_preview(LC, FALSE); - } - [_addressField setText:@""]; -} - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - [NSNotificationCenter.defaultCenter removeObserver:self]; -} - -- (void)viewDidLoad { - [super viewDidLoad]; - - [_zeroButton setDigit:'0']; - [_oneButton setDigit:'1']; - [_twoButton setDigit:'2']; - [_threeButton setDigit:'3']; - [_fourButton setDigit:'4']; - [_fiveButton setDigit:'5']; - [_sixButton setDigit:'6']; - [_sevenButton setDigit:'7']; - [_eightButton setDigit:'8']; - [_nineButton setDigit:'9']; - [_starButton setDigit:'*']; - [_hashButton setDigit:'#']; - - [_addressField setAdjustsFontSizeToFitWidth:TRUE]; // Not put it in IB: issue with placeholder size - - UILongPressGestureRecognizer *backspaceLongGesture = - [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(onBackspaceLongClick:)]; - [_backspaceButton addGestureRecognizer:backspaceLongGesture]; - - UILongPressGestureRecognizer *zeroLongGesture = - [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(onZeroLongClick:)]; - [_zeroButton addGestureRecognizer:zeroLongGesture]; - - UILongPressGestureRecognizer *oneLongGesture = - [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(onOneLongClick:)]; - [_oneButton addGestureRecognizer:oneLongGesture]; - - UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] - initWithTarget:self - action:@selector(dismissKeyboards)]; - - [self.view addGestureRecognizer:tap]; - - if (IPAD) { - if (LinphoneManager.instance.frontCamId != nil) { - // only show camera switch button if we have more than 1 camera - [_videoCameraSwitch setHidden:FALSE]; - } - } - - LinphoneAccount *defaultAccount = linphone_core_get_default_account(LC); - if (!(defaultAccount && linphone_account_params_get_conference_factory_uri(linphone_account_get_params(defaultAccount)))){ - [_addContactButton setImage:[UIImage imageNamed:@"contact_add_default"] forState:UIControlStateNormal]; - _addContactButton.imageView.contentMode = UIViewContentModeScaleAspectFit; - _addContactButton.enabled = true; - }else{ - [_addContactButton setImage:[UIImage imageNamed:@"voip_conference_new"] forState:UIControlStateNormal]; - _addContactButton.imageView.contentMode = UIViewContentModeScaleAspectFit; - _addContactButton.enabled = true; - } -} - -- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation - duration:(NSTimeInterval)duration { - [super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration]; - switch (toInterfaceOrientation) { - case UIInterfaceOrientationPortrait: - [_videoPreview setTransform:CGAffineTransformMakeRotation(0)]; - break; - case UIInterfaceOrientationPortraitUpsideDown: - [_videoPreview setTransform:CGAffineTransformMakeRotation(M_PI)]; - break; - case UIInterfaceOrientationLandscapeLeft: - [_videoPreview setTransform:CGAffineTransformMakeRotation(M_PI / 2)]; - break; - case UIInterfaceOrientationLandscapeRight: - [_videoPreview setTransform:CGAffineTransformMakeRotation(-M_PI / 2)]; - break; - default: - break; - } - CGRect frame = self.view.frame; - frame.origin = CGPointMake(0, 0); - _videoPreview.frame = frame; - _padView.hidden = !IPAD && UIInterfaceOrientationIsLandscape(toInterfaceOrientation); - if (linphone_core_get_calls_nb(LC)) { - _backButton.hidden = FALSE; - _addContactButton.hidden = TRUE; - } else { - _backButton.hidden = TRUE; - _addContactButton.hidden = FALSE; - } -} - -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; - [LinphoneManager.instance shouldPresentLinkPopup]; -} - -#pragma mark - Event Functions - -- (void)callUpdateEvent:(NSNotification *)notif { - LinphoneCall *call = [[notif.userInfo objectForKey:@"call"] pointerValue]; - LinphoneCallState state = [[notif.userInfo objectForKey:@"state"] intValue]; - [self callUpdate:call state:state]; -} - -- (void)coreUpdateEvent:(NSNotification *)notif { - @try { - if (IPAD) { - if (linphone_core_video_display_enabled(LC) && linphone_core_video_preview_enabled(LC)) { - linphone_core_set_native_preview_window_id(LC, (__bridge void *)(_videoPreview)); - [_backgroundView setHidden:FALSE]; - [_videoCameraSwitch setHidden:FALSE]; - } else { - linphone_core_set_native_preview_window_id(LC, NULL); - [_backgroundView setHidden:TRUE]; - [_videoCameraSwitch setHidden:TRUE]; - } - } - } @catch (NSException *exception) { - if ([exception.name isEqualToString:@"LinphoneCoreException"]) { - LOGE(@"Core already destroyed"); - return; - } - LOGE(@"Uncaught exception : %@", exception.description); - abort(); - } -} - -#pragma mark - Debug Functions -- (void)presentMailViewWithTitle:(NSString *)subject forRecipients:(NSArray *)recipients attachLogs:(BOOL)attachLogs { - if ([MFMailComposeViewController canSendMail]) { - MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init]; - if (controller) { - controller.mailComposeDelegate = self; - [controller setSubject:subject]; - [controller setToRecipients:recipients]; - - if (attachLogs) { - char *filepath = linphone_core_compress_log_collection(); - if (filepath == NULL) { - LOGE(@"Cannot sent logs: file is NULL"); - return; - } - - NSString *appName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleDisplayName"]; - NSString *filename = [appName stringByAppendingString:@".gz"]; - NSString *mimeType = @"text/plain"; - - if ([filename hasSuffix:@".gz"]) { - mimeType = @"application/gzip"; - filename = [appName stringByAppendingString:@".gz"]; - } else { - LOGE(@"Unknown extension type: %@, cancelling email", filename); - return; - } - [controller setMessageBody:NSLocalizedString(@"Application logs", nil) isHTML:NO]; - [controller addAttachmentData:[NSData dataWithContentsOfFile:[NSString stringWithUTF8String:filepath]] - mimeType:mimeType - fileName:filename]; - - ms_free(filepath); - } - self.modalPresentationStyle = UIModalPresentationPageSheet; - [self.view.window.rootViewController presentViewController:controller - animated:TRUE - completion:^{ - }]; - } - - } else { - UIAlertController *errView = [UIAlertController alertControllerWithTitle:subject - message:NSLocalizedString(@"Error: no mail account configured", - nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [self presentViewController:errView animated:YES completion:nil]; - } -} - -- (BOOL)displayDebugPopup:(NSString *)address { - LinphoneManager *mgr = LinphoneManager.instance; - NSString *debugAddress = [mgr lpConfigStringForKey:@"debug_popup_magic" withDefault:@""]; - if ((![debugAddress isEqualToString:@""] && [address isEqualToString:debugAddress]) || [_addressField.text isEqual: @"#1234#"]) { - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Debug", nil) - message:NSLocalizedString(@"Choose an action", nil) - preferredStyle:UIAlertControllerStyleAlert]; - - int debugLevel = [LinphoneManager.instance lpConfigIntForKey:@"debugenable_preference"]; - BOOL debugEnabled = (debugLevel >= ORTP_DEBUG && debugLevel < ORTP_ERROR); - - if (debugEnabled) { - UIAlertAction* continueAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Send logs", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) { - NSString *appName = - [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleDisplayName"]; - NSString *logsAddress = [mgr lpConfigStringForKey:@"debug_popup_email" withDefault:@""]; - [self presentMailViewWithTitle:appName forRecipients:@[ logsAddress ] attachLogs:true]; - }]; - [errView addAction:continueAction]; - } - NSString *actionLog = - (debugEnabled ? NSLocalizedString(@"Disable logs", nil) : NSLocalizedString(@"Enable logs", nil)); - - UIAlertAction* logAction = [UIAlertAction actionWithTitle:actionLog - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) { - int newDebugLevel = debugEnabled ? 0 : ORTP_DEBUG; - [LinphoneManager.instance lpConfigSetInt:newDebugLevel forKey:@"debugenable_preference"]; - [Log enableLogs:newDebugLevel]; - }]; - [errView addAction:logAction]; - - UIAlertAction* configAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"View config file", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) { - TextViewer *view = VIEW(TextViewer); - LpConfig *conf = LinphoneManager.instance.configDb; - char *config = linphone_config_dump(conf); - view.textViewer = [NSString stringWithUTF8String: config]; - view.textNameViewer = @""; - [PhoneMainView.instance popToView:view.compositeViewDescription]; - }]; - - [errView addAction:configAction]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Cancel", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - - [self presentViewController:errView animated:YES completion:nil]; - return true; - } - return false; -} - -#pragma mark - - -- (void)callUpdate:(LinphoneCall *)call state:(LinphoneCallState)state { - BOOL callInProgress = (linphone_core_get_calls_nb(LC) > 0); - _addContactButton.hidden = callInProgress; - _backButton.hidden = !callInProgress; - [_callButton updateIcon]; -} - -- (void)setAddress:(NSString *)address { - [_addressField setText:address]; -} - -#pragma mark - UITextFieldDelegate Functions - -- (BOOL)textField:(UITextField *)textField - shouldChangeCharactersInRange:(NSRange)range - replacementString:(NSString *)string { - //[textField performSelector:@selector() withObject:nil afterDelay:0]; - return YES; -} - -- (BOOL)textFieldShouldReturn:(UITextField *)textField { - if (textField == _addressField) { - [_addressField resignFirstResponder]; - } - if (textField.text.length > 0) { - LinphoneAddress *addr = [LinphoneUtils normalizeSipOrPhoneAddress:textField.text]; - [LinphoneManager.instance call:addr]; - if (addr) - linphone_address_destroy(addr); - } - return YES; -} - -#pragma mark - MFComposeMailDelegate - -- (void)mailComposeController:(MFMailComposeViewController *)controller - didFinishWithResult:(MFMailComposeResult)result - error:(NSError *)error { - [controller dismissViewControllerAnimated:TRUE completion:nil]; - [self.navigationController setNavigationBarHidden:TRUE animated:FALSE]; -} - -#pragma mark - Action Functions - -- (IBAction)onAddContactClick:(id)event { - LinphoneAccount *defaultAccount = linphone_core_get_default_account(LC); - if (!(defaultAccount && linphone_account_params_get_conference_factory_uri(linphone_account_get_params(defaultAccount)))){ - [ContactSelection setSelectionMode:ContactSelectionModeEdit]; - [ContactSelection setAddAddress:[_addressField text]]; - [ContactSelection enableSipFilter:FALSE]; - [PhoneMainView.instance changeCurrentView:ContactsListView.compositeViewDescription]; - }else{ - ConferenceSchedulingView *view = VIEW(ConferenceSchedulingView); - [view resetViewModel]; - [PhoneMainView.instance changeCurrentView:ConferenceSchedulingView.compositeViewDescription]; - } -} - -- (IBAction)onBackClick:(id)event { - [PhoneMainView.instance popToView:[CallsViewModelBridge callViewToDisplay]]; -} - -- (IBAction)onAddressChange:(id)sender { - if ([_addressField.text isEqual: @"#1234#"]) { - [self displayDebugPopup:_addressField.text]; - _addressField.text = @""; - } - LinphoneAccount *defaultAccount = linphone_core_get_default_account(LC); - if (!(defaultAccount && linphone_account_params_get_audio_video_conference_factory_address(linphone_account_get_params(defaultAccount)))){ - [_addContactButton setImage:[UIImage imageNamed:@"contact_add_default"] forState:UIControlStateNormal]; - _addContactButton.enabled = ([[_addressField text] length] > 0); - if ([_addressField.text length] == 0) { - [self.view endEditing:YES]; - } - }else{ - [_addContactButton setImage:[UIImage imageNamed:@"voip_conference_new"] forState:UIControlStateNormal]; - _addContactButton.enabled = true; - } -} - -- (IBAction)onBackspaceClick:(id)sender { - if ([_addressField.text length] > 0) { - [_addressField setText:[_addressField.text substringToIndex:[_addressField.text length] - 1]]; - } -} - -- (void)onBackspaceLongClick:(id)sender { - [_addressField setText:@""]; -} - -- (void)onZeroLongClick:(id)sender { - // replace last character with a '+' - NSString *newAddress = - [[_addressField.text substringToIndex:[_addressField.text length] - 1] stringByAppendingString:@"+"]; - [_addressField setText:newAddress]; - linphone_core_stop_dtmf(LC); -} - -- (void)onOneLongClick:(id)sender { - LinphoneManager *lm = LinphoneManager.instance; - NSString *voiceMail = [lm lpConfigStringForKey:@"voice_mail_uri"]; - LinphoneAddress *addr = [LinphoneUtils normalizeSipOrPhoneAddress:voiceMail]; - if (addr) { - linphone_address_set_display_name(addr, NSLocalizedString(@"Voice mail", nil).UTF8String); - [lm call:addr]; - linphone_address_destroy(addr); - } else { - LOGE(@"Cannot call voice mail because URI not set or invalid!"); - } - linphone_core_stop_dtmf(LC); -} - -- (void)dismissKeyboards { - [self.addressField resignFirstResponder]; -} -@end diff --git a/Classes/EphemeralSettingsView.h b/Classes/EphemeralSettingsView.h deleted file mode 100644 index 0bab2880c..000000000 --- a/Classes/EphemeralSettingsView.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import "UICompositeView.h" - - - -@interface EphemeralSettingsView : TPMultiLayoutViewController - -@property (weak, nonatomic) IBOutlet UITableView *tableView; -@property (weak, nonatomic) IBOutlet UIImageView *icon; -@property (weak, nonatomic) IBOutlet UILabel *explanations; -@property (weak, nonatomic) IBOutlet UILabel *titleText; -@property(nonatomic) LinphoneChatRoom *room; -@property(nonatomic) long selectedIndex; - -- (IBAction)onBackClick:(id)sender; - -@end diff --git a/Classes/EphemeralSettingsView.m b/Classes/EphemeralSettingsView.m deleted file mode 100644 index 3956a0e93..000000000 --- a/Classes/EphemeralSettingsView.m +++ /dev/null @@ -1,159 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "EphemeralSettingsView.h" -#import "PhoneMainView.h" -#import "UIDeviceCell.h" -#import "linphoneapp-Swift.h" - - - -@implementation EphemeralSettingsView -#pragma mark - UICompositeViewDelegate Functions - -static UICompositeViewDescription *compositeDescription = nil; - -+ (UICompositeViewDescription *)compositeViewDescription { - if (compositeDescription == nil) { - compositeDescription = [[UICompositeViewDescription alloc] init:self.class - statusBar:StatusBarView.class - tabBar:TabBarView.class - sideMenu:SideMenuView.class - fullscreen:false - isLeftFragment:NO - fragmentWith:ChatsListView.class]; - } - return compositeDescription; -} - -- (UICompositeViewDescription *)compositeViewDescription { - return self.class.compositeViewDescription; -} - -#pragma mark - ViewController Functions - - - --(void) viewDidLoad { - [super viewDidLoad]; - self.tableView.tableHeaderView = ({ - UIView *line = [[UIView alloc] - initWithFrame:CGRectMake(0, 0, - self.tableView.frame.size.width, 1 / UIScreen.mainScreen.scale)]; - line.backgroundColor = self.tableView.separatorColor; - line; - }); - self.tableView.tintColor = UIColorFromRGB(0x96c11f); - self.explanations.text = NSLocalizedString(@"Messages will be deleted on both ends once they have been read and after the selected timeout.", nil); - self.titleText.text = NSLocalizedString(@"Ephemeral messages", nil); - -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - _tableView.dataSource = self; - _tableView.delegate = self; - [self setIndexBasedOnRoomSetting]; - [_tableView reloadData]; -} - -#pragma mark - Action Functions -- (IBAction)onBackClick:(id)sender { - ChatConversationViewSwift *view = VIEW(ChatConversationViewSwift); - [PhoneMainView.instance popToView:view.compositeViewDescription]; -} - - -- (IBAction)onSaveClick:(id)sender { - [self setRoomSettingsBasedOnIndex]; - ChatConversationViewSwift *view = VIEW(ChatConversationViewSwift); - [PhoneMainView.instance popToView:view.compositeViewDescription]; -} - -#pragma mark - TableView - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return 1; -} - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - return 6; -} - - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - UITableViewCell *cell = [[UITableViewCell alloc] init]; - - switch(indexPath.row) { - case 0:cell.textLabel.text = NSLocalizedString(@"Disabled",nil);break; - case 1:cell.textLabel.text = NSLocalizedString(@"1 minute",nil);break; - case 2:cell.textLabel.text = NSLocalizedString(@"1 hour",nil);break; - case 3:cell.textLabel.text = NSLocalizedString(@"1 day",nil);break; - case 4:cell.textLabel.text = NSLocalizedString(@"3 days",nil);break; - case 5:cell.textLabel.text = NSLocalizedString(@"1 week",nil);break; - } - if (indexPath.row == _selectedIndex) { - cell.accessoryType = UITableViewCellAccessoryCheckmark; - cell.textLabel.font = [UIFont fontWithDescriptor:[cell.textLabel.font.fontDescriptor fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitBold] - size:cell.textLabel.font.pointSize]; - } - return cell; -} - -- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - _selectedIndex = indexPath.row; - [_tableView reloadData]; -} - -#pragma mark - BL Functions - --(void) setIndexBasedOnRoomSetting { - if (!linphone_chat_room_ephemeral_enabled(_room)) { - _selectedIndex = 0; - }else if (linphone_chat_room_get_ephemeral_lifetime(_room) == 60) { - _selectedIndex = 1; - }else if (linphone_chat_room_get_ephemeral_lifetime(_room) == 3600) { - _selectedIndex = 2; - }else if (linphone_chat_room_get_ephemeral_lifetime(_room) == 86400) { - _selectedIndex = 3; - }else if (linphone_chat_room_get_ephemeral_lifetime(_room) == 3*86400) { - _selectedIndex = 4; - }else if (linphone_chat_room_get_ephemeral_lifetime(_room) == 7*86400) { - _selectedIndex = 5; - } -} - --(void) setRoomSettingsBasedOnIndex { - if (_selectedIndex == 0) { - linphone_chat_room_enable_ephemeral(_room, false); - return; - } - - linphone_chat_room_enable_ephemeral(_room, true); - switch (_selectedIndex) { - case 1: linphone_chat_room_set_ephemeral_lifetime(_room, 60);break; - case 2: linphone_chat_room_set_ephemeral_lifetime(_room, 3600);break; - case 3: linphone_chat_room_set_ephemeral_lifetime(_room, 86400);break; - case 4: linphone_chat_room_set_ephemeral_lifetime(_room, 3*86400);break; - case 5: linphone_chat_room_set_ephemeral_lifetime(_room, 7*86400);break; - } - -} - -@end diff --git a/Classes/EphemeralSettingsView.xib b/Classes/EphemeralSettingsView.xib deleted file mode 100644 index d5bdf2a17..000000000 --- a/Classes/EphemeralSettingsView.xib +++ /dev/null @@ -1,218 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/FirstLoginView.h b/Classes/FirstLoginView.h deleted file mode 100644 index 1a1f8e7b9..000000000 --- a/Classes/FirstLoginView.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "UICompositeView.h" -#import "UIAssistantTextField.h" - -@interface FirstLoginView : TPMultiLayoutViewController { - LinphoneAccountCreator *account_creator; -} - -- (IBAction)onLoginClick:(id)sender; -- (IBAction)onSiteClick:(id)sender; - -@property(nonatomic, strong) IBOutlet UIButton *loginButton; -@property(nonatomic, strong) IBOutlet UIButton *siteButton; -@property(nonatomic, strong) IBOutlet UIAssistantTextField *usernameField; -@property(nonatomic, strong) IBOutlet UIAssistantTextField *passwordField; -@property(nonatomic, strong) IBOutlet UIView *waitView; -@property(weak, nonatomic) IBOutlet UIAssistantTextField *domainField; - -@end diff --git a/Classes/FirstLoginView.m b/Classes/FirstLoginView.m deleted file mode 100644 index b5f17f2da..000000000 --- a/Classes/FirstLoginView.m +++ /dev/null @@ -1,255 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "LinphoneManager.h" -#import "FirstLoginView.h" -#import "LinphoneManager.h" -#import "PhoneMainView.h" -#import "Utils/XMLRPCHelper.h" - -@implementation FirstLoginView - -#pragma mark - UICompositeViewDelegate Functions - -static UICompositeViewDescription *compositeDescription = nil; - -+ (UICompositeViewDescription *)compositeViewDescription { - if (compositeDescription == nil) { - compositeDescription = [[UICompositeViewDescription alloc] init:self.class - statusBar:nil - tabBar:nil - sideMenu:nil - fullscreen:false - isLeftFragment:YES - fragmentWith:nil]; - } - return compositeDescription; -} - -- (UICompositeViewDescription *)compositeViewDescription { - return self.class.compositeViewDescription; -} - -#pragma mark - ViewController Functions - -- (void)viewDidLoad { - [super viewDidLoad]; - NSString *siteUrl = - [[LinphoneManager instance] lpConfigStringForKey:@"first_login_view_url"] ?: @"http://www.linphone.org"; - [_siteButton setTitle:siteUrl forState:UIControlStateNormal]; -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - // Set observer - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(registrationUpdateEvent:) - name:kLinphoneRegistrationUpdate - object:nil]; - - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(configureStateUpdateEvent:) - name:kLinphoneConfiguringStateUpdate - object:nil]; - - // Update on show - MSList *list = [LinphoneManager.instance createAccountsNotHiddenList]; - if (list != NULL) { - LinphoneAccount *account = (LinphoneAccount *)list->data; - if (account) { - [self registrationUpdate:linphone_account_get_state(account)]; - } - } - bctbx_list_free(list); - - if (account_creator) { - linphone_account_creator_unref(account_creator); - } - NSString *siteUrl = - [[LinphoneManager instance] lpConfigStringForKey:@"first_login_view_url"] ?: @"http://www.linphone.org"; - account_creator = linphone_account_creator_new([LinphoneManager getLc], siteUrl.UTF8String); - - [_usernameField - showError:[AssistantView - errorForLinphoneAccountCreatorUsernameStatus:LinphoneAccountCreatorUsernameStatusInvalid] - when:^BOOL(NSString *inputEntry) { - LinphoneAccountCreatorUsernameStatus s = - linphone_account_creator_set_username(account_creator, inputEntry.UTF8String); - _usernameField.errorLabel.text = [AssistantView errorForLinphoneAccountCreatorUsernameStatus:s]; - return s != LinphoneAccountCreatorUsernameStatusOk; - }]; - - [_passwordField - showError:[AssistantView - errorForLinphoneAccountCreatorPasswordStatus:LinphoneAccountCreatorPasswordStatusTooShort] - when:^BOOL(NSString *inputEntry) { - LinphoneAccountCreatorPasswordStatus s = - linphone_account_creator_set_password(account_creator, inputEntry.UTF8String); - _passwordField.errorLabel.text = [AssistantView errorForLinphoneAccountCreatorPasswordStatus:s]; - return s != LinphoneAccountCreatorUsernameStatusOk; - }]; - - [_domainField - showError:[AssistantView errorForLinphoneAccountCreatorDomainStatus:LinphoneAccountCreatorDomainInvalid] - when:^BOOL(NSString *inputEntry) { - LinphoneAccountCreatorDomainStatus s = - linphone_account_creator_set_domain(account_creator, inputEntry.UTF8String); - _domainField.errorLabel.text = [AssistantView errorForLinphoneAccountCreatorDomainStatus:s]; - return s != LinphoneAccountCreatorDomainOk; - }]; -} - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - - // Remove observer - [[NSNotificationCenter defaultCenter] removeObserver:self name:kLinphoneRegistrationUpdate object:nil]; -} - -- (void)shouldEnableNextButton { - BOOL invalidInputs = NO; - for (UIAssistantTextField *field in @[ _usernameField, _passwordField, _domainField ]) { - invalidInputs |= (field.isInvalid || field.lastText.length == 0); - } - _loginButton.enabled = !invalidInputs; -} - -#pragma mark - Event Functions - -- (void)configureStateUpdateEvent:(NSNotification *)notif { - LinphoneConfiguringState state = [[notif.userInfo objectForKey:@"state"] intValue]; - switch (state) { - case LinphoneConfiguringFailed: { - [_waitView setHidden:true]; - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Configuration failed", nil) - message:NSLocalizedString(@"Cannot retrieve your configuration. Please check credentials or try again later", nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"OK", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [self presentViewController:errView animated:YES completion:nil]; - linphone_core_set_provisioning_uri([LinphoneManager getLc], NULL); - break; - } - default: - break; - } - if (account_creator) { - linphone_account_creator_unref(account_creator); - } - NSString *siteUrl = - [[LinphoneManager instance] lpConfigStringForKey:@"first_login_view_url"] ?: @"http://www.linphone.org"; - account_creator = linphone_account_creator_new([LinphoneManager getLc], siteUrl.UTF8String); -} - -- (void)registrationUpdateEvent:(NSNotification *)notif { - [self registrationUpdate:[[notif.userInfo objectForKey:@"state"] intValue]]; -} - -- (void)registrationUpdate:(LinphoneRegistrationState)state { - switch (state) { - case LinphoneRegistrationOk: { - [[LinphoneManager instance] lpConfigSetBool:FALSE forKey:@"enable_first_login_view_preference"]; - [_waitView setHidden:true]; - [PhoneMainView.instance changeCurrentView:DialerView.compositeViewDescription]; - break; - } - case LinphoneRegistrationNone: - case LinphoneRegistrationCleared: { - [_waitView setHidden:true]; - break; - } - case LinphoneRegistrationFailed: { - [_waitView setHidden:true]; - break; - } - case LinphoneRegistrationProgress: { - [_waitView setHidden:false]; - break; - } - default: - break; - } -} - -#pragma mark - Action Functions - -- (void)onSiteClick:(id)sender { - NSURL *url = [NSURL URLWithString:_siteButton.titleLabel.text]; - [[UIApplication sharedApplication] openURL:url]; - return; -} - -- (void)onLoginClick:(id)sender { - if (!linphone_core_is_network_reachable(LC)) { - [PhoneMainView.instance presentViewController:[LinphoneUtils networkErrorView:@"configure an account"] animated:YES completion:nil]; - return; - } - - _waitView.hidden = NO; - - void (^onSuccesssCallBack)(NSString *) = ^(NSString *url) { - if (url) { - linphone_core_set_provisioning_uri(LC, url.UTF8String); - [LinphoneManager.instance resetLinphoneCore]; - } else { - _waitView.hidden = YES; - } - }; - - [XMLRPCHelper.self sendXMLRPCRequestWithParams:@"get_remote_provisioning_filename" - withParams:@[ _usernameField.text, _passwordField.text, _domainField.text ] - onSuccess:onSuccesssCallBack]; -} - -#pragma mark - UITextFieldDelegate Functions - -- (BOOL)textFieldShouldReturn:(UITextField *)textField { - [textField resignFirstResponder]; - if (textField.returnKeyType == UIReturnKeyNext) { - if (textField == _usernameField) { - [_domainField becomeFirstResponder]; - } else if (textField == _domainField) { - [_passwordField becomeFirstResponder]; - } - } else if (textField.returnKeyType == UIReturnKeyDone) { - [_loginButton sendActionsForControlEvents:UIControlEventTouchUpInside]; - } - - return YES; -} - -- (void)textFieldDidEndEditing:(UITextField *)textField { - UIAssistantTextField *atf = (UIAssistantTextField *)textField; - [atf textFieldDidEndEditing:atf]; -} - -- (BOOL)textField:(UITextField *)textField - shouldChangeCharactersInRange:(NSRange)range - replacementString:(NSString *)string { - UIAssistantTextField *atf = (UIAssistantTextField *)textField; - [atf textField:atf shouldChangeCharactersInRange:range replacementString:string]; - [self shouldEnableNextButton]; - return YES; -} - -@end diff --git a/Classes/FloatingScrollDownButton.swift b/Classes/FloatingScrollDownButton.swift deleted file mode 100644 index eda8f77e3..000000000 --- a/Classes/FloatingScrollDownButton.swift +++ /dev/null @@ -1,123 +0,0 @@ -// -// FloatingScrollDownButton.swift -// linphone -// -// Created by QuentinArguillere on 27/01/2022. -// - -import Foundation -import UIKit - -extension ChatConversationTableViewSwift { - - private enum Constants { - static let trailingValue: CGFloat = 30.0 - static let leadingValue: CGFloat = 85.0 - static let buttonHeight: CGFloat = 16.0 - static let buttonWidth: CGFloat = 16.0 - } - - /* - override func viewDidLoad() { - super.viewDidLoad() - - tableView.tableFooterView = UIView() - } - - override func viewDidAppear(_ animated: Bool) { - super.viewDidAppear(animated) - createFloatingButton() - } - */ - - override func viewDidDisappear(_ animated: Bool) { - super.viewDidAppear(animated) - self.floatingScrollButton?.removeFromSuperview() - self.floatingScrollBackground?.removeFromSuperview() - } - - func createFloatingButton() { - self.floatingScrollButton = UIButton(type: .custom) - self.floatingScrollBackground = UIButton(type: .custom) - self.floatingScrollButton?.translatesAutoresizingMaskIntoConstraints = false - self.floatingScrollBackground?.translatesAutoresizingMaskIntoConstraints = false - constrainFloatingButtonToWindow() - var imageFloatingScrollButton = UIImage() - if #available(iOS 13.0, *) { - imageFloatingScrollButton = UIImage(named: "scroll_to_bottom_default")!.withTintColor(.darkGray) - } else { - imageFloatingScrollButton = UIImage(named: "scroll_to_bottom_default")! - } - self.floatingScrollButton?.setImage(imageFloatingScrollButton, for: .normal) - self.floatingScrollButton?.isHidden = true; - self.floatingScrollBackground?.backgroundColor = .lightGray - self.floatingScrollBackground?.layer.cornerRadius = 25 - self.floatingScrollBackground?.isHidden = true; - - self.floatingScrollButton?.onClick(action: { - self.scrollToBottomButtonAction() - }) - self.floatingScrollBackground?.onClick(action: { - self.scrollToBottomButtonAction() - }) - addBadgeToButton(badge: nil) - } - - private func constrainFloatingButtonToWindow() { - DispatchQueue.main.async { - guard let keyWindow = self.view, - let floatingButton = self.floatingScrollButton else { return } - keyWindow.addSubview(self.floatingScrollBackground!) - keyWindow.addSubview(floatingButton) - keyWindow.trailingAnchor.constraint(equalTo: floatingButton.trailingAnchor, constant: Constants.trailingValue).isActive = true - - floatingButton.bottomAnchor.constraint(equalTo: keyWindow.bottomAnchor, constant: -25).isActive = true - - floatingButton.widthAnchor.constraint(equalToConstant: - Constants.buttonWidth).isActive = true - floatingButton.heightAnchor.constraint(equalToConstant: - Constants.buttonHeight).isActive = true - self.floatingScrollBackground?.centerYAnchor.constraint(equalTo: floatingButton.centerYAnchor).isActive = true - self.floatingScrollBackground?.centerXAnchor.constraint(equalTo: floatingButton.centerXAnchor).isActive = true - self.floatingScrollBackground!.widthAnchor.constraint(equalToConstant: - Constants.buttonHeight*3).isActive = true - self.floatingScrollBackground!.heightAnchor.constraint(equalToConstant: - Constants.buttonHeight*3).isActive = true - } - } - - @IBAction private func scrollToBottomButtonAction() { - scrollToBottom(animated: false) - } - - - private func addBadgeToButton(badge: String?) { - self.scrollBadge = UILabel() - self.scrollBadge?.text = badge - self.scrollBadge?.textColor = UIColor.white - self.scrollBadge?.backgroundColor = UIColor.red - self.scrollBadge?.font = UIFont.systemFont(ofSize: 12.0) - self.scrollBadge?.sizeToFit() - self.scrollBadge?.textAlignment = .center - - if let badgeSize = self.scrollBadge?.frame.size, let scrollButton = self.floatingScrollButton { - let height = max(18, Double(badgeSize.height) + 5.0) - let width = max(height, Double(badgeSize.width) + 10.0) - - var vertical: Double?, horizontal: Double? - let badgeInset = UIEdgeInsets(top: 20, left: 0, bottom: 0, right: 15) - - vertical = Double(badgeInset.top) - Double(badgeInset.bottom) - horizontal = Double(badgeInset.left) - Double(badgeInset.right) - - let x = (Double(scrollButton.bounds.size.width) + 34 + horizontal!) - let y = -(Double(badgeSize.height) / 2) - 38 + vertical! - self.scrollBadge?.frame = CGRect(x: x, y: y, width: width, height: height) - - self.scrollBadge!.layer.cornerRadius = self.scrollBadge!.frame.height/2 - self.scrollBadge!.layer.masksToBounds = true - scrollButton.addSubview(self.scrollBadge!) - } - } -} - diff --git a/Classes/HistoryDetailsTableView.h b/Classes/HistoryDetailsTableView.h deleted file mode 100644 index 04ab6cceb..000000000 --- a/Classes/HistoryDetailsTableView.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "linphone/linphonecore.h" - -@interface HistoryDetailsTableView : UITableViewController { - @private - NSMutableArray *callLogs; -} -- (void)loadDataForAddress:(const LinphoneAddress *)peer; - -@end diff --git a/Classes/HistoryDetailsTableView.m b/Classes/HistoryDetailsTableView.m deleted file mode 100644 index bd2140b8a..000000000 --- a/Classes/HistoryDetailsTableView.m +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "HistoryDetailsTableView.h" -#import "LinphoneManager.h" -#import "Utils.h" -#import "linphoneapp-Swift.h" - -@implementation HistoryDetailsTableView - -- (void)loadDataForAddress:(const LinphoneAddress *)peer { - if (callLogs == nil) { - callLogs = [[NSMutableArray alloc] init]; - } else { - [callLogs removeAllObjects]; - } - - if (peer) { - LinphoneAccount *acc = linphone_core_get_default_account(LC); - if (acc) { - const bctbx_list_t *logs = linphone_account_get_call_logs_for_address(acc, peer); - while (logs != NULL) { - LinphoneCallLog *log = (LinphoneCallLog *)logs->data; - if (linphone_address_weak_equal(linphone_call_log_get_remote_address(log), peer)) { - [callLogs addObject:[NSValue valueWithPointer:log]]; - } - logs = bctbx_list_next(logs); - } - } - } - [[self tableView] reloadData]; -} - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return 1; -} - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - return [callLogs count]; -} - -- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { - CGRect frame = CGRectMake(0, 0, tableView.frame.size.width, 44); - UIView *tempView = [[UIView alloc] initWithFrame:frame]; - if (@available(iOS 13, *)) { - tempView.backgroundColor = [UIColor systemBackgroundColor]; - } else { - tempView.backgroundColor = [UIColor whiteColor]; - } - - UILabel *tempLabel = [[UILabel alloc] initWithFrame:frame]; - tempLabel.backgroundColor = [UIColor clearColor]; - tempLabel.textColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"color_E.png"]]; - tempLabel.text = NSLocalizedString(@"Calls", nil); - tempLabel.textAlignment = NSTextAlignmentCenter; - tempLabel.font = [UIFont boldSystemFontOfSize:17]; - tempLabel.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin; - [tempView addSubview:tempLabel]; - - return tempView; -} - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - static NSString *kCellId = @"UITableViewCell"; - UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId]; - if (cell == nil) { - cell = [[UITableViewCell alloc] init]; - } - - LinphoneCallLog *log = [[callLogs objectAtIndex:[indexPath row]] pointerValue]; - int duration = linphone_call_log_get_duration(log); - time_t callTime = linphone_call_log_get_start_date(log); - cell.textLabel.textAlignment = NSTextAlignmentCenter; - [cell.textLabel - setText:[NSString stringWithFormat:@"%@ - %@", - [LinphoneUtils timeToString:callTime withFormat:LinphoneDateHistoryDetails], - [LinphoneUtils durationToString:duration]]]; - BOOL outgoing = (linphone_call_log_get_dir(log) == LinphoneCallOutgoing); - - if ([SwiftUtil isCallLogMissedWithCLog:log]) { - cell.imageView.image = [UIImage imageNamed:@"call_missed.png"]; - } else if (outgoing) { - cell.imageView.image = [UIImage imageNamed:@"call_outgoing.png"]; - } else { - cell.imageView.image = [UIImage imageNamed:@"call_incoming.png"]; - } - cell.contentView.userInteractionEnabled = false; - - return cell; -} - -@end diff --git a/Classes/HistoryDetailsView.h b/Classes/HistoryDetailsView.h deleted file mode 100644 index 4b434b55d..000000000 --- a/Classes/HistoryDetailsView.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#include "linphone/linphonecore.h" - -#import -#import "UICompositeView.h" -#import "HistoryDetailsTableView.h" -#import "UIRoundedImageView.h" - -@interface HistoryDetailsView : TPMultiLayoutViewController { - @private - LinphoneCallLog *callLog; -} -@property(weak, nonatomic) IBOutlet UIButton *backButton; -@property(weak, nonatomic) IBOutlet UILabel *contactLabel; -@property(nonatomic, strong) IBOutlet UIImageView *avatarImage; -@property(nonatomic, strong) IBOutlet UILabel *addressLabel; -@property(nonatomic, strong) IBOutlet UIButton *addContactButton; -@property(nonatomic, copy, setter=setCallLogId:) NSString *callLogId; -@property(weak, nonatomic) IBOutlet UIView *headerView; -@property(strong, nonatomic) IBOutlet HistoryDetailsTableView *tableView; -@property(weak, nonatomic) IBOutlet UILabel *emptyLabel; -@property (weak, nonatomic) IBOutlet UIView *waitView; -@property (weak, nonatomic) IBOutlet UIRoundedImageView *linphoneImage; -@property (weak, nonatomic) IBOutlet UIView *optionsView; -@property(weak, nonatomic) IBOutlet UIButton *chatButton; -@property (weak, nonatomic) IBOutlet UIView *encryptedChatView; - -- (IBAction)onBackClick:(id)event; -- (IBAction)onAddContactClick:(id)event; -- (IBAction)onCallClick:(id)event; -- (IBAction)onChatClick:(id)event; -- (IBAction)onEncryptedChatClick:(id)sender; -- (void)setCallLogId:(NSString *)acallLogId; - -@end diff --git a/Classes/HistoryDetailsView.m b/Classes/HistoryDetailsView.m deleted file mode 100644 index 1231f23cf..000000000 --- a/Classes/HistoryDetailsView.m +++ /dev/null @@ -1,244 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "HistoryDetailsView.h" -#import "PhoneMainView.h" -#import "FastAddressBook.h" -#import "linphoneapp-Swift.h" - -@implementation HistoryDetailsView - -#pragma mark - UICompositeViewDelegate Functions - -static UICompositeViewDescription *compositeDescription = nil; - -+ (UICompositeViewDescription *)compositeViewDescription { - if (compositeDescription == nil) { - compositeDescription = [[UICompositeViewDescription alloc] init:self.class - statusBar:StatusBarView.class - tabBar:TabBarView.class - sideMenu:SideMenuView.class - fullscreen:false - isLeftFragment:NO - fragmentWith:HistoryListView.class]; - } - return compositeDescription; -} - -- (UICompositeViewDescription *)compositeViewDescription { - return self.class.compositeViewDescription; -} - -#pragma mark - Property Functions - -- (void)setCallLogId:(NSString *)acallLogId { - _callLogId = [acallLogId copy]; - [self update]; -} - -#pragma mark - ViewController Functions - -- (void)viewDidLoad { - [super viewDidLoad]; - - // if we use fragments, remove back button - if (IPAD) { - _backButton.hidden = YES; - _backButton.alpha = 0; - - } - - UITapGestureRecognizer *headerTapGesture = - [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onContactClick:)]; - [_headerView addGestureRecognizer:headerTapGesture]; -} - -- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { - _chatButton.hidden = [LinphoneManager.instance lpConfigBoolForKey:@"force_lime_chat_rooms"] || [LinphoneManager.instance lpConfigBoolForKey:@"disable_chat_feature"]; - [super didRotateFromInterfaceOrientation:fromInterfaceOrientation]; - [self update]; -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - _waitView.hidden = YES; - [self update]; - - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(update) - name:kLinphoneAddressBookUpdate - object:nil]; - - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(coreUpdateEvent:) - name:kLinphoneCoreUpdate - object:nil]; - - [[NSNotificationCenter defaultCenter] addObserver: self - selector: @selector(deviceOrientationDidChange:) - name: UIDeviceOrientationDidChangeNotification - object: nil]; - - NSDictionary* userInfo; - [NSNotificationCenter.defaultCenter addObserver:self - selector: @selector(receivePresenceNotification:) - name: @"LinphoneFriendPresenceUpdate" - object: userInfo]; -} - --(void) receivePresenceNotification:(NSNotification*)notification -{ - if ([notification.name isEqualToString:@"LinphoneFriendPresenceUpdate"]) - { - [self update]; - } -} - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - [NSNotificationCenter.defaultCenter removeObserver:self]; - [[NSNotificationCenter defaultCenter] removeObserver:self name:@"LinphoneFriendPresenceUpdate" object:nil]; - [AvatarBridge removeAllObserver]; -} - -#pragma mark - Event Functions - -- (void)coreUpdateEvent:(NSNotification *)notif { - @try { - [self update]; - } - @catch (NSException *exception) { - if ([exception.name isEqualToString:@"LinphoneCoreException"]) { - LOGE(@"Core already destroyed"); - return; - } - LOGE(@"Uncaught exception : %@", exception.description); - abort(); - } -} - -- (void) deviceOrientationDidChange:(NSNotification*) notif { - [self update]; -} - -#pragma mark - - -- (void)update { - // Look for the call log - callLog = NULL; - if (_callLogId) { - const MSList *list = linphone_core_get_call_logs(LC); - while (list != NULL) { - LinphoneCallLog *log = (LinphoneCallLog *)list->data; - const char *cid = linphone_call_log_get_call_id(log); - if (cid != NULL && [_callLogId isEqualToString:[NSString stringWithUTF8String:cid]]) { - callLog = log; - break; - } - list = list->next; - } - } - - // Pop if callLog is null - if (callLog == NULL) { - _emptyLabel.hidden = NO; - _addContactButton.hidden = YES; - return; - } - - _emptyLabel.hidden = YES; - - const LinphoneAddress *addr = linphone_call_log_get_remote_address(callLog); - _addContactButton.hidden = ([FastAddressBook getContactWithAddress:addr] != nil); - [ContactDisplay setDisplayNameLabel:_contactLabel forAddress:addr withAddressLabel:_addressLabel]; - [_avatarImage setImage:[FastAddressBook imageForAddress:addr]]; - Contact *contact = [FastAddressBook getContactWithAddress:addr]; - const LinphonePresenceModel *model = contact.friend ? linphone_friend_get_presence_model(contact.friend) : NULL; - _linphoneImage.hidden = [LinphoneManager.instance lpConfigBoolForKey:@"hide_linphone_contacts" inSection:@"app"] || - ! ((model && linphone_presence_model_get_basic_status(model) == LinphonePresenceBasicStatusOpen) || [FastAddressBook contactHasValidSipDomain:contact]); - LinphoneAccount *defaultAccount = linphone_core_get_default_account(LC); - [self shouldHideEncryptedChatView:defaultAccount && linphone_account_params_get_conference_factory_uri(linphone_account_get_params(defaultAccount)) && model && linphone_presence_model_has_capability(model, LinphoneFriendCapabilityLimeX3dh)]; - char *addrURI = linphone_address_as_string_uri_only(addr); - ms_free(addrURI); - - [_tableView loadDataForAddress:(callLog ? linphone_call_log_get_remote_address(callLog) : NULL)]; -} - -- (void)shouldHideEncryptedChatView:(BOOL)hasLime { - _encryptedChatView.hidden = !hasLime || [LinphoneManager.instance lpConfigBoolForKey:@"disable_chat_feature"]; - CGRect newFrame = _optionsView.frame; - if (!hasLime) { - newFrame.origin.x = _encryptedChatView.frame.size.width * 2/3; - - } else { - newFrame.origin.x = 0; - } - _optionsView.frame = newFrame; -} - -#pragma mark - Action Functions - -- (IBAction)onBackClick:(id)event { - HistoryListView *view = VIEW(HistoryListView); - [PhoneMainView.instance popToView:view.compositeViewDescription]; -} - -- (IBAction)onContactClick:(id)event { - const LinphoneAddress *addr = linphone_call_log_get_remote_address(callLog); - Contact *contact = [FastAddressBook getContactWithAddress:addr]; - if (contact) { - ContactDetailsView *view = VIEW(ContactDetailsView); - [PhoneMainView.instance changeCurrentView:view.compositeViewDescription]; - [ContactSelection setSelectionMode:ContactSelectionModeNone]; - [view setContact:contact]; - } -} - -- (IBAction)onAddContactClick:(id)event { - const LinphoneAddress *addr = linphone_call_log_get_remote_address(callLog); - char *lAddress = linphone_address_as_string_uri_only(addr); - if (lAddress != NULL) { - NSString *normSip = [NSString stringWithUTF8String:lAddress]; - normSip = [normSip hasPrefix:@"sip:"] ? [normSip substringFromIndex:4] : normSip; - [ContactSelection setAddAddress:normSip]; - [ContactSelection setSelectionMode:ContactSelectionModeEdit]; - [ContactSelection enableSipFilter:FALSE]; - [PhoneMainView.instance changeCurrentView:ContactsListView.compositeViewDescription]; - ms_free(lAddress); - } -} - -- (IBAction)onCallClick:(id)event { - const LinphoneAddress *addr = linphone_call_log_get_remote_address(callLog); - [LinphoneManager.instance call:addr]; -} - -- (IBAction)onChatClick:(id)event { - const LinphoneAddress *addr = linphone_call_log_get_remote_address(callLog); - [LinphoneManager.instance lpConfigSetBool:TRUE forKey:@"create_chat"]; - [PhoneMainView.instance getOrCreateOneToOneChatRoom:addr waitView:_waitView isEncrypted:FALSE]; -} - -- (IBAction)onEncryptedChatClick:(id)sender { - const LinphoneAddress *addr = linphone_call_log_get_remote_address(callLog); - [LinphoneManager.instance lpConfigSetBool:TRUE forKey:@"create_chat"]; - [PhoneMainView.instance getOrCreateOneToOneChatRoom:addr waitView:_waitView isEncrypted:TRUE]; -} - -@end diff --git a/Classes/HistoryListTableView.h b/Classes/HistoryListTableView.h deleted file mode 100644 index 2f9af3fc5..000000000 --- a/Classes/HistoryListTableView.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "UICheckBoxTableView.h" - -@interface HistoryListTableView : UICheckBoxTableView { -} - -@property(nonatomic, assign) BOOL missedFilter; -@property(nonatomic, assign) BOOL confFilter; - - -@property(strong, nonatomic) NSMutableDictionary *sections; -@property(strong, nonatomic) NSMutableArray *sortedDays; - -- (void)removeFIlters; -@end diff --git a/Classes/HistoryListTableView.m b/Classes/HistoryListTableView.m deleted file mode 100644 index 8b60b0c6d..000000000 --- a/Classes/HistoryListTableView.m +++ /dev/null @@ -1,367 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "HistoryListTableView.h" -#import "UIHistoryCell.h" -#import "LinphoneManager.h" -#import "PhoneMainView.h" -#import "Utils.h" -#import "linphoneapp-Swift.h" - - -@implementation HistoryListTableView - -@synthesize missedFilter,confFilter; - -#pragma mark - Lifecycle Functions - -- (void)initHistoryTableViewController { - missedFilter = false; - confFilter = false; -} - -- (id)init { - self = [super init]; - if (self) { - [self initHistoryTableViewController]; - } - return self; -} - -- (id)initWithCoder:(NSCoder *)decoder { - self = [super initWithCoder:decoder]; - if (self) { - [self initHistoryTableViewController]; - } - return self; -} - -#pragma mark - ViewController Functions - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(loadData) - name:kLinphoneAddressBookUpdate - object:nil]; - - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(loadData) - name:kLinphoneCallUpdate - object:nil]; - - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(coreUpdateEvent:) - name:kLinphoneCoreUpdate - object:nil]; - [self loadData]; - NSDictionary* userInfo; - [NSNotificationCenter.defaultCenter addObserver:self - selector: @selector(receivePresenceNotification:) - name: @"LinphoneFriendPresenceUpdate" - object: userInfo]; -} - --(void) receivePresenceNotification:(NSNotification*)notification -{ - if ([notification.name isEqualToString:@"LinphoneFriendPresenceUpdate"]) - { - NSDictionary* userInfo = notification.userInfo; - NSString* friend = (NSString*)userInfo[@"friend"]; - - const MSList *list = linphone_core_get_call_logs(LC); - int i = 0; - while (list != NULL) { - LinphoneCallLog *log = (LinphoneCallLog *)list->data; - const char *curi = linphone_address_as_string_uri_only(linphone_call_log_get_remote_address(log)); - NSString *uri = [NSString stringWithUTF8String:curi]; - - if([uri isEqual:friend]){ - NSIndexPath* indexPath = [NSIndexPath indexPathForRow:i inSection:0]; - NSArray* indexArray = [NSArray arrayWithObjects:indexPath, nil]; - [self.tableView reloadRowsAtIndexPaths:indexArray withRowAnimation:UITableViewRowAnimationFade]; - } - i = i + 1; - list = list->next; - } - } -} - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - - [NSNotificationCenter.defaultCenter removeObserver:self name:kLinphoneAddressBookUpdate object:nil]; - [NSNotificationCenter.defaultCenter removeObserver:self name:kLinphoneCoreUpdate object:nil]; - [NSNotificationCenter.defaultCenter removeObserver:self name:kLinphoneCallUpdate object:nil]; - [[NSNotificationCenter defaultCenter] removeObserver:self name:@"LinphoneFriendPresenceUpdate" object:nil]; - [AvatarBridge removeAllObserver]; -} - -#pragma mark - Event Functions - -- (void)coreUpdateEvent:(NSNotification *)notif { - @try { - // Invalid all pointers - [self loadData]; - } - @catch (NSException *exception) { - if ([exception.name isEqualToString:@"LinphoneCoreException"]) { - LOGE(@"Core already destroyed"); - return; - } - LOGE(@"Uncaught exception : %@", exception.description); - abort(); - } -} - -#pragma mark - Property Functions - -- (void)setMissedFilter:(BOOL)amissedFilter { - if (missedFilter == amissedFilter) { - return; - } - missedFilter = amissedFilter; - if (missedFilter) { - confFilter = false; - } - [self loadData]; -} - -- (void)setConfFilter:(BOOL)aconfFilter { - if (confFilter == aconfFilter) { - return; - } - confFilter = aconfFilter; - if (confFilter) { - missedFilter = false; - } - [self loadData]; -} - -- (void)removeFIlters { - confFilter = false; - missedFilter = false; - [self loadData]; -} - - -#pragma mark - UITableViewDataSource Functions - -- (NSDate *)dateAtBeginningOfDayForDate:(NSDate *)inputDate { - NSCalendar *calendar = [NSCalendar currentCalendar]; - NSTimeZone *timeZone = [NSTimeZone systemTimeZone]; - [calendar setTimeZone:timeZone]; - NSDateComponents *dateComps = - [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:inputDate]; - - dateComps.hour = dateComps.minute = dateComps.second = 0; - return [calendar dateFromComponents:dateComps]; -} - -- (void)loadData { - for (id day in self.sections.allKeys) { - for (id log in self.sections[day]) { - linphone_call_log_unref([log pointerValue]); - } - } - - const bctbx_list_t *logs = linphone_core_get_call_logs(LC); - self.sections = [NSMutableDictionary dictionary]; - while (logs != NULL) { - LinphoneCallLog *log = (LinphoneCallLog *)logs->data; - BOOL keepIt = (!missedFilter || [SwiftUtil isCallLogMissedWithCLog:log]) && (!confFilter||linphone_call_log_was_conference(log)) ; - if (keepIt) { - NSDate *startDate = [self - dateAtBeginningOfDayForDate:[NSDate - dateWithTimeIntervalSince1970:linphone_call_log_get_start_date(log)]]; - NSMutableArray *eventsOnThisDay = [self.sections objectForKey:startDate]; - if (eventsOnThisDay == nil) { - eventsOnThisDay = [NSMutableArray array]; - [self.sections setObject:eventsOnThisDay forKey:startDate]; - } - - linphone_call_log_set_user_data(log, NULL); - - // if this contact was already the previous entry, do not add it twice - LinphoneCallLog *prev = [eventsOnThisDay lastObject] ? [[eventsOnThisDay lastObject] pointerValue] : NULL; - if (!linphone_call_log_was_conference(log) && prev && linphone_address_weak_equal(linphone_call_log_get_remote_address(prev), - linphone_call_log_get_remote_address(log))) { - bctbx_list_t *list = linphone_call_log_get_user_data(prev); - list = bctbx_list_append(list, linphone_call_log_ref(log)); - linphone_call_log_set_user_data(prev, list); - } else { - [eventsOnThisDay addObject:[NSValue valueWithPointer:linphone_call_log_ref(log)]]; - } - } - logs = bctbx_list_next(logs); - } - - [self computeSections]; - - [super loadData]; - - if (IPAD) { - if (![self selectFirstRow]) { - HistoryDetailsView *view = VIEW(HistoryDetailsView); - [view setCallLogId:nil]; - } - } -} - -- (void)computeSections { - NSArray *unsortedDays = [self.sections allKeys]; - _sortedDays = [[NSMutableArray alloc] - initWithArray:[unsortedDays sortedArrayUsingComparator:^NSComparisonResult(NSDate *d1, NSDate *d2) { - return [d2 compare:d1]; // reverse order - }]]; -} - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return _sortedDays.count; -} - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - NSArray *logs = [_sections objectForKey:_sortedDays[section]]; - return logs.count; -} - -- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { - CGRect frame = CGRectMake(0, 0, tableView.frame.size.width, 44); - UIView *tempView = [[UIView alloc] initWithFrame:frame]; - if (@available(iOS 13, *)) { - tempView.backgroundColor = [UIColor systemBackgroundColor]; - } else { - tempView.backgroundColor = [UIColor whiteColor]; - } - - UILabel *tempLabel = [[UILabel alloc] initWithFrame:frame]; - tempLabel.backgroundColor = [UIColor clearColor]; - tempLabel.textColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"color_A.png"]]; - NSDate *eventDate = _sortedDays[section]; - NSDate *currentDate = [self dateAtBeginningOfDayForDate:[NSDate date]]; - if ([eventDate isEqualToDate:currentDate]) { - tempLabel.text = NSLocalizedString(@"TODAY", nil); - } else if ([eventDate isEqualToDate:[currentDate dateByAddingTimeInterval:-3600 * 24]]) { - tempLabel.text = NSLocalizedString(@"YESTERDAY", nil); - } else { - tempLabel.text = [LinphoneUtils timeToString:eventDate.timeIntervalSince1970 withFormat:LinphoneDateHistoryList] - .uppercaseString; - } - tempLabel.textAlignment = NSTextAlignmentCenter; - tempLabel.font = [UIFont boldSystemFontOfSize:17]; - tempLabel.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin; - [tempView addSubview:tempLabel]; - - return tempView; -} - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - static NSString *kCellId = @"UIHistoryCell"; - UIHistoryCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId]; - if (cell == nil) { - cell = [[UIHistoryCell alloc] initWithIdentifier:kCellId]; - } - - id logId = [_sections objectForKey:_sortedDays[indexPath.section]][indexPath.row]; - LinphoneCallLog *log = [logId pointerValue]; - [cell setCallLog:log]; - [super accessoryForCell:cell atPath:indexPath]; - cell.contentView.userInteractionEnabled = false; - return cell; -} - -#pragma mark - UITableViewDelegate Functions - -- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - [super tableView:tableView didSelectRowAtIndexPath:indexPath]; - if (![self isEditing]) { - id log = [_sections objectForKey:_sortedDays[indexPath.section]][indexPath.row]; - LinphoneCallLog *callLog = [log pointerValue]; - if (callLog != NULL) { - if (IPAD) { - UIHistoryCell *cell = (UIHistoryCell *)[self tableView:tableView cellForRowAtIndexPath:indexPath]; - [cell onDetails:self]; - } else { - if (linphone_call_log_was_conference(callLog)) { - LinphoneConferenceInfo *confInfo = linphone_call_log_get_conference_info(callLog); - if (linphone_conference_info_get_state(confInfo) == LinphoneConferenceInfoStateCancelled) { - [ConferenceViewModelBridge showCancelledMeetingWithCConferenceInfo:confInfo]; - return; - } - ConferenceWaitingRoomView *view = VIEW(ConferenceWaitingRoomView); - [view setDetailsWithSubject:[NSString stringWithUTF8String:linphone_conference_info_get_subject(confInfo)] url:[NSString stringWithUTF8String:linphone_address_as_string(linphone_conference_info_get_uri(confInfo))] conferenceInfo:(confInfo)]; - [PhoneMainView.instance changeCurrentView:ConferenceWaitingRoomView.compositeViewDescription]; - } else { - const LinphoneAddress *addr = linphone_call_log_get_remote_address(callLog); - [tableView deselectRowAtIndexPath:indexPath animated:NO]; - [LinphoneManager.instance call:addr]; - } - } - } - } -} - -- (void)tableView:(UITableView *)tableView - commitEditingStyle:(UITableViewCellEditingStyle)editingStyle - forRowAtIndexPath:(NSIndexPath *)indexPath { - if (editingStyle == UITableViewCellEditingStyleDelete) { - [tableView beginUpdates]; - id log = [_sections objectForKey:_sortedDays[indexPath.section]][indexPath.row]; - LinphoneCallLog *callLog = [log pointerValue]; - MSList *count = linphone_call_log_get_user_data(callLog); - while (count) { - linphone_core_remove_call_log(LC, count->data); - count = count->next; - } - linphone_core_remove_call_log(LC, callLog); - linphone_call_log_unref(callLog); - [[_sections objectForKey:_sortedDays[indexPath.section]] removeObject:log]; - if (((NSArray *)[_sections objectForKey:_sortedDays[indexPath.section]]).count == 0) { - [_sections removeObjectForKey:_sortedDays[indexPath.section]]; - [_sortedDays removeObjectAtIndex:indexPath.section]; - [tableView deleteSections:[NSIndexSet indexSetWithIndex:indexPath.section] - withRowAnimation:UITableViewRowAnimationFade]; - } - - [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] - withRowAnimation:UITableViewRowAnimationFade]; - [tableView endUpdates]; - } -} - -- (void)removeSelectionUsing:(void (^)(NSIndexPath *))remover { - [super removeSelectionUsing:^(NSIndexPath *indexPath) { - id log = [_sections objectForKey:_sortedDays[indexPath.section]][indexPath.row]; - LinphoneCallLog *callLog = [log pointerValue]; - MSList *count = linphone_call_log_get_user_data(callLog); - while (count) { - linphone_core_remove_call_log(LC, count->data); - count = count->next; - } - linphone_core_remove_call_log(LC, callLog); - linphone_call_log_unref(callLog); - [[_sections objectForKey:_sortedDays[indexPath.section]] removeObject:log]; - if (((NSArray *)[_sections objectForKey:_sortedDays[indexPath.section]]).count == 0) { - [_sections removeObjectForKey:_sortedDays[indexPath.section]]; - [_sortedDays removeObjectAtIndex:indexPath.section]; - } - }]; -} - -@end diff --git a/Classes/HistoryListView.h b/Classes/HistoryListView.h deleted file mode 100644 index 9e1a176bb..000000000 --- a/Classes/HistoryListView.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "UICompositeView.h" -#import "HistoryListTableView.h" -#import "UIToggleButton.h" -#import "UIInterfaceStyleButton.h" - -@interface HistoryListView : UIViewController { -} - -@property(nonatomic, strong) IBOutlet HistoryListTableView *tableController; - -@property(nonatomic, strong) IBOutlet UIButton *allButton; -@property(nonatomic, strong) IBOutlet UIButton *missedButton; -@property (weak, nonatomic) IBOutlet UIInterfaceStyleButton *conferenceButton; -@property(weak, nonatomic) IBOutlet UIImageView *selectedButtonImage; -@property (weak, nonatomic) IBOutlet UIInterfaceStyleButton *toggleSelectionButton; - -- (IBAction)onAllClick:(id)event; -- (IBAction)onMissedClick:(id)event; -- (IBAction)onDeleteClick:(id)event; -- (IBAction)onEditionChangeClick:(id)sender; - -@end diff --git a/Classes/HistoryListView.m b/Classes/HistoryListView.m deleted file mode 100644 index 58e0333f8..000000000 --- a/Classes/HistoryListView.m +++ /dev/null @@ -1,145 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "HistoryListView.h" -#import "PhoneMainView.h" -#import "LinphoneUI/UIHistoryCell.h" - -@implementation HistoryListView - -typedef enum _HistoryView { History_All, History_Missed, History_Conference, History_MAX } HistoryView; - -#pragma mark - UICompositeViewDelegate Functions - -static UICompositeViewDescription *compositeDescription = nil; - -+ (UICompositeViewDescription *)compositeViewDescription { - if (compositeDescription == nil) { - compositeDescription = [[UICompositeViewDescription alloc] init:self.class - statusBar:StatusBarView.class - tabBar:TabBarView.class - sideMenu:SideMenuView.class - fullscreen:false - isLeftFragment:YES - fragmentWith:HistoryDetailsView.class]; - } - return compositeDescription; -} - -- (UICompositeViewDescription *)compositeViewDescription { - return self.class.compositeViewDescription; -} - -#pragma mark - ViewController Functions - --(void) viewDidLoad { - [super viewDidLoad]; - _conferenceButton.imageView.contentMode = UIViewContentModeScaleAspectFit; -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - - if ([_tableController isEditing]) { - [_tableController setEditing:FALSE animated:FALSE]; - } - [self changeView:History_All]; - [self onEditionChangeClick:nil]; - - // Reset missed call - linphone_core_reset_missed_calls_count(LC); - // Fake event - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneCallUpdate object:self]; - [_toggleSelectionButton setImage:[UIImage imageNamed:@"select_all_default.png"] forState:UIControlStateSelected]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(displayModeChanged) - name:kDisplayModeChanged - object:nil]; -} - -- (void) viewWillDisappear:(BOOL)animated { - self.view = NULL; - [NSNotificationCenter.defaultCenter removeObserver:self]; -} - -#pragma mark - - - -- (void)changeView:(HistoryView)view { - CGRect frame = _selectedButtonImage.frame; - if (view == History_All) { - frame.origin.x = _allButton.frame.origin.x; - _allButton.selected = TRUE; - [_tableController removeFIlters]; - _missedButton.selected = FALSE; - _conferenceButton.selected = false; - } else if (view == History_Conference) { - frame.origin.x = _conferenceButton.frame.origin.x; - _conferenceButton.selected = TRUE; - [_tableController setConfFilter:true]; - _missedButton.selected = FALSE; - _allButton.selected = FALSE; - } else { - frame.origin.x = _missedButton.frame.origin.x; - _missedButton.selected = TRUE; - [_tableController setMissedFilter:TRUE]; - _allButton.selected = FALSE; - _conferenceButton.selected = false; - } - _selectedButtonImage.frame = frame; -} - -- (void)displayModeChanged{ - [self.tableController.tableView reloadData]; -} - -#pragma m ~ark - Action Functions - -- (IBAction)onAllClick:(id)event { - [self changeView:History_All]; -} - -- (IBAction)onMissedClick:(id)event { - [self changeView:History_Missed]; -} - -- (IBAction)onConferenceClick:(id)sender { - [self changeView:History_Conference]; -} - -- (IBAction)onDeleteClick:(id)event { - NSString *msg = [NSString stringWithFormat:NSLocalizedString(@"Do you want to delete selected logs?", nil)]; - [UIConfirmationDialog ShowWithMessage:msg - cancelMessage:nil - confirmMessage:nil - onCancelClick:^() { - [self onEditionChangeClick:nil]; - } - onConfirmationClick:^() { - [_tableController removeSelectionUsing:nil]; - [_tableController loadData]; - [self onEditionChangeClick:nil]; - }]; -} - -- (IBAction)onEditionChangeClick:(id)sender { - _allButton.hidden = _missedButton.hidden = _selectedButtonImage.hidden = self.tableController.isEditing; -} - -@end diff --git a/Classes/ImagePickerView.h b/Classes/ImagePickerView.h deleted file mode 100644 index cfa8d8307..000000000 --- a/Classes/ImagePickerView.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UICompositeView.h" - -@protocol ImagePickerDelegate - -- (void)imagePickerDelegateImage:(UIImage *)image info:(NSString *)phAssetId; -- (void)imagePickerDelegateVideo:(NSURL*)url info:(NSDictionary *)info; -@end - -@interface ImagePickerView : UIViewController { - @private - UIImagePickerController *pickerController; -} - -@property(nonatomic, strong) id imagePickerDelegate; -@property(nonatomic) UIImagePickerControllerSourceType sourceType; -@property(nonatomic, copy) NSArray *mediaTypes; -@property(nonatomic) BOOL allowsEditing; -@property(nonatomic, readonly) UIPopoverController *popoverController; - -+ (void)SelectImageFromDevice:(id)delegate - atPosition:(UIView *)ipadPopoverView - inView:(UIView *)ipadView - withDocumentMenuDelegate:(id)documentMenuDelegate; - -@end diff --git a/Classes/ImagePickerView.m b/Classes/ImagePickerView.m deleted file mode 100644 index 932c21b7f..000000000 --- a/Classes/ImagePickerView.m +++ /dev/null @@ -1,414 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import "ImagePickerView.h" -#import "PhoneMainView.h" -#import "SVProgressHUD.h" -#import "ShareViewController.h" -#import "linphoneapp-Swift.h" -#import - - -@implementation ImagePickerView - -@synthesize imagePickerDelegate; -@synthesize sourceType; -@synthesize mediaTypes; -@synthesize allowsEditing; -@synthesize popoverController; - -#pragma mark - Lifecycle Functions - -- (id)init { - self = [super init]; - if (self != nil) { - pickerController = [[UIImagePickerController alloc] init]; - if (IPAD) { - popoverController = [[UIPopoverController alloc] initWithContentViewController:pickerController]; - } - } - return self; -} - -- (BOOL) shouldAutorotate{ - return NO; -} - -#if __IPHONE_OS_VERSION_MAX_ALLOWED < 90000 -- (NSUInteger)supportedInterfaceOrientations { - return UIInterfaceOrientationMaskPortrait; -} -#else -- (UIInterfaceOrientationMask)supportedInterfaceOrientations{ - return UIInterfaceOrientationMaskPortrait; -} -#endif - -#pragma mark - UICompositeViewDelegate Functions - -static UICompositeViewDescription *compositeDescription = nil; - -+ (UICompositeViewDescription *)compositeViewDescription { - if (compositeDescription == nil) { - compositeDescription = [[UICompositeViewDescription alloc] init:self.class - statusBar:StatusBarView.class - tabBar:nil - sideMenu:SideMenuView.class - fullscreen:false - isLeftFragment:NO - fragmentWith:nil]; - compositeDescription.darkBackground = false; - } - return compositeDescription; -} - -- (UICompositeViewDescription *)compositeViewDescription { - return self.class.compositeViewDescription; -} - -#pragma mark - ViewController Functions - -- (void)viewDidLoad { - [super viewDidLoad]; - - [self.view setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight]; - if (popoverController == nil) { - [pickerController.view setFrame:[self.view bounds]]; - [self.view addSubview:[pickerController view]]; - } else { - [popoverController setDelegate:self]; - } - [pickerController setDelegate:self]; -} - -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; - if (popoverController != nil) { - [popoverController presentPopoverFromRect:CGRectZero - inView:self.view - permittedArrowDirections:UIPopoverArrowDirectionAny - animated:FALSE]; - } - [[UIApplication sharedApplication] setStatusBarHidden:NO]; // Fix UIImagePickerController status bar hide - [[UIApplication sharedApplication] - setStatusBarStyle:UIStatusBarStyleDefault]; // Fix UIImagePickerController status bar style change - - [PhoneMainView.instance hideStatusBar:YES]; - - //Prevent rotation of camera - NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationPortrait]; - [[UIDevice currentDevice] setValue:value forKey:@"orientation"]; -} - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - if (popoverController != nil) { - [popoverController dismissPopoverAnimated:NO]; - } - - [PhoneMainView.instance hideStatusBar:NO]; -} - -#pragma mark - Property Functions - -- (BOOL)allowsEditing { - return pickerController.allowsEditing; -} - -- (void)setAllowsEditing:(BOOL)aallowsEditing { - pickerController.allowsEditing = aallowsEditing; -} - -- (UIImagePickerControllerSourceType)sourceType { - return pickerController.sourceType; -} - -- (void)setSourceType:(UIImagePickerControllerSourceType)asourceType { - pickerController.sourceType = asourceType; -} - -- (NSArray *)mediaTypes { - return pickerController.mediaTypes; -} - -- (void)setMediaTypes:(NSArray *)amediaTypes { - pickerController.mediaTypes = amediaTypes; -} - -#pragma mark - - -- (void)dismiss { - if ([[PhoneMainView.instance currentView] equal:ImagePickerView.compositeViewDescription]) { - [PhoneMainView.instance popCurrentView]; - } -} - -#pragma mark - UIImagePickerControllerDelegate Functions - -- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { - - dispatch_async(dispatch_get_main_queue(), ^{ - - [self dismiss]; - - NSString *type = [info objectForKey:UIImagePickerControllerMediaType]; - if ([type isEqualToString:(NSString *)kUTTypeVideo] || - [type isEqualToString:(NSString *)kUTTypeMovie]) { - NSURL *urlvideo = [info objectForKey:UIImagePickerControllerMediaURL]; - if(urlvideo != nil && self.imagePickerDelegate != nil) { - [imagePickerDelegate imagePickerDelegateVideo:urlvideo info:info]; - } - } else { - NSURL *alassetURL = [info objectForKey:UIImagePickerControllerReferenceURL]; - PHAsset *phasset = nil; - // when photo from camera, it hasn't be saved - if (alassetURL) { - PHFetchResult *phFetchResult = [PHAsset fetchAssetsWithALAssetURLs:@[alassetURL] options:nil]; - phasset = [phFetchResult firstObject]; - } - BOOL saveToGallery = [ConfigManager.instance lpConfigBoolForKeyWithKey:@"auto_write_to_gallery_preference"]; - UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage] ? [info objectForKey:UIImagePickerControllerEditedImage] : [info objectForKey:UIImagePickerControllerOriginalImage]; - if (!phasset && saveToGallery) { - [self writeImageToGallery:image]; - return; - } - [self passImageToDelegate:image PHAssetId:saveToGallery ? [phasset localIdentifier] : nil]; - } - }); - -} - - --(void) writeImageToGallery:(UIImage *)image { - - NSString *localIdentifier; - [SVProgressHUD show]; - - PHFetchResult *assetCollections = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAlbumRegular options:nil]; - __block PHObjectPlaceholder *placeHolder; - - for (PHAssetCollection *assetCollection in assetCollections) { - if([[assetCollection localizedTitle] isEqualToString:[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"]] ){ - localIdentifier = assetCollection.localIdentifier; - break; - } - } - - if(localIdentifier ){ - PHFetchResult *fetchResult = [PHAssetCollection fetchAssetCollectionsWithLocalIdentifiers:@[localIdentifier] options:nil]; - PHAssetCollection *assetCollection = fetchResult.firstObject; - - [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{ - PHAssetChangeRequest *assetChangeRequest = [PHAssetChangeRequest creationRequestForAssetFromImage:image]; - PHAssetCollectionChangeRequest *assetCollectionChangeRequest = [PHAssetCollectionChangeRequest changeRequestForAssetCollection:assetCollection]; - [assetCollectionChangeRequest addAssets:@[[assetChangeRequest placeholderForCreatedAsset]]]; - placeHolder = [assetChangeRequest placeholderForCreatedAsset]; - } completionHandler:^(BOOL success, NSError *error) { - dispatch_async(dispatch_get_main_queue(), ^{ - [SVProgressHUD dismiss]; - if (!success) { - NSLog(@"Error creating asset: %@", error); - } else { - [self passImageToDelegate:image PHAssetId:[placeHolder localIdentifier]]; - } - }); - }]; - }else{ - __block PHObjectPlaceholder *albumPlaceholder; - [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{ - PHAssetCollectionChangeRequest *changeRequest = [PHAssetCollectionChangeRequest creationRequestForAssetCollectionWithTitle:[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"]]; - albumPlaceholder = changeRequest.placeholderForCreatedAssetCollection; - } completionHandler:^(BOOL success, NSError *error) { - if (success) { - PHFetchResult *fetchResult = [PHAssetCollection fetchAssetCollectionsWithLocalIdentifiers:@[albumPlaceholder.localIdentifier] options:nil]; - PHAssetCollection *assetCollection = fetchResult.firstObject; - - [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{ - PHAssetChangeRequest *assetChangeRequest = [PHAssetChangeRequest creationRequestForAssetFromImage:image]; - PHAssetCollectionChangeRequest *assetCollectionChangeRequest = [PHAssetCollectionChangeRequest changeRequestForAssetCollection:assetCollection]; - [assetCollectionChangeRequest addAssets:@[[assetChangeRequest placeholderForCreatedAsset]]]; - placeHolder = [assetChangeRequest placeholderForCreatedAsset]; - } completionHandler:^(BOOL success, NSError *error) { - dispatch_async(dispatch_get_main_queue(), ^{ - - [SVProgressHUD dismiss]; - if (!success) { - NSLog(@"Error creating asset: %@", error); - } else { - [self passImageToDelegate:image PHAssetId:[placeHolder localIdentifier]]; - } - }); - }]; - } else { - [SVProgressHUD dismiss]; - NSLog(@"Error creating album: %@", error); - } - }]; - - } -} - - -- (void) passImageToDelegate:(UIImage *)image PHAssetId:(NSString *)assetId { - if (imagePickerDelegate != nil) { - [imagePickerDelegate imagePickerDelegateImage:image info:(NSString *)assetId]; - } -} -/* - if (imagePickerDelegate != nil) { - [imagePickerDelegate imagePickerDelegateImage:image info:(__bridge NSDictionary *)contextInfo]; - } -} -*/ -- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker { - [self dismiss]; -} - -- (BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)apopoverController { - [self dismiss]; - return TRUE; -} - -- (void)navigationController:(UINavigationController *)navigationController - willShowViewController:(UIViewController *)viewController - animated:(BOOL)animated { - - if ([navigationController isKindOfClass:[UIImagePickerController class]]) { - [[UIApplication sharedApplication] setStatusBarHidden:NO]; // Fix UIImagePickerController status bar hide - [[UIApplication sharedApplication] - setStatusBarStyle:UIStatusBarStyleBlackOpaque]; // Fix UIImagePickerController status bar style change - } -} - -+ (void)SelectImageFromDevice:(id)delegate - atPosition:(UIView *)ipadPopoverView - inView:(UIView *)ipadView - withDocumentMenuDelegate:(id)documentMenuDelegate { - void (^block)(UIImagePickerControllerSourceType) = ^(UIImagePickerControllerSourceType type) { - ImagePickerView *view = VIEW(ImagePickerView); - view.sourceType = type; - - // Displays a control that allows the user to choose picture or - // movie capture, if both are available: - view.mediaTypes = [NSArray arrayWithObjects:(NSString *)kUTTypeMovie,(NSString *)kUTTypeImage,nil]; - - // Hides the controls for moving & scaling pictures, or for - // trimming movies. To instead show the controls, use YES. - view.allowsEditing = NO; - view.imagePickerDelegate = delegate; - - if (IPAD && ipadView && ipadPopoverView) { - UIView *iterview = ipadPopoverView; - CGRect ipadPopoverPosition = iterview.frame; - do { - ipadPopoverPosition = - [iterview.superview convertRect:ipadPopoverPosition toView:iterview.superview.superview]; - iterview = iterview.superview; - } while (iterview && iterview.superview != ipadView); - [view.popoverController presentPopoverFromRect:ipadPopoverPosition - inView:ipadView - permittedArrowDirections:UIPopoverArrowDirectionAny - animated:FALSE]; - } else { - [PhoneMainView.instance changeCurrentView:view.compositeViewDescription]; - } - }; - if ([PHPhotoLibrary authorizationStatus] == PHAuthorizationStatusAuthorized) { - DTActionSheet *sheet = [[DTActionSheet alloc] initWithTitle:NSLocalizedString(@"Select the source", nil)]; - if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { - [sheet addButtonWithTitle:NSLocalizedString(@"Camera", nil) - block:^() { - if([AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo] != AVAuthorizationStatusAuthorized ) { - [[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Camera's permission", nil) message:NSLocalizedString(@"Camera not authorized", nil) delegate:nil cancelButtonTitle:nil otherButtonTitles:@"Continue", nil] show]; - return; - } - block(UIImagePickerControllerSourceTypeCamera); - }]; - } - if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) { - [sheet addButtonWithTitle:NSLocalizedString(@"Photo library", nil) - block:^() { - block(UIImagePickerControllerSourceTypePhotoLibrary); - }]; - } - - if (documentMenuDelegate) { - [sheet addButtonWithTitle:NSLocalizedString(@"Document",nil) block:^(){ - [self pickDocumentForDelegate:documentMenuDelegate]; - }]; - } - [sheet addCancelButtonWithTitle:NSLocalizedString(@"Cancel", nil) block:nil]; - - [sheet showInView:PhoneMainView.instance.view]; - } else { - [PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status) { - dispatch_async(dispatch_get_main_queue(), ^{ - if ([PHPhotoLibrary authorizationStatus] == PHAuthorizationStatusAuthorized) { - DTActionSheet *sheet = [[DTActionSheet alloc] initWithTitle:NSLocalizedString(@"Select the source", nil)]; - if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { - [sheet addButtonWithTitle:NSLocalizedString(@"Camera", nil) - block:^() { - if([AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo] != AVAuthorizationStatusAuthorized ) { - [[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Camera's permission", nil) message:NSLocalizedString(@"Camera not authorized", nil) delegate:nil cancelButtonTitle:nil otherButtonTitles:@"Continue", nil] show]; - return; - } - block(UIImagePickerControllerSourceTypeCamera); - }]; - } - if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) { - [sheet addButtonWithTitle:NSLocalizedString(@"Photo library", nil) - block:^() { - block(UIImagePickerControllerSourceTypePhotoLibrary); - }]; - } - if (documentMenuDelegate) { - [sheet addButtonWithTitle:NSLocalizedString(@"Document",nil) block:^(){ - [self pickDocumentForDelegate:documentMenuDelegate]; - }]; - } - [sheet addCancelButtonWithTitle:NSLocalizedString(@"Cancel", nil) block:nil]; - - [sheet showInView:PhoneMainView.instance.view]; - } else { - [[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Photo's permission", nil) message:NSLocalizedString(@"Photo not authorized", nil) delegate:nil cancelButtonTitle:nil otherButtonTitles:@"Continue", nil] show]; - } - }); - }]; - } -} - -+(void) pickDocumentForDelegate:(id)documentMenuDelegate { - UIDocumentPickerViewController *documentProviderMenu = [[UIDocumentPickerViewController alloc] initWithDocumentTypes:SUPPORTED_EXTENTIONS inMode:UIDocumentPickerModeImport]; - ChatConversationView *chatView = VIEW(ChatConversationView); - documentProviderMenu.delegate = chatView; - if (IPAD) { - /* On iPad the activity view controller will be displayed as a popover using the new UIPopoverPresentationController, it requires that you specify an anchor point for the presentation of the popover using one of the three following properties: barButtonItem, sourceView, sourceRect */ - ChatConversationView *chatView = VIEW(ChatConversationView); - documentProviderMenu.popoverPresentationController.sourceView = chatView.view; - CGRect frame = documentProviderMenu.popoverPresentationController.sourceRect; - CGRect topBarFrame = chatView.topBar.frame; - documentProviderMenu.popoverPresentationController.sourceRect = CGRectMake(topBarFrame.origin.x + topBarFrame.size.width/2, topBarFrame.origin.y + topBarFrame.size.height, frame.size.width, frame.size.height); - } - dispatch_async(dispatch_get_main_queue(), ^ { - [PhoneMainView.instance presentViewController:documentProviderMenu animated:YES completion:nil]; - }); -} - -@end diff --git a/Classes/ImageView.h b/Classes/ImageView.h deleted file mode 100644 index 93857f44a..000000000 --- a/Classes/ImageView.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "UICompositeView.h" - -@interface UIImageScrollView : UIScrollView - -@property(nonatomic, strong) UIImage *image; -@property(readonly) IBOutlet UIImageView *imageView; - -@end - -@interface ImageView : UIViewController { -} - -@property(nonatomic, strong) IBOutlet UIImageScrollView *scrollView; -@property(nonatomic, strong) UIImage *image; -@property(nonatomic, strong) IBOutlet UIButton *backButton; - -- (IBAction)onBackClick:(id)sender; - -@end diff --git a/Classes/ImageView.m b/Classes/ImageView.m deleted file mode 100644 index ebdb0e037..000000000 --- a/Classes/ImageView.m +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "ImageView.h" -#import "PhoneMainView.h" - -@implementation UIImageScrollView - -@synthesize image; -@synthesize imageView; - -#pragma mark - Lifecycle Functions - -- (void)initUIImageScrollView { - imageView = [[UIImageView alloc] init]; - self.delegate = self; - [self addSubview:imageView]; -} - -- (id)init { - self = [super init]; - if (self != nil) { - [self initUIImageScrollView]; - } - return self; -} - -- (id)initWithCoder:(NSCoder *)aDecoder { - self = [super initWithCoder:aDecoder]; - if (self != nil) { - [self initUIImageScrollView]; - } - return self; -} - -- (id)initWithFrame:(CGRect)frame { - self = [super initWithFrame:frame]; - if (self != nil) { - [self initUIImageScrollView]; - } - return self; -} - -#pragma mark - ViewController Functions - -- (void)layoutSubviews { - [super layoutSubviews]; - // center the image as it becomes smaller than the size of the screen - CGSize boundsSize = self.bounds.size; - CGRect frameToCenter = imageView.frame; - - // center horizontally - if (frameToCenter.size.width < boundsSize.width) - frameToCenter.origin.x = (boundsSize.width - frameToCenter.size.width) / 2; - else - frameToCenter.origin.x = 0; - - // center vertically - if (frameToCenter.size.height < boundsSize.height) - frameToCenter.origin.y = (boundsSize.height - frameToCenter.size.height) / 2; - else - frameToCenter.origin.y = 0; - - imageView.frame = frameToCenter; -} - -#pragma mark - Property Functions - -- (void)setImage:(UIImage *)aimage { - self.minimumZoomScale = 0; - self.zoomScale = 1; - - CGRect rect = CGRectMake(0, 0, aimage.size.width, aimage.size.height); - imageView.image = aimage; - imageView.frame = rect; - self.contentSize = rect.size; - [self zoomToRect:rect animated:FALSE]; - self.minimumZoomScale = self.zoomScale; -} - -- (UIImage *)image { - return imageView.image; -} - -#pragma mark - UIScrollViewDelegate Functions - -- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView { - return imageView; -} - -@end - -@implementation ImageView - -@synthesize scrollView; -@synthesize backButton; -@synthesize image; - -#pragma mark - UICompositeViewDelegate Functions - -static UICompositeViewDescription *compositeDescription = nil; - -+ (UICompositeViewDescription *)compositeViewDescription { - if (compositeDescription == nil) { - compositeDescription = [[UICompositeViewDescription alloc] init:self.class - statusBar:StatusBarView.class - tabBar:nil - sideMenu:SideMenuView.class - fullscreen:false - isLeftFragment:NO - fragmentWith:nil]; - } - return compositeDescription; -} - -- (UICompositeViewDescription *)compositeViewDescription { - return self.class.compositeViewDescription; -} - -#pragma mark - Property Functions - -- (void)setImage:(UIImage *)aimage { - scrollView.image = aimage; -} - -- (UIImage *)image { - return scrollView.image; -} - -#pragma mark - Action Functions - -- (IBAction)onBackClick:(id)sender { - if ([[PhoneMainView.instance currentView] equal:ImageView.compositeViewDescription]) { - [PhoneMainView.instance popCurrentView]; - } -} - -@end diff --git a/Classes/InAppProductsManager.h b/Classes/InAppProductsManager.h deleted file mode 100644 index 8735c07ed..000000000 --- a/Classes/InAppProductsManager.h +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import - -#define kIAPNotReady @"IAPNotReady" // startup status, manager is not ready yet -#define kIAPReady @"IAPReady" // no data -#define kIAPPurchaseTrying @"IAPPurchaseTrying" // data: product_id -#define kIAPPurchaseCancelled @"IAPPurchaseCancelled" // data: product_id -#define kIAPPurchaseFailed @"IAPPurchaseFailed" // data: product_id, error_msg -#define kIAPPurchaseSucceeded @"IAPPurchaseSucceeded" // data: product_id, expires_date -#define kIAPPurchaseExpired @"IAPPurchaseExpired" // data: product_id, expires_date -#define kIAPRestoreFailed @"IAPRestoreFailed" // data: error_msg -#define kIAPRestoreSucceeded @"IAPRestoreSucceeded" // no data -#define kIAPReceiptFailed @"IAPReceiptFailed" // data: error_msg -#define kIAPReceiptSucceeded @"IAPReceiptSucceeded" // no data -typedef NSString *IAPPurchaseNotificationStatus; - -// InAppProductsManager take care of any in app purchase accessible within Linphone -// In order to use it, you must configure your linphonerc configuration correctly, such as: -//[in_app_purchase] -// enabled=1 -// paid_account_id=test.autorenew_7days -// receipt_validation_url=https://www.linphone.org/inapp.php -// products_list=test.autorenew_7days -// expiry_check_period = 86400 -// warn_before_expiry_period = 604800 -// Note: in Sandbox mode (test), autorenewal expire time is speed up (see -// http://stackoverflow.com/questions/8815271/what-expiry-date-should-i-see-for-in-app-purchase-in-the-application-sandbox) -// so that 7 days renewal is only 3 minutes and: -// 1 week = 3 minutes -// 1 month = 5 minutes -// 2 months = 10 minutes -// 3 months = 15 minutes -// 6 months = 30 minutes -// 1 year = 1 hour - -@interface InAppProductsManager : NSObject { - NSString *latestReceiptMD5; - time_t lastCheck; - time_t expiryTime; -} - -@property(nonatomic, strong) IAPPurchaseNotificationStatus status; -@property(nonatomic, strong) NSMutableArray *productsAvailable; -@property(nonatomic, strong) NSMutableArray *productsIDPurchased; -//Period of time between each expiration check. Default value is given in linphonerc. -@property time_t checkPeriod; -//Period of time before expiration during which we warn the user about the need to renew the account. -@property time_t warnBeforeExpiryPeriod; -//The notification category to use for displaying notification related to account expiry. -@property NSString *notificationCategory; - -// TRUE when in app purchase capability is available - not modified during runtime -@property(readonly) BOOL enabled; -// TRUE when manager is correctly set up - must first retrieve products available and validate current receipt on our -// server -@property(readonly) BOOL initialized; -// TRUE if manager is available for usage - will be FALSE if an operation is already in progress or if not initialized -// or not enabled -@property(readonly) BOOL available; - -// TRUE if accountActivate was started but we did not receive response from server yet -@property(readonly) BOOL accountActivationInProgress; - -// TRUE if accountActivate activated -@property(readonly) BOOL accountActivated; - -- (BOOL)isPurchasedWithID:(NSString *)productId; -// Purchase an account. You should not use this if manager is not available yet. -/*- (BOOL)purchaseAccount:(NSString *)phoneNumber - withPassword:(NSString *)password - andEmail:(NSString *)email - monthly:(BOOL)monthly; -*/ -// Purchase a product. You should not use this if manager is not available yet. -- (BOOL)purchaseWithID:(NSString *)productID; -// Activate purchased account. -//- (BOOL)activateAccount:(NSString *)phoneNumber; -// Check if account is activated. -//- (BOOL)checkAccountActivated:(NSString *)phoneNumber; - -// restore user purchases. You should not use this if manager is not available yet. Must be at a user action ONLY. -- (BOOL)restore; -// retrieve purchases on our server. You should not use this if manager is not available yet. -// Warning: on first run, this will open a popup to user to provide iTunes Store credentials -- (BOOL)retrievePurchases; - -//Check if account is about to expire, and if yes launch a notification. -- (void)check; - -// deal with xmlrpc response -//- (void)dealWithXmlRpcResponse:(LinphoneXmlRpcRequest *)request; - -@end diff --git a/Classes/InAppProductsManager.m b/Classes/InAppProductsManager.m deleted file mode 100644 index c1754f470..000000000 --- a/Classes/InAppProductsManager.m +++ /dev/null @@ -1,588 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "InAppProductsManager.h" -#import "ShopView.h" - -// In app purchase are not supported by the Simulator -#import "XMLRPCHelper.h" -#import "LinphoneManager.h" -#import "PhoneMainView.h" -#import "StoreKit/StoreKit.h" - -@interface InAppProductsManager () -@property(strong, nonatomic) NSDate *expirationDate; -@property(strong, nonatomic) NSDictionary *accountCreationData; - -@end - - - -@implementation InAppProductsManager - -@synthesize checkPeriod; -@synthesize warnBeforeExpiryPeriod; -@synthesize notificationCategory; - -// LINPHONE_CAPABILITY_INAPP_PURCHASE must be defined in Linphone Build Settings -#if 1 - -- (instancetype)init { - if ((self = [super init]) != nil) { - _enabled = (([SKPaymentQueue canMakePayments]) && - ([LinphoneManager.instance lpConfigBoolForKey:@"enabled" inSection:@"in_app_purchase"])); - _initialized = false; - _available = false; - _accountActivationInProgress = false; - checkPeriod = [LinphoneManager.instance lpConfigIntForKey:@"expiry_check_period" inSection:@"in_app_purchase"]; - warnBeforeExpiryPeriod = [LinphoneManager.instance lpConfigIntForKey:@"warn_before_expiry_period" inSection:@"in_app_purchase"]; - lastCheck = 0; - - [XMLRPCHelper.self initArray]; - //========// for test only - // int testExpiry = [LinphoneManager.instance lpConfigIntForKey:@"expiry_time_test" - // inSection:@"in_app_purchase"]; - // if (testExpiry > 0){ - // expiryTime = time(NULL) + testExpiry; - //}else expiryTime = 0; - //========// - if (_enabled) { - // self.xmlrpc = [[InAppProductsXMLRPCDelegate alloc] init]; - _status = kIAPNotReady; - [[SKPaymentQueue defaultQueue] addTransactionObserver:self]; - [self loadProducts]; - [self checkAccountExpirationDate]; - [self checkAccountTrial]; - [self checkAccountExpired]; - } - //[self check]; - } - return self; -} - -#pragma mark Public API - -- (BOOL)isPurchasedWithID:(NSString *)productID { - if (!_enabled) - return FALSE; - - for (NSString *prod in _productsIDPurchased) { - NSDate *now = [[NSDate alloc] init]; - // since multiple ID represent the same product, we must not check it - if (/*[prod isEqual: productID] &&*/ [self.expirationDate earlierDate:now] == now) { - bool isBought = true; - LOGE(@"%@ is %s bought.", prod, isBought ? "" : "NOT"); - return isBought; - } - } - return false; -} - -- (BOOL)purchaseWithID:(NSString *)productID { - if (!_enabled || !_initialized || !_available) { - NSDictionary *dict = @{ - @"product_id" : productID, - @"error_msg" : NSLocalizedString(@"Cannot purchase anything yet, please try again later.", nil) - }; - [self postNotificationforStatus:kIAPPurchaseFailed withDict:dict]; - return FALSE; - } - SKProduct *prod = [self productIDAvailable:productID]; - if (prod) { - // Display waitview on click - UIWindow *window = [[UIApplication sharedApplication] keyWindow]; - UIView *topView = window.rootViewController.view; - UIView *waitview = (UIView *)[topView viewWithTag:288]; - [waitview setHidden:FALSE]; - - NSDictionary *dict = @{ @"product_id" : productID }; - [self postNotificationforStatus:kIAPPurchaseTrying withDict:dict]; - SKMutablePayment *payment = [SKMutablePayment paymentWithProduct:prod]; - _available = false; - [[SKPaymentQueue defaultQueue] addPayment:payment]; - [[SKPaymentQueue defaultQueue] addTransactionObserver:self]; - return TRUE; - } else { - NSDictionary *dict = @{ @"product_id" : productID, @"error_msg" : @"Product not available" }; - [self postNotificationforStatus:kIAPPurchaseFailed withDict:dict]; - return FALSE; - } -} - -- (BOOL)restore { - if (!_enabled || !_initialized || !_available) { - NSDictionary *dict = @{ @"error_msg" : NSLocalizedString(@"In apps not ready yet", nil) }; - [self postNotificationforStatus:kIAPRestoreFailed withDict:dict]; - return FALSE; - } - LOGI(@"Restoring user purchases..."); - // force new query of our server - latestReceiptMD5 = nil; - _available = false; - [[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; - return TRUE; -} - -- (BOOL)retrievePurchases { - if (!_enabled | !_initialized | !_available) { - NSDictionary *dict = @{ @"error_msg" : NSLocalizedString(@"In apps not ready yet", nil) }; - [self postNotificationforStatus:kIAPRestoreFailed withDict:dict]; - return FALSE; - } else if ([[self getPhoneNumber] length] == 0) { - LOGW(@"Not retrieving purchase since not account configured yet"); - return FALSE; - } else { - _available = false; - [self validateReceipt:nil]; - return TRUE; - } -} - -#pragma mark ProductListLoading - -- (void)loadProducts { - NSArray *list = [[[LinphoneManager.instance lpConfigStringForKey:@"products_list" inSection:@"in_app_purchase"] - stringByReplacingOccurrencesOfString:@" " - withString:@""] componentsSeparatedByString:@","]; - - _productsIDPurchased = [[NSMutableArray alloc] initWithCapacity:0]; - - SKProductsRequest *productsRequest = - [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithArray:list]]; - productsRequest.delegate = self; - [productsRequest start]; -} - -- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response { - _productsAvailable = [NSMutableArray arrayWithArray:response.products]; - - LOGI(@"Found %lu products available", (unsigned long)_productsAvailable.count); - _initialized = true; - if (response.invalidProductIdentifiers.count > 0) { - for (NSString *invalidIdentifier in response.invalidProductIdentifiers) { - LOGW(@"Found product Identifier with invalid ID '%@'", invalidIdentifier); - } - } else { - _available = true; - [self postNotificationforStatus:kIAPReady withDict:nil]; - } -} - -- (void)request:(SKRequest *)request didFailWithError:(NSError *)error { - LOGE(@"Impossible to retrieve list of products: %@", [error localizedDescription]); - // well, let's retry... - [self loadProducts]; -} - -#pragma mark Other - -- (SKProduct *)productIDAvailable:(NSString *)productID { - if (!_enabled || !_initialized) - return nil; - for (SKProduct *product in _productsAvailable) { - if ([product.productIdentifier compare:productID options:NSLiteralSearch] == NSOrderedSame) { - return product; - } - } - return nil; -} - -- (void)requestDidFinish:(SKRequest *)request { - if ([request isKindOfClass:[SKReceiptRefreshRequest class]]) { - NSURL *receiptUrl = [[NSBundle mainBundle] appStoreReceiptURL]; - if ([[NSFileManager defaultManager] fileExistsAtPath:[receiptUrl path]]) { - LOGI(@"App Receipt exists"); - [self validateReceipt:nil]; - } else { - // This can happen if the user cancels the login screen for the store. - // If we get here it means there is no receipt and an attempt to get it failed because the user cancelled - // the login. - LOGF(@"Receipt request done but there is no receipt"); - } - } -} - -#pragma mark Receipt management - -- (NSString *)getReceipt { - NSURL *receiptURL = [[NSBundle mainBundle] appStoreReceiptURL]; - // Test whether the receipt is present at the above URL - if (![[NSFileManager defaultManager] fileExistsAtPath:[receiptURL path]]) { - // We are probably in sandbox environment, trying to retrieve it... - return nil; - } - - NSString *receiptBase64 = [[NSData dataWithContentsOfURL:receiptURL] base64EncodedStringWithOptions:0]; - LOGI(@"Found appstore receipt %@", [receiptBase64 md5]); - [self saveReceiptTemp:receiptBase64]; - return receiptBase64; -} - -/** - Save Receipt temporarily until xmlrpc server request completed and confirmation sent -**/ -- (void)saveReceiptTemp:(NSString *)receipt { - LOGE(@"===>>> saveReceiptTemp : TmpReceipt"); - [LinphoneManager.instance lpConfigSetString:receipt forKey:@"save_tmp_receipt" inSection:@"in_app_purchase"]; -} - -/** - reset Receipt to empty after xmlrpc request confirmation received - **/ -- (void)removeTmpReceipt:(NSString *)receipt { - LOGE(@"===>>> removeReceiptTemp : TmpReceipt"); - if ([LinphoneManager.instance lpConfigStringForKey:@"save_tmp_receipt" inSection:@"in_app_purchase"]) - [LinphoneManager.instance lpConfigSetString:@"0" forKey:@"save_tmp_receipt" inSection:@"in_app_purchase"]; -} - -/** - get temp Receipt to retry xmlrpc request - **/ -- (NSString *)getTmpReceipt { - LOGE(@"===>>> getReceiptTemp : TmpReceipt"); - return [LinphoneManager.instance lpConfigStringForKey:@"save_tmp_receipt" inSection:@"in_app_purchase"]; -} - -- (void)validateReceipt:(SKPaymentTransaction *)transaction { - NSString *receiptBase64 = [self getReceipt]; - if (receiptBase64 == nil) { - SKRequest *req = [[SKReceiptRefreshRequest alloc] init]; - LOGI(@"Receipt not found yet, trying to retrieve it..."); - req.delegate = self; - [req start]; - return; - } - // Hide waiting view - UIWindow *window = [[UIApplication sharedApplication] keyWindow]; - UIView *topView = window.rootViewController.view; - UIView *waitview = (UIView *)[topView viewWithTag:288]; - [waitview setHidden:TRUE]; - // only check the receipt if it has changed - if (latestReceiptMD5 == nil || ![latestReceiptMD5 isEqualToString:[receiptBase64 md5]]) { - [self updateAccountExpirationDate:receiptBase64]; - latestReceiptMD5 = [receiptBase64 md5]; - LOGI(@"XMLRPC query "); - } else { - LOGW(@"Not checking receipt since it has already been done!"); - _available = true; - } -} - -#pragma mark Getters - -- (NSString *)getPhoneNumber { - NSString *phoneNumber = @""; - LinphoneAccount *defaultAccount = linphone_core_get_default_account(LC); - if (defaultAccount) { - const LinphoneAddress *identity = linphone_account_params_get_identity_address(linphone_account_get_params(defaultAccount)); - if (identity) { - phoneNumber = [NSString stringWithUTF8String:linphone_address_get_username(identity)]; - } - } - return phoneNumber; -} - -- (NSString *)getPassword { - NSString *pass; - LinphoneAccount *defaultAccount = linphone_core_get_default_account(LC); - if (defaultAccount && - strcmp([LinphoneManager.instance lpConfigStringForKey:@"domain_name" - inSection:@"app" - withDefault:@"sip.linphone.org"] - .UTF8String, - linphone_account_params_get_domain(linphone_account_get_params(defaultAccount))) == 0) { - const LinphoneAuthInfo *info = linphone_account_find_auth_info(defaultAccount); - const char *tmpPass; - if (linphone_auth_info_get_passwd(info)) { - tmpPass = linphone_auth_info_get_passwd(info); - } else { - tmpPass = linphone_auth_info_get_ha1(info); - } - pass = [NSString stringWithFormat:@"%s", tmpPass]; - } - return pass; -} - -#pragma mark Payment management - -- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions { - for (SKPaymentTransaction *transaction in transactions) { - switch (transaction.transactionState) { - case SKPaymentTransactionStatePurchasing: - break; - case SKPaymentTransactionStatePurchased: - case SKPaymentTransactionStateRestored: { - if (!_initialized) { - LOGW(@"Pending transactions before end of initialization, not verifying receipt"); - } else { - [self validateReceipt:transaction]; - } - [[SKPaymentQueue defaultQueue] finishTransaction:transaction]; - break; - } - case SKPaymentTransactionStateDeferred: - LOGI(@"Waiting for parent approval..."); - // could do some UI stuff - break; - case SKPaymentTransactionStateFailed: { - _available = true; - [[SKPaymentQueue defaultQueue] finishTransaction:transaction]; - if (transaction.error.code == SKErrorPaymentCancelled) { - LOGI(@"SKPaymentTransactionStateFailed: cancelled"); - NSDictionary *dict = @{ @"product_id" : transaction.payment.productIdentifier }; - [self postNotificationforStatus:kIAPPurchaseCancelled withDict:dict]; - } else { - NSString *errlast = - [NSString stringWithFormat:@"Purchase failed: %@.", transaction.error.localizedDescription]; - LOGE(@"SKPaymentTransactionStateFailed: %@", errlast); - NSDictionary *dict = - @{ @"product_id" : transaction.payment.productIdentifier, - @"error_msg" : errlast }; - [self postNotificationforStatus:kIAPPurchaseFailed withDict:dict]; - } - break; - } - } - } -} - -- (void)paymentQueue:(SKPaymentQueue *)queue removedTransactions:(NSArray *)transactions { - for (SKPaymentTransaction *transaction in transactions) { - LOGD(@"%@ was removed from the payment queue.", transaction.payment.productIdentifier); - } -} - -- (void)paymentQueue:(SKPaymentQueue *)queue restoreCompletedTransactionsFailedWithError:(NSError *)error { - if (error.code != SKErrorPaymentCancelled) { - NSDictionary *dict = @{ @"error_msg" : [error localizedDescription] }; - [self postNotificationforStatus:kIAPRestoreFailed withDict:dict]; - } -} - -- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue { - LOGI(@"All restorable transactions have been processed by the payment queue."); -} - -- (void)postNotificationforStatus:(IAPPurchaseNotificationStatus)status withDict:(NSDictionary *)dict { - _status = status; - LOGI(@"Triggering notification for status %@", status); - [NSNotificationCenter.defaultCenter postNotificationName:status object:self userInfo:dict]; - if ([status isEqual:kIAPPurchaseFailed] || [status isEqual:kIAPPurchaseCancelled]) { - // Hide waiting view - UIWindow *window = [[UIApplication sharedApplication] keyWindow]; - UIView *topView = window.rootViewController.view; - UIView *waitview = (UIView *)[topView viewWithTag:288]; - [waitview setHidden:TRUE]; - } -} - -#pragma mark expiration notif - -- (void) presentNotification:(int64_t) remaining{ - if (notificationCategory == nil) return; - int days = (int)remaining / (3600 * 24); - NSString * expireText; - if (remaining >= 0){ - expireText = [NSString stringWithFormat:NSLocalizedString(@"Your account will expire in %i days.", nil), days]; - }else{ - expireText = [NSString stringWithFormat:NSLocalizedString(@"Your account has expired.", nil), days]; - } - - if ([UIApplication sharedApplication].applicationState != UIApplicationStateActive) { - UILocalNotification *notification = [[UILocalNotification alloc] init]; - if (notification) { - - notification.category = notificationCategory; - notification.repeatInterval = 0; - notification.applicationIconBadgeNumber = 1; - notification.alertBody = expireText; - - [[UIApplication sharedApplication] presentLocalNotificationNow:notification]; - } - - }else{ - UIAlertController *alert = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Account expiring", nil) - message:expireText - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* buyAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Buy", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) { - [PhoneMainView.instance changeCurrentView:ShopView.compositeViewDescription]; - }]; - - UIAlertAction *laterAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Later", nil) - style:UIAlertActionStyleCancel - handler:^(UIAlertAction *action){ - // [alert dismissViewControllerAnimated:FALSE]; - }]; - - [alert addAction:buyAction]; - [alert addAction:laterAction]; - [PhoneMainView.instance presentViewController:alert animated:YES completion:nil]; - } -} - -- (void) check{ - if (!_available) return; - if (expiryTime == 0 || checkPeriod == 0) return; - - time_t now = time(NULL); - - if (now < lastCheck + checkPeriod) return; - if (now >= expiryTime - warnBeforeExpiryPeriod){ - lastCheck = now; - int64_t remaining = (int64_t)expiryTime - (int64_t)now; - [self presentNotification: remaining]; - } - - if (![[self getTmpReceipt] isEqualToString:@""]) { - LOGE(@"===>>> Check : getTmpReceipt != ''"); - [self updateAccountExpirationDate:[self getReceipt]]; - } -} - -#pragma mark Intermediate XMLRPC call method - -// Intermediate method to check XMLRPC account expiration date -- (BOOL)updateAccountExpirationDate:(NSString *)receiptBase64 { - return [self - callXmlrpcRequestWithParams:@"update_expiration_date" - onSuccess:^(NSString *response) { - if (response) { - // NSString *productID = [LinphoneManager.instance - // lpConfigStringForKey:@"paid_account_id" inSection:@"in_app_purchase"]; - LOGI(@"update_expiration_date callback - response: %@", response); - if ([response containsString:@"ERROR"]) { - LOGE(@"Failed with error %@", response); - NSString *errorMsg; - if ([response isEqualToString:@"ERROR_ACCOUNT_ALREADY_EXISTS"]) { - errorMsg = NSLocalizedString(@"This account is already connected.", nil); - } else if ([response isEqualToString:@"ERROR_UID_ALREADY_IN_USE"]) { - errorMsg = NSLocalizedString(@"You already own an account.", nil); - } else if ([response isEqualToString:@"ERROR_ACCOUNT_DOESNT_EXIST"]) { - errorMsg = NSLocalizedString(@"You have already purchased an account " - @"but it does not exist anymore.", - nil); - } else if ([response isEqualToString:@"ERROR_PURCHASE_CANCELLED"]) { - errorMsg = NSLocalizedString(@"You cancelled your account.", nil); - } else { - errorMsg = [NSString - stringWithFormat:NSLocalizedString(@"Unknown error (%@).", nil), response]; - } - // NSDictionary *dict = @{ @"product_id" : productID, @"error_msg" : - // errorMsg }; - //[self postNotificationforStatus:kIAPPurchaseFailed withDict:dict]; - - } else // remove temporarily receipt - [self removeTmpReceipt:receiptBase64]; - } - } - onError:NULL - extra:receiptBase64]; -} - -// Intermediate method to check XMLRPC account expiration date -- (BOOL)checkAccountExpirationDate { - return [self callXmlrpcRequestWithParams:@"get_account_expiration" - onSuccess:^(NSString *response) { - if (response) { - LOGI(@"get_account_expiration callback - response: %@", response); - if ([response containsString:@"ERROR_NO_EXPIRATION"]) { - expiryTime = 0; - } - } - } - onError:NULL - extra:NULL]; -} - -// Intermediate method to check XMLRPC account trial -- (BOOL)checkAccountTrial { - return [self callXmlrpcRequestWithParams:@"is_account_trial" - onSuccess:^(NSString *response) { - if (response) { - LOGI(@"is_account_trial callback - response: %@", response); - } - } - onError:NULL - extra:NULL]; -} - -// Intermediate method to check XMLRPC account expired -- (BOOL)checkAccountExpired { - return [self callXmlrpcRequestWithParams:@"is_account_expired" - onSuccess:^(NSString *response) { - if (response) { - LOGI(@"is_account_expired callback - response: %@", response); - } - } - onError:NULL - extra:NULL]; -} - -// Intermediate method to check check payload signature -- (BOOL)checkPayloadSignature { - return [self callXmlrpcRequestWithParams:@"check_payload_signature" - onSuccess:^(NSString *response) { - if (response) { - LOGI(@"check_payload_signature callback - response: %@", response); - } - } - onError:NULL - extra:NULL]; -} - -// Generic function to call sendXMLRPCRequestWithParams -- (BOOL)callXmlrpcRequestWithParams:(NSString *)method - onSuccess:(void (^)(NSString *))successBk - onError:(void (^)(NSString *req))errorBk - extra:(NSString *)extra { - if ([[self getPhoneNumber] length] > 0) { - NSString *phoneNumber = [self getPhoneNumber]; - NSString *password = [self getPassword]; - NSArray *args; - if (extra != NULL) - args = @[ phoneNumber, password, @"", extra ]; - else - args = @[ phoneNumber, password, @"" ]; - if (successBk && errorBk) - [XMLRPCHelper.self sendXMLRPCRequestWithParams:method withParams:args onSuccess:successBk onError:errorBk]; - else if (successBk) - [XMLRPCHelper.self sendXMLRPCRequestWithParams:method withParams:args onSuccess:successBk]; - else - [XMLRPCHelper.self sendXMLRPCRequestWithParams:method withParams:args]; - return TRUE; - - } else { - LOGW(@"No SIP URI configured, can't get account expiration date."); - return FALSE; - } -} - -#pragma mark Other -#else -- (void)postNotificationforStatus:(IAPPurchaseNotificationStatus)status { - _status = status; - [NSNotificationCenter.defaultCenter postNotificationName:status object:self userInfo:nil]; - LOGE(@"Not supported, triggering %@", status); -} - -#endif -@end diff --git a/Classes/LaunchScreen.h b/Classes/LaunchScreen.h deleted file mode 100644 index 0cacd9cff..000000000 --- a/Classes/LaunchScreen.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef LaunchScreen_h -#define LaunchScreen_h - - -#endif /* LaunchScreen_h */ -#import - -@interface LaunchScreen : UIView - -@end diff --git a/Classes/LaunchScreen.xib b/Classes/LaunchScreen.xib deleted file mode 100644 index 5f5e78517..000000000 --- a/Classes/LaunchScreen.xib +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/LinphoneAppDelegate.h b/Classes/LinphoneAppDelegate.h deleted file mode 100644 index 9a4768d11..000000000 --- a/Classes/LinphoneAppDelegate.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "LinphoneCoreSettingsStore.h" -#import -#import -#import - - -@interface LinphoneAppDelegate : NSObject { - @private - UIBackgroundTaskIdentifier bgStartId; - BOOL startedInBackground; - CLLocationManager* locationManager; -} - -@property (nonatomic, retain) UIAlertController *waitingIndicator; -@property (nonatomic, retain) NSString *configURL; -@property (nonatomic, strong) UIWindow* window; -@property BOOL onlyPortrait; -@property UIApplicationShortcutItem *shortcutItem; - -@end - diff --git a/Classes/LinphoneAppDelegate.m b/Classes/LinphoneAppDelegate.m deleted file mode 100644 index 5df5b27b7..000000000 --- a/Classes/LinphoneAppDelegate.m +++ /dev/null @@ -1,916 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "LinphoneAppDelegate.h" -#import "ContactDetailsView.h" -#import "ContactsListView.h" -#import "PhoneMainView.h" -#import "ShopView.h" - -#import "CoreTelephony/CTCallCenter.h" -#import "CoreTelephony/CTCall.h" - -#import "LinphoneCoreSettingsStore.h" - -#include "LinphoneManager.h" -#include "linphone/linphonecore.h" - -#import -#import -#import "linphoneapp-Swift.h" - -#import "SVProgressHUD.h" - - -#ifdef USE_CRASHLYTICS -#include "FIRApp.h" -#endif - -@implementation LinphoneAppDelegate - -@synthesize configURL; -@synthesize window; - -#pragma mark - Lifecycle Functions - -- (id)init { - self = [super init]; - if (self != nil) { - startedInBackground = FALSE; - } - _onlyPortrait = FALSE; - return self; - [[UIApplication sharedApplication] setDelegate:self]; -} - -#pragma mark - - -- (void)applicationDidEnterBackground:(UIApplication *)application { - LOGI(@"%@", NSStringFromSelector(_cmd)); - if([LinphoneManager.instance lpConfigBoolForKey:@"account_push_presence_preference"]){ - linphone_core_set_consolidated_presence(LC, LinphoneConsolidatedPresenceOffline); - } - if (linphone_core_get_global_state(LC) != LinphoneGlobalOff) { - [LinphoneManager.instance enterBackgroundMode]; - [LinphoneManager.instance.fastAddressBook clearFriends]; - if (PhoneMainView.instance.currentView == ChatConversationView.compositeViewDescription) { - ChatConversationView *view = VIEW(ChatConversationView); - [view removeCallBacks]; - [view.tableController setChatRoom:NULL]; - [view setChatRoom:NULL]; - } else if (PhoneMainView.instance.currentView == RecordingsListView.compositeViewDescription || PhoneMainView.instance.currentView == DevicesListView.compositeViewDescription) { - // To avoid crash - [PhoneMainView.instance changeCurrentView:DialerView.compositeViewDescription]; - } - - [CallManager.instance stopLinphoneCore]; - } - [SwiftUtil resetCachedAsset]; -} - -- (void)applicationWillEnterForeground:(UIApplication *)application { - LOGI(@"%@", NSStringFromSelector(_cmd)); - - [LinphoneManager.instance startLinphoneCore]; - [LinphoneManager.instance.fastAddressBook reloadFriends]; - [AvatarBridge clearFriends]; - if([LinphoneManager.instance lpConfigBoolForKey:@"account_push_presence_preference"]){ - linphone_core_set_consolidated_presence(LC, LinphoneConsolidatedPresenceOnline); - } - - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneMessageReceived object:nil]; - -} - -- (void)applicationWillResignActive:(UIApplication *)application { - LOGI(@"%@", NSStringFromSelector(_cmd)); - LinphoneCall *call = linphone_core_get_current_call(LC); - - NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:kLinphoneMsgNotificationAppGroupId]; - if (defaults) { - [defaults setBool:false forKey:@"appactive"]; - } - - if (!call) - return; - - /* save call context */ - [CallManager.instance setBackgroundContextCallWithCall:call]; - [CallManager.instance setBackgroundContextCameraIsEnabled:linphone_call_camera_enabled(call)]; - - const LinphoneCallParams *params = linphone_call_get_current_params(call); - if (linphone_call_params_video_enabled(params)) - linphone_call_enable_camera(call, false); -} - -- (void)applicationDidBecomeActive:(UIApplication *)application { - LOGI(@"%@", NSStringFromSelector(_cmd)); - if (!startedInBackground || PhoneMainView.instance.currentView == nil) { - startedInBackground = TRUE; - // initialize UI - [PhoneMainView.instance startUp]; - } - LinphoneManager *instance = LinphoneManager.instance; - [instance becomeActive]; - - NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:kLinphoneMsgNotificationAppGroupId]; - if (defaults) { - [defaults setBool:true forKey:@"appactive"]; - } - - if (instance.fastAddressBook.needToUpdate) { - //Update address book for external changes - if (PhoneMainView.instance.currentView == ContactsListView.compositeViewDescription || PhoneMainView.instance.currentView == ContactDetailsView.compositeViewDescription) { - [PhoneMainView.instance changeCurrentView:DialerView.compositeViewDescription]; - } - [instance.fastAddressBook fetchContactsInBackGroundThread]; - instance.fastAddressBook.needToUpdate = FALSE; - } - - LinphoneCall *call = linphone_core_get_current_call(LC); - - if (call) { - if (call == [CallManager.instance getBackgroundContextCall]) { - const LinphoneCallParams *params = - linphone_call_get_current_params(call); - if (linphone_call_params_video_enabled(params)) { - linphone_call_enable_camera(call, [CallManager.instance backgroundContextCameraIsEnabled]); - } - [CallManager.instance setBackgroundContextCallWithCall:nil]; - } else if (linphone_call_get_state(call) == LinphoneCallIncomingReceived) { - if ((floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_9_x_Max)) { - if ([LinphoneManager.instance lpConfigBoolForKey:@"autoanswer_notif_preference"]) { - linphone_call_accept(call); - } else { - [PhoneMainView.instance displayIncomingCall:call]; - } - } else { - // Click the call notification when callkit is disabled, show app view. - [PhoneMainView.instance displayIncomingCall:call]; - } - - // in this case, the ringing sound comes from the notification. - // To stop it we have to do the iOS7 ring fix... - [self fixRing]; - } - } - [LinphoneManager.instance.iapManager check]; - if (_shortcutItem) { - [self handleShortcut:_shortcutItem]; - _shortcutItem = nil; - } - -#if TARGET_IPHONE_SIMULATOR -#else - [[UNUserNotificationCenter currentNotificationCenter] requestAuthorizationWithOptions:(UNAuthorizationOptionAlert | UNAuthorizationOptionSound | UNAuthorizationOptionBadge) - completionHandler:^(BOOL granted, NSError *_Nullable error) { - if (error) - LOGD(error.description); - if (!granted) { - dispatch_async(dispatch_get_main_queue(), ^{ - UIAlertController *errView = - [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Push notification not allowed", nil) - message:NSLocalizedString(@"Push notifications are required to receive calls and messages.", nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction *defaultAction = [UIAlertAction actionWithTitle:@"OK" - style:UIAlertActionStyleDefault - handler:^(UIAlertAction *action){ - }]; - [errView addAction:defaultAction]; - [PhoneMainView.instance.mainViewController presentViewController:errView animated:YES completion:nil]; - }); - } else { - dispatch_async(dispatch_get_main_queue(), ^{ - [self configureUINotification]; - }); - } - - }]; -#endif - - - if ([UIDeviceBridge switchedDisplayMode]) { - [AvatarBridge prepareIt]; - [NSNotificationCenter.defaultCenter postNotificationName:kDisplayModeChanged object:nil]; - [PhoneMainView.instance.mainViewController removeEntryFromCache:ChatConversationCreateView.compositeViewDescription.name]; - [PhoneMainView.instance.mainViewController changeView:PhoneMainView.instance.currentView]; - [UIDeviceBridge notifyDisplayModeSwitch]; - } - -} - -#pragma deploymate push "ignored-api-availability" - - -- (void)configureUINotification { - if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_9_x_Max) - return; - - LOGI(@"Connecting for UNNotifications"); - // Call category - UNNotificationAction *act_ans = - [UNNotificationAction actionWithIdentifier:@"Answer" - title:NSLocalizedString(@"Answer", nil) - options:UNNotificationActionOptionForeground]; - UNNotificationAction *act_dec = [UNNotificationAction actionWithIdentifier:@"Decline" - title:NSLocalizedString(@"Decline", nil) - options:UNNotificationActionOptionNone]; - UNNotificationCategory *cat_call = - [UNNotificationCategory categoryWithIdentifier:@"call_cat" - actions:[NSArray arrayWithObjects:act_ans, act_dec, nil] - intentIdentifiers:[[NSMutableArray alloc] init] - options:UNNotificationCategoryOptionCustomDismissAction]; - // Msg category - /* - UNTextInputNotificationAction *act_reply = - [UNTextInputNotificationAction actionWithIdentifier:@"Reply" - title:NSLocalizedString(@"Reply", nil) - options:UNNotificationActionOptionNone]; - UNNotificationAction *act_seen = - [UNNotificationAction actionWithIdentifier:@"Seen" - title:NSLocalizedString(@"Mark as seen", nil) - options:UNNotificationActionOptionNone]; - UNNotificationCategory *cat_msg = - [UNNotificationCategory categoryWithIdentifier:@"msg_cat" - actions:[NSArray arrayWithObjects:act_reply, act_seen, nil] - intentIdentifiers:[[NSMutableArray alloc] init] - options:UNNotificationCategoryOptionCustomDismissAction]; - */ - - // Video Request Category - UNNotificationAction *act_accept = - [UNNotificationAction actionWithIdentifier:@"Accept" - title:NSLocalizedString(@"Accept", nil) - options:UNNotificationActionOptionForeground]; - - UNNotificationAction *act_refuse = [UNNotificationAction actionWithIdentifier:@"Cancel" - title:NSLocalizedString(@"Cancel", nil) - options:UNNotificationActionOptionNone]; - UNNotificationCategory *video_call = - [UNNotificationCategory categoryWithIdentifier:@"video_request" - actions:[NSArray arrayWithObjects:act_accept, act_refuse, nil] - intentIdentifiers:[[NSMutableArray alloc] init] - options:UNNotificationCategoryOptionCustomDismissAction]; - - // ZRTP verification category - UNNotificationAction *act_confirm = [UNNotificationAction actionWithIdentifier:@"Confirm" - title:NSLocalizedString(@"Accept", nil) - options:UNNotificationActionOptionNone]; - - UNNotificationAction *act_deny = [UNNotificationAction actionWithIdentifier:@"Deny" - title:NSLocalizedString(@"Deny", nil) - options:UNNotificationActionOptionNone]; - UNNotificationCategory *cat_zrtp = - [UNNotificationCategory categoryWithIdentifier:@"zrtp_request" - actions:[NSArray arrayWithObjects:act_confirm, act_deny, nil] - intentIdentifiers:[[NSMutableArray alloc] init] - options:UNNotificationCategoryOptionCustomDismissAction]; - - //NSSet *categories = [NSSet setWithObjects:cat_call, cat_msg, video_call, cat_zrtp, nil]; - NSSet *categories = [NSSet setWithObjects:cat_call - , video_call, cat_zrtp, nil]; - [[UNUserNotificationCenter currentNotificationCenter] setNotificationCategories:categories]; - -} - -#pragma deploymate pop - -- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { -#ifdef USE_CRASHLYTICS - [FIRApp configure]; -#endif - [UNUserNotificationCenter currentNotificationCenter].delegate = self; - if ([VFSUtil vfsEnabledWithGroupName:kLinphoneMsgNotificationAppGroupId]) { - if (TARGET_IPHONE_SIMULATOR) { - LOGW(@"[VFS] Can not active for simulators."); - [VFSUtil setVfsEnabbledWithEnabled:false groupName:kLinphoneMsgNotificationAppGroupId]; - } else if (![VFSUtil activateVFSForFirstTime:false]) { - [VFSUtil log:@"[VFS] Error unable to activate." :OS_LOG_TYPE_ERROR]; - [VFSUtil setVfsEnabbledWithEnabled:false groupName:kLinphoneMsgNotificationAppGroupId]; - } - } - - UIApplication *app = [UIApplication sharedApplication]; - UIApplicationState state = app.applicationState; - - LinphoneManager *instance = [LinphoneManager instance]; - //init logs asapt - [Log enableLogs:[[LinphoneManager instance] lpConfigIntForKey:@"debugenable_preference"]]; - - - - - if ([PHPhotoLibrary authorizationStatus] != PHAuthorizationStatusAuthorized) { - [PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status) { - dispatch_async(dispatch_get_main_queue(), ^{ - if ([PHPhotoLibrary authorizationStatus] != PHAuthorizationStatusAuthorized) { - [[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Photo's permission", nil) message:NSLocalizedString(@"Photo not authorized", nil) delegate:nil cancelButtonTitle:nil otherButtonTitles:@"Continue", nil] show]; - } - }); - }]; - } - - BOOL background_mode = [instance lpConfigBoolForKey:@"backgroundmode_preference"]; - BOOL start_at_boot = [instance lpConfigBoolForKey:@"start_at_boot_preference"]; - - if (state == UIApplicationStateBackground) { - // we've been woken up directly to background; - if (!start_at_boot || !background_mode) { - // autoboot disabled or no background, and no push: do nothing and wait for a real launch - //output a log with NSLog, because the ortp logging system isn't activated yet at this time - NSLog(@"Linphone launch doing nothing because start_at_boot or background_mode are not activated.", NULL); - return YES; - } - startedInBackground = true; - } - bgStartId = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{ - LOGW(@"Background task for application launching expired."); - [[UIApplication sharedApplication] endBackgroundTask:bgStartId]; - }]; - - [LinphoneManager.instance launchLinphoneCore]; - LinphoneManager.instance.iapManager.notificationCategory = @"expiry_notification"; - // initialize UI - [self.window makeKeyAndVisible]; - [RootViewManager setupWithPortrait:(PhoneMainView *)self.window.rootViewController]; - - if (bgStartId != UIBackgroundTaskInvalid) - [[UIApplication sharedApplication] endBackgroundTask:bgStartId]; - - //output what state the app is in. This will be used to see when the app is started in the background - LOGI(@"app launched with state : %li", (long)application.applicationState); - LOGI(@"FINISH LAUNCHING WITH OPTION : %@", launchOptions.description); - - UIApplicationShortcutItem *shortcutItem = [launchOptions objectForKey:@"UIApplicationLaunchOptionsShortcutItemKey"]; - if (shortcutItem) { - _shortcutItem = shortcutItem; - return NO; - } - - [PhoneMainView.instance.mainViewController getCachedController:SingleCallView.compositeViewDescription.name]; // This will create the single instance of the SingleCallView including listeneres - [PhoneMainView.instance.mainViewController getCachedController:ConferenceCallView.compositeViewDescription.name]; // This will create the single instance of the ConferenceCallView including listeneres - [CallsViewModelBridge setupCallsViewNavigation]; - return YES; -} - -- (void)applicationWillTerminate:(UIApplication *)application { - LOGI(@"%@", NSStringFromSelector(_cmd)); - if (PhoneMainView.instance.currentView == ChatConversationView.compositeViewDescription) { - ChatConversationView *view = VIEW(ChatConversationView); - [view.tableController setChatRoom:NULL]; - } - - LinphoneManager.instance.conf = TRUE; - linphone_core_terminate_all_calls(LC); - [CallManager.instance removeAllCallInfos]; - [LinphoneManager.instance destroyLinphoneCore]; -} - -- (BOOL)handleShortcut:(UIApplicationShortcutItem *)shortcutItem { - BOOL success = NO; - if ([shortcutItem.type isEqualToString:@"linphone.phone.action.newMessage"]) { - [VIEW(ChatConversationCreateView) fragmentCompositeDescription]; - [PhoneMainView.instance changeCurrentView:ChatConversationCreateView.compositeViewDescription]; - success = YES; - } - return success; -} - -- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler { - completionHandler([self handleShortcut:shortcutItem]); -} - -- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary *)options{ - NSString *scheme = [[url scheme] lowercaseString]; - if ([scheme isEqualToString:@"linphone-config"]) { - NSString *encodedURL = - [[url absoluteString] stringByReplacingOccurrencesOfString:@"linphone-config:" withString:@""]; - self.configURL = [encodedURL stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; - - BOOL auto_apply_provisioning = [LinphoneManager.instance lpConfigBoolForKey:@"auto_apply_provisioning_config_uri_handler" inSection:@"app" withDefault:FALSE]; - if (auto_apply_provisioning) { - [SVProgressHUD show]; - [self attemptRemoteConfiguration]; - [SVProgressHUD dismiss]; - } else { - NSString *msg = [NSString stringWithFormat:NSLocalizedString(@" Do you want to download and apply configuration from this URL?\n\n%@", nil), encodedURL]; - UIConfirmationDialog* remoteConfigurationDialog =[UIConfirmationDialog ShowWithMessage:msg - cancelMessage:nil - confirmMessage:NSLocalizedString(@"APPLY", nil) - onCancelClick:^() {} - onConfirmationClick:^() { - [SVProgressHUD show]; - [self attemptRemoteConfiguration]; - [SVProgressHUD dismiss]; - }]; - [remoteConfigurationDialog setSpecialColor]; - } - } else if([[url scheme] isEqualToString:@"message-linphone"]) { - if ([[PhoneMainView.instance currentView] equal:ChatsListView.compositeViewDescription]) { - VIEW(ChatConversationViewSwift).sharingMedia = TRUE; - ChatsListView *view = VIEW(ChatsListView); - [view mediaSharing]; - }else{ - [SVProgressHUD dismiss]; - VIEW(ChatConversationViewSwift).sharingMedia = TRUE; - [PhoneMainView.instance popToView:ChatsListView.compositeViewDescription]; - } - } else if ([scheme isEqualToString:@"sip"]||[scheme isEqualToString:@"sips"]) { - // remove "sip://" from the URI, and do it correctly by taking resourceSpecifier and removing leading and - // trailing "/" - NSString *sipUri = [[url resourceSpecifier] stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"/"]]; - [CallManager.instance performActionWhenCoreIsOnAction:^(void) { - [LinphoneManager.instance call: [LinphoneUtils normalizeSipOrPhoneAddress:sipUri]]; - }]; - } else if ([scheme isEqualToString:@"linphone-widget"]) { - if ([[url host] isEqualToString:@"call_log"] && - [[url path] isEqualToString:@"/show"]) { - [VIEW(HistoryDetailsView) setCallLogId:[url query]]; - [PhoneMainView.instance changeCurrentView:HistoryDetailsView.compositeViewDescription]; - } else if ([[url host] isEqualToString:@"chatroom"] && [[url path] isEqualToString:@"/show"]) { - NSURLComponents *urlComponents = [NSURLComponents componentsWithURL:url - resolvingAgainstBaseURL:NO]; - NSArray *queryItems = urlComponents.queryItems; - NSString *peerAddress = [self valueForKey:@"peer" fromQueryItems:queryItems]; - NSString *localAddress = [self valueForKey:@"local" fromQueryItems:queryItems]; - LinphoneAddress *peer = linphone_address_new(peerAddress.UTF8String); - LinphoneAddress *local = linphone_address_new(localAddress.UTF8String); - LinphoneChatRoom *cr = linphone_core_find_chat_room(LC, peer, local); - linphone_address_unref(peer); - linphone_address_unref(local); - // TODO : Find a better fix - VIEW(ChatConversationViewSwift).markAsRead = FALSE; - [PhoneMainView.instance goToChatRoomSwift:cr]; - } - } - return YES; -} - -// used for callkit. Called when active video. -- (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray> * _Nullable))restorationHandler -{ - if ([userActivity.activityType isEqualToString:@"INStartAudioCallIntent"]) { // tel URI handler. - INInteraction *interaction = userActivity.interaction; - INStartAudioCallIntent *startAudioCallIntent = (INStartAudioCallIntent *)interaction.intent; - INPerson *contact = startAudioCallIntent.contacts[0]; - INPersonHandle *personHandle = contact.personHandle; - [CallManager.instance performActionWhenCoreIsOnAction:^(void) { - [LinphoneManager.instance call: [LinphoneUtils normalizeSipOrPhoneAddress:personHandle.value]]; - }]; - - } - - return YES; -} - -- (NSString *)valueForKey:(NSString *)key fromQueryItems:(NSArray *)queryItems { - NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name=%@", key]; - NSURLQueryItem *queryItem = [[queryItems filteredArrayUsingPredicate:predicate] firstObject]; - return queryItem.value; -} - -- (void)fixRing { - if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) { - // iOS7 fix for notification sound not stopping. - // see http://stackoverflow.com/questions/19124882/stopping-ios-7-remote-notification-sound - [[UIApplication sharedApplication] setApplicationIconBadgeNumber:1]; - [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; - } -} - -- (BOOL)addLongTaskIDforCallID:(NSString *)callId { - if (!callId) - return FALSE; - - if ([callId isEqualToString:@""]) - return FALSE; - - NSDictionary *dict = LinphoneManager.instance.pushDict; - if ([[dict allKeys] indexOfObject:callId] != NSNotFound) - return FALSE; - - LOGI(@"Adding long running task for call id : %@ with index : 1", callId); - [dict setValue:[NSNumber numberWithInt:1] forKey:callId]; - return TRUE; -} - -- (LinphoneChatRoom *)findChatRoomForContact:(NSString *)contact { - const MSList *rooms = linphone_core_get_chat_rooms(LC); - const char *from = [contact UTF8String]; - while (rooms) { - const LinphoneAddress *room_from_address = linphone_chat_room_get_peer_address((LinphoneChatRoom *)rooms->data); - char *room_from = linphone_address_as_string_uri_only(room_from_address); - if (room_from && strcmp(from, room_from) == 0){ - ms_free(room_from); - return rooms->data; - } - if (room_from) ms_free(room_from); - rooms = rooms->next; - } - return NULL; -} - -#pragma mark - PushNotification Functions - -- (void)application:(UIApplication *)application - didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { - LOGI(@"[APNs] %@ : %@", NSStringFromSelector(_cmd), deviceToken); - dispatch_async(dispatch_get_main_queue(), ^{ - linphone_core_did_register_for_remote_push(LC, (__bridge void*)deviceToken); - }); -} - -- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error { - LOGI(@"[APNs] %@ : %@", NSStringFromSelector(_cmd), [error localizedDescription]); - linphone_core_did_register_for_remote_push(LC, nil); -} - -#pragma mark - UNUserNotifications Framework - -- (void) userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler { - // If an app extension launch a user notif while app is in fg, it is catch by the app - NSString *category = [[[notification request] content] categoryIdentifier]; - if (category && [category isEqualToString:@"app_active"]) { - return; - } - - if (category && [category isEqualToString:@"msg_cat"] && [UIApplication sharedApplication].applicationState == UIApplicationStateActive) { - if ((PhoneMainView.instance.currentView == ChatsListView.compositeViewDescription)) - return; - - if (PhoneMainView.instance.currentView == ChatConversationViewSwift.compositeViewDescription) { - NSDictionary *userInfo = [[[notification request] content] userInfo]; - NSString *peerAddress = userInfo[@"peer_addr"]; - NSString *localAddress = userInfo[@"local_addr"]; - if (peerAddress && localAddress) { - LinphoneAddress *peer = linphone_core_create_address([LinphoneManager getLc], peerAddress.UTF8String); - LinphoneAddress *local = linphone_core_create_address([LinphoneManager getLc], localAddress.UTF8String); - LinphoneChatRoom *room = linphone_core_search_chat_room([LinphoneManager getLc], NULL, local, peer, NULL); - if (room == PhoneMainView.instance.currentRoom) return; - } - } - } - - completionHandler(UNNotificationPresentationOptionAlert); -} - --(void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler { - LOGD(@"didReceiveRemoteNotification -- backgroundPush"); - - NSDictionary *customPayload = [userInfo objectForKey:@"customPayload"]; - if (customPayload && [customPayload objectForKey:@"token"]) { - [LinphoneManager.instance lpConfigSetString:[customPayload objectForKey:@"token"] forKey:@"account_creation_token" inSection:@"app"]; - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneAccountCreationAuthenticationTokenReceived object:nil]; - completionHandler(UIBackgroundFetchResultNewData); - } else { - if (linphone_core_get_global_state(LC) != LinphoneGlobalOn) { - [LinphoneManager.instance startLinphoneCore]; - [LinphoneManager.instance.fastAddressBook reloadFriends]; - } - - const MSList *accounts = linphone_core_get_account_list(LC); - while (accounts) { - LinphoneAccount *account = (LinphoneAccount *)accounts->data; - linphone_account_refresh_register(account); - accounts = accounts->next; - } - - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:kLinphoneMsgNotificationAppGroupId]; - NSMutableDictionary *chatroomsPushStatus = [[NSMutableDictionary alloc] initWithDictionary:[defaults dictionaryForKey:@"appactive"]]; - - if ([defaults boolForKey:@"appactive"] != TRUE) { - linphone_core_enter_background(LC); - if (linphone_core_get_calls_nb(LC) == 0) { - linphone_core_stop(LC); - } - } - completionHandler(UIBackgroundFetchResultNewData); - }); - } -} - -- (void)userNotificationCenter:(UNUserNotificationCenter *)center - didReceiveNotificationResponse:(UNNotificationResponse *)response - withCompletionHandler:(void (^)(void))completionHandler { - LOGD(@"UN : response received"); - LOGD(response.description); - - - if (![response.actionIdentifier isEqualToString:@"com.apple.UNNotificationDismissActionIdentifier"] && - [response.notification.request.content.userInfo objectForKey:@"missed_call"]) { - [PhoneMainView.instance changeCurrentView:VIEW(HistoryListView).compositeViewDescription]; - [PhoneMainView.instance.mainViewController didRotateFromInterfaceOrientation:PhoneMainView.instance.mainViewController.currentOrientation]; - return; - } - - startedInBackground = true; - - NSString *callId = (NSString *)[response.notification.request.content.userInfo objectForKey:@"CallId"]; - if (!callId) - return; - - LinphoneCall *call = [CallManager.instance findCallWithCallId:callId]; - - if ([response.actionIdentifier isEqual:@"Answer"]) { - // use the standard handler - [CallManager.instance acceptCallWithCall:call hasVideo:NO]; - linphone_call_accept(call); - } else if ([response.actionIdentifier isEqual:@"Decline"]) { - linphone_call_decline(call, LinphoneReasonDeclined); - } else if ([response.actionIdentifier isEqual:@"Reply"]) { - NSString *replyText = [(UNTextInputNotificationResponse *)response userText]; - NSString *peer_address = [response.notification.request.content.userInfo objectForKey:@"peer_addr"]; - NSString *local_address = [response.notification.request.content.userInfo objectForKey:@"local_addr"]; - LinphoneAddress *peer = linphone_address_new(peer_address.UTF8String); - LinphoneAddress *local = linphone_address_new(local_address.UTF8String); - LinphoneChatRoom *room = linphone_core_find_chat_room(LC, peer, local); - if(room) - [LinphoneManager.instance send:replyText toChatRoom:room]; - - linphone_address_unref(peer); - linphone_address_unref(local); - } else if ([response.actionIdentifier isEqual:@"Seen"]) { - NSString *peer_address = [response.notification.request.content.userInfo objectForKey:@"peer_addr"]; - NSString *local_address = [response.notification.request.content.userInfo objectForKey:@"local_addr"]; - LinphoneAddress *peer = linphone_address_new(peer_address.UTF8String); - LinphoneAddress *local = linphone_address_new(local_address.UTF8String); - LinphoneChatRoom *room = linphone_core_find_chat_room(LC, peer, local); - if (room) - [ChatConversationViewSwift markAsRead:room]; - - linphone_address_unref(peer); - linphone_address_unref(local); - } else if ([response.actionIdentifier isEqual:@"Cancel"]) { - LOGI(@"User declined video proposal"); - if (call != linphone_core_get_current_call(LC)) - return; - [CallManager.instance acceptVideoWithCall:call confirm:FALSE]; - } else if ([response.actionIdentifier isEqual:@"Accept"]) { - LOGI(@"User accept video proposal"); - if (call != linphone_core_get_current_call(LC)) - return; - - [[UNUserNotificationCenter currentNotificationCenter] removeAllDeliveredNotifications]; - [CallManager.instance acceptVideoWithCall:call confirm:TRUE]; - } else if ([response.actionIdentifier isEqual:@"Confirm"]) { - if (linphone_core_get_current_call(LC) == call) - linphone_call_set_authentication_token_verified(call, YES); - } else if ([response.actionIdentifier isEqual:@"Deny"]) { - if (linphone_core_get_current_call(LC) == call) - linphone_call_set_authentication_token_verified(call, NO); - } else if ([response.actionIdentifier isEqual:@"Call"]) { - return; - } else { // in this case the value is : com.apple.UNNotificationDefaultActionIdentifier or com.apple.UNNotificationDismissActionIdentifier - if ([response.notification.request.content.categoryIdentifier isEqual:@"call_cat"]) { - if ([response.actionIdentifier isEqualToString:@"com.apple.UNNotificationDismissActionIdentifier"]) - // clear notification - linphone_call_decline(call, LinphoneReasonDeclined); - else - [PhoneMainView.instance displayIncomingCall:call]; - } else if ([response.notification.request.content.categoryIdentifier isEqual:@"msg_cat"]) { - // prevent to go to chat room view when removing the notif - if (![response.actionIdentifier isEqualToString:@"com.apple.UNNotificationDismissActionIdentifier"]) { - NSString *peer_address = [response.notification.request.content.userInfo objectForKey:@"peer_addr"]; - NSString *local_address = [response.notification.request.content.userInfo objectForKey:@"local_addr"]; - LinphoneAddress *peer = linphone_address_new(peer_address.UTF8String); - LinphoneAddress *local = linphone_address_new(local_address.UTF8String); - LinphoneChatRoom *room = linphone_core_find_chat_room(LC, peer, local); - if (room) { - [PhoneMainView.instance resetBeforeGoToChatRoomSwift]; - [PhoneMainView.instance changeCurrentView:ChatsListView.compositeViewDescription]; - [PhoneMainView.instance goToChatRoomSwift:room]; - return; - } else { - [PhoneMainView.instance changeCurrentView:ChatsListView.compositeViewDescription]; - } - } - } else if ([response.notification.request.content.categoryIdentifier isEqual:@"video_request"]) { - if (!call) return; - NSTimer *videoDismissTimer = nil; - UIConfirmationDialog *sheet = [UIConfirmationDialog ShowWithMessage:response.notification.request.content.body - cancelMessage:nil - confirmMessage:NSLocalizedString(@"ACCEPT", nil) - onCancelClick:^() { - LOGI(@"User declined video proposal"); - if (call != linphone_core_get_current_call(LC)) - return; - [CallManager.instance acceptVideoWithCall:call confirm:FALSE]; - [videoDismissTimer invalidate]; - } - onConfirmationClick:^() { - LOGI(@"User accept video proposal"); - if (call != linphone_core_get_current_call(LC)) - return; - [CallManager.instance acceptVideoWithCall:call confirm:TRUE]; - [videoDismissTimer invalidate]; - } - inController:PhoneMainView.instance]; - - videoDismissTimer = [NSTimer scheduledTimerWithTimeInterval:30 - target:self - selector:@selector(dismissVideoActionSheet:) - userInfo:sheet - repeats:NO]; - } else if ([response.notification.request.content.categoryIdentifier isEqual:@"zrtp_request"]) { - if (!call) - return; - - NSString *code = [NSString stringWithUTF8String:linphone_call_get_authentication_token(call)]; - NSString *myCode; - NSString *correspondantCode; - if (linphone_call_get_dir(call) == LinphoneCallIncoming) { - myCode = [code substringToIndex:2]; - correspondantCode = [code substringFromIndex:2]; - } else { - correspondantCode = [code substringToIndex:2]; - myCode = [code substringFromIndex:2]; - } - NSString *message = [NSString stringWithFormat:NSLocalizedString(@"Confirm the following SAS with peer:\n" - @"Say : %@\n" - @"Your correspondant should say : %@", nil), myCode, correspondantCode]; - UIConfirmationDialog *securityDialog = [UIConfirmationDialog ShowWithMessage:message - cancelMessage:NSLocalizedString(@"DENY", nil) - confirmMessage:NSLocalizedString(@"ACCEPT", nil) - onCancelClick:^() { - if (linphone_core_get_current_call(LC) == call) - linphone_call_set_authentication_token_verified(call, NO); - } - onConfirmationClick:^() { - if (linphone_core_get_current_call(LC) == call) - linphone_call_set_authentication_token_verified(call, YES); - }]; - [securityDialog setSpecialColor]; - } else if ([response.notification.request.content.categoryIdentifier isEqual:@"lime"]) { - return; - } else { // Missed call - [PhoneMainView.instance changeCurrentView:HistoryListView.compositeViewDescription]; - } - } -} - -- (void)dismissVideoActionSheet:(NSTimer *)timer { - UIConfirmationDialog *sheet = (UIConfirmationDialog *)timer.userInfo; - [sheet dismiss]; -} - -#pragma mark - NSUser notifications -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wstrict-prototypes" - -- (void)application:(UIApplication *)application - handleActionWithIdentifier:(NSString *)identifier - forLocalNotification:(UILocalNotification *)notification - completionHandler:(void (^)(void))completionHandler { - - LinphoneCall *call = linphone_core_get_current_call(LC); - LOGI(@"%@", NSStringFromSelector(_cmd)); - if (floor(NSFoundationVersionNumber) < NSFoundationVersionNumber_iOS_9_0) { - LOGI(@"%@", NSStringFromSelector(_cmd)); - if ([notification.category isEqualToString:@"incoming_call"]) { - if ([identifier isEqualToString:@"answer"]) { - // use the standard handler - [CallManager.instance acceptCallWithCall:call hasVideo:NO]; - } else if ([identifier isEqualToString:@"decline"]) { - LinphoneCall *call = linphone_core_get_current_call(LC); - if (call) - linphone_call_decline(call, LinphoneReasonDeclined); - } - } else if ([notification.category isEqualToString:@"incoming_msg"]) { - if ([identifier isEqualToString:@"reply"]) { - // use the standard handler - [PhoneMainView.instance changeCurrentView:ChatsListView.compositeViewDescription]; - } else if ([identifier isEqualToString:@"mark_read"]) { - NSString *peer_address = [notification.userInfo objectForKey:@"peer_addr"]; - NSString *local_address = [notification.userInfo objectForKey:@"local_addr"]; - LinphoneAddress *peer = linphone_address_new(peer_address.UTF8String); - LinphoneAddress *local = linphone_address_new(local_address.UTF8String); - LinphoneChatRoom *room = linphone_core_find_chat_room(LC, peer, local); - if (room) - [ChatConversationViewSwift markAsRead:room]; - - linphone_address_unref(peer); - linphone_address_unref(local); - } - } - } - completionHandler(); -} - -- (void)application:(UIApplication *)application - handleActionWithIdentifier:(NSString *)identifier - forLocalNotification:(UILocalNotification *)notification - withResponseInfo:(NSDictionary *)responseInfo - completionHandler:(void (^)(void))completionHandler { - - LinphoneCall *call = linphone_core_get_current_call(LC); - if ([notification.category isEqualToString:@"incoming_call"]) { - if ([identifier isEqualToString:@"answer"]) { - // use the standard handler - [CallManager.instance acceptCallWithCall:call hasVideo:NO]; - } else if ([identifier isEqualToString:@"decline"]) { - LinphoneCall *call = linphone_core_get_current_call(LC); - if (call) - linphone_call_decline(call, LinphoneReasonDeclined); - } - } else if ([notification.category isEqualToString:@"incoming_msg"] && - [identifier isEqualToString:@"reply_inline"]) { - NSString *replyText = [responseInfo objectForKey:UIUserNotificationActionResponseTypedTextKey]; - NSString *peer_address = [responseInfo objectForKey:@"peer_addr"]; - NSString *local_address = [responseInfo objectForKey:@"local_addr"]; - LinphoneAddress *peer = linphone_address_new(peer_address.UTF8String); - LinphoneAddress *local = linphone_address_new(local_address.UTF8String); - LinphoneChatRoom *room = linphone_core_find_chat_room(LC, peer, local); - if (room) - [LinphoneManager.instance send:replyText toChatRoom:room]; - - linphone_address_unref(peer); - linphone_address_unref(local); - } - completionHandler(); -} -#pragma clang diagnostic pop -#pragma deploymate pop - -#pragma mark - Remote configuration Functions (URL Handler) - -- (void)ConfigurationStateUpdateEvent:(NSNotification *)notif { - LinphoneConfiguringState state = [[notif.userInfo objectForKey:@"state"] intValue]; - if (state == LinphoneConfiguringSuccessful) { - if (linphone_config_has_entry(LinphoneManager.instance.configDb, "misc", "max_calls")) { // Not doable on core on iOS (requires CallKit) -> flag moved to app section, and have app handle it in ProviderDelegate - linphone_config_set_int(LinphoneManager.instance.configDb, "app", "max_calls", linphone_config_get_int(LinphoneManager.instance.configDb,"misc", "max_calls",10)); - linphone_config_clean_entry(LinphoneManager.instance.configDb, "misc", "max_calls"); - - } - [NSNotificationCenter.defaultCenter removeObserver:self name:kLinphoneConfiguringStateUpdate object:nil]; - [_waitingIndicator dismissViewControllerAnimated:YES completion:nil]; - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Success", nil) - message:NSLocalizedString(@"Remote configuration successfully fetched and applied.", nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"OK", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [PhoneMainView.instance presentViewController:errView animated:YES completion:nil]; - - [PhoneMainView.instance startUp]; - } - if (state == LinphoneConfiguringFailed) { - [NSNotificationCenter.defaultCenter removeObserver:self name:kLinphoneConfiguringStateUpdate object:nil]; - [_waitingIndicator dismissViewControllerAnimated:YES completion:nil]; - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Failure", nil) - message:NSLocalizedString(@"Failed configuring from the specified URL.", nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"OK", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [PhoneMainView.instance presentViewController:errView animated:YES completion:nil]; - } -} - -- (void)attemptRemoteConfiguration { - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(ConfigurationStateUpdateEvent:) - name:kLinphoneConfiguringStateUpdate - object:nil]; - linphone_core_set_provisioning_uri(LC, [configURL UTF8String]); - [LinphoneManager.instance destroyLinphoneCore]; - [LinphoneManager.instance launchLinphoneCore]; - [LinphoneManager.instance.fastAddressBook fetchContactsInBackGroundThread]; -} - -#pragma mark - Prevent ImagePickerView from rotating - -- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window { - if ([[(PhoneMainView*)self.window.rootViewController currentView] equal:ImagePickerView.compositeViewDescription] || _onlyPortrait) - { - //Prevent rotation of camera - NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationPortrait]; - [[UIDevice currentDevice] setValue:value forKey:@"orientation"]; - return UIInterfaceOrientationMaskPortrait; - } else return UIInterfaceOrientationMaskAllButUpsideDown; -} - -@end diff --git a/Classes/LinphoneCoreSettingsStore.h b/Classes/LinphoneCoreSettingsStore.h deleted file mode 100644 index b3e656704..000000000 --- a/Classes/LinphoneCoreSettingsStore.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import "IASKSettingsStore.h" - -#import "LinphoneManager.h" - -@interface LinphoneCoreSettingsStore : IASKAbstractSettingsStore { - @public - NSDictionary *dict; - NSDictionary *changedDict; -} - -- (void)transformLinphoneCoreToKeys; -- (void)transformAccountToKeys:(NSString *)username; -- (void)transformLdapToKeys:(NSString *)ldap_server; -- (void)removeAccount; -- (void)removeLdap; - -@end diff --git a/Classes/LinphoneCoreSettingsStore.m b/Classes/LinphoneCoreSettingsStore.m deleted file mode 100644 index 13e28207c..000000000 --- a/Classes/LinphoneCoreSettingsStore.m +++ /dev/null @@ -1,1246 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "linphoneapp-Swift.h" -#import "LinphoneCoreSettingsStore.h" -#import "Utils.h" -#import "PhoneMainView.h" - -#include "linphone/linphone_tunnel.h" -#include "linphone/lpconfig.h" -#include -#include - - -@implementation LinphoneCoreSettingsStore - -- (id)init { - self = [super init]; - if (self) { - dict = [[NSMutableDictionary alloc] init]; - changedDict = [[NSMutableDictionary alloc] init]; - } - return self; -} - -- (void)setCString:(const char *)value forKey:(NSString *)key { - id obj = @""; - if (value) - obj = [[NSString alloc] initWithCString:value encoding:NSUTF8StringEncoding]; - [self setObject:obj forKey:key]; -} - -- (NSString *)stringForKey:(NSString *)key { - return [self objectForKey:key]; -} - -- (void)setObject:(id)value forKey:(NSString *)key { - [dict setValue:value forKey:key]; - [changedDict setValue:[NSNumber numberWithBool:TRUE] forKey:key]; -} - -- (id)objectForKey:(NSString *)key { - return [dict valueForKey:key]; -} - -- (BOOL)valueChangedForKey:(NSString *)key { - return [[changedDict valueForKey:key] boolValue]; -} - -+ (int)validPort:(int)port { - if (port < 0) { - return 0; - } - if (port > 65535) { - return 65535; - } - return port; -} - -+ (BOOL)parsePortRange:(NSString *)text minPort:(int *)minPort maxPort:(int *)maxPort { - /*NSError *error = nil; - *minPort = -1; - *maxPort = -1; - NSRegularExpression *regex = - [NSRegularExpression regularExpressionWithPattern:@"([0-9]+)(([^0-9]+)([0-9]+))?" options:0 error:&error]; - if (error != NULL) - return FALSE; - NSArray *matches = [regex matchesInString:text options:0 range:NSMakeRange(0, [text length])]; - if ([matches count] == 1) { - NSTextCheckingResult *match = [matches objectAtIndex:0]; - bool range = [match rangeAtIndex:2].length > 0; - if (!range) { - NSRange rangeMinPort = [match rangeAtIndex:1]; - *minPort = [LinphoneCoreSettingsStore validPort:[[text substringWithRange:rangeMinPort] intValue]]; - *maxPort = *minPort; - return TRUE; - } else { - NSRange rangeMinPort = [match rangeAtIndex:1]; - *minPort = [LinphoneCoreSettingsStore validPort:[[text substringWithRange:rangeMinPort] intValue]]; - NSRange rangeMaxPort = [match rangeAtIndex:4]; - *maxPort = [LinphoneCoreSettingsStore validPort:[[text substringWithRange:rangeMaxPort] intValue]]; - if (*minPort > *maxPort) { - *minPort = *maxPort; - } - return TRUE; - } - }*/ - int err; - - err = sscanf(text.UTF8String, "%i - %i", minPort, maxPort); - if (err == 0) { - *minPort = *maxPort = -1; - } else if (err == 1) { - *maxPort = -1; - } - - // Minimal port allowed - if (*minPort < 1024) { - *minPort = -1; - } - // Maximal port allowed - if (*maxPort > 65535) { - *maxPort = -1; - } - // minPort must be inferior or equal to maxPort - if (*minPort > *maxPort) { - *maxPort = *minPort; - } - - return TRUE; -} - -- (void)transformCodecsToKeys:(const MSList *)codecs { - - const MSList *elem = codecs; - for (; elem != NULL; elem = elem->next) { - PayloadType *pt = (PayloadType *)elem->data; - NSString *pref = [LinphoneManager getPreferenceForCodec:pt->mime_type withRate:pt->clock_rate]; - if (pref) { - bool_t value = linphone_core_payload_type_enabled(LC, pt); - [self setBool:value forKey:pref]; - } else { - LOGW(@"Codec %s/%i supported by core is not shown in iOS app config view.", pt->mime_type, pt->clock_rate); - } - } -} - -- (void)transformAccountToKeys:(NSString *)username { - //const MSList *accountList = linphone_core_get_account_list(LC); - MSList *accountListToBeFreed = [LinphoneManager.instance createAccountsNotHiddenList]; - MSList *accountList = accountListToBeFreed; - while (username && accountList && - strcmp(username.UTF8String, - linphone_address_get_username(linphone_account_params_get_identity_address(linphone_account_get_params(accountList->data)))) != 0) { - accountList = accountList->next; - } - LinphoneAccount *account = NULL; - - // default values - { - [self setBool:NO forKey:@"account_pushnotification_preference"]; - [self setBool:NO forKey:@"account_bundle_mode_preference"]; - [self setObject:@"" forKey:@"account_mandatory_username_preference"]; - [self setObject:@"" forKey:@"account_mandatory_domain_preference"]; - [self setCString:"" forKey:@"account_display_name_preference"]; - [self setObject:@"" forKey:@"account_proxy_preference"]; - [self setObject:@"udp" forKey:@"account_transport_preference"]; - [self setBool:NO forKey:@"account_outbound_proxy_preference"]; - [self setBool:NO forKey:@"account_avpf_preference"]; - [self setBool:YES forKey:@"account_is_default_preference"]; - [self setBool:YES forKey:@"account_is_enabled_preference"]; - [self setCString:"" forKey:@"account_userid_preference"]; - [self setCString:"" forKey:@"account_mandatory_password_preference"]; - [self setCString:"" forKey:@"ha1_preference"]; - [self setCString:"" forKey:@"ha1_algo_preference"]; - [self setInteger:-1 forKey:@"account_expire_preference"]; - [self setInteger:-1 forKey:@"current_proxy_config_preference"]; - [self setCString:"" forKey:@"account_prefix_preference"]; - [self setBool:YES forKey:@"apply_international_prefix_for_calls_and_chats"]; - [self setBool:NO forKey:@"account_substitute_+_by_00_preference"]; - [self setBool:NO forKey:@"account_ice_preference"]; - [self setCString:"" forKey:@"account_stun_preference"]; - } - - if (accountList) { - account = accountList->data; - LinphoneAccountParams const *accountParams = linphone_account_get_params(account); - // root section - { - BOOL pushEnabled = linphone_account_params_get_push_notification_allowed(accountParams); - [self setBool:pushEnabled forKey:@"account_pushnotification_preference"]; - - BOOL bundleModeEnabled = linphone_account_params_rtp_bundle_enabled(accountParams); - [self setBool:bundleModeEnabled forKey:@"account_bundle_mode_preference"]; - - const LinphoneAddress *identity_addr = linphone_account_params_get_identity_address(accountParams); - const char *server_addr = linphone_account_params_get_server_addr(accountParams); - LinphoneAddress *proxy_addr = linphone_core_interpret_url_2(LC, server_addr, false); - if (identity_addr && proxy_addr) { - int port = linphone_address_get_port(proxy_addr); - - [self setCString:linphone_address_get_username(identity_addr) - forKey:@"account_mandatory_username_preference"]; - [self setCString:linphone_address_get_display_name(identity_addr) - forKey:@"account_display_name_preference"]; - [self setCString:linphone_address_get_domain(identity_addr) - forKey:@"account_mandatory_domain_preference"]; - if (strcmp(linphone_address_get_domain(identity_addr), linphone_address_get_domain(proxy_addr)) != 0 || - port > 0) { - char tmp[256] = {0}; - if (port > 0) { - snprintf(tmp, sizeof(tmp) - 1, "%s:%i", linphone_address_get_domain(proxy_addr), port); - } else - snprintf(tmp, sizeof(tmp) - 1, "%s", linphone_address_get_domain(proxy_addr)); - [self setCString:tmp forKey:@"account_proxy_preference"]; - } - const char *tname = "udp"; - switch (linphone_address_get_transport(proxy_addr)) { - case LinphoneTransportTcp: - tname = "tcp"; - break; - case LinphoneTransportTls: - tname = "tls"; - break; - default: - break; - } - linphone_address_unref(proxy_addr); - [self setCString:tname forKey:@"account_transport_preference"]; - } - - [self setBool:(linphone_account_params_get_routes_addresses(accountParams) != NULL) forKey:@"account_outbound_proxy_preference"]; - [self setBool:linphone_account_is_avpf_enabled(account) forKey:@"account_avpf_preference"]; - [self setBool:linphone_account_params_get_register_enabled(accountParams) forKey:@"account_is_enabled_preference"]; - [self setBool:(linphone_core_get_default_account(LC) == account) - forKey:@"account_is_default_preference"]; - - const LinphoneAuthInfo *ai = linphone_core_find_auth_info( - LC, NULL, [self stringForKey:@"account_mandatory_username_preference"].UTF8String, - [self stringForKey:@"account_mandatory_domain_preference"].UTF8String); - if (ai) { - [self setCString:linphone_auth_info_get_userid(ai) forKey:@"account_userid_preference"]; - [self setCString:linphone_auth_info_get_passwd(ai) forKey:@"account_mandatory_password_preference"]; - // hidden but useful if provisioned - [self setCString:linphone_auth_info_get_ha1(ai) forKey:@"ha1_preference"]; - [self setCString:linphone_auth_info_get_algorithm(ai) forKey:@"ha1_algo_preference"]; - } - - MSList *accountsList = [LinphoneManager.instance createAccountsNotHiddenList]; - int idx = (int)bctbx_list_index(linphone_core_get_account_list(LC), account); - [self setInteger:idx forKey:@"current_proxy_config_preference"]; - bctbx_list_free(accountsList); - - int expires = linphone_account_params_get_expires(accountParams); - [self setInteger:expires forKey:@"account_expire_preference"]; - - LinphoneNatPolicy *policy = linphone_account_params_get_nat_policy(accountParams); - if (policy) { - [self setBool:linphone_nat_policy_ice_enabled(policy) forKey:@"account_ice_preference"]; - [self setCString:linphone_nat_policy_get_stun_server(policy) forKey:@"account_stun_preference"]; - } - } - - // call section - { - const char *dial_prefix = linphone_account_params_get_international_prefix(accountParams); - [self setCString:dial_prefix forKey:@"account_prefix_preference"]; - BOOL apply_prefix = linphone_account_params_get_use_international_prefix_for_calls_and_chats(accountParams); - [self setBool:apply_prefix forKey:@"apply_international_prefix_for_calls_and_chats"]; - BOOL dial_escape_plus = linphone_account_params_get_dial_escape_plus_enabled(accountParams); - [self setBool:dial_escape_plus forKey:@"account_substitute_+_by_00_preference"]; - } - } - bctbx_list_free(accountListToBeFreed); -} - - -- (void)transformLdapToKeys:(NSString *)ldap_server { - const MSList *ldaps = linphone_core_get_ldap_list(LC); - while (ldap_server && ldaps && - strcmp(ldap_server.UTF8String, - linphone_ldap_params_get_server(linphone_ldap_get_params(ldaps->data))) != 0) { - ldaps = ldaps->next; - } - LinphoneLdap *ldap = NULL; - - // default values - { - [self setBool:YES forKey:@"ldap_enabled"]; - [self setObject:@"" forKey:@"ldap_server"]; - [self setObject:@"" forKey:@"ldap_bind_dn"]; - [self setObject:@"" forKey:@"ldap_password"]; - [self setObject:@"simple" forKey:@"ldap_auth_method"]; - [self setBool:YES forKey:@"ldap_tls_enabled"]; - [self setObject:@"default" forKey:@"ldap_certificates_verification_mode"]; - [self setObject:@"" forKey:@"ldap_filter"]; - [self setInteger:50 forKey:@"ldap_max_results"]; - [self setInteger:5 forKey:@"ldap_timeout"]; - [self setInteger:500 forKey:@"ldap_delay"]; - [self setInteger:3 forKey:@"ldap_min_chars"]; - [self setObject:@"" forKey:@"ldap_name_attribute"]; - [self setObject:@"" forKey:@"ldap_sip_attribute"]; - [self setObject:@"" forKey:@"ldap_sip_domain"]; - [self setBool:NO forKey:@"ldap_logs_enabled"]; - } - - if (ldaps) { - ldap = ldaps->data; - LinphoneLdapParams const *ldapParams = linphone_ldap_get_params(ldap); - - int idx = (int)bctbx_list_index(linphone_core_get_ldap_list(LC), ldap); - [self setInteger:idx forKey:@"current_ldap_index"]; - - [self setBool:linphone_ldap_params_get_enabled(ldapParams) forKey:@"ldap_enabled"]; - [self setCString:linphone_ldap_params_get_server(ldapParams) forKey:@"ldap_server"]; - [self setCString:linphone_ldap_params_get_bind_dn(ldapParams) forKey:@"ldap_bind_dn"]; - [self setCString:linphone_ldap_params_get_password(ldapParams) forKey:@"ldap_password"]; - [self setBool:linphone_ldap_params_tls_enabled(ldapParams) forKey:@"ldap_tls_enabled"]; - - switch (linphone_ldap_params_get_auth_method(ldapParams)) { - case LinphoneLdapAuthMethodSimple: - [self setObject:@"simple" forKey:@"ldap_auth_method"]; - break; - case LinphoneLdapAuthMethodAnonymous: - [self setObject:@"anonymous" forKey:@"ldap_auth_method"]; - break; - } - - switch (linphone_ldap_params_get_server_certificates_verification_mode(ldapParams)) { - case LinphoneLdapCertVerificationDefault: - [self setObject:@"default" forKey:@"ldap_certificates_verification_mode"]; - break; - case LinphoneLdapCertVerificationEnabled: - [self setObject:@"enabled" forKey:@"ldap_certificates_verification_mode"]; - break; - case LinphoneLdapCertVerificationDisabled: - [self setObject:@"disabled" forKey:@"ldap_certificates_verification_mode"]; - break; - } - - [self setCString:linphone_ldap_params_get_base_object(ldapParams) forKey:@"ldap_base_object"]; - [self setCString:linphone_ldap_params_get_filter(ldapParams) forKey:@"ldap_filter"]; - [self setInteger:linphone_ldap_params_get_max_results(ldapParams) forKey:@"ldap_max_results"]; - [self setInteger:linphone_ldap_params_get_timeout(ldapParams) forKey:@"ldap_timeout"]; - [self setInteger:linphone_ldap_params_get_delay(ldapParams) forKey:@"ldap_delay"]; - [self setInteger:linphone_ldap_params_get_min_chars(ldapParams) forKey:@"ldap_min_chars"]; - - - [self setCString:linphone_ldap_params_get_name_attribute(ldapParams) forKey:@"ldap_name_attribute"]; - [self setCString:linphone_ldap_params_get_sip_attribute(ldapParams) forKey:@"ldap_sip_attribute"]; - [self setCString:linphone_ldap_params_get_sip_domain(ldapParams) forKey:@"ldap_sip_domain"]; - - bool ldapLogsEnabled = linphone_ldap_params_get_debug_level(ldapParams) == LinphoneLdapDebugLevelVerbose; - [self setBool:ldapLogsEnabled forKey:@"ldap_logs_enabled"]; - } -} - -- (void)transformLinphoneCoreToKeys { - LinphoneManager *lm = LinphoneManager.instance; - - // root section - { - MSList *accountsListToBeFreed = [lm createAccountsNotHiddenList]; - MSList *accountsList = accountsListToBeFreed; - size_t count = bctbx_list_size(accountsList); - for (size_t i = 1; i <= count; i++, accountsList = accountsList->next) { - NSString *key = [NSString stringWithFormat:@"menu_account_%lu", i]; - LinphoneAccount *account = (LinphoneAccount *)accountsList->data; - [self setCString:linphone_address_get_username(linphone_account_params_get_identity_address(linphone_account_get_params(account))) - forKey:key]; - } - bctbx_free(accountsListToBeFreed); - - [self setBool:linphone_core_video_display_enabled(LC) forKey:@"enable_video_preference"]; - [self setBool:[LinphoneManager.instance lpConfigBoolForKey:@"auto_answer"] - forKey:@"enable_auto_answer_preference"]; - [self setBool:[lm lpConfigBoolForKey:@"account_mandatory_advanced_preference"] - forKey:@"account_mandatory_advanced_preference"]; - } - - // account section - { [self transformAccountToKeys:nil]; } - - // audio section - { - [self transformCodecsToKeys:linphone_core_get_audio_codecs(LC)]; - [self setFloat:linphone_core_get_playback_gain_db(LC) forKey:@"playback_gain_preference"]; - [self setFloat:linphone_core_get_mic_gain_db(LC) forKey:@"microphone_gain_preference"]; - [self setInteger:[lm lpConfigIntForKey:@"codec_bitrate_limit" - inSection:@"audio" - withDefault:kLinphoneAudioVbrCodecDefaultBitrate] - forKey:@"audio_codec_bitrate_limit_preference"]; - [self setInteger:[lm lpConfigIntForKey:@"voiceproc_preference" withDefault:1] forKey:@"voiceproc_preference"]; - [self setInteger:[lm lpConfigIntForKey:@"eq_active" inSection:@"sound" withDefault:0] forKey:@"eq_active"]; - } - - // video section - { - [self transformCodecsToKeys:linphone_core_get_video_codecs(LC)]; - - const LinphoneVideoPolicy *pol; - pol = linphone_core_get_video_policy(LC); - [self setBool:(pol->automatically_initiate) forKey:@"start_video_preference"]; - [self setBool:(pol->automatically_accept) forKey:@"accept_video_preference"]; - [self setBool:linphone_core_self_view_enabled(LC) forKey:@"self_video_preference"]; - BOOL previewEnabled = [lm lpConfigBoolForKey:@"preview_preference" withDefault:YES]; - [self setBool:IPAD && previewEnabled forKey:@"preview_preference"]; - - const char *preset = linphone_core_get_video_preset(LC); - [self setCString:preset ? preset : "default" forKey:@"video_preset_preference"]; - MSVideoSize vsize = linphone_core_get_preferred_video_size(LC); - int index; - if ((vsize.width == MS_VIDEO_SIZE_720P_W) && (vsize.height == MS_VIDEO_SIZE_720P_H)) { - index = 0; - } else if ((vsize.width == MS_VIDEO_SIZE_VGA_W) && (vsize.height == MS_VIDEO_SIZE_VGA_H)) { - index = 1; - } else { - index = 2; - } - [self setInteger:index forKey:@"video_preferred_size_preference"]; - [self setInteger:linphone_core_get_preferred_framerate(LC) forKey:@"video_preferred_fps_preference"]; - [self setInteger:linphone_core_get_download_bandwidth(LC) forKey:@"download_bandwidth_preference"]; - } - - // call section - { - - [self setBool:[lm lpConfigBoolForKey:@"use_device_ringtone"] forKey:@"use_device_ringtone"]; - - [self setBool:linphone_core_get_use_info_for_dtmf(LC) forKey:@"sipinfo_dtmf_preference"]; - [self setBool:linphone_core_get_use_rfc2833_for_dtmf(LC) forKey:@"rfc_dtmf_preference"]; - - [self setInteger:linphone_core_get_inc_timeout(LC) forKey:@"incoming_call_timeout_preference"]; - [self setInteger:linphone_core_get_in_call_timeout(LC) forKey:@"in_call_timeout_preference"]; - - [self setBool:[lm lpConfigBoolForKey:@"repeat_call_notification"] - forKey:@"repeat_call_notification_preference"]; - if (linphone_core_get_media_encryption(LC) == LinphoneMediaEncryptionNone) { - [self setBool:FALSE forKey:@"media_encrption_mandatory_preference"]; - linphone_core_set_media_encryption_mandatory(LC, FALSE); - } else { - [self setBool:linphone_core_is_media_encryption_mandatory(LC) forKey:@"media_encrption_mandatory_preference"]; - } - [self setBool:[lm lpConfigBoolForKey:@"pref_accept_early_media"] - forKey:@"pref_accept_early_media_preference"]; - } - - // chat section - { - [self setCString:linphone_core_get_file_transfer_server(LC) forKey:@"file_transfer_server_url_preference"]; - int maxSize = linphone_core_get_max_size_for_auto_download_incoming_files(LC); - [self setObject:maxSize==0 ? @"Always" : (maxSize==-1 ? @"Never" : @"Customize") forKey:@"auto_download_mode"]; - [self setInteger:maxSize forKey:@"auto_download_incoming_files_max_size"]; - [self setBool:[VFSUtil vfsEnabledWithGroupName:kLinphoneMsgNotificationAppGroupId] forKey:@"vfs_enabled_mode"]; - [self setBool:[lm lpConfigBoolForKey:@"auto_write_to_gallery_preference" withDefault:NO] forKey:@"auto_write_to_gallery_mode"]; - } - - // network section - { - LinphoneNatPolicy *np = linphone_core_get_nat_policy(LC); - [self setBool:[lm lpConfigBoolForKey:@"edge_opt_preference" withDefault:NO] forKey:@"edge_opt_preference"]; - [self setBool:[lm lpConfigBoolForKey:@"wifi_only_preference" withDefault:NO] forKey:@"wifi_only_preference"]; - [self setCString:linphone_nat_policy_get_stun_server(np) forKey:@"stun_preference"]; - [self setBool:linphone_nat_policy_ice_enabled(np) forKey:@"ice_preference"]; - [self setBool:linphone_nat_policy_turn_enabled(np) forKey:@"turn_preference"]; - - [self setCString:linphone_nat_policy_get_stun_server_username(np) - forKey:@"turn_username"]; - - int random_port_preference = [lm lpConfigIntForKey:@"random_port_preference" withDefault:1]; - [self setInteger:random_port_preference forKey:@"random_port_preference"]; - int port = [lm lpConfigIntForKey:@"port_preference" withDefault:5060]; - [self setInteger:port forKey:@"port_preference"]; - { - int minPort, maxPort; - linphone_core_get_audio_port_range(LC, &minPort, &maxPort); - if (minPort != maxPort) - [self setObject:[NSString stringWithFormat:@"%d-%d", minPort, maxPort] forKey:@"audio_port_preference"]; - else - [self setObject:[NSString stringWithFormat:@"%d", minPort] forKey:@"audio_port_preference"]; - } - { - int minPort, maxPort; - linphone_core_get_video_port_range(LC, &minPort, &maxPort); - if (minPort != maxPort) - [self setObject:[NSString stringWithFormat:@"%d-%d", minPort, maxPort] forKey:@"video_port_preference"]; - else - [self setObject:[NSString stringWithFormat:@"%d", minPort] forKey:@"video_port_preference"]; - } - [self setBool:linphone_core_ipv6_enabled(LC) forKey:@"use_ipv6"]; - LinphoneMediaEncryption menc = linphone_core_get_media_encryption(LC); - const char *val; - switch (menc) { - case LinphoneMediaEncryptionSRTP: - val = "SRTP"; - break; - case LinphoneMediaEncryptionZRTP: - val = "ZRTP"; - break; - case LinphoneMediaEncryptionDTLS: - val = "DTLS"; - break; - case LinphoneMediaEncryptionNone: - val = "None"; - break; - } - [self setCString:val forKey:linphone_core_get_post_quantum_available() ? @"media_encryption_preference_pq_enabled" : @"media_encryption_preference"]; - [self setInteger:linphone_core_get_upload_bandwidth(LC) forKey:@"upload_bandwidth_preference"]; - [self setInteger:linphone_core_get_download_bandwidth(LC) forKey:@"download_bandwidth_preference"]; - [self setBool:linphone_core_adaptive_rate_control_enabled(LC) forKey:@"adaptive_rate_control_preference"]; - [self setObject:[lm lpConfigStringForKey:@"dns_server_ip"] forKey:@"dns_server_preference"]; - [self setCString:[lm lpConfigStringForKey:@"ssids" inSection:@"local_push"].UTF8String forKey:@"local_push_ssids"]; - - } - - // tunnel section - if (linphone_core_tunnel_available()) { - LinphoneTunnel *tunnel = linphone_core_get_tunnel(LC); - [self setObject:[lm lpConfigStringForKey:@"tunnel_mode_preference" withDefault:@"off"] - forKey:@"tunnel_mode_preference"]; - const MSList *configs = linphone_tunnel_get_servers(tunnel); - if (configs != NULL) { - LinphoneTunnelConfig *ltc = (LinphoneTunnelConfig *)configs->data; - [self setCString:linphone_tunnel_config_get_host(ltc) forKey:@"tunnel_address_preference"]; - [self setInteger:linphone_tunnel_config_get_port(ltc) forKey:@"tunnel_port_preference"]; - } else { - [self setCString:"" forKey:@"tunnel_address_preference"]; - [self setInteger:443 forKey:@"tunnel_port_preference"]; - } - } - - // contacts section - { - [self setInteger:[lm lpConfigBoolForKey:@"account_push_presence_preference" withDefault:YES] forKey:@"account_push_presence_preference"]; - if (linphone_core_ldap_available(LC)) { - [self transformLdapToKeys:nil]; - } - } - - // advanced section - { - [self setObject:[lm lpConfigStringForKey:@"debugenable_preference"] forKey:@"debugenable_preference"]; - [self setBool:ANIMATED forKey:@"animations_preference"]; - [self setBool:[lm lpConfigBoolForKey:@"backgroundmode_preference"] forKey:@"backgroundmode_preference"]; - [self setBool:[lm lpConfigBoolForKey:@"start_at_boot_preference"] forKey:@"start_at_boot_preference"]; - [self setBool:[lm lpConfigBoolForKey:@"screenshot_preference" withDefault:NO] forKey:@"screenshot_preference"]; - [self setBool:[lm lpConfigBoolForKey:@"autoanswer_notif_preference"] forKey:@"autoanswer_notif_preference"]; - [self setBool:[lm lpConfigBoolForKey:@"show_msg_in_notif" withDefault:YES] forKey:@"show_msg_in_notif"]; - [self setBool:[lm lpConfigBoolForKey:@"use_rls_presence" withDefault:YES] forKey:@"use_rls_presence"]; - [self setBool:[lm lpConfigBoolForKey:@"enable_first_login_view_preference"] - forKey:@"enable_first_login_view_preference"]; - [self setBool:[lm lpConfigBoolForKey:@"enable_broadcast_conference_feature" withDefault:NO] forKey:@"enable_broadcast_conference_feature"]; - LinphoneAddress *parsed = linphone_core_get_primary_contact_parsed(LC); - if (parsed != NULL) { - [self setCString:linphone_address_get_display_name(parsed) forKey:@"primary_displayname_preference"]; - [self setCString:linphone_address_get_username(parsed) forKey:@"primary_username_preference"]; - linphone_address_unref(parsed); - } - } - - changedDict = [[NSMutableDictionary alloc] init]; - - // Post event - NSDictionary *eventDic = [NSDictionary dictionaryWithObject:self forKey:@"settings"]; - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneLogsUpdate object:self userInfo:eventDic]; -} - -- (void)alertAccountError:(NSString *)error { - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Error", nil) - message:error - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"OK", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [PhoneMainView.instance presentViewController:errView animated:YES completion:nil]; -} - -- (void)synchronizeAccounts { - LOGI(@"Account changed, synchronizing."); - LinphoneManager *lm = LinphoneManager.instance; - LinphoneAccount *account = NULL; - LinphoneAccountParams *newAccountParams = NULL; - NSString *error = nil; - - int port_preference = [self integerForKey:@"port_preference"]; - - BOOL random_port_preference = [self boolForKey:@"random_port_preference"]; - [lm lpConfigSetInt:random_port_preference forKey:@"random_port_preference"]; - if (random_port_preference) { - port_preference = -1; - } - - LCSipTransports transportValue = {port_preference, port_preference, -1, -1}; - - // will also update the sip_*_port section of the config - if (linphone_core_set_sip_transports(LC, &transportValue)) { - LOGE(@"cannot set transport"); - } - - port_preference = linphone_core_get_sip_port(LC); - [self setInteger:port_preference forKey:@"port_preference"]; // Update back preference - - BOOL enable_ipv6 = [self boolForKey:@"use_ipv6"]; - [lm lpConfigSetBool:enable_ipv6 forKey:@"use_ipv6" inSection:@"sip"]; - LOGD(@"%@ IPV6", enable_ipv6 ? @"ENABLING" : @"DISABLING"); - linphone_core_enable_ipv6(LC, enable_ipv6); - - // configure sip account - - // mandatory parameters - NSString *username = [self stringForKey:@"account_mandatory_username_preference"]; - NSString *displayName = [self stringForKey:@"account_display_name_preference"]; - NSString *userID = [self stringForKey:@"account_userid_preference"]; - NSString *domain = [self stringForKey:@"account_mandatory_domain_preference"]; - NSString *transport = [self stringForKey:@"account_transport_preference"]; - NSString *accountHa1 = [self stringForKey:@"ha1_preference"]; - NSString *accountPassword = [self stringForKey:@"account_mandatory_password_preference"]; - NSString *accountAlgoPreference = [self stringForKey:@"ha1_algo_preference"]; - BOOL isOutboundProxy = [self boolForKey:@"account_outbound_proxy_preference"]; - BOOL use_avpf = [self boolForKey:@"account_avpf_preference"]; - BOOL is_default = [self boolForKey:@"account_is_default_preference"]; - BOOL is_enabled = [self boolForKey:@"account_is_enabled_preference"]; - BOOL use_ice = [self boolForKey:@"account_ice_preference"]; - NSString *stun_preference = [self stringForKey:@"account_stun_preference"]; - - if (username && [username length] > 0 && domain && [domain length] > 0) { - int expire = [self integerForKey:@"account_expire_preference"]; - BOOL pushnotification = [self boolForKey:@"account_pushnotification_preference"]; - BOOL bundlemode = [self boolForKey:@"account_bundle_mode_preference"]; - NSString *prefix = [self stringForKey:@"account_prefix_preference"]; - BOOL use_prefix = [self boolForKey:@"apply_international_prefix_for_calls_and_chats"]; - NSString *proxyAddress = [self stringForKey:@"account_proxy_preference"]; - - if ((!proxyAddress || [proxyAddress length] < 1) && domain) { - proxyAddress = domain; - } - - if (![proxyAddress hasPrefix:@"sip:"] && ![proxyAddress hasPrefix:@"sips:"]) { - proxyAddress = [NSString stringWithFormat:@"sip:%@", proxyAddress]; - } - - LinphoneAddress *proxy_addr = linphone_core_interpret_url_2(LC, proxyAddress.UTF8String, false); - - if (proxy_addr) { - LinphoneTransportType type = LinphoneTransportUdp; - if ([transport isEqualToString:@"tcp"]) - type = LinphoneTransportTcp; - else if ([transport isEqualToString:@"tls"]) - type = LinphoneTransportTls; - - linphone_address_set_transport(proxy_addr, type); - } - - MSList *accountList= [LinphoneManager.instance createAccountsNotHiddenList]; - account = bctbx_list_nth_data(accountList, - [self integerForKey:@"current_proxy_config_preference"]); - bctbx_free(accountList); - - // if account was deleted, it is not present anymore - if (account == NULL) - goto bad_proxy; - - - LinphoneAddress *linphoneAddress = linphone_address_clone(linphone_account_params_get_identity_address(linphone_account_get_params(account))); - linphone_address_set_username(linphoneAddress, username.UTF8String); - if ([LinphoneManager.instance lpConfigBoolForKey:@"use_phone_number" inSection:@"assistant"]) { - char *user = linphone_account_normalize_phone_number(account, username.UTF8String); - if (user) { - linphone_address_set_username(linphoneAddress, user); - ms_free(user); - } - } - linphone_address_set_domain(linphoneAddress, [domain UTF8String]); - linphone_address_set_display_name(linphoneAddress, (displayName.length ? displayName.UTF8String : NULL)); - const char *password = [accountPassword UTF8String]; - const char *ha1 = [accountHa1 UTF8String]; - - newAccountParams = linphone_account_params_clone(linphone_account_get_params(account)); - - if (linphone_account_params_set_identity_address(newAccountParams, linphoneAddress) == -1) { - error = NSLocalizedString(@"Invalid username or domain", nil); - goto bad_proxy; - } - // use proxy as route if outbound_proxy is enabled - if (linphone_account_params_set_server_address(newAccountParams, proxy_addr) == -1) { - error = NSLocalizedString(@"Invalid proxy address", nil); - goto bad_proxy; - } - if (linphone_account_params_set_routes_addresses(newAccountParams, isOutboundProxy ? bctbx_list_new((void*)proxy_addr) : NULL) == -1) { - error = NSLocalizedString(@"Invalid route", nil); - goto bad_proxy; - } - - LinphoneNatPolicy *policy = linphone_account_params_get_nat_policy(newAccountParams) ?: linphone_core_create_nat_policy(LC); - linphone_nat_policy_enable_stun(policy, use_ice); // We always use STUN with ICE - linphone_nat_policy_enable_ice(policy, use_ice); - linphone_nat_policy_set_stun_server(policy, stun_preference.UTF8String); - linphone_account_params_set_nat_policy(newAccountParams, policy); - - linphone_account_params_set_international_prefix(newAccountParams, [prefix UTF8String]); - linphone_account_params_set_use_international_prefix_for_calls_and_chats(newAccountParams, use_prefix); - if ([self objectForKey:@"account_substitute_+_by_00_preference"]) { - bool substitute_plus_by_00 = [self boolForKey:@"account_substitute_+_by_00_preference"]; - linphone_account_params_set_dial_escape_plus_enabled(newAccountParams, substitute_plus_by_00); - } - - // use empty string "" instead of NULL to avoid being overwritten by default proxy config values - linphone_account_params_set_push_notification_allowed(newAccountParams, pushnotification); - linphone_account_params_enable_rtp_bundle(newAccountParams, bundlemode); - linphone_account_params_set_push_notification_allowed(newAccountParams, pushnotification); - linphone_account_params_set_remote_push_notification_allowed(newAccountParams, pushnotification); - - linphone_account_params_set_register_enabled(newAccountParams, is_enabled); - linphone_account_params_set_avpf_mode(newAccountParams, use_avpf); - linphone_account_params_set_expires(newAccountParams, expire); - - linphone_account_set_params(account, newAccountParams); - linphone_account_params_unref(newAccountParams); - if (is_default) { - linphone_core_set_default_account(LC, account); - } else if (linphone_core_get_default_account(LC) == account) { - linphone_core_set_default_account(LC, NULL); - } - - LinphoneAuthInfo *proxyAi = (LinphoneAuthInfo *)linphone_account_find_auth_info(account); - char *realm; - if (proxyAi) { - realm = ms_strdup(linphone_auth_info_get_realm(proxyAi)); - } else { - realm = NULL; - } - - // modify auth info only after finishing editting the proxy config, so that - // UNREGISTER succeed - if (proxyAi) { - linphone_core_remove_auth_info(LC, proxyAi); - } - if (strcmp(password,"") == 0) { - password = NULL; - } - - char *identity = linphone_address_as_string(linphoneAddress); - LinphoneAddress *from = linphone_core_interpret_url_2(LC, identity, false); - ms_free(identity); - if (from) { - const char *userid_str = (userID != nil) ? [userID UTF8String] : NULL; - LinphoneAuthInfo *info; - if (password) { - info = linphone_auth_info_new(linphone_address_get_username(from), userid_str, password, NULL, - linphone_account_params_get_realm(newAccountParams), - linphone_account_params_get_domain(newAccountParams)); - } else { - info = linphone_auth_info_new_for_algorithm(linphone_address_get_username(from) - , userid_str - , NULL - , ha1 - , realm ? realm : linphone_account_params_get_realm(newAccountParams), - linphone_account_params_get_domain(newAccountParams), [accountAlgoPreference UTF8String]); - } - - linphone_address_unref(from); - linphone_core_add_auth_info(LC, info); - linphone_auth_info_destroy(info); - ms_free(realm); - } - - bad_proxy: - if (linphoneAddress) - linphone_address_destroy(linphoneAddress); - - // in case of error, show an alert to the user - if (error != nil) { - if (newAccountParams != NULL) { // If we get here, then we're also sure that Account != NULL - - linphone_account_params_unref(newAccountParams); - } - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Error", nil) - message:error - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"OK", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [PhoneMainView.instance presentViewController:errView animated:YES completion:nil]; - } - - } - // reload address book to prepend proxy config domain to contacts' phone number - [[LinphoneManager.instance fastAddressBook] fetchContactsInBackGroundThread]; -} - -- (void)synchronizeCodecs:(const MSList *)codecs { - PayloadType *pt; - const MSList *elem; - - for (elem = codecs; elem != NULL; elem = elem->next) { - pt = (PayloadType *)elem->data; - NSString *pref = [LinphoneManager getPreferenceForCodec:pt->mime_type withRate:pt->clock_rate]; - linphone_core_enable_payload_type(LC, pt, [self boolForKey:pref]); - } -} - -- (void)synchronizeLdap { - LOGI(@"LDAP config changed, synchronizing."); - - LinphoneLdap*ldap = bctbx_list_nth_data(linphone_core_get_ldap_list(LC), [self integerForKey:@"current_ldap_index"]); - if (!ldap) { - return; - } - - if ([self stringForKey:@"ldap_base_object"].length == 0) { - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Error", nil) - message:@"LDAPResearch base must not be empty" - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"OK", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [PhoneMainView.instance presentViewController:errView animated:YES completion:nil]; - return; - } - - LinphoneLdapParams *newLdapParams = linphone_ldap_params_clone(linphone_ldap_get_params(ldap)); - - // Connexion parameters - linphone_ldap_params_set_enabled(newLdapParams, [self boolForKey:@"ldap_enabled"]); - linphone_ldap_params_set_server(newLdapParams, [self stringForKey:@"ldap_server"].UTF8String); - linphone_ldap_params_set_bind_dn(newLdapParams, [self stringForKey:@"ldap_bind_dn"].UTF8String); - linphone_ldap_params_set_password(newLdapParams, [self stringForKey:@"ldap_password"].UTF8String); - - LinphoneLdapAuthMethod authMethod = [[self stringForKey:@"ldap_auth_method"] isEqualToString:@"simple"] ? LinphoneLdapAuthMethodSimple : LinphoneLdapAuthMethodAnonymous; - linphone_ldap_params_set_auth_method(newLdapParams, authMethod); - linphone_ldap_params_enable_tls(newLdapParams, [self boolForKey:@"ldap_tls_enabled"]); - - - LinphoneLdapCertVerificationMode certVerifMode = LinphoneLdapCertVerificationDefault; - NSString *certVerifModeStr = [self stringForKey:@"ldap_certificates_verification_mode"]; - if ([certVerifModeStr isEqualToString:@"enabled"]) - certVerifMode = LinphoneLdapCertVerificationEnabled; - else if ([certVerifModeStr isEqualToString:@"disabled"]) - certVerifMode = LinphoneLdapCertVerificationEnabled; - linphone_ldap_params_set_server_certificates_verification_mode(newLdapParams, certVerifMode); - - // Research parameters - linphone_ldap_params_set_base_object(newLdapParams, [self stringForKey:@"ldap_base_object"].UTF8String); - linphone_ldap_params_set_filter(newLdapParams, [self stringForKey:@"ldap_filter"].UTF8String); - linphone_ldap_params_set_max_results(newLdapParams, [self integerForKey:@"ldap_max_results"]); - linphone_ldap_params_set_timeout(newLdapParams, [self integerForKey:@"ldap_timeout"]); - linphone_ldap_params_set_delay(newLdapParams, [self integerForKey:@"ldap_delay"]); - linphone_ldap_params_set_min_chars(newLdapParams, [self integerForKey:@"ldap_min_chars"]); - - - - // Analysis parameters - linphone_ldap_params_set_name_attribute(newLdapParams, [self stringForKey:@"ldap_name_attribute"].UTF8String); - linphone_ldap_params_set_sip_attribute(newLdapParams, [self stringForKey:@"ldap_sip_attribute"].UTF8String); - linphone_ldap_params_set_sip_domain(newLdapParams, [self stringForKey:@"ldap_sip_domain"].UTF8String); - - // Miscellaneous parameters - LinphoneLdapDebugLevel debugLevel = [self boolForKey:@"ldap_logs_enabled"] ? LinphoneLdapDebugLevelVerbose : LinphoneLdapDebugLevelOff; - linphone_ldap_params_set_debug_level(newLdapParams, debugLevel); - - linphone_ldap_set_params(ldap, newLdapParams); -} - -- (BOOL)synchronize { - @try { - LinphoneManager *lm = LinphoneManager.instance; - - // root section - BOOL account_changed = NO; - for (NSString *key in self->changedDict) { - if ([key hasPrefix:@"account_"] && [self valueChangedForKey:key]) { - account_changed = YES; - break; - } - } - account_changed |= [self valueChangedForKey:@"port_preference"]; - account_changed |= [self valueChangedForKey:@"random_port_preference"]; - account_changed |= [self valueChangedForKey:@"use_ipv6"]; - - if (account_changed) - [self synchronizeAccounts]; - - bool enableVideo = [self boolForKey:@"enable_video_preference"]; - linphone_core_enable_video_capture(LC, enableVideo); - linphone_core_enable_video_display(LC, enableVideo); - - bool enableAutoAnswer = [self boolForKey:@"enable_auto_answer_preference"]; - [LinphoneManager.instance lpConfigSetBool:enableAutoAnswer forKey:@"auto_answer"]; - - // audio section - [self synchronizeCodecs:linphone_core_get_audio_codecs(LC)]; - - float playback_gain = [self floatForKey:@"playback_gain_preference"]; - linphone_core_set_playback_gain_db(LC, playback_gain); - - float mic_gain = [self floatForKey:@"microphone_gain_preference"]; - linphone_core_set_mic_gain_db(LC, mic_gain); - - [lm lpConfigSetInt:[self integerForKey:@"audio_codec_bitrate_limit_preference"] - forKey:@"codec_bitrate_limit" - inSection:@"audio"]; - - BOOL voice_processing = [self boolForKey:@"voiceproc_preference"]; - [lm lpConfigSetInt:voice_processing forKey:@"voiceproc_preference"]; - - BOOL equalizer = [self boolForKey:@"eq_active"]; - [lm lpConfigSetBool:equalizer forKey:@"eq_active" inSection:@"sound"]; - - [LinphoneManager.instance configureVbrCodecs]; - - NSString *au_device = @"AU: Audio Unit Receiver"; - if (!voice_processing) - au_device = @"AU: Audio Unit NoVoiceProc"; - - linphone_core_set_capture_device(LC, [au_device UTF8String]); - linphone_core_set_playback_device(LC, [au_device UTF8String]); - - // video section - [self synchronizeCodecs:linphone_core_get_video_codecs(LC)]; - - LinphoneVideoPolicy policy; - policy.automatically_initiate = [self boolForKey:@"start_video_preference"]; - policy.automatically_accept = [self boolForKey:@"accept_video_preference"]; - linphone_core_set_video_policy(LC, &policy); - linphone_core_enable_self_view(LC, [self boolForKey:@"self_video_preference"]); - BOOL preview_preference = IPAD && [self boolForKey:@"preview_preference"]; - [lm lpConfigSetInt:preview_preference forKey:@"preview_preference"]; - - NSString *videoPreset = [self stringForKey:@"video_preset_preference"]; - linphone_core_set_video_preset(LC, [videoPreset UTF8String]); - MSVideoSize vsize; - switch ([self integerForKey:@"video_preferred_size_preference"]) { - case 0: - MS_VIDEO_SIZE_ASSIGN(vsize, 720P); - break; - case 1: - MS_VIDEO_SIZE_ASSIGN(vsize, VGA); - break; - case 2: - default: - MS_VIDEO_SIZE_ASSIGN(vsize, QVGA); - break; - } - linphone_core_set_preferred_video_size(LC, vsize); - if (![videoPreset isEqualToString:@"custom"]) { - [self setInteger:0 forKey:@"video_preferred_fps_preference"]; - [self setInteger:0 forKey:@"download_bandwidth_preference"]; - } - linphone_core_set_preferred_framerate(LC, [self integerForKey:@"video_preferred_fps_preference"]); - linphone_core_set_download_bandwidth(LC, [self integerForKey:@"download_bandwidth_preference"]); - linphone_core_set_upload_bandwidth(LC, [self integerForKey:@"download_bandwidth_preference"]); - - // call section - linphone_core_set_use_rfc2833_for_dtmf(LC, [self boolForKey:@"rfc_dtmf_preference"]); - [lm lpConfigSetBool:[self boolForKey:@"use_device_ringtone"] forKey:@"use_device_ringtone"]; - [ProviderDelegate resetSharedProviderConfiguration]; - - linphone_core_set_use_info_for_dtmf(LC, [self boolForKey:@"sipinfo_dtmf_preference"]); - linphone_core_set_inc_timeout(LC, [self integerForKey:@"incoming_call_timeout_preference"]); - linphone_core_set_in_call_timeout(LC, [self integerForKey:@"in_call_timeout_preference"]); - [lm lpConfigSetString:[self stringForKey:@"voice_mail_uri_preference"] forKey:@"voice_mail_uri"]; - [lm lpConfigSetBool:[self boolForKey:@"repeat_call_notification_preference"] forKey:@"repeat_call_notification"]; - [lm lpConfigSetBool:[self boolForKey:@"pref_accept_early_media_preference"] forKey:@"pref_accept_early_media"]; - linphone_core_set_media_encryption_mandatory(LC, [self boolForKey:@"media_encrption_mandatory_preference"]); - - linphone_core_set_file_transfer_server(LC, [self stringForKey:@"file_transfer_server_url_preference"].UTF8String); - int maxSize; - NSString *downloadMode = [self stringForKey:@"auto_download_mode"]; - if ([downloadMode isEqualToString:@"Never"]) { - maxSize = -1; - } else if ([downloadMode isEqualToString:@"Always"]) { - maxSize = 0; - } else { - maxSize = [[self stringForKey:@"auto_download_incoming_files_max_size"] intValue]; - } - linphone_core_set_max_size_for_auto_download_incoming_files(LC, maxSize); - [lm lpConfigSetString:[self stringForKey:@"auto_download_mode"] forKey:@"auto_download_mode"]; - BOOL vfsPrefEnabled = [self boolForKey:@"vfs_enabled_mode"] || [VFSUtil vfsEnabledWithGroupName:kLinphoneMsgNotificationAppGroupId]; - if (vfsPrefEnabled && ![VFSUtil vfsEnabledWithGroupName:kLinphoneMsgNotificationAppGroupId]) { - if (TARGET_IPHONE_SIMULATOR) { - LOGW(@"[VFS] Can not active for simulators."); - [VFSUtil setVfsEnabbledWithEnabled:false groupName:kLinphoneMsgNotificationAppGroupId]; - [self setBool:FALSE forKey:@"vfs_enabled_mode"]; - } else if (![VFSUtil activateVFSForFirstTime:true]) { - [VFSUtil log:@"[VFS] Error unable to activate ! Warning disabling VFS enabled preference." :OS_LOG_TYPE_ERROR]; - [VFSUtil setVfsEnabbledWithEnabled:false groupName:kLinphoneMsgNotificationAppGroupId]; - [self setBool:FALSE forKey:@"vfs_enabled_mode"]; - } else { - [VFSUtil setVfsEnabbledWithEnabled:true groupName:kLinphoneMsgNotificationAppGroupId]; - [self setBool:TRUE forKey:@"vfs_enabled_mode"]; - } - } - [lm lpConfigSetBool:[self boolForKey:@"auto_write_to_gallery_mode"] forKey:@"auto_write_to_gallery_preference"]; - - // network section - BOOL edgeOpt = [self boolForKey:@"edge_opt_preference"]; - [lm lpConfigSetInt:edgeOpt forKey:@"edge_opt_preference"]; - - BOOL wifiOnly = [self boolForKey:@"wifi_only_preference"]; - [lm lpConfigSetInt:wifiOnly forKey:@"wifi_only_preference"]; - - LinphoneNatPolicy *LNP = linphone_core_get_nat_policy(LC); - - BOOL ice_preference = [self boolForKey:@"ice_preference"]; - linphone_nat_policy_enable_ice(LNP, ice_preference); - - linphone_nat_policy_enable_turn(LNP, [self boolForKey:@"turn_preference"]); - - NSString *stun_server = [self stringForKey:@"stun_preference"]; - if ([stun_server length] > 0) { - linphone_nat_policy_set_stun_server(LNP, [stun_server UTF8String]); - linphone_nat_policy_enable_stun(LNP, ice_preference); /*we always use STUN with ICE*/ - NSString *turn_username = [self stringForKey:@"turn_username"]; - NSString *turn_password = [self stringForKey:@"turn_password"]; - - if ([turn_username length] > 0) { - const LinphoneAuthInfo *turnAuthInfo = nil; - if ([turn_password length] > 0){ - turnAuthInfo = linphone_auth_info_new([turn_username UTF8String], NULL, [turn_password UTF8String], NULL, NULL, NULL); - linphone_core_add_auth_info(LC, turnAuthInfo); - } else - turnAuthInfo = linphone_core_find_auth_info(LC, NULL, [turn_username UTF8String], NULL); - - linphone_nat_policy_set_stun_server_username(LNP, [turn_username UTF8String]); - } - } else { - linphone_nat_policy_enable_stun(LNP, FALSE); - linphone_nat_policy_set_stun_server(LNP, NULL); - } - linphone_core_set_nat_policy(LC, LNP); - - NSString *audio_port_preference = [self stringForKey:@"audio_port_preference"]; - int audioMinPort, audioMaxPort; - [LinphoneCoreSettingsStore parsePortRange:audio_port_preference minPort:&audioMinPort maxPort:&audioMaxPort]; - linphone_core_set_audio_port_range(LC, audioMinPort, audioMaxPort); - - NSString *video_port_preference = [self stringForKey:@"video_port_preference"]; - int videoMinPort, videoMaxPort; - [LinphoneCoreSettingsStore parsePortRange:video_port_preference minPort:&videoMinPort maxPort:&videoMaxPort]; - linphone_core_set_video_port_range(LC, videoMinPort, videoMaxPort); - - NSString *menc = [self stringForKey:linphone_core_get_post_quantum_available() ? @"media_encryption_preference_pq_enabled" : @"media_encryption_preference"]; - if (menc && [menc compare:@"SRTP"] == NSOrderedSame) - linphone_core_set_media_encryption(LC, LinphoneMediaEncryptionSRTP); - else if (menc && [menc compare:@"ZRTP"] == NSOrderedSame) - linphone_core_set_media_encryption(LC, LinphoneMediaEncryptionZRTP); - else if (menc && [menc compare:@"DTLS"] == NSOrderedSame) - linphone_core_set_media_encryption(LC, LinphoneMediaEncryptionDTLS); - else { - linphone_core_set_media_encryption(LC, LinphoneMediaEncryptionNone); - [self setBool:FALSE forKey:@"media_encrption_mandatory_preference"]; - } - - linphone_core_enable_adaptive_rate_control(LC, [self boolForKey:@"adaptive_rate_control_preference"]); - - if ([self stringForKey:@"dns_server_preference"] != [lm lpConfigStringForKey:@"dns_server_ip"]) { - [lm lpConfigSetString:[self stringForKey:@"dns_server_preference"] forKey:@"dns_server_ip"]; - [lm setDnsServer]; - } - - [lm lpConfigSetString:[self stringForKey:@"local_push_ssids"] forKey:@"ssids" inSection:@"local_push"]; - /* if (@available(iOS 15.0, *)) { - [LocalPushManager.shared configureLocalPushWithCCoreConfig:lm.configDb]; - } else { - LOGW(@"Local push notifications not available for this ios version (iOS 15 minimum)"); - } */ - - - // tunnel section - if (linphone_core_tunnel_available()) { - NSString *lTunnelPrefMode = [self stringForKey:@"tunnel_mode_preference"]; - NSString *lTunnelPrefAddress = [self stringForKey:@"tunnel_address_preference"]; - int lTunnelPrefPort = [self integerForKey:@"tunnel_port_preference"]; - LinphoneTunnel *tunnel = linphone_core_get_tunnel(LC); - LinphoneTunnelMode mode = LinphoneTunnelModeDisable; - int lTunnelPort = 443; - if (lTunnelPrefPort) - lTunnelPort = lTunnelPrefPort; - - linphone_tunnel_clean_servers(tunnel); - if (lTunnelPrefAddress && [lTunnelPrefAddress length]) { - LinphoneTunnelConfig *ltc = linphone_tunnel_config_new(); - linphone_tunnel_config_set_host(ltc, [lTunnelPrefAddress UTF8String]); - linphone_tunnel_config_set_port(ltc, lTunnelPort); - linphone_tunnel_add_server(tunnel, ltc); - - if ([lTunnelPrefMode isEqualToString:@"off"]) - mode = LinphoneTunnelModeDisable; - else if ([lTunnelPrefMode isEqualToString:@"on"]) - mode = LinphoneTunnelModeEnable; - else if ([lTunnelPrefMode isEqualToString:@"auto"]) - mode = LinphoneTunnelModeAuto; - else - LOGE(@"Unexpected tunnel mode [%s]", [lTunnelPrefMode UTF8String]); - } - - [lm lpConfigSetString:lTunnelPrefMode forKey:@"tunnel_mode_preference"]; - linphone_tunnel_set_mode(tunnel, mode); - } - - // contacts section - BOOL push_presence = [self boolForKey:@"account_push_presence_preference"]; - if (push_presence) { - linphone_core_set_consolidated_presence([LinphoneManager getLc], LinphoneConsolidatedPresenceOnline); - } else { - linphone_core_set_consolidated_presence([LinphoneManager getLc], LinphoneConsolidatedPresenceOffline); - } - [lm lpConfigSetInt:push_presence forKey:@"account_push_presence_preference"]; - - BOOL ldap_changed = NO; - for (NSString *key in self->changedDict) { - if ([key hasPrefix:@"ldap_"] && [self valueChangedForKey:key]) { - ldap_changed = YES; - break; - } - } - if (ldap_changed) - [self synchronizeLdap]; - - // advanced section - BOOL animations = [self boolForKey:@"animations_preference"]; - [lm lpConfigSetInt:animations forKey:@"animations_preference"]; - - BOOL screenshot = [self boolForKey:@"screenshot_preference"]; - [lm lpConfigSetInt:screenshot forKey:@"screenshot_preference"]; - - BOOL broadcast = [self boolForKey:@"enable_broadcast_conference_feature"]; - [lm lpConfigSetInt:broadcast forKey:@"enable_broadcast_conference_feature"]; - - UIDevice *device = [UIDevice currentDevice]; - BOOL backgroundSupported = [device respondsToSelector:@selector(isMultitaskingSupported)] && [device isMultitaskingSupported]; - BOOL isbackgroundModeEnabled = backgroundSupported && [self boolForKey:@"backgroundmode_preference"]; - [lm lpConfigSetInt:isbackgroundModeEnabled forKey:@"backgroundmode_preference"]; - [lm lpConfigSetInt:[self integerForKey:@"start_at_boot_preference"] forKey:@"start_at_boot_preference"]; - [lm lpConfigSetInt:[self integerForKey:@"autoanswer_notif_preference"] forKey:@"autoanswer_notif_preference"]; - [lm lpConfigSetInt:[self integerForKey:@"show_msg_in_notif"] forKey:@"show_msg_in_notif"]; - - if ([self integerForKey:@"use_rls_presence"]) { - [self setInteger:0 forKey:@"use_rls_presence"]; - NSString *rls_uri = [lm lpConfigStringForKey:@"rls_uri" inSection:@"sip" withDefault:@"sips:rls@sip.linphone.org"]; - LinphoneAddress *rls_addr = linphone_address_new(rls_uri.UTF8String); - const char *rls_domain = linphone_address_get_domain(rls_addr); - - MSList *accountListToBeFreed = [LinphoneManager.instance createAccountsNotHiddenList]; - const MSList *accounts = accountListToBeFreed; - if (!accounts) // Enable it if no proxy config for first launch of app - [self setInteger:1 forKey:@"use_rls_presence"]; - else { - while (accounts) { - const char *proxy_domain = linphone_account_params_get_domain(linphone_account_get_params(accounts->data)); - if (strcmp(rls_domain, proxy_domain) == 0) { - [self setInteger:1 forKey:@"use_rls_presence"]; - break; - } - accounts = accounts->next; - } - } - linphone_address_unref(rls_addr); - bctbx_free(accountListToBeFreed); - } - - [lm lpConfigSetInt:[self integerForKey:@"use_rls_presence"] forKey:@"use_rls_presence"]; - linphone_core_enable_friend_list_subscription(LC, [self integerForKey:@"use_rls_presence"]); - - BOOL firstloginview = [self boolForKey:@"enable_first_login_view_preference"]; - [lm lpConfigSetInt:firstloginview forKey:@"enable_first_login_view_preference"]; - - NSString *displayname = [self stringForKey:@"primary_displayname_preference"]; - NSString *username = [self stringForKey:@"primary_username_preference"]; - LinphoneAddress *parsed = linphone_core_get_primary_contact_parsed(LC); - if (parsed != NULL) { - linphone_address_set_display_name(parsed, [displayname UTF8String]); - linphone_address_set_username(parsed, [username UTF8String]); - char *contact = linphone_address_as_string(parsed); - linphone_core_set_primary_contact(LC, contact); - ms_free(contact); - linphone_address_destroy(parsed); - } - [lm lpConfigSetInt:[self integerForKey:@"account_mandatory_advanced_preference"] forKey:@"account_mandatory_advanced_preference"]; - - changedDict = [[NSMutableDictionary alloc] init]; - - // Post event - NSDictionary *eventDic = [NSDictionary dictionaryWithObject:self forKey:@"settings"]; - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneSettingsUpdate object:self userInfo:eventDic]; - - return YES; - } @catch (NSException *exception) { - // may happen when application is terminated, since we are destroying the core - if ([exception.name isEqualToString:@"LinphoneCoreException"]) { - LOGE(@"Core already destroyed, settings not synchronized"); - return NO; - } - LOGE(@"Uncaught exception : %@", exception.description); - abort(); - } - return NO; -} - -- (void)removeAccount { - - MSList *accountList = [LinphoneManager.instance createAccountsNotHiddenList]; - LinphoneAccount *account = bctbx_list_nth_data(accountList, - [self integerForKey:@"current_proxy_config_preference"]); - - - const MSList *lists = linphone_core_get_friends_lists(LC); - while (lists) { - linphone_friend_list_enable_subscriptions(lists->data, FALSE); - linphone_friend_list_update_subscriptions(lists->data); - lists = lists->next; - } - BOOL isDefault = (linphone_core_get_default_account(LC) == account); - - const LinphoneAuthInfo *ai = linphone_account_find_auth_info(account); - linphone_core_remove_account(LC, account); - if (ai) { - // Friend list unsubscription above is not instantanous, so give a bit of a time margin before finishing the removal of the auth info - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - linphone_core_remove_auth_info(LC, ai); - }); - } - [self setInteger:-1 forKey:@"current_proxy_config_preference"]; - - if (isDefault) { - // if we removed the default proxy config, set another one instead - if (accountList != NULL) { - linphone_core_set_default_account(LC, (LinphoneAccount *)(accountList->data)); - } - } - [self transformLinphoneCoreToKeys]; - bctbx_free(accountList); -} - -- (void)removeLdap { - LinphoneLdap *ldap = bctbx_list_nth_data(linphone_core_get_ldap_list(LC), - [self integerForKey:@"current_ldap_index"]); - linphone_core_remove_ldap(LC, ldap); - [self transformLinphoneCoreToKeys]; -} -@end diff --git a/Classes/LinphoneManager.h b/Classes/LinphoneManager.h deleted file mode 100644 index 5524144f6..000000000 --- a/Classes/LinphoneManager.h +++ /dev/null @@ -1,226 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import -#import -#import -#import - -#import - -#import "IASKSettingsReader.h" -#import "IASKSettingsStore.h" -#import "IASKAppSettingsViewController.h" -#import "FastAddressBook.h" -#import "InAppProductsManager.h" - -#include "linphone/linphonecore.h" -#include "bctoolbox/list.h" -#import "OrderedDictionary.h" - - -extern NSString *const LINPHONERC_APPLICATION_KEY; - -extern NSString *const kLinphoneCoreUpdate; -extern NSString *const kLinphoneDisplayStatusUpdate; -extern NSString *const kLinphoneMessageReceived; -extern NSString *const kLinphoneTextComposeEvent; -extern NSString *const kLinphoneCallUpdate; -extern NSString *const kLinphoneRegistrationUpdate; -extern NSString *const kLinphoneMainViewChange; -extern NSString *const kLinphoneAddressBookUpdate; -extern NSString *const kLinphoneLogsUpdate; -extern NSString *const kLinphoneSettingsUpdate; -extern NSString *const kLinphoneBluetoothAvailabilityUpdate; -extern NSString *const kLinphoneConfiguringStateUpdate; -extern NSString *const kLinphoneGlobalStateUpdate; -extern NSString *const kLinphoneNotifyReceived; -extern NSString *const kLinphoneNotifyPresenceReceivedForUriOrTel; -extern NSString *const kLinphoneCallEncryptionChanged; -extern NSString *const kLinphoneFileTransferSendUpdate; -extern NSString *const kLinphoneFileTransferRecvUpdate; -extern NSString *const kLinphoneQRCodeFound; -extern NSString *const kLinphoneChatCreateViewChange; -extern NSString *const kLinphoneEphemeralMessageDeletedInRoom; -extern NSString *const kLinphoneVoiceMessagePlayerEOF; -extern NSString *const kLinphoneVoiceMessagePlayerLostFocus; -extern NSString *const kLinphoneConfStateParticipantListChanged; -extern NSString *const kLinphoneConfStateChanged; -extern NSString *const kLinphoneMagicSearchStarted; -extern NSString *const kLinphoneMagicSearchFinished; -extern NSString *const kLinphoneMagicSearchMoreAvailable; -extern NSString *const kDisplayModeChanged; -extern NSString *const kLinphoneAccountCreationAuthenticationTokenReceived; - - -extern NSString *const kLinphoneMsgNotificationAppGroupId; - -typedef enum _NetworkType { - network_none = 0, - network_2g, - network_3g, - network_4g, - network_lte, - network_wifi -} NetworkType; - -extern const int kLinphoneAudioVbrCodecDefaultBitrate; - -typedef struct _LinphoneManagerSounds { - SystemSoundID vibrate; -} LinphoneManagerSounds; - -@interface LinphoneManager : NSObject { -@protected - SCNetworkReachabilityRef proxyReachability; - -@private - NSTimer* mIterateTimer; - NSMutableArray* pushCallIDs; - - UIBackgroundTaskIdentifier pausedCallBgTask; - UIBackgroundTaskIdentifier incallBgTask; - UIBackgroundTaskIdentifier pushBgTaskRefer; - UIBackgroundTaskIdentifier pushBgTaskCall; - UIBackgroundTaskIdentifier pushBgTaskMsg; - CTCallCenter* mCallCenter; - NSDate *mLastKeepAliveDate; -} -+ (LinphoneManager*)instance; -#ifdef DEBUG -+ (void)instanceRelease; -#endif -+ (LinphoneCore*) getLc; -+ (BOOL)isLcInitialized; -+ (BOOL)runningOnIpad; -+ (BOOL)isNotIphone3G; -+ (NSString *)getPreferenceForCodec: (const char*) name withRate: (int) rate; -+ (BOOL)isCodecSupported: (const char*)codecName; -+ (NSSet *)unsupportedCodecs; -+ (NSString *)getUserAgent; -+ (int)unreadMessageCount; - -- (void)configurePushProviderForAccounts; -- (void)playMessageSound; -- (void)resetLinphoneCore; -- (void)launchLinphoneCore; -- (void)destroyLinphoneCore; -- (void)startLinphoneCore; -- (BOOL)resignActive; -- (void)becomeActive; -- (BOOL)enterBackgroundMode; -- (void)addPushCallId:(NSString*) callid; -- (BOOL)popPushCallID:(NSString*) callId; -- (void)acceptCallForCallId:(NSString*)callid; -+ (BOOL)langageDirectionIsRTL; - -- (void)refreshRegisters; - -- (void)configureVbrCodecs; - -+ (BOOL)copyFile:(NSString*)src destination:(NSString*)dst override:(BOOL)override ignore:(BOOL)ignore; -+ (PHFetchResult *)getPHAssets:(NSString *)key; -+ (NSString*)bundleFile:(NSString*)file; -+ (NSString *)preferenceFile:(NSString *)file; -+ (NSString *)documentFile:(NSString *)file; -+ (NSString*)dataFile:(NSString*)file; -+ (NSString*)cacheDirectory; -+ (NSString *)imagesDirectory; -+ (NSString *)validFilePath:(NSString *)name; -// migration -+ (NSString *)oldPreferenceFile:(NSString *)file; -+ (NSString *)oldDataFile:(NSString *)file; - -- (void)send:(NSString *)replyText toChatRoom:(LinphoneChatRoom *)room; -- (void)call:(const LinphoneAddress *)address; - -+(id)getMessageAppDataForKey:(NSString*)key inMessage:(LinphoneChatMessage*)msg; -+(void)setValueInMessageAppData:(id)value forKey:(NSString*)key inMessage:(LinphoneChatMessage*)msg; - -- (void)lpConfigSetString:(NSString*)value forKey:(NSString*)key; -- (void)lpConfigSetString:(NSString *)value forKey:(NSString *)key inSection:(NSString *)section; -- (NSString *)lpConfigStringForKey:(NSString *)key; -- (NSString *)lpConfigStringForKey:(NSString *)key inSection:(NSString *)section; -- (NSString *)lpConfigStringForKey:(NSString *)key withDefault:(NSString *)value; -- (NSString *)lpConfigStringForKey:(NSString *)key inSection:(NSString *)section withDefault:(NSString *)value; - -- (void)lpConfigSetInt:(int)value forKey:(NSString *)key; -- (void)lpConfigSetInt:(int)value forKey:(NSString *)key inSection:(NSString *)section; -- (int)lpConfigIntForKey:(NSString *)key; -- (int)lpConfigIntForKey:(NSString *)key inSection:(NSString *)section; -- (int)lpConfigIntForKey:(NSString *)key withDefault:(int)value; -- (int)lpConfigIntForKey:(NSString *)key inSection:(NSString *)section withDefault:(int)value; - -- (void)lpConfigSetBool:(BOOL)value forKey:(NSString*)key; -- (void)lpConfigSetBool:(BOOL)value forKey:(NSString *)key inSection:(NSString *)section; -- (BOOL)lpConfigBoolForKey:(NSString *)key; -- (BOOL)lpConfigBoolForKey:(NSString *)key inSection:(NSString *)section; -- (BOOL)lpConfigBoolForKey:(NSString *)key withDefault:(BOOL)value; -- (BOOL)lpConfigBoolForKey:(NSString *)key inSection:(NSString *)section withDefault:(BOOL)value; - -- (void)silentPushFailed:(NSTimer*)timer; - -- (MSList *) createAccountsNotHiddenList; // needs to be unref -- (void)removeAllAccounts; - -+ (BOOL)isMyself:(const LinphoneAddress *)addr; - -- (void)shouldPresentLinkPopup; - -- (void) setContactsUpdated:(BOOL) updated; -- (BOOL) getContactsUpdated; - -- (void)checkNewVersion; - -- (void)loadAvatar; -- (void)migrationPerAccount; - -- (void)setupGSMInteraction; -- (BOOL)isCTCallCenterExist; -- (void)checkLocalNetworkPermission; -- (void)setDnsServer; - -+ (BOOL) getChatroomPushEnabled:(LinphoneChatRoom *)chatroom; -+ (void) setChatroomPushEnabled:(LinphoneChatRoom *)chatroom withPushEnabled:(BOOL)enabled; - -@property (readonly) BOOL isTesting; -@property(readonly, strong) FastAddressBook *fastAddressBook; -@property (readonly) NetworkType network; -@property (readonly) const char* frontCamId; -@property (readonly) const char* backCamId; -@property(strong, nonatomic) NSString *SSID; -@property (readonly) sqlite3* database; -@property (readonly) LinphoneManagerSounds sounds; -@property (readonly) NSMutableArray *logs; -@property (readonly) NSString* contactSipField; -@property (readonly,copy) NSString* contactFilter; -@property (copy) void (^silentPushCompletion)(UIBackgroundFetchResult); -@property (readonly) BOOL wasRemoteProvisioned; -@property (readonly) LpConfig *configDb; -@property(readonly) InAppProductsManager *iapManager; -@property(strong, nonatomic) NSMutableArray *fileTransferDelegates; -@property BOOL conf; -@property NSDictionary *pushDict; -@property(strong, nonatomic) OrderedDictionary *linphoneManagerAddressBookMap; -@property (nonatomic, assign) BOOL contactsUpdated; -@property UIImage *avatar; -@property NSString *customCoreDNS; - -@end diff --git a/Classes/LinphoneManager.m b/Classes/LinphoneManager.m deleted file mode 100644 index fe19b2d5a..000000000 --- a/Classes/LinphoneManager.m +++ /dev/null @@ -1,2405 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include -#include -#include -#include - -#import "linphoneapp-Swift.h" -#import -#import -#import -#import -#import - -#import "LinphoneCoreSettingsStore.h" -#import "LinphoneAppDelegate.h" -#import "LinphoneManager.h" -#import "Utils/FileTransferDelegate.h" - -#include "linphone/factory.h" -#include "linphone/linphonecore_utils.h" -#include "linphone/lpconfig.h" -#include "mediastreamer2/mscommon.h" - -#import "LinphoneIOSVersion.h" - -#import "Utils.h" -#import "PhoneMainView.h" -#import "ChatsListView.h" -#import "ChatConversationView.h" -#import - -#define LINPHONE_LOGS_MAX_ENTRY 5000 - -static LinphoneCore *theLinphoneCore = nil; -static LinphoneManager *theLinphoneManager = nil; - -NSString *const LINPHONERC_APPLICATION_KEY = @"app"; - -NSString *const kLinphoneCoreUpdate = @"LinphoneCoreUpdate"; -NSString *const kLinphoneDisplayStatusUpdate = @"LinphoneDisplayStatusUpdate"; -NSString *const kLinphoneMessageReceived = @"LinphoneMessageReceived"; -NSString *const kLinphoneTextComposeEvent = @"LinphoneTextComposeStarted"; -NSString *const kLinphoneCallUpdate = @"LinphoneCallUpdate"; -NSString *const kLinphoneRegistrationUpdate = @"LinphoneRegistrationUpdate"; -NSString *const kLinphoneAddressBookUpdate = @"LinphoneAddressBookUpdate"; -NSString *const kLinphoneMainViewChange = @"LinphoneMainViewChange"; -NSString *const kLinphoneLogsUpdate = @"LinphoneLogsUpdate"; -NSString *const kLinphoneSettingsUpdate = @"LinphoneSettingsUpdate"; -NSString *const kLinphoneBluetoothAvailabilityUpdate = @"LinphoneBluetoothAvailabilityUpdate"; -NSString *const kLinphoneConfiguringStateUpdate = @"LinphoneConfiguringStateUpdate"; -NSString *const kLinphoneGlobalStateUpdate = @"LinphoneGlobalStateUpdate"; -NSString *const kLinphoneNotifyReceived = @"LinphoneNotifyReceived"; -NSString *const kLinphoneNotifyPresenceReceivedForUriOrTel = @"LinphoneNotifyPresenceReceivedForUriOrTel"; -NSString *const kLinphoneCallEncryptionChanged = @"LinphoneCallEncryptionChanged"; -NSString *const kLinphoneFileTransferSendUpdate = @"LinphoneFileTransferSendUpdate"; -NSString *const kLinphoneFileTransferRecvUpdate = @"LinphoneFileTransferRecvUpdate"; -NSString *const kLinphoneQRCodeFound = @"LinphoneQRCodeFound"; -NSString *const kLinphoneChatCreateViewChange = @"LinphoneChatCreateViewChange"; -NSString *const kLinphoneEphemeralMessageDeletedInRoom = @"LinphoneEphemeralMessageDeletedInRoom"; -NSString *const kLinphoneVoiceMessagePlayerEOF = @"LinphoneVoiceMessagePlayerEOF"; -NSString *const kLinphoneVoiceMessagePlayerLostFocus = @"LinphoneVoiceMessagePlayerLostFocus"; -NSString *const kLinphoneConfStateChanged = @"kLinphoneConfStateChanged"; -NSString *const kLinphoneConfStateParticipantListChanged = @"kLinphoneConfStateParticipantListChanged"; -NSString *const kLinphoneMagicSearchStarted = @"LinphoneMagicSearchStarted"; -NSString *const kLinphoneMagicSearchFinished = @"LinphoneMagicSearchFinished"; -NSString *const kLinphoneMagicSearchMoreAvailable = @"LinphoneMagicSearchMoreAvailable"; -NSString *const kDisplayModeChanged = @"DisplayModeChanged"; -NSString *const kLinphoneAccountCreationAuthenticationTokenReceived = @"LinphoneAccountCreationAuthenticationTokenReceived"; - -NSString *const kLinphoneMsgNotificationAppGroupId = @"group.org.linphone.phone.msgNotification"; - -const int kLinphoneAudioVbrCodecDefaultBitrate = 36; /*you can override this from linphonerc or linphonerc-factory*/ - -extern void libmsamr_init(MSFactory *factory); -extern void libmsopenh264_init(MSFactory *factory); -extern void libmssilk_init(MSFactory *factory); -extern void libmswebrtc_init(MSFactory *factory); -extern void libmscodec2_init(MSFactory *factory); - -#define FRONT_CAM_NAME \ - "AV Capture: com.apple.avfoundation.avcapturedevice.built-in_video:1" /*"AV Capture: Front Camera"*/ -#define BACK_CAM_NAME \ - "AV Capture: com.apple.avfoundation.avcapturedevice.built-in_video:0" /*"AV Capture: Back Camera"*/ - -NSString *const kLinphoneOldChatDBFilename = @"chat_database.sqlite"; -NSString *const kLinphoneInternalChatDBFilename = @"linphone_chats.db"; - -@interface LinphoneManager () - @property(strong, nonatomic) AVAudioPlayer *messagePlayer; -@end - -@implementation LinphoneManager - -struct codec_name_pref_table { - const char *name; - int rate; - const char *prefname; -}; - -struct codec_name_pref_table codec_pref_table[] = {{"speex", 8000, "speex_8k_preference"}, - {"speex", 16000, "speex_16k_preference"}, - {"silk", 24000, "silk_24k_preference"}, - {"silk", 16000, "silk_16k_preference"}, - {"amr", 8000, "amr_preference"}, - {"gsm", 8000, "gsm_preference"}, - {"ilbc", 8000, "ilbc_preference"}, - {"isac", 16000, "isac_preference"}, - {"pcmu", 8000, "pcmu_preference"}, - {"pcma", 8000, "pcma_preference"}, - {"g722", 8000, "g722_preference"}, - {"g729", 8000, "g729_preference"}, - {"mp4v-es", 90000, "mp4v-es_preference"}, - {"h264", 90000, "h264_preference"}, - {"h265", 90000, "h265_preference"}, - {"vp8", 90000, "vp8_preference"}, - {"mpeg4-generic", 16000, "aaceld_16k_preference"}, - {"mpeg4-generic", 22050, "aaceld_22k_preference"}, - {"mpeg4-generic", 32000, "aaceld_32k_preference"}, - {"mpeg4-generic", 44100, "aaceld_44k_preference"}, - {"mpeg4-generic", 48000, "aaceld_48k_preference"}, - {"opus", 48000, "opus_preference"}, - {"BV16", 8000, "bv16_preference"}, - {"CODEC2", 8000, "codec2_preference"}, - {NULL, 0, Nil}}; - -+ (NSString *)getPreferenceForCodec:(const char *)name withRate:(int)rate { - int i; - for (i = 0; codec_pref_table[i].name != NULL; ++i) { - if (strcasecmp(codec_pref_table[i].name, name) == 0 && codec_pref_table[i].rate == rate) - return [NSString stringWithUTF8String:codec_pref_table[i].prefname]; - } - return Nil; -} - -+ (NSSet *)unsupportedCodecs { - NSMutableSet *set = [NSMutableSet set]; - for (int i = 0; codec_pref_table[i].name != NULL; ++i) { - PayloadType *available = linphone_core_find_payload_type( - theLinphoneCore, codec_pref_table[i].name, codec_pref_table[i].rate, LINPHONE_FIND_PAYLOAD_IGNORE_CHANNELS); - if ((available == NULL) - // these two codecs should not be hidden, even if not supported - && strcmp(codec_pref_table[i].prefname, "h264_preference") != 0 && - strcmp(codec_pref_table[i].prefname, "mp4v-es_preference") != 0) { - [set addObject:[NSString stringWithUTF8String:codec_pref_table[i].prefname]]; - } - } - return set; -} - -+ (BOOL)isCodecSupported:(const char *)codecName { - return (codecName != NULL) && - (NULL != linphone_core_find_payload_type(theLinphoneCore, codecName, LINPHONE_FIND_PAYLOAD_IGNORE_RATE, - LINPHONE_FIND_PAYLOAD_IGNORE_CHANNELS)); -} - -+ (BOOL)runningOnIpad { - return ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad); -} - -+ (BOOL)isRunningTests { - NSDictionary *environment = [[NSProcessInfo processInfo] environment]; - NSString *injectBundle = environment[@"XCInjectBundle"]; - return [[injectBundle pathExtension] isEqualToString:@"xctest"]; -} - -+ (BOOL)isNotIphone3G { - static BOOL done = FALSE; - static BOOL result; - if (!done) { - size_t size; - sysctlbyname("hw.machine", NULL, &size, NULL, 0); - char *machine = malloc(size); - sysctlbyname("hw.machine", machine, &size, NULL, 0); - NSString *platform = [[NSString alloc] initWithUTF8String:machine]; - free(machine); - - result = ![platform isEqualToString:@"iPhone1,2"]; - - done = TRUE; - } - return result; -} - -+ (NSString *)getUserAgent { - return - [NSString stringWithFormat:@"LinphoneIphone/%@ (Linphone/%s; Apple %@/%@)", - [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey], - linphone_core_get_version(), [UIDevice currentDevice].systemName, - [UIDevice currentDevice].systemVersion]; -} - -+ (LinphoneManager *)instance { - @synchronized(self) { - if (theLinphoneManager == nil) { - theLinphoneManager = [[LinphoneManager alloc] init]; - } - } - return theLinphoneManager; -} - -#ifdef DEBUG -+ (void)instanceRelease { - if (theLinphoneManager != nil) { - theLinphoneManager = nil; - } -} -#endif - -+ (BOOL)langageDirectionIsRTL { - static NSLocaleLanguageDirection dir = NSLocaleLanguageDirectionLeftToRight; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - dir = [NSLocale characterDirectionForLanguage:[[NSLocale currentLocale] objectForKey:NSLocaleLanguageCode]]; - }); - return dir == NSLocaleLanguageDirectionRightToLeft; -} - -#pragma mark - Lifecycle Functions - -- (id)init { - if ((self = [super init])) { - - NSString *path = [[NSBundle mainBundle] pathForResource:@"msg" ofType:@"wav"]; - self.messagePlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL URLWithString:path] error:nil]; - - //_sounds.vibrate = kSystemSoundID_Vibrate; - - _logs = [[NSMutableArray alloc] init]; - _pushDict = [[NSMutableDictionary alloc] init]; - _database = NULL; - _conf = FALSE; - _fileTransferDelegates = [[NSMutableArray alloc] init]; - _linphoneManagerAddressBookMap = [[OrderedDictionary alloc] init]; - pushCallIDs = [[NSMutableArray alloc] init]; - _isTesting = [LinphoneManager isRunningTests]; - [self migrateImportantFiles]; - [self renameDefaultSettings]; - [self copyDefaultSettings]; - [self overrideDefaultSettings]; - - if (![self lpConfigBoolForKey:@"disable_chat_feature" withDefault:FALSE]) { - _sounds.vibrate = kSystemSoundID_Vibrate; - } - - if (![self lpConfigBoolForKey:@"migration_images_done" withDefault:FALSE]) { - [self migrationAllImages]; - } - - [self lpConfigSetString:[LinphoneManager dataFile:@"linphone.db"] forKey:@"uri" inSection:@"storage"]; - [self lpConfigSetString:[LinphoneManager dataFile:@"x3dh.c25519.sqlite3"] forKey:@"x3dh_db_path" inSection:@"lime"]; - // set default values for first boot - if ([self lpConfigStringForKey:@"debugenable_preference"] == nil) { -#ifdef DEBUG - [self lpConfigSetInt:1 forKey:@"debugenable_preference"]; -#else - [self lpConfigSetInt:0 forKey:@"debugenable_preference"]; -#endif - } - - // by default if handle_content_encoding is not set, we use plain text for debug purposes only - if ([self lpConfigStringForKey:@"handle_content_encoding" inSection:@"misc"] == nil) { -#ifdef DEBUG - [self lpConfigSetString:@"none" forKey:@"handle_content_encoding" inSection:@"misc"]; -#else - [self lpConfigSetString:@"conflate" forKey:@"handle_content_encoding" inSection:@"misc"]; -#endif - } - - if ([self lpConfigStringForKey:@"display_link_account_popup"] == nil) { - [self lpConfigSetBool:true forKey:@"display_link_account_popup"]; - } - - if ([self lpConfigStringForKey:@"hide_link_phone_number"] == nil) { - [self lpConfigSetInt:1 forKey:@"hide_link_phone_number"]; - } - - [self migrateFromUserPrefs]; - [self loadAvatar]; - } - return self; -} - -- (void)dealloc { - [NSNotificationCenter.defaultCenter removeObserver:self]; -} - -#pragma mark - Contacts Updated - -- (void) setContactsUpdated:(BOOL) updated{ - _contactsUpdated = updated; -} -- (BOOL) getContactsUpdated{ - return _contactsUpdated; -} - -#pragma deploymate push "ignored-api-availability" -- (void)silentPushFailed:(NSTimer *)timer { - if (_silentPushCompletion) { - LOGI(@"silentPush failed, silentPushCompletion block: %p", _silentPushCompletion); - _silentPushCompletion(UIBackgroundFetchResultNoData); - _silentPushCompletion = nil; - } -} -#pragma deploymate pop - -#pragma mark - Migration - -- (void)migrationAllPost { - [self migrationLinphoneSettings]; - [self migrationPerAccount]; -} - -- (void)migrationAllPre { - // migrate xmlrpc URL if needed - if ([self lpConfigBoolForKey:@"migration_xmlrpc"] == NO) { - [self lpConfigSetString:@"https://subscribe.linphone.org:444/wizard.php" - forKey:@"xmlrpc_url" - inSection:@"assistant"]; - [self lpConfigSetString:@"sip:rls@sip.linphone.org" forKey:@"rls_uri" inSection:@"sip"]; - [self lpConfigSetBool:YES forKey:@"migration_xmlrpc"]; - } - [self lpConfigSetBool:NO forKey:@"store_friends" inSection:@"misc"]; //so far, storing friends in files is not needed. may change in the future. - -} - -static int check_should_migrate_images(void *data, int argc, char **argv, char **cnames) { - *((BOOL *)data) = TRUE; - return 0; -} - -- (void)migrateFromUserPrefs { - static NSString *migration_flag = @"userpref_migration_done"; - - if (_configDb == nil) - return; - - if ([self lpConfigIntForKey:migration_flag withDefault:0]) { - return; - } - - NSDictionary *defaults = [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]; - NSArray *defaults_keys = [defaults allKeys]; - NSDictionary *values = - @{ @"backgroundmode_preference" : @NO, - @"debugenable_preference" : @NO, - @"start_at_boot_preference" : @YES }; - BOOL shouldSync = FALSE; - - LOGI(@"%lu user prefs", (unsigned long)[defaults_keys count]); - - for (NSString *userpref in values) { - if ([defaults_keys containsObject:userpref]) { - LOGI(@"Migrating %@ from user preferences: %d", userpref, [[defaults objectForKey:userpref] boolValue]); - [self lpConfigSetBool:[[defaults objectForKey:userpref] boolValue] forKey:userpref]; - [[NSUserDefaults standardUserDefaults] removeObjectForKey:userpref]; - shouldSync = TRUE; - } else if ([self lpConfigStringForKey:userpref] == nil) { - // no default value found in our linphonerc, we need to add them - [self lpConfigSetBool:[[values objectForKey:userpref] boolValue] forKey:userpref]; - } - } - - if (shouldSync) { - LOGI(@"Synchronizing..."); - [[NSUserDefaults standardUserDefaults] synchronize]; - } - // don't get back here in the future - [self lpConfigSetBool:YES forKey:migration_flag]; -} - -- (void)migrationLinphoneSettings { - NSString *appDomain = [LinphoneManager.instance lpConfigStringForKey:@"domain_name" - inSection:@"app" - withDefault:@"sip.linphone.org"]; - - /* AVPF migration */ - if ([self lpConfigBoolForKey:@"avpf_migration_done"] == FALSE) { - const MSList *accounts = linphone_core_get_account_list(theLinphoneCore); - while (accounts) - { - LinphoneAccount *account = (LinphoneAccount *)accounts->data; - LinphoneAccountParams *newAccountParams = linphone_account_params_clone(linphone_account_get_params(account)); - const char *addr = linphone_account_params_get_server_addr(newAccountParams); - // we want to enable AVPF for the proxies - if (addr && - strstr(addr, [LinphoneManager.instance lpConfigStringForKey:@"domain_name" - inSection:@"app" - withDefault:@"sip.linphone.org"] - .UTF8String) != 0) { - LOGI(@"Migrating proxy config to use AVPF"); - linphone_account_params_set_avpf_mode(newAccountParams, LinphoneAVPFEnabled); - linphone_account_set_params(account, newAccountParams); - } - accounts = accounts->next; - linphone_account_params_unref(newAccountParams); - } - [self lpConfigSetBool:TRUE forKey:@"avpf_migration_done"]; - } - /* Quality Reporting migration */ - if ([self lpConfigBoolForKey:@"quality_report_migration_done"] == FALSE) { - const MSList *accounts = linphone_core_get_account_list(theLinphoneCore); - while (accounts) - { - LinphoneAccount *account = (LinphoneAccount *)accounts->data; - LinphoneAccountParams *newAccountParams = linphone_account_params_clone(linphone_account_get_params(account)); - const char *addr = linphone_account_params_get_server_addr(newAccountParams); - // we want to enable quality reporting for the proxies that are on linphone.org - if (addr && - strstr(addr, [LinphoneManager.instance lpConfigStringForKey:@"domain_name" - inSection:@"app" - withDefault:@"sip.linphone.org"] - .UTF8String) != 0) { - LOGI(@"Migrating proxy config to send quality report"); - - linphone_account_params_set_quality_reporting_collector( - newAccountParams, "sip:voip-metrics@sip.linphone.org;transport=tls"); - linphone_account_params_set_quality_reporting_interval(newAccountParams, 180); - linphone_account_params_set_quality_reporting_enabled(newAccountParams, TRUE); - linphone_account_set_params(account, newAccountParams); - } - accounts = accounts->next; - linphone_account_params_unref(newAccountParams); - } - [self lpConfigSetBool:TRUE forKey:@"quality_report_migration_done"]; - } - /* File transfer migration */ - if ([self lpConfigBoolForKey:@"file_transfer_migration_done"] == FALSE) { - const char *newURL = "https://www.linphone.org:444/lft.php"; - LOGI(@"Migrating sharing server url from %s to %s", linphone_core_get_file_transfer_server(LC), newURL); - linphone_core_set_file_transfer_server(LC, newURL); - [self lpConfigSetBool:TRUE forKey:@"file_transfer_migration_done"]; - } - - if ([self lpConfigBoolForKey:@"lime_migration_done"] == FALSE) { - const MSList *accounts = linphone_core_get_account_list(theLinphoneCore); - while (accounts) - { - if (!strcmp(linphone_account_params_get_domain(linphone_account_get_params((LinphoneAccount *)accounts->data)),"sip.linphone.org")) { - linphone_core_set_lime_x3dh_server_url(LC, "https://lime.linphone.org/lime-server/lime-server.php"); - break; - } - accounts = accounts->next; - } - [self lpConfigSetBool:TRUE forKey:@"lime_migration_done"]; - } - - if ([self lpConfigBoolForKey:@"push_notification_migration_done"] == FALSE) { - const MSList *accounts = linphone_core_get_account_list(theLinphoneCore); - bool_t pushEnabled; - while (accounts) - { - LinphoneAccount *account = (LinphoneAccount *)accounts->data; - LinphoneAccountParams *newAccountParams = linphone_account_params_clone(linphone_account_get_params(account)); - const char *refkey = linphone_account_params_get_ref_key(newAccountParams); - if (refkey) { - pushEnabled = (strcmp(refkey, "push_notification") == 0); - } else { - pushEnabled = true; - } - linphone_account_params_set_push_notification_allowed(newAccountParams, pushEnabled); - linphone_account_params_set_remote_push_notification_allowed(newAccountParams, pushEnabled); - linphone_account_set_params(account, newAccountParams); - linphone_account_params_unref(newAccountParams); - accounts = accounts->next; - } - [self lpConfigSetBool:TRUE forKey:@"push_notification_migration_done"]; - } - if ([self lpConfigBoolForKey:@"publish_enabled_migration_done"] == FALSE) { - const MSList *accounts = linphone_core_get_account_list(theLinphoneCore); - linphone_core_set_log_collection_upload_server_url(LC, "https://www.linphone.org:444/lft.php"); - [self lpConfigSetBool:TRUE forKey:@"update_presence_model_timestamp_before_publish_expires_refresh"]; - - while (accounts) - { - LinphoneAccount *account = (LinphoneAccount *)accounts->data; - LinphoneAccountParams *newAccountParams = linphone_account_params_clone(linphone_account_get_params(account)); - - if (strcmp(appDomain.UTF8String, linphone_account_params_get_domain(newAccountParams)) == 0) { - linphone_account_params_set_publish_enabled(newAccountParams, true); - linphone_account_params_set_publish_expires(newAccountParams, 120); - linphone_account_set_params(account, newAccountParams); - } - linphone_account_params_unref(newAccountParams); - accounts = accounts->next; - } - [self lpConfigSetBool:TRUE forKey:@"publish_enabled_migration_done"]; - } - - linphone_core_set_video_codec_priority_policy(LC, LinphoneCodecPriorityPolicyAuto); -} - -- (void)migrationPerAccount { - const MSList *accounts = linphone_core_get_account_list(theLinphoneCore); - NSString *appDomain = [LinphoneManager.instance lpConfigStringForKey:@"domain_name" - inSection:@"app" - withDefault:@"sip.linphone.org"]; - while (accounts) { - LinphoneAccount *account = accounts->data; - LinphoneAccountParams *newAccountParams = linphone_account_params_clone(linphone_account_get_params(account)); - - if (strcmp(appDomain.UTF8String, linphone_account_params_get_domain(newAccountParams)) == 0) { - // can not create group chat without conference factory - if (!linphone_account_params_get_conference_factory_uri(newAccountParams)) { - linphone_account_params_set_conference_factory_uri(newAccountParams, "sip:conference-factory@sip.linphone.org"); - linphone_account_set_params(account, newAccountParams); - } - - if (!linphone_account_params_get_audio_video_conference_factory_address(newAccountParams)) { - NSString *uri = [self lpConfigStringForKey:@"default_audio_video_conference_factory_uri" withDefault:@"sip:videoconference-factory2@sip.linphone.org"]; - LinphoneAddress *a = linphone_factory_create_address(linphone_factory_get(), uri.UTF8String); - if (a) { - linphone_account_params_set_audio_video_conference_factory_address(newAccountParams, a); - linphone_account_set_params(account, newAccountParams); - } - } - - /* - if (!linphone_account_params_rtp_bundle_enabled(newAccountParams)) { - linphone_account_params_enable_rtp_bundle(newAccountParams, true); - linphone_account_set_params(account,newAccountParams); - } - */ - - LOGI(@"Setting the sip 'expires' parameters of existing account to 1 year (31536000 seconds)"); - linphone_account_params_set_expires(newAccountParams, 31536000); - } - linphone_account_params_unref(newAccountParams); - accounts = accounts->next; - } - - NSString *s = [self lpConfigStringForKey:@"pushnotification_preference"]; - if (s && s.boolValue) { - LOGI(@"Migrating push notification per account, enabling for ALL"); - [self lpConfigSetBool:NO forKey:@"pushnotification_preference"]; - const MSList *accounts = linphone_core_get_account_list(theLinphoneCore); - while (accounts) { - LinphoneAccount *account = accounts->data; - LinphoneAccountParams *newAccountParams = linphone_account_params_clone(linphone_account_get_params(account)); - linphone_account_params_set_push_notification_allowed(newAccountParams, true); - linphone_account_params_set_remote_push_notification_allowed(newAccountParams, true); - linphone_account_set_params(account, newAccountParams); - linphone_account_params_unref(newAccountParams); - accounts = accounts->next; - } - } -} - -static void migrateWizardToAssistant(const char *entry, void *user_data) { - LinphoneManager *thiz = (__bridge LinphoneManager *)(user_data); - NSString *key = [NSString stringWithUTF8String:entry]; - [thiz lpConfigSetString:[thiz lpConfigStringForKey:key inSection:@"wizard"] forKey:key inSection:@"assistant"]; -} - -#pragma mark - Linphone Core Functions - -+ (LinphoneCore *)getLc { - if (theLinphoneCore == nil) { - @throw([NSException exceptionWithName:@"LinphoneCoreException" - reason:@"Linphone core not initialized yet" - userInfo:nil]); - } - return theLinphoneCore; -} - -+ (BOOL)isLcInitialized { - if (theLinphoneCore == nil) { - return NO; - } - return YES; -} - -#pragma mark Debug functions - -+ (void)dumpLcConfig { - if (theLinphoneCore) { - LpConfig *conf = LinphoneManager.instance.configDb; - char *config = linphone_config_dump(conf); - LOGI(@"\n%s", config); - ms_free(config); - } -} - -#pragma mark - Logs Functions handlers -static void linphone_iphone_log_user_info(struct _LinphoneCore *lc, const char *message) { - linphone_iphone_log_handler(NULL, ORTP_MESSAGE, message, NULL); -} -static void linphone_iphone_log_user_warning(struct _LinphoneCore *lc, const char *message) { - linphone_iphone_log_handler(NULL, ORTP_WARNING, message, NULL); -} - -#pragma mark - Display Status Functions - -- (void)displayStatus:(NSString *)message { - // Post event - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneDisplayStatusUpdate - object:self - userInfo:@{ - @"message" : message - }]; -} - -static void linphone_iphone_display_status(struct _LinphoneCore *lc, const char *message) { - NSString *status = [[NSString alloc] initWithCString:message encoding:[NSString defaultCStringEncoding]]; - [(__bridge LinphoneManager *)linphone_core_cbs_get_user_data(linphone_core_get_current_callbacks(lc)) displayStatus:status]; -} - -#pragma mark - Call State Functions - -- (void)localNotifContinue:(NSTimer *)timer { - UILocalNotification *notif = [timer userInfo]; - if (notif) { - LOGI(@"cancelling/presenting local notif"); - [[UIApplication sharedApplication] cancelAllLocalNotifications]; - [[UIApplication sharedApplication] presentLocalNotificationNow:notif]; - } -} - -- (void)userNotifContinue:(NSTimer *)timer { - UNNotificationContent *content = [timer userInfo]; - if (content && [UIApplication sharedApplication].applicationState != UIApplicationStateActive) { - LOGI(@"cancelling/presenting user notif"); - UNNotificationRequest *req = - [UNNotificationRequest requestWithIdentifier:@"call_request" content:content trigger:NULL]; - [[UNUserNotificationCenter currentNotificationCenter] addNotificationRequest:req - withCompletionHandler:^(NSError *_Nullable error) { - // Enable or disable features based on authorization. - if (error) { - LOGD(@"Error while adding notification request :"); - LOGD(error.description); - } - }]; - } -} - -#pragma mark - Ephemeral State Functions -static void linphone_iphone_ephemeral_message_deleted(LinphoneCore *lc, LinphoneChatRoom *cr) { - LinphoneManager *lm = (__bridge LinphoneManager *)linphone_core_cbs_get_user_data(linphone_core_get_current_callbacks(lc)); - NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:[NSValue valueWithPointer:cr], @"room", nil]; - - // dispatch the notification asynchronously - dispatch_async(dispatch_get_main_queue(), ^(void) { - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneEphemeralMessageDeletedInRoom object:lm userInfo:dict]; - }); - -} - -#pragma mark - Transfert State Functions - -static void linphone_iphone_transfer_state_changed(LinphoneCore *lc, LinphoneCall *call, LinphoneCallState state) { -} - -#pragma mark - Global state change - -static void linphone_iphone_global_state_changed(LinphoneCore *lc, LinphoneGlobalState gstate, const char *message) { - [(__bridge LinphoneManager *)linphone_core_cbs_get_user_data(linphone_core_get_current_callbacks(lc)) onGlobalStateChanged:gstate withMessage:message]; -} - -- (void)onGlobalStateChanged:(LinphoneGlobalState)state withMessage:(const char *)message { - LOGI(@"onGlobalStateChanged: %d (message: %s)", state, message); - - NSDictionary *dict = [NSDictionary - dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:state], @"state", - [NSString stringWithUTF8String:message ? message : ""], @"message", nil]; - // dispatch the notification asynchronously - dispatch_async(dispatch_get_main_queue(), ^(void) { - if (theLinphoneCore && linphone_core_get_global_state(theLinphoneCore) != LinphoneGlobalOff) - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneGlobalStateUpdate object:self userInfo:dict]; - }); - - if (state == LinphoneGlobalOn) { - // reload friends - [self.fastAddressBook fetchContactsInBackGroundThread]; - /*if (@available(iOS 15.0, *)) { - [LocalPushManager.shared configureLocalPushWithCCoreConfig:linphone_core_get_config(LC)]; - } else { - LOGW(@"Local push notifications not available for this ios version (iOS 15 minimum)"); - }*/ - } -} - -- (void)globalStateChangedNotificationHandler:(NSNotification *)notif { - if ((LinphoneGlobalState)[[[notif userInfo] valueForKey:@"state"] integerValue] == LinphoneGlobalOn) { - [self finishCoreConfiguration]; - } -} - -#pragma mark - Configuring status changed - -static void linphone_iphone_configuring_status_changed(LinphoneCore *lc, LinphoneConfiguringState status, - const char *message) { - [(__bridge LinphoneManager *)linphone_core_cbs_get_user_data(linphone_core_get_current_callbacks(lc)) onConfiguringStatusChanged:status withMessage:message]; -} - -- (void)onConfiguringStatusChanged:(LinphoneConfiguringState)status withMessage:(const char *)message { - LOGI(@"onConfiguringStatusChanged: %s %@", linphone_configuring_state_to_string(status), - message ? [NSString stringWithFormat:@"(message: %s)", message] : @""); - NSDictionary *dict = [NSDictionary - dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:status], @"state", - [NSString stringWithUTF8String:message ? message : ""], @"message", nil]; - - // dispatch the notification asynchronously - dispatch_async(dispatch_get_main_queue(), ^(void) { - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneConfiguringStateUpdate - object:self - userInfo:dict]; - }); - - if (status == LinphoneConfiguringSuccessful) { - /*if (@available(iOS 15.0, *)) { - [LocalPushManager.shared configureLocalPushWithCCoreConfig:linphone_core_get_config(LC)]; - } else { - LOGW(@"Local push notifications not available for this ios version (iOS 15 minimum)"); - }*/ - } -} - -#pragma mark - Registration State Functions - -- (void)onRegister:(LinphoneCore *)lc -account:(LinphoneAccount *)account -state:(LinphoneRegistrationState)state -message:(const char *)cmessage { - LOGI(@"New registration state: %s (message: %s)", linphone_registration_state_to_string(state), cmessage); - - LinphoneReason reason = linphone_account_get_error(account); - NSString *message = nil; - switch (reason) { - case LinphoneReasonBadCredentials: - message = NSLocalizedString(@"Bad credentials, check your account settings", nil); - break; - case LinphoneReasonNoResponse: - message = NSLocalizedString(@"No response received from remote", nil); - break; - case LinphoneReasonUnsupportedContent: - message = NSLocalizedString(@"Unsupported content", nil); - break; - case LinphoneReasonIOError: - message = NSLocalizedString( - @"Cannot reach the server: either it is an invalid address or it may be temporary down.", nil); - break; - - case LinphoneReasonUnauthorized: - message = NSLocalizedString(@"Operation is unauthorized because missing credential", nil); - break; - case LinphoneReasonNoMatch: - message = NSLocalizedString(@"Operation could not be executed by server or remote client because it " - @"didn't have any context for it", - nil); - break; - case LinphoneReasonMovedPermanently: - message = NSLocalizedString(@"Resource moved permanently", nil); - break; - case LinphoneReasonGone: - message = NSLocalizedString(@"Resource no longer exists", nil); - break; - case LinphoneReasonTemporarilyUnavailable: - message = NSLocalizedString(@"Temporarily unavailable", nil); - break; - case LinphoneReasonAddressIncomplete: - message = NSLocalizedString(@"Address incomplete", nil); - break; - case LinphoneReasonNotImplemented: - message = NSLocalizedString(@"Not implemented", nil); - break; - case LinphoneReasonBadGateway: - message = NSLocalizedString(@"Bad gateway", nil); - break; - case LinphoneReasonServerTimeout: - message = NSLocalizedString(@"Server timeout", nil); - break; - case LinphoneReasonNotAcceptable: - case LinphoneReasonDoNotDisturb: - case LinphoneReasonDeclined: - case LinphoneReasonNotFound: - case LinphoneReasonNotAnswered: - case LinphoneReasonBusy: - case LinphoneReasonNone: - case LinphoneReasonUnknown: - message = NSLocalizedString(@"Unknown error", nil); - break; - } - - // Post event - NSDictionary *dict = - [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:state], @"state", - [NSValue valueWithPointer:account], @"account", message, @"message", nil]; - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneRegistrationUpdate object:self userInfo:dict]; -} - -static void linphone_iphone_registration_state(LinphoneCore *lc, LinphoneAccount *account, - LinphoneRegistrationState state, const char *message) { - [(__bridge LinphoneManager *)linphone_core_cbs_get_user_data(linphone_core_get_current_callbacks(lc)) onRegister:lc account:account state:state message:message]; -} - -#pragma mark - Auth info Function - -static void linphone_iphone_popup_password_request(LinphoneCore *lc, LinphoneAuthInfo *auth_info, LinphoneAuthMethod method) { - // let the wizard handle its own errors - if ([PhoneMainView.instance currentView] != AssistantView.compositeViewDescription) { - const char * realmC = linphone_auth_info_get_realm(auth_info); - const char * usernameC = linphone_auth_info_get_username(auth_info) ? : ""; - const char * domainC = linphone_auth_info_get_domain(auth_info) ? : ""; - static UIAlertController *alertView = nil; - - // InstantMessageDeliveryNotifications from previous accounts can trigger some pop-up spam asking for indentification - // Try to filter the popup password request to avoid displaying those that do not matter and can be handled through a simple warning - const MSList *accountList = linphone_core_get_account_list(LC); - bool foundMatchingConfig = false; - while (accountList && !foundMatchingConfig) { - LinphoneAccountParams const *accountParams = linphone_account_get_params(accountList->data); - const char * configUsername = linphone_address_get_username(linphone_account_params_get_identity_address(accountParams)); - const char * configDomain = linphone_account_params_get_domain(accountParams); - foundMatchingConfig = (strcmp(configUsername, usernameC) == 0) && (strcmp(configDomain, domainC) == 0); - accountList = accountList->next; - } - if (!foundMatchingConfig) { - LOGW(@"Received an authentication request from %s@%s, but ignored it did not match any current user", usernameC, domainC); - return; - } - - // avoid having multiple popups - [PhoneMainView.instance dismissViewControllerAnimated:YES completion:nil]; - - // dont pop up if we are in background, in any case we will refresh registers when entering - // the application again - if ([[UIApplication sharedApplication] applicationState] != UIApplicationStateActive) { - return; - } - - NSString *realm = [NSString stringWithUTF8String:realmC?:domainC]; - NSString *username = [NSString stringWithUTF8String:usernameC]; - NSString *domain = [NSString stringWithUTF8String:domainC]; - alertView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Authentification needed", nil) - message:[NSString stringWithFormat:NSLocalizedString(@"Connection failed because authentication is " - @"missing or invalid for %@@%@.\nYou can " - @"provide password again, or check your " - @"account configuration in the settings.", nil), username, realm] - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Cancel", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [alertView addTextFieldWithConfigurationHandler:^(UITextField *textField) { - textField.placeholder = NSLocalizedString(@"Password", nil); - textField.clearButtonMode = UITextFieldViewModeWhileEditing; - textField.borderStyle = UITextBorderStyleRoundedRect; - textField.secureTextEntry = YES; - }]; - - UIAlertAction* continueAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Confirm password", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) { - NSString *password = alertView.textFields[0].text; - LinphoneAuthInfo *info = - linphone_auth_info_new(username.UTF8String, NULL, password.UTF8String, NULL, - realm.UTF8String, domain.UTF8String); - linphone_core_add_auth_info(LC, info); - [LinphoneManager.instance refreshRegisters]; - }]; - - UIAlertAction* settingsAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Go to settings", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) { - [PhoneMainView.instance changeCurrentView:SettingsView.compositeViewDescription]; - }]; - - [alertView addAction:defaultAction]; - [alertView addAction:continueAction]; - [alertView addAction:settingsAction]; - [PhoneMainView.instance presentViewController:alertView animated:YES completion:nil]; - } -} - -#pragma mark - Text Received Functions - -- (void)onMessageReceived:(LinphoneCore *)lc room:(LinphoneChatRoom *)room message:(LinphoneChatMessage *)msg { -#pragma deploymate push "ignored-api-availability" - if (_silentPushCompletion) { - // we were woken up by a silent push. Call the completion handler with NEWDATA - // so that the push is notified to the user - LOGI(@"onMessageReceived - handler %p", _silentPushCompletion); - _silentPushCompletion(UIBackgroundFetchResultNewData); - _silentPushCompletion = nil; - } -#pragma deploymate pop - NSString *callID = [NSString stringWithUTF8String:linphone_chat_message_get_custom_header(msg, "Call-ID")]; - - int index = [(NSNumber *)[_pushDict objectForKey:callID] intValue] - 1; - LOGI(@"Decrementing index of long running task for call id : %@ with index : %d", callID, index); - [_pushDict setValue:[NSNumber numberWithInt:index] forKey:callID]; - BOOL need_bg_task = FALSE; - for (NSString *key in [_pushDict allKeys]) { - int value = [(NSNumber *)[_pushDict objectForKey:key] intValue]; - if (value > 0) { - need_bg_task = TRUE; - break; - } - } - if (pushBgTaskMsg && !need_bg_task) { - LOGI(@"Message received, stopping message background task for call-id [%@]", callID); - [[UIApplication sharedApplication] endBackgroundTask:pushBgTaskMsg]; - pushBgTaskMsg = 0; - } - - BOOL hasFile = FALSE; - // if auto_download is available and file is downloaded - if ((linphone_core_get_max_size_for_auto_download_incoming_files(LC) > -1) && linphone_chat_message_get_file_transfer_information(msg)) - hasFile = TRUE; - - if (!linphone_chat_message_is_file_transfer(msg) && !linphone_chat_message_is_text(msg) && !hasFile && ![ICSBubbleView isConferenceInvitationMessageWithCmessage:msg]) - return; - - if (hasFile) { - if (PhoneMainView.instance.currentView == ChatConversationViewSwift.compositeViewDescription && room == PhoneMainView.instance.currentRoom) - return; - [self autoDownload:msg]; - } - - // Post event - NSDictionary *dict = @{ - @"room" : [NSValue valueWithPointer:room], - @"from_address" : [NSValue valueWithPointer:linphone_chat_message_get_from_address(msg)], - @"message" : [NSValue valueWithPointer:msg], - @"call-id" : callID - }; - - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneMessageReceived object:self userInfo:dict]; -} - -- (void)autoDownload:(LinphoneChatMessage *)message { - LinphoneContent *content = linphone_chat_message_get_file_transfer_information(message); - NSString *name = [NSString stringWithUTF8String:linphone_content_get_name(content)]; - NSString *fileType = [NSString stringWithUTF8String:linphone_content_get_type(content)]; - NSString *key = [ChatConversationViewSwift getKeyFromFileType:fileType fileName:name]; - - [LinphoneManager setValueInMessageAppData:name forKey:key inMessage:message]; - dispatch_async(dispatch_get_main_queue(), ^{ - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneMessageReceived object:VIEW(ChatConversationViewSwift)]; - if (![VFSUtil vfsEnabledWithGroupName:kLinphoneMsgNotificationAppGroupId] && [ConfigManager.instance lpConfigBoolForKeyWithKey:@"auto_write_to_gallery_preference"]) { - [ChatConversationViewSwift writeMediaToGalleryFromName:name fileType:fileType]; - } - }); -} - -static void linphone_iphone_message_received(LinphoneCore *lc, LinphoneChatRoom *room, LinphoneChatMessage *message) { - [(__bridge LinphoneManager *)linphone_core_cbs_get_user_data(linphone_core_get_current_callbacks(lc)) onMessageReceived:lc room:room message:message]; -} - -static void linphone_iphone_message_received_unable_decrypt(LinphoneCore *lc, LinphoneChatRoom *room, - LinphoneChatMessage *message) { -} - -- (void)onNotifyReceived:(LinphoneCore *)lc -event:(LinphoneEvent *)lev -notifyEvent:(const char *)notified_event -content:(const LinphoneContent *)body { - // Post event - NSMutableDictionary *dict = [NSMutableDictionary dictionary]; - [dict setObject:[NSValue valueWithPointer:lev] forKey:@"event"]; - [dict setObject:[NSString stringWithUTF8String:notified_event] forKey:@"notified_event"]; - if (body != NULL) { - [dict setObject:[NSValue valueWithPointer:body] forKey:@"content"]; - } - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneNotifyReceived object:self userInfo:dict]; -} - -static void linphone_iphone_notify_received(LinphoneCore *lc, LinphoneEvent *lev, const char *notified_event, - const LinphoneContent *body) { - [(__bridge LinphoneManager *)linphone_core_cbs_get_user_data(linphone_core_get_current_callbacks(lc)) onNotifyReceived:lc - event:lev - notifyEvent:notified_event - content:body]; -} - -- (void)onNotifyPresenceReceivedForUriOrTel:(LinphoneCore *)lc -friend:(LinphoneFriend *)lf -uri:(const char *)uri -presenceModel:(const LinphonePresenceModel *)model { - // Post event - NSMutableDictionary *dict = [NSMutableDictionary dictionary]; - [dict setObject:[NSValue valueWithPointer:lf] forKey:@"friend"]; - [dict setObject:[NSValue valueWithPointer:uri] forKey:@"uri"]; - [dict setObject:[NSValue valueWithPointer:model] forKey:@"presence_model"]; - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneNotifyPresenceReceivedForUriOrTel - object:self - userInfo:dict]; -} - -static void linphone_iphone_notify_presence_received_for_uri_or_tel(LinphoneCore *lc, LinphoneFriend *lf, - const char *uri_or_tel, - const LinphonePresenceModel *presence_model) { - [(__bridge LinphoneManager *)linphone_core_cbs_get_user_data(linphone_core_get_current_callbacks(lc)) onNotifyPresenceReceivedForUriOrTel:lc - friend:lf - uri:uri_or_tel - presenceModel:presence_model]; -} - -static void linphone_iphone_call_encryption_changed(LinphoneCore *lc, LinphoneCall *call, bool_t on, - const char *authentication_token) { - [(__bridge LinphoneManager *)linphone_core_cbs_get_user_data(linphone_core_get_current_callbacks(lc)) onCallEncryptionChanged:lc - call:call - on:on - token:authentication_token]; -} - -- (void)onCallEncryptionChanged:(LinphoneCore *)lc -call:(LinphoneCall *)call -on:(BOOL)on -token:(const char *)authentication_token { - // Post event - NSMutableDictionary *dict = [NSMutableDictionary dictionary]; - [dict setObject:[NSValue valueWithPointer:call] forKey:@"call"]; - [dict setObject:[NSNumber numberWithBool:on] forKey:@"on"]; - if (authentication_token) { - [dict setObject:[NSString stringWithUTF8String:authentication_token] forKey:@"token"]; - } - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneCallEncryptionChanged object:self userInfo:dict]; -} - -void linphone_iphone_chatroom_state_changed(LinphoneCore *lc, LinphoneChatRoom *cr, LinphoneChatRoomState state) { - if (state == LinphoneChatRoomStateCreated) { - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneMessageReceived object:nil]; - } -} - -void linphone_iphone_version_update_check_result_received (LinphoneCore *lc, LinphoneVersionUpdateCheckResult result, const char *version, const char *url) { - if (result == LinphoneVersionUpdateCheckUpToDate || result == LinphoneVersionUpdateCheckError) { - return; - } - NSString *title = NSLocalizedString(@"Outdated Version", nil); - NSString *body = NSLocalizedString(@"A new version of your app is available, use the button below to download it.", nil); - - UIAlertController *versVerifView = [UIAlertController alertControllerWithTitle:title - message:body - preferredStyle:UIAlertControllerStyleAlert]; - - NSString *ObjCurl = [NSString stringWithUTF8String:url]; - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Download", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) { - [[UIApplication sharedApplication] openURL:[NSURL URLWithString:ObjCurl]]; - }]; - - [versVerifView addAction:defaultAction]; - [PhoneMainView.instance presentViewController:versVerifView animated:YES completion:nil]; -} - -void linphone_iphone_qr_code_found(LinphoneCore *lc, const char *result) { - NSDictionary *eventDic = [NSDictionary dictionaryWithObject:[NSString stringWithCString:result encoding:[NSString defaultCStringEncoding]] forKey:@"qrcode"]; - LOGD(@"QRCODE FOUND"); - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneQRCodeFound object:nil userInfo:eventDic]; -} - -static void linphone_iphone_call_log_updated(LinphoneCore *lc, LinphoneCallLog *newcl) { - if (linphone_call_log_get_status(newcl) == LinphoneCallEarlyAborted) { - const char *cid = linphone_call_log_get_call_id(newcl); - if (cid) { - [CallManager.instance markCallAsDeclinedWithCallId:[NSString stringWithUTF8String:cid]]; - } - } -} - -static void linphone_iphone_call_id_updated(LinphoneCore *lc, const char *previous_call_id, const char *current_call_id) { - [CallManager.instance updateCallIdWithPrevious:[NSString stringWithUTF8String:previous_call_id] current:[NSString stringWithUTF8String:current_call_id]]; -} -#pragma mark - Message composition start -- (void)onMessageComposeReceived:(LinphoneCore *)core forRoom:(LinphoneChatRoom *)room { - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneTextComposeEvent - object:self - userInfo:@{ - @"room" : [NSValue valueWithPointer:room] - }]; -} - -static void linphone_iphone_is_composing_received(LinphoneCore *lc, LinphoneChatRoom *room) { - [(__bridge LinphoneManager *)linphone_core_cbs_get_user_data(linphone_core_get_current_callbacks(lc)) onMessageComposeReceived:lc forRoom:room]; -} - -#pragma mark - Network Functions - - -- (NetworkType)network { - if ([[[UIDevice currentDevice] systemVersion] floatValue] < 7) { - UIApplication *app = [UIApplication sharedApplication]; - NSArray *subviews = [[[app valueForKey:@"statusBar"] valueForKey:@"foregroundView"] subviews]; - NSNumber *dataNetworkItemView = nil; - - for (id subview in subviews) { - if ([subview isKindOfClass:[NSClassFromString(@"UIStatusBarDataNetworkItemView") class]]) { - dataNetworkItemView = subview; - break; - } - } - - NSNumber *number = (NSNumber *)[dataNetworkItemView valueForKey:@"dataNetworkType"]; - return [number intValue]; - } else { -#pragma deploymate push "ignored-api-availability" - CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc] init]; - NSString *currentRadio = info.currentRadioAccessTechnology; - if ([currentRadio isEqualToString:CTRadioAccessTechnologyEdge]) { - return network_2g; - } else if ([currentRadio isEqualToString:CTRadioAccessTechnologyLTE]) { - return network_4g; - } -#pragma deploymate pop - return network_3g; - } -} - -- (void)setDnsServer { - NSString *dns_server_ip = [self lpConfigStringForKey:@"dns_server_ip"]; - if ([dns_server_ip isEqualToString:@""]) {dns_server_ip = NULL;} - bctbx_list_t *dns_server_list = dns_server_ip?bctbx_list_new((void *)[dns_server_ip UTF8String]):NULL; - linphone_core_set_dns_servers_app(LC, dns_server_list); - bctbx_list_free(dns_server_list); -} - -#pragma mark - - -// scheduling loop -- (void)iterate { - linphone_core_iterate(theLinphoneCore); -} - -/** Should be called once per linphone_core_new() */ -- (void)finishCoreConfiguration { - //Force keep alive to workaround push notif on chat message - linphone_core_enable_keep_alive([LinphoneManager getLc], true); - - // get default config from bundle - NSString *zrtpSecretsFileName = [LinphoneManager dataFile:@"zrtp_secrets"]; - NSString *chatDBFileName = [LinphoneManager dataFile:kLinphoneInternalChatDBFilename]; - NSString *device = [[NSMutableString alloc] initWithString:[NSString stringWithFormat:@"%@iOS/%@ (%@) LinphoneSDK", - [NSBundle.mainBundle objectForInfoDictionaryKey:@"CFBundleDisplayName"], - [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"], - [[UIDevice currentDevice] name]]]; - - linphone_core_set_user_agent(theLinphoneCore, device.UTF8String, LINPHONE_SDK_VERSION); - - _contactSipField = [self lpConfigStringForKey:@"contact_im_type_value" inSection:@"sip" withDefault:@"SIP"]; - - if (_fastAddressBook == nil) { - _fastAddressBook = [[FastAddressBook alloc] init]; - } - - linphone_core_set_zrtp_secrets_file(theLinphoneCore, [zrtpSecretsFileName UTF8String]); - //linphone_core_set_chat_database_path(theLinphoneCore, [chatDBFileName UTF8String]); - linphone_core_set_call_logs_database_path(theLinphoneCore, [chatDBFileName UTF8String]); - - NSString *path = [LinphoneManager bundleFile:@"nowebcamCIF.jpg"]; - if (path) { - const char *imagePath = [path UTF8String]; - LOGI(@"Using '%s' as source image for no webcam", imagePath); - linphone_core_set_static_picture(theLinphoneCore, imagePath); - } - - /*DETECT cameras*/ - _frontCamId = _backCamId = nil; - char **camlist = (char **)linphone_core_get_video_devices(theLinphoneCore); - if (camlist) { - for (char *cam = *camlist; *camlist != NULL; cam = *++camlist) { - if (strcmp(FRONT_CAM_NAME, cam) == 0) { - _frontCamId = cam; - // great set default cam to front - LOGI(@"Setting default camera [%s]", _frontCamId); - linphone_core_set_video_device(theLinphoneCore, _frontCamId); - } - if (strcmp(BACK_CAM_NAME, cam) == 0) { - _backCamId = cam; - } - } - } else { - LOGW(@"No camera detected!"); - } - - if (![LinphoneManager isNotIphone3G]) { - PayloadType *pt = linphone_core_find_payload_type(theLinphoneCore, "SILK", 24000, -1); - if (pt) { - linphone_core_enable_payload_type(theLinphoneCore, pt, FALSE); - LOGW(@"SILK/24000 and video disabled on old iPhone 3G"); - } - linphone_core_enable_video_display(theLinphoneCore, FALSE); - linphone_core_enable_video_capture(theLinphoneCore, FALSE); - } - - [self enableProxyPublish:([UIApplication sharedApplication].applicationState == UIApplicationStateActive)]; - - LOGI(@"Linphone [%s] started on [%s]", linphone_core_get_version(), [[UIDevice currentDevice].model UTF8String]); - - // Post event - NSDictionary *dict = [NSDictionary dictionaryWithObject:[NSValue valueWithPointer:theLinphoneCore] forKey:@"core"]; - - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneCoreUpdate - object:LinphoneManager.instance - userInfo:dict]; - - -} - -static BOOL libStarted = FALSE; - -- (void)launchLinphoneCore { - - if (libStarted) { - LOGE(@"Liblinphone is already initialized!"); - return; - } - - libStarted = TRUE; - - signal(SIGPIPE, SIG_IGN); - - // create linphone core - [self createLinphoneCore]; - _iapManager = [[InAppProductsManager alloc] init]; - - // - Security fix - remove multi transport migration, because it enables tcp or udp, if by factoring settings only - // tls is enabled. This is a problem for new installations. - // linphone_core_migrate_to_multi_transport(theLinphoneCore); - - // init audio session (just getting the instance will init) - AVAudioSession *audioSession = [AVAudioSession sharedInstance]; - BOOL bAudioInputAvailable = audioSession.inputAvailable; - NSError *err = nil; - - if (![audioSession setActive:NO error:&err] && err) { - LOGE(@"audioSession setActive failed: %@", [err description]); - err = nil; - } - if (!bAudioInputAvailable) { - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"No microphone", nil) - message:NSLocalizedString(@"You need to plug a microphone to your device to use the application.", nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"OK", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [PhoneMainView.instance presentViewController:errView animated:YES completion:nil]; - } - - if ([UIApplication sharedApplication].applicationState == UIApplicationStateBackground) { - // go directly to bg mode - [self enterBackgroundMode]; - } - - -} - -void popup_link_account_cb(LinphoneAccountCreator *creator, LinphoneAccountCreatorStatus status, const char *resp) { - if (status == LinphoneAccountCreatorStatusAccountLinked) { - [LinphoneManager.instance lpConfigSetInt:0 forKey:@"must_link_account_time"]; - } else { - LinphoneAccount *account = linphone_core_get_default_account(LC); - LinphoneAccountParams const *accountParams = account ? linphone_account_get_params(account) : NULL; - if (account && - strcmp(linphone_account_params_get_domain(accountParams), - [LinphoneManager.instance lpConfigStringForKey:@"domain_name" - inSection:@"app" - withDefault:@"sip.linphone.org"] - .UTF8String) == 0) { - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Link your account", nil) - message:[NSString stringWithFormat:NSLocalizedString(@"Link your Linphone.org account %s to your phone number.", nil), - linphone_address_get_username(linphone_account_params_get_identity_address(accountParams))] - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Maybe later", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - UIAlertAction* continueAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Let's go", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) { - [PhoneMainView.instance changeCurrentView:AssistantLinkView.compositeViewDescription]; - }]; - - UIAlertAction* otherAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Never ask again", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) { - [LinphoneManager.instance lpConfigSetBool:false forKey:@"display_link_account_popup"]; - }]; - defaultAction.accessibilityLabel = @"Later"; - [errView addAction:otherAction]; - [errView addAction:defaultAction]; - [errView addAction:continueAction]; - [PhoneMainView.instance presentViewController:errView animated:YES completion:nil]; - - [LinphoneManager.instance - lpConfigSetInt:[[NSDate date] dateByAddingTimeInterval:[LinphoneManager.instance - lpConfigIntForKey:@"link_account_popup_time" - withDefault:84200]] - .timeIntervalSince1970 - forKey:@"must_link_account_time"]; - } - } -} - -- (void)shouldPresentLinkPopup { - NSDate *nextTime = - [NSDate dateWithTimeIntervalSince1970:[self lpConfigIntForKey:@"must_link_account_time" withDefault:1]]; - NSDate *now = [NSDate date]; - if (nextTime.timeIntervalSince1970 > 0 && [now earlierDate:nextTime] == nextTime && [LinphoneManager.instance lpConfigBoolForKey:@"display_link_account_popup"] && ![LinphoneManager.instance lpConfigIntForKey:@"hide_link_phone_number"]) { - LinphoneAccount *account = linphone_core_get_default_account(LC); - if (account) { - const char *username = linphone_address_get_username(linphone_account_params_get_identity_address(linphone_account_get_params(account))); - LinphoneAccountCreator *account_creator = linphone_account_creator_new( - LC, - [LinphoneManager.instance lpConfigStringForKey:@"xmlrpc_url" inSection:@"assistant" withDefault:@""] - .UTF8String); - linphone_account_creator_set_user_data(account_creator, (__bridge void *)(self)); - linphone_account_creator_cbs_set_is_account_linked(linphone_account_creator_get_callbacks(account_creator), - popup_link_account_cb); - linphone_account_creator_set_username(account_creator, username); - linphone_account_creator_is_account_linked(account_creator); - } - } -} - -- (void)configurePushProviderForAccounts { - const MSList *accountsList = linphone_core_get_account_list(theLinphoneCore); - while (accountsList) { - LinphoneAccount * account = accountsList->data; - LinphoneAccountParams * accountParams = linphone_account_params_clone(linphone_account_get_params(account)); - // In linphone-iphone, remote and voip push autorisations always go together. - bool accountPushAllowed = linphone_account_params_get_push_notification_allowed(accountParams); - linphone_account_params_set_remote_push_notification_allowed(accountParams, accountPushAllowed); - - - LinphonePushNotificationConfig *pushConfig = linphone_account_params_get_push_notification_config(accountParams); -#ifdef DEBUG -#define PROVIDER_NAME "apns.dev" -#else -#define PROVIDER_NAME "apns" -#endif - linphone_push_notification_config_set_provider(pushConfig, PROVIDER_NAME); - linphone_account_set_params(account, accountParams); - linphone_account_params_unref(accountParams); - accountsList = accountsList->next; - } -} - -- (void)enableLinphoneAccountSpecificSettings { - const MSList *accountsList = linphone_core_get_account_list(theLinphoneCore); - while (accountsList) { - LinphoneAccount * account = accountsList->data; - LinphoneAccountParams const * currentParams = linphone_account_get_params(account); - LinphoneAddress const * currentAddress = linphone_account_params_get_identity_address(currentParams); - char * addressIdentity = linphone_address_as_string(currentAddress); - - if (strcmp(linphone_address_get_domain(currentAddress), "sip.linphone.org") == 0) { - LinphoneAccountParams * newParams = linphone_account_params_clone(linphone_account_get_params(account)); - if (!linphone_account_params_cpim_in_basic_chat_room_enabled(currentParams) ) { - LOGI(@"Enabling CPIM in basic chatroom for account [%s]", addressIdentity); - linphone_account_params_enable_cpim_in_basic_chat_room(newParams, true); - } - - const char* current_lime_url = linphone_account_params_get_lime_server_url(currentParams); - if (!current_lime_url){ - const char* core_lime_url = linphone_core_get_lime_x3dh_server_url(LC); - if (core_lime_url) { - LOGI(@"Copying core's LIME X3DH server URL [%s] to account [%s]", core_lime_url, addressIdentity); - linphone_account_params_set_lime_server_url(newParams, core_lime_url); - } else { - LOGI(@"Account [%s] didn't have a LIME X3DH server URL, setting one: [%s]", addressIdentity, core_lime_url); - linphone_account_params_set_lime_server_url(newParams, "https://lime.linphone.org/lime-server/lime-server.php"); - } - } - linphone_account_set_params(account, newParams); - linphone_account_params_unref(newParams); - } - - ms_free(addressIdentity); - accountsList = accountsList->next; - } -} - -- (void)startLinphoneCore { - bool corePushEnabled = [self lpConfigIntForKey:@"net" inSection:@"push_notification"]; - linphone_core_set_push_notification_enabled([LinphoneManager getLc], corePushEnabled); - linphone_core_start([LinphoneManager getLc]); - - [self configurePushProviderForAccounts]; - [self enableLinphoneAccountSpecificSettings]; -} - -- (void)createLinphoneCore { - [self migrationAllPre]; - if (theLinphoneCore != nil) { - LOGI(@"linphonecore is already created"); - return; - } - - - // Set audio assets - NSString *ring = - ([LinphoneManager bundleFile:[self lpConfigStringForKey:@"local_ring" inSection:@"sound"].lastPathComponent] - ?: [LinphoneManager bundleFile:@"notes_of_the_optimistic.caf"]) - .lastPathComponent; - NSString *ringback = - ([LinphoneManager bundleFile:[self lpConfigStringForKey:@"remote_ring" inSection:@"sound"].lastPathComponent] - ?: [LinphoneManager bundleFile:@"ringback.wav"]) - .lastPathComponent; - NSString *hold = - ([LinphoneManager bundleFile:[self lpConfigStringForKey:@"hold_music" inSection:@"sound"].lastPathComponent] - ?: [LinphoneManager bundleFile:@"hold.mkv"]) - .lastPathComponent; - [self lpConfigSetString:[LinphoneManager bundleFile:ring] forKey:@"local_ring" inSection:@"sound"]; - [self lpConfigSetString:[LinphoneManager bundleFile:ringback] forKey:@"remote_ring" inSection:@"sound"]; - [self lpConfigSetString:[LinphoneManager bundleFile:hold] forKey:@"hold_music" inSection:@"sound"]; - - LinphoneFactory *factory = linphone_factory_get(); - LinphoneCoreCbs *cbs = linphone_factory_create_core_cbs(factory); - linphone_core_cbs_set_account_registration_state_changed(cbs,linphone_iphone_registration_state); - linphone_core_cbs_set_notify_presence_received_for_uri_or_tel(cbs, linphone_iphone_notify_presence_received_for_uri_or_tel); - linphone_core_cbs_set_authentication_requested(cbs, linphone_iphone_popup_password_request); - linphone_core_cbs_set_message_received(cbs, linphone_iphone_message_received); - linphone_core_cbs_set_message_received_unable_decrypt(cbs, linphone_iphone_message_received_unable_decrypt); - linphone_core_cbs_set_transfer_state_changed(cbs, linphone_iphone_transfer_state_changed); - linphone_core_cbs_set_is_composing_received(cbs, linphone_iphone_is_composing_received); - linphone_core_cbs_set_configuring_status(cbs, linphone_iphone_configuring_status_changed); - linphone_core_cbs_set_global_state_changed(cbs, linphone_iphone_global_state_changed); - linphone_core_cbs_set_notify_received(cbs, linphone_iphone_notify_received); - linphone_core_cbs_set_call_encryption_changed(cbs, linphone_iphone_call_encryption_changed); - linphone_core_cbs_set_chat_room_state_changed(cbs, linphone_iphone_chatroom_state_changed); - linphone_core_cbs_set_version_update_check_result_received(cbs, linphone_iphone_version_update_check_result_received); - linphone_core_cbs_set_qrcode_found(cbs, linphone_iphone_qr_code_found); - linphone_core_cbs_set_call_log_updated(cbs, linphone_iphone_call_log_updated); - linphone_core_cbs_set_call_id_updated(cbs, linphone_iphone_call_id_updated); - linphone_core_cbs_set_user_data(cbs, (__bridge void *)(self)); - linphone_core_cbs_set_chat_room_ephemeral_message_deleted(cbs, linphone_iphone_ephemeral_message_deleted); - linphone_core_cbs_set_conference_state_changed(cbs, linphone_iphone_conference_state_changed); - - - - theLinphoneCore = linphone_factory_create_shared_core_with_config(factory, _configDb, NULL, [kLinphoneMsgNotificationAppGroupId UTF8String], true); - linphone_core_add_callbacks(theLinphoneCore, cbs); - - [ConfigManager.instance setDbWithDb:_configDb]; - [CallManager.instance setCoreWithCore:theLinphoneCore]; - [CallsViewModelBridge updateCore]; - - [LinphoneManager.instance startLinphoneCore]; - - // Let the core handle cbs - linphone_core_cbs_unref(cbs); - - LOGI(@"Create linphonecore %p", theLinphoneCore); - - // Load plugins if available in the linphone SDK - otherwise these calls will do nothing - MSFactory *f = linphone_core_get_ms_factory(theLinphoneCore); - libmssilk_init(f); - libmsamr_init(f); - libmsopenh264_init(f); - libmswebrtc_init(f); - libmscodec2_init(f); - - linphone_core_reload_ms_plugins(theLinphoneCore, NULL); - [self migrationAllPost]; - - linphone_core_enable_record_aware(theLinphoneCore, true); //force record aware enable - - /* Use the rootca from framework, which is already set*/ - //linphone_core_set_root_ca(theLinphoneCore, [LinphoneManager bundleFile:@"rootca.pem"].UTF8String); - linphone_core_set_user_certificates_path(theLinphoneCore, linphone_factory_get_data_dir(linphone_factory_get(), kLinphoneMsgNotificationAppGroupId.UTF8String)); - - /* The core will call the linphone_iphone_configuring_status_changed callback when the remote provisioning is loaded - (or skipped). - Wait for this to finish the code configuration */ - - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(globalStateChangedNotificationHandler:) - name:kLinphoneGlobalStateUpdate - object:nil]; - [NSNotificationCenter.defaultCenter addObserver:self selector:@selector(inappReady:) name:kIAPReady object:nil]; - - /*call iterate once immediately in order to initiate background connections with sip server or remote provisioning - * grab, if any */ - [self setDnsServer]; //configure DNS if custom DNS server is set - [self iterate]; -} - -- (void)destroyLinphoneCore { - // just in case - [self removeCTCallCenterCb]; - [MagicSearchSingleton destroyInstance]; - - if (theLinphoneCore != nil) { // just in case application terminate before linphone core initialization - - // rare case, remove duplicated fileTransferDelegates to avoid crash - [_fileTransferDelegates setArray:[[NSSet setWithArray:_fileTransferDelegates] allObjects]]; - for (FileTransferDelegate *ftd in _fileTransferDelegates) { - // Not remove here, avoid array mutated while being enumerated - [ftd stopAndDestroyAndRemove:FALSE]; - } - [_fileTransferDelegates removeAllObjects]; - - if (linphone_core_get_global_state(LC) != LinphoneGlobalOff) { - linphone_core_stop(LC); - } - linphone_core_unref(theLinphoneCore); - LOGI(@"Destroy linphonecore %p", theLinphoneCore); - theLinphoneCore = nil; - - // Post event - NSDictionary *dict = - [NSDictionary dictionaryWithObject:[NSValue valueWithPointer:theLinphoneCore] forKey:@"core"]; - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneCoreUpdate - object:LinphoneManager.instance - userInfo:dict]; - } - libStarted = FALSE; - [[NSNotificationCenter defaultCenter] removeObserver:self]; -} - -- (void)resetLinphoneCore { - [self destroyLinphoneCore]; - [self createLinphoneCore]; -} - -static int comp_call_id(const LinphoneCall *call, const char *callid) { - if (linphone_call_log_get_call_id(linphone_call_get_call_log(call)) == nil) { - ms_error("no callid for call [%p]", call); - return 1; - } - return strcmp(linphone_call_log_get_call_id(linphone_call_get_call_log(call)), callid); -} - -- (void)acceptCallForCallId:(NSString *)callid { - // first, make sure this callid is not already involved in a call - const bctbx_list_t *calls = linphone_core_get_calls(theLinphoneCore); - bctbx_list_t *call = bctbx_list_find_custom(calls, (bctbx_compare_func)comp_call_id, [callid UTF8String]); - if (call != NULL) { - const LinphoneVideoPolicy *video_policy = linphone_core_get_video_policy(theLinphoneCore); - bool with_video = video_policy->automatically_accept; - [CallManager.instance acceptCallWithCall:(LinphoneCall *)call->data hasVideo:with_video]; - return; - }; -} - -- (void)addPushCallId:(NSString *)callid { - // first, make sure this callid is not already involved in a call - const bctbx_list_t *calls = linphone_core_get_calls(theLinphoneCore); - if (bctbx_list_find_custom(calls, (bctbx_compare_func)comp_call_id, [callid UTF8String])) { - LOGW(@"Call id [%@] already handled", callid); - return; - }; - if ([pushCallIDs count] > 10 /*max number of pending notif*/) - [pushCallIDs removeObjectAtIndex:0]; - - [pushCallIDs addObject:callid]; -} - -- (BOOL)popPushCallID:(NSString *)callId { - for (NSString *pendingNotif in pushCallIDs) { - if ([pendingNotif compare:callId] == NSOrderedSame) { - [pushCallIDs removeObject:pendingNotif]; - return TRUE; - } - } - return FALSE; -} - -- (BOOL)resignActive { - linphone_core_stop_dtmf_stream(theLinphoneCore); - - return YES; -} - -- (void)playMessageSound { - BOOL success = [self.messagePlayer play]; - if (!success) { - LOGE(@"Could not play the message sound"); - } - AudioServicesPlaySystemSound(LinphoneManager.instance.sounds.vibrate); -} - -static int comp_call_state_paused(const LinphoneCall *call, const void *param) { - return linphone_call_get_state(call) != LinphoneCallPaused; -} - -- (void)startCallPausedLongRunningTask { - pausedCallBgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{ - LOGW(@"Call cannot be paused any more, too late"); - [[UIApplication sharedApplication] endBackgroundTask:pausedCallBgTask]; - }]; - LOGI(@"Long running task started, remaining [%@] because at least one call is paused", - [LinphoneUtils intervalToString:[[UIApplication sharedApplication] backgroundTimeRemaining]]); -} - -- (void)enableProxyPublish:(BOOL)enabled { - if (linphone_core_get_global_state(LC) != LinphoneGlobalOn || !linphone_core_get_default_friend_list(LC)) { - LOGW(@"Not changing presence configuration because linphone core not ready yet"); - return; - } - - if ([self lpConfigBoolForKey:@"publish_presence"]) { - // set present to "tv", because "available" does not work yet - if (enabled) { - linphone_core_set_presence_model(LC, linphone_core_create_presence_model_with_activity(LC, LinphonePresenceActivityTV, NULL)); - } - - const MSList *accounts = linphone_core_get_account_list(LC); - while (accounts) { - LinphoneAccount *account = accounts->data; - LinphoneAccountParams *newAccountParams = linphone_account_params_clone(linphone_account_get_params(account)); - linphone_account_params_set_publish_enabled(newAccountParams, enabled); - linphone_account_set_params(account, newAccountParams); - linphone_account_params_unref(newAccountParams); - accounts = accounts->next; - } - // force registration update first, then update friend list subscription - [self iterate]; - } - - linphone_core_enable_friend_list_subscription(LC, enabled && [LinphoneManager.instance lpConfigBoolForKey:@"use_rls_presence"]); -} - -- (BOOL)enterBackgroundMode { - LinphoneAccount *account = linphone_core_get_default_account(theLinphoneCore); - BOOL shouldEnterBgMode = FALSE; - - // disable presence - [self enableProxyPublish:NO]; - - // handle proxy config if any - if (account) { - LinphoneAccountParams const *accountParams = linphone_account_get_params(account); - BOOL pushNotifEnabled = linphone_account_params_get_push_notification_allowed(accountParams); - if ([LinphoneManager.instance lpConfigBoolForKey:@"backgroundmode_preference"] || pushNotifEnabled) { - if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_9_x_Max) { - // For registration register - [self refreshRegisters]; - } - } - - if ([LinphoneManager.instance lpConfigBoolForKey:@"voip_mode_preference"] && [LinphoneManager.instance lpConfigBoolForKey:@"backgroundmode_preference"] && !pushNotifEnabled) { - // Keep this!! Socket VoIP is deprecated after 9.0, but sometimes it's the only way to keep the phone background and receive the call. For example, when there is only local area network. - // register keepalive - if ([[UIApplication sharedApplication] - setKeepAliveTimeout:600 /*(NSTimeInterval)linphone_proxy_config_get_expires(proxyCfg)*/ - handler:^{ - LOGW(@"keepalive handler"); - mLastKeepAliveDate = [NSDate date]; - if (theLinphoneCore == nil) { - LOGW(@"It seems that Linphone BG mode was deactivated, just skipping"); - return; - } - [_iapManager check]; - if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_9_x_Max) { - // For registration register - [self refreshRegisters]; - } - linphone_core_iterate(theLinphoneCore); - }]) { - LOGI(@"keepalive handler succesfully registered"); - } else { - LOGI(@"keepalive handler cannot be registered"); - } - shouldEnterBgMode = TRUE; - } - } - - LinphoneCall *currentCall = linphone_core_get_current_call(theLinphoneCore); - const bctbx_list_t *callList = linphone_core_get_calls(theLinphoneCore); - if (!currentCall // no active call - && callList // at least one call in a non active state - && bctbx_list_find_custom(callList, (bctbx_compare_func)comp_call_state_paused, NULL)) { - [self startCallPausedLongRunningTask]; - } - if (callList) // If at least one call exist, enter normal bg mode - shouldEnterBgMode = TRUE; - - // Stop the video preview - if (theLinphoneCore) { - linphone_core_enable_video_preview(theLinphoneCore, FALSE); - [self iterate]; - } - - LOGI(@"Entering [%s] bg mode", shouldEnterBgMode ? "normal" : "lite"); - if (!shouldEnterBgMode && floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_9_x_Max) { - if (account) { - LinphoneAccountParams const *accountParams = linphone_account_get_params(account); - BOOL pushNotifEnabled = linphone_account_params_get_push_notification_allowed(accountParams); - if (pushNotifEnabled) { - LOGI(@"Keeping lc core to handle push"); - return YES; - } - return NO; - } - } - return YES; -} - -- (void)becomeActive { - [self checkNewVersion]; - - // enable presence - if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_9_x_Max) { - [self refreshRegisters]; - } - if (pausedCallBgTask) { - [[UIApplication sharedApplication] endBackgroundTask:pausedCallBgTask]; - pausedCallBgTask = 0; - } - if (incallBgTask) { - [[UIApplication sharedApplication] endBackgroundTask:incallBgTask]; - incallBgTask = 0; - } - - /*IOS specific*/ - [AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo - completionHandler:^(BOOL granted){ - }]; - [AVCaptureDevice requestAccessForMediaType:AVMediaTypeAudio - completionHandler:^(BOOL granted){ - }]; - - /*start the video preview in case we are in the main view*/ - if (linphone_core_video_display_enabled(theLinphoneCore) && [self lpConfigBoolForKey:@"preview_preference"]) { - linphone_core_enable_video_preview(theLinphoneCore, TRUE); - } - /*check last keepalive handler date*/ - if (mLastKeepAliveDate != Nil) { - NSDate *current = [NSDate date]; - if ([current timeIntervalSinceDate:mLastKeepAliveDate] > 700) { - NSString *datestr = [mLastKeepAliveDate description]; - LOGW(@"keepalive handler was called for the last time at %@", datestr); - } - } - - [self enableProxyPublish:YES]; -} - -- (void)refreshRegisters { - linphone_core_refresh_registers(theLinphoneCore); // just to make sure REGISTRATION is up to date -} - -- (void)migrationAllImages { - NSFileManager *fileManager = [NSFileManager defaultManager]; - NSArray *images = [fileManager contentsOfDirectoryAtPath:[LinphoneManager cacheDirectory] error:NULL]; - - for (NSString *image in images) - { - [fileManager copyItemAtPath:[[LinphoneManager cacheDirectory] stringByAppendingPathComponent:image] toPath:[[LinphoneManager imagesDirectory] stringByAppendingPathComponent:image] error:nil]; - } - [self lpConfigSetBool:TRUE forKey:@"migration_images_done"]; -} - -- (void)migrateImportantFiles { - if ([LinphoneManager copyFile:[LinphoneManager oldPreferenceFile:@"linphonerc"] destination:[LinphoneManager preferenceFile:@"linphonerc"] override:TRUE ignore:TRUE]) { - [NSFileManager.defaultManager - removeItemAtPath:[LinphoneManager oldPreferenceFile:@"linphonerc"] - error:nil]; - } else if ([LinphoneManager copyFile:[LinphoneManager documentFile:@"linphonerc"] destination:[LinphoneManager preferenceFile:@"linphonerc"] override:TRUE ignore:TRUE]) { - [NSFileManager.defaultManager - removeItemAtPath:[LinphoneManager documentFile:@"linphonerc"] - error:nil]; - } - - if ([LinphoneManager copyFile:[LinphoneManager oldDataFile:@"linphone.db"] destination:[LinphoneManager dataFile:@"linphone.db"] override:TRUE ignore:TRUE]) { - [NSFileManager.defaultManager - removeItemAtPath:[LinphoneManager oldDataFile:@"linphone.db"] - error:nil]; - } - - if ([LinphoneManager copyFile:[LinphoneManager oldDataFile:@"x3dh.c25519.sqlite3"] destination:[LinphoneManager dataFile:@"x3dh.c25519.sqlite3"] override:TRUE ignore:TRUE]) { - [NSFileManager.defaultManager - removeItemAtPath:[LinphoneManager oldDataFile:@"x3dh.c25519.sqlite3"] - error:nil]; - } - - // call history - if ([LinphoneManager copyFile:[LinphoneManager oldDataFile:kLinphoneInternalChatDBFilename] destination:[LinphoneManager dataFile:kLinphoneInternalChatDBFilename] override:TRUE ignore:TRUE]) { - [NSFileManager.defaultManager - removeItemAtPath:[LinphoneManager oldDataFile:kLinphoneInternalChatDBFilename] - error:nil]; - } - - if ([LinphoneManager copyFile:[LinphoneManager oldDataFile:@"zrtp_secrets"] destination:[LinphoneManager dataFile:@"zrtp_secrets"] override:TRUE ignore:TRUE]) { - [NSFileManager.defaultManager - removeItemAtPath:[LinphoneManager oldDataFile:@"zrtp_secrets"] - error:nil]; - } -} - -- (void)renameDefaultSettings { - // rename .linphonerc to linphonerc to ease debugging: when downloading - // containers from MacOSX, Finder do not display hidden files leading - // to useless painful operations to display the .linphonerc file - NSString *src = [LinphoneManager documentFile:@".linphonerc"]; - NSString *dst = [LinphoneManager preferenceFile:@"linphonerc"]; - NSFileManager *fileManager = [NSFileManager defaultManager]; - NSError *fileError = nil; - if ([fileManager fileExistsAtPath:src]) { - if ([fileManager fileExistsAtPath:dst]) { - [fileManager removeItemAtPath:src error:&fileError]; - LOGW(@"%@ already exists, simply removing %@ %@", dst, src, - fileError ? fileError.localizedDescription : @"successfully"); - } else { - [fileManager moveItemAtPath:src toPath:dst error:&fileError]; - LOGW(@"%@ moving to %@ %@", dst, src, fileError ? fileError.localizedDescription : @"successfully"); - } - } -} - -- (void)copyDefaultSettings { - NSString *src = [LinphoneManager bundleFile:@"linphonerc"]; - NSString *srcIpad = [LinphoneManager bundleFile:@"linphonerc~ipad"]; - if (IPAD && [[NSFileManager defaultManager] fileExistsAtPath:srcIpad]) { - src = srcIpad; - } - NSString *dst = [LinphoneManager preferenceFile:@"linphonerc"]; - [LinphoneManager copyFile:src destination:dst override:FALSE ignore:FALSE]; -} - -- (void)overrideDefaultSettings { - NSString *factory = [LinphoneManager bundleFile:@"linphonerc-factory"]; - NSString *factoryIpad = [LinphoneManager bundleFile:@"linphonerc-factory~ipad"]; - if (IPAD && [[NSFileManager defaultManager] fileExistsAtPath:factoryIpad]) { - factory = factoryIpad; - } - _configDb = linphone_config_new_for_shared_core(kLinphoneMsgNotificationAppGroupId.UTF8String, @"linphonerc".UTF8String, factory.UTF8String); - if (linphone_config_has_entry(_configDb, "misc", "max_calls")) { // Not doable on core on iOS (requires CallKit) -> flag moved to app section, and have app handle it in ProviderDelegate - linphone_config_set_int(_configDb, "app", "max_calls", linphone_config_get_int(_configDb,"misc", "max_calls",10)); - linphone_config_clean_entry(_configDb, "misc", "max_calls"); - } -} -#pragma mark - Audio route Functions - -#pragma mark - Call Functions -- (void)send:(NSString *)replyText toChatRoom:(LinphoneChatRoom *)room { - LinphoneChatMessage *msg = linphone_chat_room_create_message(room, replyText.UTF8String); - linphone_chat_message_send(msg); - - [ChatConversationViewSwift markAsRead:room]; -} - -/* - * If ICE is enabled, check if local network permission is given and show an alert message. - * It is indeed required for ICE to operate correctly. - * If it is not the the case, liblinphone will automatically skip ICE during the call. - * The purpose of this function is only to show the alert message. - */ -- (void) checkLocalNetworkPermission{ - NSString *alertSuppressionKey = @"LocalNetworkPermissionAlertSuppression"; - NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; - - LinphoneProxyConfig *defaultCfg = linphone_core_get_default_proxy_config(LC); - if (!defaultCfg) return; - LinphoneNatPolicy *natPolicy = linphone_proxy_config_get_nat_policy(defaultCfg); - if (!natPolicy || !linphone_nat_policy_ice_enabled(natPolicy)) - return; - - if (linphone_core_local_permission_enabled(LC)) return; - - - if (![defaults boolForKey: alertSuppressionKey]) { - UIAlertController *noticeView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Local network usage", nil) - message:NSLocalizedString(@"Granting the local network permission is recommended to enhance the audio & video quality. You may enable it from iOS settings.", nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"OK", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - UIAlertAction* ignoreForeverAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Don't show this again.", nil) - style:UIAlertActionStyleCancel - handler:^(UIAlertAction * action) { - [defaults setBool:TRUE forKey: alertSuppressionKey]; - }]; - - [noticeView addAction:defaultAction]; - [noticeView addAction:ignoreForeverAction]; - [PhoneMainView.instance presentViewController:noticeView animated:YES completion:nil]; - } -} - -- (void)call:(const LinphoneAddress *)iaddr { - // First verify that network is available, abort otherwise. - if (!linphone_core_is_network_reachable(theLinphoneCore)) { - [PhoneMainView.instance presentViewController:[LinphoneUtils networkErrorView:@"place a call"] animated:YES completion:nil]; - return; - } - - // Then check that no GSM calls are in progress, abort otherwise. - CTCallCenter *callCenter = [[CTCallCenter alloc] init]; - if ([callCenter currentCalls] != nil && floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_9_x_Max) { - LOGE(@"GSM call in progress, cancelling outgoing SIP call request"); - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Cannot make call", nil) - message:NSLocalizedString(@"Please terminate GSM call first.", nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"OK", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [PhoneMainView.instance presentViewController:errView animated:YES completion:nil]; - return; - } - - // Then check that the supplied address is valid - if (!iaddr) { - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Invalid SIP address", nil) - message:NSLocalizedString(@"Either configure a SIP proxy server from settings prior to place a " - @"call or use a valid SIP address (I.E sip:john@example.net)", nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"OK", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [PhoneMainView.instance presentViewController:errView animated:YES completion:nil]; - return; - } - [self checkLocalNetworkPermission]; - // For OutgoingCall, show CallOutgoingView - LinphoneVideoActivationPolicy *policy = linphone_core_get_video_activation_policy(LC); - BOOL initiateVideoCall = linphone_video_activation_policy_get_automatically_initiate(policy); - [CallManager.instance startCallWithAddr:iaddr isSas:FALSE isVideo:initiateVideoCall isConference:false]; - linphone_video_activation_policy_unref(policy); -} - -#pragma mark - Misc Functions -+ (PHFetchResult *)getPHAssets:(NSString *)key { - PHFetchResult *assets; - if ([key hasPrefix:@"assets-library"]) { - // compability with previous linphone version - assets = [PHAsset fetchAssetsWithALAssetURLs:@[[NSURL URLWithString:key]] options:nil]; - } else { - assets = [PHAsset fetchAssetsWithLocalIdentifiers:[NSArray arrayWithObject:key] options:nil]; - } - return assets; -} - -+ (NSString *)bundleFile:(NSString *)file { - return [[NSBundle mainBundle] pathForResource:[file stringByDeletingPathExtension] ofType:[file pathExtension]]; -} - -+ (NSString *)documentFile:(NSString *)file { - NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); - NSString *documentsPath = [paths objectAtIndex:0]; - return [documentsPath stringByAppendingPathComponent:file]; -} - -+ (NSString *)preferenceFile:(NSString *)file { - LinphoneFactory *factory = linphone_factory_get(); - NSString *fullPath = [NSString stringWithUTF8String:linphone_factory_get_config_dir(factory, kLinphoneMsgNotificationAppGroupId.UTF8String)]; - return [fullPath stringByAppendingPathComponent:file]; -} - -+ (NSString *)dataFile:(NSString *)file { - LinphoneFactory *factory = linphone_factory_get(); - NSString *fullPath = [NSString stringWithUTF8String:linphone_factory_get_data_dir(factory, kLinphoneMsgNotificationAppGroupId.UTF8String)]; - return [fullPath stringByAppendingPathComponent:file]; -} - -+ (NSString *)imagesDirectory { - NSURL *basePath = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:kLinphoneMsgNotificationAppGroupId]; - NSString *fullPath = [[basePath path] stringByAppendingString:@"/Library/Images/"]; - if (![[NSFileManager defaultManager] fileExistsAtPath:fullPath]) { - NSError *error; - LOGW(@"Download path %@ does not exist, creating it.", fullPath); - if (![[NSFileManager defaultManager] createDirectoryAtPath:fullPath - withIntermediateDirectories:YES - attributes:nil - error:&error]) { - LOGE(@"Create download path directory error: %@", error.description); - } - } - return fullPath; -} - -+ (NSString *)cacheDirectory { - NSURL *basePath = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:kLinphoneMsgNotificationAppGroupId]; - NSString *fullPath = [[basePath path] stringByAppendingString:@"/Library/Caches/"]; - if (![[NSFileManager defaultManager] fileExistsAtPath:fullPath]) { - NSError *error; - LOGW(@"Download path %@ does not exist, creating it.", fullPath); - if (![[NSFileManager defaultManager] createDirectoryAtPath:fullPath - withIntermediateDirectories:YES - attributes:nil - error:&error]) { - LOGE(@"Create download path directory error: %@", error.description); - } - } - return fullPath; -} - -+ (NSString *)validFilePath:(NSString *)name { - NSString *filePath = [[LinphoneManager imagesDirectory] stringByAppendingPathComponent:name]; - if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) { - return filePath; - } - // if migration (move files of cacheDirectory to imagesDirectory) failed - return [[LinphoneManager cacheDirectory] stringByAppendingPathComponent:name]; -} - -+ (NSString *)oldPreferenceFile:(NSString *)file { - // migration - LinphoneFactory *factory = linphone_factory_get(); - NSString *fullPath = [NSString stringWithUTF8String:linphone_factory_get_config_dir(factory, nil)]; - return [fullPath stringByAppendingPathComponent:file]; -} - -+ (NSString *)oldDataFile:(NSString *)file { - // migration - LinphoneFactory *factory = linphone_factory_get(); - NSString *fullPath = [NSString stringWithUTF8String:linphone_factory_get_data_dir(factory, nil)]; - return [fullPath stringByAppendingPathComponent:file]; -} - -+ (int)unreadMessageCount { - int count = 0; - const MSList *rooms = linphone_core_get_chat_rooms(LC); - const MSList *item = rooms; - while (item) { - LinphoneChatRoom *room = (LinphoneChatRoom *)item->data; - if (room) { - count += linphone_chat_room_get_unread_messages_count(room); - } - item = item->next; - } - - return count; -} - -+ (BOOL)copyFile:(NSString *)src destination:(NSString *)dst override:(BOOL)override ignore:(BOOL)ignore { - NSFileManager *fileManager = NSFileManager.defaultManager; - NSError *error = nil; - if ([fileManager fileExistsAtPath:src] == NO) { - if (!ignore) - LOGE(@"Can't find \"%@\": %@", src, [error localizedDescription]); - return FALSE; - } - if ([fileManager fileExistsAtPath:dst] == YES) { - if (override) { - [fileManager removeItemAtPath:dst error:&error]; - if (error != nil) { - LOGE(@"Can't remove \"%@\": %@", dst, [error localizedDescription]); - return FALSE; - } - } else { - LOGW(@"\"%@\" already exists", dst); - return FALSE; - } - } - [fileManager copyItemAtPath:src toPath:dst error:&error]; - if (error != nil) { - LOGE(@"Can't copy \"%@\" to \"%@\": %@", src, dst, [error localizedDescription]); - return FALSE; - } - return TRUE; -} - -- (void)configureVbrCodecs { - PayloadType *pt; - int bitrate = linphone_config_get_int( - _configDb, "audio", "codec_bitrate_limit", - kLinphoneAudioVbrCodecDefaultBitrate); /*default value is in linphonerc or linphonerc-factory*/ - const MSList *audio_codecs = linphone_core_get_audio_codecs(theLinphoneCore); - const MSList *codec = audio_codecs; - while (codec) { - pt = codec->data; - if (linphone_core_payload_type_is_vbr(theLinphoneCore, pt)) { - linphone_core_set_payload_type_bitrate(theLinphoneCore, pt, bitrate); - } - codec = codec->next; - } -} - -+ (id)getMessageAppDataForKey:(NSString *)key inMessage:(LinphoneChatMessage *)msg { - - if (msg == nil) - return nil; - - id value = nil; - const char *appData = linphone_chat_message_get_appdata(msg); - if (appData) { - NSDictionary *appDataDict = - [NSJSONSerialization JSONObjectWithData:[NSData dataWithBytes:appData length:strlen(appData)] - options:0 - error:nil]; - value = [appDataDict objectForKey:key]; - } - return value; -} - -+ (void)setValueInMessageAppData:(id)value forKey:(NSString *)key inMessage:(LinphoneChatMessage *)msg { - NSMutableDictionary *appDataDict = [NSMutableDictionary dictionary]; - const char *appData = linphone_chat_message_get_appdata(msg); - if (appData) { - appDataDict = [NSJSONSerialization JSONObjectWithData:[NSData dataWithBytes:appData length:strlen(appData)] - options:NSJSONReadingMutableContainers - error:nil]; - } - - [appDataDict setValue:value forKey:key]; - - NSData *data = [NSJSONSerialization dataWithJSONObject:appDataDict options:0 error:nil]; - NSString *appdataJSON = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; - linphone_chat_message_set_appdata(msg, [appdataJSON UTF8String]); -} - -#pragma mark - LPConfig Functions - -- (void)lpConfigSetString:(NSString *)value forKey:(NSString *)key { - [self lpConfigSetString:value forKey:key inSection:LINPHONERC_APPLICATION_KEY]; -} -- (void)lpConfigSetString:(NSString *)value forKey:(NSString *)key inSection:(NSString *)section { - if (!key) - return; - linphone_config_set_string(_configDb, [section UTF8String], [key UTF8String], value ? [value UTF8String] : NULL); -} -- (NSString *)lpConfigStringForKey:(NSString *)key { - return [self lpConfigStringForKey:key withDefault:nil]; -} -- (NSString *)lpConfigStringForKey:(NSString *)key withDefault:(NSString *)defaultValue { - return [self lpConfigStringForKey:key inSection:LINPHONERC_APPLICATION_KEY withDefault:defaultValue]; -} -- (NSString *)lpConfigStringForKey:(NSString *)key inSection:(NSString *)section { - return [self lpConfigStringForKey:key inSection:section withDefault:nil]; -} -- (NSString *)lpConfigStringForKey:(NSString *)key inSection:(NSString *)section withDefault:(NSString *)defaultValue { - if (!key) - return defaultValue; - const char *value = linphone_config_get_string(_configDb, [section UTF8String], [key UTF8String], NULL); - return value ? [NSString stringWithUTF8String:value] : defaultValue; -} - -- (void)lpConfigSetInt:(int)value forKey:(NSString *)key { - [self lpConfigSetInt:value forKey:key inSection:LINPHONERC_APPLICATION_KEY]; -} -- (void)lpConfigSetInt:(int)value forKey:(NSString *)key inSection:(NSString *)section { - if (!key) - return; - linphone_config_set_int(_configDb, [section UTF8String], [key UTF8String], (int)value); -} -- (int)lpConfigIntForKey:(NSString *)key { - return [self lpConfigIntForKey:key withDefault:-1]; -} -- (int)lpConfigIntForKey:(NSString *)key withDefault:(int)defaultValue { - return [self lpConfigIntForKey:key inSection:LINPHONERC_APPLICATION_KEY withDefault:defaultValue]; -} -- (int)lpConfigIntForKey:(NSString *)key inSection:(NSString *)section { - return [self lpConfigIntForKey:key inSection:section withDefault:-1]; -} -- (int)lpConfigIntForKey:(NSString *)key inSection:(NSString *)section withDefault:(int)defaultValue { - if (!key) - return defaultValue; - return linphone_config_get_int(_configDb, [section UTF8String], [key UTF8String], (int)defaultValue); -} - -- (void)lpConfigSetBool:(BOOL)value forKey:(NSString *)key { - [self lpConfigSetBool:value forKey:key inSection:LINPHONERC_APPLICATION_KEY]; -} -- (void)lpConfigSetBool:(BOOL)value forKey:(NSString *)key inSection:(NSString *)section { - [self lpConfigSetInt:(int)(value == TRUE) forKey:key inSection:section]; -} -- (BOOL)lpConfigBoolForKey:(NSString *)key { - return [self lpConfigBoolForKey:key withDefault:FALSE]; -} -- (BOOL)lpConfigBoolForKey:(NSString *)key withDefault:(BOOL)defaultValue { - return [self lpConfigBoolForKey:key inSection:LINPHONERC_APPLICATION_KEY withDefault:defaultValue]; -} -- (BOOL)lpConfigBoolForKey:(NSString *)key inSection:(NSString *)section { - return [self lpConfigBoolForKey:key inSection:section withDefault:FALSE]; -} -- (BOOL)lpConfigBoolForKey:(NSString *)key inSection:(NSString *)section withDefault:(BOOL)defaultValue { - if (!key) - return defaultValue; - int val = [self lpConfigIntForKey:key inSection:section withDefault:-1]; - return (val != -1) ? (val == 1) : defaultValue; -} - -#pragma mark - GSM management - -- (void)removeCTCallCenterCb { - if (mCallCenter != nil) { - LOGI(@"Removing CT call center listener [%p]", mCallCenter); - mCallCenter.callEventHandler = NULL; - } - mCallCenter = nil; -} - -- (BOOL)isCTCallCenterExist { - return mCallCenter != nil; -} - -- (void)setupGSMInteraction { - - [self removeCTCallCenterCb]; - mCallCenter = [[CTCallCenter alloc] init]; - LOGI(@"Adding CT call center listener [%p]", mCallCenter); - __block __weak LinphoneManager *weakSelf = self; - __block __weak CTCallCenter *weakCCenter = mCallCenter; - mCallCenter.callEventHandler = ^(CTCall *call) { - // post on main thread - [weakSelf performSelectorOnMainThread:@selector(handleGSMCallInteration:) - withObject:weakCCenter - waitUntilDone:YES]; - }; -} - -- (void)handleGSMCallInteration:(id)cCenter { - if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_9_x_Max) { - CTCallCenter *ct = (CTCallCenter *)cCenter; - // pause current call, if any - LinphoneCall *call = linphone_core_get_current_call(theLinphoneCore); - if ([ct currentCalls] != nil) { - if (call) { - LOGI(@"Pausing SIP call because GSM call"); - CallManager.instance.speakerBeforePause = [CallManager.instance isSpeakerEnabled]; - linphone_call_pause(call); - [self startCallPausedLongRunningTask]; - } else if (linphone_core_is_in_conference(theLinphoneCore)) { - LOGI(@"Leaving conference call because GSM call"); - linphone_core_leave_conference(theLinphoneCore); - [self startCallPausedLongRunningTask]; - } - } // else nop, keep call in paused state - } -} - -- (NSString *)contactFilter { - NSString *filter = @"*"; - if ([self lpConfigBoolForKey:@"contact_filter_on_default_domain"]) { - LinphoneAccount *account = linphone_core_get_default_account(theLinphoneCore); - LinphoneAccountParams const *accountParams = linphone_account_get_params(account); - if (account && linphone_account_params_get_server_addr(accountParams)) { - return [NSString stringWithCString:linphone_account_params_get_domain(accountParams) - encoding:[NSString defaultCStringEncoding]]; - } - } - return filter; -} - -#pragma mark - InApp Purchase events - -- (void)inappReady:(NSNotification *)notif { - // Query our in-app server to retrieve InApp purchases - //[_iapManager retrievePurchases]; -} - -#pragma mark - - -- (MSList *) createAccountsNotHiddenList { - MSList *list = NULL; - const MSList *accounts = linphone_core_get_account_list(LC); - while (accounts) { - const char *isHidden = linphone_account_get_custom_param(accounts->data, "hidden"); - if (isHidden == NULL || strcmp(linphone_account_get_custom_param(accounts->data, "hidden"), "1") != 0) { - if (!list) { - list = bctbx_list_new(accounts->data); - } else { - bctbx_list_append(list, accounts->data); - } - } - accounts = accounts->next; - } - return list; -} - -- (void)removeAllAccounts { - linphone_core_clear_accounts(LC); - linphone_core_clear_all_auth_info(LC); -} - -+ (BOOL)isMyself:(const LinphoneAddress *)addr { - if (!addr) - return NO; - - const MSList *accounts = linphone_core_get_account_list(LC); - while (accounts) { - if (linphone_address_weak_equal(addr, linphone_account_params_get_identity_address(linphone_account_get_params(accounts->data)))) { - return YES; - } - accounts = accounts->next; - } - return NO; -} - -// ugly hack to export symbol from liblinphone so that they are available for the linphoneTests target -// linphoneTests target do not link with liblinphone but instead dynamically link with ourself which is -// statically linked with liblinphone, so we must have exported required symbols from the library to -// have them available in linphoneTests -// DO NOT INVOKE THIS METHOD -- (void)exportSymbolsForUITests { - linphone_address_set_header(NULL, NULL, NULL); -} - -- (void)checkNewVersion { - if (!CHECK_VERSION_UPDATE) - return; - if (theLinphoneCore == nil) - return; - NSString *curVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"]; - const char *curVersionCString = [curVersion cStringUsingEncoding:NSUTF8StringEncoding]; - linphone_core_check_for_update(theLinphoneCore, curVersionCString); -} - -- (void)loadAvatar { - NSString *assetId = [self lpConfigStringForKey:@"avatar"]; - __block UIImage *ret = nil; - if (assetId) { - PHFetchResult *assets = [PHAsset fetchAssetsWithLocalIdentifiers:[NSArray arrayWithObject:assetId] options:nil]; - if (![assets firstObject]) { - LOGE(@"Can't fetch avatar image."); - } - PHAsset *asset = [assets firstObject]; - // load avatar synchronously so that we can return UIIMage* directly - since we are - // only using thumbnail, it must be pretty fast to fetch even without cache. - PHImageRequestOptions *options = [[PHImageRequestOptions alloc] init]; - options.synchronous = TRUE; - [[PHImageManager defaultManager] requestImageForAsset:asset targetSize:PHImageManagerMaximumSize contentMode:PHImageContentModeDefault options:options - resultHandler:^(UIImage *image, NSDictionary * info) { - if (image) - ret = [UIImage UIImageThumbnail:image thumbSize:150]; - else - LOGE(@"Can't read avatar"); - }]; - } - - if (!ret) { - ret = [UIImage imageNamed:@"avatar.png"]; - } - _avatar = ret; -} - -#pragma mark - Conference - - - -void conference_participant_changed(LinphoneConference *conference, const LinphoneParticipant *participant) { - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneConfStateParticipantListChanged object:nil]; -} - -void conference_device_changed(LinphoneConference *conference, const LinphoneParticipantDevice *participant) { - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneConfStateParticipantListChanged object:nil]; -} - -void linphone_iphone_conference_state_changed(LinphoneCore *lc, LinphoneConference *conf,LinphoneConferenceState state) { - - if (state == LinphoneConferenceStateCreated) { - LinphoneConferenceCbs * cbs = linphone_factory_create_conference_cbs(linphone_factory_get()); - linphone_conference_cbs_set_participant_added(cbs, conference_participant_changed); - linphone_conference_cbs_set_participant_device_added(cbs, conference_device_changed); - linphone_conference_cbs_set_participant_device_removed(cbs, conference_device_changed); - linphone_conference_cbs_set_participant_removed(cbs, conference_participant_changed); - linphone_conference_add_callbacks(conf, cbs); - } - NSMutableDictionary *dict = [NSMutableDictionary dictionary]; - [dict setObject:[NSNumber numberWithInt:state] forKey:@"state"]; - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneConfStateChanged object:nil userInfo:dict]; -} - -+ (BOOL) getChatroomPushEnabled:(LinphoneChatRoom *)chatroom { - bool currently_enabled = true; - NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:kLinphoneMsgNotificationAppGroupId]; - NSDictionary *chatroomsPushStatus = [defaults dictionaryForKey:@"chatroomsPushStatus"]; - if (chatroomsPushStatus != nil && chatroom) { - char *uri = linphone_address_as_string_uri_only(linphone_chat_room_get_peer_address(chatroom)); - NSString* pushStatus = [chatroomsPushStatus objectForKey:[NSString stringWithUTF8String:uri]]; - currently_enabled = (pushStatus == nil) || [pushStatus isEqualToString:@"enabled"]; - ms_free(uri); - } - return currently_enabled; -} - -+ (void) setChatroomPushEnabled:(LinphoneChatRoom *)chatroom withPushEnabled:(BOOL)enabled { - if (!chatroom) return; - - NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:kLinphoneMsgNotificationAppGroupId]; - NSMutableDictionary *chatroomsPushStatus = [[NSMutableDictionary alloc] initWithDictionary:[defaults dictionaryForKey:@"chatroomsPushStatus"]]; - if (chatroomsPushStatus == nil) chatroomsPushStatus = [[NSMutableDictionary dictionary] init]; - - char *uri = linphone_address_as_string_uri_only(linphone_chat_room_get_peer_address(chatroom)); - [chatroomsPushStatus setValue:(enabled ? @"enabled" : @"disabled") forKey:[NSString stringWithUTF8String:uri]]; - ms_free(uri); - - [defaults setObject:chatroomsPushStatus forKey:@"chatroomsPushStatus"]; -} - -@end diff --git a/Classes/LinphoneUI/Base.lproj/StatusBarView.strings b/Classes/LinphoneUI/Base.lproj/StatusBarView.strings deleted file mode 100644 index 3ca9a0d25ec5c2919190ca26c1607b3c4af450f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1058 zcmcJO%TB^z5QV>WpQ2$&0!A^qFmAjoFd7YB;+8_il8OlzBQLLhMXgnf(1mH*%>U2n z%$bujuP*@`)CoBxrOU)8WZ$>OHEj-90T3}a@3_p diff --git a/Classes/LinphoneUI/Base.lproj/StatusBarView.xib b/Classes/LinphoneUI/Base.lproj/StatusBarView.xib deleted file mode 100644 index ecf23cbb5..000000000 --- a/Classes/LinphoneUI/Base.lproj/StatusBarView.xib +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/LinphoneUI/Base.lproj/TabBarView.strings b/Classes/LinphoneUI/Base.lproj/TabBarView.strings deleted file mode 100644 index cf4ea9723f634d8b82778e6f4e1142f424d9fadb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3650 zcmd6qTTjA35QWcke+A)5O^OO~i}67rQ4DJ0CC0~6tAG^}C@OzmJrv4iyR{t(iP_LJ zyVKqM=IqQYKi>xSv4;$5aA9G{mca>sSv;VDGmPM|_0eO`G5ampY>sc)K?@yz*P+E2 zO^&rV;?8HNq0K&T_T>#nyBxRK(?ET0Rh*6QaVG}fi^wHfB|D#Cc^!juY>()ItV7=) z0}@X?62( ztrthQh#z^RUHRv7Nadax6}GRUiye~g#;_J}q|i=!q!AdmzLeb~$rs}+$VF9D*W?Ih zT4al0F6o{mnQzq}@1&VzRtv9uOQwo?1`Cj%!eqOU`XTVBL>oO#Fq2%HbahG1JsCvh z@Fw-@!$h9(WwM%$*rw4LR4bi@Go;Rnhr1m+y z - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/LinphoneUI/Base.lproj/UICallCell.strings b/Classes/LinphoneUI/Base.lproj/UICallCell.strings deleted file mode 100644 index cc5ae2ee6e7e4b5fc36999454f6737ee83d728a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9820 zcmds7T~AX%5S{1#iiRg80qF-wF+NB^gP7SEF0WqwnLbA5ZOMR0O<$h zV@Nl5h;;etBb#T4;Z>G3MiKSL+pW<@OumoTAMwx~5A+Y>a5JN<%z51)d!> zPnSo_VVNC( z(>ZcJiQs0dv|T}^w!aX&l{etU)=Zt8wU>&GyOlh~8$o>1YnUjnBFaU4woNTYO%0pP+BK@#8Tj5|R~7k*MWZj!9nkGt+P?FV0gcpDk$Y2B)S^Yhg~U0;iUfQ@l4VFU>yV-k$5k1@so9>pGQ9S)D?) z<`wNe)8f&_Ms|hlGoHJa@r>VX(ifX*!YswE*==siTD+QE&elxsk9ZD_nMFF&Y144x z6ClR7;p_LV}eqD5ofuRR|hv1#--Z#5O8-G7&# z#f;MK>hm?%NoCvB;;gD8u7NRgAR}M1x~hCFMMLx6wVWl_qMzB>&7YStCSuX3XVzva zzPJwBkKC@hoC7{_ipb-cVsydH3r^~b3#kBtk(Ktczrov-Y!D_klGqxd&8a)57Zdr-#_y~68&zGD~7N5pl-|Ev)g z-*f7xM0`lyH?`_AyO%f2?ql&iEKThk(OY_r?6>g?sio{&75hwZUE$gl8a&$l kVRM(Btn3?s38uq6@cBsZ@jAipi0lc{b%l#n?x{w90QqW`M*si- diff --git a/Classes/LinphoneUI/Base.lproj/UICallConferenceCell.strings b/Classes/LinphoneUI/Base.lproj/UICallConferenceCell.strings deleted file mode 100644 index e24779e2c5704b0a17e1f69c265a955ef149da99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1504 zcmd6nPfNo<5XIj)pCaT~Xss3lDqfmiQiK-#2fam!x}qs)s_mCoe@Sd>!{QoBLBbB3 zotd3^@9pmAho?QYII%Nd9RID@BZj|B+bi!()TfVf6Gk6Rhqg;z0k<0u@ zQ)T#yoSfW@*)zG-P9w4(`73;}2CJ%}dYY@v>J|1vA$?RCEjsm>+afxD>MU4Q`K>pP zDor@aK`}28R=f?t{Qz1YRMVZ|T~=LVvej*hW%v3Hb&uw4O>~5f;cZaU*B0@g^zEvv zW5xk?Ux$wKY(ukoo^25wc&Sd+T3=gTm%cGKE`jls+hnls-`#GbbD}r)EbjG-1N)d8 z9-;C==U4-0y_(jxh;6m5_vhlMuNi3a^0jLI%8lV+#(U^`*D{TC2MeLDv3=sB8W*;R Krd(`xZL9ux^)oezDT`|=f-G4! zyOVwM=FQ97YoIMP6{@3&26|+KI^t=lr&!0D%Q9w~vUAA(KqE$yA&rJId}lyB>zuP8 zCzIlaD|Y4}lh1E2Iltp=1U}YDfs6G5E>fS<2>dBGuA((z7qE6AT0i2_D56x^1l;>w z=CM-lAH((rHi?!S#jTr5o!;N9zLtN0p|WRme1z+b?$_$;Lj0%tw&~ado*m|G?Rom#l}**pE<_7I Mtz1>s*A+L=J1@QDt^fc4 diff --git a/Classes/LinphoneUI/Base.lproj/UIChatBubblePhotoCell.strings b/Classes/LinphoneUI/Base.lproj/UIChatBubblePhotoCell.strings deleted file mode 100644 index 9af3a1d6a28b207220eca9ba1114eeb8e7a07710..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3182 zcmcJRUvttx6vfXopCZ%8&VWV7cGU3!p(>RrltDW_rjfR2nszX>)DN%yC9wQimuzEk zcGxVNyV-m0J@@SX`CZX7?J7`Hu|oZ%1$xVGN1xT!J57|*u9YzJhWSttZJ1k*bfyvO zMp)dd!@D!y#EUO9nMrc%c)q%e#dmBXR#91|FZwb6Zs#j@@vp+zWl?*S zH#>`6Y=0_zxg7e0NQ`yGzOe>5?ie&CVofzb(9|KZm_=*bc-{N2B3$=i+X%b50k7f0 zCUk9m$g`Q`{gg}}TG@12)cCF|x=VDcyZewW+4wKK&G???>`KXQ!srUz#W_8q2KunK zuM_%-?)2V5?XoD(;my94jY$foDL4&(>#FOuUg#w=N95uXnBOjZM(!+=cbhA2}p3p(nda8-66(C@MGqs0Q3MOha3 zJ@m!tY092);tqDiJVS3xj&%U1s=7cIv-;SFbF(NKb$3~mkICOYm5+j3gG`0A)YT~( z-{IMyGK#t2LiHHjZXcF4;_||W)Yd~&c?OyNev`JJ>IZ6`ozXq|uQ0rC<@&$_QJ&Mq{#En< DVcgtx diff --git a/Classes/LinphoneUI/Base.lproj/UIChatBubblePhotoCell.xib b/Classes/LinphoneUI/Base.lproj/UIChatBubblePhotoCell.xib deleted file mode 100644 index b028b60e4..000000000 --- a/Classes/LinphoneUI/Base.lproj/UIChatBubblePhotoCell.xib +++ /dev/null @@ -1,268 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/LinphoneUI/Base.lproj/UIChatBubbleTextCell.strings b/Classes/LinphoneUI/Base.lproj/UIChatBubbleTextCell.strings deleted file mode 100644 index 87c5684aa090ce1c59c268b95ddce2e123315007..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 736 zcmcJMPY=OR5X9%)Pto+)L=jwwi*l$maY5pU5EWXXf-jFB`X>>oILJ$1w!5=CGy85= zLuJ`A;i#>g=Xv1=nrTga zPN%1C#^7oKXNlaBJ5opWguzCYLHr5fWc*e(saS!*tRj~_DrV^0BynTPf1^>rUR^ eyo&OsYHHxQ&kj~NH+kFWZ{AY{xxa534BY`{m1`0J diff --git a/Classes/LinphoneUI/Base.lproj/UIChatBubbleTextCell.xib b/Classes/LinphoneUI/Base.lproj/UIChatBubbleTextCell.xib deleted file mode 100644 index 7cbb944c2..000000000 --- a/Classes/LinphoneUI/Base.lproj/UIChatBubbleTextCell.xib +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/LinphoneUI/Base.lproj/UIChatCell.strings b/Classes/LinphoneUI/Base.lproj/UIChatCell.strings deleted file mode 100644 index 0c24079ac88fc82a55522737464314e62357b92d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1566 zcmbu9OHaZ;6ot>azoO}q1hgc^pmAYfAqp`jYKXh4RjLSDiH|?8e$z5kp`nbVX*->{ zuXE4o{r>W_rJ8)THBzKkE?)=SfiBclkG*TfoCVrvH_{DPoY^IuB%CCg>hqVS^>1sU zF=xhSitm`!6TW$*Q@kJeGG|?N=2@HCo>|nW%wuhK8f#?^=22GV_K50&c}kTZ8G^ho z$KV=*#;5AZzwy|pMa^Y#U2ApWr%&yM?@0G+pa_>(37uJ4&ghEIcFk(+943-Xv-vZE zmFG;!Mx{ge8R?c)%D&Owrg&}sg0;;m*c5+Dt&0EYN&~&9o@uqNUH0DEna1-l&md{0-9sJB>dE=cjU3}dU(@dKfK37kW2+JmjPq3~tUqT%% zATG0ToiNoER`qFdw%U$cZHH98$Gua5H-*(hkoNV+v!^o{&pTu%XqiPB!+$e+`T<)l B< - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/LinphoneUI/Base.lproj/UIChatConversationImdnTableViewCell.strings b/Classes/LinphoneUI/Base.lproj/UIChatConversationImdnTableViewCell.strings deleted file mode 100644 index 94a957dd5e2888afcf8ab3efd639018db28e5d2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 706 zcmb7?OAo<76ot>azoO|p_ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/LinphoneUI/Base.lproj/UIChatConversationInfoTableViewCell.strings b/Classes/LinphoneUI/Base.lproj/UIChatConversationInfoTableViewCell.strings deleted file mode 100644 index 86570c18c354390e6b4a7520ea5fe11581777657..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 644 zcmaixISax-5QV=wzapd*qMa6E;n8?t6t%F_s2ET1LjSz_JhC3FhLB;|eKYgEnakNB zLkgEN3kGcUxfJw!^r+I%-H@@~Jo38T>3md-HAO}&iC8_~1F2`ygwj;07+r-v9efVd z6>|ipVoLoTW!n^K)6X-NK07+f{pY{LUNv^Cjl+Swg>rZ!jpR0xlSqow8*5Bg5`D-# zfvrYMQ}CJ6Rt(fB`^<>hY>M=~c9N49_q&%Q>ZGmJG>@r#x|;f0vv};j`Z` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/LinphoneUI/Base.lproj/UIChatCreateCell.strings b/Classes/LinphoneUI/Base.lproj/UIChatCreateCell.strings deleted file mode 100644 index 2c2a4ba7f3a2a1865ae17106df5505f1d477f50b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 730 zcmbu7%MQU%5QhJCpQ7nfq7pk1iD02FvBBP@sGvgQ_VD=7Rw4%xX*!)VXJ*cP=kMig zDW{BVRkhGSTOL~_UPnE7Y7raCXU|cQXoP>jCOLD3nrS6hV?1AFG6U9Yq9I?OolqN1 zD+HDo|dRNWy(Gp`P#>44^U&o`lfw=KEYkX2o0X< lCwjMD)cwr6<1ZLPI#CnbhIjeGYszq$^7}+j#Z5C=x&q1&Z_oe$ diff --git a/Classes/LinphoneUI/Base.lproj/UIChatCreateCell.xib b/Classes/LinphoneUI/Base.lproj/UIChatCreateCell.xib deleted file mode 100644 index f204268d9..000000000 --- a/Classes/LinphoneUI/Base.lproj/UIChatCreateCell.xib +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/LinphoneUI/Base.lproj/UIChatCreateCollectionViewCell.strings b/Classes/LinphoneUI/Base.lproj/UIChatCreateCollectionViewCell.strings deleted file mode 100644 index c4186dcaa445e34304e704e7189447b464cefafc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmezWkBdQ{L5o3w!I>e4A(5dN2o)G?fmn$ll);n12Pl@rkP4JjVz35^mH^omKoX|L ziy@yOgCP&dcLB0ep{o3Wda{7LWS~k - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/LinphoneUI/Base.lproj/UIChatRoomCell.strings b/Classes/LinphoneUI/Base.lproj/UIChatRoomCell.strings deleted file mode 100644 index aa7f96da12644315b0343dfa8dd8fcbd795bdf4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2580 zcmds3O;5r=5Pj$ViVa61s9=a6@ggLKsPTf{3lym-#gyX5pI6`Pwv><3rEoAYP2274 z?##S>Z)f}S?cf+yD6|p4#f+E2HSY?Z(8UerhCK5(9>#rRQd#TxmXEgRz22I5v}Zf)^xYjCKtr(Cs=TAvd2(1N&$<{DzL zlvnd+%hBihB!5x<9Q&v-{k z4k6oej!3pq;&C~$(b1}(x@F&O<0xIDOojh{m27G{tRA+trsTgsPXAc*9+F>SJhHGf x!Yx^^;f{X*HI5%qJ7({tXMf&^@;gmbUzB0_70Rz|X)XPWHObE?)44q-2fq(Ol`#MS diff --git a/Classes/LinphoneUI/Base.lproj/UICompositeView.xib b/Classes/LinphoneUI/Base.lproj/UICompositeView.xib deleted file mode 100644 index 1989d890d..000000000 --- a/Classes/LinphoneUI/Base.lproj/UICompositeView.xib +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/LinphoneUI/Base.lproj/UICompositeView~ipad.xib b/Classes/LinphoneUI/Base.lproj/UICompositeView~ipad.xib deleted file mode 100644 index 82cbd8e30..000000000 --- a/Classes/LinphoneUI/Base.lproj/UICompositeView~ipad.xib +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/LinphoneUI/Base.lproj/UIConfirmationDialog.strings b/Classes/LinphoneUI/Base.lproj/UIConfirmationDialog.strings deleted file mode 100644 index b4edc2ae20b4ccef993d9520a3b55c84ef6167ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1070 zcmchW-Acni5QWcmo+9+JkcxOIB25!YF(}gd0IjWU${HbUsQU2gm(7nfq(o3;*|6E1 znVs*<=JUhRnfh`ylF?i{hN~-PPY;^NSEfDVMF~5X>?f>KJ)b%Vg9CH07VPM%p*uxIO zDdhLCrO - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/LinphoneUI/Base.lproj/UIContactCell.strings b/Classes/LinphoneUI/Base.lproj/UIContactCell.strings deleted file mode 100644 index aca210d0b4a045eac6418a7769b8d0adcb5c4318..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 398 zcmbV{F$%&^5JX@7PZ3h4&@PQwDMCcB@&GXejHm%kp_f-5YNAC7mF2_Vot@d4+chvG zA!5RgoRbwX_QkBoSU6i#ip7ka<`h=>*sDY;k&1@P$7ai)i5%T*ILO<}dTK1?ZS4w? yjA?f-ec_3Yg8!7kSNGyhq5on~?U#&=-p+b!bIhsPm?6?@{a1=s@$IxvGjIp8KRe_A diff --git a/Classes/LinphoneUI/Base.lproj/UIContactCell.xib b/Classes/LinphoneUI/Base.lproj/UIContactCell.xib deleted file mode 100644 index 1f68f7212..000000000 --- a/Classes/LinphoneUI/Base.lproj/UIContactCell.xib +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/LinphoneUI/Base.lproj/UIContactDetailsCell.strings b/Classes/LinphoneUI/Base.lproj/UIContactDetailsCell.strings deleted file mode 100644 index 3b0b47e8db79521ed13adc2e09dee56ff200b6dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1492 zcmd6nPfNo<6vXG8Pf>a-q>AWC1Zj&J6pP{?>@BI$q^yZ(75(z+uSt`bu#i>{%960z zeY=^NH}8FZINDH89SvpV>zUEf9#2=7@-)zk=8RMcE4!@wnli#HGFG6Nb1@O`I$(X16T0fBF8TCZG2N_ZHri+b%muZ*OhB? z9CPyWhC_=gnBn~h_xH(G%HBTCkM+p+!uJWYD65W;l~hl - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/LinphoneUI/Base.lproj/UIHistoryCell.strings b/Classes/LinphoneUI/Base.lproj/UIHistoryCell.strings deleted file mode 100644 index 731db2b00922b470c24f8112be6a8586ed99b09a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 470 zcmcJLKMTSz6vTgXK1Ik_@DHxyWKpVulOLd#q7}8E8PpH29%`yX1|1|MB=7FtyUXor z=#XF;vL)xJWf^EY7G%s+TT%*h^i|C%w8{ss5>g4N@SH!GK|d055Yw}lZYR~V$6UIN zUWJg1w3&BdOpg{*Ryw=lq%TDxk4E MB@I*GX<~B?cVW0jfB*mh diff --git a/Classes/LinphoneUI/Base.lproj/UIHistoryCell.xib b/Classes/LinphoneUI/Base.lproj/UIHistoryCell.xib deleted file mode 100644 index 39fb1c76d..000000000 --- a/Classes/LinphoneUI/Base.lproj/UIHistoryCell.xib +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/LinphoneUI/Base.lproj/UIMainBar.strings b/Classes/LinphoneUI/Base.lproj/UIMainBar.strings deleted file mode 100644 index 7dcd85f93ea7518de1f6b0f7666900705a31380d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2688 zcmcJRO;3YB5Qg6~zk>9nJ?NqKgBUN;gH1FZ)E_{RD2CRgV4{CseObGJ%TPM8hBRq* z>C8U+%+B`f)59r-@DUj_=BIWN=zVU%; z&Mi5URS`lwbFA3@@|LqNoR2xOz`S~EyqzC%B_6+zak5vIK^38y$72i~(VBD{te7*y zyb?i*lcHCV5OBR~WQJC{wum*S2%^bR!noi26CzR`>?g(W!{0oyD zzu6hu8T1sI3cO?Om3=-X*;B8l!0{BQJxTfWgz`RGPg0KVJ|Qv5@oP^~hCYh=mek*; zH>Qv0boI#lDKQxHzd0WF09FY z;+?K=Z-zU|eS`__B>26c&F<|RJn@X*bG$L7$^Oay?tUBDH1NGoomxt*eFR&pfjEEX zY)ntcFAKODSgre?-lBEGPGz6)ihi+y*qjCn2D?4CnNchqZ=}Ae7yq=pK;MSvZ9tVkg6s$vIvdT zgd{z^LwOdNk)+|LBzcnK8%mOb-i3zKE&4*<=Tr3g#~`POPAyXTh_+)(ntGS=Trw+3 z!_Ug+OV%*FB$bd8vs>!-)$5|`ZNcmT-F#m3_az;H+i{@6B8nVxk(yjcU+X=ClQ*nB zrZyt38ecE>`QS)~4ad^vq^X{t^Ra@P{2Y~_k`^_o^c*U^UsCa9p`8bwQ4Jf}4M)LI3X4Ii$?pUuufZWqNv7 z58V`v8`&9hTA*E{e?jZ9f6^m*BQfXs*6M(lD^4?HU0p^N>RWvoUoG}^RSJ1fiYyfM z!NPu4Ja*{*A`XpM92);74km|hWG&>5qqc_3zB;TytiH=`8miFVE`v#ndAa%t?mFY+Px|SNO_jIAV7{;_4hhh8zUX%}w diff --git a/Classes/LinphoneUI/StatusBarView.h b/Classes/LinphoneUI/StatusBarView.h deleted file mode 100644 index ff3f661f6..000000000 --- a/Classes/LinphoneUI/StatusBarView.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import "TPMultiLayoutViewController.h" -#import "UIConfirmationDialog.h" -#import "LinphoneManager.h" - -@interface StatusBarView : UIViewController { - UIConfirmationDialog *securityDialog; -} - -@property(weak, nonatomic) IBOutlet UIButton *registrationState; -@property(nonatomic, strong) IBOutlet UIButton *callSecurityButton; -@property(weak, nonatomic) IBOutlet UIButton *voicemailButton; -@property(weak, nonatomic) IBOutlet UIButton *callQualityButton; -//@property (weak, nonatomic) IBOutlet UILabel *localpushIndicator; - -@property(weak, nonatomic) IBOutlet UIView *incallView; -@property(weak, nonatomic) IBOutlet UIView *outcallView; - -- (IBAction)onSecurityClick:(id)sender; -- (IBAction)onQualityClick:(id)sender; -- (IBAction)onSideMenuClick:(id)sender; -- (IBAction)onRegistrationStateClick:(id)sender; -+ (UIImage *)imageForState:(LinphoneRegistrationState)state; -@end diff --git a/Classes/LinphoneUI/StatusBarView.m b/Classes/LinphoneUI/StatusBarView.m deleted file mode 100644 index 9ef7a8c28..000000000 --- a/Classes/LinphoneUI/StatusBarView.m +++ /dev/null @@ -1,438 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "StatusBarView.h" -#import "LinphoneManager.h" -#import "PhoneMainView.h" -#import -#import "linphoneapp-Swift.h" - -@implementation StatusBarView { - - NSTimer *callQualityTimer; - NSTimer *callSecurityTimer; - int messagesUnreadCount; -} - -#pragma mark - Lifecycle Functions - -- (void)dealloc { - [NSNotificationCenter.defaultCenter removeObserver:self]; - [callQualityTimer invalidate]; -} - -#pragma mark - ViewController Functions - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - - // Set observer - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(registrationUpdate:) - name:kLinphoneRegistrationUpdate - object:nil]; - - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(globalStateUpdate:) - name:kLinphoneGlobalStateUpdate - object:nil]; - - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(notifyReceived:) - name:kLinphoneNotifyReceived - object:nil]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(mainViewChanged:) - name:kLinphoneMainViewChange - object:nil]; - - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(callUpdate:) - name:kLinphoneCallUpdate - object:nil]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(onCallEncryptionChanged:) - name:kLinphoneCallEncryptionChanged - object:nil]; - - // Update to default state - LinphoneAccount *account = linphone_core_get_default_account(LC); - messagesUnreadCount = linphone_config_get_int(linphone_core_get_config(LC), "app", "voice_mail_messages_count", 0); - - [self accountUpdate:account]; - [self updateUI:linphone_core_get_calls_nb(LC)]; - [self updateVoicemail]; - - /*if (@available(iOS 15.0, *)) { - [LocalPushManager.shared addActiveCallBackObserverWithAction:^(BOOL active) { - _localpushIndicator.hidden = !active; - }]; - } else { - _localpushIndicator.hidden = true; - }*/ - - -} - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - - // Remove observer - [NSNotificationCenter.defaultCenter removeObserver:self name:kLinphoneRegistrationUpdate object:nil]; - [NSNotificationCenter.defaultCenter removeObserver:self name:kLinphoneGlobalStateUpdate object:nil]; - [NSNotificationCenter.defaultCenter removeObserver:self name:kLinphoneNotifyReceived object:nil]; - [NSNotificationCenter.defaultCenter removeObserver:self name:kLinphoneCallUpdate object:nil]; - [NSNotificationCenter.defaultCenter removeObserver:self name:kLinphoneMainViewChange object:nil]; - - if (callQualityTimer != nil) { - [callQualityTimer invalidate]; - callQualityTimer = nil; - } - if (callSecurityTimer != nil) { - [callSecurityTimer invalidate]; - callSecurityTimer = nil; - } - - if (securityDialog != nil) { - [securityDialog dismiss]; - securityDialog = nil; - } -} - -#pragma mark - Event Functions - -- (void)registrationUpdate:(NSNotification *)notif { - LinphoneAccount *account = linphone_core_get_default_account(LC); - [self accountUpdate:account]; -} - -- (void)globalStateUpdate:(NSNotification *)notif { - [self registrationUpdate:nil]; -} - -- (void)mainViewChanged:(NSNotification *)notif { - [self registrationUpdate:nil]; -} - -- (void)onCallEncryptionChanged:(NSNotification *)notif { - LinphoneCall *call = linphone_core_get_current_call(LC); - - if (call && (linphone_call_params_get_media_encryption(linphone_call_get_current_params(call)) == - LinphoneMediaEncryptionZRTP) && - (!linphone_call_get_authentication_token_verified(call))) { - [self onSecurityClick:nil]; - } -} - -- (void)notifyReceived:(NSNotification *)notif { - const LinphoneContent *content = [[notif.userInfo objectForKey:@"content"] pointerValue]; - - if ((content == NULL) || (strcmp("application", linphone_content_get_type(content)) != 0) || - (strcmp("simple-message-summary", linphone_content_get_subtype(content)) != 0) || - (linphone_content_get_buffer(content) == NULL)) { - return; - } - const uint8_t *bodyTmp = linphone_content_get_buffer(content); - const char *body = (const char *)bodyTmp; - if ((body = strstr(body, "voice-message: ")) == NULL) { - LOGW(@"Received new NOTIFY from voice mail but could not find 'voice-message' in BODY. Ignoring it."); - return; - } - - sscanf((const char *)body, "voice-message: %d", &messagesUnreadCount); - - LOGI(@"Received new NOTIFY from voice mail: there is/are now %d message(s) unread", messagesUnreadCount); - - // save in lpconfig for future - linphone_config_set_int(linphone_core_get_config(LC), "app", "voice_mail_messages_count", messagesUnreadCount); - - [self updateVoicemail]; -} - -- (void)updateVoicemail { - _voicemailButton.hidden = (messagesUnreadCount <= 0); - _voicemailButton.titleLabel.text = @(messagesUnreadCount).stringValue; -} - -- (void)callUpdate:(NSNotification *)notif { - // show voice mail only when there is no call - [self updateUI:linphone_core_get_calls(LC) != NULL]; - [self updateVoicemail]; -} - -#pragma mark - - -+ (UIImage *)imageForState:(LinphoneRegistrationState)state { - switch (state) { - case LinphoneRegistrationFailed: - return [UIImage imageNamed:@"led_error.png"]; - case LinphoneRegistrationCleared: - case LinphoneRegistrationNone: - return [UIImage imageNamed:@"led_disconnected.png"]; - case LinphoneRegistrationProgress: - case LinphoneRegistrationRefreshing: - return [UIImage imageNamed:@"led_inprogress.png"]; - case LinphoneRegistrationOk: - return [UIImage imageNamed:@"led_connected.png"]; - } -} -- (void)accountUpdate:(LinphoneAccount *)account { - LinphoneRegistrationState state = LinphoneRegistrationNone; - NSString *message = nil; - LinphoneGlobalState gstate = linphone_core_get_global_state(LC); - - if ([PhoneMainView.instance.currentView equal:AssistantView.compositeViewDescription] || [PhoneMainView.instance.currentView equal:CountryListView.compositeViewDescription]) { - message = NSLocalizedString(@"Configuring account", nil); - } else if (gstate == LinphoneGlobalOn && !linphone_core_is_network_reachable(LC)) { - message = NSLocalizedString(@"Network down", nil); - } else if (gstate == LinphoneGlobalConfiguring) { - message = NSLocalizedString(@"Fetching remote configuration", nil); - } else if (account == NULL) { - state = LinphoneRegistrationNone; - MSList *accounts = [LinphoneManager.instance createAccountsNotHiddenList]; - if (accounts != NULL) { - message = NSLocalizedString(@"No default account", nil); - } else { - message = NSLocalizedString(@"No account configured", nil); - } - bctbx_free(accounts); - - } else { - state = linphone_account_get_state(account); - - switch (state) { - case LinphoneRegistrationOk: - message = NSLocalizedString(@"Connected", nil); - break; - case LinphoneRegistrationNone: - case LinphoneRegistrationCleared: - message = NSLocalizedString(@"Not connected", nil); - break; - case LinphoneRegistrationFailed: - message = NSLocalizedString(@"Connection failed", nil); - break; - case LinphoneRegistrationProgress: - message = NSLocalizedString(@"Connection in progress", nil); - break; - default: - break; - } - } - [_registrationState setTitle:message forState:UIControlStateNormal]; - _registrationState.accessibilityValue = message; - [_registrationState setImage:[self.class imageForState:state] forState:UIControlStateNormal]; -} - -#pragma mark - - -- (void)updateUI:(BOOL)inCall { - BOOL hasChanged = (_outcallView.hidden != inCall); - - _outcallView.hidden = inCall; - _incallView.hidden = !inCall; - - if (!hasChanged) - return; - - if (callQualityTimer) { - [callQualityTimer invalidate]; - callQualityTimer = nil; - } - if (callSecurityTimer) { - [callSecurityTimer invalidate]; - callSecurityTimer = nil; - } - if (securityDialog) { - [securityDialog dismiss]; - } - - // if we are in call, we have to update quality and security icons every sec - if (inCall) { - callQualityTimer = [NSTimer scheduledTimerWithTimeInterval:1 - target:self - selector:@selector(callQualityUpdate) - userInfo:nil - repeats:YES]; - callSecurityTimer = [NSTimer scheduledTimerWithTimeInterval:1 - target:self - selector:@selector(callSecurityUpdate) - userInfo:nil - repeats:YES]; - } -} - -- (void)callSecurityUpdate { - BOOL pending = false; - BOOL security = true; - - const MSList *list = linphone_core_get_calls(LC); - if (list == NULL) { - if (securityDialog) { - [securityDialog dismiss]; - } - } else { - _callSecurityButton.hidden = NO; - while (list != NULL) { - LinphoneCall *call = (LinphoneCall *)list->data; - LinphoneMediaEncryption enc = - linphone_call_params_get_media_encryption(linphone_call_get_current_params(call)); - if (enc == LinphoneMediaEncryptionNone) - security = false; - else if (enc == LinphoneMediaEncryptionZRTP) { - if (!linphone_call_get_authentication_token_verified(call)) { - pending = true; - } - } - list = list->next; - } - NSString *imageName = - (security ? (pending ? @"security_pending.png" : @"security_ok.png") : @"security_ko.png"); - [_callSecurityButton setImage:[UIImage imageNamed:imageName] forState:UIControlStateNormal]; - } -} - -- (void)callQualityUpdate { - LinphoneCall *call = linphone_core_get_current_call(LC); - if (call != NULL) { - int quality = MIN(4, floor(linphone_call_get_current_quality(call))); - NSString *accessibilityValue = [NSString stringWithFormat:NSLocalizedString(@"Call quality: %d", nil), quality]; - if (![accessibilityValue isEqualToString:_callQualityButton.accessibilityValue]) { - _callQualityButton.accessibilityValue = accessibilityValue; - _callQualityButton.hidden = NO; //(quality == -1.f); - UIImage *image = - (quality == -1.f) - ? [UIImage imageNamed:@"call_quality_indicator_0.png"] // nil - : [UIImage imageNamed:[NSString stringWithFormat:@"call_quality_indicator_%d.png", quality]]; - [_callQualityButton setImage:image forState:UIControlStateNormal]; - } - } -} - -#pragma mark - Action Functions - -- (IBAction)onSecurityClick:(id)sender { - if (linphone_core_get_calls_nb(LC)) { - LinphoneCall *call = linphone_core_get_current_call(LC); - if (call != NULL) { - LinphoneMediaEncryption enc = - linphone_call_params_get_media_encryption(linphone_call_get_current_params(call)); - if (enc == LinphoneMediaEncryptionZRTP) { - NSString *code = [NSString stringWithUTF8String:linphone_call_get_authentication_token(call)]; - NSString *myCode; - NSString *correspondantCode; - if (linphone_call_get_dir(call) == LinphoneCallIncoming) { - myCode = [code substringToIndex:2]; - correspondantCode = [code substringFromIndex:2]; - } else { - correspondantCode = [code substringToIndex:2]; - myCode = [code substringFromIndex:2]; - } - NSString *message = [NSString stringWithFormat:NSLocalizedString(@"\nCommunication security:\n\nTo raise the security level, you can check the following codes with your correspondent.\n\nSay: %1$@\n\nYour correspondent must say: %2$@", nil), - myCode.uppercaseString, correspondantCode.uppercaseString]; - - if ([UIApplication sharedApplication].applicationState != UIApplicationStateActive && - floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_9_x_Max) { - UNMutableNotificationContent *content = [[UNMutableNotificationContent alloc] init]; - content.title = NSLocalizedString(@"ZRTP verification", nil); - content.body = message; - content.categoryIdentifier = @"zrtp_request"; - content.userInfo = @{ - @"CallId" : [NSString - stringWithUTF8String:linphone_call_log_get_call_id(linphone_call_get_call_log(call))] - }; - - UNNotificationRequest *req = - [UNNotificationRequest requestWithIdentifier:@"zrtp_request" content:content trigger:NULL]; - [[UNUserNotificationCenter currentNotificationCenter] - addNotificationRequest:req - withCompletionHandler:^(NSError *_Nullable error) { - // Enable or disable features based on authorization. - if (error) { - LOGD(@"Error while adding notification request :"); - LOGD(error.description); - } - }]; - } else { - if (securityDialog == nil) { - __block __strong StatusBarView *weakSelf = self; - // define font of message - NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:message]; - NSUInteger length = [message length]; - UIFont *baseFont = [UIFont systemFontOfSize:21.0]; - [attrString addAttribute:NSFontAttributeName value:baseFont range:NSMakeRange(0, length)]; - UIFont *boldFont = [UIFont boldSystemFontOfSize:23.0]; - [attrString addAttribute:NSFontAttributeName value:boldFont range:[message rangeOfString:@"Communication security"]]; - UIColor *color = [UIColor colorWithRed:(150 / 255.0) green:(193 / 255.0) blue:(31 / 255.0) alpha:1.0]; - [attrString addAttribute:NSForegroundColorAttributeName value:color range:[message rangeOfString:myCode.uppercaseString]]; - [attrString addAttribute:NSForegroundColorAttributeName value:color range:[message rangeOfString:correspondantCode.uppercaseString]]; - - securityDialog = [UIConfirmationDialog ShowWithAttributedMessage:attrString - cancelMessage:NSLocalizedString(@"Later", nil) - confirmMessage:NSLocalizedString(@"Correct", nil) - onCancelClick:^() { - if (linphone_core_get_current_call(LC) == call) { - linphone_call_set_authentication_token_verified(call, NO); - } - weakSelf->securityDialog = nil; - [LinphoneManager.instance lpConfigSetString:[NSString stringWithUTF8String:linphone_call_get_remote_address_as_string(call)] forKey:@"sas_dialog_denied"]; - } - onConfirmationClick:^() { - if (linphone_core_get_current_call(LC) == call) { - linphone_call_set_authentication_token_verified(call, YES); - } - weakSelf->securityDialog = nil; - [LinphoneManager.instance lpConfigSetString:nil forKey:@"sas_dialog_denied"]; - } ]; - - securityDialog.securityImage.hidden = FALSE; - [securityDialog setSpecialColor]; - [securityDialog setWhiteCancel]; - } - } - } - } - } -} - -- (IBAction)onQualityClick:(id)sender { - [ControlsViewModelBridge toggleStatsVisibility]; -} - -- (IBAction)onSideMenuClick:(id)sender { - UICompositeView *cvc = PhoneMainView.instance.mainViewController; - [cvc hideSideMenu:(cvc.sideMenuView.frame.origin.x == 0)]; -} - - -- (IBAction)onRegistrationStateClick:(id)sender { - if (linphone_core_get_default_account(LC)) { - linphone_core_refresh_registers(LC); - } else { - - MSList *accounts = [LinphoneManager.instance createAccountsNotHiddenList]; - if (accounts) { - [PhoneMainView.instance changeCurrentView:SettingsView.compositeViewDescription]; - } else { - [PhoneMainView.instance changeCurrentView:AssistantView.compositeViewDescription]; - } - bctbx_free(accounts); - } -} - -@end diff --git a/Classes/LinphoneUI/TabBarView.h b/Classes/LinphoneUI/TabBarView.h deleted file mode 100644 index 938895722..000000000 --- a/Classes/LinphoneUI/TabBarView.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import "TPMultiLayoutViewController.h" -#import "UIBouncingView.h" - -@interface TabBarView : TPMultiLayoutViewController { -} - -@property(nonatomic, strong) IBOutlet UIButton *historyButton; -@property(nonatomic, strong) IBOutlet UIButton *contactsButton; -@property(nonatomic, strong) IBOutlet UIButton *dialerButton; -@property(nonatomic, strong) IBOutlet UIButton *chatButton; -@property(nonatomic, strong) IBOutlet UIBouncingView *historyNotificationView; -@property(nonatomic, strong) IBOutlet UIBouncingView *chatNotificationView; -@property(nonatomic, strong) IBOutlet UILabel *chatNotificationLabel; -@property(nonatomic, strong) IBOutlet UILabel *historyNotificationLabel; -@property(weak, nonatomic) IBOutlet UIImageView *selectedButtonImage; - -- (void)update:(BOOL)appear; - -- (IBAction)onHistoryClick:(id)event; -- (IBAction)onContactsClick:(id)event; -- (IBAction)onDialerClick:(id)event; -- (IBAction)onChatClick:(id)event; - -@end diff --git a/Classes/LinphoneUI/TabBarView.m b/Classes/LinphoneUI/TabBarView.m deleted file mode 100644 index 40369b36c..000000000 --- a/Classes/LinphoneUI/TabBarView.m +++ /dev/null @@ -1,194 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "TabBarView.h" -#import "PhoneMainView.h" -#import "linphoneapp-Swift.h" - -@implementation TabBarView - -#pragma mark - ViewController Functions - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(changeViewEvent:) - name:kLinphoneMainViewChange - object:nil]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(callUpdate:) - name:kLinphoneCallUpdate - object:nil]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(messageReceived:) - name:kLinphoneMessageReceived - object:nil]; - [self update:FALSE]; -} - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - [NSNotificationCenter.defaultCenter removeObserver:self]; -} - -- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { - [self update:FALSE]; -} - -#pragma mark - Event Functions - -- (void)callUpdate:(NSNotification *)notif { - // LinphoneCall *call = [[notif.userInfo objectForKey: @"call"] pointerValue]; - // LinphoneCallState state = [[notif.userInfo objectForKey: @"state"] intValue]; - [self updateMissedCall:linphone_core_get_missed_calls_count(LC) appear:TRUE]; -} - -- (void)changeViewEvent:(NSNotification *)notif { - UICompositeViewDescription *view = [notif.userInfo objectForKey:@"view"]; - if (view != nil) { - [self updateSelectedButton:view]; - } -} - -- (void)messageReceived:(NSNotification *)notif { - [self updateUnreadMessage:TRUE]; -} - -#pragma mark - UI Update - -- (void)update:(BOOL)appear { - [self updateSelectedButton:[PhoneMainView.instance currentView]]; - [self updateMissedCall:linphone_core_get_missed_calls_count(LC) appear:appear]; - if (![LinphoneManager.instance lpConfigBoolForKey:@"disable_chat_feature"]) { - [self updateUnreadMessage:appear]; - } -} - -- (void)updateUnreadMessage:(BOOL)appear { - int unreadMessage = [LinphoneManager unreadMessageCount]; - if (![LinphoneManager.instance lpConfigBoolForKey:@"disable_chat_feature"]) { - if (unreadMessage > 0) { - _chatNotificationLabel.text = [NSString stringWithFormat:@"%i", unreadMessage]; - [_chatNotificationView startAnimating:appear]; - } else { - [_chatNotificationView stopAnimating:appear]; - } - } -} - -- (void)updateMissedCall:(int)missedCall appear:(BOOL)appear { - if (missedCall > 0) { - _historyNotificationLabel.text = [NSString stringWithFormat:@"%i", missedCall]; - [_historyNotificationView startAnimating:appear]; - } else { - [_historyNotificationView stopAnimating:appear]; - } -} - -- (void)updateSelectedButton:(UICompositeViewDescription *)view { - _historyButton.selected = [view equal:HistoryListView.compositeViewDescription] || - [view equal:HistoryDetailsView.compositeViewDescription] || - [view equal:ConferenceHistoryDetailsView.compositeViewDescription]; - _contactsButton.selected = [view equal:ContactsListView.compositeViewDescription] || - [view equal:ContactDetailsView.compositeViewDescription]; - _dialerButton.selected = [view equal:DialerView.compositeViewDescription]; - _chatButton.selected = [view equal:ChatsListView.compositeViewDescription] || - [view equal:ChatConversationCreateView.compositeViewDescription] || - [view equal:ChatConversationInfoView.compositeViewDescription] || - [view equal:ChatConversationImdnView.compositeViewDescription] || - [view equal:ChatConversationViewSwift.compositeViewDescription]; - if ([LinphoneManager.instance lpConfigBoolForKey:@"disable_chat_feature"] && [self viewIsCurrentlyPortrait]) { - CGFloat itemWidth = [UIScreen mainScreen].bounds.size.width/3; - [_chatButton setEnabled:false]; - [_chatButton setHidden:true]; - [_chatNotificationView setHidden:true]; - _historyButton.frame = CGRectMake(0, 0, itemWidth, 66); - _contactsButton.frame = CGRectMake(itemWidth, 0, itemWidth, 66); - _dialerButton.frame = CGRectMake(itemWidth*2, 0, itemWidth, 66); - _selectedButtonImage.frame = CGRectMake(_selectedButtonImage.frame.origin.x, _selectedButtonImage.frame.origin.y, itemWidth, 3); - } else if ([LinphoneManager.instance lpConfigBoolForKey:@"disable_chat_feature"] && ![self viewIsCurrentlyPortrait]) { - [_chatButton setEnabled:false]; - [_chatButton setHidden:true]; - [_chatNotificationView setHidden:true]; - _historyButton.frame = CGRectMake(0, 20, 90, 90); - _contactsButton.frame = CGRectMake(0, 120, 90, 90); - _dialerButton.frame = CGRectMake(0, 220, 90, 90); - _selectedButtonImage.frame = CGRectMake(_selectedButtonImage.frame.origin.x, _selectedButtonImage.frame.origin.y, 3, 90); - } - CGRect selectedNewFrame = _selectedButtonImage.frame; - if ([self viewIsCurrentlyPortrait]) { - selectedNewFrame.origin.x = - (_historyButton.selected - ? _historyButton.frame.origin.x - : (_contactsButton.selected - ? _contactsButton.frame.origin.x - : (_dialerButton.selected - ? _dialerButton.frame.origin.x - : (_chatButton.selected - ? _chatButton.frame.origin.x - : -selectedNewFrame.size.width /*hide it if none is selected*/)))); - } else { - selectedNewFrame.origin.y = - (_historyButton.selected - ? _historyButton.frame.origin.y - : (_contactsButton.selected - ? _contactsButton.frame.origin.y - : (_dialerButton.selected - ? _dialerButton.frame.origin.y - : (_chatButton.selected - ? _chatButton.frame.origin.y - : -selectedNewFrame.size.height /*hide it if none is selected*/)))); - } - - CGFloat delay = ANIMATED ? 0.3 : 0; - [UIView animateWithDuration:delay - animations:^{ - _selectedButtonImage.frame = selectedNewFrame; - - }]; -} - -#pragma mark - Action Functions - -- (IBAction)onHistoryClick:(id)event { - linphone_core_reset_missed_calls_count(LC); - [self update:FALSE]; - [PhoneMainView.instance updateApplicationBadgeNumber]; - [PhoneMainView.instance changeCurrentView:HistoryListView.compositeViewDescription]; -} - -- (IBAction)onContactsClick:(id)event { - [ContactSelection setAddAddress:nil]; - [PhoneMainView.instance changeCurrentView:ContactsListView.compositeViewDescription]; -} - -- (IBAction)onDialerClick:(id)event { - [PhoneMainView.instance changeCurrentView:DialerView.compositeViewDescription]; -} - -- (IBAction)onSettingsClick:(id)event { - [PhoneMainView.instance changeCurrentView:SettingsView.compositeViewDescription]; -} - -- (IBAction)onChatClick:(id)event { - [PhoneMainView.instance changeCurrentView:ChatsListView.compositeViewDescription]; -} - -@end diff --git a/Classes/LinphoneUI/UIAddressTextField.h b/Classes/LinphoneUI/UIAddressTextField.h deleted file mode 100644 index c0e091c0b..000000000 --- a/Classes/LinphoneUI/UIAddressTextField.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -@interface UIAddressTextField : UITextField - -@end diff --git a/Classes/LinphoneUI/UIAddressTextField.m b/Classes/LinphoneUI/UIAddressTextField.m deleted file mode 100644 index 17a2b3e63..000000000 --- a/Classes/LinphoneUI/UIAddressTextField.m +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UIAddressTextField.h" - -@implementation UIAddressTextField - -- (void)setText:(NSString *)text { - [super setText:text]; - [self sendActionsForControlEvents:UIControlEventEditingChanged]; -} - -- (BOOL)canPerformAction:(SEL)action withSender:(id)sender { - // disable "define" option, since it messes with the keyboard - if ([[NSStringFromSelector(action) lowercaseString] rangeOfString:@"define"].location != NSNotFound) { - return NO; - } else { - return [super canPerformAction:action withSender:sender]; - } -} - -@end diff --git a/Classes/LinphoneUI/UIAssistantTextField.h b/Classes/LinphoneUI/UIAssistantTextField.h deleted file mode 100644 index f40e17ca9..000000000 --- a/Classes/LinphoneUI/UIAssistantTextField.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -typedef BOOL (^DisplayErrorPred)(NSString *inputEntry); - -@interface UIAssistantTextField : UITextField - -@property(nonatomic, strong) IBOutlet UIView* nextFieldResponder; -@property(nonatomic, strong) IBOutlet UILabel *errorLabel; -@property(nonatomic, readonly) DisplayErrorPred showErrorPredicate; - -@property(nonatomic, strong) NSString *lastText; -// we should show error only when user finished editted the field at least once -@property(atomic) BOOL canShowError; - -- (void)showError:(NSString *)msg when:(DisplayErrorPred)pred; -- (void)showError:(NSString *)msg; -- (BOOL)isInvalid; -- (BOOL)isVisible; - -@end diff --git a/Classes/LinphoneUI/UIAssistantTextField.m b/Classes/LinphoneUI/UIAssistantTextField.m deleted file mode 100644 index 669d2507f..000000000 --- a/Classes/LinphoneUI/UIAssistantTextField.m +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UIAssistantTextField.h" -#import "Utils.h" - -@implementation UIAssistantTextField - -INIT_WITH_COMMON_CF { - self.delegate = self; - self.enabled = self.isEnabled; //force refresh bg color - return self; -} - -- (void)showError:(NSString *)msg { - _errorLabel.text = msg; - _lastText = self.text; - - _errorLabel.hidden = NO; - self.layer.borderWidth = .8; - self.layer.cornerRadius = 4.f; - self.autoresizingMask = YES; - self.layer.borderColor = _errorLabel.hidden ? [[UIColor clearColor] CGColor] : [[UIColor redColor] CGColor]; -} - -- (void)showError:(NSString *)msg when:(DisplayErrorPred)apred { - _showErrorPredicate = apred; - [self showError:msg]; - [self checkDisplayError]; -} - -- (void)checkDisplayError { - _errorLabel.hidden = !(_canShowError && [self isInvalid]); - self.layer.borderColor = _errorLabel.hidden ? [[UIColor clearColor] CGColor] : [[UIColor redColor] CGColor]; -} - -- (BOOL)isVisible { - UIView* aview = self; - while (aview) { - if (aview.isHidden || !aview.isUserInteractionEnabled) return NO; - aview = aview.superview; - } - return YES; -} - -- (BOOL)isInvalid { - return self.isVisible && _showErrorPredicate && _showErrorPredicate(_lastText); -} - -- (void)setEnabled:(BOOL)enabled { - [super setEnabled:enabled]; - self.backgroundColor = [self.backgroundColor colorWithAlphaComponent:enabled?1:0.3]; -} - -#pragma mark - UITextFieldDelegate Functions - -- (BOOL)textField:(UITextField *)textField - shouldChangeCharactersInRange:(NSRange)range - replacementString:(NSString *)string { - // we must not show any error until user typed at least one character - _canShowError |= (string.length > 0); - _lastText = [textField.text stringByReplacingCharactersInRange:range withString:string]; - [self checkDisplayError]; - return YES; -} - -- (void)textFieldDidBeginEditing:(UITextField *)textField { - if (self.nextFieldResponder && !self.nextFieldResponder.hidden) { - self.returnKeyType = UIReturnKeyNext; - } else { - self.returnKeyType = UIReturnKeyDone; - } - -} -- (void)textFieldDidEndEditing:(UITextField *)textField { - _lastText = textField.text; - [self checkDisplayError]; -} - -@end diff --git a/Classes/LinphoneUI/UIAvatarPresence.h b/Classes/LinphoneUI/UIAvatarPresence.h deleted file mode 100644 index c86fb2fe4..000000000 --- a/Classes/LinphoneUI/UIAvatarPresence.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -@interface UIAvatarPresence : UIRoundedImageView - -@property(nonatomic, setter=setFriend:) LinphoneFriend *friend; -@property(nonatomic, readonly) UIImageView *presenceImage; - -@end diff --git a/Classes/LinphoneUI/UIAvatarPresence.m b/Classes/LinphoneUI/UIAvatarPresence.m deleted file mode 100644 index 82d039185..000000000 --- a/Classes/LinphoneUI/UIAvatarPresence.m +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UIAvatarPresence.h" - -@implementation UIAvatarPresence - -INIT_WITH_COMMON_CF { - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(onPresenceChanged:) - name:kLinphoneNotifyPresenceReceivedForUriOrTel - object:nil]; - - if (!_presenceImage) { - _presenceImage = [[UIImageView alloc] init]; - _presenceImage.tag = 883; - [self addSubview:_presenceImage]; - } - CGSize s = self.frame.size; - int is = MIN(s.width, s.height); - // place it in bottom right corner - _presenceImage.frame = CGRectMake(.5 * (s.width - is) + .7 * is, .5 * (s.height - is) + .7 * is, .2 * is, .2 * is); - - _presenceImage.image = [UIImage imageNamed:@"presence_unregistered"]; - - return self; -} - -- (void)dealloc { - [NSNotificationCenter.defaultCenter removeObserver:self]; -}; -- (void)setFrame:(CGRect)frame { - [super setFrame:frame]; - - CGSize s = self.frame.size; - int is = MIN(s.width, s.height); - // place it in bottom right corner - _presenceImage.frame = CGRectMake(.5 * (s.width - is) + .7 * is, .5 * (s.height - is) + .7 * is, .2 * is, .2 * is); -} - -- (void)onPresenceChanged:(NSNotification *)k { - LinphoneFriend *f = [[k.userInfo valueForKey:@"friend"] pointerValue]; - // only consider event if it's about us - if (!_friend || f != _friend) { - return; - } - [self updatePresenceImage]; -} - -- (void)updatePresenceImage { - LinphonePresenceBasicStatus basic = - _friend ? linphone_presence_model_get_basic_status(linphone_friend_get_presence_model(_friend)) - : LinphonePresenceBasicStatusClosed; - const LinphonePresenceModel *model = _friend ? linphone_friend_get_presence_model(_friend) : NULL; - LinphonePresenceActivity *activity = model ? linphone_presence_model_get_activity(model) : NULL; - - LOGE(@"Friend %s status is now %s/%s since %@", _friend ? linphone_friend_get_name(_friend) : "NULL", - basic == LinphonePresenceBasicStatusOpen ? "open" : "closed", - activity ? linphone_presence_activity_to_string(activity) : "Unknown", - [NSDate dateWithTimeIntervalSince1970:linphone_presence_model_get_timestamp(model)]); - - NSString *imageName; - if (basic == LinphonePresenceBasicStatusClosed) { - imageName = - (_friend && linphone_friend_is_presence_received(_friend)) ? @"presence_away" : @"presence_unregistered"; - } else if (linphone_presence_activity_get_type(activity) == LinphonePresenceActivityTV) { - imageName = @"presence_online"; - } else { - imageName = @"presence_away"; - } - _presenceImage.image = [UIImage imageNamed:imageName]; -} - -- (void)setFriend:(LinphoneFriend *) friend { - _friend = friend; - [self updatePresenceImage]; -} - -@end diff --git a/Classes/LinphoneUI/UIBackToCallButton.h b/Classes/LinphoneUI/UIBackToCallButton.h deleted file mode 100644 index d5a0ac7c2..000000000 --- a/Classes/LinphoneUI/UIBackToCallButton.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UIInterfaceStyleButton.h" - -@interface UIBackToCallButton : UIInterfaceStyleButton - -- (IBAction)onBackToCallClick:(id)sender; -- (void)update; - -@property(assign, nonatomic) IBOutlet UITableView *tableView; -@end diff --git a/Classes/LinphoneUI/UIBackToCallButton.m b/Classes/LinphoneUI/UIBackToCallButton.m deleted file mode 100644 index 9e45b2aa9..000000000 --- a/Classes/LinphoneUI/UIBackToCallButton.m +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UIBackToCallButton.h" -#import "LinphoneManager.h" -#import "PhoneMainView.h" -#import "linphoneapp-Swift.h" - - -@implementation UIBackToCallButton - -- (instancetype)init { - if (self = [super init]) { - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(callUpdateEvent:) - name:kLinphoneCallUpdate - object:nil]; - } - return self; -} - -- (void)dealloc { - [NSNotificationCenter.defaultCenter removeObserver:self]; -} - -- (void)callUpdateEvent:(NSNotification *)notif { - [self update]; -} - -- (void)update { - self.hidden = (_tableView.isEditing || linphone_core_get_calls_nb(LC) == 0); -} - -- (IBAction)onBackToCallClick:(id)sender { - [PhoneMainView.instance popToView:[CallsViewModelBridge callViewToDisplay]]; -} - -@end diff --git a/Classes/LinphoneUI/UIBouncingView.h b/Classes/LinphoneUI/UIBouncingView.h deleted file mode 100644 index ca0b8a750..000000000 --- a/Classes/LinphoneUI/UIBouncingView.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -@interface UIBouncingView : UIView - -- (void)startAnimating:(BOOL)animated; -- (void)stopAnimating:(BOOL)animated; - -@end diff --git a/Classes/LinphoneUI/UIBouncingView.m b/Classes/LinphoneUI/UIBouncingView.m deleted file mode 100644 index 6e0a38064..000000000 --- a/Classes/LinphoneUI/UIBouncingView.m +++ /dev/null @@ -1,155 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UIBouncingView.h" - -#import "CAAnimation+Blocks.h" -#import "Utils.h" - -static NSString *const kBounceAnimation = @"bounce"; -static NSString *const kAppearAnimation = @"appear"; -static NSString *const kDisappearAnimation = @"disappear"; - -@implementation UIBouncingView - -INIT_WITH_COMMON_CF { - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(settingsUpdate:) - name:kLinphoneSettingsUpdate - object:nil]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(applicationWillEnterForeground:) - name:UIApplicationWillEnterForegroundNotification - object:nil]; - return self; -} - -- (void)dealloc { - [NSNotificationCenter.defaultCenter removeObserver:self]; -} - -- (void)settingsUpdate:(NSNotification *)notif { - if (ANIMATED == false) { - [self stopAnimating:NO]; - } else { - if (![self isHidden]) { - self.hidden = YES; - [self startAnimating:YES]; - } - } -} - -- (void)applicationWillEnterForeground:(NSNotification *)notif { - // Force the animations - if (self.isHidden) { - self.hidden = NO; - [self stopAnimating:NO]; - } else { - self.hidden = YES; - [self startAnimating:NO]; - } -} - -#pragma mark - Animation - -- (void)appearAnimation:(NSString *)animationID target:(UIView *)target completion:(void (^)(BOOL finished))completion { - CABasicAnimation *appear = [CABasicAnimation animationWithKeyPath:@"transform.scale"]; - appear.duration = 0.4; - appear.fromValue = [NSNumber numberWithDouble:0.0f]; - appear.toValue = [NSNumber numberWithDouble:1.0f]; - appear.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]; - appear.fillMode = kCAFillModeForwards; - appear.removedOnCompletion = NO; - [appear setCompletion:completion]; - [target.layer addAnimation:appear forKey:animationID]; -} - -- (void)disappearAnimation:(NSString *)animationID - target:(UIView *)target - completion:(void (^)(BOOL finished))completion { - CABasicAnimation *disappear = [CABasicAnimation animationWithKeyPath:@"transform.scale"]; - disappear.duration = 0.4; - disappear.fromValue = [NSNumber numberWithDouble:1.0f]; - disappear.toValue = [NSNumber numberWithDouble:0.0f]; - disappear.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]; - disappear.fillMode = kCAFillModeForwards; - disappear.removedOnCompletion = NO; - [disappear setCompletion:completion]; - [target.layer addAnimation:disappear forKey:animationID]; -} - -- (void)startBounceAnimation:(NSString *)animationID target:(UIView *)target { - CABasicAnimation *bounce = [CABasicAnimation animationWithKeyPath:@"transform.translation.y"]; - bounce.duration = 0.3; - bounce.fromValue = [NSNumber numberWithDouble:0.0f]; - bounce.toValue = [NSNumber numberWithDouble:8.0f]; - bounce.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]; - bounce.autoreverses = TRUE; - bounce.repeatCount = HUGE_VALF; - [target.layer addAnimation:bounce forKey:animationID]; -} - -- (void)stopBounceAnimation:(NSString *)animationID target:(UIView *)target { - [target.layer removeAnimationForKey:animationID]; -} - -- (void)startAnimating:(BOOL)animated { - animated = NO; - if (!self.hidden) { - return; - } - - [self setHidden:FALSE]; - if (ANIMATED) { - if (animated) { - [self appearAnimation:kAppearAnimation - target:self - completion:^(BOOL finished) { - [self startBounceAnimation:kBounceAnimation target:self]; - if (finished) { - [self.layer removeAnimationForKey:kAppearAnimation]; - } - }]; - } else { - [self startBounceAnimation:kBounceAnimation target:self]; - } - } -} - -- (void)stopAnimating:(BOOL)animated { - animated = NO; - if (self.hidden) { - return; - } - - [self stopBounceAnimation:kBounceAnimation target:self]; - if (animated) { - [self disappearAnimation:kDisappearAnimation - target:self - completion:^(BOOL finished) { - [self setHidden:TRUE]; - if (finished) { - [self.layer removeAnimationForKey:kDisappearAnimation]; - } - }]; - } else { - [self setHidden:TRUE]; - } -} -@end diff --git a/Classes/LinphoneUI/UICallButton.h b/Classes/LinphoneUI/UICallButton.h deleted file mode 100644 index a27b326da..000000000 --- a/Classes/LinphoneUI/UICallButton.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "UIIconButton.h" - -@interface UICallButton : UIIconButton { -} - -@property(nonatomic, strong) IBOutlet UITextField *addressField; - -- (void)updateIcon; - -@end diff --git a/Classes/LinphoneUI/UICallButton.m b/Classes/LinphoneUI/UICallButton.m deleted file mode 100644 index be9bdfd81..000000000 --- a/Classes/LinphoneUI/UICallButton.m +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "linphoneapp-Swift.h" -#import "UICallButton.h" -#import "LinphoneManager.h" - -#import - -@implementation UICallButton - -@synthesize addressField; - -#pragma mark - Lifecycle Functions - -- (void)initUICallButton { - [self addTarget:self action:@selector(touchUp:) forControlEvents:UIControlEventTouchUpInside]; -} - -- (id)init { - self = [super init]; - if (self) { - [self initUICallButton]; - } - return self; -} - -- (id)initWithFrame:(CGRect)frame { - self = [super initWithFrame:frame]; - if (self) { - [self initUICallButton]; - } - return self; -} - -- (id)initWithCoder:(NSCoder *)decoder { - self = [super initWithCoder:decoder]; - if (self) { - [self initUICallButton]; - } - return self; -} - -#pragma mark - - -- (void)touchUp:(id)sender { - NSString *address = addressField.text; - if (address.length == 0) { - LinphoneCallLog *log = linphone_core_get_last_outgoing_call_log(LC); - if (log) { - const LinphoneAddress *to = linphone_call_log_get_to_address(log); - const char *domain = linphone_address_get_domain(to); - char *bis_address = NULL; - LinphoneAccount *def_account = linphone_core_get_default_account(LC); - - // if the 'to' address is on the default proxy, only present the username - if (def_account) { - const char *def_domain = linphone_account_params_get_domain(linphone_account_get_params(def_account)); - if (def_domain && domain && !strcmp(domain, def_domain)) { - bis_address = ms_strdup(linphone_address_get_username(to)); - } - } - if (bis_address == NULL) { - bis_address = linphone_address_as_string_uri_only(to); - } - [addressField setText:[NSString stringWithUTF8String:bis_address]]; - ms_free(bis_address); - // return after filling the address, let the user confirm the call by pressing again - return; - } - } - - if ([address length] > 0) { - LinphoneAddress *addr = [LinphoneUtils normalizeSipOrPhoneAddress:address]; - [LinphoneManager.instance call:addr]; - if (addr) - linphone_address_unref(addr); - } -} - -- (void)updateIcon { - if (linphone_core_video_capture_enabled(LC) && linphone_core_get_video_policy(LC)->automatically_initiate) { - [self setImage:[UIImage imageNamed:@"call_video_start_default.png"] forState:UIControlStateNormal]; - [self setImage:[UIImage imageNamed:@"call_video_start_disabled.png"] forState:UIControlStateDisabled]; - } else { - [self setImage:[UIImage imageNamed:@"call_audio_start_default.png"] forState:UIControlStateNormal]; - [self setImage:[UIImage imageNamed:@"call_audio_start_disabled.png"] forState:UIControlStateDisabled]; - } - - if (CallManager.instance.nextCallIsTransfer) { - [self setImage:[UIImage imageNamed:@"call_transfer_default.png"] forState:UIControlStateNormal]; - [self setImage:[UIImage imageNamed:@"call_transfer_disabled.png"] forState:UIControlStateDisabled]; - } else if (linphone_core_get_calls_nb(LC) > 0) { - [self setImage:[UIImage imageNamed:@"call_add_default.png"] forState:UIControlStateNormal]; - [self setImage:[UIImage imageNamed:@"call_add_disabled.png"] forState:UIControlStateDisabled]; - } -} -@end diff --git a/Classes/LinphoneUI/UICamSwitch.h b/Classes/LinphoneUI/UICamSwitch.h deleted file mode 100644 index 545d71428..000000000 --- a/Classes/LinphoneUI/UICamSwitch.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "UIIconButton.h" - -@interface UICamSwitch : UIIconButton - -@property(nonatomic, weak) IBOutlet UIView *preview; -+ (void) switchCamera; - -@end diff --git a/Classes/LinphoneUI/UICamSwitch.m b/Classes/LinphoneUI/UICamSwitch.m deleted file mode 100644 index 22218a0e5..000000000 --- a/Classes/LinphoneUI/UICamSwitch.m +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UICamSwitch.h" -#include "LinphoneManager.h" -#import "Utils.h" - -@implementation UICamSwitch -@synthesize preview; - -#pragma mark - Lifecycle Functions - -INIT_WITH_COMMON_CF { - [self addTarget:self action:@selector(touchUp:) forControlEvents:UIControlEventTouchUpInside]; - return self; -} - -#pragma mark - - -- (void)touchUp:(id)sender { - [UICamSwitch switchCamera]; -} - -+ (void) switchCamera { - const char *currentCamId = (char *)linphone_core_get_video_device(LC); - const char **cameras = linphone_core_get_video_devices(LC); - const char *newCamId = NULL; - int i; - - for (i = 0; cameras[i] != NULL; ++i) { - if (strcmp(cameras[i], "StaticImage: Static picture") == 0) - continue; - if (strcmp(cameras[i], currentCamId) != 0) { - newCamId = cameras[i]; - break; - } - } - if (newCamId) { - LOGI(@"Switching from [%s] to [%s]", currentCamId, newCamId); - linphone_core_set_video_device(LC, newCamId); - } -} - -@end diff --git a/Classes/LinphoneUI/UIChatBubblePhotoCell.h b/Classes/LinphoneUI/UIChatBubblePhotoCell.h deleted file mode 100644 index 49555feaa..000000000 --- a/Classes/LinphoneUI/UIChatBubblePhotoCell.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "UILoadingImageView.h" -#import "UITextViewNoDefine.h" -#import "FileTransferDelegate.h" -#import "ChatConversationTableView.h" -#import "UIChatBubbleTextCell.h" -#import "UIChatContentView.h" - -@interface UIChatBubblePhotoCell : UIChatBubbleTextCell - -@property(nonatomic, strong) IBOutlet UILoadingImageView *messageImageView; -@property(nonatomic, strong) IBOutlet UIButton *downloadButton; -@property (weak, nonatomic) IBOutlet UILabel *fileName; -@property(nonatomic, strong) IBOutlet UIButton *playButton; -@property(weak, nonatomic) IBOutlet UIProgressView *fileTransferProgress; -@property(weak, nonatomic) IBOutlet UIButton *cancelButton; -@property(weak, nonatomic) IBOutlet UIView *imageSubView; -@property(weak, nonatomic) IBOutlet UIView *totalView; -@property (weak, nonatomic) IBOutlet UIView *finalAssetView; -@property (weak, nonatomic) IBOutlet UIImageView *finalImage; -@property(strong, nonatomic) IBOutlet UITapGestureRecognizer *imageGestureRecognizer; -@property (weak, nonatomic) IBOutlet UIButton *fileButton; -@property (weak, nonatomic) IBOutlet UIView *fileView; -@property(strong, nonatomic) NSMutableArray *contentViews; - -// Video recordings -@property (weak, nonatomic) IBOutlet UIView *vrView; -@property (weak, nonatomic) IBOutlet UIButton *vrPlayPause; -@property (weak, nonatomic) IBOutlet UILabel *vrTimerLabel; -@property (weak, nonatomic) IBOutlet UIImageView *vrWave; -@property (weak, nonatomic) IBOutlet UIView *vrWaveMaskPlayback; -@property NSTimer *vrPlayerTimer; -@property NSString *voiceRecordingFile; - - - -- (void)setEvent:(LinphoneEventLog *)event; -- (void)setChatMessage:(LinphoneChatMessage *)message; -- (void)connectToFileDelegate:(FileTransferDelegate *)ftd; -- (IBAction)onDownloadClick:(id)event; -- (IBAction)onImageClick:(id)event; -- (IBAction)onCancelClick:(id)sender; -- (IBAction)onPlayClick:(id)sender; -- (IBAction)onFileClick:(id)sender; - -@end - - diff --git a/Classes/LinphoneUI/UIChatBubblePhotoCell.m b/Classes/LinphoneUI/UIChatBubblePhotoCell.m deleted file mode 100644 index ec2560723..000000000 --- a/Classes/LinphoneUI/UIChatBubblePhotoCell.m +++ /dev/null @@ -1,841 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "linphoneapp-Swift.h" -#import "UIChatBubblePhotoCell.h" -#import "LinphoneManager.h" -#import "PhoneMainView.h" - -#import -#import -#import -#import - -#define voicePlayer VIEW(ChatConversationView).sharedVoicePlayer -#define chatView VIEW(ChatConversationView) -#define FILE_ICON_TAG 0 -#define REALIMAGE_TAG 1 -#define PHOTO_LIBRARY_FETCH_IMAGE_SIZE CGSizeMake(UIScreen.mainScreen.bounds.size.width * 0.8f,UIScreen.mainScreen.bounds.size.width * 0.8f) - - -@implementation UIChatBubblePhotoCell { - FileTransferDelegate *_ftd; - CGSize imageSize, bubbleSize, videoDefaultSize; - ChatConversationTableView *chatTableView; - BOOL assetIsLoaded; -} - -#pragma mark - Lifecycle Functions - -- (id)initWithIdentifier:(NSString *)identifier { - if ((self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier]) != nil) { - NSArray *arrayOfViews = - [[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self.class) owner:self options:nil]; - // resize cell to match .nib size. It is needed when resized the cell to - // correctly adapt its height too - UIView *sub = nil; - for (int i = 0; i < arrayOfViews.count; i++) { - if ([arrayOfViews[i] isKindOfClass:UIView.class]) { - sub = arrayOfViews[i]; - break; - } - } - [self addSubview:sub]; - chatTableView = VIEW(ChatConversationView).tableController; - videoDefaultSize = CGSizeMake(320, 240); - assetIsLoaded = FALSE; - self.contentView.userInteractionEnabled = NO; - _contentViews = [[NSMutableArray alloc] init]; - - - self.vrView.layer.cornerRadius = 30.0f; - self.vrView.layer.masksToBounds = YES; - [self.innerView addGestureRecognizer:[[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(onPopupMenuPressed)]]; - [self.messageText addGestureRecognizer:[[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(onPopupMenuPressed)]]; - } - return self; -} - -- (void)onDelete { - [super onDelete]; -} - -#pragma mark - -- (void)setEvent:(LinphoneEventLog *)event { - if (!event || !(linphone_event_log_get_type(event) == LinphoneEventLogTypeConferenceChatMessage)) - return; - - [super setEvent:event]; - [self setChatMessage:linphone_event_log_get_chat_message(event)]; -} - -- (void)setChatMessage:(LinphoneChatMessage *)amessage { - _imageGestureRecognizer.enabled = NO; - _messageImageView.image = nil; - _finalImage.image = nil; - _finalImage.hidden = TRUE; - _fileTransferProgress.progress = 0; - assetIsLoaded = FALSE; - - /* As the cell UI will be reset, fileTransDelegate need to be reconnected. Otherwise, the UIProgressView will not work */ - [self disconnectFromFileDelegate]; - if (amessage) { - for (FileTransferDelegate *aftd in [LinphoneManager.instance fileTransferDelegates]) { - if (aftd.message == amessage && linphone_chat_message_get_state(amessage) == LinphoneChatMessageStateFileTransferInProgress) { - LOGI(@"Chat message [%p] with file transfer delegate [%p], connecting to it!", amessage, aftd); - [self connectToFileDelegate:aftd]; - break; - } - } - } - - [super setChatMessageForCbs:amessage]; - [LinphoneManager setValueInMessageAppData:NULL forKey:@"encryptedfile" inMessage:self.message]; - [LinphoneManager setValueInMessageAppData:NULL forKey:@"encryptedfiles" inMessage:self.message]; -} - -- (void) loadImageAsset:(PHAsset*) asset image:(UIImage *)image { - _finalImage.tag = REALIMAGE_TAG; - dispatch_async(dispatch_get_main_queue(), ^{ - [_finalImage setImage:image]; - [_messageImageView setAsset:asset]; - [_messageImageView stopLoading]; - _messageImageView.hidden = YES; - _finalImage.hidden = NO; - _fileView.hidden = YES; - [self layoutSubviews]; - }); -} - -- (void) loadAsset:(PHAsset *) asset { - - UIImage *image = [SwiftUtil getCachedImageWithKey:asset]; - if (image) { - imageSize = [UIChatBubbleTextCell getMediaMessageSizefromOriginalSize:[image size] withWidth:chatTableView.tableView.frame.size.width - CELL_IMAGE_X_MARGIN]; - [chatTableView.imagesInChatroom setObject:image forKey:[asset localIdentifier]]; - [self loadImageAsset:asset image:image]; - return; - } else { - PHImageRequestOptions *options = [[PHImageRequestOptions alloc] init]; - options.synchronous = FALSE; - options.resizeMode = PHImageRequestOptionsResizeModeNone; - [[PHImageManager defaultManager] requestImageForAsset:asset targetSize:PHOTO_LIBRARY_FETCH_IMAGE_SIZE contentMode:PHImageContentModeAspectFit options:options - resultHandler:^(UIImage *image, NSDictionary * info) { - if (image) { - imageSize = [UIChatBubbleTextCell getMediaMessageSizefromOriginalSize:[image size] withWidth:chatTableView.tableView.frame.size.width - CELL_IMAGE_X_MARGIN]; - [chatTableView.imagesInChatroom setObject:image forKey:[asset localIdentifier]]; - [self loadImageAsset:asset image:image]; - [SwiftUtil setCachedImageWithKey:asset image:image]; - } - else { - LOGE(@"Can't read image"); - } - }]; - } -} - -- (void) loadFileAsset:(NSString *)name { - UIImage *image = [UIChatBubbleTextCell getImageFromFileName:name forReplyBubble:false]; - [self loadImageAsset:nil image:image]; - _imageGestureRecognizer.enabled = YES; - _finalImage.tag = FILE_ICON_TAG; -} - -- (void) loadPlaceholder { - dispatch_async(dispatch_get_main_queue(), ^{ - // Change this to load placeholder image when no asset id - //[_finalImage setImage:image]; - //[_messageImageView setAsset:asset]; - [_messageImageView stopLoading]; - _messageImageView.hidden = YES; - _imageGestureRecognizer.enabled = YES; - _finalImage.hidden = NO; - [self layoutSubviews]; - }); -} - - -- (void)update { - if (self.message == nil) { - LOGW(@"Cannot update message room cell: NULL message"); - return; - } - [super update]; - - _vrPlayPause.enabled = linphone_core_get_calls_nb(LC) == 0; - - - NSMutableDictionary *encrptedFilePaths = NULL; - if ([VFSUtil vfsEnabledWithGroupName:kLinphoneMsgNotificationAppGroupId]) { - encrptedFilePaths = [LinphoneManager getMessageAppDataForKey:@"encryptedfiles" inMessage:self.message]; - if (!encrptedFilePaths) { - encrptedFilePaths = [NSMutableDictionary dictionary]; - } - } - - _voiceRecordingFile = nil; - LinphoneContent *voiceContent = [UIChatBubbleTextCell voiceContent:self.message]; - if (voiceContent) { - const char *fileName = ([VFSUtil vfsEnabledWithGroupName:kLinphoneMsgNotificationAppGroupId] ? linphone_content_get_plain_file_path(voiceContent) : linphone_content_get_file_path(voiceContent)); - if (fileName == nil) { - linphone_content_set_file_path(voiceContent, [[LinphoneManager imagesDirectory] stringByAppendingPathComponent:[[NSUUID UUID] UUIDString]].UTF8String); - linphone_chat_message_download_content(self.message, voiceContent); - } - _voiceRecordingFile = fileName ? [NSString stringWithUTF8String:fileName] : nil; - if (fileName && [VFSUtil vfsEnabledWithGroupName:kLinphoneMsgNotificationAppGroupId]) { - [encrptedFilePaths setValue:_voiceRecordingFile forKey:[NSString stringWithUTF8String:linphone_content_get_name(voiceContent)]]; - } - _vrTimerLabel.text = [self formattedDuration:linphone_content_get_file_duration(voiceContent)/1000]; - _vrWaveMaskPlayback.frame = CGRectZero; - _vrWaveMaskPlayback.backgroundColor = linphone_chat_message_is_outgoing(self.message) ? UIColor.orangeColor : UIColor.grayColor; - } - - const bctbx_list_t *contents = linphone_chat_message_get_contents(self.message); - - size_t contentCount = bctbx_list_size(contents); - if (voiceContent) - contentCount--; - BOOL multiParts = ((linphone_chat_message_get_utf8_text(self.message) != NULL) ? bctbx_list_size(contents) > 2 : bctbx_list_size(contents) > 1); - if (voiceContent && !multiParts) { - _cancelButton.hidden = _fileTransferProgress.hidden = _downloadButton.hidden = _playButton.hidden = _fileName.hidden = _fileView.hidden = _fileButton.hidden = YES; - return; - } - - if (multiParts) { - if (!assetIsLoaded) { - _imageGestureRecognizer.enabled = NO; - _cancelButton.hidden = _fileTransferProgress.hidden = _downloadButton.hidden = _playButton.hidden = _fileName.hidden = _fileView.hidden = _fileButton.hidden = YES; - const bctbx_list_t *it = contents; - int i; - for (it = contents, i=0; it != NULL; it=bctbx_list_next(it)){ - LinphoneContent *content = (LinphoneContent *)it->data; - if (linphone_content_is_voice_recording(content)) { // Handled elsewhere - continue; - } - if (linphone_content_is_file_transfer(content) || linphone_content_is_file(content)){ - UIChatContentView *contentView = [[UIChatContentView alloc] initWithFrame: CGRectMake(0,0,0,0)]; - if([VFSUtil vfsEnabledWithGroupName:kLinphoneMsgNotificationAppGroupId] && (linphone_chat_message_is_outgoing(self.message) || linphone_content_is_file(content))) { - // downloaded or ougoing message - NSString *name = [NSString stringWithUTF8String:linphone_content_get_name(content)]; - NSString *filePath = [encrptedFilePaths valueForKey:name]; - if (filePath == NULL) { - char *cPath = linphone_content_get_plain_file_path(content); - if (cPath) { - if (strcmp(cPath, "") != 0) { - NSString *tempPath = [NSString stringWithUTF8String:cPath]; - NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); - filePath = [NSString stringWithFormat:@"%@/%s", [paths objectAtIndex:0],linphone_chat_message_get_message_id(super.message)]; - [FileUtil ensureDirectoryExistsWithPath:filePath]; - filePath = [filePath stringByAppendingPathComponent:name]; - [[NSFileManager defaultManager] moveItemAtPath:tempPath toPath:filePath error:nil]; - } - ms_free(cPath); - [encrptedFilePaths setValue:filePath forKey:name]; - } - } - contentView.filePath = filePath; - } - [contentView setContent:content message:self.message]; - contentView.position = i; - [_contentViews addObject:contentView]; - i++; - } - } - if ([VFSUtil vfsEnabledWithGroupName:kLinphoneMsgNotificationAppGroupId]) { - [LinphoneManager setValueInMessageAppData:encrptedFilePaths forKey:@"encryptedfiles" inMessage:self.message]; - } - assetIsLoaded = TRUE; - [self layoutSubviews]; - } - return; - } - - const char *url = linphone_chat_message_get_external_body_url(self.message); - BOOL is_external = - (url && (strstr(url, "http") == url)) || linphone_chat_message_get_file_transfer_information(self.message); - NSString *localImage = [LinphoneManager getMessageAppDataForKey:@"localimage" inMessage:self.message]; - NSString *localVideo = [LinphoneManager getMessageAppDataForKey:@"localvideo" inMessage:self.message]; - NSString *localFile = [LinphoneManager getMessageAppDataForKey:@"localfile" inMessage:self.message]; - NSString *filePath = [LinphoneManager getMessageAppDataForKey:@"encryptedfile" inMessage:self.message]; - assert(is_external || localImage || localVideo || localFile); - - LinphoneContent *fileContent = linphone_chat_message_get_file_transfer_information(self.message); - if (fileContent == nil) { - LOGW(@"file content is null"); - return; - } - - BOOL is_outgoing = linphone_chat_message_is_outgoing(self.message); - if (!is_outgoing) { - LinphoneChatMessageState state = linphone_chat_message_get_state(self.message); - if (state != LinphoneChatMessageStateFileTransferDone && state != LinphoneChatMessageStateDisplayed) { - _downloadButton.hidden = YES; - UIChatContentView * contentView = [[UIChatContentView alloc] init]; - [contentView setContent:fileContent message:self.message]; - contentView.position = 0; - [_contentViews addObject:contentView]; - _cancelButton.hidden = _fileTransferProgress.hidden = YES; - _playButton.hidden = YES; - _fileName.hidden = _fileView.hidden = _fileButton.hidden = YES; - [self layoutSubviews]; - return; - } - } - - NSString *fileType = [NSString stringWithUTF8String:linphone_content_get_type(fileContent)]; - NSString *fileName = [NSString stringWithUTF8String:linphone_content_get_name(fileContent)]; - - if (!filePath) { - char *cPath = [VFSUtil vfsEnabledWithGroupName:kLinphoneMsgNotificationAppGroupId] ? linphone_content_get_plain_file_path(fileContent) : NULL; - if (cPath) { - if (strcmp(cPath, "") != 0) { - NSString *tempPath = [NSString stringWithUTF8String:cPath]; - NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); - filePath = [NSString stringWithFormat:@"%@/%s", [paths objectAtIndex:0],linphone_chat_message_get_message_id(super.message)]; - [FileUtil ensureDirectoryExistsWithPath:filePath]; - filePath = [filePath stringByAppendingPathComponent:fileName]; - [[NSFileManager defaultManager] moveItemAtPath:tempPath toPath:filePath error:nil]; - } - ms_free(cPath); - [LinphoneManager setValueInMessageAppData:filePath forKey:@"encryptedfile" inMessage:self.message]; - } else { - filePath = [LinphoneManager validFilePath:fileName]; - } - } - if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) { - // already downloaded - if (!assetIsLoaded) { - assetIsLoaded = TRUE; - NSString *key = [ChatConversationView getKeyFromFileType:fileType fileName:fileName]; - if ([key isEqualToString:@"localimage"]) { - // we did not load the image yet, so start doing so - if (_messageImageView.image == nil) { - UIImage *cachedImage = [SwiftUtil getCachedImageWithKey:filePath] ? : [UIImage imageWithContentsOfFile:filePath]; - UIImage *image = [SwiftUtil getCachedImageWithKey:filePath]; - if (!image) { - image = [UIImage imageWithContentsOfFile:filePath]; - if (image) - [SwiftUtil setCachedImageWithKey:filePath image:image]; - } - if (image) { - [self loadImageAsset:nil image:image]; - _imageGestureRecognizer.enabled = YES; - } else { - // compability with other platforms - [self loadFileAsset:fileName]; - } - } - } else if ([key isEqualToString:@"localvideo"]) { - if (_messageImageView.image == nil) { - UIImage* image = [UIChatBubbleTextCell getImageFromVideoUrl:[NSURL fileURLWithPath:filePath]]; - if (image) { - [self loadImageAsset:nil image:image]; - _imageGestureRecognizer.enabled = NO; - } else { - // compability with other platforms - [self loadFileAsset:fileName]; - } - } - } else if ([key isEqualToString:@"localfile"]) { - if ([fileType isEqualToString:@"video"]) { - UIImage* image = [UIChatBubbleTextCell getImageFromVideoUrl:[NSURL fileURLWithPath:filePath]]; - [self loadImageAsset:nil image:image]; - _imageGestureRecognizer.enabled = NO; - } else if ([fileName hasSuffix:@"JPG"] || [fileName hasSuffix:@"PNG"] || [fileName hasSuffix:@"jpg"] || [fileName hasSuffix:@"png"]) { - UIImage *image = [UIImage imageWithContentsOfFile:filePath]; - [self loadImageAsset:nil image:image]; - _imageGestureRecognizer.enabled = YES; - } else { - [self loadFileAsset:fileName]; - } - } - - if (!(localImage || localVideo || localFile)) { - // If the file has been downloaded in background, save it in the folders and display it. - [LinphoneManager setValueInMessageAppData:fileName forKey:key inMessage:self.message]; - dispatch_async(dispatch_get_main_queue(), ^ { - if (![VFSUtil vfsEnabledWithGroupName:kLinphoneMsgNotificationAppGroupId] && [ConfigManager.instance lpConfigBoolForKeyWithKey:@"auto_write_to_gallery_preference"]) { - [ChatConversationView writeMediaToGallery:fileName fileType:fileType]; - } - }); - } - } - [self uploadingImage:fileType localFile:localFile]; - } else { - // support previous methode: - if (!(localImage || localVideo || localFile)) { - _playButton.hidden = YES; - _fileName.hidden = _fileView.hidden = _fileButton.hidden = YES; - _messageImageView.hidden = _cancelButton.hidden = (_ftd.message == nil); - _downloadButton.hidden = !_cancelButton.hidden; - _fileTransferProgress.hidden = NO; - } else { - // file is being saved on device - just wait for it - if ([localImage isEqualToString:@"saving..."] || [localVideo isEqualToString:@"saving..."] || [localFile isEqualToString:@"saving..."]) { - _cancelButton.hidden = _fileTransferProgress.hidden = _downloadButton.hidden = _playButton.hidden = _fileName.hidden = _fileView.hidden = _fileButton.hidden = YES; - } else { - if(!assetIsLoaded) { - assetIsLoaded = TRUE; - if (localImage) { - // we did not load the image yet, so start doing so - if (_messageImageView.image == nil) { - [self loadFirstImage:localImage type:PHAssetMediaTypeImage]; - _imageGestureRecognizer.enabled = YES; - } - } else if (localVideo) { - if (_messageImageView.image == nil) { - [self loadFirstImage:localVideo type:PHAssetMediaTypeVideo]; - _imageGestureRecognizer.enabled = NO; - } - } else if (localFile) { - if ([fileType isEqualToString:@"video"]) { - UIImage* image = [UIChatBubbleTextCell getImageFromVideoUrl:[VIEW(ChatConversationView) getICloudFileUrl:localFile]]; - [self loadImageAsset:nil image:image]; - _imageGestureRecognizer.enabled = NO; - } else if ([localFile hasSuffix:@"JPG"] || [localFile hasSuffix:@"PNG"] || [localFile hasSuffix:@"jpg"] || [localFile hasSuffix:@"png"]) { - NSData *data = [NSData dataWithContentsOfURL:[VIEW(ChatConversationView) getICloudFileUrl:localFile]]; - UIImage *image = [[UIImage alloc] initWithData:data]; - [self loadImageAsset:nil image:image]; - _imageGestureRecognizer.enabled = YES; - } else { - [self loadFileAsset:fileName]; - } - } - } - } - [self uploadingImage:fileType localFile:localFile]; - } - } -} - -- (void)uploadingImage:(NSString *)fileType localFile:(NSString *)localFile { - // we are uploading the image - if (_ftd.message != nil) { - _cancelButton.hidden = _fileTransferProgress.hidden = super.notDelivered ? YES : NO; - _downloadButton.hidden = YES; - _playButton.hidden = YES; - _fileName.hidden = _fileView.hidden = _fileButton.hidden =YES; - } else { - _cancelButton.hidden = _fileTransferProgress.hidden = _downloadButton.hidden = YES; - _playButton.hidden = ![fileType isEqualToString:@"video"]; - _fileName.hidden = _fileView.hidden = _fileButton.hidden = localFile ? NO : YES; - } -} - -- (void)loadFirstImage:(NSString *)key type:(PHAssetMediaType)type { - [_messageImageView startLoading]; - PHFetchResult *assets = [LinphoneManager getPHAssets:key]; - UIImage *img = nil; - - img = [chatTableView.imagesInChatroom objectForKey:key]; - PHAsset *asset = [assets firstObject]; - if (!asset) - [self loadPlaceholder]; - else if (asset.mediaType != type) - img = nil; - if (img) - [self loadImageAsset:asset image:img]; - else - [self loadAsset:asset]; -} - -- (void)fileErrorBlock { - DTActionSheet *sheet = [[DTActionSheet alloc] initWithTitle:NSLocalizedString(@"Can't find this file", nil)]; - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - [sheet addCancelButtonWithTitle:NSLocalizedString(@"OK", nil) block:nil]; - dispatch_async(dispatch_get_main_queue(), ^{ - [sheet showInView:PhoneMainView.instance.view]; - }); - }); -} - -- (void)playVideoByPlayer:(AVPlayer *)player { - AVPlayerViewController *controller = [[AVPlayerViewController alloc] init]; - [PhoneMainView.instance presentViewController:controller animated:YES completion:nil]; - controller.player = player; - [player play]; -} - -- (IBAction)onDownloadClick:(id)event { - [_ftd cancel]; - _ftd = [[FileTransferDelegate alloc] init]; - [self connectToFileDelegate:_ftd]; - [_ftd download:self.message]; - _cancelButton.hidden = NO; - _downloadButton.hidden = YES; - _playButton.hidden = YES; - _fileName.hidden = _fileView.hidden = _fileButton.hidden = YES; -} - -- (IBAction)onPlayClick:(id)sender { - NSString *filePath = [LinphoneManager getMessageAppDataForKey:@"encryptedfile" inMessage:self.message]; - if (!filePath) { - NSString *localVideo = [LinphoneManager getMessageAppDataForKey:@"localvideo" inMessage:self.message]; - NSString *localFile = [LinphoneManager getMessageAppDataForKey:@"localfile" inMessage:self.message]; - filePath = [LinphoneManager validFilePath:(localVideo?:localFile)]; - } - - if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) { - AVPlayer *player = [AVPlayer playerWithURL:[NSURL fileURLWithPath:filePath]]; - [self playVideoByPlayer:player]; - return; - } - - PHAsset *asset = [_messageImageView asset]; - if (!asset) { - NSString *localFile = [LinphoneManager getMessageAppDataForKey:@"localfile" inMessage:self.message]; - NSURL *url = [VIEW(ChatConversationView) getICloudFileUrl:localFile]; - AVPlayer *player = [AVPlayer playerWithURL:url]; - [self playVideoByPlayer:player]; - return; - } - PHVideoRequestOptions *options = [[PHVideoRequestOptions alloc] init]; - // options.synchronous = TRUE; - [[PHImageManager defaultManager] requestPlayerItemForVideo:asset options:options resultHandler:^(AVPlayerItem * _Nullable playerItem, NSDictionary * _Nullable info) { - if(playerItem) { - AVPlayer *player = [AVPlayer playerWithPlayerItem:playerItem]; - [self playVideoByPlayer:player]; - } else { - [self fileErrorBlock]; - } - }]; -} - - -- (IBAction)onFileClick:(id)sender { - ChatConversationView *view = VIEW(ChatConversationView); - NSString *filePath = [LinphoneManager getMessageAppDataForKey:@"encryptedfile" inMessage:self.message]; - if (filePath) { - [view openFileWithURL:[NSURL fileURLWithPath:filePath]]; - return; - } - NSString *name = [LinphoneManager getMessageAppDataForKey:@"localfile" inMessage:self.message]; - if([[NSFileManager defaultManager] fileExistsAtPath: [LinphoneManager validFilePath:name]]) { - [view openFileWithURL:[ChatConversationView getFileUrl:name]]; - } else { - [view openFileWithURL:[view getICloudFileUrl:name]]; - } -} - - -- (IBAction)onCancelClick:(id)sender { - FileTransferDelegate *tmp = _ftd; - [self disconnectFromFileDelegate]; - _fileTransferProgress.progress = 0; - [tmp cancel]; - if (!linphone_core_is_network_reachable(LC)) { - [self update]; - } -} - - -- (IBAction)onImageClick:(id)event { - if (_finalImage.tag == FILE_ICON_TAG) { - [self onFileClick:nil]; - return; - } - LinphoneChatMessageState state = linphone_chat_message_get_state(self.message); - if (state == LinphoneChatMessageStateNotDelivered) { - return; - } else { - if (![_messageImageView isLoading]) { - ImageView *view = VIEW(ImageView); - [PhoneMainView.instance changeCurrentView:view.compositeViewDescription]; - NSString *filePath = [LinphoneManager getMessageAppDataForKey:@"encryptedfile" inMessage:self.message]; - if (filePath) { - UIImage *image = [UIImage imageWithContentsOfFile:filePath]; - [view setImage:image]; - return; - } - - NSString *localImage = [LinphoneManager getMessageAppDataForKey:@"localimage" inMessage:self.message]; - NSString *localFile = [LinphoneManager getMessageAppDataForKey:@"localfile" inMessage:self.message]; - NSString *imageName = NULL; - if (localImage && [[NSFileManager defaultManager] fileExistsAtPath: [LinphoneManager validFilePath:localImage]]) { - imageName = localImage; - } else if (localFile && [[NSFileManager defaultManager] fileExistsAtPath:[LinphoneManager validFilePath:localFile]]) { - if ([localFile hasSuffix:@"JPG"] || [localFile hasSuffix:@"PNG"] || [localFile hasSuffix:@"jpg"] || [localFile hasSuffix:@"png"]) { - imageName = localFile; - } - } - - if (imageName) { - UIImage *image = [UIImage imageWithContentsOfFile: [LinphoneManager validFilePath:imageName]]; - if (image) - [view setImage:image]; - else - LOGE(@"Can't read image"); - return; - } - - PHAsset *asset = [_messageImageView asset]; - if (!asset) { - return; - } - PHImageRequestOptions *options = [[PHImageRequestOptions alloc] init]; - options.synchronous = TRUE; - [[PHImageManager defaultManager] requestImageForAsset:asset targetSize:PHImageManagerMaximumSize contentMode:PHImageContentModeDefault options:options - resultHandler:^(UIImage *image, NSDictionary * info) { - if (image) { - [view setImage:image]; - } - else { - LOGE(@"Can't read image"); - } - }]; - } - } -} - -#pragma mark - LinphoneFileTransfer Notifications Handling - -- (void)connectToFileDelegate:(FileTransferDelegate *)aftd { - if (aftd.message && linphone_chat_message_get_state(aftd.message) == LinphoneChatMessageStateFileTransferError) { - LOGW(@"This file transfer failed unexpectedly, cleaning it"); - [aftd stopAndDestroy]; - return; - } - - _ftd = aftd; - _fileTransferProgress.progress = 0; - [NSNotificationCenter.defaultCenter removeObserver:self]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(onFileTransferSendUpdate:) - name:kLinphoneFileTransferSendUpdate - object:_ftd]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(onFileTransferRecvUpdate:) - name:kLinphoneFileTransferRecvUpdate - object:_ftd]; -} - -- (void)disconnectFromFileDelegate { - [NSNotificationCenter.defaultCenter removeObserver:self name:kLinphoneFileTransferSendUpdate object:_ftd]; - [NSNotificationCenter.defaultCenter removeObserver:self name:kLinphoneFileTransferRecvUpdate object:_ftd]; - _ftd = nil; -} - -- (void)onFileTransferSendUpdate:(NSNotification *)notif { - LinphoneChatMessageState state = [[[notif userInfo] objectForKey:@"state"] intValue]; - - if (state == LinphoneChatMessageStateInProgress || state == LinphoneChatMessageStateFileTransferInProgress) { - float progress = [[[notif userInfo] objectForKey:@"progress"] floatValue]; - // When uploading a file, the self.message file is first uploaded to the server, - // so we are in progress state. Then state goes to filetransfertdone. Then, - // the exact same self.message is sent to the other participant and we come - // back to in progress again. This second time is NOT an upload, so we must - // not update progress! - _fileTransferProgress.progress = MAX(_fileTransferProgress.progress, progress); - _fileTransferProgress.hidden = _cancelButton.hidden = (_fileTransferProgress.progress == 1.f); - } else { - ChatConversationView *view = VIEW(ChatConversationView); - [view.tableController updateEventEntry:self.event]; - [view.tableController scrollToBottom:true]; - } -} -- (void)onFileTransferRecvUpdate:(NSNotification *)notif { - LinphoneChatMessageState state = [[[notif userInfo] objectForKey:@"state"] intValue]; - if (state == LinphoneChatMessageStateInProgress || state == LinphoneChatMessageStateFileTransferInProgress) { - float progress = [[[notif userInfo] objectForKey:@"progress"] floatValue]; - _fileTransferProgress.progress = MAX(_fileTransferProgress.progress, progress); - _fileTransferProgress.hidden = _cancelButton.hidden = (_fileTransferProgress.progress == 1.f); - } else { - ChatConversationView *view = VIEW(ChatConversationView); - [view.tableController updateEventEntry:self.event]; - [view.tableController scrollToBottom:true]; - } -} - -- (void)layoutSubviews { - [super layoutSubviews]; - BOOL is_outgoing = linphone_chat_message_is_outgoing(super.message); - CGRect bubbleFrame = super.bubbleView.frame; - int origin_x; - - bubbleSize = [UIChatBubbleTextCell ViewSizeForMessage:[self message] withWidth:chatTableView.tableView.frame.size.width]; - - bubbleFrame.size = bubbleSize; - - if (chatTableView.tableView.isEditing) { - origin_x = 0; - } else { - origin_x = (is_outgoing ? self.frame.size.width - bubbleFrame.size.width : 0); - } - - bubbleFrame.origin.x = origin_x; - - super.bubbleView.frame = bubbleFrame; - - if (_contentViews.count > 0) { - // Positioning contentViews - CGFloat imagesw=0; - CGFloat max_imagesh=0; - CGFloat max_imagesw=0; - CGFloat originy=0; - CGFloat originx=-IMAGE_DEFAULT_MARGIN; - CGFloat availableWidth = chatTableView.tableView.frame.size.width-CELL_IMAGE_X_MARGIN; - - NSMutableArray *fileUrls = [[NSMutableArray alloc] init]; - for (UIChatContentView *contentView in _contentViews) { - if (contentView.filePath) { - [fileUrls addObject:[NSURL fileURLWithPath:contentView.filePath]]; - } - } - for (UIChatContentView *contentView in _contentViews) { - UIImage *image = contentView.image; - CGSize sSize = [UIChatBubbleTextCell getMediaMessageSizefromOriginalSize:image.size withWidth:IMAGE_DEFAULT_WIDTH]; - imagesw += sSize.width; - if (imagesw > availableWidth) { - imagesw = sSize.width; - max_imagesw = MAX(max_imagesw, imagesw); - originy = max_imagesh+IMAGE_DEFAULT_MARGIN; - max_imagesh += sSize.height; - originx = sSize.width; - } else { - max_imagesw = MAX(max_imagesw, imagesw); - max_imagesh = MAX(max_imagesh, sSize.height); - originx += (sSize.width+IMAGE_DEFAULT_MARGIN); - } - - [contentView setFrame:CGRectMake(originx-sSize.width, originy, sSize.width, sSize.height)]; - contentView.fileUrls = fileUrls; - [_finalAssetView addSubview:contentView]; - } - CGRect imgFrame = self.finalAssetView.frame; - imgFrame.size = CGSizeMake(max_imagesw, max_imagesh); - self.finalAssetView.frame = imgFrame; - _finalImage.hidden = YES; - } else { - // Resizing Image view - if (_finalImage.image) { - CGRect imgFrame = self.finalAssetView.frame; - imgFrame.size = [UIChatBubbleTextCell getMediaMessageSizefromOriginalSize:[_finalImage.image size] withWidth:chatTableView.tableView.frame.size.width - CELL_IMAGE_X_MARGIN]; - imgFrame.origin.x = (self.innerView.frame.size.width - imgFrame.size.width-17)/2; - self.finalAssetView.frame = imgFrame; - } - } - - // Positioning text message - const char *utf8Text = linphone_chat_message_get_utf8_text(self.message); - - CGRect textFrame = self.messageText.frame; - if (_contentViews.count > 0 || _finalImage.image) - textFrame.origin = CGPointMake(textFrame.origin.x, self.finalAssetView.frame.origin.y + self.finalAssetView.frame.size.height); - else - // When image hasn't be download - textFrame.origin = CGPointMake(textFrame.origin.x, _voiceRecordingFile ? _fileView.frame.origin.y : _imageSubView.frame.size.height + _imageSubView.frame.origin.y - 10); - if (!utf8Text) { - textFrame.size.height = 0; - } else { - textFrame.size.height = bubbleFrame.size.height - 90;//textFrame.origin.x; - } - - if (_voiceRecordingFile) { - CGRect vrFrame = _vrView.frame; - vrFrame.origin.y = _contentViews.count == 0 && !utf8Text ? _fileView.frame.origin.y : textFrame.origin.y; - _vrView.frame = vrFrame; - textFrame.origin.y += VOICE_RECORDING_PLAYER_HEIGHT; - _vrView.hidden = NO; - } else { - _vrView.hidden = YES; - } - - CGRect r = super.photoCellContentView.frame; - r.origin.y = linphone_chat_message_is_reply(super.message) ? super.replyView.view.frame.origin.y + super.replyView.view.frame.size.height + 10 : 7 ; - super.photoCellContentView.frame = r; - - r = super.photoCellContentView.frame; - r.origin.y = linphone_chat_message_is_forward(super.message) ? super.contactDateLabel.frame.origin.y + super.contactDateLabel.frame.size.height + 3 : r.origin.y; - super.photoCellContentView.frame = r; - - self.messageText.frame = textFrame; -} - -// Voice messages - - --(void) voicePlayTimerUpdate { - CGRect r = _vrWaveMaskPlayback.frame; - r.size.width += _vrView.frame.size.width / ((linphone_player_get_duration(voicePlayer) / 500)) ; - if (r.size.width > _vrView.frame.size.width) { - r.size.width = _vrView.frame.size.width; - } - [UIView animateWithDuration:0.5 delay:0.0 options:UIViewAnimationOptionCurveLinear animations:^{ - _vrWaveMaskPlayback.frame = r; - }completion:^(BOOL finished) {}]; -} - - --(void) stopPlayer { - [NSNotificationCenter.defaultCenter removeObserver:self]; - [chatView stopSharedPlayer]; - [_vrPlayPause setImage:[UIImage imageNamed:@"vr_play"] forState:UIControlStateNormal]; - [_vrPlayerTimer invalidate]; - _vrWaveMaskPlayback.frame = CGRectZero; -} - --(NSString *)formattedDuration:(long)valueMs { - return [NSString stringWithFormat:@"%02ld:%02ld", valueMs/ 60, (valueMs % 60) ]; -} - --(void) startPlayer { - [chatView startSharedPlayer:_voiceRecordingFile.UTF8String]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(stopPlayer) - name:kLinphoneVoiceMessagePlayerLostFocus - object:nil]; - - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(stopPlayer) - name:kLinphoneVoiceMessagePlayerEOF - object:nil]; - - [_vrPlayPause setImage:[UIImage imageNamed:@"vr_stop"] forState:UIControlStateNormal]; - CGRect r = CGRectZero; - r.size.height = _vrView.frame.size.height - 14; - r.origin.y = 7; - _vrWaveMaskPlayback.frame = r; - _vrPlayerTimer = [NSTimer scheduledTimerWithTimeInterval:0.5 - target:self - selector:@selector(voicePlayTimerUpdate) - userInfo:nil - repeats:YES]; - [self voicePlayTimerUpdate]; - -} - -- (IBAction)onVRPlayPauseClick:(id)sender { - if ([chatView sharedPlayedIsPlaying:_voiceRecordingFile.UTF8String]) - [self stopPlayer]; - else { - [self startPlayer]; - } -} - - -// menu - --(void) onPopupMenuPressed { - [super onPopupMenuPressed]; -} - - -@end - - diff --git a/Classes/LinphoneUI/UIChatBubbleTextCell.h b/Classes/LinphoneUI/UIChatBubbleTextCell.h deleted file mode 100644 index cbc0a647b..000000000 --- a/Classes/LinphoneUI/UIChatBubbleTextCell.h +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "UITextViewNoDefine.h" -#import "ChatConversationTableView.h" -#import "UIRoundedImageView.h" -#import "UIChatReplyBubbleView.h" - -#define CELL_IMAGE_X_MARGIN 100 -#define IMAGE_DEFAULT_WIDTH 120 -#define IMAGE_DEFAULT_MARGIN 5 -#define VOICE_RECORDING_PLAYER_HEIGHT 60 -#define VOICE_RECORDING_PLAYER_WIDTH 300 -#define CONFERENCE_INVITATION_HEIGHT 210 -#define CONFERENCE_INVITATION_WIDTH 300 - - - -@interface UIChatBubbleTextCell : UITableViewCell - -@property(readonly, nonatomic) LinphoneEventLog *event; -@property(readonly, nonatomic) LinphoneChatMessage *message; -@property(nonatomic, weak) IBOutlet UIImageView *backgroundColorImage; -@property(nonatomic, weak) IBOutlet UIImageView *avatarImage; -@property(nonatomic, weak) IBOutlet UILabel *contactDateLabel; -//@property(weak, nonatomic) IBOutlet UIActivityIndicatorView *statusInProgressSpinner; -@property(nonatomic, weak) IBOutlet UITextViewNoDefine *messageText; -//@property(weak, nonatomic) IBOutlet UIImageView *bottomBarColor; -@property(nonatomic, strong) id chatRoomDelegate; -@property(strong, nonatomic) IBOutlet UIView *bubbleView; -@property(strong, nonatomic) IBOutlet UITapGestureRecognizer *resendRecognizer; -//@property(weak, nonatomic) IBOutlet UIImageView *LIMEKO; -@property(weak, nonatomic) IBOutlet UIImageView *imdmIcon; -//@property(weak, nonatomic) IBOutlet UILabel *imdmLabel; -@property (nonatomic, strong) UIDocumentPickerViewController *documentPicker; -@property (weak, nonatomic) IBOutlet UIView *innerView; -@property (weak, nonatomic) IBOutlet UILabel *ephemeralTime; -@property (weak, nonatomic) IBOutlet UIImageView *ephemeralIcon; -@property ChatConversationTableView *tableController; -@property BOOL popupMenuAllowed; - -// Message popup menu -@property UITableView *popupMenu; -@property NSMutableArray *messageActionsTitles; -@property NSMutableArray *messageActionsIcons; -@property NSMutableArray *messageActionsBlocks; - -// Message reply/transfer -@property UIChatReplyBubbleView *replyView; -@property UILabel *replyOrForward; -@property (weak, nonatomic) IBOutlet UIImageView *replyTransferIcon; -@property (weak, nonatomic) IBOutlet UILabel *replyTransferLabel; -@property (weak, nonatomic) IBOutlet UIView *photoCellContentView; -@property UIView *icsBubbleView; - - -@property(nonatomic) BOOL isFirst; -@property(nonatomic) BOOL isLast; -@property(nonatomic) BOOL notDelivered; - -+ (CGSize)ViewSizeForMessage:(LinphoneChatMessage *)chat withWidth:(int)width; -+ (CGSize)ViewHeightForMessageText:(LinphoneChatMessage *)chat withWidth:(int)width textForImdn:(NSString *)imdnText; -+ (CGSize)getMediaMessageSizefromOriginalSize:(CGSize)originalSize withWidth:(int)width; -+ (UIImage *)getImageFromVideoUrl:(NSURL *)url; -+ (UIImage *)getImageFromContent:(LinphoneContent *)content filePath:(NSString *)filePath forReplyBubble:(BOOL)forReplyBubble; -+ (UIImage *)getImageFromFileName:(NSString *)fileName forReplyBubble:(BOOL)forReplyBubbble; - - -- (void)setEvent:(LinphoneEventLog *)event; -- (void)setChatMessageForCbs:(LinphoneChatMessage *)message; -- (void)clearEncryptedFiles; - -- (void)onDelete; -- (void)update; - -- (void)displayImdmStatus:(LinphoneChatMessageState)state; -+ (CGSize)ViewHeightForMessage:(LinphoneChatMessage *)chat withWidth:(int)width; -+ (NSString *)TextMessageForChat:(LinphoneChatMessage *)message; -+ (CGSize)computeBoundingBox:(NSString *)text size:(CGSize)size font:(UIFont *)font; -+ (NSString *)ContactDateForChat:(LinphoneChatMessage *)message; -+(LinphoneContent *) voiceContent:(LinphoneChatMessage *)message; --(void) onPopupMenuPressed; --(void) dismissPopup; -@end diff --git a/Classes/LinphoneUI/UIChatBubbleTextCell.m b/Classes/LinphoneUI/UIChatBubbleTextCell.m deleted file mode 100644 index ee561c9dd..000000000 --- a/Classes/LinphoneUI/UIChatBubbleTextCell.m +++ /dev/null @@ -1,1056 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "linphoneapp-Swift.h" -#import "UIChatBubbleTextCell.h" -#import "LinphoneManager.h" -#import "PhoneMainView.h" -#import "Utils.h" - -#import -#import -#import - -@implementation UIChatBubbleTextCell - - - -#pragma mark - Lifecycle Functions - - - -- (id)initWithIdentifier:(NSString *)identifier { - if ((self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier]) != nil) { - if ([identifier isEqualToString:NSStringFromClass(self.class)]) { - NSArray *arrayOfViews = - [[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self.class) owner:self options:nil]; - // resize cell to match .nib size. It is needed when resized the cell to - // correctly adapt its height too - UIView *sub = ((UIView *)[arrayOfViews objectAtIndex:arrayOfViews.count - 1]); - [self setFrame:CGRectMake(0, 0, sub.frame.size.width, sub.frame.size.height)]; - [self addSubview:sub]; - self.icsBubbleView = [[ICSBubbleView alloc] init]; - [self.innerView addSubview:self.icsBubbleView]; - [(ICSBubbleView*)self.icsBubbleView setLayoutConstraintsWithView:self.backgroundColorImage]; - } - } - - - [_innerView addGestureRecognizer:[[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(onPopupMenuPressed)]]; - [_messageText addGestureRecognizer:[[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(onPopupMenuPressed)]]; - - - self.contentView.userInteractionEnabled = NO; - return self; -} - -- (void)dealloc { - [self setEvent:NULL]; - [self setChatMessageForCbs:NULL]; -} - -#pragma mark - - -- (void)clearEncryptedFiles { - if ([VFSUtil vfsEnabledWithGroupName:kLinphoneMsgNotificationAppGroupId]) { - NSMutableDictionary *encrptedFilePaths = [LinphoneManager getMessageAppDataForKey:@"encryptedfiles" inMessage:_message]; - if ([encrptedFilePaths count] > 0) { - for(NSString *path in [encrptedFilePaths allValues]) { - if (![path isEqualToString:@""]) { - LOGW(@"[vfs]s remove item at %@",path); - if ([path isEqualToString:[LinphoneManager imagesDirectory]]) { - LOGE(@"[vfs] something is wrong, can not delete the cache directory"); - break; - } - [[NSFileManager defaultManager] removeItemAtPath:path error:nil]; - - } - } - [LinphoneManager setValueInMessageAppData:NULL forKey:@"encryptedfiles" inMessage:_message]; - return; - } - - NSString *filePath = [LinphoneManager getMessageAppDataForKey:@"encryptedfile" inMessage:_message]; - if (filePath) { - if (![filePath isEqualToString:@""]) { - NSError *error = nil; - LOGW(@"[vfs] remove item at %@",filePath); - if ([filePath isEqualToString:[LinphoneManager imagesDirectory]]) { - LOGE(@"[vfs] something is wrong, can not delete the cache directory"); - } else { - [[NSFileManager defaultManager] removeItemAtPath:filePath error:&error]; - - if (error) { - LOGI(@"clean failed %@", error.description); - } - } - } - [LinphoneManager setValueInMessageAppData:NULL forKey:@"encryptedfile" inMessage:_message]; - } - } -} - -- (void)setEvent:(LinphoneEventLog *)event { - if(!event) - return; - - _event = event; - if (!(linphone_event_log_get_type(event) == LinphoneEventLogTypeConferenceChatMessage)) { - LOGE(@"Impossible to create a ChatBubbleText whit a non message event"); - return; - } - [self setChatMessageForCbs:linphone_event_log_get_chat_message(event)]; -} - -- (void)setChatMessageForCbs:(LinphoneChatMessage *)amessage { - if (amessage == _message) { - return; - } - if (_message){ - linphone_chat_message_unref(_message); - } - _message = amessage; - if (amessage){ - linphone_chat_message_ref(amessage); - linphone_chat_message_set_user_data(_message, (void *)CFBridgingRetain(self)); - LinphoneChatMessageCbs *cbs = linphone_chat_message_get_callbacks(_message); - linphone_chat_message_cbs_set_msg_state_changed(cbs, message_status); - linphone_chat_message_cbs_set_participant_imdn_state_changed(cbs, participant_imdn_status); - linphone_chat_message_cbs_set_user_data(cbs, (void *)_event); - } -} - -+ (NSString *)TextMessageForChat:(LinphoneChatMessage *)message { - const char *url = linphone_chat_message_get_external_body_url(message); - const LinphoneContent *last_content = linphone_chat_message_get_file_transfer_information(message); - // Last message was a file transfer (image) so display a picture... - if ((url || last_content) && message) { - if (linphone_chat_message_get_utf8_text(message)) - return [NSString stringWithUTF8String:linphone_chat_message_get_utf8_text(message)]; - return @"🗻"; - } else { - const char *text = linphone_chat_message_get_utf8_text(message) ?: ""; - return [NSString stringWithUTF8String:text] ?: [NSString stringWithCString:text encoding:NSASCIIStringEncoding] - ?: NSLocalizedString(@"(invalid string)", nil); - } -} - -+ (NSString *)ContactDateForChat:(LinphoneChatMessage *)message { - const LinphoneAddress *address = - linphone_chat_message_get_from_address(message) - ? linphone_chat_message_get_from_address(message) - : linphone_chat_room_get_peer_address(linphone_chat_message_get_chat_room(message)); - return [NSString stringWithFormat:@"%@ - %@", [LinphoneUtils timeToString:linphone_chat_message_get_time(message) - withFormat:LinphoneDateChatBubble], - [FastAddressBook displayNameForAddress:address]]; -} - -- (NSString *)textMessage { - return [self.class TextMessageForChat:_message]; -} - -- (void)update { - if (_message == nil) { - LOGW(@"Cannot update message room cell: null message"); - return; - } - - if (_messageText && ![LinphoneManager getMessageAppDataForKey:@"localvideo" inMessage:_message] && ![ICSBubbleView isConferenceInvitationMessageWithCmessage:self.message]) { - [_messageText setHidden:FALSE]; - /* We need to use an attributed string here so that data detector don't mess - * with the text style. See http://stackoverflow.com/a/20669356 */ - UIColor *color = [UIColor darkGrayColor]; - if (@available(iOS 13,*)) { - color = [UIColor secondaryLabelColor]; - } - - NSAttributedString *attr_text = - [[NSAttributedString alloc] initWithString:self.textMessage - attributes:@{ - NSFontAttributeName : _messageText.font, - NSForegroundColorAttributeName : color - }]; - _messageText.attributedText = attr_text; - } - - LinphoneChatMessageState state = linphone_chat_message_get_state(_message); - BOOL outgoing = linphone_chat_message_is_outgoing(_message); - - - _contactDateLabel.hidden = !_isFirst; - if (outgoing) { - _contactDateLabel.text = [LinphoneUtils timeToString:linphone_chat_message_get_time(_message) - withFormat:LinphoneDateChatBubble]; - _contactDateLabel.textAlignment = NSTextAlignmentRight; - _avatarImage.hidden = TRUE; - - } else { - [_avatarImage setImage:[FastAddressBook imageForAddress:linphone_chat_message_get_from_address(_message)]]; - _contactDateLabel.text = [self.class ContactDateForChat:_message]; - _contactDateLabel.textAlignment = NSTextAlignmentLeft; - _avatarImage.hidden = !_isFirst; - } - - - // Not use [UIImage imageNamed], it takes too much time - _backgroundColorImage.image = nil; - _backgroundColorImage.backgroundColor = outgoing ? [UIColor color:@"A"] : [UIColor color:@"D"]; - - - // set maskedCorners - if (@available(iOS 11.0, *)) { - _backgroundColorImage.layer.cornerRadius = 10; - if (outgoing) { - _backgroundColorImage.layer.maskedCorners = kCALayerMinXMaxYCorner | kCALayerMinXMinYCorner; - if (_isFirst) - _backgroundColorImage.layer.maskedCorners = _backgroundColorImage.layer.maskedCorners | kCALayerMaxXMinYCorner; - if (_isLast) - _backgroundColorImage.layer.maskedCorners = _backgroundColorImage.layer.maskedCorners | kCALayerMaxXMaxYCorner; - } else { - _backgroundColorImage.layer.maskedCorners = kCALayerMaxXMinYCorner | kCALayerMaxXMaxYCorner; - if (_isFirst) - _backgroundColorImage.layer.maskedCorners = _backgroundColorImage.layer.maskedCorners | kCALayerMinXMinYCorner; - if (_isLast) - _backgroundColorImage.layer.maskedCorners = _backgroundColorImage.layer.maskedCorners | kCALayerMinXMaxYCorner; - } - _backgroundColorImage.layer.masksToBounds = YES; - } else { - // TODO it doesn't work for ios < 11.0 - UIRectCorner corner; - if (outgoing) { - corner = UIRectCornerTopLeft | UIRectCornerBottomLeft; - if (_isFirst) - corner = corner | UIRectCornerTopRight; - if (_isLast) - corner = corner | UIRectCornerBottomRight; - } else { - corner = UIRectCornerTopRight | UIRectCornerBottomRight; - if (_isFirst) - corner = corner | UIRectCornerTopLeft; - if (_isLast) - corner = corner | UIRectCornerBottomLeft; - } - UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:_backgroundColorImage.frame byRoundingCorners:corner cornerRadii:CGSizeMake(10,10)]; - CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init]; - maskLayer.frame = _backgroundColorImage.frame; - maskLayer.path = maskPath.CGPath; - _backgroundColorImage.layer.mask = maskLayer; - } - - // need space for dateLabel - CGRect frame = _innerView.frame; - frame.origin.y = _isFirst ? 20 : 0; - _innerView.frame = frame; - - - [_messageText setAccessibilityLabel:outgoing ? @"Outgoing message" : @"Incoming message"]; - if (outgoing && - (state == LinphoneChatMessageStateDeliveredToUser || state == LinphoneChatMessageStateDisplayed || - state == LinphoneChatMessageStateNotDelivered || state == LinphoneChatMessageStateFileTransferError)) { - [self displayImdmStatus:state]; - } else - [self displayImdmStatus:LinphoneChatMessageStateInProgress]; - - if (linphone_chat_message_is_reply(_message)) { - if (_replyView == nil) { - _replyView = [[UIChatReplyBubbleView alloc] initWithNibName:@"UIChatReplyBubbleView" bundle:nil]; - [self.innerView addSubview:_replyView.view]; - } - _replyView.view.hidden = false; - CGRect replyFrame = CGRectMake(_contactDateLabel.frame.origin.x, _contactDateLabel.frame.origin.y+_contactDateLabel.frame.size.height,self.contactDateLabel.frame.size.width, REPLY_CHAT_BUBBLE_HEIGHT); - _replyView.view.frame = replyFrame; - [_replyView configureForMessage:linphone_chat_message_get_reply_message(_message) withDimissBlock:^{} hideDismiss:true withClickBlock:^{ - [_tableController scrollToMessage:linphone_chat_message_get_reply_message(_message)]; - }]; - } else { - if (_replyView) - _replyView.view.hidden = true; - } - - // ICS for conference invitations - - if ([ICSBubbleView isConferenceInvitationMessageWithCmessage:self.message]) { - [(ICSBubbleView*)self.icsBubbleView setFromChatMessageWithCmessage:self.message]; - self.icsBubbleView.hidden = false; - _messageText.hidden = true; - } else { - self.icsBubbleView.hidden = true; - _messageText.hidden = false; - } - - -} - -- (void)setEditing:(BOOL)editing { - [self setEditing:editing animated:FALSE]; -} - -- (void)setEditing:(BOOL)editing animated:(BOOL)animated { - _resendRecognizer.enabled = !editing; -} - -- (void)displayLIMEWarning { - UIAlertController *errView = - [UIAlertController alertControllerWithTitle:NSLocalizedString(@"LIME warning", nil) - message:NSLocalizedString(@"This message is not encrypted.", nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction *defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"OK", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction *action){ - }]; - - [errView addAction:defaultAction]; - [PhoneMainView.instance presentViewController:errView animated:YES completion:nil]; -} - -#pragma mark - Action Functions - -- (void)onDelete { - if (_message != NULL) { - /* - UITableView *tableView = VIEW(ChatConversationViewSwift).tableController.tableView; - NSIndexPath *indexPath = [tableView indexPathForCell:self]; - [tableView.dataSource tableView:tableView - commitEditingStyle:UITableViewCellEditingStyleDelete - forRowAtIndexPath:indexPath]; - */ - } -} - -#pragma mark - State changed handling -static void message_status(LinphoneChatMessage *msg, LinphoneChatMessageState state) { - LOGI(@"State for message [%p] changed to %s", msg, linphone_chat_message_state_to_string(state)); - if (state == LinphoneChatMessageStateFileTransferInProgress) - return; - - if (!linphone_chat_message_is_outgoing(msg) || (state != LinphoneChatMessageStateFileTransferDone && state != LinphoneChatMessageStateFileTransferInProgress)) { - LinphoneEventLog *event = (LinphoneEventLog *)linphone_chat_message_cbs_get_user_data(linphone_chat_message_get_callbacks(msg)); - ChatConversationViewSwift *view = VIEW(ChatConversationViewSwift); - //[view.tableController updateEventEntry:event]; - //[view.tableController scrollToBottom:true]; - } -} - -static void participant_imdn_status(LinphoneChatMessage* msg, const LinphoneParticipantImdnState *state) { - dispatch_async(dispatch_get_main_queue(), ^{ - ChatConversationImdnView *imdnView = VIEW(ChatConversationImdnView); - [imdnView updateImdnList]; - }); -} - -- (void)displayImdmStatus:(LinphoneChatMessageState)state { - NSString *imageName = nil; - _notDelivered = FALSE; - if (state == LinphoneChatMessageStateDeliveredToUser) { - imageName = @"chat_delivered.png"; - [_imdmIcon setHidden:FALSE]; - } else if (state == LinphoneChatMessageStateDisplayed) { - imageName = @"chat_read"; - [_imdmIcon setHidden:FALSE]; - } else if (state == LinphoneChatMessageStateNotDelivered || state == LinphoneChatMessageStateFileTransferError) { - imageName = @"chat_error"; - [_imdmIcon setHidden:FALSE]; - _notDelivered = TRUE; - } else { - [_imdmIcon setHidden:TRUE]; - } - [_imdmIcon setImage:[UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/%@",[[NSBundle mainBundle] bundlePath],imageName]]]; -} - -#pragma mark - Bubble size computing - -+ (CGSize)computeBoundingBox:(NSString *)text size:(CGSize)size font:(UIFont *)font { - if (!text || text.length == 0) - return CGSizeMake(0, 0); - - return [text boundingRectWithSize:size - options:(NSStringDrawingUsesLineFragmentOrigin | - NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesFontLeading) - attributes:@{ - NSFontAttributeName : font - } - context:nil].size; -} - -static const CGFloat CELL_MIN_HEIGHT = 65.0f; -static const CGFloat CELL_MIN_WIDTH = 190.0f; -static const CGFloat CELL_MESSAGE_X_MARGIN = 68 + 10.0f; -static const CGFloat CELL_MESSAGE_Y_MARGIN = 44; -static const CGFloat REPLY_CHAT_BUBBLE_HEIGHT = 120; -static const CGFloat REPLY_OR_FORWARD_TAG_HEIGHT = 18; - - -+ (CGSize)ViewHeightForMessage:(LinphoneChatMessage *)chat withWidth:(int)width { - - CGSize cached = [SwiftUtil getCachedMessageHeightWithCmessage:chat]; - if (cached.height != 0) { - return cached; - } - - CGSize size = [self ViewHeightForMessageText:chat withWidth:width textForImdn:nil]; - size.height += linphone_chat_message_is_forward(chat) || linphone_chat_message_is_reply(chat) ? REPLY_OR_FORWARD_TAG_HEIGHT : 0; - size.height += linphone_chat_message_is_reply(chat) ? REPLY_CHAT_BUBBLE_HEIGHT+5 : 0; - - // No modifications of size below as it goes into cache - if ([SwiftUtil messageHeightCanBeCachedWithCmessage:chat]) { - [SwiftUtil setCachedMessageHeightWithCmessage:chat size:size]; - } - - return size; -} - -+ (CGSize)ViewHeightForFile:(int)width { - CGSize fileSize = CGSizeMake(230, 50); - CGSize size = [self getMediaMessageSizefromOriginalSize:fileSize withWidth:width]; - size.width = MAX(size.width + CELL_MESSAGE_X_MARGIN, CELL_MIN_WIDTH); - size.height = MAX(size.height + CELL_MESSAGE_Y_MARGIN, CELL_MIN_HEIGHT); - return size; -} - - -+(NSString *)formattedDuration:(long)valueSec { - return [NSString stringWithFormat:@"%02ld:%02ld", valueSec/ 60, (valueSec % 60) ]; -} - -+(NSString *) recordingDuration:(NSString *) _voiceRecordingFile{ - LinphonePlayer *p = linphone_core_create_local_player(LC, nil, nil, nil); - linphone_player_open(p, _voiceRecordingFile.UTF8String); - NSString *result = [self formattedDuration:linphone_player_get_duration(p)]; - linphone_player_close(p); - return result; -} - -+ (UIImage *)getImageFromFileName:(NSString *)fileName forReplyBubble:(BOOL)forReplyBubbble { - NSString *extension = [[fileName.lowercaseString componentsSeparatedByString:@"."] lastObject]; - UIImage *image; - NSString * text = fileName; - if ([fileName containsString:@"voice-recording"]) { - image = [UIImage imageNamed:@"file_voice_default"]; - text = [self recordingDuration:[LinphoneManager validFilePath:fileName]]; - } else { - if ([extension isEqualToString:@"pdf"]) - image = [UIImage imageNamed:@"file_pdf_default"]; - else if ([@[@"png", @"jpg", @"jpeg", @"bmp", @"heic"] containsObject:extension]) - image = [UIImage imageNamed:@"file_picture_default"]; - else if ([@[@"mkv", @"avi", @"mov", @"mp4"] containsObject:extension]) - image = [UIImage imageNamed:@"file_video_default"]; - else if ([@[@"wav", @"au", @"m4a"] containsObject:extension]) - image = [UIImage imageNamed:@"file_audio_default"]; - else - image = [UIImage imageNamed:@"file_default"]; - } - - return [SwiftUtil textToImageWithDrawText:text inImage:image forReplyBubble:forReplyBubbble]; -} - -+ (UIImage *)getImageFromContent:(LinphoneContent *)content filePath:(NSString *)filePath forReplyBubble:(BOOL)forReplyBubble { - NSString *type = [NSString stringWithUTF8String:linphone_content_get_type(content)]; - NSString *name = [NSString stringWithUTF8String:linphone_content_get_name(content)]; - if (!filePath) { - filePath = [LinphoneManager validFilePath:name]; - } - - UIImage *image = nil; - if ([type isEqualToString:@"video"]) { - image = [UIChatBubbleTextCell getImageFromVideoUrl:[NSURL fileURLWithPath:filePath]]; - } else if ([type isEqualToString:@"image"]) { - NSData* data = [NSData dataWithContentsOfFile:filePath]; - image = [[UIImage alloc] initWithData:data]; - } - if (image) return image; - else return [self getImageFromFileName:name forReplyBubble:forReplyBubble]; -} - -+(LinphoneContent *) voiceContent:(LinphoneChatMessage *)message { - for (const bctbx_list_t *it = linphone_chat_message_get_contents(message); it != NULL; it=bctbx_list_next(it)){ - LinphoneContent *content = (LinphoneContent *)it->data; - if (linphone_content_is_voice_recording(content)) - return content; - } - return nil; -} - - -+(CGSize) addVoicePlayerToSize:(CGSize)size withMargins:(BOOL)margins { - return CGSizeMake(MAX(size.width,VOICE_RECORDING_PLAYER_WIDTH + (margins ? CELL_MESSAGE_X_MARGIN: 0)), size.height + VOICE_RECORDING_PLAYER_HEIGHT+(margins ? CELL_MESSAGE_Y_MARGIN: 0)); - -} - -+ (CGSize)ViewHeightForMessageText:(LinphoneChatMessage *)chat withWidth:(int)width textForImdn:(NSString *)imdnText { - - if ([ICSBubbleView isConferenceInvitationMessageWithCmessage:chat]) { - return CGSizeMake(CONFERENCE_INVITATION_WIDTH, CONFERENCE_INVITATION_HEIGHT+[ICSBubbleView getDescriptionHeightFromContentWithCmessage:chat]); - } - - NSString *messageText = [UIChatBubbleTextCell TextMessageForChat:chat]; - static UIFont *messageFont = nil; - - if (!messageFont) { - UIChatBubbleTextCell *cell = - [[UIChatBubbleTextCell alloc] initWithIdentifier:NSStringFromClass(UIChatBubbleTextCell.class)]; - messageFont = cell.messageText.font; - } - width -= CELL_IMAGE_X_MARGIN; - CGSize size; - const char *url = linphone_chat_message_get_external_body_url(chat); - - if (imdnText) { - size = [self computeBoundingBox:imdnText - size:CGSizeMake(width - 4, CGFLOAT_MAX) - font:messageFont]; - size.width = MAX(size.width + CELL_MESSAGE_X_MARGIN, CELL_MIN_WIDTH); - size.height = MAX(size.height + CELL_MESSAGE_Y_MARGIN + 50, CELL_MIN_HEIGHT); - return size; - } - - CGFloat imagesw=0; - CGFloat imagesh=0; - CGFloat max_imagesw=0; - CGFloat max_imagesh=0; - LinphoneContent *voiceContent = [self voiceContent:chat]; - const bctbx_list_t *contents = linphone_chat_message_get_contents(chat); - size_t contentCount = bctbx_list_size(contents); - if (voiceContent) - contentCount--; - - BOOL multiParts = ((linphone_chat_message_get_utf8_text(chat) != NULL) ? contentCount > 2 : contentCount > 1); - - if (voiceContent && contentCount == 0) { - size = CGSizeMake(VOICE_RECORDING_PLAYER_WIDTH, VOICE_RECORDING_PLAYER_HEIGHT); - CGSize textSize = CGSizeMake(0, 0); - if (![messageText isEqualToString:@"🗻"]) { - textSize = [self computeBoundingBox:messageText - size:CGSizeMake(max_imagesw , CGFLOAT_MAX) - font:messageFont]; - } - - // add size for message text - size.height += textSize.height; - size.width = MAX(textSize.width, size.width); - size.width = MAX(size.width + CELL_MESSAGE_X_MARGIN, CELL_MIN_WIDTH); - size.height = MAX(size.height + CELL_MESSAGE_Y_MARGIN, CELL_MIN_HEIGHT) ; - return size; - } - - if (multiParts) { - const bctbx_list_t *it = contents; - NSMutableDictionary *encrptedFilePaths = [LinphoneManager getMessageAppDataForKey:@"encryptedfiles" inMessage:chat]; - - for (it = contents; it != NULL; it=bctbx_list_next(it)){ - LinphoneContent *content = (LinphoneContent *)it->data; - if (linphone_content_is_voice_recording(content)) { - CGSize sSize = CGSizeMake(VOICE_RECORDING_PLAYER_WIDTH, VOICE_RECORDING_PLAYER_HEIGHT); - imagesw += sSize.width; - if (imagesw > width) { - imagesw = sSize.width; - max_imagesw = MAX(max_imagesw, imagesw); - max_imagesh += imagesh; - imagesh = sSize.height; - } else { - max_imagesw = MAX(max_imagesw, imagesw); - imagesh = MAX(imagesh, sSize.height); - } - continue; - } - UIImage *image; - if(!linphone_chat_message_is_outgoing(chat) && linphone_content_is_file_transfer(content)) { - // not yet downloaded - UIImage *basicImage = [ChatConversationView getBasicImage]; - NSString *name = [NSString stringWithUTF8String:linphone_content_get_name(content)] ; - image = [ChatConversationView drawText:name image:basicImage textSize:25]; - } else if (linphone_content_is_file_transfer(content) || linphone_content_is_file(content)) { - NSString *name = [NSString stringWithUTF8String:linphone_content_get_name(content)]; - NSString *filePath=[encrptedFilePaths valueForKey:name]; - if (filePath == NULL) { - filePath = [LinphoneManager validFilePath:name]; - } - - image = [UIChatBubbleTextCell getImageFromContent:content filePath:filePath forReplyBubble:false]; - } - if (image) { - CGSize sSize = [self getMediaMessageSizefromOriginalSize:image.size withWidth:IMAGE_DEFAULT_WIDTH]; - imagesw += sSize.width; - if (imagesw > width) { - imagesw = sSize.width; - max_imagesw = MAX(max_imagesw, imagesw); - max_imagesh += imagesh; - imagesh = sSize.height; - } else { - max_imagesw = MAX(max_imagesw, imagesw); - imagesh = MAX(imagesh, sSize.height); - } - } - } - max_imagesh += imagesh; - - size = CGSizeMake(max_imagesw, max_imagesh); - CGSize textSize = CGSizeMake(0, 0); - if (![messageText isEqualToString:@"🗻"]) { - textSize = [self computeBoundingBox:messageText - size:CGSizeMake(max_imagesw , CGFLOAT_MAX) - font:messageFont]; - } - - // add size for message text - size.height += textSize.height; - size.width = MAX(textSize.width, size.width); - size.width = MAX(size.width + CELL_MESSAGE_X_MARGIN, CELL_MIN_WIDTH); - size.height = MAX(size.height + CELL_MESSAGE_Y_MARGIN, CELL_MIN_HEIGHT) ; - return size; - } - - - // if here, either 1 file + text or just one file or just text. - BOOL justText = linphone_chat_message_get_utf8_text(chat) != NULL && contentCount == 1; - if (justText) { // Just text - size = [self computeBoundingBox:messageText - size:CGSizeMake(width - CELL_MESSAGE_X_MARGIN - 4, CGFLOAT_MAX) - font:messageFont]; - size.width += 4; - } else { // Just file or file with text - LinphoneContent *fileContent = linphone_chat_message_get_file_transfer_information(chat); - NSString *localImage = [LinphoneManager getMessageAppDataForKey:@"localimage" inMessage:chat]; - NSString *localFile = [LinphoneManager getMessageAppDataForKey:@"localfile" inMessage:chat]; - NSString *localVideo = [LinphoneManager getMessageAppDataForKey:@"localvideo" inMessage:chat]; - NSString *filePath = [LinphoneManager getMessageAppDataForKey:@"encryptedfile" inMessage:chat]; - NSString *fileName = fileContent ? [NSString stringWithUTF8String:linphone_content_get_name(fileContent)] : nil; - - CGSize textSize = CGSizeMake(0, 0); - if (![messageText isEqualToString:@"🗻"] && messageText.length > 0) { - textSize = [self computeBoundingBox:messageText - size:CGSizeMake(width - CELL_MESSAGE_X_MARGIN - 4, CGFLOAT_MAX) - font:messageFont]; - size.height += textSize.height; - } - - CGSize originalImageSize = CGSizeMake(230, 50); - if (!filePath) { - filePath = [LinphoneManager validFilePath:fileName]; - } - if (localFile) { - UIImage *image = nil; - NSString *type = [NSString stringWithUTF8String:linphone_content_get_type(fileContent)]; - - if ([type isEqualToString:@"video"]) { - if ([[NSFileManager defaultManager] fileExistsAtPath: filePath]) { - image = [self getImageFromVideoUrl:[NSURL fileURLWithPath:filePath]]; - } else { - image = [self getImageFromVideoUrl:[VIEW(ChatConversationView) getICloudFileUrl:localFile]]; - } - } else if ([localFile hasSuffix:@"JPG"] || [localFile hasSuffix:@"PNG"] || [localFile hasSuffix:@"jpg"] || [localFile hasSuffix:@"png"]) { - if ([[NSFileManager defaultManager] fileExistsAtPath: filePath]) { - NSData *data = [NSData dataWithContentsOfFile:filePath]; - image = [[UIImage alloc] initWithData:data]; - } else { - NSData *data = [NSData dataWithContentsOfURL:[VIEW(ChatConversationView) getICloudFileUrl:localFile]]; - image = [[UIImage alloc] initWithData:data]; - } - } else if (voiceContent){ - return [self addVoicePlayerToSize:[self ViewHeightForFile:width] withMargins:true]; - } else { - image = nil; - originalImageSize = CGSizeMake(140, 140); - } - if (image != nil) - originalImageSize = image.size; - } else { - if (!localImage && !localVideo) { - //We are loading the image - CGSize baseSize = CGSizeMake(120 + CELL_MESSAGE_X_MARGIN, 120 + CELL_MESSAGE_Y_MARGIN + textSize.height + (textSize.height != 0 ? 20 : 0)); - if (voiceContent) { - baseSize = [self addVoicePlayerToSize:baseSize withMargins:true]; - baseSize.height -= VOICE_RECORDING_PLAYER_HEIGHT; - baseSize.height += 10; - } - return baseSize; - } - - if (localImage && [[NSFileManager defaultManager] fileExistsAtPath:filePath]) { - NSData* data = [NSData dataWithContentsOfFile:filePath]; - UIImage *image = [[UIImage alloc] initWithData:data]; - if (!image) { - CGSize fileSize = [self ViewHeightForFile:width]; - if (voiceContent) { - fileSize = [self addVoicePlayerToSize:fileSize withMargins:true]; - } - return fileSize; - } - originalImageSize = image.size; - } else if (localVideo && [[NSFileManager defaultManager] fileExistsAtPath:filePath]) { - UIImage *image = [UIChatBubbleTextCell getImageFromVideoUrl:[NSURL fileURLWithPath:filePath]]; - if (!image) { - CGSize fileSize = [self ViewHeightForFile:width]; - if (voiceContent) { - fileSize = [self addVoicePlayerToSize:fileSize withMargins:true]; - } - return fileSize; - } - originalImageSize = image.size; - } else { - // support previous versions - PHFetchResult *assets; - if(localImage) - assets = [LinphoneManager getPHAssets:localImage]; - else - assets = [PHAsset fetchAssetsWithLocalIdentifiers:[NSArray arrayWithObject:localVideo] options:nil]; - - if (![assets firstObject]) { - CGSize baseSize = CGSizeMake(CELL_MIN_WIDTH, CELL_MIN_WIDTH + CELL_MESSAGE_Y_MARGIN + textSize.height); - if (voiceContent) { - baseSize = [self addVoicePlayerToSize:baseSize withMargins:true]; - } - return baseSize; - } else { - PHAsset *asset = [assets firstObject]; - originalImageSize = CGSizeMake([asset pixelWidth], [asset pixelHeight]); - } - } - } - size = [self getMediaMessageSizefromOriginalSize:originalImageSize withWidth:width]; - // add size for message text - size.height += textSize.height; - size.width = MAX(textSize.width, size.width); - } - - if (voiceContent) { - size.width = MAX(size.width,VOICE_RECORDING_PLAYER_WIDTH); - size.height += VOICE_RECORDING_PLAYER_HEIGHT; - } - - size.width = MAX(size.width + CELL_MESSAGE_X_MARGIN, CELL_MIN_WIDTH); - size.height = MAX(size.height + CELL_MESSAGE_Y_MARGIN, CELL_MIN_HEIGHT); - return size; -} - -+ (CGSize)ViewSizeForMessage:(LinphoneChatMessage *)chat withWidth:(int)width { - static UIFont *dateFont = nil; - static CGSize dateViewSize; - - if (!dateFont) { - UIChatBubbleTextCell *cell = - [[UIChatBubbleTextCell alloc] initWithIdentifier:NSStringFromClass(UIChatBubbleTextCell.class)]; - dateFont = cell.contactDateLabel.font; - dateViewSize = cell.contactDateLabel.frame.size; - dateViewSize.width = CGFLOAT_MAX; - } - - CGSize messageSize = [self ViewHeightForMessage:chat withWidth:width]; - CGSize dateSize = [self computeBoundingBox:[self ContactDateForChat:chat] size:dateViewSize font:dateFont]; - messageSize.width = MAX(MAX(messageSize.width, MIN(dateSize.width + CELL_MESSAGE_X_MARGIN, width)), CELL_MIN_WIDTH); - messageSize.width = MAX(MAX(messageSize.width, MIN(CELL_MESSAGE_X_MARGIN, width)), CELL_MIN_WIDTH); - - return messageSize; -} - -+ (UIImage *)getImageFromVideoUrl:(NSURL *)url { - AVURLAsset* asset = [AVURLAsset URLAssetWithURL:url options:nil]; - AVAssetImageGenerator* generator = [AVAssetImageGenerator assetImageGeneratorWithAsset:asset]; - generator.appliesPreferredTrackTransform = YES; - return [UIImage imageWithCGImage:[generator copyCGImageAtTime:CMTimeMake(0, 1) actualTime:nil error:nil]]; -} - -- (void)layoutSubviews { - [super layoutSubviews]; - if (_message != nil) { - //UITableView *tableView = VIEW(ChatConversationViewSwift).tableController.tableView; - BOOL is_outgoing = linphone_chat_message_is_outgoing(_message); - CGRect bubbleFrame = _bubbleView.frame; - int available_width = self.frame.size.width; - int origin_x; - - bubbleFrame.size = [self.class ViewSizeForMessage:_message withWidth:available_width]; - if (linphone_chat_message_is_reply(_message)) { - bubbleFrame.size.width = MAX(bubbleFrame.size.width, 300); - } - - /* - if (tableView.isEditing) { - origin_x = 0; - } else { - origin_x = (is_outgoing ? self.frame.size.width - bubbleFrame.size.width : 0); - } - */ - - CGRect r = _messageText.frame; - r.origin.y = linphone_chat_message_is_reply(_message) ? _replyView.view.frame.origin.y + _replyView.view.frame.size.height + 5 : 3; - _messageText.frame = r; - - r = _messageText.frame; - r.origin.y = linphone_chat_message_is_forward(_message) ? _contactDateLabel.frame.origin.y + _contactDateLabel.frame.size.height + 5 : r.origin.y; - _messageText.frame = r; - - _replyTransferIcon.hidden = ! linphone_chat_message_is_reply(_message) && !linphone_chat_message_is_forward(_message); - _replyTransferLabel.hidden = ! linphone_chat_message_is_reply(_message) && !linphone_chat_message_is_forward(_message); - [(ICSBubbleView*)self.icsBubbleView updateTopLayoutConstraintsWithView:self.backgroundColorImage replyOrForward:linphone_chat_message_is_reply(_message)||linphone_chat_message_is_forward(_message)]; - - - if (linphone_chat_message_is_reply(_message)) { - CGRect replyFrame = CGRectMake(10, _replyTransferLabel.frame.origin.y+_replyTransferLabel.frame.size.height+5,MAX(self.contactDateLabel.frame.size.width-20,180), REPLY_CHAT_BUBBLE_HEIGHT); - _replyView.view.frame = replyFrame; - _replyTransferIcon.image = [UIImage imageNamed:@"menu_reply_default"]; - _replyTransferLabel.text = NSLocalizedString(@"Answer",nil); - _replyTransferLabel.textColor = [UIColor lightGrayColor]; - } - - if (linphone_chat_message_is_forward(_message)) { - _replyTransferIcon.image = [UIImage imageNamed:@"menu_forward_default"]; - _replyTransferLabel.text = NSLocalizedString(@"Transferred",nil); - _replyTransferLabel.textColor = [UIColor darkGrayColor]; - } - - bubbleFrame.origin.x = origin_x; - _bubbleView.frame = bubbleFrame; - - - } -} - - -+ (CGSize)getMediaMessageSizefromOriginalSize:(CGSize)originalSize withWidth:(int)width { - CGSize mediaSize = CGSizeMake(0, 0); - int availableWidth = width; - if (UIInterfaceOrientationIsLandscape([[UIApplication sharedApplication] statusBarOrientation]) || IPAD) { - availableWidth = availableWidth /1.7; - } - - int newHeight = originalSize.height; - float originalAspectRatio = originalSize.width / originalSize.height; - // We resize in width and crop in height - if (originalSize.width > availableWidth) { - newHeight = availableWidth / originalAspectRatio; - } - - if (newHeight > availableWidth) { - newHeight = availableWidth; - availableWidth = newHeight * originalAspectRatio; - } - mediaSize.height = newHeight; - mediaSize.width = MIN(availableWidth, originalSize.width); - return mediaSize; -} - - -// Message popup menu -// Copy text -> if has text -// Transfer -> always -// Reply -> always -// IMDM Status -> out -// Delete -> always - - --(void) buildActions { - LinphoneChatMessage *message = self.message; - LinphoneEventLog *event = self.event; - - _messageActionsTitles = [[NSMutableArray alloc] init]; - _messageActionsBlocks = [[NSMutableArray alloc] init]; - _messageActionsIcons = [[NSMutableArray alloc] init]; - - [VIEW(ChatConversationView).messageField resignFirstResponder]; - UIChatBubbleTextCell *thiz = self; - - LinphoneChatMessageState state = linphone_chat_message_get_state(self.message); - if (state == LinphoneChatMessageStateNotDelivered || state == LinphoneChatMessageStateFileTransferError) { - [_messageActionsTitles addObject:NSLocalizedString(@"Resend", nil)]; - [_messageActionsIcons addObject:@"menu_resend_default"]; - [_messageActionsBlocks addObject:^{ - [thiz dismissPopup]; - if (!linphone_core_is_network_reachable(LC)) { - [PhoneMainView.instance presentViewController:[LinphoneUtils networkErrorView:@"send a message"] animated:YES completion:nil]; - return; - } - linphone_chat_message_send(message); - }]; - } - - - if (linphone_chat_message_get_utf8_text(message) && ![ICSBubbleView isConferenceInvitationMessageWithCmessage:message]) { - [_messageActionsTitles addObject:NSLocalizedString(@"Copy text", nil)]; - [_messageActionsIcons addObject:@"menu_copy_text_default"]; - [_messageActionsBlocks addObject:^{ - [thiz dismissPopup]; - [UIPasteboard.generalPasteboard setString:[NSString stringWithUTF8String:linphone_chat_message_get_utf8_text(message)]]; - }]; - } - - - [_messageActionsTitles addObject:NSLocalizedString(@"Forward", nil)]; - [_messageActionsIcons addObject:@"menu_forward_default"]; - [_messageActionsBlocks addObject:^{ - [thiz dismissPopup]; - VIEW(ChatConversationViewSwift).pendingForwardMessage = message; - [PhoneMainView.instance changeCurrentView:VIEW(ChatsListView).compositeViewDescription]; - }]; - - - - [_messageActionsTitles addObject:NSLocalizedString(@"Reply", nil)]; - [_messageActionsIcons addObject:@"menu_reply_default"]; - [_messageActionsBlocks addObject:^{ - [thiz dismissPopup]; - [VIEW(ChatConversationViewSwift) initiateReplyViewForMessage:message]; - }]; - - LinphoneChatRoom *chatroom = linphone_chat_message_get_chat_room(self.message); - - if (linphone_chat_room_get_nb_participants(chatroom) > 1) { - [_messageActionsTitles addObject:NSLocalizedString(@"Infos", nil)]; - [_messageActionsIcons addObject:@"menu_info"]; - [_messageActionsBlocks addObject:^{ - [thiz dismissPopup]; - ChatConversationImdnView *view = VIEW(ChatConversationImdnView); - view.event = event; - [PhoneMainView.instance changeCurrentView:view.compositeViewDescription]; - }]; - } - - if (!linphone_chat_message_is_outgoing(self.message) - && [FastAddressBook getContactWithAddress:linphone_chat_message_get_from_address(self.message)] == nil - && !(linphone_chat_room_get_capabilities(chatroom) & LinphoneChatRoomCapabilitiesOneToOne) ) { - - LinphoneAddress *fromAddress = linphone_address_clone(linphone_chat_message_get_from_address(self.message)); - [_messageActionsTitles addObject:NSLocalizedString(@"Add to contact", nil)]; - [_messageActionsIcons addObject:@"contact_add_default"]; - [_messageActionsBlocks addObject:^{ - [thiz dismissPopup]; - linphone_address_clean(fromAddress); - char *lAddress = linphone_address_as_string_uri_only(fromAddress); - if (lAddress != NULL) { - NSString *normSip = [NSString stringWithUTF8String:lAddress]; - normSip = [normSip hasPrefix:@"sip:"] ? [normSip substringFromIndex:4] : normSip; - normSip = [normSip hasPrefix:@"sips:"] ? [normSip substringFromIndex:5] : normSip; - [ContactSelection setAddAddress:normSip]; - [ContactSelection setSelectionMode:ContactSelectionModeEdit]; - [ContactSelection enableSipFilter:FALSE]; - [PhoneMainView.instance changeCurrentView:ContactsListView.compositeViewDescription]; - ms_free(lAddress); - } - linphone_address_unref(fromAddress); - }]; - } - - [_messageActionsTitles addObject:NSLocalizedString(@"Delete", nil)]; - [_messageActionsIcons addObject:@"menu_delete"]; - [_messageActionsBlocks addObject:^{ - [thiz dismissPopup]; - linphone_chat_room_delete_message(linphone_chat_message_get_chat_room(message), message); - //[VIEW(ChatConversationViewSwift).tableController reloadData]; - }]; -} - --(void) onPopupMenuPressed { - if (_popupMenu != nil) - [self dismissPopup]; - - if (!self.popupMenuAllowed) - return; - - - //[VIEW(ChatConversationViewSwift).tableController dismissMessagesPopups]; - [self buildActions]; - int width = 250; - int cellHeight = 45; - int numberOfItems = (int) _messageActionsTitles.count; - CGRect screenRect = UIScreen.mainScreen.bounds; - int menuHeight = numberOfItems * cellHeight; - - /* - CGRect frame = CGRectMake( - linphone_chat_message_is_outgoing(self.message) ? screenRect.size.width - width - 10 : 10, - (self.frame.origin.y + self.frame.size.height) - [VIEW(ChatConversationViewSwift).tableController .tableView contentOffset].y > screenRect.size.height /2 ? self.frame.origin.y - menuHeight - 10: self.frame.origin.y + self.frame.size.height, - width, - menuHeight);*/ - - //_popupMenu = [[UITableView alloc]initWithFrame:frame]; - _popupMenu.scrollEnabled = false; - _popupMenu.dataSource = self; - _popupMenu.delegate = self; - _popupMenu.separatorStyle = UITableViewCellSeparatorStyleNone; - - _popupMenu.layer.masksToBounds = false; - - _popupMenu.layer.shadowColor = [UIColor darkGrayColor].CGColor; - _popupMenu.layer.shadowOpacity = 0.7; - _popupMenu.layer.shadowOffset = CGSizeMake(0, 3); - _popupMenu.layer.shadowRadius = 5; - _popupMenu.layer.shadowPath = [[UIBezierPath bezierPathWithRoundedRect:_popupMenu.layer.bounds cornerRadius:_popupMenu.layer.cornerRadius] CGPath]; - - _popupMenu.tableFooterView = [UIView new]; - _popupMenu.editing = NO; - _popupMenu.userInteractionEnabled = true; - [_popupMenu reloadData]; - //[VIEW(ChatConversationViewSwift).tableController.view addSubview:_popupMenu]; - UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapOutsideMenu:)]; - tapGestureRecognizer.cancelsTouchesInView = NO; - tapGestureRecognizer.numberOfTapsRequired = 1; - //[VIEW(ChatConversationViewSwift).tableController.view addGestureRecognizer:tapGestureRecognizer]; -} - --(void) dismissPopup { - if (!_popupMenu) - return; - [_popupMenu removeFromSuperview]; - _popupMenu = nil; - [self setNeedsLayout]; -} - - --(void) tapOutsideMenu:(UITapGestureRecognizer *) g { - /* - CGPoint p = [g locationInView:VIEW(ChatConversationViewSwift).tableController.view]; - if (!CGRectContainsPoint(_popupMenu.frame,p)) { - [self dismissPopup]; - } - */ -} - --(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - void (^ myblock)(void) = [_messageActionsBlocks objectAtIndex:indexPath.row]; - [self dismissPopup]; - myblock(); -} - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return 1; -} - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - return [_messageActionsTitles count]; -} - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - UITableViewCell *cell = [[UITableViewCell alloc] init]; - UIImageView * icon = [[UIImageView alloc] initWithFrame:CGRectMake(tableView.frame.size.width-37, 7, 30, 30)]; - icon.image = [[UIImage imageNamed:[_messageActionsIcons objectAtIndex:indexPath.row]] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; - [cell.contentView addSubview:icon]; - cell.textLabel.text = [_messageActionsTitles objectAtIndex:indexPath.row]; - icon.contentMode = UIViewContentModeScaleAspectFit; - if ([[_messageActionsIcons objectAtIndex:indexPath.row] isEqualToString:@"menu_delete"]) { - cell.textLabel.textColor = UIColor.redColor; - icon.tintColor = UIColor.redColor; - } else { - icon.tintColor = PhoneMainView.instance.darkMode ? UIColor.whiteColor : UIColor.blackColor; - } - return cell; -} - - - -@end diff --git a/Classes/LinphoneUI/UIChatCell.h b/Classes/LinphoneUI/UIChatCell.h deleted file mode 100644 index bb26032d9..000000000 --- a/Classes/LinphoneUI/UIChatCell.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "UIRoundedImageView.h" -#import "UIIconButton.h" -#import "UIBouncingView.h" - -#include "linphone/linphonecore.h" - -@interface UIChatCell : UITableViewCell { - LinphoneChatRoom *chatRoom; -} - -@property(readonly, nonatomic) LinphoneEventLog *event; -@property(nonatomic, strong) IBOutlet UIImageView *avatarImage; -@property (weak, nonatomic) IBOutlet UIImageView *securityImage; -@property(nonatomic, strong) IBOutlet UILabel *addressLabel; -@property(nonatomic, strong) IBOutlet UILabel *chatContentLabel; -@property(weak, nonatomic) IBOutlet UILabel *chatLatestTimeLabel; -@property(weak, nonatomic) IBOutlet UIBouncingView *unreadCountView; -@property(weak, nonatomic) IBOutlet UILabel *unreadCountLabel; -@property (weak, nonatomic) IBOutlet UIImageView *imdmIcon; -@property (weak, nonatomic) IBOutlet UIImageView *ephemeral; -@property (weak, nonatomic) IBOutlet UIImageView *forwardIcon; - - -- (id)initWithIdentifier:(NSString*)identifier; - -- (IBAction)onDeleteClick:(id)event; -- (void)updateUnreadBadge; -- (void)setChatRoom:(LinphoneChatRoom *)achat; -@end diff --git a/Classes/LinphoneUI/UIChatCell.m b/Classes/LinphoneUI/UIChatCell.m deleted file mode 100644 index d2043e60d..000000000 --- a/Classes/LinphoneUI/UIChatCell.m +++ /dev/null @@ -1,241 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UIChatCell.h" -#import "PhoneMainView.h" -#import "LinphoneManager.h" -#import "Utils.h" -#import "linphoneapp-Swift.h" - -@implementation UIChatCell - -#pragma mark - Lifecycle Functions - -- (id)initWithIdentifier:(NSString *)identifier { - if ((self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier]) != nil) { - NSArray *arrayOfViews = - [[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self.class) owner:self options:nil]; - - // resize cell to match .nib size. It is needed when resized the cell to - // correctly adapt its height too - UIView *sub = ((UIView *)[arrayOfViews objectAtIndex:0]); - [self setFrame:CGRectMake(0, 0, sub.frame.size.width, sub.frame.size.height)]; - [self addSubview:sub]; - } - [_imdmIcon setHidden:TRUE]; - _unreadCountView.backgroundColor = VoipTheme.primary_color; - _unreadCountView.layer.cornerRadius = 10; - _unreadCountView.clipsToBounds = true; - _unreadCountLabel.textAlignment = NSTextAlignmentCenter; - return self; -} - -#pragma mark - Property Funcitons - -- (void)setChatRoom:(LinphoneChatRoom *)achat { - chatRoom = achat; - [self update]; - [self.forwardIcon setImageNamed:@"forward_message_default" tintColor:PhoneMainView.instance.darkMode ? UIColor.whiteColor : UIColor.darkGrayColor]; -} - -#pragma mark - - -- (NSString *)accessibilityValue { - if (_chatContentLabel.text) { - return [NSString stringWithFormat:@"%@, %@ (%li)", _addressLabel.text, _chatContentLabel.text, - (long)[_unreadCountLabel.text integerValue]]; - } else { - return [NSString stringWithFormat:@"%@ (%li)", _addressLabel.text, (long)[_unreadCountLabel.text integerValue]]; - } -} - -- (void)update { - if (chatRoom == nil) { - LOGW(@"Cannot update chat cell: null chat"); - return; - } - - LinphoneChatRoomCapabilitiesMask capabilities = linphone_chat_room_get_capabilities(chatRoom); - if (capabilities & LinphoneChatRoomCapabilitiesOneToOne) { - bctbx_list_t *participants = linphone_chat_room_get_participants(chatRoom); - LinphoneParticipant *firstParticipant = participants ? (LinphoneParticipant *)participants->data : NULL; - const LinphoneAddress *addr = firstParticipant ? linphone_participant_get_address(firstParticipant) : linphone_chat_room_get_peer_address(chatRoom); - if (addr) { - [ContactDisplay setDisplayNameLabel:_addressLabel forAddress:addr]; - [_avatarImage setImage:[FastAddressBook imageForAddress:addr]]; - } else { - _addressLabel.text = [NSString stringWithUTF8String:LINPHONE_DUMMY_SUBJECT]; - } - bctbx_list_free(participants); - } else { - const char *subject = linphone_chat_room_get_subject(chatRoom); - _addressLabel.text = [NSString stringWithUTF8String:subject ?: LINPHONE_DUMMY_SUBJECT]; - [_avatarImage setImage:[UIImage imageNamed:@"chat_group_avatar.png"]]; - } - // TODO update security image when security level changed - [_securityImage setImage:[FastAddressBook imageForSecurityLevel:linphone_chat_room_get_security_level(chatRoom)]]; - - _chatLatestTimeLabel.text = [LinphoneUtils timeToString:linphone_chat_room_get_last_update_time(chatRoom) withFormat:LinphoneDateChatList]; - - LinphoneChatMessage *last_msg = linphone_chat_room_get_last_message_in_history(chatRoom); - if (last_msg) { - BOOL imdnInSnap = TRUE; - if (imdnInSnap) { - BOOL outgoing = linphone_chat_message_is_outgoing(last_msg); - NSString *text = [UIChatBubbleTextCell TextMessageForChat:last_msg]; - if (capabilities & LinphoneChatRoomCapabilitiesOneToOne) { - // shorten long messages - /*if ([text length] > 50) - text = [[text substringToIndex:50] stringByAppendingString:@"[...]"];*/ - _chatContentLabel.attributedText = nil; - _chatContentLabel.text = text; - } else { - NSString *name = [FastAddressBook displayNameForAddress:linphone_chat_message_get_from_address(last_msg)]; - if ([name length] > 25) { - name = [[name substringToIndex:25] stringByAppendingString:@"[...]"]; - } - CGFloat fontSize = _chatContentLabel.font.pointSize; - UIFont *boldFont = [UIFont boldSystemFontOfSize:fontSize]; - NSMutableAttributedString *boldText = [[NSMutableAttributedString alloc] initWithString:name attributes:@{ NSFontAttributeName : boldFont }]; - text = [@" : " stringByAppendingString:text]; - //NSString *fullText = [name stringByAppendingString:text]; - /*if ([fullText length] > 50) { - text = [[text substringToIndex: (50 - [name length])] stringByAppendingString:@"[...]"]; - }*/ - [boldText appendAttributedString:[[NSAttributedString alloc] initWithString:text]]; - _chatContentLabel.text = nil; - _chatContentLabel.attributedText = boldText; - } - - if (outgoing){ - linphone_chat_message_set_user_data(last_msg, (void *)CFBridgingRetain(self)); - LinphoneChatMessageCbs *cbs = linphone_chat_message_get_callbacks(last_msg); - linphone_chat_message_cbs_set_msg_state_changed(cbs, message_status); - linphone_chat_message_cbs_set_user_data(cbs, (void *)_event); - } - - LinphoneChatMessageState state = linphone_chat_message_get_state(last_msg); - if (outgoing && (state == LinphoneChatMessageStateDeliveredToUser || state == LinphoneChatMessageStateDisplayed || state == LinphoneChatMessageStateNotDelivered || state == LinphoneChatMessageStateFileTransferError)) { - [self displayImdmStatus:state]; - CGRect newFrame = _chatContentLabel.frame; - newFrame.origin.x = 89; - _chatContentLabel.frame = newFrame; - } else { - // We displace the message 20 pixels to the left - [_imdmIcon setHidden:TRUE]; - CGRect newFrame = _chatContentLabel.frame; - newFrame.origin.x = 69; - _chatContentLabel.frame = newFrame; - } - } else { - NSString *conferenceInfo = [ICSBubbleView getConferenceSummaryWithCmessage:last_msg]; - NSString *text = conferenceInfo != nil ? conferenceInfo : [[FastAddressBook displayNameForAddress:linphone_chat_message_get_from_address(last_msg)] - stringByAppendingFormat:@" : %@", [UIChatBubbleTextCell TextMessageForChat:last_msg]]; - // shorten long messages - /*if ([text length] > 50) - text = [[text substringToIndex:50] stringByAppendingString:@"[...]"];*/ - [_imdmIcon setHidden:TRUE]; - CGRect newFrame = _chatContentLabel.frame; - newFrame.origin.x = 69; - _chatContentLabel.frame = newFrame; - _chatContentLabel.text = text; - } - - linphone_chat_message_unref(last_msg); - } else - _chatContentLabel.text = nil; - - [self updateUnreadBadge]; - _ephemeral.hidden = !linphone_chat_room_ephemeral_enabled(chatRoom); -} - -- (void)updateUnreadBadge { - int count = linphone_chat_room_get_unread_messages_count(chatRoom); - _unreadCountLabel.text = [NSString stringWithFormat:@"%i", count]; - if (count > 0) { - [_unreadCountView startAnimating:YES]; - } else { - [_unreadCountView stopAnimating:YES]; - } - UIFont *addressFont = (count <= 0) ? [UIFont systemFontOfSize:21] : [UIFont boldSystemFontOfSize:21]; - _addressLabel.font = addressFont; -} - -- (void)setEditing:(BOOL)editing { - [self setEditing:editing animated:FALSE]; -} - -- (void)setEditing:(BOOL)editing animated:(BOOL)animated { - if ([[UIApplication sharedApplication] applicationState] == UIApplicationStateBackground) { - return; - } - if (animated) { - [UIView beginAnimations:nil context:nil]; - [UIView setAnimationDuration:0.3]; - } - if (editing) { - [_unreadCountView stopAnimating:animated]; - } else if (linphone_chat_room_get_unread_messages_count(chatRoom) > 0) { - [_unreadCountView startAnimating:animated]; - } - if (animated) { - [UIView commitAnimations]; - } -} - -#pragma mark - Action Functions - -- (IBAction)onDeleteClick:(id)event { - if (chatRoom != NULL) { - UITableView *tableView = VIEW(ChatsListView).tableController.tableView; - NSIndexPath *indexPath = [tableView indexPathForCell:self]; - [[tableView dataSource] tableView:tableView - commitEditingStyle:UITableViewCellEditingStyleDelete - forRowAtIndexPath:indexPath]; - } -} - - -- (void)displayImdmStatus:(LinphoneChatMessageState)state { - if (state == LinphoneChatMessageStateDeliveredToUser) { - [_imdmIcon setImage:[UIImage imageNamed:@"chat_delivered"]]; - [_imdmIcon setHidden:FALSE]; - } else if (state == LinphoneChatMessageStateDisplayed) { - [_imdmIcon setImage:[UIImage imageNamed:@"chat_read"]]; - [_imdmIcon setHidden:FALSE]; - } else if (state == LinphoneChatMessageStateNotDelivered || state == LinphoneChatMessageStateFileTransferError) { - [_imdmIcon setImage:[UIImage imageNamed:@"chat_error"]]; - [_imdmIcon setHidden:FALSE]; - } else { - [_imdmIcon setHidden:TRUE]; - } -} - -static void message_status(LinphoneChatMessage *msg, LinphoneChatMessageState state) { - LOGI(@"State for message [%p] changed to %s", msg, linphone_chat_message_state_to_string(state)); - if (state == LinphoneChatMessageStateFileTransferInProgress) - return; - - if (!linphone_chat_message_is_outgoing(msg) || (state != LinphoneChatMessageStateFileTransferDone && state != LinphoneChatMessageStateFileTransferInProgress)) { - ChatsListView *view = VIEW(ChatsListView); - [view.tableController updateEventEntry:msg]; - } -} - -@end diff --git a/Classes/LinphoneUI/UIChatContentView.h b/Classes/LinphoneUI/UIChatContentView.h deleted file mode 100644 index b5d530de1..000000000 --- a/Classes/LinphoneUI/UIChatContentView.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - - -@interface UIChatContentView : UIImageView - -@property(strong, nonatomic) NSMutableArray *fileUrls; -@property(nonatomic) NSInteger position; -@property(readonly, nonatomic) LinphoneContent *content; -@property(readonly, nonatomic) LinphoneChatMessage *message; -@property(nonatomic) UIButton *downloadButton; -@property(nonatomic) NSString *filePath; -@property(nonatomic) UIProgressView *progress; - - -- (void)setContent:(LinphoneContent *)content message:(LinphoneChatMessage *)message; - -@end diff --git a/Classes/LinphoneUI/UIChatContentView.m b/Classes/LinphoneUI/UIChatContentView.m deleted file mode 100644 index 31c35da80..000000000 --- a/Classes/LinphoneUI/UIChatContentView.m +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import "UIChatContentView.h" -#import "ChatConversationView.h" -#import "PhoneMainView.h" - -@implementation UIChatContentView - -static NSMutableDictionary *instances; - -- (void)setContent:(LinphoneContent *)content message:(LinphoneChatMessage *)message { - - if (!instances) - instances = [[NSMutableDictionary alloc] init]; - - _content = content; - _message = message; - self.userInteractionEnabled = YES; - - if(!linphone_chat_message_is_outgoing(_message) && linphone_content_is_file_transfer(_content)) { - // has not yet downloaded - NSString *name = [NSString stringWithUTF8String:linphone_content_get_name(content)] ; - UIImage *image = [UIChatBubbleTextCell getImageFromFileName:name forReplyBubble:false]; - [self setImage:image]; - _downloadButton = [UIButton buttonWithType:UIButtonTypeCustom]; - [_downloadButton addTarget:self - action:@selector(onDownloadClick:) - forControlEvents:UIControlEventTouchUpInside]; - UIFont *boldFont = [UIFont systemFontOfSize:12]; - NSMutableParagraphStyle * paragraphStyle = [[NSMutableParagraphStyle alloc] init]; - paragraphStyle.alignment = NSTextAlignmentCenter; - NSMutableAttributedString *boldText = [[NSMutableAttributedString alloc] initWithString:@"Download" attributes:@{ NSFontAttributeName : boldFont, NSParagraphStyleAttributeName:paragraphStyle,NSUnderlineStyleAttributeName: @(NSUnderlineStyleSingle) }]; - [_downloadButton setAttributedTitle:boldText forState:UIControlStateNormal]; - _downloadButton.frame = CGRectMake(0, 90, 120, 30); - [self addSubview:_downloadButton]; - _progress = [[UIProgressView alloc] initWithFrame:CGRectMake(5, 75, 110, 30)]; - _progress.tintColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"color_A.png"]]; - _progress.hidden = true; - [self addSubview:_progress]; - } else { - if (_filePath == NULL) { - NSString *name = [NSString stringWithUTF8String:linphone_content_get_name(content)]; - _filePath = [LinphoneManager validFilePath:name]; - } - UIImage *image = [UIChatBubbleTextCell getImageFromContent:content filePath:_filePath forReplyBubble:false]; - [self setImage:image]; - UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onMultiPartClick:)]; - tapGestureRecognizer.numberOfTapsRequired = 1; - tapGestureRecognizer.enabled = YES; - [self addGestureRecognizer:tapGestureRecognizer]; - self.userInteractionEnabled = true; - } -} - - --(IBAction)onMultiPartClick:(id)sender { - ChatConversationView *view = VIEW(ChatConversationView); - [view openFileWithURLs:_fileUrls index:_position]; -} - --(IBAction)onDownloadClick:(id)sender { - _downloadButton.enabled = NO; - linphone_content_set_file_path(_content, [[LinphoneManager imagesDirectory] stringByAppendingPathComponent:[NSString stringWithUTF8String:linphone_content_get_name(_content)]].UTF8String); - linphone_chat_message_cbs_set_file_transfer_progress_indication(linphone_chat_message_get_callbacks(_message), file_transfer_progress_indication_recv); - _progress.hidden = false; - _downloadButton.enabled = false; - [instances setValue:self forKey:[NSString stringWithUTF8String:linphone_content_get_name(_content)]]; - - linphone_chat_message_download_content(_message, _content); -} - -static void file_transfer_progress_indication_recv(LinphoneChatMessage *message, LinphoneContent* content, size_t offset, size_t total) { - CGFloat p = offset * 1.f / total; - dispatch_async(dispatch_get_main_queue(), ^{ - UIChatContentView *thiz = [instances objectForKey:[NSString stringWithUTF8String:linphone_content_get_name(content)]]; - if (offset == total) { - thiz.progress.hidden = true; - } else { - thiz.progress.hidden = false; - thiz.progress.progress = p; - LOGD(@"Transfer of %s (%d bytes): already %ld recv progress = %f", linphone_content_get_name(content), total, p); - } - }); -} - -@end - diff --git a/Classes/LinphoneUI/UIChatConversationImdnTableViewCell.h b/Classes/LinphoneUI/UIChatConversationImdnTableViewCell.h deleted file mode 100644 index ad24750ec..000000000 --- a/Classes/LinphoneUI/UIChatConversationImdnTableViewCell.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef UIChatConversationImdnTableViewCell_h -#define UIChatConversationImdnTableViewCell_h - -@interface UIChatConversationImdnTableViewCell : UITableViewCell - -@property (weak, nonatomic) IBOutlet UIImageView *avatar; -@property (weak, nonatomic) IBOutlet UILabel *displayName; -@property (weak, nonatomic) IBOutlet UILabel *dateLabel; -- (id)initWithIdentifier:(NSString *)identifier; -@end - -#endif /* UIChatConversationImdnTableViewCell_h */ diff --git a/Classes/LinphoneUI/UIChatConversationImdnTableViewCell.m b/Classes/LinphoneUI/UIChatConversationImdnTableViewCell.m deleted file mode 100644 index 2153f2adf..000000000 --- a/Classes/LinphoneUI/UIChatConversationImdnTableViewCell.m +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "PhoneMainView.h" -#import "UIChatConversationImdnTableViewCell.h" - -@implementation UIChatConversationImdnTableViewCell - -- (void)awakeFromNib { - [super awakeFromNib]; - // Initialization code -} - -- (id)initWithIdentifier:(NSString *)identifier { - self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier]; - if (self != nil) { - NSArray *arrayOfViews = - [[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self.class) owner:self options:nil]; - if ([arrayOfViews count] >= 1) { - UIView *sub = ((UIView *)[arrayOfViews objectAtIndex:0]); - [self setFrame:CGRectMake(0, 0, sub.frame.size.width, sub.frame.size.height)]; - [self addSubview:sub]; - } - } - return self; -} - -@end - diff --git a/Classes/LinphoneUI/UIChatConversationInfoTableViewCell.h b/Classes/LinphoneUI/UIChatConversationInfoTableViewCell.h deleted file mode 100644 index 40dae59d6..000000000 --- a/Classes/LinphoneUI/UIChatConversationInfoTableViewCell.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import "ChatConversationInfoView.h" - -@interface UIChatConversationInfoTableViewCell : UITableViewCell - -@property (weak, nonatomic) IBOutlet UIImageView *avatarImage; -@property (weak, nonatomic) IBOutlet UIIconButton *removeButton; -@property (weak, nonatomic) IBOutlet UIView *adminButton; -@property (weak, nonatomic) IBOutlet UILabel *adminLabel; -@property (weak, nonatomic) IBOutlet UIImageView *adminImage; -@property (weak, nonatomic) IBOutlet UILabel *nameLabel; -@property (weak, nonatomic) ChatConversationInfoView *controllerView; -@property (strong) NSString *uri; - -- (id)initWithIdentifier:(NSString *)identifier; -@end diff --git a/Classes/LinphoneUI/UIChatConversationInfoTableViewCell.m b/Classes/LinphoneUI/UIChatConversationInfoTableViewCell.m deleted file mode 100644 index 9c958e32c..000000000 --- a/Classes/LinphoneUI/UIChatConversationInfoTableViewCell.m +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "PhoneMainView.h" -#import "UIChatConversationInfoTableViewCell.h" - -@implementation UIChatConversationInfoTableViewCell - -- (void)awakeFromNib { - [super awakeFromNib]; - // Initialization code -} - -- (id)initWithIdentifier:(NSString *)identifier { - self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier]; - if (self != nil) { - NSArray *arrayOfViews = - [[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self.class) owner:self options:nil]; - if ([arrayOfViews count] >= 1) { - UIChatConversationInfoTableViewCell *sub = ((UIChatConversationInfoTableViewCell *)[arrayOfViews objectAtIndex:0]); - self = sub; - } - } - - UITapGestureRecognizer *adminTap = [[UITapGestureRecognizer alloc] - initWithTarget:self - action:@selector(onAdmin)]; - adminTap.delegate = self; - adminTap.numberOfTapsRequired = 1; - [_adminButton addGestureRecognizer:adminTap]; - return self; -} - -- (IBAction)onDelete:(id)sender { - [_controllerView.contacts removeObject:_uri]; - if ([_controllerView.admins containsObject:_uri]) - [_controllerView.admins removeObject:_uri]; - - [_controllerView.tableView reloadData]; - _controllerView.nextButton.enabled = _controllerView.nameLabel.text.length > 0 && _controllerView.contacts.count > 0; -} - -- (void)onAdmin { - _adminLabel.enabled = !_adminLabel.enabled; - NSString *content = _adminLabel.enabled - ? @"check_selected.png" - : @"check_unselected.png"; - - _adminImage.image = [UIImage imageNamed:content]; - - if (_adminLabel.enabled) - [_controllerView.admins addObject:_uri]; - else - [_controllerView.admins removeObject:_uri]; -} - -@end diff --git a/Classes/LinphoneUI/UIChatCreateCell.h b/Classes/LinphoneUI/UIChatCreateCell.h deleted file mode 100644 index f9cb97bf7..000000000 --- a/Classes/LinphoneUI/UIChatCreateCell.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -@interface UIChatCreateCell : UITableViewCell -@property(weak, nonatomic) IBOutlet UILabel *displayNameLabel; -@property(weak, nonatomic) IBOutlet UILabel *addressLabel; -@property (weak, nonatomic) IBOutlet UIImageView *selectedImage; -@property (weak, nonatomic) IBOutlet UIImageView *linphoneImage; -@property (weak, nonatomic) IBOutlet UIImageView *avatarImage; -@property (weak, nonatomic) IBOutlet UIImageView *securityImage; -@property (weak, nonatomic) IBOutlet UIView *greyView; - -- (id)initWithIdentifier:(NSString *)identifier; - -@end diff --git a/Classes/LinphoneUI/UIChatCreateCell.m b/Classes/LinphoneUI/UIChatCreateCell.m deleted file mode 100644 index 757fc63a1..000000000 --- a/Classes/LinphoneUI/UIChatCreateCell.m +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UIChatCreateCell.h" - -@implementation UIChatCreateCell - -- (id)initWithIdentifier:(NSString *)identifier { - self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier]; - if (self != nil) { - NSArray *arrayOfViews = - [[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self.class) owner:self options:nil]; - if ([arrayOfViews count] >= 1) { - // resize cell to match .nib size. It is needed when resized the cell to - // correctly adapt its height too - UIView *sub = ((UIView *)[arrayOfViews objectAtIndex:0]); - [self setFrame:CGRectMake(0, 0, sub.frame.size.width, sub.frame.size.height)]; - [self addSubview:sub]; - } - } - _selectedImage.hidden = TRUE; - _linphoneImage.hidden = TRUE; - return self; -} - -@end diff --git a/Classes/LinphoneUI/UIChatCreateCollectionViewCell.h b/Classes/LinphoneUI/UIChatCreateCollectionViewCell.h deleted file mode 100644 index a3e2c565e..000000000 --- a/Classes/LinphoneUI/UIChatCreateCollectionViewCell.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import "ChatConversationCreateView.h" - -@interface UIChatCreateCollectionViewCell : UICollectionViewCell -@property UILabel *nameLabel; -@property (strong, nonatomic) ChatConversationCreateView *controller; -@property (strong, nonatomic) NSString *uri; -- (void)onDelete; -@end diff --git a/Classes/LinphoneUI/UIChatCreateCollectionViewCell.m b/Classes/LinphoneUI/UIChatCreateCollectionViewCell.m deleted file mode 100644 index 1ae4bf5d9..000000000 --- a/Classes/LinphoneUI/UIChatCreateCollectionViewCell.m +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UIChatCreateCollectionViewCell.h" -#import "linphoneapp-Swift.h" - -@implementation UIChatCreateCollectionViewCell - -- (id)initWithFrame:(CGRect)frame { - self = [super initWithFrame:frame]; - self.contentView.translatesAutoresizingMaskIntoConstraints = false; - [SnapkitBridge matchParentDimensionsWithView:self.contentView topInset:10]; - - self.nameLabel = [[UILabel alloc] initWithFrame:CGRectZero]; - self.nameLabel.numberOfLines = 1; - [self.contentView addSubview:self.nameLabel]; - [SnapkitBridge matchParentDimensionsWithView:self.nameLabel leftInset:20]; - [SnapkitBridge heightWithView:self heiht:50]; - - UIImageView *image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"conference_delete"]]; - image.contentMode = UIViewContentModeScaleAspectFit; - [self.contentView addSubview:image]; - [SnapkitBridge squareWithView:image size:15]; - [SnapkitBridge alignParentLeftWithView:image]; - [SnapkitBridge centerYWithView:image]; - UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onDelete)]; - tap.numberOfTouchesRequired = 1; - [image addGestureRecognizer:tap]; - image.userInteractionEnabled = true; - return self; -} - -- (void) onDelete { - [_controller.tableController.contactsGroup removeObject:_uri]; - if (_controller.tableController.contactsGroup.count == 0) { - [UIView animateWithDuration:0.2 - delay:0 - options:UIViewAnimationOptionCurveEaseOut - animations:^{ - [_controller.tableController.tableView setFrame:CGRectMake(_controller.tableController.tableView.frame.origin.x, - _controller.tableController.searchBar.frame.origin.y + _controller.tableController.searchBar.frame.size.height, - _controller.tableController.tableView.frame.size.width, - _controller.tableController.tableView.frame.size.height + _controller.collectionView.frame.size.height)]; - } - completion:nil]; - } - [_controller.collectionView reloadData]; - [_controller.tableController.tableView reloadData]; - _controller.nextButton.enabled = (_controller.tableController.contactsGroup.count > 0) || _controller.isForEditing; -} - - -@end diff --git a/Classes/LinphoneUI/UIChatNotifiedEventCell.h b/Classes/LinphoneUI/UIChatNotifiedEventCell.h deleted file mode 100644 index a4e5dd120..000000000 --- a/Classes/LinphoneUI/UIChatNotifiedEventCell.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef UIChatNotifiedEventCell_h -#define UIChatNotifiedEventCell_h - -#import - -#import "ChatConversationTableView.h" - -@interface UIChatNotifiedEventCell : UITableViewCell - -@property(readonly, nonatomic) LinphoneEventLog *event; -@property (weak, nonatomic) IBOutlet UILabel *contactDateLabel; -@property (weak, nonatomic) IBOutlet UIImageView *rightBar; -@property (weak, nonatomic) IBOutlet UIImageView *leftBar; -@property (weak, nonatomic) IBOutlet UITableViewCell *eventView; - -+ (CGFloat)height; - -- (void)setEvent:(LinphoneEventLog *)event; - -@end - -#endif /* UIChatNotifiedEventCell_h */ diff --git a/Classes/LinphoneUI/UIChatNotifiedEventCell.m b/Classes/LinphoneUI/UIChatNotifiedEventCell.m deleted file mode 100644 index caf576a93..000000000 --- a/Classes/LinphoneUI/UIChatNotifiedEventCell.m +++ /dev/null @@ -1,203 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import "UIChatNotifiedEventCell.h" -#import "LinphoneManager.h" -#import "PhoneMainView.h" - -#import -#import - -@implementation UIChatNotifiedEventCell - -#pragma mark - Class methods -static const CGFloat NOTIFIED_CELL_HEIGHT = 44; - -+ (CGFloat)height { - return NOTIFIED_CELL_HEIGHT; -} - -#pragma mark - Lifecycle Functions - -- (id)initWithIdentifier:(NSString *)identifier { - if ((self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier]) != nil) { - if ([identifier isEqualToString:NSStringFromClass(self.class)]) { - NSArray *arrayOfViews = - [[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self.class) owner:self options:nil]; - // resize cell to match .nib size. It is needed when resized the cell to - // correctly adapt its height too - UIView *sub = ((UIView *)[arrayOfViews objectAtIndex:arrayOfViews.count - 1]); - [self setFrame:CGRectMake(0, 0, sub.frame.size.width, sub.frame.size.height)]; - [self addSubview:sub]; - } - } - _event = NULL; - return self; -} - -- (void)dealloc { - _event = NULL; -} - -- (void)setEditing:(BOOL)editing { - [self setEditing:editing animated:FALSE]; -} - -- (void)setEditing:(BOOL)editing animated:(BOOL)animated { - _leftBar.hidden = _rightBar.hidden = editing; - if (editing) - [_contactDateLabel setFrame:CGRectMake(1, 1, _contactDateLabel.frame.size.width, NOTIFIED_CELL_HEIGHT)]; -} - -#pragma mark - - -- (void)setEvent:(LinphoneEventLog *)event { - _event = event; - NSString *eventString; - UIColor *eventColor = [UIColor grayColor]; - switch (linphone_event_log_get_type(event)) { - case LinphoneEventLogTypeConferenceSubjectChanged: { - NSString *subject = [NSString stringWithUTF8String:linphone_event_log_get_subject(event) ?: LINPHONE_DUMMY_SUBJECT]; - eventString = [NSString stringWithFormat:NSLocalizedString(@"New subject : %@", nil), subject]; - break; - } - case LinphoneEventLogTypeConferenceParticipantAdded: { - NSString *participant = [FastAddressBook displayNameForAddress:linphone_event_log_get_participant_address(event)]; - eventString = [NSString stringWithFormat:NSLocalizedString(@"%@ has joined", nil), participant]; - break; - } - case LinphoneEventLogTypeConferenceParticipantRemoved: { - NSString *participant = [FastAddressBook displayNameForAddress:linphone_event_log_get_participant_address(event)]; - eventString = [NSString stringWithFormat:NSLocalizedString(@"%@ has left", nil), participant]; - break; - } - case LinphoneEventLogTypeConferenceParticipantSetAdmin: { - NSString *participant = [FastAddressBook displayNameForAddress:linphone_event_log_get_participant_address(event)]; - eventString = [NSString stringWithFormat:NSLocalizedString(@"%@ is now an admin", nil), participant]; - break; - } - case LinphoneEventLogTypeConferenceParticipantUnsetAdmin: { - NSString *participant = [FastAddressBook displayNameForAddress:linphone_event_log_get_participant_address(event)]; - eventString = [NSString stringWithFormat:NSLocalizedString(@"%@ is no longer an admin", nil), participant]; - break; - } - case LinphoneEventLogTypeConferenceTerminated: { - eventString = [NSString stringWithFormat:NSLocalizedString(@"You have left the group", nil)]; - break; - } - case LinphoneEventLogTypeConferenceCreated: { - eventString = [NSString stringWithFormat:NSLocalizedString(@"You have joined the group", nil)]; - break; - } - case LinphoneEventLogTypeConferenceSecurityEvent: { - LinphoneSecurityEventType type = linphone_event_log_get_security_event_type(event); - NSString *participant = [FastAddressBook displayNameForAddress:linphone_event_log_get_security_event_faulty_device_address(event)]; - switch (type) { - case LinphoneSecurityEventTypeSecurityLevelDowngraded: - if (!participant) - eventString = [NSString stringWithFormat:NSLocalizedString(@"Security level decreased", nil)]; - else - eventString = [NSString stringWithFormat:NSLocalizedString(@"Security level decreased because of %@", nil),participant]; - eventColor = [UIColor grayColor]; - break; - case LinphoneSecurityEventTypeParticipantMaxDeviceCountExceeded: - if (!participant) - eventString = [NSString stringWithFormat:NSLocalizedString(@"Max participant count exceeded", nil)]; - else - eventString = [NSString stringWithFormat:NSLocalizedString(@"Max participant count exceeded by %@", nil),participant]; - eventColor = [UIColor redColor]; - break; - case LinphoneSecurityEventTypeEncryptionIdentityKeyChanged: - if (!participant) - eventString = [NSString stringWithFormat:NSLocalizedString(@"LIME identity key changed", nil)]; - else - eventString = [NSString stringWithFormat:NSLocalizedString(@"LIME identity key changed for %@", nil),participant]; - eventColor = [UIColor redColor]; - break; - case LinphoneSecurityEventTypeManInTheMiddleDetected: - if (!participant) - eventString = [NSString stringWithFormat:NSLocalizedString(@"Man-in-the-middle attack detected", nil)]; - else - eventString = [NSString stringWithFormat:NSLocalizedString(@"Man-in-the-middle attack detected for %@", nil),participant]; - eventColor = [UIColor redColor]; - break; - - case LinphoneSecurityEventTypeNone: - default: - break; - } - - break; - } - - case LinphoneEventLogTypeConferenceEphemeralMessageDisabled: { - eventString = [NSString stringWithFormat:NSLocalizedString(@"You disabled ephemeral messages", nil)]; - break; - } - case LinphoneEventLogTypeConferenceEphemeralMessageEnabled: { - eventString = [NSString stringWithFormat:NSLocalizedString(@"You enabled ephemeral messages: %@", nil),[self formatEphemeralExpiration:linphone_event_log_get_ephemeral_message_lifetime(event)]]; - break; - } - case LinphoneEventLogTypeConferenceEphemeralMessageLifetimeChanged: { - eventString = [NSString stringWithFormat:NSLocalizedString(@"Ephemeral messages expiry date: %@",nil),[self formatEphemeralExpiration:linphone_event_log_get_ephemeral_message_lifetime(event)]]; - break; - } - - default: - return; - } - _contactDateLabel.text = eventString; - - CGSize newSize = [_contactDateLabel.text boundingRectWithSize:CGSizeZero - options:(NSStringDrawingUsesLineFragmentOrigin | - NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesFontLeading) - attributes:@{NSFontAttributeName :_contactDateLabel.font} - context:nil].size; - float delta = (_contactDateLabel.frame.size.width - newSize.width) / 2; - - [_contactDateLabel setFrame:CGRectMake((_eventView.frame.size.width - newSize.width) / 2, 1, newSize.width, NOTIFIED_CELL_HEIGHT)]; - [_leftBar setFrame:CGRectMake(0, - _leftBar.frame.origin.y, - _contactDateLabel.frame.origin.x - 5, - 1)]; - [_rightBar setFrame:CGRectMake(_contactDateLabel.frame.origin.x + newSize.width + 5, - _rightBar.frame.origin.y, - _rightBar.frame.size.width + delta, - 1)]; -} - -- (void)layoutSubviews { - [super layoutSubviews]; -} - -- (NSString *) formatEphemeralExpiration:(long)duration { - switch (duration) { - case 0:return NSLocalizedString(@"Disabled",nil);break; - case 60:return NSLocalizedString(@"1 minute",nil);break; - case 3600:return NSLocalizedString(@"1 hour",nil);break; - case 86400:return NSLocalizedString(@"1 day",nil);break; - case 259200:return NSLocalizedString(@"3 days",nil);break; - case 604800L:return NSLocalizedString(@"1 week",nil);break; - } - return NSLocalizedString(@"Unexpected duration",nil); -} - - -@end diff --git a/Classes/LinphoneUI/UIChatNotifiedEventCell.xib b/Classes/LinphoneUI/UIChatNotifiedEventCell.xib deleted file mode 100644 index 85e855ffa..000000000 --- a/Classes/LinphoneUI/UIChatNotifiedEventCell.xib +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/LinphoneUI/UIChatReplyBubbleView.h b/Classes/LinphoneUI/UIChatReplyBubbleView.h deleted file mode 100644 index 81f8b7f8c..000000000 --- a/Classes/LinphoneUI/UIChatReplyBubbleView.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface UIChatReplyBubbleView : UIViewController -@property (weak, nonatomic) IBOutlet UILabel *senderName; -@property (weak, nonatomic) IBOutlet UIButton *dismissButton; -@property (weak, nonatomic) IBOutlet UIView *leftBar; -@property (weak, nonatomic) IBOutlet UIView *rightBar; -@property LinphoneChatMessage *message; -@property (weak, nonatomic) IBOutlet UILabel *textContent; -@property void (^ dismissAction)(void); -@property void (^ clickAction)(void); -@property (weak, nonatomic) IBOutlet UICollectionView *contentCollection; -@property NSArray *dataContent; -@property (weak, nonatomic) IBOutlet UILabel *originalMessageGone; -@property (weak, nonatomic) IBOutlet UIImageView *icsIcon; - --(void) configureForMessage:(LinphoneChatMessage *)message withDimissBlock:(void (^)(void))dismissBlock hideDismiss:(BOOL)hideDismiss withClickBlock:(void (^)(void))clickBlock; -@end - -NS_ASSUME_NONNULL_END diff --git a/Classes/LinphoneUI/UIChatReplyBubbleView.m b/Classes/LinphoneUI/UIChatReplyBubbleView.m deleted file mode 100644 index cf9c05709..000000000 --- a/Classes/LinphoneUI/UIChatReplyBubbleView.m +++ /dev/null @@ -1,164 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UIChatReplyBubbleView.h" -#import "linphoneapp-Swift.h" -#import "Utils.h" - -@interface UIChatReplyBubbleView () - -@end - -@implementation UIChatReplyBubbleView - - -- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { - return [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; -} - -- (instancetype)initWithCoder:(NSCoder *)coder -{ - self = [super initWithCoder:coder]; - return self; -} - --(void) viewDidLoad { - _contentCollection.dataSource = self; - [_icsIcon setImageNamed:@"voip_meeting_schedule" tintColor:VoipTheme.voip_dark_gray]; - [_contentCollection registerClass:UICollectionViewCell.class forCellWithReuseIdentifier:@"dataContent"]; -} - - --(void) configureForMessage:(LinphoneChatMessage *)message withDimissBlock:(void (^)(void))dismissBlock hideDismiss:(BOOL)hideDismiss withClickBlock:(void (^)(void))clickBlock{ - if (!message) { - _textContent.hidden = true; - _dismissButton.hidden = true; - _contentCollection.hidden = true; - _senderName.hidden = true; - _originalMessageGone.hidden = false; - _icsIcon.hidden = true; - return; - } - if (hideDismiss) { - self.view.layer.cornerRadius = 10; - self.view.layer.masksToBounds = true; - } - _originalMessageGone.hidden = true; - self.message = message; - self.dataContent = [self loadDataContent]; - BOOL isIcal = [ICSBubbleView isConferenceInvitationMessageWithCmessage:message]; - _icsIcon.hidden = !isIcal; - - NSString *sender = [FastAddressBook displayNameForAddress:linphone_chat_message_get_from_address(message)]; - _senderName.text = sender; - const char * text = isIcal ? [ICSBubbleView getSubjectFromContentWithCmessage:message].UTF8String : linphone_chat_message_get_utf8_text(message); - if (text && strlen(text) == 0) - text = nil; - _textContent.text = text ? [NSString stringWithUTF8String:text] : @""; - _dismissButton.hidden = hideDismiss; - _dismissAction = dismissBlock; - _clickAction = clickBlock; - if (hideDismiss) { - UITapGestureRecognizer *singleFingerTap = - [[UITapGestureRecognizer alloc] initWithTarget:self - action:@selector(onClick)]; - [self.view addGestureRecognizer:singleFingerTap]; - } - else - [_dismissButton addTarget:self action:@selector(dismissClick) forControlEvents:UIControlEventTouchUpInside]; - - - self.view.backgroundColor = hideDismiss ? UIColor.whiteColor :(linphone_chat_message_is_outgoing(message) ? [[UIColor color:@"A"] colorWithAlphaComponent:0.2] : [[UIColor color:@"D"] colorWithAlphaComponent:0.2]); - _leftBar.backgroundColor = linphone_chat_message_is_outgoing(message) ? [UIColor color:@"A"] : [UIColor color:@"D"]; - _leftBar.hidden = !hideDismiss; - _rightBar.backgroundColor = self.view.backgroundColor; - - - // Resize frame -> text or content only = 100, 145 otherwise - _contentCollection.hidden = self.dataContent.count == 0; - - CGRect r = self.view.frame ; - r.size.width = self.view.superview.frame.size.width; - self.view.frame = r; - - if (self.dataContent.count == 0) { - CGRect r = _textContent.frame; - r.origin.y = _contentCollection.frame.origin.y; - r.size.height = 87; - _textContent.frame = r; - } - - if (text == nil) { - CGRect r = _contentCollection.frame; - r.origin.y = 30; - _contentCollection.frame = r; - } -} - - --(NSArray *) loadDataContent { - NSMutableArray *result = [[NSMutableArray alloc] init]; - const bctbx_list_t *contents = linphone_chat_message_get_contents(_message); - const char * text = linphone_chat_message_get_utf8_text(_message); - if (text && bctbx_list_size(contents) == 1) - return result; - - for (const bctbx_list_t * it = contents; it != NULL; it=bctbx_list_next(it)){ - LinphoneContent *content = (LinphoneContent *)it->data; - if (linphone_content_is_text(content)) - continue; - NSString *name = [NSString stringWithUTF8String:linphone_content_get_name(content)]; - NSMutableDictionary *encrptedFilePaths = encrptedFilePaths = [LinphoneManager getMessageAppDataForKey:@"encryptedfiles" inMessage:_message]; - NSString *filePath = encrptedFilePaths ? [encrptedFilePaths valueForKey:name] : nil; - if (filePath == NULL) { - filePath = [LinphoneManager validFilePath:name]; - } - [result addObject:[UIChatBubbleTextCell getImageFromContent:content filePath:filePath forReplyBubble:true]]; - } - return result; -} - --(void) dismissClick { - _dismissAction(); -} - --(void) onClick { - _clickAction(); -} - --(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView { - return 1; -} - -- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { - return self.dataContent.count; -} - -- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { - UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"dataContent" forIndexPath:indexPath]; - UIImageView *img = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 60, 60)]; - img.image = [self.dataContent objectAtIndex:indexPath.row]; - [cell.contentView addSubview:img]; - return cell; -} - - - - -@end diff --git a/Classes/LinphoneUI/UICheckBoxTableView.h b/Classes/LinphoneUI/UICheckBoxTableView.h deleted file mode 100644 index 06822ecf1..000000000 --- a/Classes/LinphoneUI/UICheckBoxTableView.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#import - -@interface UICheckBoxTableView : UITableViewController - -@property(nonatomic, readonly) NSMutableArray *selectedItems; -@property(weak, nonatomic) IBOutlet UIButton *deleteButton; -@property(weak, nonatomic) IBOutlet UIButton *editButton; -@property(weak, nonatomic) IBOutlet UIButton *cancelButton; -@property(weak, nonatomic) IBOutlet UIButton *toggleSelectionButton; -@property(weak, nonatomic) IBOutlet UIView *emptyView; - -- (void)loadData; -- (void)accessoryForCell:(UITableViewCell *)cell atPath:(NSIndexPath *)indexPath; -- (void)removeSelectionUsing:(void (^)(NSIndexPath *indexPath))remover; - -- (BOOL)selectFirstRow; - -- (IBAction)onSelectionToggle:(id)sender; -- (IBAction)onEditClick:(id)sender; -- (IBAction)onCancelClick:(id)sender; - -- (NSInteger)totalNumberOfItems; - -@end diff --git a/Classes/LinphoneUI/UICheckBoxTableView.m b/Classes/LinphoneUI/UICheckBoxTableView.m deleted file mode 100644 index a01ed8746..000000000 --- a/Classes/LinphoneUI/UICheckBoxTableView.m +++ /dev/null @@ -1,194 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UICheckBoxTableView.h" -#import "Utils.h" - -@implementation UICheckBoxTableView - -- (instancetype)initWithCoder:(NSCoder *)aDecoder { - self = [super initWithCoder:aDecoder]; - _selectedItems = [[NSMutableArray alloc] init]; - return self; -} - -- (instancetype)init { - self = [super init]; - _selectedItems = [[NSMutableArray alloc] init]; - return self; -} - -#pragma mark - UITableViewDelegate Functions - -- (BOOL)selectFirstRow { - // reset details view in fragment mode - if ([self totalNumberOfItems] > 0) { - NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0]; - [self.tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone]; - [self tableView:self.tableView didSelectRowAtIndexPath:indexPath]; - _emptyView.hidden = YES; - } else { - _emptyView.hidden = NO; - } - return _emptyView.hidden; -} - -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; - _emptyView.hidden = _editButton.enabled = ([self totalNumberOfItems] > 0); -} - -- (void)toggleRowSelectionForRowAtIndexPath:(NSIndexPath *)indexPath { - UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath]; - if ([_selectedItems containsObject:indexPath]) { - [_selectedItems removeObject:indexPath]; - } else { - [_selectedItems addObject:indexPath]; - } - [self accessoryForCell:cell atPath:indexPath]; - [self selectToggleButton:(_selectedItems.count != [self totalNumberOfItems])]; -} - -- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath { - [self toggleRowSelectionForRowAtIndexPath:indexPath]; -} - -- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - [self toggleRowSelectionForRowAtIndexPath:indexPath]; -} - -/* Empty methods allow to not freeze UI...*/ -- (void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(nonnull NSIndexPath *)indexPath { -} - -- (void)tableView:(UITableView *)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath { -} - -- (void)selectToggleButton:(BOOL)select { - _toggleSelectionButton.selected = select; - if (select) { - _toggleSelectionButton.accessibilityLabel = NSLocalizedString(@"Select all", nil); - } else { - _toggleSelectionButton.accessibilityLabel = NSLocalizedString(@"Deselect all", nil); - } -} -#pragma mark - - -- (void)accessoryForCell:(UITableViewCell *)cell atPath:(NSIndexPath *)indexPath { - if ([self isEditing]) { - cell.selectionStyle = UITableViewCellSelectionStyleGray; - UIButton *checkBoxButton = [UIButton buttonWithType:UIButtonTypeCustom]; - UIImage *image = nil; - if ([_selectedItems containsObject:indexPath]) { - image = [UIImage imageNamed:@"checkbox_checked.png"]; - checkBoxButton.accessibilityValue = NSLocalizedString(@"Selected", nil); - } else { - image = [UIImage imageNamed:@"checkbox_unchecked.png"]; - checkBoxButton.accessibilityValue = NSLocalizedString(@"Deselected", nil); - } - [checkBoxButton setImage:image forState:UIControlStateNormal]; - [checkBoxButton setFrame:CGRectMake(0, 0, 19, 19)]; - [checkBoxButton setBackgroundColor:[UIColor clearColor]]; - checkBoxButton.accessibilityLabel = NSLocalizedString(@"Checkbox", nil); - checkBoxButton.userInteractionEnabled = NO; - cell.accessoryView = checkBoxButton; - } else { - cell.accessoryView = nil; - cell.accessoryType = UITableViewCellAccessoryNone; - } - _deleteButton.enabled = (_selectedItems.count != 0); - _editButton.enabled = YES; -} - -- (void)setEditing:(BOOL)editing animated:(BOOL)animated { - [super setEditing:editing animated:animated]; - - _editButton.hidden = editing; - _deleteButton.hidden = _cancelButton.hidden = _toggleSelectionButton.hidden = !editing; - [self selectToggleButton:YES]; - - // when switching editing mode, we must reload all cells to remove/add checkboxes - [self loadData]; -} - -- (void)loadData { - [_selectedItems removeAllObjects]; - [self.tableView reloadData]; - - _emptyView.hidden = _editButton.enabled = ([self totalNumberOfItems] > 0); -} - -- (void)removeSelectionUsing:(void (^)(NSIndexPath *indexPath))remover { - // we must iterate through selected items in reverse order - [_selectedItems sortUsingComparator:^(NSIndexPath *obj1, NSIndexPath *obj2) { - return [obj2 compare:obj1]; - }]; - NSArray *copy = [[NSArray alloc] initWithArray:_selectedItems]; - for (NSIndexPath *indexPath in copy) { - if (remover) { - remover(indexPath); - } else { - [self tableView:self.tableView - commitEditingStyle:UITableViewCellEditingStyleDelete - forRowAtIndexPath:indexPath]; - } - } - [_selectedItems removeAllObjects]; - [self setEditing:NO animated:YES]; -} - -- (void)onSelectionToggle:(id)sender { - [_selectedItems removeAllObjects]; - - [self selectToggleButton:!_toggleSelectionButton.selected]; // TODO: why do we need that? - LOGI(@"onSelectionToggle: select %@", _toggleSelectionButton.selected ? @"NONE" : @"ALL"); - for (int i = 0; i < [self numberOfSectionsInTableView:self.tableView]; i++) { - for (int j = 0; j < [self tableView:self.tableView numberOfRowsInSection:i]; j++) { - NSIndexPath *indexPath = [NSIndexPath indexPathForRow:j inSection:i]; - UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath]; - if (!_toggleSelectionButton.selected) { - [_selectedItems addObject:indexPath]; - [self.tableView selectRowAtIndexPath:indexPath - animated:NO - scrollPosition:UITableViewScrollPositionNone]; - } else { - [self.tableView deselectRowAtIndexPath:indexPath animated:NO]; - } - - [self accessoryForCell:cell atPath:indexPath]; - } - } -} - -- (IBAction)onEditClick:(id)sender { - [self setEditing:YES animated:YES]; -} - -- (IBAction)onCancelClick:(id)sender { - [self setEditing:NO animated:YES]; -} - -- (NSInteger)totalNumberOfItems { - NSInteger total = 0; - for (int i = 0; i < [self numberOfSectionsInTableView:self.tableView]; i++) { - total += [self tableView:self.tableView numberOfRowsInSection:i]; - } - return total; -} -@end diff --git a/Classes/LinphoneUI/UICompositeView.h b/Classes/LinphoneUI/UICompositeView.h deleted file mode 100644 index 9a686347b..000000000 --- a/Classes/LinphoneUI/UICompositeView.h +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import - -#import "LinphoneManager.h" -#import "TPMultiLayoutViewController.h" -#import "SideMenuTableView.h" - -@interface UICompositeViewDescription : NSObject { -} - -@property(strong) NSString *name; -@property(strong) NSString *statusBar; -@property(strong) NSString *tabBar; -@property(strong) NSString *sideMenu; -@property(strong) NSString *otherFragment; -@property(assign) BOOL statusBarEnabled; -@property(assign) BOOL tabBarEnabled; -@property(assign) BOOL sideMenuEnabled; -@property(assign) BOOL fullscreen; -@property(assign) BOOL isLeftFragment; -@property(assign) BOOL darkBackground; -@property(assign) BOOL landscapeMode; -@property(assign) BOOL portraitMode; - -- (id)copy; -- (BOOL)equal:(UICompositeViewDescription *)description; -- (id)init:(Class)name - statusBar:(Class)statusBar - tabBar:(Class)tabBar - sideMenu:(Class)sideMenu - fullscreen:(BOOL)fullscreen - isLeftFragment:(BOOL)isLeftFragment - fragmentWith:(Class)otherFragment; - -@end - -@protocol UICompositeViewDelegate - -+ (UICompositeViewDescription *)compositeViewDescription; -- (UICompositeViewDescription *)compositeViewDescription; - -@end - -@interface UICompositeView : TPMultiLayoutViewController { - @private - NSMutableDictionary *viewControllerCache; - UICompositeViewDescription *currentViewDescription; - UIInterfaceOrientation currentOrientation; -} - -@property(strong) CATransition *viewTransition; -@property(nonatomic, strong) IBOutlet UIView *statusBarView; -@property(nonatomic, strong) IBOutlet UIView *mainView; -@property(nonatomic, strong) IBOutlet UIView *detailsView; -@property(nonatomic, strong) IBOutlet UIView *tabBarView; -@property(strong, nonatomic) IBOutlet UIView *sideMenuView; - -- (void)changeView:(UICompositeViewDescription *)description; -- (void)setFullscreen:(BOOL)enabled; -- (void)hideStatusBar:(BOOL)hidden; -- (void)hideTabBar:(BOOL)hidden; -- (void)hideSideMenu:(BOOL)hidden; -- (BOOL)currentViewSupportsLandscape; -- (UIViewController *)getCachedController:(NSString *)name; -- (UIViewController *)getCurrentViewController; -- (UIInterfaceOrientation)currentOrientation; -- (void)clearCache:(NSArray *)exclude; -- (void)removeEntryFromCache:(NSString *)key; -- (IBAction)onRightSwipe:(id)sender; - - -@end diff --git a/Classes/LinphoneUI/UICompositeView.m b/Classes/LinphoneUI/UICompositeView.m deleted file mode 100644 index 197b9be2e..000000000 --- a/Classes/LinphoneUI/UICompositeView.m +++ /dev/null @@ -1,732 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UICompositeView.h" - -#import "LinphoneAppDelegate.h" -#import "Utils.h" -#import "SideMenuView.h" -#import "linphoneapp-Swift.h" - -@implementation UICompositeViewDescription - -- (id)copy { - UICompositeViewDescription *copy = [UICompositeViewDescription alloc]; - copy.name = self.name; - copy.statusBar = self.statusBar; - copy.tabBar = self.tabBar; - copy.sideMenu = self.sideMenu; - copy.statusBarEnabled = self.statusBarEnabled; - copy.tabBarEnabled = self.tabBarEnabled; - copy.sideMenuEnabled = self.sideMenuEnabled; - copy.fullscreen = self.fullscreen; - copy.landscapeMode = self.landscapeMode; - copy.portraitMode = self.portraitMode; - copy.isLeftFragment = self.isLeftFragment; - copy.otherFragment = self.otherFragment; - copy.darkBackground = self.darkBackground; - return copy; -} - -- (BOOL)equal:(UICompositeViewDescription *)description { - return [self.name compare:description.name] == NSOrderedSame; -} - -- (id)init:(Class)content - statusBar:(Class)statusBar - tabBar:(Class)tabBar - sideMenu:(Class)sideMenu - fullscreen:(BOOL)fullscreen - isLeftFragment:(BOOL)isLeftFragment - fragmentWith:(Class)otherFragment { - self.name = NSStringFromClass(content); - self.statusBar = NSStringFromClass(statusBar); - self.tabBar = NSStringFromClass(tabBar); - self.sideMenu = NSStringFromClass(sideMenu); - self.statusBarEnabled = YES; - self.tabBarEnabled = YES; - self.sideMenuEnabled = NO; - self.fullscreen = fullscreen; - self.landscapeMode = YES; - self.portraitMode = YES; - self.otherFragment = IPAD ? NSStringFromClass(otherFragment) : nil; - self.isLeftFragment = isLeftFragment || (self.otherFragment == nil); - self.darkBackground = true; - - return self; -} - -@end -@interface UICompositeView () - -@property(nonatomic, strong) UIViewController *statusBarViewController; -@property(nonatomic, strong) UIViewController *tabBarViewController; -@property(nonatomic, strong) UIViewController *mainViewController; -@property(nonatomic, strong) UIViewController *detailsViewController; -@property(nonatomic, strong) UIViewController *sideMenuViewController; - -@end - -@implementation UICompositeView - -#pragma mark - Lifecycle Functions - -- (void)initUICompositeView { - viewControllerCache = [[NSMutableDictionary alloc] init]; - currentOrientation = (UIInterfaceOrientation)UIDeviceOrientationUnknown; -} - -- (id)init { - self = [super init]; - if (self) { - [self initUICompositeView]; - } - return self; -} - -- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { - self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; - if (self) { - [self initUICompositeView]; - } - return self; -} - -- (id)initWithCoder:(NSCoder *)decoder { - self = [super initWithCoder:decoder]; - if (self) { - [self initUICompositeView]; - } - return self; -} - -- (void)dealloc { - [NSNotificationCenter.defaultCenter removeObserver:self]; -} - -#pragma mark - ViewController Functions - -- (void)updateViewsFramesAccordingToLaunchOrientation { - CGRect frame = - [self.view frame]; // this view has the correct size at launch (1024/768 for iPad, 320*{568,480} for iPhone) - UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation; - BOOL portrait = UIInterfaceOrientationIsPortrait(orientation); - CGRect oppositeFrame = frame; - oppositeFrame.size.height = frame.size.width; - oppositeFrame.size.width = frame.size.height; - - // if we start in portrait, the landscape view must get the opposite height and width - if (portrait || [[UIDevice currentDevice].systemVersion floatValue] < 8) { - LOGI(@"landscape get opposite: %@", NSStringFromCGSize(oppositeFrame.size)); - [landscapeView setFrame:oppositeFrame]; - } else { - // if we start in landscape, the landscape view has to get the current size, - // whereas the portrait has to get the opposite - LOGI(@"landscape get frame: %@ and portrait gets opposite: %@", NSStringFromCGSize(frame.size), - NSStringFromCGSize(oppositeFrame.size)); - [landscapeView setFrame:frame]; - [portraitView setFrame:oppositeFrame]; - } -} - -- (void)viewDidLoad { - /* Force landscape view to match portrait view, because portrait view inherits - the device screen size at load */ - [self updateViewsFramesAccordingToLaunchOrientation]; - [super viewDidLoad]; - NSArray * arr =[[NSBundle mainBundle] loadNibNamed:@"LaunchScreen" owner:nil options:nil]; - LaunchScreen * customView = [arr firstObject]; - customView.frame = self.view.frame; - customView.tag = 999; - [self.view addSubview:customView]; -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]; - [self.mainViewController viewWillAppear:animated]; - [self.detailsViewController viewWillAppear:animated]; - [self.tabBarViewController viewWillAppear:animated]; - [self.statusBarViewController viewWillAppear:animated]; - [self.sideMenuViewController viewWillAppear:animated]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(orientationDidChange:) - name:UIDeviceOrientationDidChangeNotification - object:nil]; -} - -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; - [self.mainViewController viewDidAppear:animated]; - [self.detailsViewController viewDidAppear:animated]; - [self.tabBarViewController viewDidAppear:animated]; - [self.statusBarViewController viewDidAppear:animated]; - [self.sideMenuViewController viewDidAppear:animated]; -} - -- (void)viewWillDisappear:(BOOL)animated { - [self.mainViewController viewWillDisappear:animated]; - [self.detailsViewController viewWillDisappear:animated]; - [self.tabBarViewController viewWillDisappear:animated]; - [self.statusBarViewController viewWillDisappear:animated]; - [self.sideMenuViewController viewWillDisappear:animated]; - [NSNotificationCenter.defaultCenter removeObserver:self name:UIDeviceOrientationDidChangeNotification object:nil]; - [[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications]; - [super viewWillDisappear:animated]; -} - -- (void)viewDidDisappear:(BOOL)animated { - [self.mainViewController viewDidDisappear:animated]; - [self.detailsViewController viewDidDisappear:animated]; - [self.tabBarViewController viewDidDisappear:animated]; - [self.statusBarViewController viewDidDisappear:animated]; - [self.sideMenuViewController viewDidDisappear:animated]; - [super viewDidDisappear:animated]; -} - -#pragma mark - Rotation messages - -- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation - duration:(NSTimeInterval)duration { - currentOrientation = toInterfaceOrientation; - [super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration]; - [self.mainViewController willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration]; - [self.detailsViewController willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration]; - [self.tabBarViewController willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration]; - [self.statusBarViewController willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration]; - [self.sideMenuViewController willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration]; -} - -- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation - duration:(NSTimeInterval)duration { - [super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation - duration:duration]; // Will invoke TPMultiLayout - [self.mainViewController willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration]; - [self.detailsViewController willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration]; - [self.tabBarViewController willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration]; - [self.statusBarViewController willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration]; - [self.sideMenuViewController willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration]; - [self update:nil tabBar:nil statusBar:nil sideMenu:nil fullscreen:nil]; -} - -- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { - [super didRotateFromInterfaceOrientation:fromInterfaceOrientation]; - [self.mainViewController didRotateFromInterfaceOrientation:fromInterfaceOrientation]; - [self.detailsViewController didRotateFromInterfaceOrientation:fromInterfaceOrientation]; - [self.tabBarViewController didRotateFromInterfaceOrientation:fromInterfaceOrientation]; - [self.statusBarViewController didRotateFromInterfaceOrientation:fromInterfaceOrientation]; - [self.sideMenuViewController didRotateFromInterfaceOrientation:fromInterfaceOrientation]; -} - -- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { - if (interfaceOrientation == currentOrientation) - return YES; - return NO; -} - -#pragma mark - Event Functions - -- (void)orientationDidChange:(NSNotification *)notif { - @try { - // Update rotation - UIInterfaceOrientation correctOrientation = - [self getCorrectInterfaceOrientation:[[UIDevice currentDevice] orientation]]; - if (currentOrientation != correctOrientation) { - [UICompositeView setOrientation:correctOrientation - animated:currentOrientation != UIDeviceOrientationUnknown]; - } - } @catch (NSException *exception) { - // There are some crashes reports from iTunes connect because Linphone core is - // not ready yet - whatever the reason is, we can safely ignore the exception - LOGE(@"Exception: %@, ignoring", exception); - } -} - -#pragma mark - - -/* - Will simulate a device rotation - */ -+ (void)setOrientation:(UIInterfaceOrientation)orientation animated:(BOOL)animated { - UIView *firstResponder = nil; - - UIViewController *controller = nil; - - controller = [[UIApplication sharedApplication] keyWindow].rootViewController; - CGRect frame = [[UIScreen mainScreen] bounds]; - UIInterfaceOrientation oldOrientation = controller.interfaceOrientation; - - NSTimeInterval animationDuration = animated ? 0.3f : 0.0; - - [controller willRotateToInterfaceOrientation:orientation duration:animationDuration]; - [controller willAnimateRotationToInterfaceOrientation:orientation duration:animationDuration]; - [controller didRotateFromInterfaceOrientation:oldOrientation]; - [UIView animateWithDuration:animationDuration - animations:^{ - [controller.view setFrame:frame]; - }]; - - if (firstResponder == nil) { - firstResponder = [UICompositeView findFirstResponder:controller.view]; - } - - [[UIApplication sharedApplication] setStatusBarOrientation:orientation animated:animated]; - if (firstResponder) { - [firstResponder resignFirstResponder]; - [firstResponder becomeFirstResponder]; - } -} - -+ (UIView *)findFirstResponder:(UIView *)view { - if (view.isFirstResponder) { - return view; - } - for (UIView *subView in view.subviews) { - UIView *ret = [UICompositeView findFirstResponder:subView]; - if (ret != nil) - return ret; - } - return nil; -} - -- (void)removeEntryFromCache:(NSString *)key { - [viewControllerCache removeObjectForKey:key]; -} - -- (void)clearCache:(NSArray *)exclude { - - - for (NSString *key in [viewControllerCache allKeys]) { - bool remove = true; - - /*ImagePickerView can be used as popover and we do NOT want to free it*/; - if ([key isEqualToString:ImagePickerView.compositeViewDescription.name] || [key isEqualToString:SingleCallView.compositeViewDescription.name] || [key isEqualToString:ConferenceCallView.compositeViewDescription.name]) { - remove = false; - } else if (exclude != nil) { - for (UICompositeViewDescription *description in exclude) { - if ([key isEqualToString:description.name] || [key isEqualToString:description.statusBar] || - [key isEqualToString:description.tabBar] || [key isEqualToString:description.sideMenu]) { - remove = false; - break; - } - } - } - if (remove) { - LOGI(@"Free cached view: %@", key); - [viewControllerCache removeObjectForKey:key]; - } - } -} - -- (UIInterfaceOrientation)currentOrientation { - return currentOrientation; -} - -- (IBAction)onRightSwipe:(id)sender { - if (linphone_core_get_calls_nb(LC) > 0) { - return; - } - [self hideSideMenu:NO]; -} - -+ (void)addSubView:(UIViewController *)controller view:(UIView *)view { - if (controller != nil) { - [view addSubview:controller.view]; - } -} - -+ (void)removeSubView:(UIViewController *)controller { - if (controller != nil) { - [controller.view removeFromSuperview]; - } -} - -- (UIViewController *)getCachedController:(NSString *)name { - UIViewController *controller = nil; - if (name != nil) { - controller = [viewControllerCache objectForKey:name]; - if (controller == nil) { - controller = [[NSClassFromString(name) alloc] init]; - [viewControllerCache setValue:controller forKey:name]; - [controller view]; // Load the view - } - } - return controller; -} - -- (UIInterfaceOrientation)getCorrectInterfaceOrientation:(UIDeviceOrientation)deviceOrientation { - if (currentViewDescription != nil) { - // If unknown return status bar orientation - if (deviceOrientation == UIDeviceOrientationUnknown && currentOrientation == UIDeviceOrientationUnknown) { - return [UIApplication sharedApplication].statusBarOrientation; - } - - // Don't rotate in UIDeviceOrientationFaceUp UIDeviceOrientationFaceDown - if (!UIDeviceOrientationIsPortrait(deviceOrientation) && !UIDeviceOrientationIsLandscape(deviceOrientation)) { - if (currentOrientation == UIDeviceOrientationUnknown) { - return [UIApplication sharedApplication].statusBarOrientation; - } - deviceOrientation = (UIDeviceOrientation)currentOrientation; - } - if (UIDeviceOrientationIsPortrait(deviceOrientation)) { - if ([currentViewDescription portraitMode]) { - return (UIInterfaceOrientation)deviceOrientation; - } else { - return UIInterfaceOrientationLandscapeLeft; - } - } - if (UIDeviceOrientationIsLandscape(deviceOrientation)) { - if ([currentViewDescription landscapeMode]) { - return (UIInterfaceOrientation)deviceOrientation; - } else { - return UIInterfaceOrientationPortrait; - } - } - } - return UIInterfaceOrientationPortrait; -} - -- (void)update:(UICompositeViewDescription *)description - tabBar:(NSNumber *)tabBar - statusBar:(NSNumber *)statusBar - sideMenu:(NSNumber *)sideMenu - fullscreen:(NSNumber *)fullscreen { - - currentOrientation = [self getCorrectInterfaceOrientation:[[UIDevice currentDevice] orientation]]; - - UIViewController *oldMainViewController = self.mainViewController; - UIViewController *oldDetailsViewController = self.detailsViewController; - UIViewController *oldStatusBarViewController = self.statusBarViewController; - UIViewController *oldTabBarViewController = self.tabBarViewController; - UIViewController *oldSideMenuViewController = self.sideMenuViewController; - // Copy view description - UICompositeViewDescription *oldViewDescription = nil; - - if (description != nil) { - oldViewDescription = currentViewDescription; - currentViewDescription = [description copy]; - - UIViewController *newMainViewController = description.isLeftFragment - ? [self getCachedController:description.name] - : [self getCachedController:description.otherFragment]; - UIViewController *newDetailsViewController = !description.isLeftFragment - ? [self getCachedController:description.name] - : [self getCachedController:description.otherFragment]; - UIViewController *newStatusBarViewController = [self getCachedController:description.statusBar]; - UIViewController *newTabBarViewController = [self getCachedController:description.tabBar]; - UIViewController *newSideMenuViewController = [self getCachedController:description.sideMenu]; - - // Animate only with a previous screen - if (oldViewDescription != nil && self.viewTransition != nil) { - if (oldMainViewController != newMainViewController) { - [self.mainView.layer removeAnimationForKey:@"transition"]; - [self.mainView.layer addAnimation:self.viewTransition forKey:@"transition"]; - } else { - [self.mainView.layer removeAnimationForKey:@"transition"]; - } - if (oldDetailsViewController != newDetailsViewController) { - [self.detailsView.layer removeAnimationForKey:@"transition"]; - [self.detailsView.layer addAnimation:self.viewTransition forKey:@"transition"]; - } else { - [self.detailsView.layer removeAnimationForKey:@"transition"]; - } - - if (oldStatusBarViewController != newStatusBarViewController || - oldViewDescription.statusBarEnabled != currentViewDescription.statusBarEnabled) { - [self.statusBarView.layer removeAnimationForKey:@"transition"]; - [self.statusBarView.layer addAnimation:self.viewTransition forKey:@"transition"]; - } else { - [self.statusBarView.layer removeAnimationForKey:@"transition"]; - } - if (oldTabBarViewController != newTabBarViewController || - oldViewDescription.tabBarEnabled != currentViewDescription.tabBarEnabled) { - [self.tabBarView.layer removeAnimationForKey:@"transition"]; - [self.tabBarView.layer addAnimation:self.viewTransition forKey:@"transition"]; - } else { - [self.tabBarView.layer removeAnimationForKey:@"transition"]; - } - if (oldSideMenuViewController != newSideMenuViewController || - oldViewDescription.sideMenuEnabled != currentViewDescription.sideMenuEnabled) { - [self.sideMenuView.layer removeAnimationForKey:@"transition"]; - [self.sideMenuView.layer addAnimation:self.viewTransition forKey:@"transition"]; - } - } - - if (oldMainViewController != nil && oldMainViewController != newMainViewController) { - [UICompositeView removeSubView:oldMainViewController]; - } - if (oldDetailsViewController != nil && oldDetailsViewController != newDetailsViewController) { - [UICompositeView removeSubView:oldDetailsViewController]; - } - if (oldTabBarViewController != nil && oldTabBarViewController != newTabBarViewController) { - [UICompositeView removeSubView:oldTabBarViewController]; - } - if (oldStatusBarViewController != nil && oldStatusBarViewController != newStatusBarViewController) { - [UICompositeView removeSubView:oldStatusBarViewController]; - } - if (oldSideMenuViewController != nil && oldSideMenuViewController != newSideMenuViewController) { - [UICompositeView removeSubView:oldSideMenuViewController]; - } - - self.statusBarViewController = newStatusBarViewController; - self.mainViewController = newMainViewController; - self.detailsViewController = newDetailsViewController; - self.tabBarViewController = newTabBarViewController; - self.sideMenuViewController = newSideMenuViewController; - - // Update rotation - UIInterfaceOrientation correctOrientation = [self - getCorrectInterfaceOrientation:(UIDeviceOrientation)[UIApplication sharedApplication].statusBarOrientation]; - if (currentOrientation != correctOrientation) { - [UICompositeView setOrientation:correctOrientation - animated:currentOrientation != UIDeviceOrientationUnknown]; - if (UIInterfaceOrientationIsLandscape(correctOrientation)) { - [self.mainViewController willAnimateRotationToInterfaceOrientation:correctOrientation duration:0]; - [self.detailsViewController willAnimateRotationToInterfaceOrientation:correctOrientation duration:0]; - [self.tabBarViewController willAnimateRotationToInterfaceOrientation:correctOrientation duration:0]; - [self.statusBarViewController willAnimateRotationToInterfaceOrientation:correctOrientation duration:0]; - [self.sideMenuViewController willAnimateRotationToInterfaceOrientation:correctOrientation duration:0]; - } - } else { - if (oldMainViewController != newMainViewController) { - UIInterfaceOrientation oldOrientation = self.mainViewController.interfaceOrientation; - [self.mainViewController willRotateToInterfaceOrientation:correctOrientation duration:0]; - [self.mainViewController willAnimateRotationToInterfaceOrientation:correctOrientation duration:0]; - [self.mainViewController didRotateFromInterfaceOrientation:oldOrientation]; - } - if (oldDetailsViewController != newDetailsViewController) { - UIInterfaceOrientation oldOrientation = self.detailsViewController.interfaceOrientation; - [self.detailsViewController willRotateToInterfaceOrientation:correctOrientation duration:0]; - [self.detailsViewController willAnimateRotationToInterfaceOrientation:correctOrientation duration:0]; - [self.detailsViewController didRotateFromInterfaceOrientation:oldOrientation]; - } - if (oldTabBarViewController != newTabBarViewController) { - UIInterfaceOrientation oldOrientation = self.tabBarViewController.interfaceOrientation; - [self.tabBarViewController willRotateToInterfaceOrientation:correctOrientation duration:0]; - [self.tabBarViewController willAnimateRotationToInterfaceOrientation:correctOrientation duration:0]; - [self.tabBarViewController didRotateFromInterfaceOrientation:oldOrientation]; - } - if (oldSideMenuViewController != newSideMenuViewController) { - UIInterfaceOrientation oldOrientation = self.sideMenuViewController.interfaceOrientation; - [self.sideMenuViewController willRotateToInterfaceOrientation:correctOrientation duration:0]; - [self.sideMenuViewController willAnimateRotationToInterfaceOrientation:correctOrientation duration:0]; - [self.sideMenuViewController didRotateFromInterfaceOrientation:oldOrientation]; - } - } - } - - if (currentViewDescription == nil) { - return; - } - - if (tabBar != nil) { - if (currentViewDescription.tabBarEnabled != [tabBar boolValue]) { - currentViewDescription.tabBarEnabled = [tabBar boolValue]; - } else { - tabBar = nil; // No change = No Update - } - } - - if (statusBar != nil) { - if (currentViewDescription.statusBarEnabled != [statusBar boolValue]) { - currentViewDescription.statusBarEnabled = [statusBar boolValue]; - } else { - statusBar = nil; // No change = No Update - } - } - - if (sideMenu != nil) { - if (currentViewDescription.sideMenuEnabled != [sideMenu boolValue]) { - currentViewDescription.sideMenuEnabled = [sideMenu boolValue]; - if (currentViewDescription.sideMenuEnabled) { - [_sideMenuViewController viewWillAppear:YES]; - } else { - [_sideMenuViewController viewWillDisappear:YES]; - } - } else { - sideMenu = nil; // No change = No Update - } - } - - if (fullscreen != nil) { - if (currentViewDescription.fullscreen != [fullscreen boolValue]) { - currentViewDescription.fullscreen = [fullscreen boolValue]; - [[UIApplication sharedApplication] setStatusBarHidden:currentViewDescription.fullscreen - withAnimation:UIStatusBarAnimationSlide]; - } else { - fullscreen = nil; // No change = No Update - } - } else { - [[UIApplication sharedApplication] setStatusBarHidden:currentViewDescription.fullscreen - withAnimation:UIStatusBarAnimationNone]; - } - - // Start animation - if (tabBar != nil || statusBar != nil || sideMenu != nil || fullscreen != nil) { - [UIView beginAnimations:@"resize" context:nil]; - [UIView setAnimationDuration:0.35]; - } - - // Compute frame for each elements - CGRect viewFrame = self.view.frame; - int origin = currentViewDescription.fullscreen ? 0 : [PhoneMainView iphoneStatusBarHeight]; - - - // 1. status bar - fixed size on top - CGRect statusBarFrame = self.statusBarView.frame; - if (self.statusBarViewController != nil && currentViewDescription.statusBarEnabled) { - statusBarFrame.origin.y = origin; - // move origin below status bar - origin += statusBarFrame.size.height; - } else { - statusBarFrame.origin.y = -statusBarFrame.size.height; - } - - // 2. side menu - fixed size, always starting below status bar (hack: except in fullscreen) - CGRect sideMenuFrame = viewFrame; - sideMenuFrame.origin.y = origin - (currentViewDescription.fullscreen ? statusBarFrame.size.height : 0); - sideMenuFrame.size.height -= sideMenuFrame.origin.y; - if (!currentViewDescription.sideMenuEnabled) { - // hack bis: really hide; -width won't be enough since some animations may use this... - sideMenuFrame.origin.x = -3 * sideMenuFrame.size.width; - } - - // 3. tab bar - on portrait full width at bottom / on landscape on left, starting below status bar - // Resize TabBar - CGRect tabFrame = self.tabBarView.frame; - if (self.tabBarViewController != nil && currentViewDescription.tabBarEnabled) { - tabFrame.origin.x = 0; - if (UIInterfaceOrientationIsPortrait([self currentOrientation])) { - tabFrame.origin.y = viewFrame.size.height - tabFrame.size.height; - } else { - tabFrame.origin.y = origin; - tabFrame.size.height = viewFrame.size.height - tabFrame.origin.y; - } - } else { - tabFrame.origin.x = -tabFrame.size.width; - tabFrame.origin.y = viewFrame.size.height; - } - - // 4. main view and details view - space left width of 35%/65% each - CGRect mainFrame = viewFrame; - mainFrame.origin.y = origin; - mainFrame.size.height -= mainFrame.origin.y; - if (!currentViewDescription.fullscreen) { - if (UIInterfaceOrientationIsPortrait([self currentOrientation])) { - mainFrame.size.height -= viewFrame.size.height - tabFrame.origin.y; - } else { - mainFrame.origin.x = tabFrame.origin.x + tabFrame.size.width; - mainFrame.size.width -= mainFrame.origin.x; - } - } - CGRect detailsFrame = mainFrame; - if (self.detailsViewController != nil) { - detailsFrame = mainFrame; - mainFrame.size.width = ceil(mainFrame.size.width * .35); - detailsFrame.size.width -= mainFrame.size.width; - detailsFrame.origin.x += mainFrame.size.width; - } - - // Set frames - // 1. main view and details view - self.mainView.frame = mainFrame; - self.mainViewController.view.frame = self.mainView.bounds; - self.detailsView.frame = detailsFrame; - self.detailsViewController.view.frame = self.detailsView.bounds; - - // 2. tab bar - self.tabBarView.frame = tabFrame; - CGRect frame = self.tabBarViewController.view.frame; - frame.size = self.tabBarView.bounds.size; - self.tabBarViewController.view.frame = frame; - - // 3. status bar - self.statusBarView.frame = statusBarFrame; - frame = self.statusBarViewController.view.frame; - frame.size = self.statusBarView.bounds.size; - self.statusBarViewController.view.frame = frame; - - // 4. side menu - self.sideMenuView.frame = sideMenuFrame; - self.sideMenuViewController.view.frame = self.sideMenuView.bounds; - [PhoneMainView.instance.mainViewController.view bringSubviewToFront:_sideMenuView]; - [PhoneMainView.instance.mainViewController.view bringSubviewToFront:_sideMenuViewController.view]; - - // Commit animation - if (tabBar != nil || statusBar != nil || sideMenu != nil || fullscreen != nil) { - [UIView commitAnimations]; - } - - // Change view - if (description != nil) { - if (oldMainViewController == nil || oldMainViewController != self.tabBarViewController) { - [UICompositeView addSubView:self.mainViewController view:self.mainView]; - } - if (oldDetailsViewController == nil || oldDetailsViewController != self.detailsViewController) { - [UICompositeView addSubView:self.detailsViewController view:self.detailsView]; - } - if (oldTabBarViewController == nil || oldTabBarViewController != self.tabBarViewController) { - [UICompositeView addSubView:self.tabBarViewController view:self.tabBarView]; - } - if (oldStatusBarViewController == nil || oldStatusBarViewController != self.statusBarViewController) { - [UICompositeView addSubView:self.statusBarViewController view:self.statusBarView]; - } - if (oldSideMenuViewController == nil || oldSideMenuViewController != self.sideMenuViewController) { - [UICompositeView addSubView:self.sideMenuViewController view:self.sideMenuView]; - } - } - if (currentViewDescription.sideMenuEnabled) { - [_sideMenuViewController viewDidAppear:YES]; - } else { - [_sideMenuViewController viewDidDisappear:YES]; - } - // Dealloc old view description - UIView *viewToRemove = [self.view viewWithTag:999]; - [viewToRemove removeFromSuperview]; -} - -- (void)changeView:(UICompositeViewDescription *)description { - [self view]; // Force view load - [self update:description tabBar:nil statusBar:nil sideMenu:nil fullscreen:nil]; -} - -- (void)setFullscreen:(BOOL)enabled { - [self update:nil tabBar:nil statusBar:nil sideMenu:nil fullscreen:[NSNumber numberWithBool:enabled]]; -} - -- (void)hideTabBar:(BOOL)hidden { - [self update:nil tabBar:[NSNumber numberWithBool:!hidden] statusBar:nil sideMenu:nil fullscreen:nil]; -} - -- (void)hideStatusBar:(BOOL)hidden { - [self update:nil tabBar:nil statusBar:[NSNumber numberWithBool:!hidden] sideMenu:nil fullscreen:nil]; -} - -- (void)hideSideMenu:(BOOL)hidden { - [self update:nil tabBar:nil statusBar:nil sideMenu:[NSNumber numberWithBool:!hidden] fullscreen:nil]; -} -- (UIViewController *)getCurrentViewController { - return self.mainViewController; -} - -- (BOOL)currentViewSupportsLandscape { - return currentViewDescription ? currentViewDescription.landscapeMode : FALSE; -} - -@end diff --git a/Classes/LinphoneUI/UIConfirmationDialog.h b/Classes/LinphoneUI/UIConfirmationDialog.h deleted file mode 100644 index 08dadf985..000000000 --- a/Classes/LinphoneUI/UIConfirmationDialog.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "UICompositeView.h" -#import "UIRoundBorderedButton.h" - -typedef void (^UIConfirmationBlock)(void); - -@interface UIConfirmationDialog : UIViewController { - UIConfirmationBlock onCancelCb; - UIConfirmationBlock onConfirmCb; -} - -+ (UIConfirmationDialog *)ShowWithMessage:(NSString *)message - cancelMessage:(NSString *)cancel - confirmMessage:(NSString *)confirm - onCancelClick:(UIConfirmationBlock)onCancel - onConfirmationClick:(UIConfirmationBlock)onConfirm; -+ (UIConfirmationDialog *)ShowWithMessage:(NSString *)message - cancelMessage:(NSString *)cancel - confirmMessage:(NSString *)confirm - onCancelClick:(UIConfirmationBlock)onCancel - onConfirmationClick:(UIConfirmationBlock)onConfirm - inController:(UIViewController *)controller; -+ (UIConfirmationDialog *)ShowWithAttributedMessage:(NSMutableAttributedString *)attributedText - cancelMessage:(NSString *)cancel - confirmMessage:(NSString *)confirm - onCancelClick:(UIConfirmationBlock)onCancel - onConfirmationClick:(UIConfirmationBlock)onConfirm; - -@property(weak, nonatomic) IBOutlet UIRoundBorderedButton *cancelButton; -@property (weak, nonatomic) IBOutlet UIImageView *securityImage; -@property (weak, nonatomic) IBOutlet UIImageView *forwardImage; -@property (weak, nonatomic) IBOutlet UIImageView *groupCallImage; -@property(weak, nonatomic) IBOutlet UIRoundBorderedButton *confirmationButton; -@property (weak, nonatomic) IBOutlet UIView *authView; -@property (weak, nonatomic) IBOutlet UIImageView *backgroundColor; -@property(weak, nonatomic) IBOutlet UILabel *titleLabel; -@property(weak, nonatomic) IBOutlet UIView *firstView; -@property (weak, nonatomic) IBOutlet UIButton *authButton; -@property(weak, nonatomic) IBOutlet UILabel *subscribeLabel; - - -- (void)setSpecialColor; --(void) setWhiteCancel; -- (IBAction)onCancelClick:(id)sender; -- (IBAction)onConfirmationClick:(id)sender; -- (IBAction)onAuthClick:(id)sender; -- (IBAction)onSubscribeTap:(id)sender; -- (void)dismiss; -@end diff --git a/Classes/LinphoneUI/UIConfirmationDialog.m b/Classes/LinphoneUI/UIConfirmationDialog.m deleted file mode 100644 index 0abd0ecc4..000000000 --- a/Classes/LinphoneUI/UIConfirmationDialog.m +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UIConfirmationDialog.h" -#import "PhoneMainView.h" -#import "linphoneapp-Swift.h" - -@implementation UIConfirmationDialog -+ (UIConfirmationDialog *)initDialog:(NSString *)cancel - confirmMessage:(NSString *)confirm - onCancelClick:(UIConfirmationBlock)onCancel - onConfirmationClick:(UIConfirmationBlock)onConfirm - inController:(UIViewController *)controller { - UIConfirmationDialog *dialog = - [[UIConfirmationDialog alloc] initWithNibName:NSStringFromClass(self.class) bundle:NSBundle.mainBundle]; - - dialog.view.frame = PhoneMainView.instance.mainViewController.view.frame; - [controller.view addSubview:dialog.view]; - [controller addChildViewController:dialog]; - dialog.backgroundColor.layer.cornerRadius = 10; - dialog.backgroundColor.layer.masksToBounds = true; - - dialog->onCancelCb = onCancel; - dialog->onConfirmCb = onConfirm; - - if (cancel) { - [dialog.cancelButton setTitle:cancel forState:UIControlStateNormal]; - } - if (confirm) { - [dialog.confirmationButton setTitle:confirm forState:UIControlStateNormal]; - } - - dialog.confirmationButton.layer.borderColor = - [[UIColor colorWithPatternImage:[UIImage imageNamed:@"color_A.png"]] CGColor]; - dialog.cancelButton.layer.borderColor = - [[UIColor colorWithPatternImage:[UIImage imageNamed:@"color_F.png"]] CGColor]; - if (linphone_core_get_post_quantum_available()) { - [dialog.securityImage setImage:[UIImage imageNamed:@"post_quantum_secure.png"]]; - } - return dialog; -} - -- (void)viewDidLoad { - [super viewDidLoad]; - UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self - action:@selector(onCancelClick:)]; - tapGestureRecognizer.delegate = self; - [self.firstView addGestureRecognizer:tapGestureRecognizer]; -} - - -+ (UIConfirmationDialog *)ShowWithMessage:(NSString *)message - cancelMessage:(NSString *)cancel - confirmMessage:(NSString *)confirm - onCancelClick:(UIConfirmationBlock)onCancel - onConfirmationClick:(UIConfirmationBlock)onConfirm - inController:(UIViewController *)controller { - UIConfirmationDialog *dialog = - [UIConfirmationDialog initDialog:cancel confirmMessage:confirm onCancelClick:onCancel onConfirmationClick:onConfirm inController:controller]; - [dialog.titleLabel setText:message]; - return dialog; -} - -+ (UIConfirmationDialog *)ShowWithMessage:(NSString *)message - cancelMessage:(NSString *)cancel - confirmMessage:(NSString *)confirm - onCancelClick:(UIConfirmationBlock)onCancel - onConfirmationClick:(UIConfirmationBlock)onConfirm { - return [self ShowWithMessage:message - cancelMessage:cancel - confirmMessage:confirm - onCancelClick:onCancel - onConfirmationClick:onConfirm - inController:PhoneMainView.instance.mainViewController]; -} - -+ (UIConfirmationDialog *)ShowWithAttributedMessage:(NSMutableAttributedString *)attributedText - cancelMessage:(NSString *)cancel - confirmMessage:(NSString *)confirm - onCancelClick:(UIConfirmationBlock)onCancel - onConfirmationClick:(UIConfirmationBlock)onConfirm { - UIConfirmationDialog *dialog = - [UIConfirmationDialog initDialog:cancel confirmMessage:confirm onCancelClick:onCancel onConfirmationClick:onConfirm inController:PhoneMainView.instance.mainViewController]; - dialog.titleLabel.attributedText = attributedText; - return dialog; -} - -- (void)setSpecialColor { - [_confirmationButton setBackgroundImage:[UIImage imageNamed:@"color_L.png"] forState:UIControlStateNormal]; - [_cancelButton setBackgroundImage:[UIImage imageNamed:@"color_I.png"] forState:UIControlStateNormal]; - [_cancelButton setTitleColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"color_H.png"]] forState:UIControlStateNormal]; - - _confirmationButton.layer.borderColor = - [[UIColor colorWithPatternImage:[UIImage imageNamed:@"color_L.png"]] CGColor]; - _cancelButton.layer.borderColor = - [[UIColor colorWithPatternImage:[UIImage imageNamed:@"color_A.png"]] CGColor]; -} - --(void) setWhiteCancel { - [_cancelButton setBackgroundImage:nil forState:UIControlStateNormal]; - [_cancelButton setBackgroundColor:UIColor.whiteColor]; - [_cancelButton setTitleColor:VoipTheme.voip_dark_gray forState:UIControlStateNormal]; - _cancelButton.layer.borderColor = UIColor.whiteColor.CGColor; -} - -- (IBAction)onCancelClick:(id)sender { - [self.view removeFromSuperview]; - [self removeFromParentViewController]; - if (onCancelCb) { - onCancelCb(); - } -} - -- (IBAction)onConfirmationClick:(id)sender { - [self.view removeFromSuperview]; - [self removeFromParentViewController]; - if (onConfirmCb) { - onConfirmCb(); - } -} - -- (IBAction)onAuthClick:(id)sender { - BOOL notAskAgain = ![LinphoneManager.instance lpConfigBoolForKey:@"confirmation_dialog_before_sas_call_not_ask_again"]; - UIImage *image = notAskAgain ? [UIImage imageNamed:@"checkbox_checked.png"] : [UIImage imageNamed:@"checkbox_unchecked.png"]; - [_authButton setImage:image forState:UIControlStateNormal]; - [LinphoneManager.instance lpConfigSetBool:notAskAgain forKey:@"confirmation_dialog_before_sas_call_not_ask_again"]; -} - -- (void)dismiss { - [self onCancelClick:nil]; -} - -- (IBAction)onSubscribeTap:(id)sender { - UIGestureRecognizer *gest = sender; - NSString *url = ((UILabel *)gest.view).text; - if (![UIApplication.sharedApplication openURL:[NSURL URLWithString:url]]) { - LOGE(@"Failed to open %@, invalid URL", url); - } -} -@end diff --git a/Classes/LinphoneUI/UIContactCell.h b/Classes/LinphoneUI/UIContactCell.h deleted file mode 100644 index ac838d96d..000000000 --- a/Classes/LinphoneUI/UIContactCell.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import -#import "UIRoundedImageView.h" - -@interface UIContactCell : UITableViewCell - -@property(nonatomic, strong) IBOutlet UILabel *nameLabel; -@property(nonatomic, strong) IBOutlet UILabel *organizationLabel; -@property(nonatomic, strong) IBOutlet UIImageView *avatarImage; -@property(weak, nonatomic) IBOutlet UIImageView *linphoneImage; -@property(nonatomic, assign) Contact *contact; - -- (id)initWithIdentifier:(NSString*)identifier; - -@end diff --git a/Classes/LinphoneUI/UIContactCell.m b/Classes/LinphoneUI/UIContactCell.m deleted file mode 100644 index cf960b591..000000000 --- a/Classes/LinphoneUI/UIContactCell.m +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UIContactCell.h" -#import "ContactsListTableView.h" -#import "FastAddressBook.h" -#import "PhoneMainView.h" -#import "UILabel+Boldify.h" -#import "Utils.h" - -@implementation UIContactCell - -#pragma mark - Lifecycle Functions - -- (id)initWithIdentifier:(NSString *)identifier { - if ((self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier]) != nil) { - NSArray *arrayOfViews = - [[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self.class) owner:self options:nil]; - - // resize cell to match .nib size. It is needed when resized the cell to - // correctly adapt its height too - UIView *sub = ((UIView *)[arrayOfViews objectAtIndex:0]); - [self setFrame:CGRectMake(0, 0, sub.frame.size.width, sub.frame.size.height)]; - [self addSubview:sub]; - _contact = NULL; - // Sections are wider on iPad and overlap linphone image - let's move it a bit - if (IPAD) { - CGRect frame = _linphoneImage.frame; - frame.origin.x -= frame.size.width / 2; - _linphoneImage.frame = frame; - } - - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(onPresenceChanged:) - name:kLinphoneNotifyPresenceReceivedForUriOrTel - object:nil]; - } - return self; -} - -- (void)dealloc { - self.contact = NULL; - [NSNotificationCenter.defaultCenter removeObserver:self]; -} - -#pragma mark - Notif - -- (void)onPresenceChanged:(NSNotification *)k { - LinphoneFriend *f = [[k.userInfo valueForKey:@"friend"] pointerValue]; - // only consider event if it's about us when not in ContactsListView - if (_contact && (PhoneMainView.instance.currentView == ContactsListView.compositeViewDescription || _nameLabel.text == PhoneMainView.instance.currentName)) { - if (!_contact.friend || f != _contact.friend) { - return; - } - [self setContact:_contact]; - } -} - -#pragma mark - Property Functions - -- (void)setContact:(Contact *)acontact { - _contact = acontact; - _linphoneImage.hidden = TRUE; - if(_contact) { - [ContactDisplay setDisplayNameLabel:_nameLabel forContact:_contact]; - _organizationLabel.text = [FastAddressBook ogrganizationForContact:_contact]; - _linphoneImage.hidden = [LinphoneManager.instance lpConfigBoolForKey:@"hide_linphone_contacts" inSection:@"app"] || - ! ((_contact.friend && linphone_presence_model_get_basic_status(linphone_friend_get_presence_model(_contact.friend)) == LinphonePresenceBasicStatusOpen) || [FastAddressBook contactHasValidSipDomain:_contact]); - } -} - -#pragma mark - - -- (void)touchUp:(id)sender { - [self setHighlighted:true animated:true]; -} - -- (void)touchDown:(id)sender { - [self setHighlighted:false animated:true]; -} - -- (NSString *)accessibilityLabel { - return _nameLabel.text; -} - -- (void)setEditing:(BOOL)editing { - [self setEditing:editing animated:FALSE]; -} - -- (void)setEditing:(BOOL)editing animated:(BOOL)animated { - if (animated) { - [UIView beginAnimations:nil context:nil]; - [UIView setAnimationDuration:0.3]; - } - _linphoneImage.alpha = editing ? 0 : 1; - if (animated) { - [UIView commitAnimations]; - } -} - -@end diff --git a/Classes/LinphoneUI/UIContactDetailsCell.h b/Classes/LinphoneUI/UIContactDetailsCell.h deleted file mode 100644 index a1fc40261..000000000 --- a/Classes/LinphoneUI/UIContactDetailsCell.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import - -#import "UIIconButton.h" - -@interface UIContactDetailsCell : UITableViewCell - -// this is broken design... but we need this to know which cell was modified -// last... must be totally revamped -@property(strong) NSIndexPath *indexPath; - -@property(weak, nonatomic) IBOutlet UIView *defaultView; -@property(weak, nonatomic) IBOutlet UILabel *addressLabel; -@property(weak, nonatomic) IBOutlet UITextField *editTextfield; -@property(weak, nonatomic) IBOutlet UIView *editView; -@property(weak, nonatomic) IBOutlet UIIconButton *deleteButton; -@property(weak, nonatomic) IBOutlet UIIconButton *callButton; -@property(weak, nonatomic) IBOutlet UIIconButton *chatButton; -@property (weak, nonatomic) IBOutlet UIIconButton *encryptedChatButton; -@property (weak, nonatomic) IBOutlet UIImageView *linphoneImage; -@property (weak, nonatomic) UIView *waitView; -@property (strong, nonatomic) IBOutlet UIButton *inviteButton; -@property (weak, nonatomic) IBOutlet UIView *encryptedChatView; -@property (weak, nonatomic) IBOutlet UIView *optionsView; - -- (id)initWithIdentifier:(NSString *)identifier; -- (void)setAddress:(NSString *)address; -- (void)hideDeleteButton:(BOOL)hidden; -- (void)shouldHideLinphoneImageOfAddress; - -- (IBAction)onCallClick:(id)sender; -- (IBAction)onChatClick:(id)sender; -- (IBAction)onEncrptedChatClick:(id)sender; -- (IBAction)onDeleteClick:(id)sender; -- (IBAction)onSMSInviteClick:(id)sender; -@end diff --git a/Classes/LinphoneUI/UIContactDetailsCell.m b/Classes/LinphoneUI/UIContactDetailsCell.m deleted file mode 100644 index 2b52ca496..000000000 --- a/Classes/LinphoneUI/UIContactDetailsCell.m +++ /dev/null @@ -1,194 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UIContactDetailsCell.h" -#import "FastAddressBook.h" -#import "Contact.h" -#import "PhoneMainView.h" - -@implementation UIContactDetailsCell - -#pragma mark - Lifecycle Functions - -- (id)initWithIdentifier:(NSString *)identifier { - if ((self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier]) != nil) { - NSArray *arrayOfViews = - [[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self.class) owner:self options:nil]; - - // resize cell to match .nib size. It is needed when resized the cell to - // correctly adapt its height too - UIView *sub = ((UIView *)[arrayOfViews objectAtIndex:0]); - [self setFrame:CGRectMake(0, 0, sub.frame.size.width, sub.frame.size.height)]; - [self addSubview:sub]; - } - return self; -} - -#pragma mark - UITableViewCell Functions - -- (void)setAddress:(NSString *)address { - _addressLabel.text = _editTextfield.text = address; - char *normAddr = (char *)_addressLabel.text.UTF8String; - LinphoneAccount *account = linphone_core_get_default_account(LC); - if(_addressLabel.text && account && linphone_account_is_phone_number(account, _addressLabel.text.UTF8String)) { - normAddr = linphone_account_normalize_phone_number(account, - _addressLabel.text.UTF8String); - } - LinphoneAddress *addr = linphone_core_interpret_url_2(LC, normAddr, true); - _chatButton.enabled = _callButton.enabled = _encryptedChatButton.enabled = (addr != NULL); - - _chatButton.accessibilityLabel = - [NSString stringWithFormat:NSLocalizedString(@"Chat with %@", nil), _addressLabel.text]; - _callButton.accessibilityLabel = [NSString stringWithFormat:NSLocalizedString(@"Call %@", nil), _addressLabel.text]; - // Test presence - Contact *contact = addr ? [FastAddressBook getContactWithAddress:(addr)] : NULL; - LinphoneFriend *contactFriend = NULL; - if (contact && contact.friend) { - contactFriend = contact.friend; - } else if (addr) { - contactFriend = linphone_core_find_friend(LC, addr); - } - - ContactDetailsView *contactDetailsView = VIEW(ContactDetailsView); - _linphoneImage.hidden = TRUE; - if (contactFriend) { - const LinphonePresenceModel *model = contactFriend ? linphone_friend_get_presence_model_for_uri_or_tel(contactFriend, _addressLabel.text.UTF8String) : NULL; - - self.linphoneImage.hidden = [LinphoneManager.instance lpConfigBoolForKey:@"hide_linphone_contacts" inSection:@"app"] || - !((model && linphone_presence_model_get_basic_status(model) == LinphonePresenceBasicStatusOpen) || - (account && !linphone_account_is_phone_number(account, - _addressLabel.text.UTF8String) && - [FastAddressBook isSipURIValid:_addressLabel.text])); - self.inviteButton.hidden = !ENABLE_SMS_INVITE || [[contactDetailsView.contact sipAddresses] count] > 0 || !self.linphoneImage.hidden; - [self shouldHideEncryptedChatView:account && linphone_account_params_get_conference_factory_uri(linphone_account_get_params(account)) && model && linphone_presence_model_has_capability(model, LinphoneFriendCapabilityLimeX3dh)]; - _chatButton.hidden = [LinphoneManager.instance lpConfigBoolForKey:@"force_lime_chat_rooms"] || [LinphoneManager.instance lpConfigBoolForKey:@"disable_chat_feature"]; - } - - if (addr) { - linphone_address_unref(addr); - } -} - -- (void)shouldHideEncryptedChatView:(BOOL)hasLime { - _encryptedChatView.hidden = !hasLime || [LinphoneManager.instance lpConfigBoolForKey:@"disable_chat_feature"]; - CGRect newFrame = _optionsView.frame; - if (!hasLime) { - newFrame.origin.x = _addressLabel.frame.origin.x + _callButton.frame.size.width * 2/3; - - } else { - newFrame.origin.x = _addressLabel.frame.origin.x; - } - _optionsView.frame = newFrame; -} - -- (void)shouldHideLinphoneImageOfAddress { - if (!_addressLabel.text) { - return; - } - - char *normAddr = (char *)_addressLabel.text.UTF8String; - LinphoneAccount *account = linphone_core_get_default_account(LC); - if (account && linphone_account_is_phone_number(account, - _addressLabel.text.UTF8String)) { - normAddr = linphone_account_normalize_phone_number(account, - _addressLabel.text.UTF8String); - } - LinphoneAddress *addr = linphone_core_interpret_url_2(LC, normAddr, true); - - // Test presence - Contact *contact = [FastAddressBook getContactWithAddress:(addr)]; - - if (contact) { - self.linphoneImage.hidden =[LinphoneManager.instance lpConfigBoolForKey:@"hide_linphone_contacts" inSection:@"app"] || ! ((contact.friend && linphone_presence_model_get_basic_status(linphone_friend_get_presence_model_for_uri_or_tel(contact.friend, _addressLabel.text.UTF8String)) == LinphonePresenceBasicStatusOpen) || (account && !linphone_account_is_phone_number(account, _addressLabel.text.UTF8String) && [FastAddressBook isSipURIValid:_addressLabel.text])); - } - - if (addr) { - linphone_address_unref(addr); - } -} - -- (void)hideDeleteButton:(BOOL)hidden { - if (_deleteButton.hidden == hidden) - return; - - CGRect newFrame = _editTextfield.frame; - newFrame.size.width = _editView.frame.size.width - newFrame.origin.x; - if (hidden) { - newFrame.size.width -= newFrame.origin.x; /* center view in super view */ - } else { - newFrame.size.width -= _deleteButton.frame.size.width; - } - _editTextfield.frame = newFrame; - _deleteButton.hidden = hidden; -} - -- (void)setEditing:(BOOL)editing animated:(BOOL)animated { - [super setEditing:editing animated:animated]; - - _defaultView.hidden = editing; - _editView.hidden = !editing; -} - -- (void)setEditing:(BOOL)editing { - [self setEditing:editing animated:FALSE]; -} - -- (IBAction)onCallClick:(id)event { - LinphoneAddress *addr = [LinphoneUtils normalizeSipOrPhoneAddress:_addressLabel.text]; - [LinphoneManager.instance call:addr]; - if (addr) - linphone_address_unref(addr); -} - -- (IBAction)onChatClick:(id)event { - LinphoneAddress *addr = [LinphoneUtils normalizeSipOrPhoneAddress:_addressLabel.text]; - [LinphoneManager.instance lpConfigSetBool:TRUE forKey:@"create_chat"]; - [PhoneMainView.instance getOrCreateOneToOneChatRoom:addr waitView:_waitView isEncrypted:FALSE]; - linphone_address_unref(addr); -} - -- (IBAction)onEncrptedChatClick:(id)sender { - LinphoneAddress *addr = [LinphoneUtils normalizeSipOrPhoneAddress:_addressLabel.text]; - [LinphoneManager.instance lpConfigSetBool:TRUE forKey:@"create_chat"]; - [PhoneMainView.instance getOrCreateOneToOneChatRoom:addr waitView:_waitView isEncrypted:TRUE]; - linphone_address_unref(addr); -} - -- (IBAction)onDeleteClick:(id)sender { - UITableView *tableView = VIEW(ContactDetailsView).tableController.tableView; - NSIndexPath *indexPath = [tableView indexPathForCell:self]; - [tableView.dataSource tableView:tableView - commitEditingStyle:UITableViewCellEditingStyleDelete - forRowAtIndexPath:indexPath]; -} - -#pragma mark - SMS invite - -- (IBAction)onSMSInviteClick:(id)sender { - MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init]; - if([MFMessageComposeViewController canSendText]) { - controller.body = NSLocalizedString(@"Hello! Join me on Linphone! You can download it for free at: https://www.linphone.org/download",nil); - controller.recipients = [NSArray arrayWithObjects:[self.addressLabel text], nil]; - - controller.messageComposeDelegate = PhoneMainView.instance; - [PhoneMainView.instance presentViewController:controller animated:YES completion:nil]; - } -} - -@end diff --git a/Classes/LinphoneUI/UIDeviceCell.h b/Classes/LinphoneUI/UIDeviceCell.h deleted file mode 100644 index 518f5ea75..000000000 --- a/Classes/LinphoneUI/UIDeviceCell.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -@interface UIDeviceCell : UITableViewCell - -@property (weak, nonatomic) IBOutlet UIRoundedImageView *avatarImage; -@property (weak, nonatomic) IBOutlet UIImageView *securityImage; -@property (weak, nonatomic) IBOutlet UILabel *deviceLabel; -@property (weak, nonatomic) IBOutlet UIButton *securityButton; -@property (weak, nonatomic) IBOutlet UIButton *dropMenuButton; - -@property LinphoneParticipantDevice *device; -@property BOOL isFirst; -@property BOOL isUnique; -@property BOOL isListOpen; - - -- (id)initWithIdentifier:(NSString *)identifier; -- (void)update; -@end diff --git a/Classes/LinphoneUI/UIDeviceCell.m b/Classes/LinphoneUI/UIDeviceCell.m deleted file mode 100644 index 192b7f3c0..000000000 --- a/Classes/LinphoneUI/UIDeviceCell.m +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UIDeviceCell.h" - -@implementation UIDeviceCell -#pragma mark - Lifecycle Functions -- (id)initWithIdentifier:(NSString *)identifier { - if ((self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier]) != nil) { - NSArray *arrayOfViews = - [[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self.class) owner:self options:nil]; - - // resize cell to match .nib size. It is needed when resized the cell to - // correctly adapt its height too - UIView *sub = ((UIView *)[arrayOfViews objectAtIndex:0]); - [self setFrame:CGRectMake(0, 0, sub.frame.size.width, sub.frame.size.height)]; - [self addSubview:sub]; - } - return self; -} - -- (void)update { - if (!_device) { - LOGE(@"Can not update, because the device is null."); - _securityButton.hidden = FALSE; - _dropMenuButton.hidden = TRUE; - return; - } - - if (_isFirst) { - _securityImage.hidden = _avatarImage.hidden = FALSE; - if (@available(iOS 13, *)) { - self.backgroundColor = [UIColor systemBackgroundColor]; - } else { - self.backgroundColor = [UIColor whiteColor]; - } - } else { - _securityImage.hidden = _avatarImage.hidden = TRUE; - char *uri = linphone_address_as_string_uri_only(linphone_participant_device_get_address(_device)); - _deviceLabel.text = [NSString stringWithUTF8String:linphone_participant_device_get_name(_device) ? : - uri]; - ms_free(uri); - self.backgroundColor = [UIColor colorWithRed:(245 / 255.0) green:(245 / 255.0) blue:(245 / 255.0) alpha:1.0]; - } - if (_isUnique || !_isFirst) { - [_securityButton setImage:[FastAddressBook imageForSecurityLevel:linphone_participant_device_get_security_level(_device)] forState:UIControlStateNormal]; - _securityButton.hidden = FALSE; - _dropMenuButton.hidden = TRUE; - } else { - UIImage *image = _isListOpen ? [UIImage imageNamed:@"chevron_list_open"] : [UIImage imageNamed:@"chevron_list_close"]; - [_dropMenuButton setImage:image forState:UIControlStateNormal]; - _securityButton.hidden = TRUE; - _dropMenuButton.hidden = FALSE; - } -} - -@end diff --git a/Classes/LinphoneUI/UIDeviceCell.xib b/Classes/LinphoneUI/UIDeviceCell.xib deleted file mode 100644 index 29a6c6eb4..000000000 --- a/Classes/LinphoneUI/UIDeviceCell.xib +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/LinphoneUI/UIDigitButton.h b/Classes/LinphoneUI/UIDigitButton.h deleted file mode 100644 index 95bda10ca..000000000 --- a/Classes/LinphoneUI/UIDigitButton.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "UIIconButton.h" - -@interface UIDigitButton : UIIconButton { -} - -@property(nonatomic, strong) IBOutlet UITextField *addressField; -@property char digit; -@property bool dtmf; - -@end diff --git a/Classes/LinphoneUI/UIDigitButton.m b/Classes/LinphoneUI/UIDigitButton.m deleted file mode 100644 index 21c43525f..000000000 --- a/Classes/LinphoneUI/UIDigitButton.m +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UIDigitButton.h" -#include "linphone/linphonecore.h" -#import "LinphoneManager.h" - -@implementation UIDigitButton - -@synthesize dtmf; -@synthesize digit; -@synthesize addressField; - -#pragma mark - Lifecycle Functions - -- (void)initUIDigitButton { - dtmf = FALSE; - [self addTarget:self action:@selector(touchDown:) forControlEvents:UIControlEventTouchDown]; - [self addTarget:self - action:@selector(touchUp:) - forControlEvents:UIControlEventTouchUpInside | UIControlEventTouchUpOutside]; -} - -- (id)init { - self = [super init]; - if (self) { - [self initUIDigitButton]; - } - return self; -} - -- (id)initWithFrame:(CGRect)frame { - self = [super initWithFrame:frame]; - if (self) { - [self initUIDigitButton]; - } - return self; -} - -- (id)initWithCoder:(NSCoder *)decoder { - self = [super initWithCoder:decoder]; - if (self) { - [self initUIDigitButton]; - } - return self; -} - -#pragma mark - Actions Functions - -- (void)touchDown:(id)sender { - if (addressField && (!dtmf || !linphone_core_in_call(LC))) { - NSString *newAddress = [NSString stringWithFormat:@"%@%c", addressField.text, digit]; - [addressField setText:newAddress]; - } else { - linphone_call_send_dtmf(linphone_core_get_current_call(LC), digit); - linphone_core_play_dtmf(LC, digit, 100); - } -} - -- (void)touchUp:(id)sender { - linphone_core_stop_dtmf(LC); -} - -@end diff --git a/Classes/LinphoneUI/UIHistoryCell.h b/Classes/LinphoneUI/UIHistoryCell.h deleted file mode 100644 index 95e8368c4..000000000 --- a/Classes/LinphoneUI/UIHistoryCell.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "UIRoundedImageView.h" -#import "UIIconButton.h" - -#include "linphone/linphonecore.h" - -@interface UIHistoryCell : UITableViewCell - -@property (nonatomic, assign) LinphoneCallLog *callLog; - -@property(weak, nonatomic) IBOutlet UIImageView *avatarImage; -@property(nonatomic, strong) IBOutlet UILabel *displayNameLabel; -@property(weak, nonatomic) IBOutlet UIImageView *stateImage; -@property(weak, nonatomic) IBOutlet UIIconButton *detailsButton; - -- (id)initWithIdentifier:(NSString*)identifier; - -- (IBAction)onDetails:(id)event; - -@end diff --git a/Classes/LinphoneUI/UIHistoryCell.m b/Classes/LinphoneUI/UIHistoryCell.m deleted file mode 100644 index b7efa0a3d..000000000 --- a/Classes/LinphoneUI/UIHistoryCell.m +++ /dev/null @@ -1,144 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UIHistoryCell.h" -#import "LinphoneManager.h" -#import "PhoneMainView.h" -#import "Utils.h" -#import "linphoneapp-Swift.h" - -@implementation UIHistoryCell - -@synthesize callLog; -@synthesize displayNameLabel; - -#pragma mark - Lifecycle Functions - -- (id)initWithIdentifier:(NSString *)identifier { - if ((self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier]) != nil) { - NSArray *arrayOfViews = - [[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self.class) owner:self options:nil]; - - // resize cell to match .nib size. It is needed when resized the cell to - // correctly adapt its height too - UIView *sub = ((UIView *)[arrayOfViews objectAtIndex:0]); - [self setFrame:CGRectMake(0, 0, sub.frame.size.width, sub.frame.size.height)]; - [self addSubview:sub]; - _detailsButton.hidden = IPAD; - callLog = NULL; - } - return self; -} - -#pragma mark - Action Functions - -- (void)setCallLog:(LinphoneCallLog *)acallLog { - callLog = acallLog; - - [self update]; -} - -#pragma mark - Action Functions - -- (IBAction)onDetails:(id)event { - if (callLog != NULL) { - HistoryDetailsView *view = VIEW(HistoryDetailsView); - if (linphone_call_log_get_call_id(callLog) != NULL) { - if (linphone_call_log_was_conference(callLog)) { - ConferenceHistoryDetailsView *view = VIEW(ConferenceHistoryDetailsView); - [PhoneMainView.instance changeCurrentView:view.compositeViewDescription]; - [view setCallLogWithCallLog:callLog]; - } else { - // Go to History details view - [view setCallLogId:[NSString stringWithUTF8String:linphone_call_log_get_call_id(callLog)]]; - [PhoneMainView.instance changeCurrentView:view.compositeViewDescription]; - } - } - } -} - -#pragma mark - - -- (NSString *)accessibilityValue { - BOOL incoming = linphone_call_log_get_dir(callLog) == LinphoneCallIncoming; - BOOL missed = [SwiftUtil isCallLogMissedWithCLog:callLog]; - NSString *call_type = incoming ? (missed ? @"Missed" : @"Incoming") : @"Outgoing"; - return [NSString stringWithFormat:@"%@ call from %@", call_type, displayNameLabel.text]; -} - -- (void)update { - if (callLog == NULL) { - LOGW(@"Cannot update history cell: null callLog"); - return; - } - - // Set up the cell... - if (linphone_call_log_was_conference(callLog)) { - const char *subject = linphone_conference_info_get_subject(linphone_call_log_get_conference_info(callLog)); - displayNameLabel.text = [NSString stringWithUTF8String:subject]; - [_avatarImage setImage:[UIImage imageNamed:@"voip_multiple_contacts_avatar"]]; - _stateImage.hidden = true; - } else { - _stateImage.hidden = false; - const LinphoneAddress *addr; - UIImage *image; - if (linphone_call_log_get_dir(callLog) == LinphoneCallIncoming) { - if (![SwiftUtil isCallLogMissedWithCLog:callLog]) { - image = [UIImage imageNamed:@"call_status_incoming.png"]; - } else { - image = [UIImage imageNamed:@"call_status_missed.png"]; - } - addr = linphone_call_log_get_from_address(callLog); - } else { - image = [UIImage imageNamed:@"call_status_outgoing.png"]; - addr = linphone_call_log_get_to_address(callLog); - } - _stateImage.image = image; - [ContactDisplay setDisplayNameLabel:displayNameLabel forAddress:addr]; - - size_t count = bctbx_list_size(linphone_call_log_get_user_data(callLog)) + 1; - if (count > 1) { - displayNameLabel.text = - [displayNameLabel.text stringByAppendingString:[NSString stringWithFormat:@" (%lu)", count]]; - } - - [_avatarImage setImage:[FastAddressBook imageForAddress:addr]]; - } -} - -- (void)setEditing:(BOOL)editing { - [self setEditing:editing animated:FALSE]; -} - -- (void)setEditing:(BOOL)editing animated:(BOOL)animated { - if (animated) { - [UIView beginAnimations:nil context:nil]; - [UIView setAnimationDuration:0.3]; - } - if (editing) { - [_detailsButton setAlpha:0.0f]; - } else { - [_detailsButton setAlpha:1.0f]; - } - if (animated) { - [UIView commitAnimations]; - } -} - -@end diff --git a/Classes/LinphoneUI/UIIconButton.h b/Classes/LinphoneUI/UIIconButton.h deleted file mode 100644 index 84c6e4c93..000000000 --- a/Classes/LinphoneUI/UIIconButton.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -@interface UIIconButton : UIButton - -@end diff --git a/Classes/LinphoneUI/UIIconButton.m b/Classes/LinphoneUI/UIIconButton.m deleted file mode 100644 index 305562ec1..000000000 --- a/Classes/LinphoneUI/UIIconButton.m +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UIIconButton.h" - -#import "Utils.h" - -@implementation UIIconButton - -INIT_WITH_COMMON_CF { - [super setImage:[self imageForState:UIControlStateNormal] - forState:(UIControlStateHighlighted | UIControlStateSelected)]; - [super setImage:[self imageForState:UIControlStateDisabled] - forState:(UIControlStateDisabled | UIControlStateSelected)]; - - [self setBackgroundImage:[self backgroundImageForState:UIControlStateHighlighted] - forState:(UIControlStateHighlighted | UIControlStateSelected)]; - [self setBackgroundImage:[self backgroundImageForState:UIControlStateDisabled] - forState:(UIControlStateDisabled | UIControlStateSelected)]; - [LinphoneUtils buttonFixStates:self]; - [self.titleLabel setAdjustsFontSizeToFitWidth:TRUE]; - - return self; -} - -- (void)setImage:(UIImage *)image forState:(UIControlState)state { - [super setImage:image forState:state]; - [self commonInit]; -} -@end diff --git a/Classes/LinphoneUI/UIImageViewDeletable.h b/Classes/LinphoneUI/UIImageViewDeletable.h deleted file mode 100644 index 5048b8303..000000000 --- a/Classes/LinphoneUI/UIImageViewDeletable.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -@protocol UIImageViewDeletableDelegate - -@required - -- (void)deleteFileWithUuid:(NSUUID *)uuid; - -@end - -@interface UIImageViewDeletable : UICollectionViewCell - -@property NSUUID *uuid; -@property(nonatomic, strong) id deleteDelegate; -@property (weak, nonatomic) IBOutlet UIImageView *image; - -- (IBAction)onDeletePressed; - -@end diff --git a/Classes/LinphoneUI/UIImageViewDeletable.m b/Classes/LinphoneUI/UIImageViewDeletable.m deleted file mode 100644 index aa8294c31..000000000 --- a/Classes/LinphoneUI/UIImageViewDeletable.m +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UIImageViewDeletable.h" - -@interface UIImageViewDeletable () - -@end - -@implementation UIImageViewDeletable - -- (UIImageViewDeletable *)init { - self = [super init]; - if (self) { - NSArray *arrayOfViews = - [[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self.class) owner:self options:nil]; - // resize cell to match .nib size. It is needed when resized the cell to - // correctly adapt its height too - UIView *sub = ((UIView *)[arrayOfViews objectAtIndex:arrayOfViews.count - 1]); - [self setFrame:CGRectMake(0, 0, sub.frame.size.width, sub.frame.size.height)]; - [self addSubview:sub]; - } - return self; -} - - -- (UIImageViewDeletable *)initWithFrame:(CGRect)frame { - self = [super initWithFrame:frame]; - if (self) { - NSArray *arrayOfViews = - [[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self.class) owner:self options:nil]; - // resize cell to match .nib size. It is needed when resized the cell to - // correctly adapt its height too - UIView *sub = ((UIView *)[arrayOfViews objectAtIndex:arrayOfViews.count - 1]); - [self setFrame:frame]; - [self addSubview:sub]; - } - return self; -} - -- (IBAction)onDeletePressed { - [_deleteDelegate deleteFileWithUuid:_uuid]; -} - -/* -#pragma mark - Navigation - -// In a storyboard-based application, you will often want to do a little preparation before navigation -- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { - // Get the new view controller using [segue destinationViewController]. - // Pass the selected object to the new view controller. -} -*/ - -@end diff --git a/Classes/LinphoneUI/UIImageViewDeletable.xib b/Classes/LinphoneUI/UIImageViewDeletable.xib deleted file mode 100644 index 4d0dea67a..000000000 --- a/Classes/LinphoneUI/UIImageViewDeletable.xib +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/LinphoneUI/UIInterfaceStyleButton.h b/Classes/LinphoneUI/UIInterfaceStyleButton.h deleted file mode 100644 index 745ca511b..000000000 --- a/Classes/LinphoneUI/UIInterfaceStyleButton.h +++ /dev/null @@ -1,28 +0,0 @@ -/* -* Copyright (c) 2010-2020 Belledonne Communications SARL. -* -* This file is part of linphone-iphone -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see . -*/ - -#ifndef UIInterfaceStyleButton_h -#define UIInterfaceStyleButton_h -#import - -@interface UIInterfaceStyleButton : UIButton - -@end - -#endif /* UIInterfaceStyleButton_h */ diff --git a/Classes/LinphoneUI/UIInterfaceStyleButton.m b/Classes/LinphoneUI/UIInterfaceStyleButton.m deleted file mode 100644 index 3ca5640b6..000000000 --- a/Classes/LinphoneUI/UIInterfaceStyleButton.m +++ /dev/null @@ -1,79 +0,0 @@ -/* -* Copyright (c) 2010-2020 Belledonne Communications SARL. -* -* This file is part of linphone-iphone -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see . -*/ - -#import -#import "UIInterfaceStyleButton.h" -#import "Utils.h" - - -@implementation UIInterfaceStyleButton -- (void)initUIInterfaceStyleButton { - if(@available(iOS 13,*)){ - [super setImage:[[self imageForState:UIControlStateNormal] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] forState:UIControlStateNormal]; - [super setImage:[[self imageForState:UIControlStateDisabled] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] forState:UIControlStateDisabled]; - UITraitCollection *collection = [UITraitCollection currentTraitCollection]; - switch (collection.userInterfaceStyle) { - case UIUserInterfaceStyleDark: - self.tintColor = [UIColor whiteColor]; - break; - case UIUserInterfaceStyleUnspecified: - case UIUserInterfaceStyleLight: - self.tintColor = [UIColor darkGrayColor]; - break; - default: - break; - } - } else { - self.tintColor = [UIColor darkGrayColor]; - } -} - -- (id)init { - self = [super init]; - if (self) { - [self initUIInterfaceStyleButton]; - } - return self; -} - -- (id)initWithCoder:(NSCoder *)decoder { - self = [super initWithCoder:decoder]; - if (self) { - [self initUIInterfaceStyleButton]; - } - return self; -} - -- (id)initWithFrame:(CGRect)frame { - self = [super initWithFrame:frame]; - if (self) { - [self initUIInterfaceStyleButton]; - } - return self; -} - --(void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection { - [super traitCollectionDidChange:previousTraitCollection]; - [self initUIInterfaceStyleButton]; -} - --(void)setImage:(UIImage *)image forState:(UIControlState)state { - [super setImage:[image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] forState:state]; -} -@end diff --git a/Classes/LinphoneUI/UIInterfaceStyleToggleButton.h b/Classes/LinphoneUI/UIInterfaceStyleToggleButton.h deleted file mode 100644 index 8f4af8655..000000000 --- a/Classes/LinphoneUI/UIInterfaceStyleToggleButton.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -* Copyright (c) 2010-2020 Belledonne Communications SARL. -* -* This file is part of linphone-iphone -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see . -*/ - -#ifndef UIInterfaceStyleToggleButton_h -#define UIInterfaceStyleToggleButton_h -#import "UIToggleButton.h" - -@interface UIInterfaceStyleToggleButton : UIToggleButton { -} - -@end - - -#endif /* UIInterfaceStyleToggleButton_h */ diff --git a/Classes/LinphoneUI/UIInterfaceStyleToggleButton.m b/Classes/LinphoneUI/UIInterfaceStyleToggleButton.m deleted file mode 100644 index 42e2536a2..000000000 --- a/Classes/LinphoneUI/UIInterfaceStyleToggleButton.m +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UIInterfaceStyleToggleButton.h" - -@implementation UIInterfaceStyleToggleButton - -#pragma mark - Lifecycle Functions - -- (void)initUIInterfaceStyleToggleButton { - if(@available(iOS 13,*)){ - [super setImage:[[self imageForState:UIControlStateNormal] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] forState:UIControlStateNormal]; - [super setImage:[[self imageForState:UIControlStateDisabled] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] forState:UIControlStateDisabled]; - UITraitCollection *collection = [UITraitCollection currentTraitCollection]; - switch (collection.userInterfaceStyle) { - case UIUserInterfaceStyleDark: - self.tintColor = [UIColor whiteColor]; - break; - case UIUserInterfaceStyleUnspecified: - case UIUserInterfaceStyleLight: - self.tintColor = [UIColor darkGrayColor]; - break; - default: - break; - } - } else { - self.tintColor = [UIColor darkGrayColor]; - } -} - -- (id)init { - self = [super init]; - if (self) { - [self initUIInterfaceStyleToggleButton]; - } - return self; -} - -- (id)initWithFrame:(CGRect)frame { - self = [super initWithFrame:frame]; - if (self) { - [self initUIInterfaceStyleToggleButton]; - } - return self; -} - -- (id)initWithCoder:(NSCoder *)decoder { - self = [super initWithCoder:decoder]; - if (self) { - [self initUIInterfaceStyleToggleButton]; - } - return self; -} - --(void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection { - [super traitCollectionDidChange:previousTraitCollection]; - [self initUIInterfaceStyleToggleButton]; -} - --(void)setImage:(UIImage *)image forState:(UIControlState)state { - [super setImage:[image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] forState:state]; -} - -@end diff --git a/Classes/LinphoneUI/UILabel+Boldify.h b/Classes/LinphoneUI/UILabel+Boldify.h deleted file mode 100644 index 1a20654c2..000000000 --- a/Classes/LinphoneUI/UILabel+Boldify.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import - -@interface UILabel (Boldify) - -- (void)boldSubstring:(NSString *)substring; -- (void)boldRange:(NSRange)range; - -@end diff --git a/Classes/LinphoneUI/UILabel+Boldify.m b/Classes/LinphoneUI/UILabel+Boldify.m deleted file mode 100644 index d44af3133..000000000 --- a/Classes/LinphoneUI/UILabel+Boldify.m +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UILabel+Boldify.h" - -@implementation UILabel (Boldify) - -- (void)boldRange:(NSRange)range { - if (![self respondsToSelector:@selector(setAttributedText:)]) { - return; - } - NSMutableAttributedString *attributedText = [[NSMutableAttributedString alloc] initWithString:self.text]; - [attributedText setAttributes:@{ - NSFontAttributeName : [UIFont boldSystemFontOfSize:self.font.pointSize] - } - range:range]; - - self.attributedText = attributedText; -} - -- (void)boldSubstring:(NSString *)substring { - NSRange range = [self.text rangeOfString:substring]; - [self boldRange:range]; -} - -@end diff --git a/Classes/LinphoneUI/UILinphoneAudioPlayer.h b/Classes/LinphoneUI/UILinphoneAudioPlayer.h deleted file mode 100644 index 2d48a7e07..000000000 --- a/Classes/LinphoneUI/UILinphoneAudioPlayer.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -@interface UILinphoneAudioPlayer : UIViewController -@property (weak, nonatomic) IBOutlet UIButton *playButton; -@property (weak, nonatomic) IBOutlet UIButton *stopButton; -@property (weak, nonatomic) IBOutlet UILabel *timeLabel; -@property (weak, nonatomic) IBOutlet UIProgressView *timeProgress; -@property (weak, nonatomic) NSString *file; -@property (weak, nonatomic) NSTimer *refreshTimer; - -+ (id)audioPlayerWithFilePath:(NSString *)filePath; -- (void)close; -- (BOOL)isOpened; -- (BOOL)isCreated; -- (void)open; -- (void)pause; -- (void)setFile:(NSString *)fileName; -- (IBAction)onPlay:(id)sender; -- (IBAction)onStop:(id)sender; -- (IBAction)onTapTimeBar:(UITapGestureRecognizer *)sender; -@end diff --git a/Classes/LinphoneUI/UILinphoneAudioPlayer.m b/Classes/LinphoneUI/UILinphoneAudioPlayer.m deleted file mode 100644 index 89498b027..000000000 --- a/Classes/LinphoneUI/UILinphoneAudioPlayer.m +++ /dev/null @@ -1,233 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UILinphoneAudioPlayer.h" -#import "Utils.h" -#import "PhoneMainView.h" - -@implementation UILinphoneAudioPlayer { - @private - LinphonePlayer *player; - LinphonePlayerCbs *cbs; - int duration; - BOOL eofReached; -} - -@synthesize file; - -#pragma mark - Factory - -+ (id)audioPlayerWithFilePath:(NSString *)filePath { - return [[self alloc] initWithFilePath:filePath]; -} - -#pragma mark - Life cycle - -- (instancetype)initWithFilePath:(NSString *)filePath { - if (self = [super initWithNibName:NSStringFromClass(self.class) bundle:[NSBundle mainBundle]]) { - player = linphone_core_create_local_player(LC, NULL, "IOSDisplay", NULL); - cbs = linphone_player_get_callbacks(player); - linphone_player_set_user_data(player, (__bridge void *)self); - linphone_player_cbs_set_eof_reached(cbs, on_eof_reached); - file = filePath; - eofReached = NO; - _refreshTimer = nil; - } - return self; -} - -- (void)dealloc { - [self close]; -} - -- (void)close { - if (player) { - [_refreshTimer invalidate]; - _refreshTimer = nil; - linphone_player_close(player); - linphone_player_unref(player); - player = NULL; - } - [self.view removeFromSuperview]; -} - -- (void)viewDidAppear:(BOOL)animated { - [_playButton setTitle:@"" forState:UIControlStateNormal]; - if (player && linphone_player_get_state(player) == LinphonePlayerPlaying) - [_playButton setImage:[UIImage imageFromSystemBarButton:UIBarButtonSystemItemPause:[UIColor blackColor]] forState:UIControlStateNormal]; - else - [_playButton setImage:[UIImage imageFromSystemBarButton:UIBarButtonSystemItemPlay:[UIColor blackColor]] forState:UIControlStateNormal]; - [_stopButton setTitle:@"" forState:UIControlStateNormal]; - [_stopButton setImage:[UIImage imageFromSystemBarButton:UIBarButtonSystemItemRefresh:[UIColor blackColor]] forState:UIControlStateNormal]; -} - -- (void)viewWillDisappear:(BOOL)animated { - [self close]; -} - -- (void)open { - linphone_player_open(player, file.UTF8String); - duration = linphone_player_get_duration(player); - [self updateTimeLabel:0]; - _timeProgress.progress = 0; - - eofReached = NO; - [_playButton setTitle:@"" forState:UIControlStateNormal]; - [_playButton setImage:[UIImage imageFromSystemBarButton:UIBarButtonSystemItemPlay:[UIColor blackColor]] forState:UIControlStateNormal]; - [_stopButton setTitle:@"" forState:UIControlStateNormal]; - [_stopButton setImage:[UIImage imageFromSystemBarButton:UIBarButtonSystemItemRefresh:[UIColor blackColor]] forState:UIControlStateNormal]; -} - -- (BOOL)isOpened { - return player && linphone_player_get_state(player) != LinphonePlayerClosed; -} - -- (BOOL)isCreated { - return player!=nil; -} - -- (void)setFile:(NSString *)fileName { - if (player) linphone_player_close(player); - file = fileName; -} - -#pragma mark - Callbacks - -void on_eof_reached(LinphonePlayer *pl) { - NSLog(@"EOF reached"); - UILinphoneAudioPlayer *player = (__bridge UILinphoneAudioPlayer *)linphone_player_get_user_data(pl); - dispatch_async(dispatch_get_main_queue(), ^{ - [player.playButton setTitle:@"" forState:UIControlStateNormal]; - [player.playButton setImage:[UIImage imageFromSystemBarButton:UIBarButtonSystemItemPlay:[UIColor blackColor]] forState:UIControlStateNormal]; - }); - player->eofReached = YES; - VIEW(RecordingsListView).videoView.hidden = YES; -} - -#pragma mark - ViewController methods - -- (void)viewDidLoad { - [super viewDidLoad]; -} - -- (void)didReceiveMemoryWarning { - [super didReceiveMemoryWarning]; -} - -#pragma mark - Utils - -+ (NSString *)timeToString:(int)time { - time /= 1000; - int hours = time / 3600; - time %= 3600; - int minutes = time / 60; - int seconds = time % 60; - NSNumberFormatter *formatter = [NSNumberFormatter new]; - formatter.maximumIntegerDigits = 2; - formatter.minimumIntegerDigits = 2; - NSString *ret = [NSString stringWithFormat:@"%@:%@", - [formatter stringFromNumber:[NSNumber numberWithInt:minutes]], - [formatter stringFromNumber:[NSNumber numberWithInt:seconds]]]; - ret = (hours == 0)?ret:[[NSString stringWithFormat:@"%d:", hours] stringByAppendingString:ret]; - return ret; -} - -#pragma mark - Updating - -- (void)updateTimeLabel:(int)currentTime { - _timeLabel.text = [NSString stringWithFormat:@"%@ / %@", [self.class timeToString:currentTime], [self.class timeToString:duration]]; -} - -- (void)displayProgress{ - int pos = linphone_player_get_current_position(player); - _timeProgress.progress = (float)pos / (float)duration; - [self updateTimeLabel:pos]; -} - -- (void)update { - if (!_refreshTimer) - _refreshTimer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(displayProgress) userInfo:nil repeats:YES]; -} - -- (void)pause { - if ([self isOpened]) { - linphone_player_pause(player); - [_playButton setTitle:@"" forState:UIControlStateNormal]; - [_playButton setImage:[UIImage imageFromSystemBarButton:UIBarButtonSystemItemPlay:[UIColor blackColor]] forState:UIControlStateNormal]; - } -} - -#pragma mark - Event handlers - -- (IBAction)onPlay:(id)sender { - if (eofReached) { - linphone_player_seek(player, 0); - eofReached = NO; - } - LinphonePlayerState state = linphone_player_get_state(player); - switch (state) { - case LinphonePlayerClosed: - break; - case LinphonePlayerPaused: - NSLog(@"Play"); - [_playButton setTitle:@"" forState:UIControlStateNormal]; - [_playButton setImage:[UIImage imageFromSystemBarButton:UIBarButtonSystemItemPause:[UIColor blackColor]] forState:UIControlStateNormal]; - linphone_player_start(player); - if (linphone_player_get_is_video_available(player)) { - linphone_player_set_window_id(player, (__bridge void *)VIEW(RecordingsListView).videoView); - VIEW(RecordingsListView).videoView.hidden = NO; - } else { - VIEW(RecordingsListView).videoView.hidden = YES; - } - break; - case LinphonePlayerPlaying: - NSLog(@"Pause"); - [_playButton setTitle:@"" forState:UIControlStateNormal]; - [_playButton setImage:[UIImage imageFromSystemBarButton:UIBarButtonSystemItemPlay:[UIColor blackColor]] forState:UIControlStateNormal]; - linphone_player_pause(player); - break; - } - [self update]; -} - -- (IBAction)onStop:(id)sender { - NSLog(@"Stop"); - linphone_player_pause(player); - linphone_player_seek(player, 0); - eofReached = NO; - [_playButton setTitle:@"" forState:UIControlStateNormal]; - [_playButton setImage:[UIImage imageFromSystemBarButton:UIBarButtonSystemItemPlay:[UIColor blackColor]] forState:UIControlStateNormal]; - _timeProgress.progress = 0; - [self updateTimeLabel:0]; -} - -- (IBAction)onTapTimeBar:(UITapGestureRecognizer *)sender { - if (sender.state != UIGestureRecognizerStateEnded) - return; - CGPoint loc = [sender locationInView:self.view]; - CGPoint timeLoc = _timeProgress.frame.origin; - CGSize timeSize = _timeProgress.frame.size; - if (loc.x >= timeLoc.x && loc.x <= timeLoc.x + timeSize.width && loc.y >= timeLoc.y - 10 && loc.y <= timeLoc.y + timeSize.height + 10) { - float progress = (loc.x - timeLoc.x) / timeSize.width; - _timeProgress.progress = progress; - [self updateTimeLabel:(int)(progress * duration)]; - linphone_player_seek(player, (int)(progress * duration)); - } -} -@end diff --git a/Classes/LinphoneUI/UILinphoneAudioPlayer.xib b/Classes/LinphoneUI/UILinphoneAudioPlayer.xib deleted file mode 100644 index 3e7e29729..000000000 --- a/Classes/LinphoneUI/UILinphoneAudioPlayer.xib +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/LinphoneUI/UILoadingImageView.h b/Classes/LinphoneUI/UILoadingImageView.h deleted file mode 100644 index a3746b356..000000000 --- a/Classes/LinphoneUI/UILoadingImageView.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import -#import - -@interface UILoadingImageView : UIImageView - - -- (void)startLoading; -- (BOOL)isLoading; -- (void)stopLoading; - -@property(nonatomic, strong) PHAsset *asset; -@property (nonatomic, readonly) IBOutlet UIActivityIndicatorView *waitIndicatorView; - -@end diff --git a/Classes/LinphoneUI/UILoadingImageView.m b/Classes/LinphoneUI/UILoadingImageView.m deleted file mode 100644 index 21bfa1c48..000000000 --- a/Classes/LinphoneUI/UILoadingImageView.m +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UILoadingImageView.h" - -@implementation UILoadingImageView - -@synthesize waitIndicatorView; - -#pragma mark - Lifecycle Functions - -- (void)initUIRemoteImageView { - waitIndicatorView = - [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]; - waitIndicatorView.hidesWhenStopped = TRUE; - waitIndicatorView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | - UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin; - waitIndicatorView.center = self.center; - [self addSubview:waitIndicatorView]; -} - -- (id)init { - self = [super init]; - if (self != nil) { - [self initUIRemoteImageView]; - } - return self; -} - -- (id)initWithCoder:(NSCoder *)aDecoder { - self = [super initWithCoder:aDecoder]; - if (self != nil) { - [self initUIRemoteImageView]; - } - return self; -} - -- (id)initWithFrame:(CGRect)frame { - self = [super initWithFrame:frame]; - if (self != nil) { - [self initUIRemoteImageView]; - } - return self; -} - -- (id)initWithImage:(UIImage *)image { - self = [super initWithImage:image]; - if (self != nil) { - [self initUIRemoteImageView]; - } - return self; -} - -- (id)initWithImage:(UIImage *)image highlightedImage:(UIImage *)highlightedImage { - self = [super initWithImage:image highlightedImage:highlightedImage]; - if (self != nil) { - [self initUIRemoteImageView]; - } - return self; -} - -#pragma mark - - -- (void)startLoading { - [waitIndicatorView startAnimating]; -} - -- (void)stopLoading { - - [waitIndicatorView stopAnimating]; -} - -- (BOOL)isLoading { - return [waitIndicatorView isAnimating]; -} - -@end diff --git a/Classes/LinphoneUI/UIRecordingCell.h b/Classes/LinphoneUI/UIRecordingCell.h deleted file mode 100644 index 37a9bd458..000000000 --- a/Classes/LinphoneUI/UIRecordingCell.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -@interface UIRecordingCell : UITableViewCell - -@property (weak, nonatomic) IBOutlet UIView *playerView; -@property (weak, nonatomic) IBOutlet UILabel *nameLabel; -@property (strong, nonatomic) IBOutlet UIToolbar *toolbar; -@property (weak, nonatomic) IBOutlet UIBarButtonItem *shareButton; -@property(nonatomic, assign) __block NSString *recording; - -- (id)initWithIdentifier:(NSString*)identifier; - -- (void)updateFrame; - -@end diff --git a/Classes/LinphoneUI/UIRecordingCell.m b/Classes/LinphoneUI/UIRecordingCell.m deleted file mode 100644 index d0492af7e..000000000 --- a/Classes/LinphoneUI/UIRecordingCell.m +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UIRecordingCell.h" -#import "PhoneMainView.h" -#import "UILabel+Boldify.h" -#import "Utils.h" -#import "UILinphoneAudioPlayer.h" - -@implementation UIRecordingCell - -static UILinphoneAudioPlayer *player; - -#pragma mark - Lifecycle Functions -/* - * TODO: - * - When we scroll past a selected row, the player loads incorrectly (no buttons). Probably a problem in the player code. - * - mkv recording is probably buggy, wrong eof. wav playing works but does not display the length/timestamp. - * - The share button is greyed out when not clicking it. idk why, it's really weird. -*/ -- (id)initWithIdentifier:(NSString *)identifier { - if ((self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier])) { - NSArray *arrayOfViews = - [[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self.class) owner:self options:nil]; - - // resize cell to match .nib size. It is needed when resized the cell to - // correctly adapt its height too - UIRecordingCell *sub = [arrayOfViews objectAtIndex:0]; - [self setFrame:CGRectMake(0, 0, sub.frame.size.width, 40)]; - self = sub; - self.recording = NULL; - _shareButton.target = self; - _shareButton.action = @selector(onShareButtonPressed); - } - return self; -} - -- (void)dealloc { - self.recording = NULL; - [NSNotificationCenter.defaultCenter removeObserver:self]; -} - -#pragma mark - Property Functions - -- (void)setRecording:(NSString *)arecording { - _recording = arecording; - if(_recording) { - NSArray *parsedRecording = [LinphoneUtils parseRecordingName:_recording]; - NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; - [dateFormat setDateFormat:@"HH:mm:ss"]; - NSString *b = [[parsedRecording objectAtIndex:0] containsString:@"conf-id"] ? NSLocalizedString(@"Meeting", nil) : [parsedRecording objectAtIndex:0]; - _nameLabel.text = [[b stringByAppendingString:@" @ "] stringByAppendingString:[dateFormat stringFromDate:[parsedRecording objectAtIndex:1]]]; - } -} - -#pragma mark - - -- (NSString *)accessibilityLabel { - return _nameLabel.text; -} - -- (void)setEditing:(BOOL)editing { - [self setEditing:editing animated:FALSE]; -} - -- (void)setEditing:(BOOL)editing animated:(BOOL)animated { - if (animated) { - [UIView beginAnimations:nil context:nil]; - [UIView setAnimationDuration:0.3]; - } - if (animated) { - [UIView commitAnimations]; - } -} - -- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated { - if (!VIEW(RecordingsListView).tableController.isEditing) - self.selectionStyle = UITableViewCellSelectionStyleNone; -} - -- (void)updateFrame { - CGRect frame = self.frame; - if (!self.selected) { - frame.size.height = 40; - } else { - frame.size.height = 150; - } - [self setFrame:frame]; -} - --(void)setSelected:(BOOL)selected animated:(BOOL)animated{ - [super setSelected:selected animated:animated]; - - if (!selected || (selected && VIEW(RecordingsListView).tableController.isEditing)) { - _toolbar.hidden = true; - return; - } - if (player && [player isCreated]) { - [player close]; - } - - VIEW(RecordingsListView).videoView.hidden = YES; - player = [UILinphoneAudioPlayer audioPlayerWithFilePath:[self recording]]; - - [player.view removeFromSuperview]; - [self addSubview:player.view]; - [self bringSubviewToFront:player.view]; - player.view.frame = _playerView.frame; - player.view.bounds = _playerView.bounds; - [player open]; - _toolbar.hidden = false; -} - -- (void)onShareButtonPressed { - UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:@[[NSURL fileURLWithPath:_recording]] applicationActivities:nil]; - [activityVC setCompletionWithItemsHandler:^(UIActivityType __nullable activityType, BOOL completed, NSArray * __nullable returnedItems, NSError * __nullable activityError) { - //This is used to select the same row when we get back to the recordings view. - NSString *file = player.file; - [[(RecordingsListView *)VIEW(RecordingsListView) tableController] setSelected:file]; - }]; - [PhoneMainView.instance presentViewController:activityVC animated:YES completion:nil]; -} - -@end diff --git a/Classes/LinphoneUI/UIRecordingCell.xib b/Classes/LinphoneUI/UIRecordingCell.xib deleted file mode 100644 index 4646c053d..000000000 --- a/Classes/LinphoneUI/UIRecordingCell.xib +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/LinphoneUI/UIRoundBorderedButton.h b/Classes/LinphoneUI/UIRoundBorderedButton.h deleted file mode 100644 index 5b2ad798b..000000000 --- a/Classes/LinphoneUI/UIRoundBorderedButton.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "UIIconButton.h" - -@interface UIRoundBorderedButton : UIIconButton - -@end diff --git a/Classes/LinphoneUI/UIRoundBorderedButton.m b/Classes/LinphoneUI/UIRoundBorderedButton.m deleted file mode 100644 index f33161688..000000000 --- a/Classes/LinphoneUI/UIRoundBorderedButton.m +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UIRoundBorderedButton.h" - -#import "Utils.h" - -@implementation UIRoundBorderedButton - -- (id)initBorders { - self.layer.borderWidth = .8; - self.layer.borderColor = [self.titleLabel.textColor CGColor]; - self.layer.cornerRadius = 4.f; - self.layer.masksToBounds = YES; - - // capitalize title (should be already done though) - UIControlState states[] = {UIControlStateNormal, - UIControlStateHighlighted, - UIControlStateSelected, - UIControlStateDisabled, - UIControlStateDisabled | UIControlStateHighlighted, - UIControlStateSelected | UIControlStateHighlighted, - UIControlStateSelected | UIControlStateDisabled}; - for (int i = 0; i < sizeof(states) / sizeof(UIControlState); i++) { - if (![[self titleForState:UIControlStateNormal] - .uppercaseString isEqualToString:[self titleForState:states[i]]]) { - [self setTitle:[[self titleForState:states[i]] uppercaseString] forState:states[i]]; - } - } - return self; -} - -- (id)init { - return [[super init] initBorders]; -} - -- (id)initWithCoder:(NSCoder *)aDecoder { - return [[super initWithCoder:aDecoder] initBorders]; -} - -- (id)initWithFrame:(CGRect)frame { - return [[super initWithFrame:frame] initBorders]; -} - -- (void)setEnabled:(BOOL)enabled { - [super setEnabled:enabled]; - self.layer.borderColor = [self.titleLabel.textColor CGColor]; -} - -- (BOOL)becomeFirstResponder { - if ([super becomeFirstResponder]) { - [LinphoneUtils findAndResignFirstResponder:self.superview]; - return YES; - } - return NO; -} - --(void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection { - self.layer.borderColor = [self.titleLabel.textColor CGColor]; -} - -@end diff --git a/Classes/LinphoneUI/UIRoundedImageView.h b/Classes/LinphoneUI/UIRoundedImageView.h deleted file mode 100644 index c949d1dd8..000000000 --- a/Classes/LinphoneUI/UIRoundedImageView.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -@interface UIRoundedImageView : UIImageView - -- (void)setImage:(UIImage *)image; -- (void)setImage:(UIImage *)image bordered:(BOOL)bordered withRoundedRadius:(BOOL)rounded; - -- (void)setBordered:(BOOL)bordered; -- (void)setRoundRadius; - -@end diff --git a/Classes/LinphoneUI/UIRoundedImageView.m b/Classes/LinphoneUI/UIRoundedImageView.m deleted file mode 100644 index 1ecc07c50..000000000 --- a/Classes/LinphoneUI/UIRoundedImageView.m +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UIRoundedImageView.h" -#import -#import "Utils.h" - -@implementation UIRoundedImageView { - UIView *borderView; -} - -INIT_WITH_COMMON_CF { - borderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; - borderView.layer.borderWidth = 10; - borderView.layer.borderColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"color_A.png"]].CGColor; - borderView.hidden = YES; - [self addSubview:borderView]; - - [self setBordered:NO]; - [self setRoundRadius]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(orientationDidChange:) - name:UIDeviceOrientationDidChangeNotification - object:nil]; - return self; -} - -- (void)dealloc { - [NSNotificationCenter.defaultCenter removeObserver:self]; -} - -- (void)orientationDidChange:(NSNotification *)k { - [self setRoundRadius]; - [self layoutSubviews]; -} - -- (void)setImage:(UIImage *)image { - [self setImage:image bordered:NO withRoundedRadius:TRUE]; -} - -- (void)setImage:(UIImage *)image bordered:(BOOL)bordered withRoundedRadius:(BOOL)rounded { - // We have to scale image to layers limits so that when we round image, we have a proper circle - [super setImage:[image squareCrop]]; - [self setBordered:bordered]; - [self setRoundRadius]; -} - -- (void)setBordered:(BOOL)bordered { - // bugged on rotation yet - borderView.hidden = TRUE; //! bordered; -} -- (CGRect)computeBox { - CGFloat min = MIN(self.frame.size.width, self.frame.size.height); - CGRect box = CGRectMake((self.frame.size.width - min) / 2, (self.frame.size.height - min) / 2, min, min); - return box; -} -- (void)setRoundRadius { - CGRect box = [self computeBox]; - - borderView.frame = box; - borderView.layer.cornerRadius = borderView.frame.size.height / 2; - - CGPathRef path = CGPathCreateWithEllipseInRect(box, NULL); - UIBezierPath *maskPath = [UIBezierPath bezierPathWithCGPath:path]; - CGPathRelease(path); - CAShapeLayer *maskLayer = [CAShapeLayer layer]; - maskLayer.frame = self.bounds; - maskLayer.path = maskPath.CGPath; - self.layer.mask = maskLayer; -} - -- (void)layoutSubviews { - [super layoutSubviews]; - borderView.frame = [self computeBox]; - borderView.layer.cornerRadius = borderView.frame.size.height / 2; -} -@end diff --git a/Classes/LinphoneUI/UIShopTableCell.h b/Classes/LinphoneUI/UIShopTableCell.h deleted file mode 100644 index c51159165..000000000 --- a/Classes/LinphoneUI/UIShopTableCell.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -@interface UIShopTableCell : UITableViewCell - -@property(nonatomic, strong) IBOutlet UILabel *nameLabel; -@property(nonatomic, strong) IBOutlet UILabel *descriptionLabel; -@property(weak, nonatomic) IBOutlet UIImageView *linphoneImage; -@property(weak, nonatomic) IBOutlet UIImageView *infoImage; - -- (id)initWithIdentifier:(NSString *)identifier; - -@end diff --git a/Classes/LinphoneUI/UIShopTableCell.m b/Classes/LinphoneUI/UIShopTableCell.m deleted file mode 100644 index 287014128..000000000 --- a/Classes/LinphoneUI/UIShopTableCell.m +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UIShopTableCell.h" -#import "Utils.h" -#import "UILabel+Boldify.h" -#import "PhoneMainView.h" - -@implementation UIShopTableCell - -UILabel *nameLabel; -UILabel *descriptionLabel; -UIImageView *linphoneImage; -UIImageView *infoImage; - -#pragma mark - Lifecycle Functions - -- (id)initWithIdentifier:(NSString *)identifier { - if ((self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier]) != nil) { - NSArray *arrayOfViews = - [[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self.class) owner:self options:nil]; - - // resize cell to match .nib size. It is needed when resized the cell to - // correctly adapt its height too - UIView *sub = ((UIView *)[arrayOfViews objectAtIndex:0]); - [self setFrame:CGRectMake(0, 0, sub.frame.size.width, sub.frame.size.height)]; - [self addSubview:sub]; - - // Sections are wider on iPad and overlap linphone image - let's move it a bit - if (IPAD) { - CGRect frame = _linphoneImage.frame; - frame.origin.x -= frame.size.width / 2; - _linphoneImage.frame = frame; - } - } - return self; -} - -#pragma mark - - -- (IBAction)onDetails:(id)event { - NSString *msg = [NSString stringWithFormat:@"Product - %@", self.nameLabel.text]; - UIAlertController *errView = [UIAlertController alertControllerWithTitle:msg - message:self.descriptionLabel.text - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"OK", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [PhoneMainView.instance presentViewController:errView animated:YES completion:nil]; -} - -- (void)touchUp:(id)sender { - [self setHighlighted:true animated:true]; -} - -- (void)touchDown:(id)sender { - [self setHighlighted:false animated:true]; -} - -- (NSString *)accessibilityLabel { - return _nameLabel.text; -} - -- (void)setEditing:(BOOL)editing { - [self setEditing:editing animated:FALSE]; -} - -- (void)setEditing:(BOOL)editing animated:(BOOL)animated { - if (animated) { - [UIView beginAnimations:nil context:nil]; - [UIView setAnimationDuration:0.3]; - } - _linphoneImage.alpha = editing ? 0 : 1; - if (animated) { - [UIView commitAnimations]; - } -} - -@end diff --git a/Classes/LinphoneUI/UIShopTableCell.xib b/Classes/LinphoneUI/UIShopTableCell.xib deleted file mode 100644 index 07077ffab..000000000 --- a/Classes/LinphoneUI/UIShopTableCell.xib +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/LinphoneUI/UITextField+DoneButton.h b/Classes/LinphoneUI/UITextField+DoneButton.h deleted file mode 100644 index c5372b9ad..000000000 --- a/Classes/LinphoneUI/UITextField+DoneButton.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import - -@interface UITextField (DoneButton) -- (void)addDoneButton; -@end diff --git a/Classes/LinphoneUI/UITextField+DoneButton.m b/Classes/LinphoneUI/UITextField+DoneButton.m deleted file mode 100644 index 08999e854..000000000 --- a/Classes/LinphoneUI/UITextField+DoneButton.m +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UITextField+DoneButton.h" - -#import "LinphoneManager.h" - -@implementation UITextField (DoneButton) - -- (void)addDoneButton { - // actually on iPad there is a done button - if (!IPAD) { - UIToolbar *numberToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 50)]; - numberToolbar.items = [NSArray - arrayWithObjects:[[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Cancel", nil) - style:UIBarButtonItemStyleBordered - target:self - action:@selector(cancelNumberPad)], - [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace - target:nil - action:nil], - [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Done", nil) - style:UIBarButtonItemStyleDone - target:self - action:@selector(doneWithNumberPad)], - nil]; - [numberToolbar sizeToFit]; - - self.inputAccessoryView = numberToolbar; - } -} - -- (void)cancelNumberPad { - [self resignFirstResponder]; - self.text = @""; -} - -- (void)doneWithNumberPad { - [self resignFirstResponder]; -} -@end diff --git a/Classes/LinphoneUI/UITextViewNoDefine.h b/Classes/LinphoneUI/UITextViewNoDefine.h deleted file mode 100644 index cc370c6d1..000000000 --- a/Classes/LinphoneUI/UITextViewNoDefine.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -@interface UITextViewNoDefine : UITextView - -@property BOOL allowSelectAll; - -@end diff --git a/Classes/LinphoneUI/UITextViewNoDefine.m b/Classes/LinphoneUI/UITextViewNoDefine.m deleted file mode 100644 index 023852314..000000000 --- a/Classes/LinphoneUI/UITextViewNoDefine.m +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UITextViewNoDefine.h" - -@implementation UITextViewNoDefine - -@synthesize allowSelectAll; - --(void)awakeFromNib{ - [super awakeFromNib]; - self.delegate = self; - self.userInteractionEnabled = true; - self.editable = false; - self.selectable = true; - self.dataDetectorTypes = UIDataDetectorTypeLink; -} - -- (BOOL)canBecomeFirstResponder { - return NO; -} - -- (void)textViewDidChangeSelection:(UITextView *)textView -{ - textView.selectedTextRange = nil; - [textView endEditing:YES]; -} - -@end diff --git a/Classes/LinphoneUI/UIToggleButton.h b/Classes/LinphoneUI/UIToggleButton.h deleted file mode 100644 index f06204c6e..000000000 --- a/Classes/LinphoneUI/UIToggleButton.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "UIIconButton.h" - -@protocol UIToggleButtonDelegate - - (void)onOn; - - (void)onOff; - - (bool)onUpdate; -@end - -@interface UIToggleButton : UIButton { -} - -- (bool)update; -- (void)setOn; -- (void)setOff; -- (bool)toggle; - -@end diff --git a/Classes/LinphoneUI/UIToggleButton.m b/Classes/LinphoneUI/UIToggleButton.m deleted file mode 100644 index 63c13f691..000000000 --- a/Classes/LinphoneUI/UIToggleButton.m +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "UIToggleButton.h" - -@implementation UIToggleButton - -#pragma mark - Lifecycle Functions - -- (void)initUIToggleButton { - [self update]; - [self addTarget:self action:@selector(touchUp:) forControlEvents:UIControlEventTouchUpInside]; -} - -- (id)init { - self = [super init]; - if (self) { - [self initUIToggleButton]; - } - return self; -} - -- (id)initWithFrame:(CGRect)frame { - self = [super initWithFrame:frame]; - if (self) { - [self initUIToggleButton]; - } - return self; -} - -- (id)initWithCoder:(NSCoder *)decoder { - self = [super initWithCoder:decoder]; - if (self) { - [self initUIToggleButton]; - } - return self; -} -#pragma mark - - -- (void)touchUp:(id)sender { - [self toggle]; -} - -- (bool)toggle { - if (self.selected) { - self.selected = !self.selected; - [self onOff]; - } else { - self.selected = !self.selected; - [self onOn]; - } - return self.selected; -} - -- (void)setOn { - if (!self.selected) { - [self toggle]; - } -} - -- (void)setOff { - if (self.selected) { - [self toggle]; - } -} - -- (bool)update { - self.selected = [self onUpdate]; - return self.selected; -} - -#pragma mark - UIToggleButtonDelegate Functions - -- (void)onOn { - /*[NSException raise:NSInternalInconsistencyException - format:@"You must override %@ in a subclass", NSStringFromSelector(_cmd)];*/ -} - -- (void)onOff { - /*[NSException raise:NSInternalInconsistencyException - format:@"You must override %@ in a subclass", NSStringFromSelector(_cmd)];*/ -} - -- (bool)onUpdate { - /*[NSException raise:NSInternalInconsistencyException - format:@"You must override %@ in a subclass", NSStringFromSelector(_cmd)];*/ - return false; -} - -@end diff --git a/Classes/LinphoneUI/ar.lproj/StatusBarView.strings b/Classes/LinphoneUI/ar.lproj/StatusBarView.strings deleted file mode 100644 index cc48f6aa856659b920ac37f565e31db89bc9f7c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1046 zcmcIjO;5r=5PhdP^jB;+s5BGFyT@-;#0y6T4-Q~Dc2LmJUQg~n0A6k#>TitL|+VT|EZx4 zAA4DB2O&oE_8HYe(?(i7WCUG9eTPUuhQozgZOsr1C`^#%^k@Q`wFfqin&#XY(B%t2m6 zm9;jbTr%Rxwlt+I3g+vIFBNIiGL?!m^z+@Xa-zwK#^9eg$j7nlI*?A<>7|_ix!2$D z{4pt4y!`?DRh$b=70hUb-zI0>G|Z`k18N|_3*UFR#q$>>71JY diff --git a/Classes/LinphoneUI/ar.lproj/TabBarView.strings b/Classes/LinphoneUI/ar.lproj/TabBarView.strings deleted file mode 100644 index f25d2a044461b1a9d4fbaea61031fd53f5148bd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3742 zcmd6qTTjA35QWdvKJY6L6KE-<+M9_Wdn_EYgUgiXNI6azwGmUksNx#6Cu_IR@y{vP*jtEe^}^?BE6+-q)eW z7!9u7aHTifp^7$b_VmtEu6DWJqU8|g%&RzEPxDD4oEMP^^e?g54mDwjgvg2wkrMJL zBOJd+RVVMziOCbGCsFx|t>j}XX|pASDbl3Ni6fEu13Hs*O=@W2X#v}|k8N9<%@lPi zml9D(%9^N+sNnYNviW>e4ab=>i>?r5`0!gWy~WkRe4;`8!JKl6^AGdiS- zx6G23qi7FFa;6rL7O>@Gl@{HMlsXnkYEs)I)~U19*tN-7iq9qWj?4K{@vuqv$~<)I zRTk8X0Enyg(Jpdz|LymjB$DJoeY(SZbbfHE~}{KGeYH&VO5{h_Ao25PS>>fww$N3 zFDUTZ$Mx*($<2I~hpxU}2lZ;TXA7&Vs>tRwR(Y(V@oM#4@6FF*N6t}GlUZvphb^4= pGFRoHudMFd;c79^`G#q;W_8Kl!yT^`955F1`l>vZiGcq*=L4F88ZZC= diff --git a/Classes/LinphoneUI/ar.lproj/UICallConferenceCell.strings b/Classes/LinphoneUI/ar.lproj/UICallConferenceCell.strings deleted file mode 100644 index 6a3f242230d588c84a1eea22b4eb15ab989d0bfe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1530 zcmd6nTT8=05QWdvKJ-_FA{2wY(?S&=Y*I8uXu%u!7Nu%LThLb9Kd*jCdeIVysT5?% zWV17q*>mRd`H@puwk$b%lCM{mr9+;)F68Nyvl|W2<#oWRuUpn2vJ21zXabEj`)0ZD zcQn!vUFb8$cgXG;-}p~GydU`rb)MX1)TZj1s>taj@?1^s5qsF&G{-*4qV%hq<(E+k zrfxdM(w;dsySxj=H3egv2GTWQyc{bFGh?t!Bb+gNUC=*(*#g^WYp54dSIBCnYsw&M zfv;*#Ho~&~EO&KJ=8L*k3+cg|yO!l7i~pD9iYnUYsUfRsq||m2rk}N)WKn{hxVBbV zPKujWu^!#$!~1~F3Xt#f+x{inzTWs}*yArL*!y(5L#}5!Lk4hGU(0xsMb?ZrsQ7Bs z(VKU6TN4nCqv;iACksP;xR@{>)8^bzJ>9`XQ&-3~_Rbm~Nfuf8u;HW4L^xt1bj%KW Idp;4q03-(6s{jB1 diff --git a/Classes/LinphoneUI/ar.lproj/UICallPausedCell.strings b/Classes/LinphoneUI/ar.lproj/UICallPausedCell.strings deleted file mode 100644 index 2bdc4c562453351d3e82d0aa1f9aedc6d744a07f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1530 zcmd6n+e*Vg5QhJ&y~tC9A{2w^ksvBw*aJ3IRFHb%U0X_x^njYS>cgvFQ=8HfY%40V zWV6}*cW3sSnY_PQ%F2Mn`U$5v~-LmSUuW{ncnuB*1<0M69BVSUn701*} z$<)n>u~juYj2$zzV$r^0;H!_NE`HzOS4Wd?kSIq4!^q<>qBv$e{eE1-=7Jd1p)yg9 zzM*k!f6gXJu`L@9HhHrPnLTqFz0;;*(h&0KD;sfI#DDutS>-c;On+_ObXA0*i|(4f zuYFi8=S`AgTQ+G^G}Rv^6XNkRp3f_-PIlZ;VKy}}{Iy%ptu88}Ks98!*#Y;ct>-d0#wjfg?gLZsOk+x`{9fTJB@#>d_1sa!x zXmK*#q{&_Oo_o$cyT5+s2kWraux&+m`o?6S>OsDXd;^hgW$s3PPZ zq}Jk04$)FUuJFXDI}Xs=ta`@RZ4p^(Vaq8^C4W}I?m(t9JZZ@}{@&zXp(BztU_-SD zZhH>P-f-2i+S{1vv~G`oU+3xP@)Z}4_GO>(6Pj+vShPhH;d^>!Z9!WZv{04h@(gy$l diff --git a/Classes/LinphoneUI/ar.lproj/UIChatBubbleTextCell.strings b/Classes/LinphoneUI/ar.lproj/UIChatBubbleTextCell.strings deleted file mode 100644 index 7cfb333874dd81b77439aa24b2a61ea158a5b85f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 744 zcmcJM%SyvQ6o&uRS>!2(Zh}FhrFK(sV^X9N=tc`J+fp&oG({uo%d217TtI4z3mGyq zIk*2ZU!R^%704;lQd7OKoG$q~y3}_ ztZn^RGd+=?(>YSyAVj(c^Mu#~d#)>;R|o;DJnp+H!Un(7OsW}Vzi{xFwohjQj~NV? z75)^ibN)*|QZgx-6x=LX3$TM`(M0O!}Lhgi^;{BVY z@o!>`5%-kOl)fX*9_Xu2I->U-|I}Uw-aKjr<(Y-U%q-5;N^zygnfWPM*_H#bu_Z0Z zbIge+IdP=Q-V>F9#g+#7l)1h|IP~pwiEcnlHgg}Zjmn%FXI_!6l$ddy`Mc6yE7vqE z^_jb3-N)?;DBNG%xT(2u$&F$mzZN!gV@72sWFd@Ht9ze}JVshpIvtRkA+9-_a9yeI zzgSKDn6Z|WiN{7(Y8>5}+BS=_j{1^!bAfX_p%AIDfEr(~zraS{GPHT(lPuCt0Me zBn{c2R&@n&_#Uf#pPQ*5E;HWcS6za0LN*&j*vCEl9*)Vhz8O;?lPr>${Tb217Xaqh ARsaA1 diff --git a/Classes/LinphoneUI/ar.lproj/UIChatConversationImdnTableViewCell.strings b/Classes/LinphoneUI/ar.lproj/UIChatConversationImdnTableViewCell.strings deleted file mode 100644 index 7d73096c363c4207bbfb1b54bdbcc02842586e4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 712 zcmbV~O;5r=6h-gqE&3~(ZWM2q*WMZS4%=FF7 zoz6Y)&Bwc^nj-n?>QQ5@X}&J#fo|2;4Qmt4*$Z^e>I?B3W1$)7NegAn6QcP}HRQ|# zvnk3xJB9jQO|2B`Su@6-F4fwdh;ZQ%yA;*^t-=0J4I5a^e4Sa(>UM3pJCF7kmNEXO zxXhVT9H&sG+_m{ZT{!PTm$8?h$>}qqWhw6h#yd#cWFb~Z$9g^Bbt$UbTgse$=OVNw zS@3maS61O0T4JF^)?!Tlm6^jTkD#C7Y6E#puj`bmpQuq%Zx`LyJ1Xk!Qn>2L0-xH}HrAejf z5;Ts&(6vOL@>IbVbE7GQOzA5o>U5H46l`UR`e*GbCwuM#i|oh_tz%8w?V^gjYICt> vGL=_flb>rIU;F)Qe+w22MfafHg$yq)Cl?z<^ diff --git a/Classes/LinphoneUI/ar.lproj/UIChatCreateCell.strings b/Classes/LinphoneUI/ar.lproj/UIChatCreateCell.strings deleted file mode 100644 index 341ac58413a13db841e3fb1e5ebfb46a101df7b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 732 zcmbu7%Syvg5QhKNEbvc zCBF+x&R{w)NbJevAJG8*^D*ISMEl_htmm@Ta zwJQHTMvV#UT>Aull5Y(&G}x+N>D}K^_jleUw_pnCgRZdG@Gf?En=*X5+~3hw@t)n- PrQO=84VXmk71Q_vs@QId diff --git a/Classes/LinphoneUI/ar.lproj/UIChatCreateCollectionViewCell.strings b/Classes/LinphoneUI/ar.lproj/UIChatCreateCollectionViewCell.strings deleted file mode 100644 index 4ce79bd409d7e03105b615aaba507ce54498173c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmezWkBdQ{L5o3w!I>e4A(5dN2o)G?fmn$ll);n12Pl@rkP4JjVz35^mH^omKoX|L ziy@yOgCP&dcLB0ep{o3Wda{7LWS~k!zLF1jqn3gt*HW&jw00?49tx2IleR%ck_QzmK%7xh! zw!1UC^PMyO{%WBI2MT?}m|(@BaLK2QM-1R0!9XS+J zZ;RtU`Fu+jkUVJM8NGnNM{cAi3R*n&yZJYrq0r$M;E3klt=&H;y5$FTb&?SP diff --git a/Classes/LinphoneUI/ar.lproj/UIContactCell.strings b/Classes/LinphoneUI/ar.lproj/UIContactCell.strings deleted file mode 100644 index fda1daa5c897159a7811436f202bf7a3541cd8ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 390 zcmbV{!3x4K5Jcy+hkQi{h|q&Yg@TADtF%S%&K+`FR7e3>2Rd)K-Vi{ zP2Y~Mf=Y_G+ZVNZKqAF^guz$)OqbA?Sb8#+g*-MX)-Qi^WV(>a^Jl10kzJFq{)^rx Rz6nQ?NhlfsapXrF**9mNAEa%8=5&s=|fCAzrHSeK?YcOw9Ymf5|`k6;= zi&z(V&G^*ZHBEMZrK*=2&a#Ndf*Pai~j;(yWwV@|`gS3)ck zJ?mi!5BJ2hU?AkCM+e>T$~+IYh&mZ%d6oM9S!Tc61sxc9OQ%D)gohZW`Y_Oh0gq|0 z#gv%m!4|Qu9v1UiAN@G3>Lar!Cd*{*#Z)3!$Kv}HrkQ=_+0d+l*Z%!d1&bLt`UZOM BPJNOWLoT~+fw!X zV@}HA3E fWyT0OR?Mg9HUC?}a_cKaAd&c@&}ELcOo}Ww@`OVo diff --git a/Classes/LinphoneUI/cs.lproj/StatusBarView.strings b/Classes/LinphoneUI/cs.lproj/StatusBarView.strings deleted file mode 100644 index d42f8aa889197caa734e27b1426eb551cbcb8d8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1074 zcmcJO%}T>i5QUFh!FLE*7TTf}U5Fch78OP5kGM^mSW{yP=?~^{eSp4#`rWjqsZFgB z8?NUDBgUr2&=Z)hnvQ%BIG8Mr}iHJFA=TZe}Yt znFG%rY>fs1%mXGf^Ch~5qYDydom%Yrpd;`YbWChCveFZ?_qS+pqo-7ZI~}1xOOI%= zszFgkjb7VXE){9R#L*O9@i)e1Qq!-zPCq*!uZ*8|_5MkTVjj!c^Gss?&Qx!ygZ?)4 zZ*>2y`I|?qR;_jG~OP&gkG~M|(Rn9P*4h ThT)KXq#1Dp<`Q{e$-*a}zRy4KShf!M9G%M35oebQ(K*`ZG|&|*T-ZfuA~caw%}bU` ze^-fObeT_zZ_Mri-~6T#-go?EI#0tQYF|Cg)aLXId7?gfG ec^T_oxL6}ygF|2E$N~0l1r3u$Q#4kyvGf58E#ztd diff --git a/Classes/LinphoneUI/cs.lproj/UICallPausedCell.strings b/Classes/LinphoneUI/cs.lproj/UICallPausedCell.strings deleted file mode 100644 index 2fea9e51560394d9ab8e0a0a39dfd0dda83bf137..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1514 zcmd6nK}*9x6okiXensf9kXjWH6c1VtCW;DD58m1mYHZV>rmgyq{S)e!)Fh-VO(P0r z$+Fp)+R)2EiR2bOPP&D z+*LPs6%v04+dJ6!n*ZYdom96t?sZ@AgzdDxHnZPBitd*hmVCR6lWe#PuS3{f7D<_0A(G!VUuku1cbYi6L_4*+#W6da7n9c+ z-T{+y%IUeD>KQW?)^D>{ntmN_4Sx{9s@ice#9=JkKD{8~k92B_N+jn%5kI4Emwbjs_7KH zukxLzH=^0#LN)h@#vP}LcR?E0{o(iPbp8~@DN)4{OwZ^HjyFOKcUfeq$6Rezz5Y2h zfxBkD`v8pH{9fYI`99btusZ`vpDw;#HJ3$Fwr=}gQir2?>J!aS7m`h|#xbCy7G7IdP|Ss1o( zu{Jt_IMuz6^Qk}%Zr)Km`09~mk8DS0p^aia0e{XSJ>-rSKAl_^NtvC$5zo4t%0EGv B=YaqK diff --git a/Classes/LinphoneUI/cs.lproj/UIChatBubbleTextCell.strings b/Classes/LinphoneUI/cs.lproj/UIChatBubbleTextCell.strings deleted file mode 100644 index 9454fe87f7c64ea1560b69e3e77ea576b3b15021..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 740 zcmcJM%MQU%6h-&AU(py!6v2d;Cq7DV1S(~++|K9j5+9gf<_3ePLQuc=nV zXH<68P84j7(JbIwaQkYh8Y$$VGO#~oSc!fv>6A@i&?{?72Z||t>qvb9>5Tv9He4bu z5f{~q(#&{v8}2Q!XH5Xl7HdOo_T+tb*I^#D6Lk|b^Y?A;0 diff --git a/Classes/LinphoneUI/cs.lproj/UIChatCell.strings b/Classes/LinphoneUI/cs.lproj/UIChatCell.strings deleted file mode 100644 index 390ec8d167839b8802cabe278dbcfb875710e3a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1558 zcmb`H%}&BV6orpl65pX=NdgLqF=$*ESO`jt2^zz$Y83NnFCFjS#R znxSRx@0oMvetx91rHmYv)RC(JkD~)tTIZ_hguN?y*wWf(*VQ$TXZ>1OT3A{d>UGXD ziZ7|BE;bW0B(}@f1F=D-Q=;$rXKWRfr&SBu4m~n-mg3v&5Ym#cG}ZE z+SGco*;8arf_q4(FBU~`HdS&q$?wp4@6VW`tn+;@=1tmb5{_#0Za8;!w*rd%0yFu< z%rw-OuZc#~G)hQ{E;_SFWp#LHS=9!=E}ZnOmW@uEu+z~EUq1Ureg8!p)t_-zr^b-w zSUo!$gKl7z)<+=|_Qz|+TvRb+;-_2G(4`)gwd%}jm%ALCw!>WyZdIH|j;;fp&(KA+ zmhn{KbORM#z=x;ju)`#3EE8wu$%wblOmTEePBUXXIQ)HXxOf&oe2jONsgl=G7!e_k z^GG^Z%x(9XA)6Z>+`iM{!1mmvdI#G&6rHE{J=V?=#6G+pg0;qk%QAn@;5;~^2yvW8 K9LL`)rt}4}^XJO| diff --git a/Classes/LinphoneUI/cs.lproj/UIChatConversationImdnTableViewCell.strings b/Classes/LinphoneUI/cs.lproj/UIChatConversationImdnTableViewCell.strings deleted file mode 100644 index 7b9d17108fd4a0270978dc1396846c68cdb5e800..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 708 zcmb7?$qK?S6h-g4Um;xzbruD2;{=M}M%}AbtV2~C&`QS7OW;H+nhw| zney7n(N->VQ!N$48%bPP#3n^5u4>1bOm!_X{KGQB-vpNdvxj33N{?EXH|ofF9Xg-0 z;7&mA6Rm&p&S4xvTH+NP)s)fcgV&@;J*)h3_Wl-YU2(L**E06G#OLu@?caC#>~Wu* mE}kyrcNkff>3Ko9kmXyqO>D2fDC)LJVd{1Rx}Z;{`j#G$US_}m diff --git a/Classes/LinphoneUI/cs.lproj/UIChatConversationInfoTableViewCell.strings b/Classes/LinphoneUI/cs.lproj/UIChatConversationInfoTableViewCell.strings deleted file mode 100644 index a4c11bafea164f834d6a1b45f0b1e74e82e06c2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 644 zcmaixyKcfj5JeBIe}TqwiDc-YKokKQNQ6Ozf^=X&m?StdP6R&>+yGu4+QhOvTJ7GM zxo76Ecc@UprNsvmHu_u|`aMQ;c+uUIx!yeLx=nT7DrTA|W_%K{zPtxgucQg3>CiU1 zHe-hP{P3(;BQO<9>hCDqrYM_!o~d--(NXSy{+oQOMoMfPPUJ0=!(Y-!ZX-E~q}biC zW^_%_hrH*ob?IvgK1&9QfjU($85x^RQ9jkqb8_W=fNeI99CAA4e1c`5{=#dE{jnVF=#1}BhZ@f#+SJxyZ}aGUsgl;>md~{` z$oki)k6_{)y!+bb+t)5kXAI}4Z65y_wM*wsMX$$bU0iqaP7&rbbFd7Z0aZ5|Zl50)Mt&#WjF^u}%Rx4=vsflSI zbMH*&oH;%7{^qHprhFaAXs9WVuLFJ!U8|=xFkpL&xG;Tgi# zX%NFaW->S5OlNQm$e0qT&uL6{N!^B{RO#9^Odx%>S)!^z_3aRTXs|GJu(Lx#L%`e8mqT?sOY&@uksA Jel8sC=>ryIs{{Z5 diff --git a/Classes/LinphoneUI/de.lproj/TabBarView.strings b/Classes/LinphoneUI/de.lproj/TabBarView.strings deleted file mode 100644 index a4002c3a8f670c6efc6f37e1dcf1270d526856ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3732 zcmd5<+fKqj5IxU)1@Q?@>J34O@j)T+u8B9|W2r^K3I>YG|N0&3+3iJJR_Q=c(?H1X zbY{<-IWx=qTMkQDKps_iu+is}#}+?xxWqnoFo4geiw;*dxo*SZ<7&$m8ffvo7A=N2 z;$DM0UhJWYJFfZRo2T4ubKl|0K5DU5DcoP+Npk#M!eXWU5)5$##2!P?!RMjJ%w#ujIEAW z^5)@IM|%xxX14gMx~hF$J3e{*8RJF@SVU zbLpW#r1N927O|E>t5&3{4C?ifaaC7Qnk=xA=6RNFshFlELTd6F|V-5kr_36Ge+E-b84dloy|fKQ;@Xu6p!q{{l6Zkc74UvS2s6L}lU z{2tz_YA{(yv++MQY(kb)g2`f0&k5Dn zCc1;%3usdA`m)-ST&fyiZS)*nx vD%j;jOrsmMka9Z7eQ>%gNdB*=+jyJkJ>JqR-q?1Tjbsi?7SbG;{?mK_H~uw$ diff --git a/Classes/LinphoneUI/de.lproj/UICallCell.strings b/Classes/LinphoneUI/de.lproj/UICallCell.strings deleted file mode 100644 index 3329cc3f66db71787f129646ec8e8d3d0ea4ab1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9846 zcmds7O;Zy=5bZO+BE?Cq3X%_yV0i!%F@l1m(860F5u*?gLO}nl7k`6C_4Q6VlbxO2 z+1X73Wu=x1lTCNO={Ik>XY=>Z0zIWCRG=+7qc&aRRiGER7U__hw2QH0>f*CSdXCXH zo#53C?(5-`9zN;OfWA-MDc|3s3+m%D{>}j3?c?1!zN;+l;oD#EAAi=Q`q*oUo{jE! zg2)!|o=28ad0re_*%|x(3j33u7hux|@c=R21@Ws{Sw=j|RK``oRmHWE5s_HdQODVK z#oWZaw&@g+zDG8?bUTX3FI#Qo@(eS04YX}s?o6#kGPUNNsSRZ3if-uB*zXPAF-Kge z^Ki2ck5>W8UceL=CuQ0g)O>f ze>$8CD@2=yK~CDEIVw;bsxq0VcqE@nnBHA8u!(FA@L~-9>ezs)Tmo&MI*trh$XsVU z;)}I`IlTq@Sgo0ZD(2Z@+z%Lk?NpL#MDuyX7h%}jY>^!R(>XFfOo7d0YBd8>8_3rH z8mThZO_{ws3b_Gxcfghl>RNzL%OGd`&|^c=5Xj-&CJHhp9CsUCFB3gFEp>WB-h{SLTuJkq#Z zaH)eRKRfW%P*Ev06?{CBokK->g;-AD_biC0JC5iWDkyrGrQVPk7k-t2c84}mU8?#e ze)o#QC>AxxOq;$r6pIq$p(8gg_SI1Rn%OB?*_US4mAAZ@>d5ac6fuc&Zd{cJu1X9p z*5I2!kNI5^tFqzqS$ACTvu?0T=UsPFN$PdyuiZMH`K>$d$ChxVUww9@vR3r!vs?D% zt4}^Bb(HHS?vB%RD7A4HsuM|JmE zyKKpW>?nQs;?o^wn)0R24qRPL9D1>@S=mSQ%tGZwBVvXQrov5EPTjkQ*`d{f4lRns zouT>e89o}rYH05MYRs3jdY72K&S=}oI+KJZnzyi3U#$^)vS!T6Jib!oD9w6bjoo*} zuV*BEf5?%q8g-T$%g!LyVcnbN&CFy^mz)uk)CVPqVAx z)6^xhS|*v6uf}Ecrc$f1?EITwoon`j$^4AN8Re&G*O#L{xzsgV0jt*Cx4AXkJYC~_ z`kw^rxHzBbJG^OB#vHLv|Dq78nUQK=P)Dw~Q1OaCt)f0z z$yP&⪻bCDr9`odWpwuTKmu{Ll^q=eGVfoM|OQ4%cHvP`Fc3LPSOkr>on76-|w{0 zQT>3*aSr)e0(VxA=q2q_iyq^tVzTP4;=VWNGWU?zB094pD0z4l+wQP&ej6R!Z~7TT z!cVVNG+fOMMp5|cl+Ru?y}DuxefLMq#VM4$h~eOiAX64Re?$wmWP*2}h9y*ZuI~0MB?^V8jt^<8Oz)Vcmphz;?&~ z&I=pnG_xYy)JmD37h+TRu9cBbKlztVe0tVJ?tB!oPjBfpGG4`RsEWZ87jyr!-C<+? zq(br&=Sw^T=HCpkTJ|$)q={Lcx5b^v4$&R%0>=k>hrdJo#>ng-ZFktvC{GLY54NGG Av;Y7A diff --git a/Classes/LinphoneUI/de.lproj/UICallConferenceCell.strings b/Classes/LinphoneUI/de.lproj/UICallConferenceCell.strings deleted file mode 100644 index 16e672aa2160fa44602646791c9cab8534da6839..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1510 zcmd6nTTjA35QWcke+A)@1Vo8V)c8VqDM}zwA@Qx6iuF0CMF>^=Ixc(#YuglpZGF1U!7%ES1rv{=kJjHS}r&i5jBuHyxTk)e?nGWX1Q2m zdnVI5GKU;x7)hvMme#jmt;@-eoLHfz$=<5Xv#u)Y!N82HJ-wrju}@(;07;zkSGKPG zE8W!?_3OIT3A+#G&X&?PkN=}|Q%#-n9I+qjIK%#1U)yTg>}#7xBURG$*Gg$y-XeAV zv=_#7#gKUo^_ijFMdd&r^p~0MX+iA+Cf!5hxvtnFIBR7Q`Apk9c2jyAT@gcV<|bj8 lJFEO%H-H5*cSW~btiB%Lz}1MojlZ|Wgw3NY6Psup{Q%PP<7)r_ diff --git a/Classes/LinphoneUI/de.lproj/UICallPausedCell.strings b/Classes/LinphoneUI/de.lproj/UICallPausedCell.strings deleted file mode 100644 index 1230f3af0f9726b50770acd44f563a9b189ec9b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1510 zcmd6nPfx-?6vXG;PtkBBDWb-hXuOCA3!)|l4&HzetkM#({Lv4u{#a;h$;MiYiP?11 z?#}L;H*a1)-W~0!Dpw7S)zb^Z)frDk9r-%fOfh4kh?P^;dm1o?1{tWYfO7$eS6#8! zXJ?$=aLdXJw&-I#&xtR>>S>0h}w_1RMIGUHV*fG zm$|Qy`$w?t!e*$&4*55XZn5DR8|~)2ufC@Rid>_76D=01Gj}vk<0p#P5M>oB~ja^8&~^NVATA^+ zw6nuzNzU&6=Rf~ByT5-G`A)8wSCY0o(U19eKcBG=z5-*D zML83iy?B=@yZ2aK?LVNO`BY&2d>jPuF_sa#`_j?g`>Yo6W=R!4ENQ^VjI&*PZQg&` z&l-_)KwwFezO8ZW+Rt@KP>pPj zCF}W+te{c0Mm{FLuR9UCRH_D%9g`0wxg-;uM0`yaWgRC~pBB}jM!cT*4Yi_!x!M&| zX|-TGJ!ikycvK1xFGI9n!e5W9UyY>6BCnSJ&%NeC>*X>uwUE#0M07wd&Z2pxqey#VCRIBo92LmAt+d|N zTA$=SI!Agf5Ns{MY!Q2Bk2F*-LukUv;QXkhYhr z;gj*n_@G`?R_5Amc!%VYo)|tMr-0sinp?RkcyQ3$ZPCIhtk1DJi%5Tg{S0)9w zFSu2i{ne5C8}GpTSzYx}JO<^1=_WTD{hRWfL8-3FVTvS025Wqm}pG%Ll1kFtH2QOaXAQC_3J0wVXD zK5l7!j*XrHF@|(NK)m9LvKTFk)^X>|6cUHZzM7*)<7@G3K)oW|8fKMo;$Jb_`ZE<< ztSnrn9f<3F&cysGoSIG&ys;C_ajLO+QyBPPCK_mDD*bfMdbq+9YR1Ji?C`Yf1zn3G zHcZ!Y9%h(rt!3)9ji1F~mxiU6tX>(XwzykvoM--ycrAM9-*hSdi_G~N8@=VW6)x60-PU>5`7Y7y^4(s-!H7y9 Z5WR;1zg?Ws1u1Lxwk?V%QvGX12cOY_@74eS diff --git a/Classes/LinphoneUI/de.lproj/UIChatConversationImdnTableViewCell.strings b/Classes/LinphoneUI/de.lproj/UIChatConversationImdnTableViewCell.strings deleted file mode 100644 index c2f9a76ab1b8ce08feb90692170cb08496911c9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 716 zcmb7?OKZYF6ot<^ze2JU;#(|;8?~jraAUi-8Zm86tuOS?tKVo6MMgx133q1B+&SO9 zIqV%}l~zg({c5NsBc&SC)rVT@viBvQGgno1SHxSsv8Js*O%<|k68Vv;&z)~pBa|&p zV)aBt{mau_W4^C?Q#rbk#)U&{Q)H4?-6T^FUt3l^t#NEzEi_{>&1-dA-p2k_r*Uy`I~s&i_)}bDP4}^LJ{zhRU}(aC8LqNN7m_ diff --git a/Classes/LinphoneUI/de.lproj/UIChatConversationInfoTableViewCell.strings b/Classes/LinphoneUI/de.lproj/UIChatConversationInfoTableViewCell.strings deleted file mode 100644 index 86c2316ff553f5c5fe34cb1bb11d65498d8643c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 660 zcmaiyyH3ME5JgYzudrN3a?(M8C80^{S(d^a_HF=H{K=ec)D=EbgeaeT=PK5lv<(UK5ZL*NDWBthJCPg>YOG2if6(eK+^WW#m91CW_VXn7Aho7XSZcCk%Dqg;^ z)^vU83+`IjMjYFPlqn~!nU%IS5j9(rqPxo7=H!d}Qj&_-;HQneZE_=fGSzEr=V$g~ sJ>S3PS6TZ^x{0$(Ig&K{#n_~1n%`LNrB%oB%vbZRd_lQR)^8}{1DR=J9RL6T diff --git a/Classes/LinphoneUI/de.lproj/UIChatCreateCell.strings b/Classes/LinphoneUI/de.lproj/UIChatCreateCell.strings deleted file mode 100644 index 25adeb24d61f32910c5c01abe417d1d5ad23a7fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 754 zcmbu7O>crg5Qg6~zk+ZyktW_u)5Nqrh=q8m-ciwFL>k18_Q%^kAYfv)a%c$4FgrW@ zJ~Q)kw)CKmY`tisP&*!5PrQyM^5o;2DPqsjBi^2Wztq)Geby=Vs5;R>pM`CTa2q{NlPN**iCYuxVJY-x z*dbcBE$S@p`A;oIRV{3|idtMM_80LGT{*0tzFFVZqXL%`HL)qeL>!dFwgLljk+F@- zE9w1om!lT0?3hC!v%FX9;}&j2*X*8`l&G zS+UQ|oa=usli$AvcHj2R*~k_a+mgrGbAEgF!6tTWYg_T;ma+4U{n%zaiRVo1#8Tu^ zI4+KFyueQ%@X zt>-_p0uN_)h7E^zKk;3wq>O2R{#_W+;R(TF~8I_e2`=^e$5ACoKw|4qg_841DoBgBA&{Fs+SlHBe z@q&C-{ol0V;HWBQcW!TrvE5!>+s9Z~fS~i;SulGt-vI@?LiV;DJB3pn`uBA`!h_Jk z*DHK?+>f?$tDU~Nt!!s_pgC1fFIn%(a(nF69I0|U^$1^r^aWJTcZRi$?=Br?B zUs;F#7V;}jVltr_s>z?=ndZLZEe$z)>i*R0iAz4+9-*q_!#O%tb1^?jYI4lkm!5m9 zmE)z?9DK;2b-QR<7p2ClmP18d*AsPg;7wVoFskcujP1nVPZ^YMt*rD?`;Hq+*%9@^ ze^c+L{1uK#DdFr3m0Z{luvRoePp8h_Lxr2DxFRVYp&cVt-&8_Jm=s_n>q18Pl1`x} zbhf<^KC;kmD)x?vus zQ5_=wC(mBWuuld0H9SY~zlY(P8nobejg?ih;92ES&(qhtMt|byquCS`QJ#Op`W00Q zy?bbo>1%t5p0RhVCR*@?Wd|HnG=P~8#}O=B+>g-wkZF}i8w44S9}S0On~~pe%&A<= zY<*~0V(qa)FwJvBb=ubP?xfnddV}vaWxoBjvrF?@etQY70&-i|8*;-GF^cTcHEUDa{sx5dGEx3<~a9F!4kE+^@Ql$b=*vjxF{H>Z+$rJ1V#MwJ9JO-Rv lf4XT^6V6vTw+6rwAE4=+;G?6ro~q(!G{|5!-@Rs4uU6R$Du&Tms2G_x#-4Z$@K9 zvYP3rOlQh!%5mB#(Td(q9?WS%H&ageb}oPfkf2)E!DPo@fSj1DRl+M^y)@SF4!m-Z zMDyM+e&Z2|4EI>0ul!uEuvLZQ(9NLq%YHSv8gg|zEK%H}XvtaqwLz!&Ntv=$gJP;n P`#YY@1-+7b{*ciFbt65z diff --git a/Classes/LinphoneUI/de.lproj/UIContactDetailsCell.strings b/Classes/LinphoneUI/de.lproj/UIContactDetailsCell.strings deleted file mode 100644 index b2960f6e88d3e2bf5dd3bb0c1bddbdb2335de084..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1514 zcmd6nTTjA35QWcke+A)@q}3RGGA0UmAsUIsOXRIUk&@CHs0RPM`gIG%CYuyujAlc# z?99&2Idf({KOF6-p_*EX4;xl_v)yrSEZ~(F(-$d`x>wU;~A>2kb5B>@4CX) z#}XA0S{iefE^l_RPOuL+>8M?Jow2`@s|!8x?dnFo<&6fpIqYp7-bR_!i&wtq;t=(( zQQyME5WLqq=iAmLOy>-*P}@BIGism8M-{d1p@9eR?onfx{XV)Wqqcc$i~0n$&fs%o zVpmmrt=l}4l*%m7=&BDUsDDgEk9sB8j?sRo7yf6;kJ*h)e*~N)y!%|i!3duw=mT!L zbj>4C${g4{JTl7jT5Ebr4=i|f3f8%?&)ECq6mOVi6*oWY{|#L diff --git a/Classes/LinphoneUI/de.lproj/UIContactDetailsFooter.strings b/Classes/LinphoneUI/de.lproj/UIContactDetailsFooter.strings deleted file mode 100644 index 9dc62be3dda778a6d8821edfe20a3e00149b48ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 454 zcmbV|%?g4*6ot>)rx2GeYUL{0^s|tHAnE~B3@lTyDd^>^&&j41E-Eg=+~0H0x%Zo= zp+fnZs#KyA=4;Fgv{kH$&N5i7ip+?7q72JzXQ5ODa|In&EvcncN{6r}Ix>6Ve@?IH z*b`+;#G1LzsH=yt@$e%JzSdFN=-60gC1|gkd@5>h a*51WfrsfZY{kz_p77qWw7T>Ds)A#^gYe(_` diff --git a/Classes/LinphoneUI/de.lproj/UIContactDetailsHeader.strings b/Classes/LinphoneUI/de.lproj/UIContactDetailsHeader.strings deleted file mode 100644 index 8ec7e8bdb46df88c50f182ca9fd7b815dd2bb323..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 660 zcmbtRy9&ZE6g_jkqGar#*r^~c)}<&o`2kTn#7Bi1MSosBNo=SEsairHxhLmwb02qs zA!0azPEdGBcSM<=!7r?g(P iE9VqvrZTS2{&P{d@Q3Z3s*a8lB(3S#O27HE-36XB|7GL= diff --git a/Classes/LinphoneUI/de.lproj/UIHistoryCell.strings b/Classes/LinphoneUI/de.lproj/UIHistoryCell.strings deleted file mode 100644 index 262639846f22168f36b99fa575a93b383ca2c7dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 478 zcmcJLO$&lx5QOLa{tEFZ^g-9?loVFdsqQ9HN-C6r_2a82OY_j74zVb@GqXFhx2sW4 zjx3F}SD+(hX~bh|B~J@_8%1EYhI9jkR8;X|kQgLZp>vB_>n9)wn1wQQDXQm;CAx&a z5X6()?7L{HfjXLN%exQ9eJLC~8ooaLyD1>Q@%*EwfQ+%eI@ dZ~nKG_11S1pX4Q5eVwW+N90QBWz^%+Mt5;gNLT;> diff --git a/Classes/LinphoneUI/de.lproj/UIMainBar.strings b/Classes/LinphoneUI/de.lproj/UIMainBar.strings deleted file mode 100644 index 1396b82fdfb9e65fcaba72130828b4993571615b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2756 zcmcIm%TB^T6g_Lcg0KP>xGt*A1&0x6}GilPy zOwYaNp8M$MM+t|hql_+m46)=Yl|%b8Esl(Z5|lCK?KFqBPXGzMDqbp4foAD-Po7QgcRS%7RZBwm+#V&!W7MM#aQe MqLiJRL9!|J1*lS>WB>pF diff --git a/Classes/LinphoneUI/de.lproj/UIMainBar~ipad.strings b/Classes/LinphoneUI/de.lproj/UIMainBar~ipad.strings deleted file mode 100644 index f5c0b2c6133e3aaaee49bb5d0fd29ba96e29ca55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3844 zcmcha-A=+l5QWb*PeHswFHo!oiSa_gMC0Fuf7b;Os)zObXHt!5(5n8Mim5JAF-N^utVLWNE7>wAIzx;(7FnhNL&blOb_sSP2nJIUZZ5!5udu5|6B} zTC>iMsA^0OqVqkR?JOEQ2^u?U8aHNzNw>V>{+FxFJ$IJLvU=RnBQixO(C}#*|CpGL zo{-ekNwNqv5`-FRLMO9)k6abqKVh`IraVf;sL*h_)VGW zn{==290T^0MSqJD<=tITA?SevX*@k9T~^0aCBNt9^K?jNW3>jwKN;BUXkS`S*mQL zh?$M0tx3~gKj}PCjm(m7*85_Nwo;6?)Qqmf4wF-Wtdt=?Wto4gZmp zTifqRrO&SJzO}1K=M7%U{bZ!d*>s(@qII^MH)u8Kb}29A0Wy-WshFM0J#&_h=1k;a zGtnn9lCPtPbJ2Vi@iTGuY1@OBs^43n{&;k)kJ&!6^KJcbUX{tSvei1{^r0}8r0w*UYD diff --git a/Classes/LinphoneUI/de.lproj/UIStateBar.strings b/Classes/LinphoneUI/de.lproj/UIStateBar.strings deleted file mode 100644 index 8be33cdc4bd33ea7334b3a4729303abe1a6dc399..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1866 zcmd5+T~ES55S-`!3c@3a7%-F&;{#M9Bz%P;(MM4kw&>T%g5qOY00%j4ldBb$*TseJ-bm zXSC^?(Bp364EQ#qcSZk_UXS~G+|e%MUhM8iZQTW^oJA)%BCtHSpkqa}F3-e#)LTdTM>IE9IP{)9?g9cZfudk{c z$1I4qtzps}q zswaJ-(5%yUZVA;$2C6$}z~+A)+^DXVRZz%Hm91|BZT&>6#>g-PaZIHvU(`9EAT3&4bcsTq j1BI%IA(3@cY4i7(E{LH)jy0HEuXrb2hM2~k$inm;;kOpX diff --git a/Classes/LinphoneUI/en.lproj/UIChatReplyBubbleView.strings b/Classes/LinphoneUI/en.lproj/UIChatReplyBubbleView.strings deleted file mode 100644 index cfa28ba85..000000000 --- a/Classes/LinphoneUI/en.lproj/UIChatReplyBubbleView.strings +++ /dev/null @@ -1,9 +0,0 @@ - -/* Class = "UILabel"; text = "Original message removed"; ObjectID = "B26-sw-o4w"; */ -"B26-sw-o4w.text" = "Original message does not exist anymore."; - -/* Class = "UILabel"; text = "Label"; ObjectID = "Czc-VH-qiH"; */ -"Czc-VH-qiH.text" = "Label"; - -/* Class = "UILabel"; text = "Label"; ObjectID = "uuW-tW-1Sj"; */ -"uuW-tW-1Sj.text" = "Label"; diff --git a/Classes/LinphoneUI/es.lproj/StatusBarView.strings b/Classes/LinphoneUI/es.lproj/StatusBarView.strings deleted file mode 100644 index 49754b1a62004c53e732b9e10067f67f7e2e9647..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1068 zcmcJPO;5r=6h-g4zhc6Y1dL*IVcdW$Fd7Yhge}mDB|}L{HS)XNxlqrPS}G|*7p7@5 zGw=1iJEwR0_37zAbs2SJHPnL3=$yNz2ldp}ixRH6B38~=j~K_Ak!y9YkeF4FzjLS~ zwRD{2-e{yL(J@&)UF2CUU239+y7XvJX-cJ4^*U-i#$_4JExl`b-C}o-I@NYIMCTZ_ zjzNg>ke#{xEp>&)5fPhr>NA@VT@a6nCX5{;ldiaVu!F(1o>K<5I)Oo7Pq6sSpe&a_m$L6J|8cJ%*=N4btQfua)kr5p*zx%!UxA^&rB z?(oBk_6*t)r^w)-&9k)ad@OOsDXxh1#&e)Yy>57;ETgJ7+K@=}p1QWE^#iT$U*J6K Ih}n$SH#%gepa1{> diff --git a/Classes/LinphoneUI/es.lproj/TabBarView.strings b/Classes/LinphoneUI/es.lproj/TabBarView.strings deleted file mode 100644 index 555cc1b0c49b4add6e63e2d809e09e37e1e15e10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3710 zcmd5<*-pYh6g|&;MZ=StfC?@c%Ei(*;_`v{w+#q)jt( zd+(fk?lSZ7p2I3uV4(^RHijG)_W0y+g*px}#)zYj9%ptrZ==QGXh|2haQUB0i8nO3 zcFPqn(on?%=SIPwr(ErDy~UY2YLV1tu)e~b6IX5&Ttk zJdbEm#o{o9!Ab&QMT{_RuOC=Ui_u9w$uqC1BXmgq+RPH=TaROjmX}k|ma&n*t7fDb z*`PHWUCpT-*tPJaXPnBQWN9MbcsgQ zTpRcN%EnJJ9?OtNWRuo<+ODd|zFiAv{2q`S#m`TpH1w*3A2Xs*lboN~x>oku*Py@p zD4;}-71-;>9Dc5bz04#b&85Gnk6HTmCHwgWad)uB_ZyzSR1TAb6urE+&#!LEv$KV3 z9Mc6ynwM3^L`KKW1CYr+%H0h2_L72L1m^6Z`;zmmS_@H|{1r!Oe;-NQ|E zG759uBq3$?KlM!$o;b56iCLJPt!~FpS!t&_byrv?lQm{(fjR5oB$25m2`QiPJ!S2w lv-x5AzL0i1d0?ID5Wj~zzV~rRf5bU9Nl3jgy`$+H%qMKdFRlOp diff --git a/Classes/LinphoneUI/es.lproj/UICallConferenceCell.strings b/Classes/LinphoneUI/es.lproj/UICallConferenceCell.strings deleted file mode 100644 index 729c7f8c09fbbf8216a116f519f765f48aaa0dec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1536 zcmd6nTT8=05QWckenrS*p|x5JsQ6&hmlUxDZ{SX*dy5*A`81qm6F zotd38=j`nFm!&b%goO@|4--Sl2oUG-bbq zb{owDeXwUX@6(#z$4tJ5;tO43BRK0-bT>sb)%|P@&o(pO*Nm>x{5C5TYQoYOK4#pP eb+aF9q$k*Lb&Ks2?^QT4MKtB4L=)tDTlxV6Y35o0 diff --git a/Classes/LinphoneUI/es.lproj/UICallPausedCell.strings b/Classes/LinphoneUI/es.lproj/UICallPausedCell.strings deleted file mode 100644 index 33049fc4158c46161aba319691233beeda7c5a50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1536 zcmd6nPfNo<5XIj)pCa^FNUe$piU+L+Q>6;h9=xSB)JS8nrmgzn)nC&5A+nkVRAkvD zyZbWp=FQB$zggN+Tef51sqV$Z#n9bxiY*B5`E>zH>TAj{{x0uB`$=nJ|V1 diff --git a/Classes/LinphoneUI/es.lproj/UIChatBubblePhotoCell.strings b/Classes/LinphoneUI/es.lproj/UIChatBubblePhotoCell.strings deleted file mode 100644 index e41dd9fdb5971c4ddfba5377ed901824e551ce8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3228 zcmchZUvttx6vgi|pCZ%8&VWTnJJshmDums{Zf3!F| z*(960*?Z4D_w4@qS&>I_ERHn9m$BT^9C^ugBp;+LuVg6^Z6N_8FBl(-N1JNPnOw?@ zc{41&OP6n#eDSw`XfP6JYkxDlkHr^kJZ7||xwU*I6XsQ=CqL*z-d39#$M{#_*=A8I zqiNj~KCsj@iEcZj^}!t_%+n zWnXTH*>K{%2-|Y5vl{4rO~zXrOiWg77B&8BLpX`hg+(FA7t3J6%fDf;Vt%A~7LntC zr#X>lXSPE%4B_!m-qA1RPF|EFGOvy-jE;N~^v~I;cB*Tt; zh7C&prl6nAh^`FKy(+7Z=uepWCdCMwMOj9)G*?6Xxx%y9KVSPi;az!{htt35z2d|j zKKR_nxtR3i6i!v~wM#!l;iD8LHjA>DsI1+x-zdFTs1(zTKXI^YlBtoV^yLEG?{ask zjchj9;)-V&U9?%`>tYjqeb3&bRR3J}MRJ~3|LO1dsr`j~Wqq}K59mL^@_6rYIA6qj zxXq$Q)?>X%s=dY7OunIwYj^!Q6lVvp z)g@1diPv5)Nsc?5FN1LD(s>=O8p$zb3@fHQT>{3c`>f#jBK9BTb3_&fsPwx|viiMo?B!fSm`T-v34iirMJKKwYOXE$ z1)Y6$GXz^xFe}8?+`c+$BnV|#8N8oWSQ&mPn^ereU{;Yz2NrYq?Gp4EOc(rzZn$Jz zGA^hW<&~*+8{T_zVNU>`Jui>mV&y};?4kLfI=7=5PRAXo@@ExRgz}16?#cje9{l6o rEMXPy`9EJjLVeet$Nkq)@vSd4ng7H54KA4M+5eaiDT7?=D-MS4^Hyyv diff --git a/Classes/LinphoneUI/es.lproj/UIChatCell.strings b/Classes/LinphoneUI/es.lproj/UIChatCell.strings deleted file mode 100644 index eedfd842e0a0b7ba70d2f58942eae0c0a6a4cb0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1604 zcmb`HTTjA35QWb(zoOxh1QZfu(D-10L=-e8YK(6c5Ky34>g{*?u70~^L9h|3r0I4q zGjrz5neOLDMqA3sQ$+*$n(%l!;LYk%bv4+#Rfn^z_SyB-;^|nsJ|}%n`ik`S&C>Z- z6llbm@rm#qF&p9=M>@m%o|QSPt2#q1X?tpsBeM*1vr||LIXjDT3ic3$5Cl(cJ1*uE zSdv~)U2aH+-+Ad?dWBSm!@m0_?i3XnQzD)=1%HR)!+X`AIlPqPq5BY z?V^sB7$;ezy@zTj7};B>3tpVxz~VdJLa}kJs?RHC~438>7;CPEefSGJz{Ua_yAI zxXY;7JJx+hmR|Hb$KxAL@909Lj;dOn`1K*mdzMSe{(8|zTZ;Z~^aOO)#{YU3d)90F rb2{r6cqVAec|T&^sLAZ>x-C4No4U{A@89I6?nC&d{)B?u!)>$!v+ri# diff --git a/Classes/LinphoneUI/es.lproj/UIChatConversationInfoTableViewCell.strings b/Classes/LinphoneUI/es.lproj/UIChatConversationInfoTableViewCell.strings deleted file mode 100644 index 94264b3c4324e8f4ab5a863f6d2b893b6a24762e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 662 zcma)(yH3ME6hu$$udrN3a_FEy6ofPh2!lup%HV*qydnjI;B)yA;22^Pp#`IrcdgyI zcV_Oqza?zZBjtcwW<0o3_WUxYj5zY{f=k~rcD=3qe|B#$`^>o`aKC;pL|=<3#f%uX zxFP49k@Li%`wm6hu_u3GbqvvO`LedtH)Bw1#Y%;9mY%i3#Pye-0gu*H;v2;?wU#Qb zod?wil?4$m8{QkY1G!3WI=qfKQBlrcD^mb*EImh}eemIOFVrj;B6Fva@HDXKv diff --git a/Classes/LinphoneUI/es.lproj/UIChatCreateCell.strings b/Classes/LinphoneUI/es.lproj/UIChatCreateCell.strings deleted file mode 100644 index 2c2a4ba7f3a2a1865ae17106df5505f1d477f50b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 730 zcmbu7%MQU%5QhJCpQ7nfq7pk1iD02FvBBP@sGvgQ_VD=7Rw4%xX*!)VXJ*cP=kMig zDW{BVRkhGSTOL~_UPnE7Y7raCXU|cQXoP>jCOLD3nrS6hV?1AFG6U9Yq9I?OolqN1 zD+HDo|dRNWy(Gp`P#>44^U&o`lfw=KEYkX2o0X< lCwjMD)cwr6<1ZLPI#CnbhIjeGYszq$^7}+j#Z5C=x&q1&Z_oe$ diff --git a/Classes/LinphoneUI/es.lproj/UIChatCreateCollectionViewCell.strings b/Classes/LinphoneUI/es.lproj/UIChatCreateCollectionViewCell.strings deleted file mode 100644 index c4186dcaa445e34304e704e7189447b464cefafc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmezWkBdQ{L5o3w!I>e4A(5dN2o)G?fmn$ll);n12Pl@rkP4JjVz35^mH^omKoX|L ziy@yOgCP&dcLB0ep{o3Wda{7LWS~kDaN=o#!w)JNFV|}00Lr3Es=6jU(SbeuYUhfs+f|xFq3KK za^|0N>3n{8I#E@=8j3YiO7nF=ujp27g<5MxTPR`Wob`n9QjcI`4HdB$Ynq>FsID%x zTIyu@p6)aUF$URIGe?Fx)wKe!A>T8q-e)JOF!C4|A!_{Q3>yL2pk{pd+1 diff --git a/Classes/LinphoneUI/es.lproj/UIContactDetailsCell.strings b/Classes/LinphoneUI/es.lproj/UIContactDetailsCell.strings deleted file mode 100644 index 124adfeaf7f17b47eee20af9fc0a9b530e81b832..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1512 zcmd6nTT8=06oltFzoPW9kSL;0B1l`*V6iA_v2SUOCM71KQS{HNU#?3a(hC%2Y1rB;ER!3X4zPOMbq^ z*?-Ob3O(*&eW6pnL!F~{p>xH(E#m)k_i#Z}GWo6UQ~YoX>pkjiGvCKUP3~vA7~ z!_(8sRW~j!u%uMz1IJcfv7i?My1}7t346zMLa1l{XMGSe3-WI9SxIo(;}R7fi0Q-M zC)1{fCY;h#p)JAzQGv@id^2R*?E)7?-t+gtU!p^VQZp1dKmnWgV3&8IsY6@Dx^6Id iHh%@;ysnv}B5-DJUqme`f0!G##kl=`;{$`haQp$zw&=+K diff --git a/Classes/LinphoneUI/es.lproj/UIHistoryCell.strings b/Classes/LinphoneUI/es.lproj/UIHistoryCell.strings deleted file mode 100644 index 3453ea541aed687fa4febad568ca6929a6f44d37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 478 zcmcJLy$*sf9K>(#QxHZHKjLbfBpTGHiw^*VXpKsO9n^ke#{xEp>&)5fPhr>NA@VT@a6nCX5{;ldiaVu!F(1o>K<5I)Oo7Pq6sSpe&a_m$L6J|8cJ%*=N4btQfua)kr5p*zx%!UxA^&rB z?(oBk_6*t)r^w)-&9k)ad@OOsDXxh1#&e)Yy>57;ETgJ7+K@=}p1QWE^#iT$U*J6K Ih}n$SH#%gepa1{> diff --git a/Classes/LinphoneUI/es_AR.lproj/TabBarView.strings b/Classes/LinphoneUI/es_AR.lproj/TabBarView.strings deleted file mode 100644 index 555cc1b0c49b4add6e63e2d809e09e37e1e15e10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3710 zcmd5<*-pYh6g|&;MZ=StfC?@c%Ei(*;_`v{w+#q)jt( zd+(fk?lSZ7p2I3uV4(^RHijG)_W0y+g*px}#)zYj9%ptrZ==QGXh|2haQUB0i8nO3 zcFPqn(on?%=SIPwr(ErDy~UY2YLV1tu)e~b6IX5&Ttk zJdbEm#o{o9!Ab&QMT{_RuOC=Ui_u9w$uqC1BXmgq+RPH=TaROjmX}k|ma&n*t7fDb z*`PHWUCpT-*tPJaXPnBQWN9MbcsgQ zTpRcN%EnJJ9?OtNWRuo<+ODd|zFiAv{2q`S#m`TpH1w*3A2Xs*lboN~x>oku*Py@p zD4;}-71-;>9Dc5bz04#b&85Gnk6HTmCHwgWad)uB_ZyzSR1TAb6urE+&#!LEv$KV3 z9Mc6ynwM3^L`KKW1CYr+%H0h2_L72L1m^6Z`;zmmS_@H|{1r!Oe;-NQ|E zG759uBq3$?KlM!$o;b56iCLJPt!~FpS!t&_byrv?lQm{(fjR5oB$25m2`QiPJ!S2w lv-x5AzL0i1d0?ID5Wj~zzV~rRf5bU9Nl3jgy`$+H%qMKdFRlOp diff --git a/Classes/LinphoneUI/es_AR.lproj/UICallConferenceCell.strings b/Classes/LinphoneUI/es_AR.lproj/UICallConferenceCell.strings deleted file mode 100644 index 729c7f8c09fbbf8216a116f519f765f48aaa0dec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1536 zcmd6nTT8=05QWckenrS*p|x5JsQ6&hmlUxDZ{SX*dy5*A`81qm6F zotd38=j`nFm!&b%goO@|4--Sl2oUG-bbq zb{owDeXwUX@6(#z$4tJ5;tO43BRK0-bT>sb)%|P@&o(pO*Nm>x{5C5TYQoYOK4#pP eb+aF9q$k*Lb&Ks2?^QT4MKtB4L=)tDTlxV6Y35o0 diff --git a/Classes/LinphoneUI/es_AR.lproj/UICallPausedCell.strings b/Classes/LinphoneUI/es_AR.lproj/UICallPausedCell.strings deleted file mode 100644 index 33049fc4158c46161aba319691233beeda7c5a50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1536 zcmd6nPfNo<5XIj)pCa^FNUe$piU+L+Q>6;h9=xSB)JS8nrmgzn)nC&5A+nkVRAkvD zyZbWp=FQB$zggN+Tef51sqV$Z#n9bxiY*B5`E>zH>TAj{{x0uB`$=nJ|V1 diff --git a/Classes/LinphoneUI/es_AR.lproj/UIChatBubblePhotoCell.strings b/Classes/LinphoneUI/es_AR.lproj/UIChatBubblePhotoCell.strings deleted file mode 100644 index e41dd9fdb5971c4ddfba5377ed901824e551ce8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3228 zcmchZUvttx6vgi|pCZ%8&VWTnJJshmDums{Zf3!F| z*(960*?Z4D_w4@qS&>I_ERHn9m$BT^9C^ugBp;+LuVg6^Z6N_8FBl(-N1JNPnOw?@ zc{41&OP6n#eDSw`XfP6JYkxDlkHr^kJZ7||xwU*I6XsQ=CqL*z-d39#$M{#_*=A8I zqiNj~KCsj@iEcZj^}!t_%+n zWnXTH*>K{%2-|Y5vl{4rO~zXrOiWg77B&8BLpX`hg+(FA7t3J6%fDf;Vt%A~7LntC zr#X>lXSPE%4B_!m-qA1RPF|EFGOvy-jE;N~^v~I;cB*Tt; zh7C&prl6nAh^`FKy(+7Z=uepWCdCMwMOj9)G*?6Xxx%y9KVSPi;az!{htt35z2d|j zKKR_nxtR3i6i!v~wM#!l;iD8LHjA>DsI1+x-zdFTs1(zTKXI^YlBtoV^yLEG?{ask zjchj9;)-V&U9?%`>tYjqeb3&bRR3J}MRJ~3|LO1dsr`j~Wqq}K59mL^@_6rYIA6qj zxXq$Q)?>X%s=dY7OunIwYj^!Q6lVvp z)g@1diPv5)Nsc?5FN1LD(s>=O8p$zb3@fHQT>{3c`>f#jBK9BTb3_&fsPwx|viiMo?B!fSm`T-v34iirMJKKwYOXE$ z1)Y6$GXz^xFe}8?+`c+$BnV|#8N8oWSQ&mPn^ereU{;Yz2NrYq?Gp4EOc(rzZn$Jz zGA^hW<&~*+8{T_zVNU>`Jui>mV&y};?4kLfI=7=5PRAXo@@ExRgz}16?#cje9{l6o rEMXPy`9EJjLVeet$Nkq)@vSd4ng7H54KA4M+5eaiDT7?=D-MS4^Hyyv diff --git a/Classes/LinphoneUI/es_AR.lproj/UIChatCell.strings b/Classes/LinphoneUI/es_AR.lproj/UIChatCell.strings deleted file mode 100644 index eedfd842e0a0b7ba70d2f58942eae0c0a6a4cb0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1604 zcmb`HTTjA35QWb(zoOxh1QZfu(D-10L=-e8YK(6c5Ky34>g{*?u70~^L9h|3r0I4q zGjrz5neOLDMqA3sQ$+*$n(%l!;LYk%bv4+#Rfn^z_SyB-;^|nsJ|}%n`ik`S&C>Z- z6llbm@rm#qF&p9=M>@m%o|QSPt2#q1X?tpsBeM*1vr||LIXjDT3ic3$5Cl(cJ1*uE zSdv~)U2aH+-+Ad?dWBSm!@m0_?i3XnQzD)=1%HR)!+X`AIlPqPq5BY z?V^sB7$;ezy@zTj7};B>3tpVxz~VdJLa}s#oAzwxZ{C}$L)I|`d&;aX2>Am z2HbE-&NC<09z~egkw39JhUf;qEKK^znArQD{ytC6s96SuW3`nk+&HaNTdAZH@w(%+ zao5*<$-Kqeh;z4)GvmTq$h5!hXuQP`-LKhgN_KtMtawxPCW$uRZMluy$V{cFdtbVZ d?{xo4Zzc1U-lis(bEePYm%|t$mR^iE;S&UoUgQ7( diff --git a/Classes/LinphoneUI/es_AR.lproj/UIChatCreateCell.strings b/Classes/LinphoneUI/es_AR.lproj/UIChatCreateCell.strings deleted file mode 100644 index 2c2a4ba7f3a2a1865ae17106df5505f1d477f50b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 730 zcmbu7%MQU%5QhJCpQ7nfq7pk1iD02FvBBP@sGvgQ_VD=7Rw4%xX*!)VXJ*cP=kMig zDW{BVRkhGSTOL~_UPnE7Y7raCXU|cQXoP>jCOLD3nrS6hV?1AFG6U9Yq9I?OolqN1 zD+HDo|dRNWy(Gp`P#>44^U&o`lfw=KEYkX2o0X< lCwjMD)cwr6<1ZLPI#CnbhIjeGYszq$^7}+j#Z5C=x&q1&Z_oe$ diff --git a/Classes/LinphoneUI/es_AR.lproj/UIChatCreateCollectionViewCell.strings b/Classes/LinphoneUI/es_AR.lproj/UIChatCreateCollectionViewCell.strings deleted file mode 100644 index c4186dcaa445e34304e704e7189447b464cefafc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmezWkBdQ{L5o3w!I>e4A(5dN2o)G?fmn$ll);n12Pl@rkP4JjVz35^mH^omKoX|L ziy@yOgCP&dcLB0ep{o3Wda{7LWS~kDaN=o#!w)JNFV|}00Lr3Es=6jU(SbeuYUhfs+f|xFq3KK za^|0N>3n{8I#E@=8j3YiO7nF=ujp27g<5MxTPR`Wob`n9QjcI`4HdB$Ynq>FsID%x zTIyu@p6)aUF$URIGe?Fx)wKe!A>T8q-e)JOF!C4|A!_{Q3>yL2pk{pd+1 diff --git a/Classes/LinphoneUI/es_AR.lproj/UIContactDetailsCell.strings b/Classes/LinphoneUI/es_AR.lproj/UIContactDetailsCell.strings deleted file mode 100644 index 124adfeaf7f17b47eee20af9fc0a9b530e81b832..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1512 zcmd6nTT8=06oltFzoPW9kSL;0B1l`*V6iA_v2SUOCM71KQS{HNU#?3a(hC%2Y1rB;ER!3X4zPOMbq^ z*?-Ob3O(*&eW6pnL!F~{p>xH(E#m)k_i#Z}GWo6UQ~YoX>pkjiGvCKUP3~vA7~ z!_(8sRW~j!u%uMz1IJcfv7i?My1}7t346zMLa1l{XMGSe3-WI9SxIo(;}R7fi0Q-M zC)1{fCY;h#p)JAzQGv@id^2R*?E)7?-t+gtU!p^VQZp1dKmnWgV3&8IsY6@Dx^6Id iHh%@;ysnv}B5-DJUqme`f0!G##kl=`;{$`haQp$zw&=+K diff --git a/Classes/LinphoneUI/es_AR.lproj/UIHistoryCell.strings b/Classes/LinphoneUI/es_AR.lproj/UIHistoryCell.strings deleted file mode 100644 index 3453ea541aed687fa4febad568ca6929a6f44d37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 478 zcmcJLy$*sf9K>(#QxHZHKjLbfBpTGHiw^*VXpKsO9n^Bu6tO0z zX)|wTI&kwY+YzyF;C7lMTQ* z1g+s91bN70X1s3aiVAXz@c|)G3~1sd#z(*^AQy##^2z>$db*`R>k>Lt#B6Aq z-RbU}nK@^cug?hf5Jwb6bWp>PBZ_1GVz@;aCm6xv=%dG(BhJ^*;4qbC3w5;kU5geI zRJc~>N@uo15lzln(=RW%+U9zLGi8)!R_W<_oSsDZo<<_jDY4lO)u}%%&EFDPjpY) zEViPmWJ}eTHH~Hz%QBbq;mfUo&t{JIyj2M2Jd!i6s_JscXg-h~4VA|Zc8GL$MJ`h~ z^r5w9q)ePws&i%(UHZ_&D|O^!!4GK+EFyYm99?b7Bflmdcc-~}xO+)`k|?1!FI}Rs zmDbU#VA=84VhZwV^y=jHGo;6~eulzztKhmorM&;w^D<3z2DPKIX@e?!#U&8XWuk%#n?RiDne%wE-KsR zuMUxy1v-laRov0?Z7Q&&Gn%{!Cz;hZr1@)}OJ zWp_H0UH5=_ERm%KIcws=$5fq#G@Ck~R^2bcMM3h9q)C-(6MYAdd=_xZXm~TMvyjGM O(W92S0h;QR2)+S?sV@Ei diff --git a/Classes/LinphoneUI/fr.lproj/UIChatBubblePhotoCell.strings b/Classes/LinphoneUI/fr.lproj/UIChatBubblePhotoCell.strings deleted file mode 100644 index 2959335b4d4c1f2329ed75ad0abcefb0eb252168..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3220 zcmcJR-*VDG7{$*uPm$?mXTYLkJJs<50WFmQWT+i4X~2Spw1d!6-;hV~CDdOQLLhGQ zN6Tc`gyh@ZbH4BF+5P>ipl3RiqpCdh^_|Pn8-546P(yDu*Np2%K5t(0zAu++Xd=hD z(wKf@A|BM_+ZA8D%?MTA_$Jz0_ihvMl^B;E4b?W0#~RSDsFr@vPWgAY?r{jd0?)RH zQYJJ9n^`KL@nPhFU~0xMFm^uvKDn4`!pxp}hIuern6s)XaHy(IHdgt1YR2~Yw>h>z zaKZd_b@#%tty>s}dU%XqL+?#RebX+ec72_Zu%fnz664zP8}VyXzdI^0&RD@nmH(pO zK=(7FvKck@d78jIxw7Z1g)S=Y>Lcx3_j(s&Zi~pPDeht*<7dYG< z_bHWi^aT|Jt~Vt2$x3LdgWDCEy+?aQ&$E~kY!P{tu%!AU(70e5aCgA@lYc|j=?tWy zcc*3R|GYj>#yuMGxc5^t)6xmbD(V`a3RcQ7NLRTG-N6=-H#0r*;F(;Ez%*sHeffS( zZC&EKP3{#|NwO|%+_JDw^TwW*AXu{hoPnZ?183a>(%c~a{V~_S)Hmh~cJL1EXEeXs zgB;Ent9{%SQKI@Q_leg2?u`4@ZuWDEix0Rko1v>B99`D*Zslwdd3C%0b4mxDRH#p~ zPHkMWuuaqH_Uvhu?X8uu>)@eY!riKg>r9Ds@Vi^irgNOXWUe%Z3!PHQBYiOSJS8u2 zhJQ!c^_qkrjpbA9R8`~j(P^cRR{JP5aK7X$jBu>y@GqNOoN!i)?^Cvj{Hl)dB%NFS E0KaeMhX4Qo diff --git a/Classes/LinphoneUI/fr.lproj/UIChatBubbleTextCell.strings b/Classes/LinphoneUI/fr.lproj/UIChatBubbleTextCell.strings deleted file mode 100644 index 68e6fff9afc6874561c56faa90cb312b57eeefcc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 740 zcmcJM&1%9x7)9?oPcgU@j7oLW(v8uD66!_^T_#p>#2C?(wlA-qXnu-F#6=l0Oy>K! z=YDfMIBKdcBTs7u+Ov#a`D&VKsEOwKQKENQPT$POPZ=ZI+yErZ$tmACw1vQqWco}hWCyC&3{f%dc4Qr=maVYYqS6W diff --git a/Classes/LinphoneUI/fr.lproj/UIChatCell.strings b/Classes/LinphoneUI/fr.lproj/UIChatCell.strings deleted file mode 100644 index 0caff72dcc281a4e42c9a0c4b7fc50152e545d1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1552 zcmbu9%}&BV6ot>aPtmX>0WFC!Xj~Xrh=RsMjd53@N|irr{d+_o#g|aNX(?D}QVMB0 zFf(`VJ*Vf){rk1Fqq1x@G?1%T9$QDeC0(nfHf#6t*emIfRaadeFN*Wo@!9be>g!)* za=xLlM(mk0A!kSY8*(5Z|Q zLSpJ$JVkhiApMM3#NXzWjC~l{ARlkcDapFPozA-n(jp3VKyDOw^|%HHXGIsMur8|= zw^iZ_9sJ0(@#vz-B=WNHX&-e4xWH4ux^dsOd{;F~bFy)XN2Ljs1HP=!7<+zOrghbG z?#`WV^`c7T$%^*5!S0e~SrOF;v2pjphe@qG%q^J4?zw@fr;k~^A}(xl&UBG?egis* zt%vBl4Vd?G7`sH)V0=b~3isU6$r9tNh@#!(o6LRCbiro4WP|gEnTN_D$W5QycezXU4WJ(LL^}NzcrR$kI7o(b5!BY~)w~ diff --git a/Classes/LinphoneUI/fr.lproj/UIChatConversationImdnTableViewCell.strings b/Classes/LinphoneUI/fr.lproj/UIChatConversationImdnTableViewCell.strings deleted file mode 100644 index 373495d24b423761d4a423ab8f7914903444dbe8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 722 zcmb7?TTg>P5QWb(zk={$LPF~`Hfellu_iP|U##yHFhB}kDyIB-^+N%bY(g5cliA%f zGw1B#^TX0uu59_*Xss=utqYc;l>%LJ_Mn(MM^jGU$almRv(%Fk73?p`;s$j~O~x(+ z8F160A9bP^d3shvTW}J{ zxsSSnySk=UUy$X4dJ{C>qx76t@HE$<-g|mYh|%|yA!fgCaRav;PLWDt_>XDr+P?47 x_xO&E5u7Tzd#oc(@cdNA18$qN{rp9(+a`p`?HS54Sd@B&$pO<#oHDVo^aX%ZXr2H7 diff --git a/Classes/LinphoneUI/fr.lproj/UIChatConversationInfoTableViewCell.strings b/Classes/LinphoneUI/fr.lproj/UIChatConversationInfoTableViewCell.strings deleted file mode 100644 index 6eacd195d87df7e9575b688a4cea522428ad7dad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 648 zcmaixO;5r=6h+UvzoO}qq`1R{aUrq+j8(yfODq`b7YTyVKd&B;jvpCqnocG&_uY5T zy!W?+JzAt3bI*h)zm!A&j7$2Qcy`UqyNm-*SMFb2Yt0c;9;kTS-508F)s$-b^n$L( z6(e$<8M^LM1jm;B6RTs2cIcM{r=J}YYyZpNWv$1GMMyX?TWP`#X=U2VB$bNSZ>%+4 zSNf8>2DSlbzCzBNbJxO7on1xE7E`ph-c3oqxG&7S;aIcWx;K$GO>Usq+^nfDztH=0 czJJYcY1grIH_k5SRMO%XV@wg7U#xG!2aG~q>Hq)$ diff --git a/Classes/LinphoneUI/fr.lproj/UIChatCreateCell.strings b/Classes/LinphoneUI/fr.lproj/UIChatCreateCell.strings deleted file mode 100644 index 2c2a4ba7f3a2a1865ae17106df5505f1d477f50b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 730 zcmbu7%MQU%5QhJCpQ7nfq7pk1iD02FvBBP@sGvgQ_VD=7Rw4%xX*!)VXJ*cP=kMig zDW{BVRkhGSTOL~_UPnE7Y7raCXU|cQXoP>jCOLD3nrS6hV?1AFG6U9Yq9I?OolqN1 zD+HDo|dRNWy(Gp`P#>44^U&o`lfw=KEYkX2o0X< lCwjMD)cwr6<1ZLPI#CnbhIjeGYszq$^7}+j#Z5C=x&q1&Z_oe$ diff --git a/Classes/LinphoneUI/fr.lproj/UIChatReplyBubbleView.strings b/Classes/LinphoneUI/fr.lproj/UIChatReplyBubbleView.strings deleted file mode 100644 index de5a5c443..000000000 --- a/Classes/LinphoneUI/fr.lproj/UIChatReplyBubbleView.strings +++ /dev/null @@ -1,9 +0,0 @@ - -/* Class = "UILabel"; text = "Original message removed"; ObjectID = "B26-sw-o4w"; */ -"B26-sw-o4w.text" = "Le message original n'existe plus."; - -/* Class = "UILabel"; text = "Label"; ObjectID = "Czc-VH-qiH"; */ -"Czc-VH-qiH.text" = "Label"; - -/* Class = "UILabel"; text = "Label"; ObjectID = "uuW-tW-1Sj"; */ -"uuW-tW-1Sj.text" = "Label"; diff --git a/Classes/LinphoneUI/fr.lproj/UIChatRoomCell.strings b/Classes/LinphoneUI/fr.lproj/UIChatRoomCell.strings deleted file mode 100644 index de063b5980e6e03f8e5d4c123a62637c424dd623..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2618 zcmds3O;5r=5S=r>V&lcc2r3xjM?5GbhN$r%dM{eE28*fn>)(3iPpI$BwiL=jsUA#B z({?+%J2P+Q&2+y$E3zSLVx%Pl@#G1YkptW-aw#1-l4pr=4JCwRA97EwarwG3ke&qC z7huJ^oMNtrnZZ~?TfcnF`j9;&yF9tY$Z9*sj(dDvV@*feSe-(@=sV!xF zWvt}_-aq1s;32I?PA@9ZzbFP7F6%SVyusfzPMfle{q|YMn&ZM=VH8dsps%g zQq#!MR))!K?PJDP5vmR%Vl#1t==k!Q*e{dcGwdT{tR90=thk>sD#F{G!Q1>nelvS6 zeig;wx9lDwY9aVO1nQdt#0_cW5K~f?(OntA-U#(_2b+;rQlxszV-4YVq%0UnS8I5H ze5R~!V|Egq(HdH&cIP2=+sl~k#%6$bHD|jBYd5LTpEJ9q@nr>1b9^zYw`X!pN!c7v zTQo_o*#q{`sTTJtH}ZVP>H?jQj%|?PJLH)*JTTdSPl3EB3)ndgMyziib1`N-?d|OM z?DG+1)WN@l!QIp94^)o_iTy9cc#~E1;Q>0yIWm_!**W@aPtmX>DaN=o#_$(Itf+wQ`4>_uX(_00>`SQMOiKx-q%O>)&CKnY zJLkK1`u*kTOjWsRD$r0d!_^f}MNjIep+pQhV;9+=?iv* zy3Y7dRcuMUKB(24f5C%pK<49$6)B1;_G~GPJCko~SLRRN!en~4;!DaBL%U`~S=2Z; R`b|b3>(f#mDBO(0(GS9yqqYD5 diff --git a/Classes/LinphoneUI/fr.lproj/UIContactCell.strings b/Classes/LinphoneUI/fr.lproj/UIContactCell.strings deleted file mode 100644 index 6099fa96eceea7be8df31d0090f0105fc73cdadf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 390 zcmbV{Jqp4=5QSg8r&zX3pjxq1)bkEBYz5VWHaahZx5@}SisxT zl_0q$yBL4c9+&@Q({vzivD@^OVYgXN>W`YmxRka z?#!GyGav6QZK$iZ`U>RgiPP2|Uq@GR)YG#fPN)TvUF5E&951o-HIa{>kHwo#(M`|< z`3rr`kVPxcA=)|mDH2D6-0G0~r7RumhW}9K8m~OMFUeN$YH$cZY61c~AYictHrWnU984DL@}Znh rGd_H+f06X{fvppeXT0%Zc4ho1M@aMkZrhpaX;QH{e!+us23d`tcQ5AA diff --git a/Classes/LinphoneUI/fr.lproj/UIHistoryCell.strings b/Classes/LinphoneUI/fr.lproj/UIHistoryCell.strings deleted file mode 100644 index c0f90ab0f2fc756b23f24a3fca2f36264e50d632..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 462 zcmcJL%?`mp6ot>aPcfNg6F;#PD-9_UHXfjwh7mMj7IVWz^M5iFTAxhsSEFSR?Lc%FwLZ+$Kt??Cx_Y4#mmq@Zv1);pC010;JF2giY8qQZeHWwTPFdc+>Zm#BWT?&`8`uG(LQ z8D`FzIe)(Moq2yt=s;;DWyw)T6Gl?U%#Z0x#=OS?2f`XcR(d6#f|+rk>9r>GQ}^SxshL71lXo zpH(_4H{af}nyVJ$D)t>bw&0xO^7=uK?taer^%-S#7^;_%Y|Gz^fX5lg8WwkS&oG^4 zBKQpiT6pUb$=K`l%{w@&;tC4Itx*Veu?-3n%>wbvHo_s?yFR;iVQX%swnmbH`|}R? z3S;BqY^%W^Y3Y={DzmGBM_nzQG1oKlTqSPqgPvKZ%F&ne7ykbmbt5XPxESI%`ExlA W!KFfWB^6k&`H!wbIY!;sEyoWSY8A!+ diff --git a/Classes/LinphoneUI/hu.lproj/StatusBarView.strings b/Classes/LinphoneUI/hu.lproj/StatusBarView.strings deleted file mode 100644 index 6570de5ccd5fd475936aba4ab97e9ff670c9bdb6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1070 zcmcJOPfx-?5XIlQpQ7PN0!A@mMmyWG2*x7Gk7)XZ(D686tE^{ zv+eB8?97|DZ$I80ZK*C-Z5j17VYoVE)^x3ojx<%mc+i-g1NO(*u|~uiT`9t66y#^N zwWF4Hzhb-cG{id~s-xpPs-;tfYUqR-4KfYMlx44j#=$O&Xs)PT%k%!M?vSTiXMJ!E zKx;XOKpxSV?QfYS}tLs8xG5i|XNVx=6%Iv$Lk{@nF% z?%?|sUBb6d=Pqw1Kp|5sZ|PO7dMPtBvX4GuJ@dWQ4X77YQWjBFC0&%@!-he?nKjKG_z;}a>1s=ojL diff --git a/Classes/LinphoneUI/hu.lproj/TabBarView.strings b/Classes/LinphoneUI/hu.lproj/TabBarView.strings deleted file mode 100644 index 194440eab9d55856f22acdda491802d0dfe3c157..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3738 zcmc(iOK;Oa6ot<^zryM&RC0lazJypnB0*6}B?v++Q+G&{rj69Ph4$ZO*##>kRu%Ah z?4*h{29HA$jr`Ee^~{`m?mc(>`&UhmwXQ%-4b{~pEzk?DHGR~+Ug=6PZKQL0p3~n| zL^Ia1uOs#Ou8+ly4j4OPWH_CnsT2C*?8`$&2aHGb?5j1k+RDb)*-4G}Ep3!qWoP#o}v$uM3lg zb^nfTCx>pQ0=hA)MEG;8Tm7)}Ef!tV#&c|=EY9L3P!WH-IfT332-`4sZDYSjv>2V1 z!uXI+{+ajA#%Gch$7D%lxg4qv)<+qdBD4)X%i&FWd^57m%4e+n1yA=_{g`K>BLRx= z9bb&uNu9paY(M|vJMW8_`M=ruQmxw4UPWA!nI6<+GMDe3e3WsPpEJ-T%GO9R?!^$h+0e%`O)F!zX66aU6G;=4F&1K=6Ssij` z*=kv)ig&2)AHY4(6Ye+UcwR?b7QX1KRQkMjEHh6debQU}F`|}+dXH~X?GHF}rKcU2 zg|AnN)pm7x?7}sh4K9lfG(A=JRqC-%y)>MYH{tfH8r;wId3s`+FzmAUe+;jxp1M%Y z^6Rpghu`^h-0#e1sKrm=vqjE^WUx^?r{yjSe^#rU3+MBL&!5W)sx<)rkaJw9mwJsq OW;u3Q_7J=|9o{ diff --git a/Classes/LinphoneUI/hu.lproj/UIChatBubblePhotoCell.strings b/Classes/LinphoneUI/hu.lproj/UIChatBubblePhotoCell.strings deleted file mode 100644 index 1b57cb0c582d341fcfeceae0c139a3ad52a6ccad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3260 zcmcJS&vVj16vyA0zarCPXTYMPo$7eNfJ%v_GHAym#Msh?z=X6#{#%Ycc=f1$c0>4) z*(L^2tH*tpDSN_}bhO1?9%EN3#K5BYbum~n`I zC4QSMDqDGTu-v69zggRt2fSBkO0;6=10oU1kbQmWYTQ0(l8D(-1A#3KVi8B{sqvck zUm^SiwoA}?__z;*Z5gw6!iC4sHRXfOW}y2inQkoNkz~_kQDI$Ebl1^&pbOxdV%&Vo zEUtLD3xgH&Bh9mjJO}(55`paOp5kE#9(Uw3{jJ=~`xJhYMNu}l@MTOTO^BMR-Pk{m z%8C8UV|O|(5%Z>cmAL+^QkB>8LSBOVls&FMZ&9?OhZZ~Ek#&Vwc{InL z(Uu%&>YBa8^RIBnBO}GRP-mXfIu+lL3|sPps4M;R(5q}lIC75emD#;Zf5gm>DMpwq ziZkK?{Ztw}kzZs|>72!9AUE1)6<_6TT)%nz_&@DeJh^8lpYL97e9q(;o|UO?hrWZ_ zN2&OjEQ-d*0ei$5;4fmMa#lPFW|d0LfV#Bhf>XfZyGFHS^TLEGo{=b}$s%7VcR`w` z2kGaJss9CRYmmhd&X?sIZ11FUX|kx0lURRN)o;V%q2}&xncB}?#YF*JkVWvQ3`Un~ z-prZFq9|AQeOEb$p*6CT%}*1OZLpeaWR+RP&ubJsLY-z?pXA*ILpC)$;Z0J34vG_E zX`y>#*1v^A72Wc%PUVD*9!X2*^<;UAOKQ>Od`w%Ic$@7(p5i>kS!EN0^?OSX&Z-+i zkH}<4;R?-q4*se}dd%G|eNve$in80`Y#Qq~0d=Ri!LQAmOrH_;t})Yn?E4(wL&oBF HiIV&Sj+^;6 diff --git a/Classes/LinphoneUI/hu.lproj/UIChatBubbleTextCell.strings b/Classes/LinphoneUI/hu.lproj/UIChatBubbleTextCell.strings deleted file mode 100644 index 33890946de7c7861918fb7cb8aaa34e237c05900..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 748 zcmcJM%WA?v7=_O|PZ3-SjRxzc;>OfPG~lKdx>T_=MNQCn>Erq$ZNJI2h(x-OA;aXq z%=ykgKi`&GYRZ55(TtBMtPJD>R|9IA5!9O8rK8Q$2yjU3D%4DCY33a`hRc z3;xYCLNXzl5Y;bLm4$Z??hQH9lfbj#w5GS-`Gi>x@f^!#57cJTSx4dgT7{FU+#;){ zGNwL;YX_rw-HdOkL(cc#xm>=x3;mNi>f(EZ#s}_g-Z#3N|AL_M_?Kaf@~63C diff --git a/Classes/LinphoneUI/hu.lproj/UIChatCell.strings b/Classes/LinphoneUI/hu.lproj/UIChatCell.strings deleted file mode 100644 index 7f4ca4789b1a733041d898cb9595d3c9b4308768..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1574 zcmb_cO;5r=5Pe+xD>fWSik8F}G#(6?2uKWx8sn`>h5AvjZB+cNUOam69~kxRvb7ZE>&9iB3d(ZT^`=kWMe#x|ucF8Fz(=kvwqi;ozS zIZb2Vzz6}~v`tLgfVW%PCY}yyeZ_zJt%c?^Y7OhDMunMKylY8ysmSH2mk#yE^c^t= zjVp=o;XaLT(Q^^pG3_43OH!LQ{SJvpG4s*Nn2gu?yhqIOMKV`t^A^y5Bo!%|a}ln( z#Gtu%F<1hP^MfI$FhkFHVx)j4UJ0G4o$0nC^5GMKN`GD6#=^bs*P--5pSO^5-GzTe zYvRwi+an@H&jU__VnjVP6ZA?U<-L-^`#&SDqn`5c+bo^o6nC(tM{R6!qTL1NvNWn> zBXLmA;FZ<27ZW)K6y{NbJ0tE$&!TebdHq)$ diff --git a/Classes/LinphoneUI/hu.lproj/UIChatConversationImdnTableViewCell.strings b/Classes/LinphoneUI/hu.lproj/UIChatConversationImdnTableViewCell.strings deleted file mode 100644 index 4e98cccc539a8d45ac495b65e49f04f000f5c39b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 712 zcmb7>&1%9x6ot<^Pa#TYAJ=E-Ui~J?M3IO}m~dz2 z&OPV5cfWH~R#64D^(9{`zJgjTSMTbo&)Gx)cdnY8u8IHn+nk;jnk!=eLKLJ~L*9I{ zo08e(#%6!0svmh;YR12#SJl%OMO-+qq8px`^?>)JpO!l>qZF%Lb9UMj zpU#?&EaF)v{sOd;x!l{A^I4CmJHyikZjbe-2D7iJlCoTydLG*?^j7~!I6(cV{hw(& FIsn1;Xp8^= diff --git a/Classes/LinphoneUI/hu.lproj/UIChatConversationInfoTableViewCell.strings b/Classes/LinphoneUI/hu.lproj/UIChatConversationInfoTableViewCell.strings deleted file mode 100644 index c6db46701a8b6bbdd77c52d788d6567d8b9a43ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 674 zcma)(%ZkEK5JYR8uLxNR(VZ^Dg^!I zuIl=}St=+eTXiip)Q)4T!sqByO|{95G~vxrne3kXi5O$58fzt^b@c9oo`VU%G}TCO z4SlIES4XvoCHYCm9P=%z(-8S&o|AOCPc(47fY|Cv-0%-MTAcqB)pP(I;$zN3*amP8 zwHx>wxET=V2lcVu8v6*e$WZI4%U)c~)Fb*#Dn=Et+B8J|w|5qk`z8jk3^`w@dq;Ve zmmWKr!PUl#4g2_W{FS3y_WgmnDQ>#zpwxfTn1)Dmw8gX|9tLQ!<#Ah+*+rUu0PD+U A761SM diff --git a/Classes/LinphoneUI/hu.lproj/UIChatCreateCell.strings b/Classes/LinphoneUI/hu.lproj/UIChatCreateCell.strings deleted file mode 100644 index 30e8b1f1c0c6f14124ec4c977dde09d6d45f1476..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 746 zcmbu7$!@|x5Jcz%0roa3{uq&EhCnEcsi0B;k#*jf4g`Aj>n| zJw4r3)${-7sIHn^y=$S7)_krS{GJ91)Fbw#h%-;GL^JFiYnhWM)l4h-8e>Ijk{RQF z6HVD8PE!47THODjT0%6WMxa(z=Z)xIPipIhb%@<5Zq&f%VB0eM3XfM+NfBcN>{Qk4JRq(8=iF!pZ1xQtKMqHi~5M4D`$Tsb|=qZj@|o88)`voZ%s7=%U%7 z;BKnj;}mF#HdD|JnOUT5fx+k%;+wY+Gp{(GX~s;>uc4fO?_%1wd2i5Y4C9HqtbKSd TFL>KB{CtA<5S?Fu4U?lIl$LZx diff --git a/Classes/LinphoneUI/hu.lproj/UICompositeView.strings b/Classes/LinphoneUI/hu.lproj/UICompositeView.strings deleted file mode 100644 index 8b1378917..000000000 --- a/Classes/LinphoneUI/hu.lproj/UICompositeView.strings +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Classes/LinphoneUI/hu.lproj/UICompositeView~ipad.strings b/Classes/LinphoneUI/hu.lproj/UICompositeView~ipad.strings deleted file mode 100644 index 8b1378917..000000000 --- a/Classes/LinphoneUI/hu.lproj/UICompositeView~ipad.strings +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Classes/LinphoneUI/hu.lproj/UIConfirmationDialog.strings b/Classes/LinphoneUI/hu.lproj/UIConfirmationDialog.strings deleted file mode 100644 index 4e7b3535a588a1e6a207252e60b6b3e5728ff1c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1066 zcmb`G-A=+l5QWcmpJKx$u^8i}F@^#$M8p{I0g7M+my)y)lsEPTyzoN(wm%S(61XrM z%Ixf!**SA&e}6okt1hFKtU{$MqicROJ*lfeD=k?I#dxmp$JmMHV6BFla%MHz#mvAm&zYfatyB?3iHLPm^x;tFX7p`C&m!J}Pu!5`{mxY(syY{Nr)rcH1Nhu>0n$Tbd#j2bYO}Aw-ws> WIXdFdYlXW9Tlj7~B`RSzt=|v9{y(b# diff --git a/Classes/LinphoneUI/hu.lproj/UIContactDetailsCell.strings b/Classes/LinphoneUI/hu.lproj/UIContactDetailsCell.strings deleted file mode 100644 index 86c3ec1105dcdbb214a5af42f2bbed9fc758adfb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1526 zcmdUv%}&BV6ot>4rywjzT8+__F)@@VjXy-=Ph{6(h1LoNkm%#Obm1!~Ut3y293ov1 zVUcY)m4?FSf0j=st$N+x|XYkUNm70HDG3+c~4zNka~vl6|yhH z<4vcm`K-i61V?@5Ci9(bRwLHC%(!Y6UPsthveeQY@3t<~neV8RTLs(XVXu`*tvJOY z<3LlMo<6V>G!@2QqrW7hdvKrYn0HerFrG1;qc?f{2lO6Fi04>V)xLu!Zos`m%`NO* zbhM1#}k{Sq)U z)Cj$0aaM8gfKLPT0Xr?a=$0tU9GE<8GRpE=Xgs1P2AnzOwMWF_rdH@qCqZCx4eA|w_MD=S^@z9|TvFx(DGxN|>Yz{s!`6i9Xf01m?ly|S9F4gR6)|GNOF$BkM5QhrW}}~jDQXv;c;GpiLYJzDHPG5TNi=}1N%?b#bGOWwf{SZsc{#-5u)GJDCUP2wKx1 zggoSAcD|LaVf2Yad8a;a6QXnC3DE^>)5uMC>^<0_!Hu3$4SG64gT5ZoVpD^vj5fV? zQx=L0ATgR4vN4PA@4>TMs_-tvMz0dckb} O4Hh%yY~IbOjy?fCb*hK} diff --git a/Classes/LinphoneUI/it.lproj/TabBarView.strings b/Classes/LinphoneUI/it.lproj/TabBarView.strings deleted file mode 100644 index afb90f810dab9054dd9b514be6edcf36b2c6f067..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3666 zcmc&%*-pYh6g|&;1@TEuiVNZr0fp9~N@SKR0KYeY@XOxBi zfUvH;8tEvDX#aN}Hw~1VVw9;pl}mmuglRU(^R7i3Dw93jFh^YC3^?XFvyg$ciZuhR znwcaYRjhXTMBGIgkD6b#BZVd_eogF3#~U@pm1zrG6XJ+9rL`m0CEb&x4vzBCB^t#} zn;GrpWW|iZD&$ev`es+vl9ZLnA~N=+gcUoESd*NUV*M$9rEAi6AsnpIZw|ZKGsiG5 zdX#K>5~T| z9&8d)Z_GYpZ74?L-X>AeRbN$Xc}D*otCGIw@wB^2CSOtIyN9df>=Wm=O+w12itgF= zMH`AyK5Y_3_$*eT)030BHDsOCJoeNT^4DNSI?PWG$3|A#B;+ir+mJdv=0D99^Md5o banFj>A^HHfeD7kP-WX-rCL#C1xSPo*&eJJA diff --git a/Classes/LinphoneUI/it.lproj/UICallConferenceCell.strings b/Classes/LinphoneUI/it.lproj/UICallConferenceCell.strings deleted file mode 100644 index 80860330f46546a3b346b407c4678965548136ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1540 zcmd6nUrWMJ7{;ILeTuP5L9-;GqKlk2lS(No=x&+S!Zxs3`sJ(NHm4>B))XNQdv|u; z|Ic&YeScZnQ$@C1jpXZ{W$Tp3(TzNvbM~MiI!7m*`Wmo?sa=33Kocm|Y{fG7cNHl_ zm-xi^hV0((%_4R2e&s9Cd1^1RHr3EnRZee_eKn~g^Qcg%#olC5`%`7kBFiPUCAHXk zM2>h57S+b&j?$bK`O2UZ6Kk6GnjzRB&I^6p^cSJqP3L*mWp@{#F@~3j%vZ>S)nKEJ zcF%W5&tPBGy^fF`=(XoK<$Rkg{wLpc)pg8sfZW$%0pF&+e&2MHMGb_qTejrel(*>a zdfa~>?1#)*fc%_SyA9*MK8Tr2{J5a^9<%Sl_e|Hw0L&U|teY&#vVOKw&vujE(uBT} o|3bI{PCXErFoQ*ZfKXjMfk#t!$QJhQ8Y(7>vZ&Hq)$ diff --git a/Classes/LinphoneUI/it.lproj/UICallPausedCell.strings b/Classes/LinphoneUI/it.lproj/UICallPausedCell.strings deleted file mode 100644 index a1ec8e047d793f53962e8d0361851a6dcd3149a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1540 zcmd6nPfNo<5XIj)pCa^FNUe$piU+L+Q?-gx58l!kYNTmV(^mcP>M#Fk*;)e%W!WX! zeLM5!&CGs%TG~=mwmKTg(<{T)5woGbT%BmDm@(0qokR9L`HUb%h8ig3UI^k{7n}_^ z8I=~U*_nb2^1D}@Kk?^-cXe9gTz!CZbkC^+{tSzmwpE=oG!ZdoJkqu652m=JXp z>Y+u#8`h-zv(DSRe8;>FA(=ks tEpVvYP|r*GHX$}M-)*}3fVsoEt-UpsZi;KM(oKjK^_5jwm2Z<@OW(%v>!ttz diff --git a/Classes/LinphoneUI/it.lproj/UIChatBubblePhotoCell.strings b/Classes/LinphoneUI/it.lproj/UIChatBubblePhotoCell.strings deleted file mode 100644 index d98271300b0adff422b613962c848172fc6c956f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3236 zcmchZUvttx6vgi|pCZ%8&VZ$kcB#RA7?oF5(}AP=^%~q? zm@%O$_4UwYo^rYy?n|m{$rX5%`%S1qu_{~{;(ATKK4Ls#=7*drOc8ZeVUv@XoJ{0e zt2ITayiWP^WBsm<-z#n0^6iMbUz(M^oS>~HXkA7Rhfi`@F-6qPiV4%c9kD9|ImdNf z?j1U$SPdpt>5R-7O%dhJXhKoOw9EtY?;mpebNPfTrEuzEh?UR&bH%w zJPSD=OnIZc?0@LC`Z*<_{{t8%XuJv6fL^{|J5xkm%|87(WvEXF7bQwHajC+#Y!CN1 z4GdApfLdwGOdo*TDkAxnS!!i%f)+^L|Uk5fg7&y{+7OqyE0(!JEf*a@=;gz zlnmv${u^OZaE4$82FHM*jORXft8_2eo?d)(tIh^$2QALSl$soqfws=Z2@LXkl_{dW L!nb(JPBDK05?JQk diff --git a/Classes/LinphoneUI/it.lproj/UIChatBubbleTextCell.strings b/Classes/LinphoneUI/it.lproj/UIChatBubbleTextCell.strings deleted file mode 100644 index 8878f1b0d47fa29793facc59802cd39905107857..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 754 zcmcJM%TB^T6o&tGpJKw2#3B(l8aEUdH5C#ACN2RX)KG?C4fyin*UPlTG#D3V(#iDP z{>wRjdFrSwqd;p-_0BQ6<7;W6P-880P^xFey!J$I$)#n~RYtPf5i?Y6ned@RetwGj zk!E@$Kc_R)ph5`r0_Fv=CAU>yy%M1fE01?mgFb{)SgV?|JPb+`LEiR$cB$mv~)tIPFapeva}R zv)Y#-+%hgkuemw{N5?jWt<5q2>dw#ochPX8D_w*0z|0jM81`)c%>~DxR(i_e5tnxC O%fjM`yVzppuBUIJ6K;J z?#|B4oA-9UzbtH_28A|4czEHXaKK^X5?%DTb_<_-HukydVZg`Nb^&(+?gU8iQLxO; zw-I5?Jvo!`?3iCqJZn6i@$>`#WUq_PENTmRJgRoI}0` zvuqMZjC2f({;Qx*=<8i$F%>$dpAm5><{xoyHDsCBJbRaDW7ajI=X1`&O0ZJKRrqp= zKq7eyD`yBZ%Ugjv=->`2G@8-U2C_FUEX(Zj?*%W2K8@l zL9W*<)*|M*thZ6u6}j>8md2~1(hko_&w1rLX5Ue`r%&laK3V<$270t?67dPG>+A>) zj^+@TSyb&krtjsvnhZmowRFQxXxw4$dmK9p5Xa>8kXT(ja_*r|&P|Q7ds}8v#_{in G7JdNYBkW@U diff --git a/Classes/LinphoneUI/it.lproj/UIChatConversationImdnTableViewCell.strings b/Classes/LinphoneUI/it.lproj/UIChatConversationImdnTableViewCell.strings deleted file mode 100644 index 2af25db3ce929fb3478ac0891fe997b3b00316c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 720 zcmbV~TWbO_6olt_e?{0wVXc>z3Z*aJK+y`N`tGfDi>}%(qJO^a7u~2xinN4;lVmby z=A3+g1-emAMm5bf)F;E}kr}G5mO7k`H03VT1E(qRmepa}T56_*eVu5Up?bV|XEz4f z;>Mw0Rn}UOR+_Lj)YM(}B8Q5A*oVj;vxY~eF1kJxlhf##)#{G-Tmd|PaWq8b7_A3} z5iE0Ns@<7)r@uy~ggg7j)*vBTTy;Ie=>Wg?)FM(<1#K=|`w;nkmTSsR6?sCN)ncfv z?UzBLQ=6i8`LF6+_WK2%3CecxN6exs^#4|+%+YV1_c=WLDA#!(!q@qp-Wahrf1n== CplE*p diff --git a/Classes/LinphoneUI/it.lproj/UIChatConversationInfoTableViewCell.strings b/Classes/LinphoneUI/it.lproj/UIChatConversationInfoTableViewCell.strings deleted file mode 100644 index a1ca26d0c97685c775733af62b4ce35ea2b3417b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 658 zcmaixOK*Ze6ot>4UqM)!pgX%TE<`t=7W-OsX%Qp7NbnK+=WRa)rnaFH!p&sn%(>^A z`*pU|QbV@-T5GBupRF#xqc`~)vG<{vGe;eE_pDFUQq$8+8ztHn=OOAPnh1@rfzb{0 zt{1sFYDj%hXdD~#x42!UXqtYGar)iS;_kito(_2Im70W8vPC4kkS3%}NRpuVykRZr zJm@2>YS;ozcm-DrJyAnCwTl}iTa}`D^{z|u!|mfcBWX<544%t8>gemH7vQtN*XH$8 oobws~H^Yp+uMp0epQ}e`!#|u=imDloVb5Sm>HJL1XORv4ygm$NDL1B@z(E=B!^jnK#fxkp{%(ipd3P5zX)~*s^A;L~DI0)Dkb&3zZwr2cikz zm`tKntD=9zv@OvEGa_~DoHo&`>guYAo#OY3jvDwpd{;$i@dS3#9>gga5^hehhS8=1 zm&XnNQK82@Mg<>6Mul9f-?((Fxb^=7%6SyhZ88J$*O zouW>xbAe#SW)_@t)#l{PJ~Q_5_!G+A56FDq^xv#cD71v{yZYE6toJ`yyDCCZRwH_B I--XH39fiYkk^lez diff --git a/Classes/LinphoneUI/it.lproj/UIChatCreateCollectionViewCell.strings b/Classes/LinphoneUI/it.lproj/UIChatCreateCollectionViewCell.strings deleted file mode 100644 index 1e1e098660e5c8e70c66fb8092eaf80643b1ad0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212 zcmZvWy$ZrW5QM+_p5nMNpgw?Dh!#c^LD0fZC1NB*Pz#@4{rpKPId0h9nVp^IBhVuw zGNNM3)fXA~6Dx9N&UO@XiN4dD^<8Wq&Bb*+Hd9=~T)eJC^9Ao8&5B05LhtOw}t zW@~(fo;Yu@Vm-3cYWl~fIfq#Y$1yAe@-yar$h0n^0|JNRXMPc#b2@M6T5$W!JxjG? z#psw>oUeF3Z2hL$Hu3J-+4y>=?%Fb6|MG0}l*&)?;krbsqCy*vJHwj!`1V$x2)ExBX)z508N0lWZ+1Z($-P_fu zuUwf%+N;uu$TZ|wtyOA9ZleawYCyJ9O*CDd192cuL6?up$e)0;R0bX49bi2*mhg7` zYLHUn)USBqIgSkPLcOp0*`%)2u1e3ciRIh%#Kx)t2F$-3d3(>23YS74em+^0V3x(d7{=7IVh!v-&saHA06ibO?9} u)_EaT)$m1p)e{a+HBWqGKTC6K6*r)?%naOekGS)Hi?9EF=LLr#XZQw}zvjRI diff --git a/Classes/LinphoneUI/it.lproj/UIHistoryCell.strings b/Classes/LinphoneUI/it.lproj/UIHistoryCell.strings deleted file mode 100644 index fe850ab28f6392c95596b5ba4ca3f2e2d2d1039a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 466 zcmcJM%L>9U6hvp8uP9v>eBf4GS(N$&!4IgVXo^~>S*Rbc9;>Y`TJ6s=eT_qe*YePB@ br}^LVRb5{hrerR7-JH$~*88v7@~w<+u^dIm diff --git a/Classes/LinphoneUI/ja.lproj/StatusBarView.strings b/Classes/LinphoneUI/ja.lproj/StatusBarView.strings deleted file mode 100644 index e4df9ea4397783a4a1dceab3ecab0433aa6f0e86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1014 zcmcJO%TB^T6o&tGpQ2$&0z@#nFm6B>cnJnCaofU(B^8r$iG;`CU3fh38^Fq?Txw#P zHfQFXp7UR3W>ZH6W#y`(P@cLxt}b~qdRA3s_0{9~REM1l_B+IpKBx`#q<~x~6aRCf zqDnel*4E^!O}0T*RabFUNjGXKr)y^9=+vguqI(uJ4slXNe#h)g+;?@lL!WfaJa9HZ zYc&W!9>C1<8|n^>KAA9{RA<#9+a({7?Gamz-1&}On*$o$>wT`lgU-;Pt~az;*C44P z&#c2Je-#-GisMOi>)Fof71{6gss;uXjGF(%IT^<~%fB%^M$Mo5@QBAvSh}2kgV%i` gf9rniI`c!^KF8@uUwmKnqQQpWNfl}RJ_e(sZ(RGIJOBUy diff --git a/Classes/LinphoneUI/ja.lproj/TabBarView.strings b/Classes/LinphoneUI/ja.lproj/TabBarView.strings deleted file mode 100644 index c4d9013ae87777e1d3b2ae6022a526db3f88a9cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3558 zcmc&%+b#o96kX5#il$y@QVykvc%V&OQp7DH@iMJJt2EJZX~IAF2p>Vb5HJ2hgcrXc zg4JoKlOBi8Zlle~OeW{-IkVSZd#`=w>obG_L=i?31z0F?gfYo0f_2Pc8pm)ria6xV z1m`VeIc(Q5hYWIjFGq_q(p<}MrBL4?i9OCawKtczn&*0!GjmAQtww6=QF;>M^9cF_ zeI-)g;avn578{KmfUz85pgvlzu`(~xDsMq_Lj5%|Cmz5WRW!+M@St+2tU7`IS=jNm5e_ZU&af z);9A$>oQkBFY)y?K^VudhOsgut+n&Dl6qg>P*3Vc`Cn~Tbvj~){-3dqJgphWc#Gb9 zJNath?Irc8brueYrlOn{cKPH-C5+#+Ar3v?Dl<|po~e4btflKNuwnMUbvD}TG{H42 zO@@kyVTg4UV}Cm4s8*rZe@qrqW;&~LLAvZ3yYDIy=b?Bn|I}Q%O&=c}g83gQtk|eu&Nb z8OEz-lZBMWZuLBq?~N>)EZSkQJr$OnxNP>zL9&)&{l!>~HWsxSG+9Ww3w|nV54+^g bV2`SkC*}fnc%Q-yW6;Q}$wG?U|9kib(ReQ8 diff --git a/Classes/LinphoneUI/ja.lproj/UICallCell.strings b/Classes/LinphoneUI/ja.lproj/UICallCell.strings deleted file mode 100644 index a5a98714865ce768457d45226d29eedc4cb55193..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9312 zcmds7&u<$=6ncAV8uAka|GekPzy*Cr+HWAq0GHC(q-Z9eZ}ho3^S}YdPcDH}9MG%{TAO=D&X@ z=mk1W6`H4QYSBKf3cZATlCIDaT|nD9b@1CHokwenHgI*)ep~ou3%_hpmp&foDbLT- zE+zPlpXuV+1mAY>thRIsPrr}9__rlm=#N^Z7ms_KhG!G_&MjvOjXc@6^6cH#?NgU| zqzPOh2)ppeyP2;ZNuH&AGL?D)pm&0uPd|tvlwrCTczKPlI(BZL1VbN(J zcH5Y-{WM1Goi8%8$30ABW`iSh>+-((d-baNZg0626Q2-_3v@txn5iyiiMi;**T~^( z1mkm!>5Hem%7iJhlB(d}Iq9p{!%OmuPX-M3fPKR9_@Ye2MvNcRdLv-wz$;NzX0d(9%KY;6c(;LC_qJJr4l z_Ss#0=lzyPtPUT)e!H)}F0|row4z+1gv~T3S&qaY z){G7g+ViQP&o|C@^bDW#`X@Prnd2GEao#^Od)j8GkFjhyfO2gEPYZ}D$keoo9fC`3 zc=?_OUjtc^W|`pQmUs@aYTs86)SuweFKY36%({`e6(&ss*D}o^H{6dzBNh#tY@4Cc z5{u&F6;Bj=JZm6#wc}8A@+>>Qaa^;#UjTm&vHOkUksm=VhoI&}@RRyV{nckk9D9!;bj9`U9LTL(L2>z21lI?!$28V`F@c@vq3dh{_q? zE7;xVX%S50Y$d@Z5$YjIe9BO~T5aU=Pi`3}V%oPaH$J_cL|3me&w@PxPCgsq`C=yO zny3S1@x{?TCDG`_zTw>UPtNcBz7`Whu_eCxV&m6xyUJ;#RgR2fe3p@Tt{<(EhiC$; zm%YF0wosOdc9*LOW``QhrBOKYvC+Pk!KdQ+GJ9xe%)0Gy=gek~i&t3e`B^Kg(QR?O zF*QONQ5md=hF6KBFyuKiXft$o7i*$IqWtEJ{)?3{c z$Fh^iEbV$}G~b4y5r&xk!?qjBxsZqrW-sjm6^~zw?b9WWTKIXV$=?!{t&Pf13HB+Z zCeRo(cFCXxS3Z7j>!DE;yP_Or)T7n(ZIF#a`zzxa9%kn~E|U?ffnwu zm$y65qt1N`$Ty**Q^;*Mb8FJoBbKk(ET#YxF8U+w>9ELUsmRJ)Vx}yO0&Zp4YPRqc1jPZ#9~>m!3Rz z(i0gzjS11Vgf7zSh-)4HK{J(};M=>8tA~r<51Qj?n~hK2$_zUl?4dHc0H3eYDn5Jo R?-ILGa`kX|u1A`n{{ho;tsejY diff --git a/Classes/LinphoneUI/ja.lproj/UICallConferenceCell.strings b/Classes/LinphoneUI/ja.lproj/UICallConferenceCell.strings deleted file mode 100644 index 20a98486cd75aeab5d5c3876e4b3ada0105e27a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1466 zcmc&!%}T>S5dO{q-yy_Xp>?$wsNyB*!4$PotAcphN~-Hm3Yuzr@Ev>xU&L4NfkgWy zYg-KqX_O+%4!b)uJM+!Av!5RpR#1TrA2*P==diKG>EH+fc6ioBM4f|8o=Ti^M46qU zMp2`XVD!y$;_su6n7Y&_p>NF9Eq(P(ZF*mEm+AsEr%_$hF+`Q8$CMqo%tL!rn5o6J z$)Yw_X3jLq^0R!}-jBsnXZIkz-Qp-yhlH6AGgP`(En>YSLYqkX3&S{xI>TX#TNcaW zIc?#BJXdjw24%pyHFKPrEdHBQ0f7z9HOf`27ra{&f}ii!WKm-+^h=s?YKmLLX~52s zta8MzQIwBg+5UxFi3i@9_U~N*_K=5!IjETk#xL{Bbe{f;k06`q(C+Yxd!W}$=7x4-n$fzHK z41shUAW>84PXD~Fs($tA^TW}KQc5VRhRV9f653%TRg$NSItsA1TAXZiURD*Wg-Bl& z`MmQ%JZhi23O9|&Ly?mX$lCYYL+-EHRl$4Ojc}fxz_~i-)&-x#<1ku^>>SoMM0%!N zl2H^DGM5*{%FV#DgZ=bxPffhn$@Pp}YU(ZU`)tTs5M~*K%yn50_IELS6yQA%6FnK` zlDbj+5g#_hynHM_m;1S+mU%I6=GDBLS$G-Ocz!iZ^U;EdW~?^qT8A?i+zE42n{YF! z4I5%nE|yLYju+t}AioFl9Q96~+F#K#2~^(xwLgxcjx}zJ8>jWZuW3N1`&4s}zIIW! puiL4b+7SO;Q$sgyG1iz@wGq?9wjWID)`m!e3Bq8*tq!ByB+A4sZqboPY&a z;0lN(OSTC3*@^SVoqA$u&?sZa{>JmY@4b05zkg+PORLJNBu}nh(Xx8TZ$(d4(IXAi zr=7~@$pfCdYSTJlWLF33GOkO+YgKu7z#DJ!g%VHvFxnfBt`YHqm^LFSDo-NU^qg@y z?dlDEkALUm5v$~v;ocOHUnrZE$t)k8Z_W?rlk?pPuw-cIu=~`ZrxRxN)C^I3V2SEg zQjz>i+Mp7nT3t6<^Zfq{UrlGAjdXAowu+vFO!{FzgyoGGlctC~-!;{Cifwjw8*@`7 z{*7h>t@lG^_2Jg%?gZS)jBcU-2Fh({kA9#FJ&vI^MWog5&3EqG%{||_(cEb)qTqNP z`rsIXEmCYj1>M&j-Q~#^^*;t}mQ{JWG`vv;Q(kR3*to8Q>+y(;pRpo4R6afDWyS?A zcFwg2lUW_Ydf;pwoG6+3s_Hmej@g^^4kI^X%$p+8GQacwYpt-~>MX+gzj=1R{slVl zxVl#KyIMy*IUV77f%?}_*Qj2RZ<`|0qBrGa)5YZ~m>nis3uV>R!oRCri>!fU)=j7u z!EMfAx*AMb*pS**dHnrV&fU^WygJx@>-76*xe?>i6p@GVk*iEm%+F}c|1wj{Ib*b0 z-))ff!=0(l{b3BBDI%>_mwU#jqt7DTB&*YeV_u!62>Tv9JG+h5=2#W;t{iD4T6I-i zrblEJw>{%bIl#^HVY49|>K5QWb=;5!7}35|+%Q*mPyR3g%%1(#72BbrDXQ5U{LpSbN8%@2q~x+s@i zCNpQ|oHO_5+fYSinXNqM|2?Dq!z~61nDTy2RReejtP5h zWnIn{KhjKV>T^2#>ZA;|rf@!yTXF|#>p5m9qskz@hp?`6;gTL3Ku(8g^!7h9>xOR+?HV125l{n!DQ@@Co zh?WQm9)Ec1_!@fX(xze(#&$WoVr;fklhGIaQ#K#utRRMv(Q~J&m)h^-x)1@1GKB-00000 diff --git a/Classes/LinphoneUI/ja.lproj/UIChatConversationImdnTableViewCell.strings b/Classes/LinphoneUI/ja.lproj/UIChatConversationImdnTableViewCell.strings deleted file mode 100644 index c88957ec43e0d2ea501430023abc8a9b2723aad8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 694 zcmb7?!AiqG6h-ek(0>T&u8>%3#e%r8Dn=Bk#O`AfNlJ|^Ez&Of4}P(FqDflHU?^dR zH#7ImyJud$zbqZ8BU?jF6>7m}>w@9vS-$Ssdr`ufqjPqb#4F}XbEkKu%2{6#C8g?- zoC&K4rO!#Fe$|QQay3)Te61UumKhyfSi~lUS66lFn@n{rZa9P`#9xHVf;q!+24zOA z^$vCAduF=R|LfyeW)hNY8i$SC{JQV~^LQ@P4Z_IorNP`!n3!j`D6Rcz7zh pbm%+m_cVYt#={y;mvO8CJ?^X5&|MSD-(OR8*Q79Y_kRbLegNWfWbpt1 diff --git a/Classes/LinphoneUI/ja.lproj/UIChatConversationInfoTableViewCell.strings b/Classes/LinphoneUI/ja.lproj/UIChatConversationInfoTableViewCell.strings deleted file mode 100644 index ef731267f7417c15043ea18be803ff4010d1fd2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 640 zcmaixK~IA~6okJszk+Zip?azZ;z8^M+7ui0;1N($v@Homqraj5xph!jwOJ*Em(A|H zH#2VzdxsNzTrOFWvDN2tuHWO9n3?W!9`xoB>bBAOO|{2daL<~OP4}J({Ul5wOw7dK zCfspNz$;VLGg33r7r&!!8)9VmJTvJxqodyc^hdmCMnh#3X3|zjVe7P%+EPkNA>My@ z?cGIkU+_HOE#XRA2w1XEO~o|sI(lz5#OQPOkdklTVZJ+UGZ=C_lvtu&ETz%a#w+dN dE7!krtEst>t4C!PFqgyh$eRse%gx5?@BxkAUBLhV diff --git a/Classes/LinphoneUI/ja.lproj/UIChatCreateCell.strings b/Classes/LinphoneUI/ja.lproj/UIChatCreateCell.strings deleted file mode 100644 index 2c2a4ba7f3a2a1865ae17106df5505f1d477f50b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 730 zcmbu7%MQU%5QhJCpQ7nfq7pk1iD02FvBBP@sGvgQ_VD=7Rw4%xX*!)VXJ*cP=kMig zDW{BVRkhGSTOL~_UPnE7Y7raCXU|cQXoP>jCOLD3nrS6hV?1AFG6U9Yq9I?OolqN1 zD+HDo|dRNWy(Gp`P#>44^U&o`lfw=KEYkX2o0X< lCwjMD)cwr6<1ZLPI#CnbhIjeGYszq$^7}+j#Z5C=x&q1&Z_oe$ diff --git a/Classes/LinphoneUI/ja.lproj/UIChatCreateCollectionViewCell.strings b/Classes/LinphoneUI/ja.lproj/UIChatCreateCollectionViewCell.strings deleted file mode 100644 index c4186dcaa445e34304e704e7189447b464cefafc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmezWkBdQ{L5o3w!I>e4A(5dN2o)G?fmn$ll);n12Pl@rkP4JjVz35^mH^omKoX|L ziy@yOgCP&dcLB0ep{o3Wda{7LWS~k@yPT##CEDR9aG z-hf9yNL;Ak04JUSaYI5JxFX=2wH;IEXJdY}+IV+%cV@nsZ)fxKM}bbzEGepxOBQXT zDLRWjLu*u{GKCbN^~i%{337`z&}_Zap$0iP=U~TuTEtrSIKA+b2#nh948 zIf$Zv9XYeFbXvC5F-=f#UaFtxpSIk@`ZokPLs{Qx{cp*LT!K?h+1XZ7A$W*fBYe<1mi4m-2Wi z{BXI?ulYHD<1e_2@29$p_4w}nIb$o-(F|2|n7flvo*c@gNb+X#fIp$~yvtdCMq|!a zp*nEcsJjYW=^)n%Rn!7g73!-)J37}P-N8J%u{PEMtXR52OVyTY?L#Iyq{b`shQ7~^ z)?+~uRrdg2;g0yQ1)ahy3tdi1Eoeb5dX8h>#CRLskA3hkmKQ?2^<#~{TaI{hSWnS# z&&FjZiBZbBW4CXx$Fy2*J>2Q?{;kfHK0jN3j5lGIH~Hx5*K2CC%b$1W!#_FxyNOG6tDmP+EdZ_l-E|?)Ii7FLu@75z9B*_I**9Y(M7zg qbJ*WP-Xg{)FY2frdHHSj@L$(0vqeSY{#A@ZJWWhYmCfu^fqnriBbQGA diff --git a/Classes/LinphoneUI/ja.lproj/UIConfirmationDialog.strings b/Classes/LinphoneUI/ja.lproj/UIConfirmationDialog.strings deleted file mode 100644 index 05c813e2b9c33c1d4c05fa730974205f39f9d010..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 978 zcmb`FKTpC?6vfZXm#|?ZDPH5IF$QR35TZdK#6<)0uT8B(C7D|ojuTa2wzOJd6@*ELMZG*Wbe2%-;AOTma*&gP|YgM-Q?klb_6xnC}4 zqg08k2HL39fwJmzoEFMe&|9iTbL!D8RZ;bQ&ZBq~ub|W0Wb}_v_Dlxt@NIEDGN$;} zyegDj!**Zx)Dwsd_e|Zd_PI8pGoQ?EI}G*9uL3kjXd?MojaE=w=$gN{W8#bLQ>M`s D@0B?_ diff --git a/Classes/LinphoneUI/ja.lproj/UIContactDetailsCell.strings b/Classes/LinphoneUI/ja.lproj/UIContactDetailsCell.strings deleted file mode 100644 index b8c0d586bfc96b35ce13d5655e78ad7f605e9562..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1476 zcmd6n%}T>S6ot>aPf@xoqzv?(za8%4pb4<>GW2baEu3-wFd zCIkX$grW=ylY8$>?)jPd{wirrRh89{r-7!7vbK3DI#Ek?-6>#9|n~WFl(9nojFkjgwJ0?FQ(o!?7+GXCArG1_8ZmXmId_|SsO3bq=YD;xe ziU0CqKFq6mGa-r+|TsRNjvF}y&XRq>xu4^ZCA(YlWZPQkm5#uoDp ze3M3V$Xu`8?dUIBGvq^O{@6qr32i^H5;niq+%H{(qu=g6s!0JL;e4A(5dN2o)G?fmn$ll);n1iJ_FC1PJpP@_-`NK=DL|WFSlh ztIT9bV#oyQ%LJ;ZWbgsXB>`n};3fnCdAUHnWk4FD+aIVR3&=|b>hNT6fvYry%4-2# z!v$oUGUyRylM>v7j@;eBAUn8#kTf6V0bN)GbY~*a~e4A(5dN2o)G?fmn$ll);n12Pl@rkP4JjVz35^CNd-gVJcW% zCQv35D3i%h!cd8%5~kmoA)g@+Cdpf4Kysc8E^u2dpz>Nk zcX0vP77Ths*{TFLL3u)Atw&&<0dI(J5XderASA_)B|ukIfL#m;2ULF;lHq=siRf;G zm_^8aP7I|$*OY)mlk!+dWGDlMCn#2m2>8T^!3ZrbKqBPE#v+3Y2Kx>E7(ikK07G(R A*8l(j diff --git a/Classes/LinphoneUI/ja.lproj/UIHistoryCell.strings b/Classes/LinphoneUI/ja.lproj/UIHistoryCell.strings deleted file mode 100644 index ffe51fc898b97feec628085906f37d3d3f1cf633..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 456 zcmcJK$qK?S7=*ubz;_5a7F_Tuo-9gT5JVrKmSQVvL3>aiULBWK4?XBXeiD+*OlIbK zF*Nb8^w*8l(j diff --git a/Classes/LinphoneUI/ja.lproj/UIMainBar.strings b/Classes/LinphoneUI/ja.lproj/UIMainBar.strings deleted file mode 100644 index 71c32926df2bb370574be342cd83cfcf0d371bea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2598 zcmc(h%}T>S6ot>aPf_Yd3+h1aAL7P#(SjnyiVNMOF=#Zc&_qzs7jWg;wGW}VQQY_z zBD(PvMAVaM)4dHpvxxO&KSlQVTx2fOn9^(>X7_&bk< ziB8E3B0P#W@g$ywuQ0`-=cq$>U9@?ogQoQ2P-XBh#P={f?q8|a;ZUP1S5oYfQ;*{) z8U=+$L7RrP>m5ylL{b+~JmTxtVNoRuKhrGc+;|d2g+x)C#DlmI@8Uyz#k?6hzACat zc=G0Y%(n5~N{Y9VwzrupMxG^i5|wF5wCgb0WS05W+h+CNk7QC-n3T1d%wJyb zOoK>rA5lamRUY=ZUViJ)SeI4UC6hgN7gJUN2eafd7jav1SW?*dGrC>!yy=S1#NEv diff --git a/Classes/LinphoneUI/ja.lproj/UIMainBar~ipad.strings b/Classes/LinphoneUI/ja.lproj/UIMainBar~ipad.strings deleted file mode 100644 index 8dacacba8f215c836e6cb75044dfee0be7dbaa8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3658 zcmc(i%}T>S6ov1)Pf_Yd3)ZRA(iU-JyJ$fXvEo8EX$=}}D>M-l^aWhGcI`tbZWK4Z zg@|r^1rha3+DRZkO(wC(P-te7>ACstJ#+i>ouLKFQi zzD=NQGZG{u-Q+O@@9UCCr&=YynuyA@vvY|28|7zMhE+W@s>(FaA#8vN}b)!62p|WPXmI*d{aO1A+&pnz2pSg&tDN@l# zsHjZnylt}2jcxYA?wI?lQ75K1Vhj3Dkz3NmY9wnq%z?wy%bi@ul6$FYN=~7VXhiR$ zp-%LeEJ{8WC1n<`IN$Hlv)ujzjbQ!BY504^;A)c@qgK(}=T2g#0A~y8a@<^sThXfO z)lLcSt6VV?tv=035&UN4+gIs2I4yc|UCczQPu_V<)*i2S<-~oec?{Jm{cCzxPT5%E|^C6KC-7C)jtftv^ZiFbdBSG|~c zFfm4b+fqo{iUm=#+0E{}-O0S2H}ml>VFd}qpu&U>iz9}0&N%i^Y82ks#Mk%cNvLP(9YVW#c$*;Tn@?Gs= z5Ji8B;Hx=R)Mvf9JfqiI3fTbX?97~phcDWaHgCmws+mWHN+4&#l61O^Q1(xh=iX1z2vzov5v~nu*ErDX*p2Wr5LX@DjHaj#yGLDPZI+wim3B4vCcb%W8|@cCK|jhQRB`U_iMCWTrk$b z5p4P#sPLObEFp*GN$fr>ROu}-Dvzx&Du*3Zkij--4+yHfU=`X0W5zY7T=voCgdJ zutEj}oRP(625}Kt)|%gCM8ub#bi|WKc@kf4nBO+cfds{}*CzroX|C>MZai$KblQIdIJVAr5uD)m{E+VOBI&w=r_|%6dcf7S$dh$SP6e#DJR-YvA`5qH{2LU+B A2LJ#7 diff --git a/Classes/LinphoneUI/ka.lproj/TabBarView.strings b/Classes/LinphoneUI/ka.lproj/TabBarView.strings deleted file mode 100644 index e9a560b0de76b0b689d29e5fb399a2706ed9e8fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3742 zcmd6q*-FDe6o&unUdf+a z)xA1b-U%Zde@8S%)`IrOHi>oeH; z#B9eTx+2+$x~PkC2_3_(jx3iN{;XZU!PhV5yP$5@RIjKWIiIM*kd&WUB+s`g9i0X0 zx5C^=Yb|qVCT&Xv-Z;7qVsAy7heuk|8y&N!n)yLpk~@ks?s!q$4Br#}c`D_q=?j-+ z`^>(eLJeS`O0M8ZpEV?Smh?=LdRVT{CTYBSo5C8e!l`7&WgPOz{9dJJYId)l7`a}w zUTX!54baR^S-obpb+PbOagsXb5knXAFvi}u!{KLf(A#Vl(k!cgIYw5Q%D5xmVAgGr0(HN5j^Z7))Z{FT35ad-bwX_Pry9{mtim%_m2uXRis~rG?iO}KCGHVLWVvaI zZ<|McrkiEPS#HgPxi^odXP&S(W?<49uzEFD=8kokF~vy2O#qtC5NX6;75s;wPJ^!X zXShdMC)jLxlVbUMovS)P`QW8Sw7)%W*p^T@+b z^tvWG+w#Wg>{5Xq%r~emAA9k6+n?y|>70Ltb$%Lyy-vkDsNK~%)`zp=l;$>%-_X2g zuBq;@-up9FcUf&P1;ZW|>63(`I&8G*l5yRxshalTqNHtX8GmPr5t~O+MxN5tJw1@GD?Bc zQ$Zf@c_=Ql%~^qyO8A96EDe;UuXlGjKW0}%?`k8|xw=H>=#Wzf{U%@RdrK0X#dDM* zHBl^y(94UtHm}SM^UAbM&x6JI?*6W-cqtR}0Wp=-nt?(lpyvnC`T@Zv&%OO=43{1F zXCcy3nl-0p=zqW^N--^$JM(BB%o9YOS#M3(*lL>__B~q%%Os?R*`K~n#tGG6Q;n^f zvKFD}pxbAyY8hIiRTHK72|8W4yirB>GqUlC`JC7XotC9Sj_5F(o~ZxYy$4>09TDX> zt|R_F&p!VJj|^||7jWnSPbXt}j#B)`Jg4d773Ko#yq03RKk8Pa^&O>1QCI!y8s<65 Gucc2%zy>`4 diff --git a/Classes/LinphoneUI/ka.lproj/UIChatBubblePhotoCell.strings b/Classes/LinphoneUI/ka.lproj/UIChatBubblePhotoCell.strings deleted file mode 100644 index fcacb39e681da1af6d3fa027d824a402dc1a73b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3224 zcmchZ-%b-j6voeWujUapT#~d>jSw|n)E2ea(ArdqmrE^BT?(l!6rU1B610#M4e`eK z2QV8V zuyPjuYTkDY%Q{53MQAO>`aEfC*ap8Yopb8%k0^@zShbqh4U<^8g!c7D?IAC*qn5 zr#y}v!+`;9AC71~45*J7iNlHODZb{$J}mKQ-ALc8$`ag4%O+Z>^JNk44ZZ2BzRe=3 zZ?x(kq4{U(m+{4{ez2>OpDP6^%NojGqRo*b;jFOXii6y~he@`~hBZnDg5y`|{hGW- z;r01lp?(9~tATjhEHXrWs5=uJC&X-EbnItLExR6X}}svDsVMNl){;6Lvxv_HjC&pe0udL4X=&(aaqBA*7zA%LUY3dh$~4p#1-`|Ei6>Dh+vyXh<=;w z1te^+kYR>1=Q96gzL%bMRF_krk$SpiIUTWUI#)+$8tOrbE))^nlRc!CWZAqkRIC{} zN7s}W?lhLaTI>F<`nsV$V6vljfe`2t%m%qD&RECV&k*Xc@`yKe_yvBgc&VC!$6Hk@ zLs<0TH_Fg^FdcAD-H50}R3cCxRd(ju19(rUr85b9CPZUqtCe^0@&wIOH914=;`DkV zSH7vkU!iPcR=V3@vq+e{`)2hTH4bA+E4M~8V4MI Q9RHgKIfGK?HV&SC0Qi1%egFUf diff --git a/Classes/LinphoneUI/ka.lproj/UIChatCell.strings b/Classes/LinphoneUI/ka.lproj/UIChatCell.strings deleted file mode 100644 index 9554fe3f8805cdae1de4fd24fa9b761dc03a11ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1596 zcmcIkT}uK%6g|)TbbrF&qoB1xghdab4_QhC717&PTUw@N(#OAC%b?Uig{YVM3Duch zS4)?4%UEW1X70T+_sltSKi&;YAqs^g3b1g_PhpWQf=#56;o2^2+9Fuss)ap%w(FOt zB~MEp6y`LeCr5g_ zJjkOor6Z0!vA>tLD6~0ylbX~y*Etyc!eFm3+bb7|cRwq{mm@00>`TAK%iJ~Z77oWiVGgllhGyr5EOg|V9979hld~$hnFJ>rWF+ru*y}B_bLuKvt2RfT z3fSkU%yq5Bzv3QdujXpakyclAj@-%($94W4X~-+lYMa9U-9iG15wC0q+c-naRc;J( zeCyT#uR$Jhs^5D9eYN^$jZ$cu_w6ZciwxPg?4B1!sVTxxCs86sY#cZ^lX#PR^*Adj$hr$J_Q)oHRR+__vUG^li4d0OnX3MQd+lL+S7W=G&I cliejE&f=JT2J2+ryD7iE26+TA{ryA(pNMS`s{jB1 diff --git a/Classes/LinphoneUI/ka.lproj/UIChatConversationImdnTableViewCell.strings b/Classes/LinphoneUI/ka.lproj/UIChatConversationImdnTableViewCell.strings deleted file mode 100644 index 7d9bd6946c301a20036533e0b743e310b39e4738..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 714 zcmb7?O-lk%6o%jRtjK9QGLba z6{6l+b;X%GvJT1`JE{6s1wAX&le)~8s;am?k;8>Y>{8@6RfEk>=YwCHj7%~fo8SBlbs@qiO57i7)W5j}(<@r4ndMZpL zOpB($HF=>=z=n=$h0shah~H7S4N)|FzL|8(=&1KU{dL|oBV}b24y7%U!lTnzYGWyh zh4{Sknz^gXeZ(xsTbn0sAz(sJH560%+>v>+A&RHjc}gz6x9+$5<^H(G9P(V}rPkIy lCerC?>nrWzH`{yJB_s^w>`l1^Jj!MG$Da*h%g)B@Z~%c4U=aWS diff --git a/Classes/LinphoneUI/ka.lproj/UIChatCreateCell.strings b/Classes/LinphoneUI/ka.lproj/UIChatCreateCell.strings deleted file mode 100644 index 2c2a4ba7f3a2a1865ae17106df5505f1d477f50b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 730 zcmbu7%MQU%5QhJCpQ7nfq7pk1iD02FvBBP@sGvgQ_VD=7Rw4%xX*!)VXJ*cP=kMig zDW{BVRkhGSTOL~_UPnE7Y7raCXU|cQXoP>jCOLD3nrS6hV?1AFG6U9Yq9I?OolqN1 zD+HDo|dRNWy(Gp`P#>44^U&o`lfw=KEYkX2o0X< lCwjMD)cwr6<1ZLPI#CnbhIjeGYszq$^7}+j#Z5C=x&q1&Z_oe$ diff --git a/Classes/LinphoneUI/ka.lproj/UIChatCreateCollectionViewCell.strings b/Classes/LinphoneUI/ka.lproj/UIChatCreateCollectionViewCell.strings deleted file mode 100644 index c4186dcaa445e34304e704e7189447b464cefafc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmezWkBdQ{L5o3w!I>e4A(5dN2o)G?fmn$ll);n12Pl@rkP4JjVz35^mH^omKoX|L ziy@yOgCP&dcLB0ep{o3Wda{7LWS~k#L$V z?|dCkYjVnHhh7Dh#`s-Tbq3-PWKsDkGOJZ>%LAL`zDC!Ram5l7ImB^@^qlXfrhRWs z*9^^@c`|qAhB%zs;ru7dyyaJbe<6Wo8TNbdYoLG!!!4d79VaZ~5Xme@Fnc$T3-T-B zR+S0-@wZ#Vm-sPpI*@A*b)zk>QxRx0 zVKdH9>>9Od{0AO-Rj8iTEDjN;S&uCkm=PO4G|zVHhit}!arJ56^vyC84$KP(SGVRB h+`#mSpSXv}E_GegBNKM|pvS$e4A(5dN2o)G?fmn$ll);n12Pl@rkP4JjVz35^CNd-gVJcW% zCQv35D3i%h!cd8%5~kk`C{qMfS;CM9)Rzm?1u?@Ps4ol1O9sk#GPuC)GlR-&0bRre zWScSQ5oMne+=Pb$7X;o3ToJe>a66 OKg>jg8?l+m#Q*>>#y!9Q diff --git a/Classes/LinphoneUI/ka.lproj/UIContactDetailsCell.strings b/Classes/LinphoneUI/ka.lproj/UIContactDetailsCell.strings deleted file mode 100644 index 1bf2537c60cbc99d549c15fcd6e1b969e54e7ff2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1498 zcmd6nPfNo<5XIj)r~L?_$3mirolyT+N>~(jMP%Z zxrm5+?XcHkC(duEs)MgLJlSBk%YGYAU9~)F1N%UpwsgX~p*=N+C(7jJVA~@6nKCKm zfB7&E=H0xQJ_?8R*Qobl;uO5Q+T>l+HcSr~9-+2H{Abhwm5-;?x`_skz`I0^J?v$4 zGmhF8F)!*zYW-%O%&U3Enx*1}b_dz?sLmZa9rZ$&4(QMWJ~d0(TSxzqF8S`OKf&r` zJrd$cb*1wuJe(0zfq{^d9-VW{E#o}cB78C$e4A(5dN2o)G?fmn$ll);n12Pl@rkP4JjVz35^CNd-gVJcW% zCQv35D3i%h!cd8%5~kk`C{qMfS;CM9)Rzm?1u?@Ps4ol1O9sk#GPuC)t733xFk;YU z@McH{k_JFEE>Im>KsRy$+1OO*5#=T&xGfI_E(p96xFT>%;D!LmJzPLYN(htyU0wln eIn0+{4EYQhKp!dqU7JrcKf-K9_ye20TnqpMTS#00 diff --git a/Classes/LinphoneUI/nl.lproj/StatusBarView.strings b/Classes/LinphoneUI/nl.lproj/StatusBarView.strings deleted file mode 100644 index 64396588de395c340ba7b9dc2489246f0c38006c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1072 zcmcJOK~KU!5QX2lzhc9Y1c+kvV7#ElU^E&~;+4XRB^8rGjr@7_+g1yWi?s*Sw3(fG zoq6+i=Hoq3M@<=>D%My_9-|Z9hVIo@PpMWsFIwO^#=pQ$^b9uEog!kfZ1K;Y_SMzF z7xqS>=0qo;`Z_C6U0rIXmd>fsBGa5qdG;o30&E|my`y%c$h%!VAWyx{#_*iL)@cyI zJfbt#-&$9242i@=r2(fI(IxSO=nC6uWHOIC+X@Y?^^|FFt3xyx=n*Z-8u$=xYE`q` zC^CeJW0S(m=oQ;>Og!v!zV%i6eIB-TvRU2fKk4Gn2|(pd>=I89?O&BL)4#?YL0X+Ogqgg_Q*`%|_GS zwfCIUdwco%jA0MEh@*@i8nD>nIOdbUJ!&|`1UB0c1CAVVya9vFl$ISd(cyO;T1-*r zT$3|BZ-p}29J6O%UURm~d4nT0R6MKPY<`!X#MsXv9cq_^w}QLRv-E3(F@Im=sxhv( zK740HZb^2=#P9I)7s`A9WnLR)RiZP|#VWPQ?lCOCN0Z;>0atb;$mRUI+#pKbC18F_CrbjccSvwYo;p zZnN-Nuuj&7NFhV!QeheVdtB=Y}*{ zFK4Lh8?t;4@aWY_uDU9VDC%za234W)>#DMdqHDD5?XSF+ReC0G-vjDcVVtHIwI;3t z8C+$dtES&4e>Et$Tvl^LV?^iQOPe{XOD1}F;`;?`C?_?~Ocy#1vJlEx=?8+029m)ist;?WFqcuEIR$_`7J{VkfweG>s zd(y{qfaeg;`%5C#nH`#{xnn->Vg<%>0#9EdN)x%Bdz2Q%F=G4d^e`mqX<_wa}CqIgd?f3be6lO4se!ZO6KELWmKg-Fg4QNk|=aG zr?bWR+WN-&%OZUc^-pURx61di%4PrjIa7U1Q8X7dYRozG<_rpO4E7w(b&l*khL?Xu z@QqN7Sxr=Y97$!-*4!$01*!rqPYU`^b+Y{KF8JF-J7PTR!_J;;p+dFQPxbCsg|!?@ zf6mlc>WrETFC#IEv2cV6+K*B%$ikwfZqA0qxL9j#G3|hJ*Vt3*xEIGYDB&6earxF( zi!CMh*e_5!sMT$APpeRud+7?^B;u|To8{iGBKO$W-Nmzc28I!9zBsiH&z#EHl(-f( zm6a5`?s`~8l3}c+xiYJWl$+n`NLAlcg{B;##TjoaGP^j9 zc?7=MGm9*b6M4Z^yoN z?eA8^s-WxG>d|a?l@`%#B$PQ=?zf7h%$`;DjKw-D)Mv$%ie8q_?>QD? zRMFahq1GjOU#aa_s*W{TnVYJ2{l2h10J} z19VgT&4lrrpfhCe_MQA9&*ebA$8VDLI=g}Eo}#zhM@(6Hz0UhQt%5>VgqUuB-S`OQ zXLm|ZIyiB-!2j$gxi+`k4P8afM(fvQ8$I_QSdkOxSQi!hNh#+;SETYkZEu<(()NUq zzPHu+fw^`hkZCitOqDhHfi@;4>kS;aFho^Pe-W+u<%S44h@d$zhpY5W~A ybVW!v_l;)Td!~3EwkqB9acezRbwWEs$M^(TewW|yI>Y@-epeZ~B813VT9Yq3FSnQg diff --git a/Classes/LinphoneUI/nl.lproj/UICallConferenceCell.strings b/Classes/LinphoneUI/nl.lproj/UICallConferenceCell.strings deleted file mode 100644 index b4ef1be4ebfb15e0a625329b322f87354c50d0d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1598 zcmd6nZ%YC}5XPU^_bJ4ef@VoVMQ=PIP9lZMpm(QTb^STR&eA@7_1oLjl!fyMA(orn z+nw2Y=9$^~`t-D;ic0eJq)@Mnl8*Vxx>TT3_6CYLE9;2eP(wzP>BXGHoWx2s`=vRz z_cc<&nXyT+O;|l+Yj5ge{lK3&3)EhCZK|QEs_gcW7ixmTT2w&lv36?{P?PtBC zJ2Ft!wGNO0ytUV|?$Y@GS+A?EL%u!auJ&_k-xcF(?YlH;uw`p)nRS=nysQVjhmbr( zyu29s{)6@}*$=b#WqQCkC-xrQz$f=Jog-s7Yphj(OQUE7oDkOlEE7CDvL1u%HtTSv z$K9}-z`!P5VUwQF!cWRDebDBy2$wyuP3S>+y&_SU7^?KeD`X3Oe~mepMp5Q0nh$O_ Itl8+l0d@8B-2eap diff --git a/Classes/LinphoneUI/nl.lproj/UICallPausedCell.strings b/Classes/LinphoneUI/nl.lproj/UICallPausedCell.strings deleted file mode 100644 index 15274b5edd222e75e4047b7ad4e6f17db1da5b64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1598 zcmd6nPfx-?5XIlQpQ7PNQbdh0(RdLOEgCd2c<@#bvC1En0?LP1f8Ej&$RcfwiP?0s zoqap==FRMWeLC7vS*~j8E6|wX>V&VPmVBLRqKGll5X&+4KpjTcAVakkaxMh%p-cAK z?DR7a*H|VXyNk0|>_73>0q?7x;e5@(dAeiQ1AmUkBw87E4r?2tl8Z|zi;}RJ6ThoB zo3f7o6ArF6snSIK271g?Wo~Jj#ZOhS zA&RPUMqX{WOvv!rC==+x)G@B)J=P%#xI_;!tH)&h%tt%Cg!8@6xx3hubkESAZ zR)3{J8g+S#Y;lX`@|*jUuj&zRNl3jfcsV?JH`MD|)oqCXU-c?)!4cmc^R5oI^u8^} T)!w%uDs)-WYs;$J;yU^U6y*1r diff --git a/Classes/LinphoneUI/nl.lproj/UIChatBubblePhotoCell.strings b/Classes/LinphoneUI/nl.lproj/UIChatBubblePhotoCell.strings deleted file mode 100644 index 496d6fffeb088163e673cc19e4fcb8bab2915e80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3258 zcmchaUvCmY6vfXopJLO;CScLnMvV^$wNeQnK^q@|LW|vQn-yB>hgW|yuq>=ohP7xm zot@6!nYriQbN}$`XF<=juRv9W>ghXAptt<(>9gv3r>Q19H;Pz!!+K8xo}rZ-tFJNp z#z;J&--h>a2p{wh}dNi`*3~wK2JnE7tajwg{DZ16$eaKQq{tb5x=O>n76TBNSy9W1W zpPmv29T?ovC&sDn^*)2zC6SlMO>{BZ1Vo96uz+}4)zNYITT57@xGteij zE~~89dZCxBoO0@=y|u>dUs)v4AoaXY2Ok^iHfAr-_zO`x#5eg_QDdLUcXzyFd>v?n z2TTqelCw5*qoFprugL9P#shYK$Z*3Yk(V2O4SjZcTFy6|xQ87f@1EBtO&!6hqAtjm zCTb4h+}w&u-gimlx5=M6<+p-6GbIsHQ%h%L{s!*~m2EQ@T&T9e?bacU5tkM|q`uhC zet#_EpXrJmZ>o2j@hc4PWPIt8DB-{{l-X?)$jM;Q?H1CUK@MQbx3W$?Kq z@^bZm^eAmuTERn`IqE{Q&QX_yzk;vc?(=PT!HxBdoiHYey#~1^Mlv81-%|IcWcreQ zdDiL(GoT7)CESeNq=66RE-F(M8?5##J=+_Y{$<|h2IM7o?|n(O xdJg`wMS4W1maR)JiM+f%!9RU;nc|}><}sR$?C%9rQO{Y8r~=z`G{&a|{RV-V>;nJ* diff --git a/Classes/LinphoneUI/nl.lproj/UIChatBubbleTextCell.strings b/Classes/LinphoneUI/nl.lproj/UIChatBubbleTextCell.strings deleted file mode 100644 index 24f415f1f07cf28e6d9a2249cc2445677dc50a88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 758 zcmcJNO>4qn5QOKPUlBYCMn%1}crkiVLcM6AM-7S*O@hXc{(1FD%m)>Tcqk$7yV;%H znOSnZ7^Qj5}ThIABYN6rKlGU1@DtmL`l z$C_(R-KBG=e$HU)2hJL~C1;?X+9^X7RR-}hgq8DG@=4_i3}%(NbWkxz-zH_Bq15F& z-iAlTqvFB(s{)yMx6$oWi+dvU_(WTJ%bkzen+a diff --git a/Classes/LinphoneUI/nl.lproj/UIChatCell.strings b/Classes/LinphoneUI/nl.lproj/UIChatCell.strings deleted file mode 100644 index e71e37f14c013782d5275031a24aabcc3e4a7cd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1586 zcmb`HK~KU!5QX2lzoOwt0$LJd(0EWdh=RsMjqz5oN)-XILHYCQw`~^$s-_6SJH)AYIAm@fV+}*IrY_L1hHJmO~_5CNYgKpR==U4 z2HY8)2;Bj@Cv+1_r)WR$XYN{R&QNRGOeM;A=CC&>)wPgIGb<;^8#GrF)&XmG!J84t zW1<)`j6V*eNFE~e-{Po}TpeMj7vnV9{WeBxbsk5S-J-r0;jDx2rUrc7uMvf}!jxB- zsRMAv)KHiFMgPLZIhI0VaMRgmH;SvgV-ovGROwk?EwSE@36mYl>H-Hk;^~ZZnCw zo5JcHHcbZ#;PdCMV!A<%SdWpeP-~tJmmPozQebb6Ym&S a_ldNlN9MN9U_8l??W$Q4Sqv{CI{E|=_vyy~ diff --git a/Classes/LinphoneUI/nl.lproj/UIChatConversationImdnTableViewCell.strings b/Classes/LinphoneUI/nl.lproj/UIChatConversationImdnTableViewCell.strings deleted file mode 100644 index 0b21765580608ec7e22a2b87d3257b45c2a8df48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 728 zcmb7?L2JT55QX14zar!)MBA#gAYM!@D54kJdzvVww28JN`sdYeqp>QBL6%)+XWz`c zH?zB~qnavm73f=`{#dTsY)|j%X@Kuj6W%YXy#>N;e&M@tC52$n{30^QdfJj8UIr{gmpRq45Ky&ve08M-N(E>9rxMd6hC||GgN3H*8$8hxsg`3$}B3{-QC< ry=IR0cItZSV=~3m+ECMHKk9{F(9l!K{B3Fv|Eie34Pl%AZ3d3^ELUnB diff --git a/Classes/LinphoneUI/nl.lproj/UIChatConversationInfoTableViewCell.strings b/Classes/LinphoneUI/nl.lproj/UIChatConversationInfoTableViewCell.strings deleted file mode 100644 index e20c087067a44488f711ce51c14b3fd1c8a537d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 646 zcmaix%}#?r6ot>4rywjzXm`3WE<`p^BO2+#B~q1XRT4y_FRy+@n5vmd2se|NbI;Gc zpC6v)3gzom4=VM{=j)h1&{C<+xVzCUZ-I`u?KruzN-QqX zwXPKDRSW8&a?2Q^@6qi-%&cBunSLvJ^#12R)(ae+8tbscTZO}IQiEHA69eM?N7gZ2 zO!`WjiENoJm_nplm((1kgP~*0=0ePR?kOj`+y$On(%kplQ@N-1mNAhUr#^FUVE*3j bzU{Rr7i7C*bCJ%;ng2=XLb$f)()IKOqt#w; diff --git a/Classes/LinphoneUI/nl.lproj/UIChatCreateCell.strings b/Classes/LinphoneUI/nl.lproj/UIChatCreateCell.strings deleted file mode 100644 index 2c2a4ba7f3a2a1865ae17106df5505f1d477f50b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 730 zcmbu7%MQU%5QhJCpQ7nfq7pk1iD02FvBBP@sGvgQ_VD=7Rw4%xX*!)VXJ*cP=kMig zDW{BVRkhGSTOL~_UPnE7Y7raCXU|cQXoP>jCOLD3nrS6hV?1AFG6U9Yq9I?OolqN1 zD+HDo|dRNWy(Gp`P#>44^U&o`lfw=KEYkX2o0X< lCwjMD)cwr6<1ZLPI#CnbhIjeGYszq$^7}+j#Z5C=x&q1&Z_oe$ diff --git a/Classes/LinphoneUI/nl.lproj/UIChatRoomCell.strings b/Classes/LinphoneUI/nl.lproj/UIChatRoomCell.strings deleted file mode 100644 index 254e8b072379b525431a2cf35788c01c6026c980..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2650 zcmc(h&2HL26ov1arx;}!HMAvF)E{*dkSf$x-Owz$bHF4JVn@cL?KAfs+J0xo#$X7p zlSO42X70?~d(XK)<3GPU_S}xmS>F~G*^mE}CCB}m>Ok8I2n`<*kp zv>E4S?D%P)Si59pvDPr~vzXNw*==zuvMWYG+ZRsEnT^>qw88r1OM6}HIL5yYV@bOI zWc_HZKfVyT+!x=b zxBmAq-k$YpcqQqgBiO1i?YEY~ZrxfFt|4baEH2<9hNs|Tn+SjAoN^}Uag1`0e8s2< z@!1aIv(^zl$9@&fy7eXoo|@e$oF(LY3g$@z-cviR;gzIqMh~!6x7i+Lf|krje_TpPVZWbZ0ajj-DHCOgq|VWO;|_ZP;EXwqxGrRXWu(CVmp{irn za#kYW)79sLXX^Hj6=_J3spb_Ubv?&k-3K}U$|?D9i%w-+#H*9)7gOZY^NhKA^O83! zd`K8ehrG=SjhmK3K5gsiHq_rk5h^*Vvhf?X=iV!I#X1+i3S9SirhW2p1_Ea{+?5HB zSQ9UI{+<)7VXh7x7qc6$C2%HW;zIYJ_$qHJ@i<4Tq|y>@+N%wV@;$6&>4U(v860b*PlV|c|73C4iB2B}D`#Q+uc$E)9+DIi)>7iKbKW_s?- zd0aj}O7f$wiUPG1YosM3&?&R5YjxFBsug3dgp(7_6V?kofsHlPjBl~RZB0uJ^|`B~ zUWUKaSP_UjkX^O6$fk~Tp(@xWzsKBqpH);;hgq5P--z0Q_siRR8z2%`8>d|*Fk@$K;;1SSLj>7rHaCHcHYO0$~;7|${VL`jsKA*f7aO}wK3>8&B>bPiBjr9LM0eYJUr8Vo#-U5b5P3mvn$o_W`H zspH~%G0eCWC0nGp;gSjThSJn&PJf)NQJy#^_Hy9dw%#(%=1k1k)Gyo(=CAMf85N1n z3S5iu>>anBt5 O;%dHkm-+2=l=KC52BoY3 diff --git a/Classes/LinphoneUI/nl.lproj/UIContactCell.strings b/Classes/LinphoneUI/nl.lproj/UIContactCell.strings deleted file mode 100644 index b54f1b4f4bdf67752b5880a3a0d9648cf65c2424..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 396 zcmbV{y$ZrG6ot>6rwAE4=+;G?6rmz?(!G{~5w%b==*w5XR#P1uR1Se8=boQ?YmLTA zWHr-4h0efg%5hpN(~7^XDmbSJzlBOr^>ZG^!*~T<-zKAe0n;!UbV7GT_3+5i?Rk|j zndU=Y`s5QD8Sbe@U*);MVWS!}eO{N?BL6_SV+ermjiRD*ENsU-Orim9%;gS(0pa zW_RDbc{86Mj<(d4tG0{=dSXcqb%&+9>M7O-Vx==sg(FB{r+~(o0g``p5QeYXU*k^j; z`;gw_aK~SBa0!|_qCeL$?~YF4J>$FJz~=FPI2fP`lSlNO4*KZhhUj<5zsGzRO)Ya^ z^VpPw7EEVI>hfOcIYTjL=NsBB>SIb(OsET=%q7?ksfkE4{udPyGn=G!6S9(^w{cDU z_xQAkJY=UwHT5`UIewdm526fLrS+d7tK;K$y&!;**R)fFH9Q!Y8p6OH40v>gZ92v> x4>pfYb+C$O^XTI=tB>>{1Ik4YG-RSs$Ljemoz33=Y|*R}ul@c?1*-@geF2NP>KOn4 diff --git a/Classes/LinphoneUI/nl.lproj/UIContactDetailsFooter.strings b/Classes/LinphoneUI/nl.lproj/UIContactDetailsFooter.strings deleted file mode 100644 index 047ac0813370f63563014e25310e5f09d10ae3b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 466 zcmbV|KMR6T6vfZ{K7}|s)Z`Q`)glBzRJ&S(VjB7?`tsG!SBXPJ#pUtt|8vg0U5$nc zoKh)qWB){9RVQZ~3Tykxl-y$09H+?01YgotVSUF_{+g>;6D{61n c-o-km_78>cu|8??xLhCe;FLDxDu-`$2k34}lmGw# diff --git a/Classes/LinphoneUI/nl.lproj/UIContactDetailsHeader.strings b/Classes/LinphoneUI/nl.lproj/UIContactDetailsHeader.strings deleted file mode 100644 index a2145195ea71e822a7ca7f5e5bbf765573ade186..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 746 zcmbtS%MOAt5S%k#K{#^I$ce;w5fejV^yCKsqQOToSd9L>I&B5T3#e&G%g(-LXYV%) zeYmg@V2=nV9vdTm4weWpqb){C%)yY>2nkQB{W2mMkqi>oH_s|QKn_7n#Yn~qz7C8v znHG%R@=swQCUsT+iM#B};@d~BQ&p$VFsHw&WaG?R@JgIrrxHx|z~Q;^JX z(VWbrnoI{jFsw4ZSTu7sdo~r?x*nrskFsX@pL&s=rc$$L;pf5o&`?>vRdLE0$E;Oy Xzjj)&2y4BIY8zLy3T!%QY!rR~qy%=L diff --git a/Classes/LinphoneUI/nl.lproj/UIHistoryCell.strings b/Classes/LinphoneUI/nl.lproj/UIHistoryCell.strings deleted file mode 100644 index bc478714346195f7b319cb099ad5e9ef5378d388..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 468 zcmcJLKMTSz6vS`Nrzjl@{=rq8EJ{^y(!G|Vk!qoKP(Qr-YcM4+?u`%gF>ZuJi5eH`0{{}NmP<-a)Q4C988}5wpmn&IrlC2f zotb~WIWv5J6>x$w0<;jJiy5x~=e&z}Lb+KP&Bn3WKar`GQ#ngiHGt{`Ii23`fRtvOf z(>JEp7$Zgy;X#!}wB~Z+Jk4`qQMBIfVKi76T~Xsq3CCoZt*hpds+mb$Dxp5>BIMH( z@3Hz9zx!sjtFk;|`_*D$)@IJ6J_oGSY+`kfSlvwQT1kDTzU-7N%39iK5oQwi z!&BEVt6TLqRh2W1K`QeQRk`YM8-;mwx$0p*nk)?OnMIiyAu~A4W!Ur>Hq8t>^dlWi zCXdV_@p>qFyKBp%w~LzP1fHK83$ zkc^I8ga(`HyQRjps$GxOxm#B|MyhR1>P8V7u`Z+z$NVf*e#u)jtGvog#ER8o!>p@1 zjj#5;PkOtlbz;;y*3_c;R;1=Jt8_czcMNvXjE5*R(Tip%Mw1Q0C$61%#*`~KF*0o6 zEJjgAY`cG-xn!@4`-mS&=3@~oMxTjd9z~%OZ}yK3y$98`)?B?YyVulm0Zq=|G z8)zg*HmpfX@0qJP2+cD0qPX6Y-&dT4Fx||<)KlYYAkjWqA=>Xc(A^`;>$3FdNTI{& zShjOIoXebQueQS!u_zEgD_*>wXa z(d}fU&ZKBv zt~-6I-hD!H;3SkddnnP-#YOG@cjWK84&tYA8L2CGmku88ibMOZ?hbk_b(}J?yubMT-$BebBUspjZqQ`=}v^n%Xvrw*GwEGn)WGGB)5i{d z+Geykv7Zrlb6P#xU0QvvAF-xgG_totuS4Eka%WN3!*%ST5!x$^RpYvWYM}_qu?I7J zX`}Mn^0vJ1rbHIRqVb(9T=rT11s-|=5B=ZaAvJv^<`I_+v@zlwphFp8_F1*lvWxuf zD|+ZLuV&xDWrNId6t|zTQR{&9*%{Svk*Jtxj^%Kdn0k0ptX*-nVmC@O5`nFxMDZIa zn0(J-{;qm;$0`@?NHmW|BE6gC*V!s01QYpj)|5psNp^F@wo}+!Kd7~6s;WlP z5no|&UYuhL`EMGyVV||R>a#KfnCNn5GxQcMo;+h6Mf#|-PlFrLpPP0fEvvj3^7#34 YIWCDyhuO8DQ{MA`nj~^eJ8@c$AGq!p&j0`b diff --git a/Classes/LinphoneUI/pl.lproj/StatusBarView.strings b/Classes/LinphoneUI/pl.lproj/StatusBarView.strings deleted file mode 100644 index 59c2158608750a1b36b1c89d242347d186d45f4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1074 zcmcJOOHaa35QWdWzoKDD0!A^qFm8M-Fd7M{G49$@u~=zRKrKIB{q6}pR9 z?ay+r<*QFLAgigfJgcD#^;FY2J!(|yQ)ybg3K|EyD5JiicO|d8+})v0xyd|m2B0+@ zL?Dlt%*>bR5{y2PIPcWv)FV11o)R5l8;)G-G3Rg#2UmKs9JF)*2W>sV#VQ9y8FhMX zN4a360}{{TN6vYn@#)QA3=~Hb&tHplB_#lvIwYG^LF~+B5S?vM^Qx>uO@vT1wc7f?A zJ0RLjm@G4QXXe~<&%Lv^H%0AgTN|pXtw256hMx1=)JL7DqP`MZR~<&4F&-$SMaD8# zT`}*)SX}FrxjHlLY=x>W7)vH^o-^BIK4j!XwajXNGQZ79iahUYC)X~U*$Pz+vwe!J zu|7nvz}hqZxB~ImBfrCSVBtFO#x=WJ48qZV>%~_CUjT!Vt`?v>w9p-TqpQK%z(iK8 z2ZeCr&-LP~n*9PUH`#tIqmeuePIWXsosZ()n)vL&Ujuc7hRe3L zK>BC_*0P>jXh$QyN<3r#2+R%oIx!TGHzH2*ov}(`#PX2;9b>iS7!4-pToeVij}lh> ziHFnNb*$qh@un+HvrD>`@0ph8?GiMjOdRMNPx;uhW3?>*XssB=TIBquQDlHW2PPvl z;O~;(m%_us?wzp^n`I(9^|cRcZk*{#{;aK5;qvFpQ<&_kq&<99qAvDnV|}M}&t>7O zzyFg{^Hli{bER6n>APsiP?0r z-JRK)bI#6wynEVFQN9B86zP@W>zJ>gjzXQWcB?LX1s$;(>5kEz`NizS?8HhnS@T@P z2O6l)o{33`?K68O)}GWN`iVcY7pk$$T2obHl~}#PUaCeNHlj$S9&?vR`A3x%mRZj6 zpK65ll`QK_$U2;5^T?EkmlP!98A{7tlQSPd?1OBuHOz~wD_l(wnXIQ|HRyUMm7tJe zFfXRR018fL?jf~bVkN>81MHLuzH z&hDEx?@d46E$yi;TP+0|=!IeHjHjlaTwQ3PkTKVcl~dLS8ZpKR($i2L=R6Q^x@K?4 zPEg!%%gO@eI6Hg8{v%%_@UAWkoT~_&qkDE8@K@ZJMytcl;@yO3?8K#3L`m61oQm(Z z7~f^?Y6@}!+dgc@T4ju??4(jz^XlEPsm=^8)2+QS(IM;{aCgj89i!BGub2>3mFdDILh}Jt z`w3k__`bqB_f{LNAMlio3+BI;a~`$yK%0!>s2!rl*#)@G&)l}n5r1FnkUxS)l{@&~ sp;tXUZPeO?_;0mt;^7mX1Ll1lZE?OSqxJqaAsX~n+F@m_O>r%K0s@cd_W%F@ diff --git a/Classes/LinphoneUI/pl.lproj/UIChatBubblePhotoCell.strings b/Classes/LinphoneUI/pl.lproj/UIChatBubblePhotoCell.strings deleted file mode 100644 index 429cac58ef07104f9cb97397c8df59c1471b7736..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3200 zcmcJRUvtt>5XFzLd zAqmND?m2tTZu0j}N-uS+w2JcO>5eU}_xz6ZRTUL9(U@(h0axB}-BX9HYa@HQRFAwK z5f7?y?~*(I>Ip@z3~aQ&%x)0zo0tw66_r+zr}{}=Ms>~EkN9`L%s2*LigQ;)HWr$r z)hc<=Oju_E2E!)BmW=&?N{n>Fy1v?$w-1}3VnyX)P*j;(EUNX~eBJA>GpwUqjbHU3 z3>&(IZ{USp>?-HO|Z;ju_)?H)N9dLF7 z@BNxq>46sRZRrd9iKhCn#o85-)WdbK%z3s4uD9XNi4;;>oSJdjO@U}Ipy?L zul0s2Ri1wh`!t<8JQ)7~L8$X41~Ws_`V0cY+Gq0g>AX1oTd|#b1@doXbjeTdg%WvY z!rgNmp>SHiKw+j{mnpU15j8cLG#OTJvp*s8(=sFI16M>+M;LAHtXmhZn1gQ$!Xfwy zFT7ZldfJ>f2&SmybMzvsQr8*o%IJzYWxC}Q?29@ERdGcmtx6Lt=Ivxun?JG!?s*h+ zN=Xe}Fz;&|^K{65FSt0xVeQ5c_DYl03wFY`^dlC}s0pxrf7g`1pbyI^IKt%_eaGLe zEgfAES=3%koRCAAYY(=oyVl31E>ZLSX^xHmWzwPZJMbIh?hH&jbn&Kcu85>=J@l7J z6PM=EXun5YOyY2j_Gq|zl&9cl=VmQ+|I-c-8 zF>0Pumu-gsN4Pw@A3+q$=Xf&}slobJiicA@+drcSov)czui&4vwK!vXY`>RW5y?Fr J;@S1B@(%=e;Zpzr diff --git a/Classes/LinphoneUI/pl.lproj/UIChatBubbleTextCell.strings b/Classes/LinphoneUI/pl.lproj/UIChatBubbleTextCell.strings deleted file mode 100644 index f08b70ddda57247088baa47285cc00869b641b38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 748 zcmcJM&2EA~7)9@zrywp(#FEyHrkm0(Y)RdyiAywXq=1+fQ}yB11M(A%!MHFJCc}I` z_uOyxJ40z6x|tR)>*iezQ$ zm_N`|Kg4HL_VrpSIGUi@;_jP0){CBUg(g%6=Svw@soy9&)e{)>s&nZ=F@-P8)jddO z{HN3KiTFf(R5z+J3-1ox3u0+a0?&d|L~XtE0keF=^HMgus|O~1tSFpc%CIt(Yh=|_ zKFQyrdbTyn60T2Q-vGku-hH z+}FA1%>Djyv4uPo%IF}#h?l|v?;I{r#R=E$5OObveXa($=M`$Zh&vH?BEw4#(XNYCv~)$ z>s3d08958?n3cY36s9*d#%vLhV&(mnG1;iox@)XhqShHzs_(GVZFX3CmbKXcm}7UGUcSj*mMTezx=HOdkLk4mw9LF2G@9jr#0(gmnYn0 zR-6Fltfg5LSgBF}6s66zNRw4|*=XvLeF&*(bNaJrvqC?aGH-kjIcXFg8B-=tNG?sh zd58mA7Kyk{YmdG5ah!Nq#Ay~;r;W@2;WJ1kjxZ{`_gUYOvmSPR*1pGkX940Nc|9c7 Y2Iq#yseDe(O^+<%G>bHj|7LXY11v-6Qvd(} diff --git a/Classes/LinphoneUI/pl.lproj/UIChatConversationImdnTableViewCell.strings b/Classes/LinphoneUI/pl.lproj/UIChatConversationImdnTableViewCell.strings deleted file mode 100644 index 86ed2b76d331b190ce765f6d7d55a0d49a208fb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 718 zcmbV~TWi8V5QWckenrTm5Vh5!Q2L^^;060qefNs-5-s)qZ+c2HQmAl>#E8jLmI%c`2?A((k_p?|kpVwpJ<+rKZy#4%5X6iPCZR)obIQj-kBWQ8} diff --git a/Classes/LinphoneUI/pl.lproj/UIChatConversationInfoTableViewCell.strings b/Classes/LinphoneUI/pl.lproj/UIChatConversationInfoTableViewCell.strings deleted file mode 100644 index 3de94ccdf294b0080fca882ae0abec2b5525befe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 656 zcmaixO;5r=6h+UvzoO}qq`1R{aUrsy7^_iZTw>KwKuHikf4q8%bo@xQX*!wA+ z7o3pt$jEh@JXGxHANjgT(G7k{sPxk@^6h{5`#e}<#Udmeo2@WmMOvD+G)bxAq q&-wl}za>jfrMq!b7`$#oWn^J?XAFut!m?$#pLPBQl+}E6Q z?i}`xUR05*rsf)G$>-{g-_w@@webxV5%W~Xn_+KQi=0HMruvbuF;=8^GGoracvJR> zNUA?gPW4^7C3r{l2=r0*Y2e+es+MZ3eeCd5Q30QWZOiaWJYLx;0kOd|tZxg+o_I=(fG#bPB8@yF@;JvuwZOiaM N`54jp1=uh-`UhnFb3On7 diff --git a/Classes/LinphoneUI/pl.lproj/UIChatCreateCollectionViewCell.strings b/Classes/LinphoneUI/pl.lproj/UIChatCreateCollectionViewCell.strings deleted file mode 100644 index 76f827b3de8623d943e35997f8c5e2ca6ae792ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 214 zcmZvWy9&Zk5JXRXzarc+pniZ@h!!RaskE?DiTDUfp`c%{9v?|1m%GgF%+Aj95g3q? zFri|@#g{PhN0wwPoNX!PB15NF@!i^LavBcQ_ES;$Qx)!<>~<SLa^6i7RuTIey#%FAQiO_W%F@ diff --git a/Classes/LinphoneUI/pl.lproj/UIConfirmationDialog.strings b/Classes/LinphoneUI/pl.lproj/UIConfirmationDialog.strings deleted file mode 100644 index 624cd0cc0f98ec88b5444abbf45c4d4381be8b25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1066 zcmb`GQA@&57>3_nM6h2myc9H|%ZPAO!jd9%S6%5e)7A>7nEv?cIcIZWOcoU5jC0Q3 z?>pb~erKN_u1-{!r$DiWN_jk8Flq|bm9LeSJg-XFIcGm%zR(NWSOd-Y7Hd+(1ZwG) zTpjgt{hdadqli#;)h?92PIaROTA%kBSs(L=Iu*Ih%M{H6=huq7=KPS;LtWc^F1h}b zux;5ouy-m5`;gzmwt&6?-4(0M!yRFnqM9&NAG*LXxvJ=T^l8NTaenfW`8%E1^|+1i zSx?PgswdWKWN4GPmB-*t$2d6&qh-o?ZOHW-#t%_j^V}qRWbVF~_kjZcX_E8u&FJdf&4$ zMVV&-c{bFLP?x7S@~oMgsv|lXu})EVkfw}8N6xY1p)tD~-b+2_Y7?_1%hu+K?04Up K=)uWoTzvu6=%J4Q diff --git a/Classes/LinphoneUI/pl.lproj/UIContactCell.strings b/Classes/LinphoneUI/pl.lproj/UIContactCell.strings deleted file mode 100644 index 97ae0a8067f8d07f900c337a5d9f23ec2f09bf94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 396 zcmbV|u?oU45Qcx(yn$QE*g>~0;-mv03c7w&w*51dBb7l1`u21+9!vVR zymAz$X*Vx<=`loxd!oTt^K9qfnBvv%)pHE-%Vq(h3q&n_s!AKkBM7U%*jvXpU&=nU Q;~d8`_mbb)LEP{@0D5&hD*ylh diff --git a/Classes/LinphoneUI/pl.lproj/UIContactDetailsCell.strings b/Classes/LinphoneUI/pl.lproj/UIContactDetailsCell.strings deleted file mode 100644 index 172a32ed28311c10afa48ee64c3c92c78972108c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1504 zcmd6nPfx-?6vT&vmwt+dBT3O1JsA^Ih}vjG4Qk|85T&JpQT+Si)n8j^(`HQ}9yA-8 zW%updnR)Z}>(kP@8nV?=BwtSqTf6+~x{xPV&zdo&ny|9Nx~~Cam_!EZE8tu}#Ji5! z>$4MO8Cn{#Hk+U9up6>JV8v5Ai`r-2m7_yl^X=$Nz4?g-*evFzh~`pA>e($VePmcH zvi>#ebCkG&?}-lhwsnNkslp4^rilN{+NbhSMXh^y;1a%@)YxIZg>Q^NSLPAO#$;O#VU;ew>wXVpFJOsLr|f=u z0U{LZqr^5!IJ^ZLyb(n`OcATPqKs#C_LHQ#_leHkgjoc)g-go$ZQe5Ti)Ui93}5s8 Kxf{v|EPVs~yyoNp diff --git a/Classes/LinphoneUI/pl.lproj/UIHistoryCell.strings b/Classes/LinphoneUI/pl.lproj/UIHistoryCell.strings deleted file mode 100644 index 17842cf13450ba2916f5e188f4260fdb7a7e6bcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 468 zcmcJL%?g4*9K@%qZ_rIV3VqNuIwge~bm{?2q}D84Z=qfjfpeK_7z;gZo}|B2E4DwET=_#`oEx5_LQ^Go}J)F)Ec4Fly` e)6OPo{#IXR=h8LA^~gTsFK=j7b-Dxb^F_x1 diff --git a/Classes/LinphoneUI/pt_BR.lproj/StatusBarView.strings b/Classes/LinphoneUI/pt_BR.lproj/StatusBarView.strings deleted file mode 100644 index ac06c63a59efe40536623d5c8b28c6a989faca1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1064 zcmb7@%}&BV6ot>aPcdOh0!A^qFm6y57>Ndd!nTEqB^8p=8hKvdL;a@3wrVRhO`AJ& zZ|^zx%$d&*M+a)l=t7}ft$B>jd0TqWP<f zfO)`VcD{|S;pmYGbEGk=IoUP&h-^%3H8SarUHdyU80k6H;8rJSFxC@V{M4YTq6^k; zmW3jNoKHezG=rr*YnRBLwq?IcahvP)zZ1#|`Jnh9X7km#qH5lK6shJ>Xi#Qi&&q0G z`!=6=AML+y&mE4KF}2~Y_&6gW^8VbWIxRMM;}l;+dgD9Mqh5cxqpG5*JNhUQ>pk^E N=8S^%Xv;cN>I;%trRx9y diff --git a/Classes/LinphoneUI/pt_BR.lproj/TabBarView.strings b/Classes/LinphoneUI/pt_BR.lproj/TabBarView.strings deleted file mode 100644 index 92f1e5d33fe50cf5c4228c666ca59f1c208a11de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3710 zcmd5<*-ip66g|&;1>s3ea6=Shd{9VSB5GV>d>mj@kR_2p#ozT4d{<99bViygb3v3e zOi1TWZ_hb*X+PdmSi%C*D541uU5+%i`ODxE2iQdq0Y?XI&TMhsLzTnVmUUE6=XZ5l z^l`*@6~1XkD-?0ZxnS_+3EwvOzRH;clp?GA;Qa!3lH&h7787~NL@Rvtlj0iFL$pt< zUCqY>5r>R?hil!!wJyeGyuIOpeydbLd7Li75TUt?%J2=&GRO7B{oQwA%MjICLXg=Ts_QM(mjo@ON(e! zrS)*je=#d*d{;|yuwzlpNYyFRTRZaGBAaczGA`42)N#|(@lwajK))o_#*S9QuS6*~ zHnWmksmZ!l@(OrFK0C-_mF#8N>v|kv&YE84vXH9wA5}6*-@af!KPT=6mig>6hU^OB zvXG*e^maQI|1v|XxWXZM=&;^qaYjz=typkbNZFXp40a(K&I6alBI|ir)#VxfdrC`s zq|Y<)D%E{Lj?Xr(qcf7pcbA1!<1pf9p@+KA4D0H$m_*mfDtCO^Qg@6|r#qirZiPCQ zn5|jnu8(6YV_g<J Ik$sQ(1drk}8~^|S diff --git a/Classes/LinphoneUI/pt_BR.lproj/UICallConferenceCell.strings b/Classes/LinphoneUI/pt_BR.lproj/UICallConferenceCell.strings deleted file mode 100644 index 80a0179afd942b919795916ea4fdea7882d36f77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1522 zcmd6nPfNo<5XIj)pCa^FXss3lDjsZlNfBF6D|m|+u6INm>1z9p| zc4l_wy|=qxpN@7^mn&b-3iZZtb<9`Or2?I@cB2SiO-HPTx@APOxEN22CswNIN@Skz zYor99$w|pgn7xpj?bIjxi9h2D)Lm5d)Ye1|R)^RNdGwKG)ale=Zi{ICsQVGwAbPQ)Z@~!>Gbc%5IYx&Wybt`#gf#1>0zAsPn2zWVX6hv20)Eo*q!Xp=%vr z195y*^yQ}>QC0Dim3}tA+Z~O;WL|<~1C9o;G3JFV bd+8GObq^PwuCN{A{Q@Jlh^maNcjM?A9Gc^+ diff --git a/Classes/LinphoneUI/pt_BR.lproj/UICallPausedCell.strings b/Classes/LinphoneUI/pt_BR.lproj/UICallPausedCell.strings deleted file mode 100644 index f633bf1962ce17d014cd19b7b959f8cc9f072df3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1522 zcmd6nPfNo<5XIj)pCa^FNUe$piU+L+Q>6-058l!m>Pl--(^mcP>TeU15Lt{7g|h6j ze_m$ZyqU@So2L!6<*TQuB0VvD9WYxOD%6n{N*Ht9bF;!b_Enhu!ZY z4>iO71h!YOiM9Gg{Jm7SB;}c;+AZ1J^J9%71C;Nh#Y$b)p_YaJToD(dsUnBi&H4Dc zfvv3rn`_I_X5D6?PN_2Q%`2qzW^2O7bA;}7^)k^m=m6X$>rA_-Rjn5nqNzFq; zPMHL2&uN@lhxPGrOUypKF#orxbFXD5xcshPmJ|L5hWwt={Q;F~^zbFiF2wp}xl0f4 dF}GMZwNumiu9&K|?Lu^@s;sukEW7-A`T&x*=Vt%_ diff --git a/Classes/LinphoneUI/pt_BR.lproj/UIChatBubblePhotoCell.strings b/Classes/LinphoneUI/pt_BR.lproj/UIChatBubblePhotoCell.strings deleted file mode 100644 index c59e795bb08d19ab9f1741d9647bc0f0bd25a80d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3208 zcmchZU2hUW6o%hxe#NGjO~9hDO*LL1P^A(;f;L{#6${EogOpN#x)U_K8%W!o+i;WnG^xw-`h@Mm7tKvBp#*?jEXRu@6BMTdk}TD9Wm0kH}(=joE$wI?6|1R<#GcX8C?QmWx`x$j&wEAx(l<@mYH$d0<EOnvT1+R~#>$m%S+gY;Xe#VYD z6Gva2Y%@hNAj@6Tjoy&y3wHPrE_8}7kMz!Z^mNsy#heYPf@ujCXJZXU8+7pDe2m(Z vRDIJ?o9=wh&vYzNcN>tK+#PqHjP(=?6fM>hdb4z8a!F)mc4t*7#q}$(v7hTOQ@SFxKvv)ViIXntS_%UqnQMXRl1NN!_EEs z&b@OycxtLHqfi^o^vN-L?=Fg9LwtccQe1=K7hZgmO6BQrssHnJD(pJZ7C;5RrTfSnaj~WE2~R2)MW2g9%otYvFobMI5XB=PE zNJGvn#wT`&H6S+3bVl?8Z+6yDZC16U?Z_iXXBlkUDXdjFJIiuPZL8&|gJtOAUVJR; zAj6dgxlgv&07v+Bj>*#nlSA*LKckAX&O1-ao3__9EVby}Sa)^528!YmH^tQ4SjFM2 z;$S0eT);(-oKAFivBrU-O|4xR>Z1ft6ZTCP|3$paTb-P?>*$?jnrjDo9|v{^+q$#b zbL?hqLW>nuB3^#_t8R3yC*=dJ=C#AW?Jh8x3iYOyb}U!dY)?x?nsfK84KYtw+~)XS*ama2trBINZ}B!Y>VY?}oMMm> zkp}&u6Mf3pht}9TO?6hkn83opw;_VIs@G<+)pf`)M#~C*F)WSd6vinkQ)(4|R5#2+ z)MdoX8>2qMdmq%Bpz#T%=XAl>jSjW%>9rw(vdR#%t``fq87?ke-C{egIcGDsv7PBp w`H?(pSQTXV*+;ry>Zdxc)%-Vao4V>BHS@M1Z1bMM!2GDL{$*L;g-50E7bBo%f&c&j diff --git a/Classes/LinphoneUI/pt_BR.lproj/UIChatConversationInfoTableViewCell.strings b/Classes/LinphoneUI/pt_BR.lproj/UIChatConversationInfoTableViewCell.strings deleted file mode 100644 index 18a179d633cf9408e473e2b4635cec4e6926a6e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 648 zcmaixO;5r=6h+UvzoO}qq`1?CVIi^siPiX#xU5w}6(K=1`sc+X(oxB1)AVIBbKm`V zZ}pzALx+?@rj$JSrS$wWE*LWQ?wVWQGWNY)dVaMwm;-Kjq-M5xFGSyqsl*H!1l)it z&d7P;$ht=n7(41GcE=FipqB-v--?O7|M~CpEXR_0a9HZC(&1;)TDP@MY7uWgvNq}Z zrmuKt$u{D|DdbEzwH7MvZaSK5F+_LG-R9&w_oW%8`Yc(j+1rx0ZEhsrM6aonpF5AQ d{rJ^+ORUf}=$ diff --git a/Classes/LinphoneUI/pt_BR.lproj/UIChatCreateCell.strings b/Classes/LinphoneUI/pt_BR.lproj/UIChatCreateCell.strings deleted file mode 100644 index 2c2a4ba7f3a2a1865ae17106df5505f1d477f50b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 730 zcmbu7%MQU%5QhJCpQ7nfq7pk1iD02FvBBP@sGvgQ_VD=7Rw4%xX*!)VXJ*cP=kMig zDW{BVRkhGSTOL~_UPnE7Y7raCXU|cQXoP>jCOLD3nrS6hV?1AFG6U9Yq9I?OolqN1 zD+HDo|dRNWy(Gp`P#>44^U&o`lfw=KEYkX2o0X< lCwjMD)cwr6<1ZLPI#CnbhIjeGYszq$^7}+j#Z5C=x&q1&Z_oe$ diff --git a/Classes/LinphoneUI/pt_BR.lproj/UIChatCreateCollectionViewCell.strings b/Classes/LinphoneUI/pt_BR.lproj/UIChatCreateCollectionViewCell.strings deleted file mode 100644 index c4186dcaa445e34304e704e7189447b464cefafc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmezWkBdQ{L5o3w!I>e4A(5dN2o)G?fmn$ll);n12Pl@rkP4JjVz35^mH^omKoX|L ziy@yOgCP&dcLB0ep{o3Wda{7LWS~kN{uZ9<>S>gGqeR$QXb4?U^?CB zbgy$}e!e|js3~7v#fp?MeBCe`deJ}~ZM0^*D`DrF{e*R@71~%MEqE7eR>XAG)&sfv z3itX)jkQEEK{-&bPL0iu@r$@g3r0iL~ zKK%U}$|3Ym@TF8BfbfndSI3;PN>NW)Iyjdxq+?@T#QX2BS%1=#yxToG;JRz}GQIJ< zWff`8TonC3)z2wpA&f&P1L9*keoR`WXyL&5C_8wble(VP@wRPGe0{;WvBaA{J6pID zTOo7)eNAokX4bK(OU%gQQ=7q5*PZkQ5s7YVPREjp?WoqAyAV*X5z)srt5Q_e%tWs6 wFyTM74tF^8^#Pl?oyL2{T-x1|Btq@u)!ce>muI*(Yom26jwB+3Q8^+{zrOXO?f?J) diff --git a/Classes/LinphoneUI/pt_BR.lproj/UIContactCell.strings b/Classes/LinphoneUI/pt_BR.lproj/UIContactCell.strings deleted file mode 100644 index eaa6d9fba4dba17e2fc4540c249c88d74429adf3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmbV{y$ZrG6ot>6rwAE4=+>n;DMCfm#RsURU_>p{4Eplw*J`SRgUTf#x#ymrd%GG9 zmB?zWy$YQus}aX(tz2_@8&zOV8Qnr9RdsV7#DjPRUEU@me+tqt8FYkqfc4N=!rSpH zL2^xczx0VGBr?2H4ZiYoy}}AV-#N9;HT?y5bT+8|vTGpYnT&Ct8CqL*v1G3Q+9oQ# J5`WS(x&y&SJuv_P diff --git a/Classes/LinphoneUI/pt_BR.lproj/UIContactDetailsCell.strings b/Classes/LinphoneUI/pt_BR.lproj/UIContactDetailsCell.strings deleted file mode 100644 index 7401466e4ef2fbd8877dfddd20d4e0e98e742395..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1490 zcmd6nPfNo<5XIj)pCa^FNEFeN2+|fcSS*Tvu(zbfHYGNqQS{5Jza(vA!b%!EC`-e3 zW_I?ynK%3SVQEWU+3G8nuV2(FL2u-W1_(gru{+9-_!8`gqE7 zH+8$zZGj}EGjC{gH3xIlKSTd6{Yvm1qWwsZ{LhrXU^mO>BgB$$=d_^)_r&yIA9B)R zYHr9Z)dp2lEq*ue9@Th-O@_2!^wZ48R4IV{9_$^af16jKS_4x= sTOHK#v}eD_JNkf@Vo+wxVz{l8QO|GldYRui6Pr!=n(r?aP)A_t3)U6nb^rhX diff --git a/Classes/LinphoneUI/pt_BR.lproj/UIHistoryCell.strings b/Classes/LinphoneUI/pt_BR.lproj/UIHistoryCell.strings deleted file mode 100644 index f76ca8503241b82a2afb30211345aaacde1b5ce3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 478 zcmcJL%?`mp9K`3mPto+)#7A7kNkfX@;sL5@SV0r^fQQFV*>dQCgKT!w{%2-qW^Y%c zmLdh}YpYa8R-hg`)Iy0S%$CZ*LUoy@%2;{Hvmh44%IW;U^!fqF0jAR)-450Bjv2ZQ ze;G)kxbnMbsE!&MYsJ}y6TcJ@84cfcjOJIF!pdb%CR?U?q$`+DIej{V&oA%c=y9Tl W?>yqJHGKoJ7k_K)UEi(he2wnP1V_yP diff --git a/Classes/LinphoneUI/ru.lproj/StatusBarView.strings b/Classes/LinphoneUI/ru.lproj/StatusBarView.strings deleted file mode 100644 index 9a48b1e5b417a0648a20fca5b231f927ffad13fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1078 zcmcJONl(IH5Qg8woVa=NS~-${C@usoA}$F=#o!XJEEORY6BZ+XUVVyKP>YC(Y5HZp zndvM~XI@`oT2(@h4&v6Ig&(b6X`vAf@)&OQ68xox#MBn>FhD$EY?|-I_p#$ zFlbSEi_U`nhB~Fj8WumyRN>ad+QZ((+D8r;IU`MQ_vSD-)BT9Sg|=W&(H$&4Gl=p? zk!yaH6Cx{?w|y&emd&-SZJMJ3X9hXY7c6bZ$XN?=FV5`eX_%(u!O2tOpQuFFG2yUG zpVNJ3x#evgt^3E$fAb$cHtCY-XwbdG-gr#O0IBwEvu16}kU80AM!I_Dyw#1KzD!D# f$D)(61drU9Ntr3hK_+i|=+fMFnHks4$E@A}hn`O+^=h@dw6{bU=3jeQ9>J4^f-dZ^Dl%8RIr0SY>qBEoXK&%iaLkoMmAAHlizDH zVt_-g)wt3g?@&U6bN1+)CtPiDz0R2m%HyciXg$m~3Gj0YQD6ThG~QuZ#ng^+-Y>xM zdpvt2?YY@_An!0ApHXdSR2yQd1yv+fL2avyI++7qnRHdEXW?NATUujFi`f=cj+!M% z<|tPpV{8tDCHEZL?&-3rW09l7VTM+L9xjk>F5 z8!IGTox+;Lx<>2FNPW0O9SdrUdRA15NnP$qRF63MxL*%x|sH^WkMy zqLG=(+exm`Y~9L#{X3*?T||(e-y-aBeU719y&h(YkhEfM)nqBd=BvV zp?;Vmq#5wv*Y(plPj}XFiG60F%ibBmDKm1Xod#2cG#CHPy(Xqf511mNtm4C3E_e6O zX)NiC7Vp6c>iUEvpB-F{Z%3ZjO%Xq(?)*EaiDpt)Q^YK~&Q`T$cRGt*H%=YP^l5~y vwQ#I?)f6FBbJ4x+$nJf!WkK@Gq`^AXB7GY-d=|0GY)mR_ijd~O^y}pfdvqDz diff --git a/Classes/LinphoneUI/ru.lproj/UICallConferenceCell.strings b/Classes/LinphoneUI/ru.lproj/UICallConferenceCell.strings deleted file mode 100644 index b464a9b5d1b8dec39a57d0d9959e7bee7fbc751e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1518 zcmd6n%}>HW5XIkNPn?V=Z!{c9K!k{Vh#!>ls57rxRYemO*uB7>smeK`j65gJu#Sr;{_148 zd6g}*Z+ga3!yK5FX`7O1gf^&@VWi>22gM{r81dEx_dRGWP>t4xcUEPV zI@q$tHizJ({!gJM=H;N_DIQhn*#@<0Af()+LqHV3x5v+D*9IacF+t?YM{{ zyhJx_p>^? z-Y{jlAn50#6}!8wF?js&?TWNX!%rV3#=MS6uiQ{Q-NHjvm)JJ(_7WR$5oy`T!h>!0 Iuu=bi0z!YHW5XIkNPdyn=-e@?I6cJ<4B7T4ei$+Wg9=rh|Si?uu@}Ymc`lCn*q!BP` z%w{Lu-M2e4Z|3#=&C<3~vQ<)BH9a$I6_`m?<*BH?0!B|=cJl1k)L=A2q_4Vs?)e~I zbjewrlXmpNH9LKf&Ck0P&L3Dcz_DV~;FzA50!FH5`srg=s zL#)fpmN_()AL1k+))6sJbycP-?$MKt0(!re@6_w8|2L`gso6Jq<^j1SP{XltSrt}N z#NXFC;E&)_0z{HI!H(67tPVt2H+MD=mm%=dO2B28~iI&45e8s8xi29uza5X;2M67iWJS_G8j$0zxwVR%fn zFk^|;MNczxd#2C1r%&I1e`n;4%!?zg)TJuFXpUt0CFH9VB`_$K=gd1N;2LjvTv~0LFBXMN)8mRY{5sD zvHQks|Nbz_gwE+ReXg@pL0Fb6@cMeV4P8+_nT$3}-yz#ufsEQBQoPs3?l8K%uIr}m zgwEhVmv>RHr~H=DS&JMu7+rvVd}g=V4SVQ#PrlH%)y6?B%A zQykOVGt20(%ck%Bwuq?Q#6Z7@Z@9WLMfWdASq||364xC2WxOhExWXWxp=qtm_xmu+lTYChpJU- zI6w_#EpxI}7@q|2*&?Fq^&x7N3Odb^q46rUp&3=FEn@OX9yc1LMhU6U{hmHX9o$!q ze{z-ZoFbBrXWs8Wa?pa-6S9{gU=B*XXf7@Qr AhyVZp diff --git a/Classes/LinphoneUI/ru.lproj/UIChatBubbleTextCell.strings b/Classes/LinphoneUI/ru.lproj/UIChatBubbleTextCell.strings deleted file mode 100644 index bcebe71c6b06145644aa22c78333e6369f915695..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 750 zcmcJNJ4?e*7>3{Bo3iQTX6RV3HmDF&tJvsJ31m^hu`P;`wkcXs|GfI-u2L!va>&Wa zcY7}Q=8>>RJh>7ot6K%Q9M3MoRTa%%y6`@aq}G23wi93x_Di5 zRN7ZnbaIs6m^Hp^*^$Ng64goBD zW$a(mjjq{qK0SP|nO)%$&UPOW0c4=O@8>b|y>j_9Z;V*k8)W^AgIz@UVL zm*ge6=e~S?1lm$fp;Fyzq!(JK9zD{P2D)JFMpO18by{~VUtXNN)FrMgC?Zt^2Dgt6(Mt%8ew7hA}8g^tI>(ciu)P|*YXbH2P z6-oozU${nS9izD5&rqL1obm4bmjjL>g*0ccI8!*06FpS2&)~g=dKX7x_0`bZ3cD|( zUcOSL?8ldN+qWTpBzAxkeOyY)@jsrd*7_3e33}!*$MkJ=sC`R26;=0feg7s`bzg?B W>YLWKCS)zx3QDKqto#j5NuVzbU}P-- diff --git a/Classes/LinphoneUI/ru.lproj/UIChatConversationInfoTableViewCell.strings b/Classes/LinphoneUI/ru.lproj/UIChatConversationInfoTableViewCell.strings deleted file mode 100644 index 378c577b79761d75cf31acca2ba82b6ddb606a78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 674 zcma)(%}>HW5XIkNPCXIt#->M-q6Z=>qPB1WjnxPTk61O-FA_wf|Ge_!qpLC1n$65^ zcHhptH}CVq)26EO)z*WCdS>}*5rGEk>V&&1-S8Hu$?cT$8#%{By4IsIJ+0mo(05=` zFkN*VuA@s`DAcQt$qgm0VwL_Lzl#tx*Dr9DDpt3B+p!iAS!_qPMLuAkGxS)0>5271 z&8fzY@er;ljOWTT*k>@yK)ip`o~w?JfLW`Z)vilwQ;T diff --git a/Classes/LinphoneUI/ru.lproj/UIChatCreateCell.strings b/Classes/LinphoneUI/ru.lproj/UIChatCreateCell.strings deleted file mode 100644 index 21e71a1858e9140c2757b55d34be98fb0da6f7f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 756 zcmbu7Pfx-?5XIkNPd)MlYklYN9eC|=aT7hwA$;tEexWwKg<*&$j| zC#QCXrwcEOC*FxKpwfTT7*NZp5yH%=vDWM_&V8`uuub&AexqYFSidMa`yzatYv#zD znG@4yHBG1k(=(^0#i?Ul#(lgJEzoQR;t?vPdM$8_>C=R>n+i+k?2mdm-Pz1VISE5< ixBI@E`wE?=u)fzN`xV?5zqtD%Vo>f!w3!7Tra<2t{&MvI diff --git a/Classes/LinphoneUI/ru.lproj/UIChatCreateCollectionViewCell.strings b/Classes/LinphoneUI/ru.lproj/UIChatCreateCollectionViewCell.strings deleted file mode 100644 index f9de88a5ba53aaf5ddffae63bbda252501f0cc32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 218 zcmZvWy$ZrW5QM*Ct1Ep0k1GTIlxhePVqrwE(!x$9A|kOcMV>x7L6b_BU1oOX=Jwq< zCPa8L9-MfoJc&B6CughOnL=71*0vI^H9OCSCpSv*l~D0>?eyj@c9Aoe(z&m!IWUq^ pYNi~eeRCsS;e`J=#{I9MPa4?NQkz+~4rmO}2!0L~$zV~h}jLCe6 z%XRmjopX0S-|zMN%fK0OFj0q(9%dXSDx6t7q6G&F%sJi=Fj8hb;ChNz=KAPj%y&M9 zaZMdI?s%39FUr419}{LgF|&n6oax{kZCK28_pq6q&CRFW{ijDYRu&7y=)$6(?WhCjgOQlRW)TgOcGU0OV e$Tg=@v?zA;EXXaRD$$)(T~m^OOIp-4b zp(egA9&dg_O?_;^^kfU~0DlilL-l#oDf=5)I@bg5maf#Ep2(A1hJ8{*Ayp>1`CoQS z(by)$kYW8b=4*I(1ns5Hc-M6S&oRF<%t;ad7juWIdn@YPrv7)JEm2>K{XUvm#+($f zF6J#$GRLOEbCjyu3)RNC1XN~%LT6ntK>K~vU!Yz-zADOhHR3ze{g7Qh>JA5suU9>< zVBv`v8~hF@EqdmjTb5Z!iYSm#oYz9puEz90nAr$lz`Z_}bop(z2O4BGj;4aMf(;M8 zy6|uS4;E9P$aGj{BPn8CO>CR0IW&8w%nUeTXPag!ZTy^m!>GnD@a~aqIQKlbpJ`?D NxRd|C(8TXZzX4^3P0?rew{+#!SAv?@GLo)1?4Bqz#FL@)Ik`oy8yEva$^ZZW diff --git a/Classes/LinphoneUI/sv.lproj/StatusBarView.strings b/Classes/LinphoneUI/sv.lproj/StatusBarView.strings deleted file mode 100644 index 1a41aa2d608dc1ae931d351ac622524a4c63b2dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1056 zcmb7@%TB^T6o&tGpQ2$&0!A^qFmAjoFd7YB;@CygeyyK`Wn_aJfo1j8O@&MEHjcP?tn3mp@(*?sqFYpZX#s3a>J6_kJ}4xL*F-eN#{yN0wImc&eqKGhbqmxr?N~8p18H`r zGkeb2nc2R-m9UH|%BUlNi-@C)J^m`VMiU1ZVaU-($eCTvyXbIu+R{fGKHu|cF~%v^ z+FS_|4|P0nZut4;1y_4q?{KDxMq;(`xnAW?N_^hHQm!bK#Dj?wM=H_F{4gC6ZKN3) z5Od7QcgQwV$Tr2urla|I)c)p+uR(k+HS{pZK)01bwG?-A@2Dc^100u zH$e9f@YeO&R?*eDj5089r!a4eF`p#y9vRQDoTcd`x8zxPrcZ3dSY2jJN2?oPfmjza z(AKb?!mDPa*=gdtjPG#=5qI#U^$xUmDR#x$E8jPDY6m+%#9=&5Dv9wW-IJs$8a`q@ zo`^g;XC1^;2B)rCb6BIHJFXG n&R2|w=`V+@@015trylVKyo)>7$07Nc)!1esWnp?plW&<1XKXVJ diff --git a/Classes/LinphoneUI/sv.lproj/UICallConferenceCell.strings b/Classes/LinphoneUI/sv.lproj/UICallConferenceCell.strings deleted file mode 100644 index 59189566f70904b03b9a7c2f163a43907f10a080..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1500 zcmd6n-AjW|7{;G#{|fPP;98A@if-m^T)_r?L3b8b_TivhZU21rQ>SZk!ek6We9`lM zJ@50JbG|+;?WiMLzMd88jmOq8ucHeEI%Vxf5k5yptcJSfiSoD@PmCv4s>P4UGT+x! z3BD{RB{$*gh1{ajnCwUXGGCx!)zwp9bGfWuV$bD)qsZuh)Z*I|(ft!Lr|NQ2VSA!e zfh@`USoCPaNXiWJe7=IU5tSdPXfxAvYtxopR}-1~ww-1B>W*}e;;ycBfDPbnSX0*& z@qg6qsi#BUJ?yUbm)L*X%cfb@_p&LX3oFH*TB&R5+oW#5X$#>y;v~h`k0shoR1Wn{ z&FoCSHq1WZbo*$$&>1#{vwlr!Q^aOUyWm>K*Tm64Gp0%N+o1goH=*B*yRhj_OElIU YEO@%Y4v6<_T$m!-a#5lQ^V*ia0idAZ{Qv*} diff --git a/Classes/LinphoneUI/sv.lproj/UICallPausedCell.strings b/Classes/LinphoneUI/sv.lproj/UICallPausedCell.strings deleted file mode 100644 index ea73a71987b75c7d8733f2b063457a0db2790add..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1500 zcmd6nPfNo<5XIj)pCa^FNUe$piWlp_w4#F4gSWJV8f{wCv{gU6`g8M-l+`p8L6(GM z_hshIn>YFVaI~YgT=g_npcj^_6Rwtq@^z|(64qQZc8=K(G-ibc8EK@5?;;Ryy5MZY z$+U=Y&CUX3n01|c z3<`dau=3zlE(C>kyr)PO%}j(5c4`I~h&;SUhe*8%hH;l)T#Yu&XW{!e$iOzRQX b9`{`x)Xcc8ma3O+hz@Q_Jymwsme8)m(a@}aeo7cSe6>#;V$botq zFm6D^y*$44_!2H=sPkqNMTg1gHWA;52^i5*V-b0vOUAi6)lcpd{<}>^?1QhwZ(Brp zBQ$%9Rcg%IWA=MiH*88=#n_L?#6&~Z4b_c!hp}4w*65SnFt=k^c8nLT-QezkrAbaV;hN_K+3$~e{RLWUQppLrciDF;$@_MYWC8*-g~3>fxzo(*E;soC%Q*x*6kjGhDD7U3nbmI--&lokaCK z0#}yfzY#Xgu1ApPyHBxK)ycublZua4eU$1ap6B3A_A~c2j`bY=)hHK-oYJy8l`W#E Os#i}dF1S|lmGl>Aui^Fp diff --git a/Classes/LinphoneUI/sv.lproj/UIChatBubbleTextCell.strings b/Classes/LinphoneUI/sv.lproj/UIChatBubbleTextCell.strings deleted file mode 100644 index b9ed74c6cfe03d710056106fe8f759686119dfd2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 734 zcmcJM&1%9x7)9?oPZ3-OnpSEzikrqRVguROg3BmMr)m<~NbAe1C;w0+(uE8eCiDH= zbH6zqE#1qJEl*oT`exZ0^Y!#5Uo)-rt4!}QoPM|+5zDIEIx|qBFYauzQabFllUuAZ zKh#2>#Fte1nluWY=4jq=w`NcDtU;yVKxJ{hl;Jk|y{1z)fkm$_mjM(D__mdL1nH9h zd>V#`A!1NHsLiasdvM3Z@|p~unA48hZs#Ghe8F?7K6{`CCS6w4&M#%Sg~~Oub}Fw8 p+Xl9hEG~5ZJCVOH-iLdrM?K+qipmGwZC*CHne&>Ub$5-y(izHHYYPAX diff --git a/Classes/LinphoneUI/sv.lproj/UIChatCell.strings b/Classes/LinphoneUI/sv.lproj/UIChatCell.strings deleted file mode 100644 index 82db68abc01c8b25f48bfbbc13eee96ae258d3cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1594 zcmcIkT~ES55S-`!iiSs$q9ri~jSmJML?FgQ4e{;NYAat_8kPU6e?y(U>$QqiIE}d! z+TPyI&dzk-UOjA}4j*ldp)lw2vB#^1Q*_biy9-3zt6`UK6)w3V9hYz?;ZA}Kiw}|Z zd>b=NxhH2bo}Kb;!m}pR5l`RpN%p$v6sS#X<`H#P=J8(MG}c0{6J*b znA3%E#u}e={iZ92%p5bL&zfhyW@EFK6<6hTt<^=H0c#hv6>ipG5q{Ambk;-=ueiib ziXD_Y@q#N$+dJ#C6Y7y@-K;h+ftTtc6~xcT-#4%8DZL%eVXUZy~dY$P9O8&b{ZH zd)@w8I*=<{fnF5plh4*U%hA0;t+;zs%A2DzZoi0s*gMR%-ju1}d_k19s9SP2oMMn6 zFCF?x$NG?`cO~qXy3$FT;iAGKHX;0;)#)plcr7YS@e-jgMrGwWM{$nJ9Io=8>rQ!q zyMnhWr*dBqy^i|L@c4k!Q@Y@3shPe9eoY9!W*JlV*NdB8+cVl4Wkt<1wIjpn-cdP0 kO^IWVb*Kf?p6jS}v2V^MSIz&^&Dn%7%{i?3*G7IzJ9Z6aBLDyZ diff --git a/Classes/LinphoneUI/sv.lproj/UIChatConversationInfoTableViewCell.strings b/Classes/LinphoneUI/sv.lproj/UIChatConversationInfoTableViewCell.strings deleted file mode 100644 index 353d704cf3c7a9819d8b7198907887da90cfe41c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 668 zcma)(u};H45Cy09S6D71Ido7U3PPF$gh7OY(il(<0+E72@Z*%gB*Yhl3`QsKS$FSt z=k0#HCv4Fp<$xI_kFJzGzl?K69C>!hwRai2p4R@q7#qz#SKJeLSl<__Z`D+4Mhv5F z$OUKQJacH=p@iU z^g*(q;`N*N#_hmb6?Yw8$DG)eoGGWq!b;og7me38MSqpMi)7P>$%=F)aVb&xFZW&3 o9NU+vys6We+mo-E|2ETwJ)h|C#(Cx(>$dpevrW-9)3&+^pF3S+i~s-t diff --git a/Classes/LinphoneUI/sv.lproj/UIChatCreateCell.strings b/Classes/LinphoneUI/sv.lproj/UIChatCreateCell.strings deleted file mode 100644 index 2c2a4ba7f3a2a1865ae17106df5505f1d477f50b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 730 zcmbu7%MQU%5QhJCpQ7nfq7pk1iD02FvBBP@sGvgQ_VD=7Rw4%xX*!)VXJ*cP=kMig zDW{BVRkhGSTOL~_UPnE7Y7raCXU|cQXoP>jCOLD3nrS6hV?1AFG6U9Yq9I?OolqN1 zD+HDo|dRNWy(Gp`P#>44^U&o`lfw=KEYkX2o0X< lCwjMD)cwr6<1ZLPI#CnbhIjeGYszq$^7}+j#Z5C=x&q1&Z_oe$ diff --git a/Classes/LinphoneUI/sv.lproj/UIChatCreateCollectionViewCell.strings b/Classes/LinphoneUI/sv.lproj/UIChatCreateCollectionViewCell.strings deleted file mode 100644 index c4186dcaa445e34304e704e7189447b464cefafc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmezWkBdQ{L5o3w!I>e4A(5dN2o)G?fmn$ll);n12Pl@rkP4JjVz35^mH^omKoX|L ziy@yOgCP&dcLB0ep{o3Wda{7LWS~kLznp%32HI0qMoq;UX~AW5#9h&)I%;U8CD(%zb`IH3Sf{!tHr7Bh&SKrN3wj#Y)t=i` z#M{qbnVV%y>&^|M7Z|P_*VV6`HQf`Zjh%X<3BB!vdn|V9V|IOh>MHniJKr-h5*?S! z#T>0((JA5&2vKT4^=-9^B8t>{1G`1&nY`xS=ZdAy0!*OtHdNqU6FZTss$Q!Tt~cKj_lF5E+Q z+T5Efs;nzu%5Xqb;##@-d&t`K_}Q)ZP~;g#IogudXF9|v6`;Tl3fQ~>o4gI{I+!xL pI>F`DS<*SH=v7|7JO8BU>pgEy49=We47=JNzt7lw{>ld?jvuUt<+cC- diff --git a/Classes/LinphoneUI/sv.lproj/UIHistoryCell.strings b/Classes/LinphoneUI/sv.lproj/UIHistoryCell.strings deleted file mode 100644 index 8d91da573f62e1df2a556c29199543985f398bcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 466 zcmcJLKMTSz6vTgXK1JwQ@DHxyWT{jICqFK-fU z_If2kB7)ZM%8U^`7HoA6#R*;tUm1<=U5x%$nY`8|z}z zwELBNr9fk%1G2h0DY7~`(@0I7(xXYGF_rS_4bXV3T^X&C-u0sHa(9n9)tL3cIRLHI zAOv{`Gs`d41sDS&QPHW#ZbWoOJSLj3wi@}_iQStu8eHl*)8JZrXwcIWTC8f|%4pGR zJ<1Jt|cHFa+fi4!nB>LEA;o>FKc4xWayYPD)WJh;U*fmakyAVaQ`3IO?3W# zDL35y5WYUz8eA}E74ThsIb|xO_+TFo#CqfVpnJXka)K+PsuLb@g7s&PaFO|8p{<(T JTfgTjeFAj8p{@V` diff --git a/Classes/LinphoneUI/tr.lproj/TabBarView.strings b/Classes/LinphoneUI/tr.lproj/TabBarView.strings deleted file mode 100644 index 4d96b3ef9cece1dca5446d4774efc8f6e66f6fc7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3690 zcmd6q-A>y;5QUF#^AaGgC{los@+ZVaNhC_4t<+LgTt&v1l8_%MI8ge6eH7lJ?PnVY z#cZ2Q+%(n7mc2XP-7{y-%=+h#lGe1MMb*@nuN&H;_PLhyNk=-+KoPB{EO`w74QDt` z_BT+&>+of~&k}8RxL$+!ChrWZzlkmi78v0oUx&)sjewlK6_?@Xy@sfRMrMwD^uYHv{b8E1#?+gwKR|1I7ziWrHX$9cT4Ns@5$f! z%;B=IqPJJ{zn3@d>J0Q*Z}3JB4VCo)&s^ss!ewFg$^WEY7oJfKxGYx5;AtM8XZE$! z#gJ3*2Atlh%Dtawu%X+QN9^MU1mRf?NSi9B;pQ}SwL)|b&X`I1h@EFBfe2HA; zdm1akm*m9cM$BHw&35XO{m5V93*@h>cGT8fbykPiGj-@A%c#+5mANgV@uSY%b(Lef zzN(lM(XCpQq(YTZhKrc)=P9y`uO4_GKkjlCU0}P!dpQnl5oI~>>19GkPwA^2FY$i@j|SX~ diff --git a/Classes/LinphoneUI/tr.lproj/UICallPausedCell.strings b/Classes/LinphoneUI/tr.lproj/UICallPausedCell.strings deleted file mode 100644 index 512a004926f20c75acea084b13c19a5421911800..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1486 zcmd6mK~KU!6oiLse?`NQqzD>gqVXaeEEqL0c<^EhHdv()O9A!As~;`2fhI3B3lg&UxT(dI)=`ZeHasI?#54@{phI91}&e0vG4)}9kOxY?#XR$URsyoF}&RCjoMBI5! zGK~`ki`T!)-&M$sJ~7`Cldst#t|BTl67}LF+Bi{g%6k4EEneHC%O(1^P-LbWb4SyR zf2oTJQB;>UncbHHB8$jyOvb7D+qB8+UECS#nha4Rggt#}lOBB?pqm5khB?#``mFlI zg!s80o*q;$%^8Yn5fkGpu`YY5g$Ew#Asg3^{w&WWYwmdyZ_!+SZb! r4lWP$vQ}3U;y={2MrR)L?K9VPxW&JwELQz%LR9fl>ZZJ|CSFTl>1yCe diff --git a/Classes/LinphoneUI/tr.lproj/UIChatBubblePhotoCell.strings b/Classes/LinphoneUI/tr.lproj/UIChatBubblePhotoCell.strings deleted file mode 100644 index 845cc6c27ee232fdb3c035ca4c80ac5ac0456bb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3156 zcmcJR-*VDG6vjVpd5TOgI|G7_cB>&9v`J_= z)rqFen_}@pUA~?0#oMgVWW*1xz4h!q7T>TLGoz!{#`2jyGq0kauIcCeyIjxM#lJG| zHj8R5Z+14j9ASU0uk8OTT)oW7#nAgiVy+qMcp8PcJywe%)>H!oO|^-|Dq0VX*S`Nv zgbjVv8$9^A6@-1AgE!K`ZRk39VA%A-ehJgI-dvVe+c5C-q9~~rPm3>HjASAJw$PzN>jXY$&h-<_>`sLWGn)(EWsCP zwywIK>xrH+azOk~LF|y3XIsM@c@XoO}aX4V`_SrXM?QR4r03x zaemZFJ@&4ZhPg0iWqk7cZB_hO->KW?G#=1@K-a7N9qtROGudWQh2>R+iT!UgHf6QR zS^-)4d_R@uzjchs_A%H36kP%3n9N-<93iw>6jkW9Zyf{F*?^yPZQ79J!J4JbK0Ei= zf0Rp`riPi*=ifRVDJIIgF7;)OrGskDsd)?Pdo^rX7?;|I$(jyBKKD2Gu$a&PEo_QS z_aIBZ4{;tfiNVc#h>KQTBIgpB^eCKCD;|Tt9>!vi+gI{5vRM>Wb$k~wOkKcGbOQYa Di6Ge& diff --git a/Classes/LinphoneUI/tr.lproj/UIChatBubbleTextCell.strings b/Classes/LinphoneUI/tr.lproj/UIChatBubbleTextCell.strings deleted file mode 100644 index 2656fcb8b76e129ec05042f1740a5da491087704..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 738 zcmcJMOKZYV5QR^+`4z#X&}eA8X>nuh!WwYV2XrOzg;z8YO=9QF8GdeKnNTIf@WUS)_r$lg;+ifoAt6l+h;0kvboyS8$( zljFylYE6Ac=TL)+!Pgs{SLBx5vHH3x7}}_^iH{-NioaD&YF1z~tI1`6iYfXw1$&6n z8UN`v3>8Dg!1|>cS$g-;9Z^er67)nwTY8(FkJ;q|o_F%N19jPS-cdR~hHx{MQ_AYC zj8HwX45~uS+%wL!(=~@x5 Imd3f;UtnKq-T(jq diff --git a/Classes/LinphoneUI/tr.lproj/UIChatCell.strings b/Classes/LinphoneUI/tr.lproj/UIChatCell.strings deleted file mode 100644 index af350eac6bdd004bba9dbe41c7f4454154eb6826..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1550 zcmb_cO;5r=6r5iBE1DijKuTf^8V?EwD-dIX#&|K6R;d=yQa||f>b%_+6lzMf*=$*M z-@Z4qGrON3CU#JRg$^Qkn6p_pWVdkv7k$p%BH)^h1I~IFu>~qF`AzH%F%>-b*3}!e&9b@bJ1N^ZK0V))QHUFSY{eqRkoK|dPH?&gbJ|_$B>#P zTN$ni(Y-6=`aDj_XG|6r(a!$NBg?wNnwPgM)-t*bh+TB{aK8l$XG0CAv>Ht#Vx@$d zRH4I=Dul|X`s-1VC*@vo=9t<<@HvV(FMj(k*Ga-z#K)=s)4&j4>}y)usM za-X~-ul$X9o)+$yQ=gz;z}RDCi;R2BQ0Lh@I9X$y7g6>-84}rCVVn?MK!0g;;x8Fj op{_&h`|P^~jAQD0M6Lro^4rHbHJADp-*Nq7=0)Ub{IjBoFK`UvVE_OC diff --git a/Classes/LinphoneUI/tr.lproj/UIChatConversationImdnTableViewCell.strings b/Classes/LinphoneUI/tr.lproj/UIChatConversationImdnTableViewCell.strings deleted file mode 100644 index 5bc212364a11091f307196e4068f6403c8c23da3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 708 zcmbV~TTjA35QR@)`zuHvNs3e@kPu(WB|%Mm5O^irv?WkP(7=B;>bKY;fh9zLgK8AaY-k7SJJ^h)68afkVCdc$4!JC~`9-+32<}&^86{@KB1LZbEVO!-Kv)``V z!Mf+furi$qod5LVaKdf$nl5j6)yD!=nE16WQ~sxBZPWAfhq77Q5Vl!|degH$wsSsa G;OZNRr)CKN diff --git a/Classes/LinphoneUI/tr.lproj/UIChatConversationInfoTableViewCell.strings b/Classes/LinphoneUI/tr.lproj/UIChatConversationInfoTableViewCell.strings deleted file mode 100644 index 993066bf1c2cc47435bf1aee50316b484dee5fe9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 660 zcma)(J8!~35QK-;zru2fWF8F^Q3?oB#6vL=q@W~*h$B2C0}=V-l)z`eM}!=VPPaPU z&hE_Y9`=rk%FES@W*Tb6arMmg^r5CY{C#Rn&eIdWYu;O8f~jewxr`QhIEPj z8Z;a97!bdI948*@%plZvhQpS+%)-}1@5BJ6%B3Q4n1(2vdS@xQx_?D;^q}jk-L;s< z1f4FkU()xy;r})m!Q02#7u)mohRfi_Um7B9gFTgV5xz&yK~y+n5h1s~#lmWOjCT z_Psar`{Sskrd;*4)l4a$s|S{+R|Ogqn=9hX(>>7){}Ws0Y?NrNy?ljuk-B8Y?B9qc z{3A{h9keR$KT&N%bU}?kgQ`xC=$CFZ)E#z;KPqlC!RO%HGW-gUS5-=R{{ZTcWpEiZ zY3`rL=J3ijN{k96Tv!<;j(VNqI|O3}(?H+Y7j@u&yixMCW!U&W>$Xwzb=7W^d`-Pe ztOD)OW(D3UN=5o8P|WDig1woCn4ZOXUo-krPeeHb<6PsqVsP7{gx(k!TEPqC1d^#Zr?3L483V#W!$e)NgJ}ji!W! z=BD)C>A5p=&KW*GJngC?Urj|CYR>X?#8cLVx@u^t1?xdEkwfA!`$RLakp>F+7AeT@ zG*#Crx!USw_%n?(1#ttit5%L|XkRC)f^G17K-SyrMum<%_C<)=hWh0^?|#S&akh&QmXDYZarKYQ9a7)F4#Zf z!`k5%s;7=xY_2=bD|SOoc*5NCO&*S6)Pq|ec2(|2xcrl05u!#1X&>LNT@i_?ICgKJ z`fubjoXuL`vi_BA-8tdw36@L8clj%_f_3clv5EIxH#XhYhp7^=*7p;a!L&_hJLE>J zj8+q-zlvIejGNDYFrE4$M3G_xy`zk|7U&h_X0DUOxfW6*bl*avrr$lM aFjI8QZl`4K8qSynVC?K?Z;Pi)JbeK&1fyU8 diff --git a/Classes/LinphoneUI/tr.lproj/UIContactCell.strings b/Classes/LinphoneUI/tr.lproj/UIContactCell.strings deleted file mode 100644 index 9cee140a8b137c7bc9d55e883e997232a0ae6c25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 384 zcmbV{u?oU46h+URuLv1C=+;FXL=h@NCqJOpf{|)LGw9D(FV$3s4l0j8^6tC$o!nc) zm;}q5nu3eUGSzWx$XKhlrIO~Ds9R8~s&39p@lrg2+s9<|FQuF{892#zlep>r{8leO+jf?`V;m#o83%tdvQ!xTTk3nCX7w znVkt1i}BakFX7_>)aN>3cGZLLjOPV*Q^fzr?xBJ>NAgqM2k7Aj)Z5hCX1#-ks@P2t zb+I4nb;Wv@`pvSKQk!?Qy6A@y3JU21hl)+`9nb@jUieQsV9Y8^H5Oo*aO=|&{Ex)6 zK_0Nvrh9HVrHbDa;gC_5SE=paWwu`ZcVT3nz6`+<9%7jCVPF>qY+iybUWh6Wrii*a qa8bb==8}3IF()_FXJDLGHhDo}GELsSm@^j&SwCj;{iPDjD8B(e80U%r diff --git a/Classes/LinphoneUI/tr.lproj/UIHistoryCell.strings b/Classes/LinphoneUI/tr.lproj/UIHistoryCell.strings deleted file mode 100644 index 29d0f923e70d863581da5d8e71e80f2dd35fffd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 456 zcmcJKy$ZrW5QM+_p5jOu@CRG55Q7pGtbBkNgC?i}y+VC>b%uRde#9xv-IX=s=PdBAxt7KL# O%fDswTi^bh_8K0l0YiKM diff --git a/Classes/LinphoneUI/uk.lproj/StatusBarView.strings b/Classes/LinphoneUI/uk.lproj/StatusBarView.strings deleted file mode 100644 index e1ed7ee4a4947aa42a0f8ff7123ab491b3640340..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1062 zcmcJO$xi}d48`A}CvKj+jvPrq1XmP9+=6inB6?*R5i(-JV&tD!e={PWf{2OvGBfSh zPTTkL`uY;mvLbS{FHdE4IF8ahVO=Y)oO^0HMNOhrvhq3@W+io^x}rLyN0drUD!o^aFii-1Qbue_@9?nhc=r%>=0jFy&MMRT z95k4`0Wu$7U#HAiA>s`?74YgrJH*>WyVyQQPH^MO5`1XLEm1yCR=#wBr$N5oMUIU2a-%rfW8sBk!*WffBa|1ZSx zb3B_QZF=6gBX8RuUr{X>R10dV5jmDa$w^w)eu1q>wlcMIaMyz@Wss%RWMkB8o^-2{ zA>F#{{Q_UXi(%J`ESD;NuU^_ zRm0z_SIronDmSEQRoF5vc^6C@GZN#_$D&P}9Mx)Rli>G?EPI+|0%oG=5#P5OmF!&p zPI{FF>r}z3-!_$NAc7e4EyDhG&(Y3Szkk^*wAu7G6*5S-K4cd^AbAaQyguXMQ}wV} zX!(P8bTbw;=acT5sn5;|POwEUG}t#I*r!LXjaaZ*Xnpbjve!n{odY(DDC>B;n(MQB zcq(f;qr)?BjLJSD&g(5sJ7*(5*KHQV(DyGor;VjsRhz{ist#7ObtgK9U3Z=;7MZ6J uX03x=BUfz}S}prI^$q3)%{$2z>r{>ObzJbeh7Ee7TVb1p)(4;8TiyWhU>V#1 diff --git a/Classes/LinphoneUI/uk.lproj/UICallConferenceCell.strings b/Classes/LinphoneUI/uk.lproj/UICallConferenceCell.strings deleted file mode 100644 index 6711f86e94deb3fe8637e81512e519023e115cfb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1524 zcmd6n-Ae*N6vfZO(1U+N;O0vpXq%>)WrXX?O0Ys-(AySP8>LWM`p;Ltb^Rz=*wzqY zn9J<>Z^w@%o&i|WA#jK^e2z(N4`RztJb_~Rb`D-VD}Pxt}5q!#Xaa_^XrU z=2bS#k=d4KEY;1iX_%(5O&#l)uvUhVhLr(0MiYz?b8V16fY$<7e{G0oRTrqXOvRL# zC#D7_OIg-?e0eLOTEEt9-J^d&*E+zuFxXnsIxgaWX>H3^oms-}s*-TK_N z-lUUH=R(lU~T Lg%WJo(^udN!R^~P diff --git a/Classes/LinphoneUI/uk.lproj/UICallPausedCell.strings b/Classes/LinphoneUI/uk.lproj/UICallPausedCell.strings deleted file mode 100644 index a8ba34de30a994f361c4a4dffb7272cad7b46eb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1532 zcmd6nPfx-?5XIkNY<>S*W&M$_CU{Th5zf;)I7j!aI^ZwZaS|;-b{2jdBDqp7`%#o# zlQLL0NZknJm3PrIu^Z9LFbHhs|lw-ZmJ&bnaFWaxqny5~^Z)(%?d z@zcCdP`$XJng`qtK5Acb7dZ5Tucrmg;}Dyrd5Ug!dD7S;WtQ9lap#$@@;F428kgHP#qS7kn^j0s^*BshD!9l}ZW{Y~v%Pv_&ax5L)z)SARRO zT-E`0wU`Yv!|s{g`M&d=%dejSc_|xWNlsc)lW$y>r1^#9lN2N?J?U~?Nt-)6+^_EMV_7Tq&0d&jyr8_-5TyLVetiY(wgbgy+ zd_@$cOa=_|^(teOo$pHjh%R0JF;<>2W*Sfa(@n64})5Fxs2X*jub)_q_K69ZoS@>1&|LI}MXf}hV z<}22OXIil)i^aA5fwFw`E!Ck)rt`U@9VZrxWS|a~7J2%b?zKl9i0Eq(#=gA9t5NyD zSZ3{XbxuyIQ!U*VChgwWdDoKI)I2`JA|2mF<;uarWEWFIvo#c3gPZw0T#&!wFc8yN clk{=!x@EHPtL~>n_AcGbHc@W(>a#kU-vT+(od5s; diff --git a/Classes/LinphoneUI/uk.lproj/UIChatBubbleTextCell.strings b/Classes/LinphoneUI/uk.lproj/UIChatBubbleTextCell.strings deleted file mode 100644 index 3a12c6bc1ff87b0412831760d841fb5aefdf2d9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 750 zcmcJM%SyvQ6o&uB!9{jHfw3E*U~IGnNv%kuiXDpF*Mb|K zHIuhotNvJHJy4%8Ina595b6fZeR6l4srqUc2u)Zy#Ope|3cpd^v~68$nJfR>x8~q* z+a{e6JjO7b7WgB$PWaFLNT?)K5^&#Ccb4iyn9r%@GZ~ELL^EbLYmagB0@VxooRM01 zy_zVsuj}xZD8DhQec7@T+f$4)ft^~<`nVKuhL&Uf)s>&`?!!IMkvgaz;=(=JUEVkS dH}xfhTH#j?yVkKo_L&`{)zuDho4>eF`w8nzXSo0X diff --git a/Classes/LinphoneUI/uk.lproj/UIChatCell.strings b/Classes/LinphoneUI/uk.lproj/UIChatCell.strings deleted file mode 100644 index 114a37fbfa24e4f2d2a263a2f8daed60deeee357..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1582 zcmcJP%})X`5XIl2@xa-m2`d*96Li@?R1_64MifF!lo)TTqN4bP#E*Yo{dLy`MItO} zns&RLnNDBd>%6@tG_P4XDyb!34>U&wdP)Z>tHRo`8rV`=X4TgTtr7S&u{5zX)zQl* z&nUj6Tisx@F&$!Wm|YVa?o=cCl0R!JYqOixll$Q@%gGYV?aJIpnN!_eCd`VNQO!8Y zn^jXV8^$$x#*(qw6SO#}JDl@5z!2Wd4#+OR<8bcVu@ObP_D(%*a>k>tn?=s-D9Jp_ zUu~>Y$Kk393d_B(^AYf5zA==E%}^3vJW~hXDqJmtv_KmVX>^m3^7dh;87Mg%eVDon z^li0!0cS0pGHbJL75Q7_QT`s2Qy?pvEl@eig3c;&?H>^@X=%v2I?|!;l@1h})&j5F z?_+V0#~i8;wco=Qm7z5U}o{Y!~KTtbe2G3<&b{+z{Mt*e!y% Ysw>8d_Fz7|si>k3@)*SQ*Nh3h15Q!hf&c&j diff --git a/Classes/LinphoneUI/uk.lproj/UIChatConversationImdnTableViewCell.strings b/Classes/LinphoneUI/uk.lproj/UIChatConversationImdnTableViewCell.strings deleted file mode 100644 index 1e53ebcc801ef41f0b768050f5af24d6074e4341..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 728 zcmbV~QA+|r6ot>jrHB0!ZTk`kYo;rSWrSOSA?!=}ZfdwuTTw**`RZGBEM#CQhCAGu zIkR)Vd-v-z(1B_SmFhuby)r`eh)6dYXvp5JW}HPjX7`Q!gV|}W^rX28*5_oiwJPJz zJ*x@I0VhsseFg3tg(czEQ(PK<-o2H?KyUFYQ^|n#7rPtY@Ki$rDzYl|BQ; zU#P}7o#3~m&+(qaoAc`87r$dj;Vd{S@04{Y$Q~=n=g^K|KB6A6`fBKXi`=KEFJGy0 z_EVJ|JF$Ib)T3*s)TM6?>oTYRs>*h+uOXk}XaRLh9I8X_6E!Qk?ju|MO|I)cg}>`V SxLQO4-3U(SW3}hJ1o{T)Dr9f~ diff --git a/Classes/LinphoneUI/uk.lproj/UIChatConversationInfoTableViewCell.strings b/Classes/LinphoneUI/uk.lproj/UIChatConversationInfoTableViewCell.strings deleted file mode 100644 index 4ca38384f474106e2c73f0cbf9197cb89fa4ac95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 672 zcma)(%}c{T5XIkNPC5Axh%v`Psz|hgR@&H0TX7XXz+;U{<5!_p(SKh3Rg+aD8d+wt z*?l|n-n_ThKr3n})UIwd(gQ10n}~FxzVEz9jO>z-T(jq diff --git a/Classes/LinphoneUI/uk.lproj/UIChatCreateCell.strings b/Classes/LinphoneUI/uk.lproj/UIChatCreateCell.strings deleted file mode 100644 index b9dbbb12e173917c78b7a6086efbc7d9b1df631d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 750 zcmbu7Pfx-?5XIkNPyG_s9!abT(L`cM2y&o^;iB9ttXKk;lm`ENc=cClOF~wAFwM@+ z&d$ERH#1+Kp3c>huN$otYs=@W%L??MNMmA;vfKr_CYs~FVXK^_Qa$TMq2_p2Ju(x{ z8=@(@~7%3T>DESnh}rohF?(>K|ja!&vN diff --git a/Classes/LinphoneUI/uk.lproj/UIChatCreateCollectionViewCell.strings b/Classes/LinphoneUI/uk.lproj/UIChatCreateCollectionViewCell.strings deleted file mode 100644 index e36ba3f3a4544aa9343a1d2445d28ffcf1858716..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224 zcmZvWy$ZrW5QM*Ct9u9GyfWYq0YMWYiWWu$D=q9aL_{POTKM$ph$fXByF0rxJA1FE zqep~i#)UmMJx`_xY{*$@cAyj&NHx6+Ka^|Dk}D@F^>d-}r&??0tgetU7gMW`EZEW! tQz=i`iTnCS`h^qzr|33UL*vx8fyIi64J|WI%leiI$EqVsY-}H2#~U8GA07Yz diff --git a/Classes/LinphoneUI/uk.lproj/UIConfirmationDialog.strings b/Classes/LinphoneUI/uk.lproj/UIConfirmationDialog.strings deleted file mode 100644 index cae8ce0362e75211020ab914d81f44411149d772..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1070 zcmb`GK~KU!5QX1iPCXe;Mq^U&U_w#^6fq(YS_mN$jRC!bAVO+Q3Iz4Xt8cfZ22)ZF zX0z;e`evE$&G!4tz$vmY;lRZJa}E<#&I}&VfsG{=9B=R#sW9$w@8gwP7ky0m&c!&& zanQgm&uXC?>hCbbjEW~JJ7`8q8wK3JqSof`8BcuP3{1aJ`-P10q@4&=J zJ2=)=D{owmb-u4pP!0z-e##6F^@KYzqidgZY{GBCqGx?(Z~7Lei1RI_9kS_9Tf1bU qK;JGn`*crvTBM>v@7i1gKOJd=Z}M`j^OfdY9;qwwl#&GX8~6bn0G0;; diff --git a/Classes/LinphoneUI/uk.lproj/UIContactCell.strings b/Classes/LinphoneUI/uk.lproj/UIContactCell.strings deleted file mode 100644 index 3736603d7e907b3714b452133bc8fd3934568ada..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 398 zcmbV{%?iRm420(pJnT!j?nUT9L9_^35Gq1N=*b7DrO*|%pnI?{uZ}-kJ*tGjCX-3N zyR_b;d%Iq7hqZ%@~A zM@rw8RZb+198n>dRNZ-E|e|f+k3D z+2!uc+`DtmnVGN8oOV=HUTp<(^}@=l!Bfzcx@zfF5o@9lOC7tbA@Vf$Shu`;I#+*sqDXEz_O^)9N|_X9f7v!= z(=suJ9P6(!U%32<$XhZWyd^vYFg1XI zDhxQxgEDhskq2AEI@Pgnn$*RCsWA^$tBIdeFif<4WCjJ~8qdD~J+d0vJZk&@=d}=b Hfeq(3NiyUL diff --git a/Classes/LinphoneUI/uk.lproj/UIHistoryCell.strings b/Classes/LinphoneUI/uk.lproj/UIHistoryCell.strings deleted file mode 100644 index 66f0d06f1ceae3fd97a745f5e2c111b87f8dddbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 478 zcmcIf!3u&v6r97OgZ~h0UIL*KA*jpf@`a)H-yiLp*l(?as`; znd?PE3kDQM*dWA#rQmSsn8Sn5w*_KiI&8j%h*#aB*<`jV;1@`kv*9icGPXD zdj1hmx8^M(;=wKFoiTxh24+}tH_35xg+Y%R`%jGKSDy58N=5ooM<91E8ta$z8C@Ug qx=1)hiWSo-I!*tUubBGEP?NS;Ttn%IBMMb9#b$5u>`G4tdAb`Cr$l)G diff --git a/Classes/LinphoneUI/zh_CN.lproj/StatusBarView.strings b/Classes/LinphoneUI/zh_CN.lproj/StatusBarView.strings deleted file mode 100644 index 6d87e3a1c2c71a8c087d1455aab56b5c7f7a9d35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 994 zcmcJOy-vbV6vzLL_9+@BLjp!II2ac{28;&fLmj2%iY2us1&k~%u8zKgo1?4G;O+zX z6zZ>_1+|DZF-@Cu?>Rl^|8ei@i=}yGWouo&8tU-aTIJ2Cu9DW&Ql%8*x=ZTWTq%O=jfi)TYz0dlobnaZ*Ko!t6}k zcYL}>y>}nZ97UbeEAq3~;~E%LFlzo2=VTlsmU9OWmw#jU z8#O=fLluvku(Ub-2CsWW&bRw9>CE?Wdl{!gUGP2BzRth+om7$5@7wZY@N`wL&boIu HLq*;Ing*Xn diff --git a/Classes/LinphoneUI/zh_CN.lproj/TabBarView.strings b/Classes/LinphoneUI/zh_CN.lproj/TabBarView.strings deleted file mode 100644 index 8758e3b7ba1774031cd058d1301632055e0f4772..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3510 zcmcgv$xZ@65PfI9f^ZTNTtGl#JSZdzaY@7_-h^>vktKn_CGo(?nD8C`g#Y5*vlkC0 z>SJ)2&^9s!LOOIN-8DV+>eZ`izCL|eLI{4OP(>as4nH>d3*Z5784JpJQ0`^p(Ki zgls2x*7MHCF*`In#M!cA(Inb_G)7^HE12S9Ob@xY-0U%>i78LUOf<(JN+^gDVnnZn z_gv{@_Lx$3wpw-$S!C>Qrq&c(YhqkSosawHeJ{9Nh4g)rXlc*Rz80CfVBQ-xYgH@| zUvLbb-rz9f;H&~xV`w*ok4Nqw4}ff~{D zs%0KUKDklxV^mFuLd~__ikyd!?qjWSK1segag#8h_t`l~&cJjX#e2QlB`Xbt5ut9v z>_csizUrJlqqC5*F~6GTrIQ}9!{&&#f@RKkxc;SlorM&$*KVuof1X-1aEdHr&|q&1 z+tzg0CAa+&t4xKM VtGML6iEYMUm{*;J6uJA4;2Y~g9%=vp diff --git a/Classes/LinphoneUI/zh_CN.lproj/UICallConferenceCell.strings b/Classes/LinphoneUI/zh_CN.lproj/UICallConferenceCell.strings deleted file mode 100644 index dc75b0893ead47b7b14204092e98f35b9e108f72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1440 zcmc(f-%0{e5XQf2p?4531gdQiTe(U5%{OztK2zFMR%zL~m8S<*T8DfYoygGH@>Nc_YHrM&QW<9)lyMCy0XY4_Q;ZHioMAq zzffkGX%zS6<9SehZ)~{H-6_^GRS3zuH^LNGsshq$@TI}gSsTJh)ESClYfxP!|Mjz2 zQ43~sI@cc3p;qNN7EKoa%VI$V?elFTx3rtkr>6XW_o>MuPbK2snXzb!o79mGljKoj zpD78DPvdO=!mOu9?u_R3J^_23$+h9NuVZ9D&5CpEnk-ghcc<}IU!=!N>XLgndUIkP lmZ?P@)LmY+q}Qpfnwns?bcQTpZ_gn&SuBhEwRthd{0;Ww;5q;R diff --git a/Classes/LinphoneUI/zh_CN.lproj/UICallPausedCell.strings b/Classes/LinphoneUI/zh_CN.lproj/UICallPausedCell.strings deleted file mode 100644 index 6ad6c398b6212f83486eb95d19c777fd2448970c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1440 zcmc(eT}uK%7=_RELjPg$QdqMuf})%3qP5tBG%&hRG28HiYSoG^qMzlTDCp+|)#I8g z%8va`#6O$}NzMEa`B z=bjJZLC2icIcY~Pl-TKmZ2sIm;ryCa1H7w)26qp4wvpBF;Kf{de<~t&x|8f09a0m&JgJ_Q~H7_3PkdUpEU` lG$H;si+Sp9hrZ6ZrmZE_YT`fdQxhVGYbM^AWziJZ(l^9=3C4FIO}uFW7XP$S;{`%hDuETzhRZEdKo{CjXz_2n^v3ile2Kn< zCMLd&iTc}x1-hB;A1s+LyX=0m^PTUUIWvF%q;x~;N~<78wvK3NJ>a*d7b@wYMjFx% z)aS{4p4)2DT3%#Vd+IW-OT=51dAG+KXZD2xPx@Z8GaX$e;x#c%MwC>XMQ-X9<1(t~ z9sPiR$I}t(!6p@XU&Dw01U(dhvTofr(v`kyUjFPM`aWP?hx9W3TV^W0>6zuxEU-#^ zX$Y%*?t0)3=W++l*HCLs&*(=w(W3xrQ$$kD)<6ILa8~)*xK@v&++Y=kpcsS9S87f< z-P0}I;mHow?|?PUIy_hzT0et1tBX1OXrEQ$;3|1*uT7ROS$!>Pot)(&<6N&g<~o48 zwD#fI^{*Cw6V7#67QU5X_B#CrBcBAgHbo@m+ByB!%r&lmjZ=~Tb7q(E6S#M{+L7oh z+CniIwedGs@0%!UQZL_~O%X}aU#)yRT@Ja~M|{l}Rn;#3T;`fb>)}kBki@}i&S9?l zxagu*aPa*_p1i9!xUjpITJ#MxTMKYzipaw3#4+ZXU+H{$zZ@^CIV&_-!A&p?z1_y* zem{WB6p>Vot2!%K=r9i-;VLvCIIlueMD&ijID6ENTAwQ6yyN=%@K;wE2N@8V#z_x3 z6^?M~tk@!RLhey#O=m+%grXGe^cq!Gynhq diff --git a/Classes/LinphoneUI/zh_CN.lproj/UIChatBubbleTextCell.strings b/Classes/LinphoneUI/zh_CN.lproj/UIChatBubbleTextCell.strings deleted file mode 100644 index 53a366e62a428046b0caefadf09663aa3908722d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 710 zcmcJM&1%9>5QWb=;5&pYg{BSGO~p;qE-XPeso>IxwJB<(O{szlpUbBZ`Z$H^7xPz& zq;w&dTqZMT=A1Kk|83|}b(wNC)lhF7Q*Ay=kLt+RSWCs~DCY6S+fs$6=g z2+%jp*oP<`@tbsJzcTsv?F(Z z3Sl2v{!&(M#ov6bx82V{%}-|kcMHE?*+J`#8fxP50oTuXHF?eGY;JP}rK6u3c9U&4 G^>qNNu4>%? diff --git a/Classes/LinphoneUI/zh_CN.lproj/UIChatCell.strings b/Classes/LinphoneUI/zh_CN.lproj/UIChatCell.strings deleted file mode 100644 index 9cdd76c8c5c4ab072a8b1e801a954fe940609168..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1456 zcmb_cO;5r=5Pjz+{)dLd3khgRj6vhUz`-hDNYIEUD^{o$sKmWSm&vQ z2A3WBIkY&mI0$g}!&Ai<;GsjChzS_m;jYbCdDAYV&-hQ+OcV!Mb6Ac%(nO|lFHW*k zWljxlsdYc@`<1u)LQQ1TxRS68i0d}QEGw~1CN1LEiPM{zfx2~w^0nEo%z`gT7s|vd zx@w_01#;t0?Ty5>e`tG0v#?V2QTnN|=1! z+(h}3sH@00F#)dm>vIa|IOUyUD%k9esGN>*j4gWR$asg|8O{L%TO*9)Jd#cVxA)R8 q>WfeF=%PW4YkXEFF!R~JO>!#ZobM8S6ot<^;5&pY3rYQ{v{1TfwGffIiGs_vN!y4vUOB!-Yj`Qh4R7PI=SkG#liOEXFSWhj<#} zEa!}I8ABFxf4W9mxa~odkjraw;)Lj-l5qyt4RlS&U3GP+*9}IK!uxxr%GruP_*lGW tgRk3zV4ttB*~I|T5C|NlwRPm{vb&+QH@{Q>|JWq|+y diff --git a/Classes/LinphoneUI/zh_CN.lproj/UIChatConversationInfoTableViewCell.strings b/Classes/LinphoneUI/zh_CN.lproj/UIChatConversationInfoTableViewCell.strings deleted file mode 100644 index 4b20376e1dd461f3509f6e41179b63cbc94bf2cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 628 zcmaix!A`VF7kiAT2~Raak+cB1!_);8*ZJd<6^Eeu{c4^eLp; zG@ZP>cW36Fna>Z4GhA#gm=UwoXVcd2a7DmCcehOR=Frk@uJcN<)O5JxiHzsNdnEN# znnaoa-{^d9xWwa?zG9QeRCLwfQg)T1Vfs0y(s4&ix&Qg^@}e3!bK@|Uw?qyL(oAkM zImx7W`^8$)bw!`>Si{z1s3~})j1(hvIzMETY*mWJckMbSKis?Z`*pE{I^w#G^)!oA m9&Js0t~u=Y`q$nTEEtRGUOV#$MHrp1RVk|Wwtd)yd;ecEN?v#X diff --git a/Classes/LinphoneUI/zh_CN.lproj/UIChatCreateCell.strings b/Classes/LinphoneUI/zh_CN.lproj/UIChatCreateCell.strings deleted file mode 100644 index f658afa342be33109091536f9057022f7a0505bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 718 zcmbu6&2EBF5QWd0rywjzq=~zxX=1bs@uzOoy+4SUDy9-`eKenhc2@+UmJr=4Z`eJyb?MA;Bu0`0Q@jc{PX wKJ`1olj!VQ!o6P|&pqzkIQlo^7U!qX&D3V?!nnL)G*x)0ELU`O*`&$RF9)V?NB{r; diff --git a/Classes/LinphoneUI/zh_CN.lproj/UIChatCreateCollectionViewCell.strings b/Classes/LinphoneUI/zh_CN.lproj/UIChatCreateCollectionViewCell.strings deleted file mode 100644 index 1dd79ed61e3bf27d4fef39d39e23dbc7d115182a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 194 zcmezWkBdQ{L5o3w!I>e4A(5dN2o)G?fmn$ll);n12Pl@rkP4JjVz35^mH^omKoX|L ziy@yOgCP&dcLB0ep{o3Wda{7LWS~k7h diff --git a/Classes/LinphoneUI/zh_CN.lproj/UIConfirmationDialog.strings b/Classes/LinphoneUI/zh_CN.lproj/UIConfirmationDialog.strings deleted file mode 100644 index c47145c83c768cc7b86e0bf5b837b63d2e9b8266..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 980 zcmb`F%}T>S6ot>Wc>$M(E(@uMOA&3FAjP0)(v^rbrq+~cgtW2Mo!~<0#+3`7!l&^; zd;sg2$&XZ0(uE8YW+vy(-0$4G_|~w626VI`(8HKR#~x=LU36d~!Gz-$5l?n`9&sIG zM6G~_kpBewMNAtl9P=(4PNqMBk0BLTRCZt$N)y{SfxiDOWuVIK!gSt11_e$03^DLUZpFh6HUO4b;gRhI)>(kxGynDIfZ7$O8_yMKEn=$|Z diff --git a/Classes/LinphoneUI/zh_CN.lproj/UIContactCell.strings b/Classes/LinphoneUI/zh_CN.lproj/UIContactCell.strings deleted file mode 100644 index 1e5f89a9a2083fa8ef34a8a098b3ccd71e3afa12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 372 zcmezWkBdQ{L5o3w!I>e4A(5dN2o)G?fmn$ll);n12Pl@rkP4JjVz35^CNd-gVJcW% zCQv35D3i%h!cd8%5~kk`C{qMfS;CM9)Rzm?1u?@Ps4ol1O9sk#GPuC)GlR-&0bRre zWScSQ5oMne+yvf`@Mw@7TtG;QuS$TfsQ|hL=5jBFe1;65s}+E*%O}g-FcT4OyO6%i H58^feT?shG diff --git a/Classes/LinphoneUI/zh_CN.lproj/UIContactDetailsCell.strings b/Classes/LinphoneUI/zh_CN.lproj/UIContactDetailsCell.strings deleted file mode 100644 index 3c2f1562a213a1fa29d4eccd19cdb15f4d40f2f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1480 zcmd6nK}*9x5QX14zasQzAyq_AB1l`*s#w&jw6~^4lM-9eC<-3@zy1g7m!wTeSV$^} zvSiuJ%z*7Ps?XfjnFjM6b#k*VUbeW2&51cY)Xx@m~=SVLUA1cmVfTVBLgUhxHbE$s;yJtcv)( z_jyr;RrU`D3 zoeuBhnp5)VO%V+;O7mK(_-C2@uI4*b)R#ibU qpViS%5?1f&FdK&XlyzEnyoCB<-fa~Aool&zeGjdE+H z@;}DPEp-c}_;_W%BR!f_84zo4$m2Z|t{5$yKRIe&F*#+I%49abb6BchCO0D9i@2Ds XPe!82Y*A)^o2}^j;y=fyQO<(UuWQDkh~6h%aIEJ$weA$p=us z0WGLStchvboSAca&VQMCeQ~s`qFn7LlBX_@t1aGw8mekrJtaIh>aerPeup^LHMNmW z6_Sf&(tlR8s*2X$YmeotO*Wvas@=4zqJ6bg(jGHPbZXOS+`R}Ihd8UEJY#kt?K?f) zp-(<$9ykNgS`9*whcL7JhB^eJPbNwy)mgR3cFD(N6Jo28JKC{pGe?6XU5zxTX&nvf zxR-oWcv1HR`vQ~!(OSrvI5Pilj^$Hro?bU)VP4Ytgl A1poj5 diff --git a/Classes/LinphoneUI/zh_TW.lproj/TabBarView.strings b/Classes/LinphoneUI/zh_TW.lproj/TabBarView.strings deleted file mode 100644 index d2d5d3131cc31071fb8a4115f30023c824b63cfa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3498 zcmc&%%TB^T6g>-9Z2SenN=QHjdBwO;NK}HD_zWv8r3#2NLQz?euyVoH#6RFC{52Ex zP-qEtlnw}F!laqG9qzg3o_nWXpB}6u054LgLP3MWiyi)aIL9IO(1gLEqsEnOt}9SE zG}E$-0?K@^Op6w>+$(UWYM+ooiEGC2&13FXxUX{M5NX>gI@}M?6Az!G2)X(fpM656 zi*X%vjWkb`XuRTPMhY4DB%`GxGy583s>r-oP1dSdBR>BG zgb{2xF!onuHMXkv)Q`7^?ld?Jdi_l0Sd}G-1 z$AB}-B9PCsJ_DYve!VCL#6C~Yz-+z5eWl8h6&*o@shA);P?KYzH><;lEM)btxN7F6 zhn}&wo)T>Z8=PBs{GoY~g)C;beRi2zQ*nt5W1zFE1#!Z7+&S16S;$6Wv04;)Jf6`a zix4aBpzbcSTFP`Pjd#v4S$jf+a}9a>R$?hvWHAkQi|b?}kH@(aS9wREqIIixLD8#gE`ywGCpRRVW2XO#EH^IQ7iEOt;;; zcX#J5CTf~CWxJg@XXfnOnM;5DoTEE*n`+dd1M1Q-9yNN1=RCckb=t(*2kPUqd3u1= zE`7wKpY7YnC;RwhpGNd;YNvd^Lqi(iGycv9-yPuHA-VrBTF`~70;`s?~Rdz-^U!*T>%XBp-^5=+3aL=8Nfc((AoTakrW zHb~2ChcK@rmR;Hd(znP!pH43k=`z$s{tghe<19~%E|i_+%N-^=%j)cOfZXLb#5qNc zt8_v~@H;}ZSeGH5?E=rXny1UBmZK;}PE{Q`T!9W-6&Z*&CmaqnHZu80s0}VU(jeXHQT~zJTF?dI5e-vd%W7c_ z*We-E^R?K2`j#hEN2))sXfs&uS<6>ynbgLetYg`z$U>}{$~bK=6&rU$d5l+r_@uiq zQND{P7xCFPwHP%uY&vTvsAdP?(*>g%`nbHZokC4Lp!^iz*GB)8>rD9ZN{WhN@MvQr z(H3nrz;uHiqmMkU$WJU9ec3isF}?}pC8WGI`dm9Rb*J*;Jf-qkg~m>C)%0mC%&A%6 z)O2!+_on5gIcMC>bDbDMZ!x;AQQ0KbE>vq?(VjCc9&K#oRLD8wNox_$_|qnxu&E}@ zQtX=3=C-WGtI6eb&E)=wXWf|Tqdl1~4JW<=#P~LR{ob{_C7zNeW8L2~lyMPzF1&0} zi!UZNMeH?n3>|s`wQ&zLz(cY$MyB|_M*M8tF7&s&l9DwoHf_u#2NIV7V!(H5IF_u` zd@Ads9))sj-?Pb?i+z)0zlT)(p?HO_754Pi&Ze&-k2p_SJ{k>A*JVv@;VNifRjQpO} zRpo0b8k+U47D_#dXkrc@Rz7^PWGuWgNw-(WPxyi&K+F)A!X-E5h?xxO&@n&N!F)d%9I{ zY2zf3mwYl(&8(6$%OfJ4y|5MACaZ4ishH!ZT%S4_o6RG~TjUY%F_l|fSLWwc?2YQ^ zms~Y9&YPB#<}8|S<|^kH=G$;&x1pY8Qt)ZxCc2Ze>7O+G8Yp8gKFk^Qdr9T6gBk1` z6DiN2eaxmjo86?Rv`ss73;zZ5*VcR3_na1Rf2fYvkF-0P!uJaEk88)@-b*yI-y@vim4A=Gx~PMjXv41z7vI@x?%Lr} z#w-f9@o#A275*c;12yc@8eV(!6(?mj0w%G(5ock~jkWBdZh Oo&;SxTugFLbMzatsgGI! diff --git a/Classes/LinphoneUI/zh_TW.lproj/UICallConferenceCell.strings b/Classes/LinphoneUI/zh_TW.lproj/UICallConferenceCell.strings deleted file mode 100644 index b23b692fb77fa5b152553a357aafef438cd4c9df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1448 zcmc(f(MkeQ5QhJ2quZ{y)!=dFXOF;?&g*%bVHxXnZuj z0*!xI#{QQ2>Y)pL0(^Vy9`TKCYTb3$w1Cxig&EK?-(<>9yc>tTUuf%_<3YO&061yX8!pJDrokGJRgtko<$$+Y@oI lNVmtf4zh;5l|XN@SQY(8_sWSde*qk<-V^`; diff --git a/Classes/LinphoneUI/zh_TW.lproj/UICallPausedCell.strings b/Classes/LinphoneUI/zh_TW.lproj/UICallPausedCell.strings deleted file mode 100644 index af9becbf9503ad0c03bab338f6b21dabacd1f1e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1448 zcmc(e-AV#c6ouFIM7Ldwm%^A95ft5IP-9_2SrFZ*Og7;U*{CH1zE5x9!&RSSGlOzS zXCPv84(Df`z4uvr?XOQu+sY}UlG>{41VEHHRSQm z1M#K{?i$>*BM((h1|Z#^x0l>Mv1@{NbQ0kljltQv?W`|Ge0S2wv1mf7gSLuaKbTH1v%8{8FhNBc0ds0tGz9TS_^ z#c>)Ie6o8b%dlt4)cuiO$)N7upZze58f!a@o8}KmIyzk?eLCBthUfILjiNn0FICcn j_}@wv=)VKT4s%g^E4tQ{|Dsk+h&;-f>nEYuW7=_PPnr>Z_E}MWwW9vs;Ak>yhhAE$r zIy`yKb4LwY(~oTFP%Xx_i1?y1?+$t6PQFm!Nym?N$D=Dmd?cp9h?0tv$W47BcTH8DqMDsOinFQuZlY69-+fq*9P}uF89!U6}48iPe0JPUWHJbB9dyh`_1`!Wv$k77jcvuu0kIaLy!eZ%_*m6 zdZfoZ*`xX=U`?|QyGuhGWH4nlDu*bhOa3}MCgXRk#3pr5&Ule=o^PFT?ZIPOM{w?W zSrhMB%zIfj9+qMD8vO<%cSF3JB9iicX}|xKJE%9~uzow2_Sip12QF7961}A@)RWOM zUgv3l6LpR16*#piA}RV6>)y|sAvb$Up#P#Os^isVu6cC7m}wJ|I9Sa&Ojkf$bWy80 z{Qf$BuIm$y?Cq;I{Q;V-hBz}tWMOvX9@EU{XN+2@x6@_((?f%G+yGhM-+yfGk3#rN z5lJ<C3~2l#c? zZ&3(`dJ2mhdQES0ADpHFXKApPg(FNVUA6T4$Nr`LB$kKV#ePx%^Xv)2L6Hu6bg0B) l)F-&mL-6K&WLun_!n=tnBB^#qr-&8%%DP|Q>3JEY^dIi))YJd~ diff --git a/Classes/LinphoneUI/zh_TW.lproj/UIChatBubbleTextCell.strings b/Classes/LinphoneUI/zh_TW.lproj/UIChatBubbleTextCell.strings deleted file mode 100644 index 5e0ec4c7f63c97665b88adcd04d6bd0ad7e981c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 706 zcmcJM&1%9>5QWb=;5!7DLZhKA6s4O+7nYzcsNgb6r4covDb+%uFHpMdgLK!2Q@?0_ zKtw^1A(zR_nS0KeyIvV8svuL2M)EW#Ox^S4)mB|Cy=b9O9r8iwLcN2-zLkMfja!OgYh2YEk{BPu1_QyF}*nd?Utz}*77MG8>e#NWF>jf8cn<&T} Iozh@v0~5t*mH+?% diff --git a/Classes/LinphoneUI/zh_TW.lproj/UIChatCell.strings b/Classes/LinphoneUI/zh_TW.lproj/UIChatCell.strings deleted file mode 100644 index 8a2c9920f1193f4bc92976dd1d0c1c6fdd9ee6ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1472 zcmb_cJx{_=6g_hj6IZvUBT2!M7=y;az+e?b6a2uz_|zg*q>2^P#OUDU#OVKU^T(;@ zwLDO)LMwS``}*$Zx%a&L@vb3*6m;a#fWQ@(jwL<@wqT>kvqLzP8Cc}0z!8@d=(&`* zl(_J5`$bdP=i#AAnY8g~+vM(?wxOpotxx$UWi|@^s9DVRG*Zk=<6fSm$BJz9y?Bq} z{%w7#V%^DT8dn^YKJ&T>atf=bm$aj3$&y8$P|w_p!00;Wn9*4d2)j=5{`TypEbC{_GHk7l}=+Vo5H zx>RmHJhdl%%J?!EVX23WT^Sq5>s4r0(X|gut?f`*`HR=}FtYFBHZPwgD zrxz~{(+aec6QRv-i&H^IjXvd+aM-86Z@!>rmWbD=ZE`MHSQ$bbr4e^Byl(7wt?G_5 n33gh{ae>d=2xKkxZ<&}%IODsBP4+gdg_?0u8d1Ic9#O+5NLbs~ diff --git a/Classes/LinphoneUI/zh_TW.lproj/UIChatConversationImdnTableViewCell.strings b/Classes/LinphoneUI/zh_TW.lproj/UIChatConversationImdnTableViewCell.strings deleted file mode 100644 index 30f88c754b4282acbe0cbaf7eb54117eb02c229e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 684 zcmbV~(MkeA6o&unh2BB-QdrF_62zOVz>vIIz2A0M+^DrEB7?x^>fy?7a%UA8T$Evk zGc*6$^M7;p@7GgPb=B0@lOnw_YU(k4jWy7avj?Tz`Ra1|PW;JgHFuh8rkwpXQCg@* zZ#g#RiGCotT(#VMUhd*g-7gCG|H-e`6XM|xbhf>Fhux@ac5XFoMzBv z)L3lMTE~5;a_&ryq0Wh(D>-MdO(494KG2m;^|8b0QZ)XnR5{zc!F(Bg|JKV mVYibZqzMidPzKDFI&}72XB9nlk*xm}+f$dq)zkeBJgopO-eb}L diff --git a/Classes/LinphoneUI/zh_TW.lproj/UIChatConversationInfoTableViewCell.strings b/Classes/LinphoneUI/zh_TW.lproj/UIChatConversationInfoTableViewCell.strings deleted file mode 100644 index 8132fcd6b0f08f392de62404bc51243a6fa836d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 632 zcmaix%}#?*5QV=rPeE9cfV+0lxG1s#O=)8_afzq_t!+YSQ=h_@bKOVLo(f!lf)c{y z=H4?i=bQO>w>ZJY=8Od?YkfAS`W>!_xX|4#_j+>}>9*2&r`T%7-0@7ovUyLWev~GY zCL%PtkQ*-X*mABoBrz3T^|zGWrSMHZ$5i^+(NgYz{sT6uQL!=(Q+dne@JL$7Z6POx z6ffUcTe?8>8BaZIF;h*!BWI?VsMDayXxX|H{%7qzCtuueulwuc4*H1uHWq6ZxjfpM h_)2rA_xjh~N=oLUdeF{1CL&CJv2`iB_SW{T84jPYUC00c diff --git a/Classes/LinphoneUI/zh_TW.lproj/UIChatCreateCell.strings b/Classes/LinphoneUI/zh_TW.lproj/UIChatCreateCell.strings deleted file mode 100644 index 09be65eaadf506ca1aa3959a6044aa91fe3054c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 722 zcmbu6O;3YB5Qg6~zk+ZiDJI?;V`6L%rPg?<+$kW1h!`bR`{UII`AW!EVhmw+c6MfV zo_)VQEuG1gt%V*H>XpydCBLJ4`PvZMDdEh~1>JjHm4uE@;TKNBrk z6HZFKC~fQS=#~?W=;3SG_qitep_x{iV*~tkTj4UFg>TC6`gxqb)88ht==~r5b<1zV zQu8;jbc%AtOH}arI%2mvhq|fgC`}nA%I@B}dWykUfr=^91!$A#t-Uiug@}Evd4?|8 qk9HMrKd9d6ycwzbJLduQV+bE~gS~~b7;&01Jf@tUXi(ZTlcjG~ZElzV diff --git a/Classes/LinphoneUI/zh_TW.lproj/UIChatCreateCollectionViewCell.strings b/Classes/LinphoneUI/zh_TW.lproj/UIChatCreateCollectionViewCell.strings deleted file mode 100644 index f315523c96fcabbb8352fd15c0f1bb2cdce4ee90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 198 zcmezWkBdQ{L5o3w!I>e4A(5dN2o)G?fmn$ll);n12Pl@rkP4JjVz35^mH^omKoX|L ziy@yOgCP&dcLB0ep{o3Wda{7LWS~kZa+o;cY@mk@9Aubr+#=!0AEYO zzk=t9%+%ocPcm0Ad1Ur#$N~~ykSQg#O{x>_w08wrm7<=^x(wfUA@fi)$8B1RTM-iW@8>G9sr(;GWIIii5F&%rLTO)S8 jO~1N~-t??WQRUg^)#HoogvHx3e7ak{enhLDe%-(iDt4LY diff --git a/Classes/LinphoneUI/zh_TW.lproj/UIContactCell.strings b/Classes/LinphoneUI/zh_TW.lproj/UIContactCell.strings deleted file mode 100644 index 778d2299d4470bfb6c202c6b2dcec7f9e4cb415c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 374 zcmbV{u?oU46h-eG@E=0P4!U)bPKrVM` zQ6j6E4k~q_tTK+%M!8n>wyM#brgTeHRQ;OsC?3Tt==L!g{R@;clR+nZM_gUT8sDB* zg_3LD?@Ql$0+HdKYW&qc*C&jM=LSRl@}~gH6_&`oRHGft7PjUu>XpF diff --git a/Classes/LinphoneUI/zh_TW.lproj/UIContactDetailsCell.strings b/Classes/LinphoneUI/zh_TW.lproj/UIContactDetailsCell.strings deleted file mode 100644 index 2eb4675c3ea29ffed5b637c0102ca400d459330d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1480 zcmd6n%}c{T5XIj)e}bpbn}tLXJ&7P~QLAE6{Gh$HHQJQe_z^{Ko;~>&SAR*`l!S$( zf+$Ot&CKlXym@cuYiemtb=hhvP+w0BTRVI;U8t>wo)s}dO|WcZ?`z2Ll1N_z`RwzF zc+)Yy0iGZ`p{WtJXtuM1cZ`3CrL9&Lwa5Bgjt_6!{Z9s>(_m@v0ONX$T=*#K)snE#82L_{J8oZo&Hd>08~Vv-}s zjd|OVt13;&-tZ+c52LcH^TJK)(s*~!{i>@`R!DBaHS^nZ>moa8j9(@c)O5=Asx5p@ xVKq=+RIDmgwd(W@aiAKJ@A7{S0vx$b=}B5Mi4D8rgv>PaqBYC>&T^b8Kc4)LWkdh~ diff --git a/Classes/LinphoneUI/zh_TW.lproj/UIHistoryCell.strings b/Classes/LinphoneUI/zh_TW.lproj/UIHistoryCell.strings deleted file mode 100644 index e80d5e6586a7b8e189bf28b1f25ddbc8e0b836b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 446 zcmcJKy$ZrG9K?Tfz;_583x41#P8Ovqxab4aQZz*^Xb1J-)zg~l;Gl#2Nl0>cxx4Gd z&?dw(U_-(|W9e%JEQp!vZAm69pr_Y_RFge;PKXoYC^@|`y?!WUFJ{S3x~){zA2aE4 z-BKYjQSEnTM3*KLR@yt_L{CMij7H~AjMi6~g4(4qzo#&oUwW6ydsJTEZA`&hy{s}8 Oe{1GlU+KMX)!_yTUqS!? diff --git a/Classes/LinphoneUI/zh_TW.lproj/UIMainBar.strings b/Classes/LinphoneUI/zh_TW.lproj/UIMainBar.strings deleted file mode 100644 index 7dcd85f93ea7518de1f6b0f7666900705a31380d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2688 zcmcJRO;3YB5Qg6~zk>9nJ?NqKgBUN;gH1FZ)E_{RD2CRgV4{CseObGJ%TPM8hBRq* z>C8U+%+B`f)59r-@DUj_=BIWN=zVU%; z&Mi5URS`lwbFA3@@|LqNoR2xOz`S~EyqzC%B_6+zak5vIK^38y$72i~(VBD{te7*y zyb?i*lcHCV5OBR~WQJC{wum*S2%^bR!noi26CzR`>?g(W!{0oyD zzu6hu8T1sI3cO?Om3=-X*;B8l!0{BQJxTfWgz`RGPg0KVJ|Qv5@oP^~hCYh=mek*; zH>Qv0boI#lDKQxHzd0WF09FY z;+?K=Z-zU|eS`__B>26c&F<|RJn@X*bG$L7$^Oay?tUBDH1NGoomxt*eFR&pfjEEX zY)ntcFAKODSgre?-lBEGPGz6)ihi+y*qjCn2D?4CnNchqZ=}Ae7yq=pK;MSvZ9tVkg6s$vIvdT zgd{z^LwOdNk)+|LBzcnK8%mOb-i3zKE&4*<=Tr3g#~`POPAyXTh_+)(ntGS=Trw+3 z!_Ug+OV%*FB$bd8vs>!-)$5|`ZNcmT-F#m3_az;H+i{@6B8nVxk(yjcU+X=ClQ*nB zrZyt38ecE>`QS)~4ad^vq^X{t^Ra@P{2Y~_k`^_o^c*U^UsCa9p`8bwQ4Jf}4M)LI3X4Ii$?p. - */ - -#import "linphone/core.h" - -#define LOGV(level, ...) [Log log:level file:__FILE__ line:__LINE__ format:__VA_ARGS__] -#define LOGD(...) LOGV(ORTP_DEBUG, __VA_ARGS__) -#define LOGI(...) LOGV(ORTP_MESSAGE, __VA_ARGS__) -#define LOGW(...) LOGV(ORTP_WARNING, __VA_ARGS__) -#define LOGE(...) LOGV(ORTP_ERROR, __VA_ARGS__) -#define LOGF(...) LOGV(ORTP_FATAL, __VA_ARGS__) - -@interface Log : NSObject { -} - -+ (void)log:(OrtpLogLevel)severity file:(const char *)file line:(int)line format:(NSString *)format, ...; -+ (void)enableLogs:(OrtpLogLevel)level; -+ (void)directLog:(OrtpLogLevel)level text:(NSString *)text; -+ (void)d:(NSString *)text; -+ (void)i:(NSString *)text; -+ (void)w:(NSString *)text; -+ (void)e:(NSString *)text; -+ (void)f:(NSString *)text; - -void linphone_iphone_log_handler(const char *domain, OrtpLogLevel lev, const char *fmt, va_list args); -@end diff --git a/Classes/MagicSearch.swift b/Classes/MagicSearch.swift deleted file mode 100644 index 2dac0586c..000000000 --- a/Classes/MagicSearch.swift +++ /dev/null @@ -1,153 +0,0 @@ -// -// ContactListMagicSearch.swift -// linphone -// -// Created by QuentinArguillere on 25/03/2022. -// - -import Foundation -import linphonesw - -@objc class MagicSearchSingleton : NSObject { - static var theMagicSearchSingleton: MagicSearchSingleton? - - var lc = CallManager.instance().lc - var ongoingSearch = false - var needUpdateLastSearchContacts = false - var lastSearchContacts : [Contact] = [] - - @objc var currentFilter : String = "" - var previousFilter : String? - var magicSearch : MagicSearch - var magicSearchDelegate : MagicSearchDelegate? - var lastSearch : [SearchResult]? - - - override init() { - magicSearch = try! lc!.createMagicSearch() - magicSearch.limitedSearch = false - super.init() - - magicSearchDelegate = MagicSearchDelegateStub(onSearchResultsReceived: { (magicSearch: MagicSearch) in - self.needUpdateLastSearchContacts = true - self.ongoingSearch = false - self.lastSearch = magicSearch.lastSearch - Log.directLog(BCTBX_LOG_MESSAGE, text: "Contact magic search -- filter = \(String(describing: self.previousFilter)) -- \(magicSearch.lastSearch.count) contact founds") - NotificationCenter.default.post(name: Notification.Name(kLinphoneMagicSearchFinished), object: self) - }, onLdapHaveMoreResults: { (magicSearch: MagicSearch, ldap: Ldap) in - Log.directLog(BCTBX_LOG_MESSAGE, text: "Ldap have more result") - NotificationCenter.default.post(name: Notification.Name(kLinphoneMagicSearchMoreAvailable), object: self) - }) - - magicSearch.addDelegate(delegate: magicSearchDelegate!) - } - - - @objc static func instance() -> MagicSearchSingleton { - if (theMagicSearchSingleton == nil) { - theMagicSearchSingleton = MagicSearchSingleton() - } - return theMagicSearchSingleton! - } - - @objc static func destroyInstance() { - theMagicSearchSingleton = nil - } - - - func getContactFromAddr(addr: Address) -> Contact? { - return LinphoneManager.instance().fastAddressBook.addressBookMap.object(forKey: addr.asStringUriOnly() as Any) as? Contact - } - func getContactFromPhoneNb(phoneNb: String) -> Contact? { - let contactKey = FastAddressBook.localizedLabel(FastAddressBook.normalizeSipURI(lc?.defaultAccount?.normalizePhoneNumber(username: phoneNb) ?? phoneNb, use_prefix: true)) - return LinphoneManager.instance().fastAddressBook.addressBookMap.object(forKey: contactKey as Any) as? Contact - } - - func searchAndAddMatchingContact(searchResult: SearchResult) -> Contact? { - if let friend = searchResult.friend { - if (searchResult.sourceFlags == MagicSearch.Source.LdapServers.rawValue), let newContact = Contact(friend: friend.getCobject) { - // Contact comes from LDAP, creating a new one - newContact.createdFromLdapOrProvisioning = true - return newContact - } - if let addr = friend.address, let foundContact = getContactFromAddr(addr: addr) { - return foundContact - } - for phoneNb in friend.phoneNumbers { - if let foundContact = getContactFromPhoneNb(phoneNb: phoneNb) { - return foundContact - } - } - } - - if let addr = searchResult.address, let foundContact = getContactFromAddr(addr: addr) { - return foundContact - } - - if searchResult.phoneNumber != nil { - if let foundContact = getContactFromPhoneNb(phoneNb: searchResult.phoneNumber!) { - return foundContact - } - } - - // Friend comes from provisioning - if let addr = searchResult.address, let friend = searchResult.friend, let newContact = Contact(friend: friend.getCobject) { - newContact.createdFromLdapOrProvisioning = true - return newContact - } - return nil - } - - @objc func isSearchOngoing() -> Bool { - return ongoingSearch - } - - @objc func getLastSearchResults() -> UnsafeMutablePointer? { - - var cList: UnsafeMutablePointer? = nil - if let search = lastSearch { - for data in search { - cList = bctbx_list_append(cList, UnsafeMutableRawPointer(data.getCobject)) - } - } - return cList - } - - @objc func getLastSearchContacts() -> [Contact] { - if (needUpdateLastSearchContacts) { - lastSearchContacts = [] - for res in magicSearch.lastSearch { - if let contact = searchAndAddMatchingContact(searchResult: res) { - lastSearchContacts.append(contact) - } - } - needUpdateLastSearchContacts = false - } - - return lastSearchContacts - } - - @objc func searchForContacts(domain: String, sourceFlags: Int, clearCache: Bool) { - if (clearCache) { - magicSearch.resetSearchCache() - } - if let oldFilter = previousFilter { - if (oldFilter.count > currentFilter.count || oldFilter != currentFilter) { - magicSearch.resetSearchCache() - } - } - previousFilter = currentFilter - - ongoingSearch = true - DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { - if (self.ongoingSearch) { - NotificationCenter.default.post(name: Notification.Name(kLinphoneMagicSearchStarted), object: self) - } - } - magicSearch.getContactsListAsync(filter: currentFilter, domain: domain, sourceFlags: sourceFlags, aggregation: MagicSearch.Aggregation.Friend) - } - - - func setupLDAPTestSettings() { - } -} diff --git a/Classes/MainStoryboard.storyboard b/Classes/MainStoryboard.storyboard deleted file mode 100644 index c153f01fd..000000000 --- a/Classes/MainStoryboard.storyboard +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/PhoneMainView.h b/Classes/PhoneMainView.h deleted file mode 100644 index 0740a0eb6..000000000 --- a/Classes/PhoneMainView.h +++ /dev/null @@ -1,128 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import - -/* These imports are here so that we can import PhoneMainView.h without bothering to import all the rest of the view headers */ -#import "StatusBarView.h" -#import "TabBarView.h" - -#import "AboutView.h" -#import "AssistantLinkView.h" -#import "AssistantView.h" -#import "ChatConversationCreateView.h" -#import "ChatConversationInfoView.h" -#import "ChatConversationImdnView.h" -#import "ChatConversationView.h" -#import "ChatsListView.h" -#import "ContactDetailsView.h" -#import "ContactsListView.h" -#import "CountryListView.h" -#import "DTActionSheet.h" -#import "DialerView.h" -#import "FirstLoginView.h" -#import "HistoryDetailsView.h" -#import "HistoryListView.h" -#import "ImageView.h" -#import "RecordingsListView.h" -#import "SettingsView.h" -#import "SideMenuView.h" -#import "UIConfirmationDialog.h" -#import "Utils.h" -#import "LaunchScreen.h" -#import "DevicesListView.h" - -#define DYNAMIC_CAST(x, cls) \ - ({ \ - cls *inst_ = (cls *)(x); \ - [inst_ isKindOfClass:[cls class]] ? inst_ : nil; \ - }) - -#define VIEW(x) \ - DYNAMIC_CAST([PhoneMainView.instance.mainViewController getCachedController:x.compositeViewDescription.name], x) - -#define LINPHONE_DUMMY_SUBJECT "dummy subject" - -@class PhoneMainView; - -@interface RootViewManager : NSObject - -@property(nonatomic, strong) PhoneMainView *portraitViewController; -@property(nonatomic, strong) PhoneMainView *rotatingViewController; -@property(nonatomic, strong) NSMutableArray *viewDescriptionStack; - -+(RootViewManager*)instance; -+ (void)setupWithPortrait:(PhoneMainView*)portrait; -- (PhoneMainView*)currentView; - -@end - -@interface PhoneMainView : UIViewController { - @private - NSMutableArray *inhibitedEvents; -} - -@property(nonatomic, strong) IBOutlet UIView *statusBarBG; -@property(nonatomic, strong) IBOutlet UICompositeView *mainViewController; - -@property(nonatomic, strong) NSString *currentName; -@property(nonatomic, strong) NSString *previousView; -@property(nonatomic, strong) NSString *name; -@property(weak, readonly) UICompositeViewDescription *currentView; -@property LinphoneChatRoom* currentRoom; -@property(readonly, strong) MPVolumeView *volumeView; -@property (weak, nonatomic) UIView *waitView; - -- (void)changeCurrentView:(UICompositeViewDescription *)view; -- (UIViewController*)popCurrentView; -- (UIViewController *)popView:(UICompositeViewDescription *)view; -- (UIViewController *)popToView:(UICompositeViewDescription *)currentView; -- (void) setPreviousViewName:(NSString*)previous; -- (NSString*) getPreviousViewName; -+ (NSString*) getPreviousViewName; -- (UICompositeViewDescription *)firstView; -- (void)hideStatusBar:(BOOL)hide; -- (void)hideTabBar:(BOOL)hide; -- (void)fullScreen:(BOOL)enabled; -- (void)updateStatusBar:(UICompositeViewDescription*)to_view; -- (void)startUp; -- (void)displayIncomingCall:(LinphoneCall*) call; -- (void)setVolumeHidden:(BOOL)hidden; -- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result; - -- (void)addInhibitedEvent:(id)event; -- (BOOL)removeInhibitedEvent:(id)event; - -- (void)updateApplicationBadgeNumber; -- (void)getOrCreateOneToOneChatRoom:(const LinphoneAddress *)remoteAddress waitView:(UIView *)waitView isEncrypted:(BOOL)isEncrypted; -- (LinphoneChatRoom *)createChatRoom:(const char *)subject addresses:(bctbx_list_t *)addresses andWaitView:(UIView *)waitView isEncrypted:(BOOL)isEncrypted isGroup:(BOOL)isGroup; -- (void)goToChatRoom:(LinphoneChatRoom *)cr; -- (void)goToChatRoomSwift:(LinphoneChatRoom *)cr; -- (void)resetBeforeGoToChatRoomSwift; -+ (PhoneMainView*) instance; - -- (BOOL)isIphoneXDevice; -+ (int)iphoneStatusBarHeight; --(BOOL) darkMode; - -@end - -void main_view_chat_room_state_changed(LinphoneChatRoom *cr, LinphoneChatRoomState newState); -void main_view_chat_room_conference_joined(LinphoneChatRoom *cr, const LinphoneEventLog *event_log); diff --git a/Classes/PhoneMainView.m b/Classes/PhoneMainView.m deleted file mode 100644 index 61c2dda14..000000000 --- a/Classes/PhoneMainView.m +++ /dev/null @@ -1,1002 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import -#import "LinphoneAppDelegate.h" -#import "Log.h" -#import "PhoneMainView.h" -#import "linphoneapp-Swift.h" - - -static RootViewManager *rootViewManagerInstance = nil; - -@implementation RootViewManager { - PhoneMainView *currentViewController; -} - -+ (void)setupWithPortrait:(PhoneMainView *)portrait { - assert(rootViewManagerInstance == nil); - rootViewManagerInstance = [[RootViewManager alloc] initWithPortrait:portrait]; -} - -- (instancetype)initWithPortrait:(PhoneMainView *)portrait { - self = [super init]; - if (self) { - self.portraitViewController = portrait; - self.rotatingViewController = [[PhoneMainView alloc] init]; - - self.portraitViewController.name = @"Portrait"; - self.rotatingViewController.name = @"Rotating"; - - currentViewController = portrait; - self.viewDescriptionStack = [NSMutableArray array]; - } - return self; -} - -+ (RootViewManager *)instance { - if (!rootViewManagerInstance) { - @throw [NSException exceptionWithName:@"RootViewManager" reason:@"nil instance" userInfo:nil]; - } - return rootViewManagerInstance; -} - -- (PhoneMainView *)currentView { - return currentViewController; -} - -- (PhoneMainView *)setViewControllerForDescription:(UICompositeViewDescription *)description { - return currentViewController; - -// not sure what this code was doing... but since iphone does support rotation as well now... -#if 0 - if (IPAD) - return currentViewController; - - PhoneMainView *newMainView = description.landscapeMode ? self.rotatingViewController : self.portraitViewController; - if (newMainView != currentViewController) { - PhoneMainView *previousMainView = currentViewController; - UIInterfaceOrientation nextViewOrientation = newMainView.interfaceOrientation; - UIInterfaceOrientation previousOrientation = currentViewController.interfaceOrientation; - - LOGI(@"Changing rootViewController: %@ -> %@", currentViewController.name, newMainView.name); - currentViewController = newMainView; - LinphoneAppDelegate *delegate = (LinphoneAppDelegate *)[UIApplication sharedApplication].delegate; - - if (ANIMATED) { - [UIView transitionWithView:delegate.window - duration:0.3 - options:UIViewAnimationOptionTransitionFlipFromLeft | UIViewAnimationOptionAllowAnimatedContent - animations:^{ - delegate.window.rootViewController = newMainView; - // when going to landscape-enabled view, we have to get the current portrait frame and orientation, - // because it could still have landscape-based size - if (nextViewOrientation != previousOrientation && newMainView == self.rotatingViewController) { - newMainView.view.frame = previousMainView.view.frame; - [newMainView.mainViewController.view setFrame:previousMainView.mainViewController.view.frame]; - [newMainView willRotateToInterfaceOrientation:previousOrientation duration:0.3]; - [newMainView willAnimateRotationToInterfaceOrientation:previousOrientation duration:0.3]; - [newMainView didRotateFromInterfaceOrientation:nextViewOrientation]; - } - } - completion:^(BOOL finished){ - }]; - } else { - delegate.window.rootViewController = newMainView; - // when going to landscape-enabled view, we have to get the current portrait frame and orientation, - // because it could still have landscape-based size - if (nextViewOrientation != previousOrientation && newMainView == self.rotatingViewController) { - newMainView.view.frame = previousMainView.view.frame; - [newMainView.mainViewController.view setFrame:previousMainView.mainViewController.view.frame]; - [newMainView willRotateToInterfaceOrientation:previousOrientation duration:0.]; - [newMainView willAnimateRotationToInterfaceOrientation:previousOrientation duration:0.]; - [newMainView didRotateFromInterfaceOrientation:nextViewOrientation]; - } - } - } - return currentViewController; -#endif -} - -@end - -@implementation PhoneMainView - -@synthesize mainViewController; -@synthesize currentView; -@synthesize statusBarBG; -@synthesize volumeView; - -#pragma mark - Lifecycle Functions - -- (void)initPhoneMainView { - currentView = nil; - _currentRoom = NULL; - _currentName = NULL; - _previousView = nil; - inhibitedEvents = [[NSMutableArray alloc] init]; -} - -- (id)init { - self = [super init]; - if (self) { - [self initPhoneMainView]; - } - return self; -} - -- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { - self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; - if (self) { - [self initPhoneMainView]; - } - return self; -} - -- (id)initWithCoder:(NSCoder *)decoder { - self = [super initWithCoder:decoder]; - if (self) { - [self initPhoneMainView]; - } - return self; -} - -- (void)dealloc { - [NSNotificationCenter.defaultCenter removeObserver:self]; -} - -#pragma mark - ViewController Functions - -- (void)viewDidLoad { - [super viewDidLoad]; - - volumeView = [[MPVolumeView alloc] initWithFrame:CGRectMake(-100, -100, 16, 16)]; - volumeView.showsRouteButton = false; - volumeView.userInteractionEnabled = false; - - [self.view addSubview:mainViewController.view]; - self.view.accessibilityIdentifier = @"phone_view"; -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - - // Set observers - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(callUpdate:) - name:kLinphoneCallUpdate - object:nil]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(registrationUpdate:) - name:kLinphoneRegistrationUpdate - object:nil]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(textReceived:) - name:kLinphoneMessageReceived - object:nil]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(onGlobalStateChanged:) - name:kLinphoneGlobalStateUpdate - object:nil]; - [[UIDevice currentDevice] setBatteryMonitoringEnabled:YES]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(batteryLevelChanged:) - name:UIDeviceBatteryLevelDidChangeNotification - object:nil]; -} - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - [NSNotificationCenter.defaultCenter removeObserver:self]; - [NSNotificationCenter.defaultCenter removeObserver:self name:UIDeviceBatteryLevelDidChangeNotification object:nil]; - [[UIDevice currentDevice] setBatteryMonitoringEnabled:NO]; -} - -/* IPHONE X specific : hide the HomeIndcator when not used */ -#define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) -#define IS_IPHONE_X (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height >= 812.0) -#define IPHONE_STATUSBAR_HEIGHT (IS_IPHONE_X ? 35 : 20) - -- (BOOL)isIphoneXDevice{ - return IS_IPHONE_X; -} - -+ (int)iphoneStatusBarHeight{ - return IPHONE_STATUSBAR_HEIGHT; -} - -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; - if([self isIphoneXDevice]){ - if(@available(iOS 11.0, *)) { - [self childViewControllerForHomeIndicatorAutoHidden]; - [self prefersHomeIndicatorAutoHidden]; - [self setNeedsUpdateOfHomeIndicatorAutoHidden]; - } - } - -} - -- (BOOL)prefersHomeIndicatorAutoHidden{ - return YES; -} - -- (void)setVolumeHidden:(BOOL)hidden { - // sometimes when placing a call, the volume view will appear. Inserting a - // carefully hidden MPVolumeView into the view hierarchy will hide it - if (hidden) { - if (!(volumeView.superview == self.view)) { - [self.view addSubview:volumeView]; - } - } else { - if (volumeView.superview == self.view) { - [volumeView removeFromSuperview]; - } - } -} - -#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 90000 -- (UIInterfaceOrientationMask)supportedInterfaceOrientations -#else -- (NSUInteger)supportedInterfaceOrientations -#endif -{ - return UIInterfaceOrientationMaskAll; -} - -- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation - duration:(NSTimeInterval)duration { - if (toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) - return; - - [super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration]; - [mainViewController willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration]; - [self orientationUpdate:toInterfaceOrientation]; -} - -- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation - duration:(NSTimeInterval)duration { - if (toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) - return; - - [super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration]; - [mainViewController willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration]; -} - -- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { - [super didRotateFromInterfaceOrientation:fromInterfaceOrientation]; - [mainViewController didRotateFromInterfaceOrientation:fromInterfaceOrientation]; -} - -- (UIInterfaceOrientation)interfaceOrientation { - return [mainViewController currentOrientation]; -} - -- (void)didReceiveMemoryWarning { - [super didReceiveMemoryWarning]; - [mainViewController clearCache:[RootViewManager instance].viewDescriptionStack]; -} - -#pragma mark - Event Functions - -- (void)textReceived:(NSNotification *)notif { - LinphoneChatMessage *msg = [[notif.userInfo objectForKey:@"message"] pointerValue]; - NSString *callID = [notif.userInfo objectForKey:@"call-id"]; - [self updateApplicationBadgeNumber]; - - if (!msg) - return; - - if (linphone_chat_message_is_outgoing(msg)) - return; - - ChatConversationViewSwift *view = VIEW(ChatConversationViewSwift); - // if we already are in the conversation, we should not ring/vibrate - if (view.linphoneChatRoom && _currentRoom == view.linphoneChatRoom) - return; - - if ([UIApplication sharedApplication].applicationState != UIApplicationStateActive) - return; - - LinphoneManager *lm = LinphoneManager.instance; - // if the message was already received through a push notif, we don't need to ring - if (![lm popPushCallID:callID]) { - [lm playMessageSound]; - } -} - -- (void)registrationUpdate:(NSNotification *)notif { - LinphoneRegistrationState state = [[notif.userInfo objectForKey:@"state"] intValue]; - if (state == LinphoneRegistrationFailed && ![currentView equal:AssistantView.compositeViewDescription] && - [UIApplication sharedApplication].applicationState == UIApplicationStateActive) { - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Connection failure", nil) - message:[notif.userInfo objectForKey:@"message"] - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Continue", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [self presentViewController:errView animated:YES completion:nil]; - } else if (state == LinphoneRegistrationOk && [currentView equal:ChatsListView.compositeViewDescription]) { - // update avatarImages - //ChatsListView *view = VIEW(ChatsListView); - //[view.tableController loadData]; - } -} - -- (void)onGlobalStateChanged:(NSNotification *)notif { - LinphoneGlobalState state = (LinphoneGlobalState)[[[notif userInfo] valueForKey:@"state"] integerValue]; - static BOOL already_shown = FALSE; - if (state == LinphoneGlobalOn && !already_shown && LinphoneManager.instance.wasRemoteProvisioned) { - LinphoneAccount *account = linphone_core_get_default_account(LC); - if ([LinphoneManager.instance lpConfigBoolForKey:@"show_login_view" inSection:@"app"] && account == NULL) { - already_shown = TRUE; - AssistantView *view = VIEW(AssistantView); - [PhoneMainView.instance changeCurrentView:view.compositeViewDescription]; - [view fillDefaultValues]; - } - } -} - -- (void)callUpdate:(NSNotification *)notif { - LinphoneCall *call = [[notif.userInfo objectForKey:@"call"] pointerValue]; - LinphoneCallState state = [[notif.userInfo objectForKey:@"state"] intValue]; - NSString *message = [notif.userInfo objectForKey:@"message"]; - - switch (state) { - case LinphoneCallIncomingReceived: - if (!CallManager.callKitEnabled) { - [self displayIncomingCall:call]; - } - break; - case LinphoneCallIncomingEarlyMedia: { - if (linphone_core_get_calls_nb(LC) > 1 || - (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_9_x_Max)) { - [self displayIncomingCall:call]; - } - break; - } - case LinphoneCallOutgoingEarlyMedia: - case LinphoneCallOutgoingProgress: - case LinphoneCallOutgoingRinging: { - CallAppData *data = [CallManager getAppDataWithCall:call]; - if (!data.isConference) { - OutgoingCallView *v = VIEW(OutgoingCallView); - [self changeCurrentView:OutgoingCallView.compositeViewDescription]; - [v setCallWithCall:call]; - } - break; - } - case LinphoneCallPausedByRemote:break; - case LinphoneCallConnected: { - if (![LinphoneManager.instance isCTCallCenterExist]) { - /*only register CT call center CB for connected call*/ - [LinphoneManager.instance setupGSMInteraction]; - } - break; - } - case LinphoneCallError: { - [self displayCallError:call message:message]; - } - case LinphoneCallEarlyUpdatedByRemote: - case LinphoneCallEarlyUpdating: - case LinphoneCallIdle: - break; - case LinphoneCallReleased: - if ([UIApplication sharedApplication].applicationState == UIApplicationStateBackground) { - dispatch_async(dispatch_get_main_queue(), ^{ - [PhoneMainView.instance popToView:DialerView.compositeViewDescription]; - [CallManager.instance stopLinphoneCore]; - }); - } - break; - case LinphoneCallPaused: - case LinphoneCallPausing: - case LinphoneCallRefered: - break; - case LinphoneCallResuming: { - break; - } - case LinphoneCallUpdating: - break; - - } - if (state == LinphoneCallEnd || state == LinphoneCallError || floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_9_x_Max) - [self updateApplicationBadgeNumber]; -} - -#pragma mark - - -- (void)orientationUpdate:(UIInterfaceOrientation)orientation { - int oldLinphoneOrientation = linphone_core_get_device_rotation(LC); - int newRotation = 0; - switch (orientation) { - case UIInterfaceOrientationPortrait: - newRotation = 0; - break; - case UIInterfaceOrientationPortraitUpsideDown: - newRotation = 180; - break; - case UIInterfaceOrientationLandscapeRight: - newRotation = 270; - break; - case UIInterfaceOrientationLandscapeLeft: - newRotation = 90; - break; - default: - newRotation = oldLinphoneOrientation; - } - if (oldLinphoneOrientation != newRotation) { - linphone_core_set_device_rotation(LC, newRotation); - } -} -- (void)startUp { - @try { - LinphoneManager *lm = LinphoneManager.instance; - LOGI(@"%s", linphone_global_state_to_string(linphone_core_get_global_state(LC))); - - NSString* groupName = [NSString stringWithFormat:@"group.%@.linphoneExtension",[[NSBundle mainBundle] bundleIdentifier]]; - - - NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:groupName]; - NSDictionary *dict = [defaults valueForKey:@"photoData"]; - NSDictionary *dictFile = [defaults valueForKey:@"icloudData"]; - NSDictionary *dictUrl = [defaults valueForKey:@"url"]; - - // If we've been started by a remote push notification, - // we'll already be on the corresponding chat conversation view, no need to go anywhere else - if (dict||dictFile||dictUrl){ - [self changeCurrentView:ChatsListView.compositeViewDescription]; - }else if (![[self currentView].name isEqualToString:@"ChatConversationViewSwift"]) { - - if (linphone_core_get_global_state(LC) != LinphoneGlobalOn) { - [self changeCurrentView:DialerView.compositeViewDescription]; - } else if ([LinphoneManager.instance lpConfigBoolForKey:@"enable_first_login_view_preference"] == true) { - [PhoneMainView.instance changeCurrentView:FirstLoginView.compositeViewDescription]; - } else { - // always start to dialer when testing - // Change to default view - const MSList *accountList = linphone_core_get_account_list(LC); - if (accountList != NULL || ([lm lpConfigBoolForKey:@"hide_assistant_preference"] == true) || lm.isTesting) { - [self changeCurrentView:DialerView.compositeViewDescription]; - } else { - AssistantView *view = VIEW(AssistantView); - [PhoneMainView.instance changeCurrentView:view.compositeViewDescription]; - [view reset]; - } - } - } - [self updateApplicationBadgeNumber]; // Update Badge at startup - - } @catch (NSException *exception) { - // we'll wait until the app transitions correctly - } -} - -- (void)updateApplicationBadgeNumber { - int count = 0; - count += linphone_core_get_missed_calls_count(LC); - count += [LinphoneManager unreadMessageCount]; - count += linphone_core_get_calls_nb(LC); - [[UIApplication sharedApplication] setApplicationIconBadgeNumber:count]; - TabBarView *view = (TabBarView *)[PhoneMainView.instance.mainViewController getCachedController:NSStringFromClass(TabBarView.class)]; - [view update:TRUE]; -} - -+ (CATransition *)getBackwardTransition { - BOOL RTL = [LinphoneManager langageDirectionIsRTL]; - BOOL land = UIInterfaceOrientationIsLandscape([self.instance interfaceOrientation]); - NSString *transition = land ? kCATransitionFromBottom : (RTL ? kCATransitionFromRight : kCATransitionFromLeft); - CATransition *trans = [CATransition animation]; - [trans setType:kCATransitionPush]; - [trans setDuration:0.35]; - [trans setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; - [trans setSubtype:transition]; - - return trans; -} - -+ (CATransition *)getForwardTransition { - BOOL RTL = [LinphoneManager langageDirectionIsRTL]; - BOOL land = UIInterfaceOrientationIsLandscape([self.instance interfaceOrientation]); - NSString *transition = land ? kCATransitionFromTop : (RTL ? kCATransitionFromLeft : kCATransitionFromRight); - CATransition *trans = [CATransition animation]; - [trans setType:kCATransitionPush]; - [trans setDuration:0.35]; - [trans setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; - [trans setSubtype:transition]; - - return trans; -} - -+ (CATransition *)getTransition:(UICompositeViewDescription *)old new:(UICompositeViewDescription *) new { - bool left = false; - - if ([old equal:ChatsListView.compositeViewDescription]) { - if ([new equal:ContactsListView.compositeViewDescription] || [new equal:DialerView.compositeViewDescription] || - [new equal:HistoryListView.compositeViewDescription]) { - left = true; - } - } else if ([old equal:SettingsView.compositeViewDescription]) { - if ([new equal:DialerView.compositeViewDescription] || [new equal:ContactsListView.compositeViewDescription] || - [new equal:HistoryListView.compositeViewDescription] || - [new equal:ChatsListView.compositeViewDescription]) { - left = true; - } - } else if ([old equal:DialerView.compositeViewDescription]) { - if ([new equal:ContactsListView.compositeViewDescription] || - [new equal:HistoryListView.compositeViewDescription]) { - left = true; - } - } else if ([old equal:ContactsListView.compositeViewDescription]) { - if ([new equal:HistoryListView.compositeViewDescription]) { - left = true; - } - } - - if (left) { - return [PhoneMainView getBackwardTransition]; - } else { - return [PhoneMainView getForwardTransition]; - } -} - -+ (PhoneMainView *)instance { - return [[RootViewManager instance] currentView]; -} - -- (void)hideTabBar:(BOOL)hide { - [mainViewController hideTabBar:hide]; -} - -- (void)hideStatusBar:(BOOL)hide { - [mainViewController hideStatusBar:hide]; -} - -- (void)updateStatusBar:(UICompositeViewDescription *)to_view { - // Not used any more. It seems that there is no problem with new devices. -#pragma deploymate push "ignored-api-availability" - if (UIDevice.currentDevice.systemVersion.doubleValue >= 7.) { - // In iOS7, the app has a black background on dialer, incoming and incall, so we have to adjust the - // status bar style for each transition to/from these views - BOOL toLightStatus = (to_view != NULL) && ![to_view darkBackground]; - if (!toLightStatus) { - // black bg: white text on black background - [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; - - [UIView animateWithDuration:0.3f - animations:^{ - statusBarBG.backgroundColor = [UIColor blackColor]; - }]; - - } else { - // light bg: black text on white bg - [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault]; - [UIView animateWithDuration:0.3f - animations:^{ - statusBarBG.backgroundColor = [UIColor colorWithWhite:0.935 alpha:1]; - }]; - } - } -#pragma deploymate pop -} - -- (void)fullScreen:(BOOL)enabled { - [statusBarBG setHidden:enabled]; - [mainViewController setFullscreen:enabled]; -} - -- (UIViewController *)popCurrentView { - NSMutableArray *viewStack = [RootViewManager instance].viewDescriptionStack; - if (viewStack.count <= 1) { - [viewStack removeAllObjects]; - LOGW(@"PhoneMainView: Trying to pop view but none stacked, going to %@!", - DialerView.compositeViewDescription.name); - } else { - [viewStack removeLastObject]; - LOGI(@"PhoneMainView: Popping view %@, going to %@", currentView.name, - ((UICompositeViewDescription *)(viewStack.lastObject ?: DialerView.compositeViewDescription)).name); - } - [self _changeCurrentView:viewStack.lastObject ?: DialerView.compositeViewDescription - transition:[PhoneMainView getBackwardTransition] - animated:ANIMATED - addViewToStack:FALSE]; - return [mainViewController getCurrentViewController]; -} - -- (UIViewController *)popView:(UICompositeViewDescription *)view { - NSMutableArray *viewStack = [RootViewManager instance].viewDescriptionStack; - while (viewStack.count > 0 && [[viewStack lastObject] equal:view]) { - [viewStack removeLastObject]; - } - return [self popToView:viewStack.lastObject ?: DialerView.compositeViewDescription]; -} - - -- (void)changeCurrentView:(UICompositeViewDescription *)view { - [self _changeCurrentView:view transition:nil animated:ANIMATED addViewToStack:TRUE]; -} - -- (UIViewController *)_changeCurrentView:(UICompositeViewDescription *)view - transition:(CATransition *)transition - animated:(BOOL)animated - addViewToStack:(BOOL)addViewToStack { - PhoneMainView *vc = [[RootViewManager instance] setViewControllerForDescription:view]; - if (![view equal:vc.currentView] || vc != self) { - LOGI(@"Change current view to %@", view.name); - [self setPreviousViewName:vc.currentView.name]; - NSMutableArray *viewStack = [RootViewManager instance].viewDescriptionStack; - if (addViewToStack) [viewStack addObject:view]; - if (animated && transition == nil) - transition = [PhoneMainView getTransition:vc.currentView new:view]; - [vc.mainViewController setViewTransition:(animated ? transition : nil)]; - [vc.mainViewController changeView:view]; - vc->currentView = view; - } - - //[[RootViewManager instance] setViewControllerForDescription:view]; - - NSDictionary *mdict = [NSMutableDictionary dictionaryWithObject:vc->currentView forKey:@"view"]; - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneMainViewChange object:self userInfo:mdict]; - - return [vc->mainViewController getCurrentViewController]; -} - -- (UIViewController *)popToView:(UICompositeViewDescription *)view { - NSMutableArray *viewStack = [RootViewManager instance].viewDescriptionStack; - while (viewStack.count > 0 && ![[viewStack lastObject] equal:view]) { - [viewStack removeLastObject]; - } - BOOL addView = (viewStack.count == 0); // if we couldn't find the view in the stack, we need to add it - return [self _changeCurrentView:view transition:[PhoneMainView getBackwardTransition] animated:ANIMATED addViewToStack:addView]; -} - -- (void) setPreviousViewName:(NSString*)previous{ - _previousView = previous; -} - -- (NSString*) getPreviousViewName { - return _previousView; -} - -+ (NSString*) getPreviousViewName { - return [self getPreviousViewName]; -} - - -- (UICompositeViewDescription *)firstView { - UICompositeViewDescription *view = nil; - NSArray *viewStack = [RootViewManager instance].viewDescriptionStack; - if ([viewStack count]) { - view = [viewStack objectAtIndex:0]; - } - return view; -} - -- (void)displayCallError:(LinphoneCall *)call message:(NSString *)message { - const char *lUserNameChars = linphone_address_get_username(linphone_call_get_remote_address(call)); - NSString *lUserName = - lUserNameChars ? [[NSString alloc] initWithUTF8String:lUserNameChars] : NSLocalizedString(@"Unknown", nil); - NSString *lMessage; - NSString *lTitle; - - // get default account - LinphoneAccount *account = linphone_core_get_default_account(LC); - if (account == nil) { - lMessage = NSLocalizedString(@"Please make sure your device is connected to the internet and double check your " - @"SIP account configuration in the settings.", - nil); - } else { - lMessage = [NSString stringWithFormat:NSLocalizedString(@"Cannot call %@.", nil), lUserName]; - } - - switch (linphone_call_get_reason(call)) { - case LinphoneReasonNotFound: - lMessage = [NSString stringWithFormat:NSLocalizedString(@"%@ is not connected.", nil), lUserName]; - break; - case LinphoneReasonBusy: - lMessage = [NSString stringWithFormat:NSLocalizedString(@"%@ is busy.", nil), lUserName]; - break; - default: - if (message != nil) { - lMessage = [NSString stringWithFormat:NSLocalizedString(@"%@\nReason was: %@", nil), lMessage, message]; - } - break; - } - - lTitle = NSLocalizedString(@"Call failed", nil); - UIAlertController *errView = [UIAlertController alertControllerWithTitle:lTitle - message:lMessage - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Cancel", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [self presentViewController:errView animated:YES completion:nil]; - errView.view.accessibilityIdentifier = @"call_failed_error_view"; - errView.view.subviews.firstObject.accessibilityIdentifier = @"call_failed_error_view"; - errView.actions.firstObject.accessibilityIdentifier = @"call_failed_error_view_action"; -} - -- (void)addInhibitedEvent:(id)event { - [inhibitedEvents addObject:event]; -} - -- (BOOL)removeInhibitedEvent:(id)event { - NSUInteger index = [inhibitedEvents indexOfObject:event]; - if (index != NSNotFound) { - [inhibitedEvents removeObjectAtIndex:index]; - return TRUE; - } - return FALSE; -} - -#pragma mark - ActionSheet Functions - -- (void)displayIncomingCall:(LinphoneCall *)call { - LinphoneCallLog *callLog = linphone_call_get_call_log(call); - NSString *callId = [NSString stringWithUTF8String:linphone_call_log_get_call_id(callLog)]; - - if ([UIApplication sharedApplication].applicationState == UIApplicationStateActive) { - LinphoneManager *lm = LinphoneManager.instance; - BOOL callIDFromPush = [lm popPushCallID:callId]; - BOOL autoAnswer = [lm lpConfigBoolForKey:@"autoanswer_notif_preference"]; - - if (callIDFromPush && autoAnswer) { - // accept call automatically - [CallManager.instance acceptCallWithCall:call hasVideo:YES]; - } else { - AudioServicesPlaySystemSound(lm.sounds.vibrate); - IncomingCallView *view = VIEW(IncomingCallView); - [self changeCurrentView:view.compositeViewDescription]; - [view setCallWithCall:call]; - //CDFIX [view setDelegate:self]; - } - } -} - -- (void)batteryLevelChanged:(NSNotification *)notif { - float level = [UIDevice currentDevice].batteryLevel; - UIDeviceBatteryState state = [UIDevice currentDevice].batteryState; - LOGD(@"Battery state:%d level:%.2f", state, level); - - LinphoneCall *call = linphone_core_get_current_call(LC); - if (call && linphone_call_params_video_enabled(linphone_call_get_current_params(call))) { - CallAppData *data = [CallManager getAppDataWithCall:call]; - if (data != nil) { - if (state == UIDeviceBatteryStateUnplugged) { - if (level <= 0.2f && !data.batteryWarningShown) { - LOGI(@"Battery warning"); - DTActionSheet *sheet = [[DTActionSheet alloc] - initWithTitle:NSLocalizedString(@"Battery is running low. Stop video ?", nil)]; - [sheet addCancelButtonWithTitle:NSLocalizedString(@"Continue video", nil) block:nil]; - [sheet - addDestructiveButtonWithTitle:NSLocalizedString(@"Stop video", nil) - block:^() { - LinphoneCallParams *params = - linphone_core_create_call_params(LC,call); - // stop video - linphone_call_params_enable_video(params, FALSE); - linphone_call_update(call, params); - }]; - [sheet showInView:self.view]; - data.batteryWarningShown = TRUE; - } - } - if (level > 0.2f) { - data.batteryWarningShown = FALSE; - } - [CallManager setAppDataWithCall:call appData:data]; - } - } -} - -#pragma mark - IncomingCallDelegate Functions - -- (void)incomingCallAborted:(LinphoneCall *)call { -} - -- (void)incomingCallAccepted:(LinphoneCall *)call evenWithVideo:(BOOL)video { - [CallManager.instance acceptCallWithCall:call hasVideo:video]; -} - -- (void)incomingCallDeclined:(LinphoneCall *)call { - [CallManager.instance terminateCallWithCall:call]; -} - -#pragma mark - Chat room Functions - -- (void)getOrCreateOneToOneChatRoom:(const LinphoneAddress *)remoteAddress waitView:(UIView *)waitView isEncrypted:(BOOL)isEncrypted{ - if (!remoteAddress) { - [self changeCurrentView:ChatsListView.compositeViewDescription]; - return; - } - - if (!linphone_core_is_network_reachable(LC)) { - [PhoneMainView.instance presentViewController:[LinphoneUtils networkErrorView:@"send a message"] animated:YES completion:nil]; - return; - } - - LinphoneAddress *local; - LinphoneAccount *account = linphone_core_get_default_account(LC); - if (account) { - local = linphone_address_clone(linphone_account_get_contact_address(account)); - } else { - local = linphone_core_create_primary_contact_parsed(LC); - } - LinphoneChatRoom *room = linphone_core_find_one_to_one_chat_room_2(LC, local, remoteAddress, isEncrypted); - linphone_address_unref(local); - - if (!room) { - bctbx_list_t *addresses = bctbx_list_new((void*)remoteAddress); - [self createChatRoom:LINPHONE_DUMMY_SUBJECT addresses:addresses andWaitView:waitView isEncrypted:isEncrypted isGroup:FALSE]; - bctbx_list_free(addresses); - return; - } - - [self goToChatRoomSwift:room]; -} - -- (LinphoneChatRoom *)createChatRoom:(const char *)subject addresses:(bctbx_list_t *)addresses andWaitView:(UIView *)waitView isEncrypted:(BOOL)isEncrypted isGroup:(BOOL)isGroup{ - LinphoneAccount *account = linphone_core_get_default_account(LC); - if (!(account && linphone_account_params_get_conference_factory_uri(linphone_account_get_params(account))) - || ((bctbx_list_size(addresses) == 1) && !isGroup && ([[LinphoneManager instance] lpConfigBoolForKey:@"prefer_basic_chat_room" inSection:@"misc"] || !isEncrypted))) { - // If there's no factory uri, create a basic chat room - if (bctbx_list_size(addresses) != 1) { - // Display Error: unsuported group chat - UIAlertController *errView = - [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Conversation creation error", nil) - message:NSLocalizedString(@"Group conversation is not supported.", nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction *defaultAction = [UIAlertAction actionWithTitle:@"OK" - style:UIAlertActionStyleDefault - handler:^(UIAlertAction *action) {}]; - [errView addAction:defaultAction]; - [self presentViewController:errView animated:YES completion:nil]; - return nil; - } - LinphoneChatRoom *basicRoom = linphone_core_get_chat_room(LC, addresses->data); - [self goToChatRoomSwift:basicRoom]; - return nil; - } - - _waitView = waitView; - _waitView.hidden = NO; - // always use group chatroom - LinphoneChatRoomParams *param = linphone_core_create_default_chat_room_params(LC); - linphone_chat_room_params_enable_group(param, isGroup); - linphone_chat_room_params_enable_encryption(param, isEncrypted); - linphone_chat_room_params_set_ephemeral_mode(param,[LinphoneManager.instance lpConfigBoolForKey:@"ephemeral_chat_messages_settings_per_device" withDefault:true] ? - LinphoneChatRoomEphemeralModeDeviceManaged : - LinphoneChatRoomEphemeralModeAdminManaged); - linphone_chat_room_params_set_ephemeral_lifetime(param,0); - LinphoneChatRoom *room = linphone_core_create_chat_room_2(LC, param, subject ?: LINPHONE_DUMMY_SUBJECT, addresses); - - if (!room) { - _waitView.hidden = YES; - return nil; - } - - LinphoneChatRoomCbs *cbs = linphone_factory_create_chat_room_cbs(linphone_factory_get()); - linphone_chat_room_cbs_set_state_changed(cbs, main_view_chat_room_state_changed); - linphone_chat_room_cbs_set_conference_joined(cbs, main_view_chat_room_conference_joined); - linphone_chat_room_add_callbacks(room, cbs); - - return room; -} - -- (void)goToChatRoom:(LinphoneChatRoom *)cr { - _waitView.hidden = YES; - _waitView = NULL; - ChatConversationView *view = VIEW(ChatConversationView); - if (view.chatRoom && view.chatRoomCbs) - linphone_chat_room_remove_callbacks(view.chatRoom, view.chatRoomCbs); - - view.chatRoomCbs = NULL; - if (view.chatRoom != cr) - [view clearMessageView]; - view.chatRoom = cr; - view.peerAddress = linphone_address_as_string(linphone_chat_room_get_peer_address(cr)); - view.localAddress = linphone_address_as_string(linphone_chat_room_get_local_address(cr)); - self.currentRoom = view.chatRoom; - - if (PhoneMainView.instance.currentView == view.compositeViewDescription) - [view configureForRoom:FALSE]; - else - [PhoneMainView.instance changeCurrentView:view.compositeViewDescription]; -} - - -- (void)goToChatRoomSwift:(LinphoneChatRoom *)cr { - _waitView.hidden = YES; - _waitView = NULL; - ChatConversationViewSwift *view = VIEW(ChatConversationViewSwift); - self.currentRoom = view.linphoneChatRoom; - [view initChatRoomWithCChatRoom:cr]; - - [PhoneMainView.instance changeCurrentView:view.compositeViewDescription]; -} - -- (void)resetBeforeGoToChatRoomSwift{ - ChatConversationViewSwift *view = VIEW(ChatConversationViewSwift); - [view resetView]; -} - -void main_view_chat_room_conference_joined(LinphoneChatRoom *cr, const LinphoneEventLog *event_log) { - PhoneMainView *view = PhoneMainView.instance; - LOGI(@"Chat room [%p] conference joined.", cr); - linphone_chat_room_remove_callbacks(cr, linphone_chat_room_get_current_callbacks(cr)); - [view goToChatRoomSwift:cr]; - if (!IPAD) - return; - - if (PhoneMainView.instance.currentView != ChatsListView.compositeViewDescription && PhoneMainView.instance.currentView != ChatConversationViewSwift.compositeViewDescription) - return; - - ChatsListView *mainView = VIEW(ChatsListView); - [mainView.tableController loadData]; - [mainView.tableController selectFirstRow]; -} - -void main_view_chat_room_state_changed(LinphoneChatRoom *cr, LinphoneChatRoomState newState) { - PhoneMainView *view = PhoneMainView.instance; - switch (newState) { - case LinphoneChatRoomStateCreationFailed: - LOGE(@"Chat room [%p] could not be created on server.", cr); - linphone_chat_room_remove_callbacks(cr, linphone_chat_room_get_current_callbacks(cr)); - view.waitView.hidden = YES; - [ChatConversationInfoView displayCreationError]; - break; - case LinphoneChatRoomStateTerminated: - LOGI(@"Chat room [%p] has been terminated.", cr); - [view goToChatRoomSwift:cr]; - break; - default: - break; - } -} - -#pragma mark - SMS invite callback - -- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result { - [controller dismissModalViewControllerAnimated:YES]; -} - -#pragma mark - Light/Dark mode - --(BOOL) darkMode { - if (@available(iOS 13.0, *)) { - UITraitCollection *collection = [UITraitCollection currentTraitCollection]; - return collection.userInterfaceStyle == UIUserInterfaceStyleDark; - } else { - return false; - } -} - --(void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection { - [UIDeviceBridge notifyDisplayModeSwitch]; -} - -@end diff --git a/Classes/RecordingsListTableView.h b/Classes/RecordingsListTableView.h deleted file mode 100644 index 5ac649415..000000000 --- a/Classes/RecordingsListTableView.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "UICheckBoxTableView.h" - -@interface RecordingsListTableView : UICheckBoxTableView { -@private - NSMutableDictionary *recordings; - //This has sub arrays indexed with the date of the recordings, themselves containings the recordings. - NSString *writablePath; - //This is the path to the folder where we write the recordings to. We should probably define it in LinphoneManager though. -} -- (void)loadData; -- (void)removeAllRecordings; -- (void)setSelected:(NSString *)filepath; - -@end diff --git a/Classes/RecordingsListTableView.m b/Classes/RecordingsListTableView.m deleted file mode 100644 index 2260c261d..000000000 --- a/Classes/RecordingsListTableView.m +++ /dev/null @@ -1,268 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "RecordingsListTableView.h" -#import "UIRecordingCell.h" -#import "LinphoneManager.h" -#import "PhoneMainView.h" -#import "Utils.h" - -@implementation RecordingsListTableView - -#pragma mark - Lifecycle Functions - -- (void)initRecordingsTableViewController { - recordings = [NSMutableDictionary dictionary]; - NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); - writablePath = [paths objectAtIndex:0]; - writablePath = [writablePath stringByAppendingString:@"/"]; -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - if (![self selectFirstRow]) { - //TODO: Make first cell expand to show player - } - [self loadData]; -} - -- (id)init { - self = [super init]; - if (self) { - [self initRecordingsTableViewController]; - } - return self; -} - -- (id)initWithCoder:(NSCoder *)decoder { - self = [super initWithCoder:decoder]; - if (self) { - [self initRecordingsTableViewController]; - } - return self; -} - -- (void)dealloc { - [[NSNotificationCenter defaultCenter] removeObserver:self]; - [self removeAllRecordings]; -} - -- (void)removeAllRecordings { - for (NSInteger j = 0; j < [self.tableView numberOfSections]; ++j) { - for (NSInteger i = 0; i < [self.tableView numberOfRowsInSection:j]; ++i) { - [[self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:j]] setRecording:nil]; - } - } -} - - -- (void)loadData { - LOGI(@"====>>>> Load recording list - Start"); - - recordings = [NSMutableDictionary dictionary]; - NSArray *directoryContent = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:writablePath error:NULL]; - for (NSString *file in directoryContent) { - if (![file hasPrefix:@"recording_"]) { - continue; - } - NSArray *parsedName = [LinphoneUtils parseRecordingName:file]; - NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; - [dateFormat setDateFormat:@"EEEE, MMM d, yyyy"]; - if ([parsedName count] < 2) { - LOGW(@"Can not parse this recoding file: %@", file); - continue; - } - NSString *dayPretty = [dateFormat stringFromDate:[parsedName objectAtIndex:1]]; - NSMutableArray *recOfDay = [recordings objectForKey:dayPretty]; - if (recOfDay) { - // Loop through the object until a later object, then insert it right before - int i; - for (i = 0; i < [recOfDay count]; ++i) { - NSString *fileAtIndex = [recOfDay objectAtIndex:i]; - NSArray *parsedNameAtIndex = [LinphoneUtils parseRecordingName:fileAtIndex]; - if ([[parsedName objectAtIndex:1] compare:[parsedNameAtIndex objectAtIndex:1]] == NSOrderedDescending) { - break; - } - } - [recOfDay insertObject:[writablePath stringByAppendingString:file] atIndex:i]; - } else { - recOfDay = [NSMutableArray arrayWithObjects:[writablePath stringByAppendingString:file], nil]; - [recordings setObject:recOfDay forKey:dayPretty]; - } - } - - - LOGI(@"====>>>> Load recording list - End"); - [super loadData]; -} - -- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { - NSIndexPath *selectedRow = [self.tableView indexPathForSelectedRow]; - if (selectedRow && [selectedRow compare:indexPath] == NSOrderedSame) { - return 150; - } else { - return 40; - } -} - -#pragma mark - UITableViewDataSource Functions - -- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView { - return nil; -} - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return [recordings count]; -} - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - NSArray *sortedKey = [self getSortedKeys]; - return [(NSArray *)[recordings objectForKey:[sortedKey objectAtIndex:section]] count]; -} - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - NSString *kCellId = NSStringFromClass(UIRecordingCell.class); - UIRecordingCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId]; - if (cell == nil) { - cell = [[UIRecordingCell alloc] initWithIdentifier:kCellId]; - } - NSString *date = [[self getSortedKeys] objectAtIndex:[indexPath section]]; - NSMutableArray *subAr = [recordings objectForKey:date]; - NSString *recordingPath = subAr[indexPath.row]; - [cell setRecording:recordingPath]; - [super accessoryForCell:cell atPath:indexPath]; - [cell updateFrame]; - cell.contentView.userInteractionEnabled = false; - return cell; -} - -- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { - CGRect frame = CGRectMake(0, 0, tableView.frame.size.width, tableView.sectionHeaderHeight); - UIView *tempView = [[UIView alloc] initWithFrame:frame]; - if (@available(iOS 13, *)) { - tempView.backgroundColor = [UIColor systemBackgroundColor]; - } else { - tempView.backgroundColor = [UIColor whiteColor]; - } - - UILabel *tempLabel = [[UILabel alloc] initWithFrame:frame]; - tempLabel.backgroundColor = [UIColor clearColor]; - tempLabel.textColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"color_A.png"]]; - tempLabel.text = [[self getSortedKeys] objectAtIndex:section]; - tempLabel.textAlignment = NSTextAlignmentCenter; - tempLabel.font = [UIFont boldSystemFontOfSize:17]; - tempLabel.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin; - [tempView addSubview:tempLabel]; - - return tempView; -} - -- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - [super tableView:tableView didSelectRowAtIndexPath:indexPath]; - if (![self isEditing]) { - [tableView beginUpdates]; - [(UIRecordingCell *)[self tableView:tableView cellForRowAtIndexPath:indexPath] updateFrame]; - [tableView endUpdates]; - } -} - -- (void)tableView:(UITableView *)tableView -commitEditingStyle:(UITableViewCellEditingStyle)editingStyle -forRowAtIndexPath:(NSIndexPath *)indexPath { - if (editingStyle == UITableViewCellEditingStyleDelete) { - [NSNotificationCenter.defaultCenter removeObserver:self]; - [tableView beginUpdates]; - - - NSString *date = [[self getSortedKeys] objectAtIndex:[indexPath section]]; - NSMutableArray *subAr = [recordings objectForKey:date]; - NSString *recordingPath = subAr[indexPath.row]; - [subAr removeObjectAtIndex:indexPath.row]; - if (subAr.count == 0) { - [recordings removeObjectForKey:date]; - [tableView deleteSections:[NSIndexSet indexSetWithIndex:indexPath.section] - withRowAnimation:UITableViewRowAnimationFade]; - } - - UIRecordingCell* cell = [self.tableView cellForRowAtIndexPath:indexPath]; - [cell setRecording:NULL]; - - remove([recordingPath cStringUsingEncoding:NSUTF8StringEncoding]); - - [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]; - [tableView endUpdates]; - - [self loadData]; - } -} - -- (void)removeSelectionUsing:(void (^)(NSIndexPath *))remover { - [super removeSelectionUsing:^(NSIndexPath *indexPath) { - [NSNotificationCenter.defaultCenter removeObserver:self]; - - NSString *date = [[self getSortedKeys] objectAtIndex:[indexPath section]]; - NSMutableArray *subAr = [recordings objectForKey:date]; - NSString *recordingPath = subAr[indexPath.row]; - [subAr removeObjectAtIndex:indexPath.row]; - if (subAr.count == 0) { - [recordings removeObjectForKey:date]; - } - UIRecordingCell* cell = [self.tableView cellForRowAtIndexPath:indexPath]; - [cell setRecording:NULL]; - remove([recordingPath cStringUsingEncoding:NSUTF8StringEncoding]); - }]; -} - -- (void)setSelected:(NSString *)filepath { - NSArray *parsedName = [LinphoneUtils parseRecordingName:filepath]; - NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; - [dateFormat setDateFormat:@"EEEE, MMM d, yyyy"]; - NSString *dayPretty = [dateFormat stringFromDate:[parsedName objectAtIndex:1]]; - NSUInteger section; - NSArray *keys = [recordings allKeys]; - for (section = 0; section < [keys count]; ++section) { - if ([dayPretty isEqualToString:(NSString *)[keys objectAtIndex:section]]) { - break; - } - } - NSUInteger row; - NSArray *recs = [recordings objectForKey:dayPretty]; - for (row = 0; row < [recs count]; ++row) { - if ([filepath isEqualToString:(NSString *)[recs objectAtIndex:row]]) { - break; - } - } - NSUInteger indexes[] = {section, row}; - [self.tableView selectRowAtIndexPath:[NSIndexPath indexPathWithIndexes:indexes length:2] animated:TRUE scrollPosition:UITableViewScrollPositionNone]; -} - -#pragma mark - Utilities - -- (NSArray *)getSortedKeys { - return [[recordings allKeys] sortedArrayUsingComparator:^NSComparisonResult(NSString *day2, NSString *day1){ - NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; - [dateFormat setDateFormat:@"EEEE, MMM d, yyyy"]; - NSDate *date1 = [dateFormat dateFromString:day1]; - NSDate *date2 = [dateFormat dateFromString:day2]; - return [date1 compare:date2]; - }]; -} - - -@end diff --git a/Classes/RecordingsListView.h b/Classes/RecordingsListView.h deleted file mode 100644 index aa7face6c..000000000 --- a/Classes/RecordingsListView.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "UICompositeView.h" -#import "RecordingsListTableView.h" -#import "UIInterfaceStyleButton.h" - -typedef enum _RecordingSelectionMode { RecordingSelectionModeNone, RecordingSelectionModeEdit } RecordingSelectionMode; - -@interface RecordingSelection : NSObject { -} - -+ (void)setSelectionMode:(RecordingSelectionMode)selectionMode; -+ (RecordingSelectionMode)getSelectionMode; - -@end - -@interface RecordingsListView : UIViewController - -@property(strong, nonatomic) IBOutlet RecordingsListTableView *tableController; -@property(strong, nonatomic) IBOutlet UIView *topBar; -@property(weak, nonatomic) IBOutlet UIButton *deleteButton; -@property (strong, nonatomic) IBOutlet UIButton *backButton; -@property (weak, nonatomic) IBOutlet UIInterfaceStyleButton *toggleSelectionButton; -@property (weak, nonatomic) IBOutlet UIView *videoView; - -- (IBAction)onDeleteClick:(id)sender; -- (IBAction)onEditionChangeClick:(id)sender; -- (IBAction)onBackPressed:(id)sender; - -@end diff --git a/Classes/RecordingsListView.m b/Classes/RecordingsListView.m deleted file mode 100644 index 7420a9e37..000000000 --- a/Classes/RecordingsListView.m +++ /dev/null @@ -1,153 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "RecordingsListView.h" -#import "PhoneMainView.h" - -@implementation RecordingSelection - -static RecordingSelectionMode sSelectionMode = RecordingSelectionModeNone; - -+ (void)setSelectionMode:(RecordingSelectionMode)selectionMode { - sSelectionMode = selectionMode; -} - -+ (RecordingSelectionMode)getSelectionMode { - return sSelectionMode; -} - -@end - -@implementation RecordingsListView - -@synthesize tableController; -@synthesize topBar; - -#pragma mark - UICompositeViewDelegate Functions - -static UICompositeViewDescription *compositeDescription = nil; - -+ (UICompositeViewDescription *)compositeViewDescription { - if (compositeDescription == nil) { - compositeDescription = [[UICompositeViewDescription alloc] init:self.class - statusBar:StatusBarView.class - tabBar:TabBarView.class - sideMenu:SideMenuView.class - fullscreen:false - isLeftFragment:YES - fragmentWith:ContactDetailsView.class]; - } - return compositeDescription; -} - -- (UICompositeViewDescription *)compositeViewDescription { - return self.class.compositeViewDescription; -} - -#pragma mark - ViewController Functions - -- (void)viewDidLoad { - [super viewDidLoad]; - tableController.tableView.accessibilityIdentifier = @"Recordings table"; - tableController.tableView.tableFooterView = [[UIView alloc] init]; - UIPanGestureRecognizer *dragndrop = - [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(moveVideoView:)]; - dragndrop.minimumNumberOfTouches = 1; - [_videoView addGestureRecognizer:dragndrop]; -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - if (tableController.isEditing) { - tableController.editing = NO; - } - [_toggleSelectionButton setImage:[UIImage imageNamed:@"select_all_default.png"] forState:UIControlStateSelected]; -} - -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; -} - -- (void) viewWillDisappear:(BOOL)animated { - self.view = NULL; - [self.tableController removeAllRecordings]; -} - -#pragma mark - Action Functions - -- (IBAction)onDeleteClick:(id)sender { - NSString *msg = [NSString stringWithFormat:NSLocalizedString(@"Do you want to delete selected recordings?", nil)]; - [LinphoneManager.instance setContactsUpdated:TRUE]; - [UIConfirmationDialog ShowWithMessage:msg - cancelMessage:nil - confirmMessage:nil - onCancelClick:^() { - [self onEditionChangeClick:nil]; - } - onConfirmationClick:^() { - [tableController removeSelectionUsing:nil]; - [tableController loadData]; - [self onEditionChangeClick:nil]; - }]; -} - -- (IBAction)onEditionChangeClick:(id)sender { - _backButton.hidden = self.tableController.isEditing; -} - -- (IBAction)onBackPressed:(id)sender { - [PhoneMainView.instance popCurrentView]; -} - -#pragma mark VideoViewMoving - -- (void)moveVideoView:(UIPanGestureRecognizer *)dragndrop { - CGPoint center = [dragndrop locationInView:_videoView.superview]; - _videoView.center = center; - if (dragndrop.state == UIGestureRecognizerStateEnded) { - [self previewTouchLift]; - } -} - -- (CGFloat)coerce:(CGFloat)value betweenMin:(CGFloat)min andMax:(CGFloat)max { - return MAX(min, MIN(value, max)); -} - -- (void)previewTouchLift { - CGRect previewFrame = _videoView.frame; - previewFrame.origin.x = [self coerce:previewFrame.origin.x - betweenMin:5 - andMax:(UIScreen.mainScreen.bounds.size.width - 5 - previewFrame.size.width)]; - previewFrame.origin.y = [self coerce:previewFrame.origin.y - betweenMin:5 - andMax:(UIScreen.mainScreen.bounds.size.height - 5 - previewFrame.size.height)]; - - if (!CGRectEqualToRect(previewFrame, _videoView.frame)) { - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [UIView animateWithDuration:0.3 - animations:^{ - LOGD(@"Recentering preview to %@", NSStringFromCGRect(previewFrame)); - _videoView.frame = previewFrame; - }]; - }); - } -} - - -@end diff --git a/Classes/SettingsView.h b/Classes/SettingsView.h deleted file mode 100644 index 90a6a023f..000000000 --- a/Classes/SettingsView.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "UICompositeView.h" -#import "IASKAppSettingsViewController.h" -#import "LinphoneCoreSettingsStore.h" - -@interface SettingsView - : UIViewController { - @private - LinphoneCoreSettingsStore *settingsStore; - BOOL isRoot; -} - -@property(nonatomic, strong) IBOutlet UINavigationController *navigationController; -@property(nonatomic, strong) IBOutlet IASKAppSettingsViewController *settingsController; -@property(weak, nonatomic) IBOutlet UIView *subView; -@property(weak, nonatomic) IBOutlet UIButton *backButton; -@property(weak, nonatomic) IBOutlet UILabel *titleLabel; -@property(nonatomic) NSString* tmpPwd; - -- (IBAction)onDialerBackClick:(id)sender; -- (IBAction)onBackClick:(id)sender; - -@end diff --git a/Classes/SettingsView.m b/Classes/SettingsView.m deleted file mode 100644 index e36226fee..000000000 --- a/Classes/SettingsView.m +++ /dev/null @@ -1,1387 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "SettingsView.h" -#import "LinphoneManager.h" -#import "LinphoneAppDelegate.h" -#import "PhoneMainView.h" -#import "Utils.h" -#import "linphoneapp-Swift.h" - -#import "DCRoundSwitch.h" - -#import "IASKSpecifierValuesViewController.h" -#import "IASKPSTextFieldSpecifierViewCell.h" -#import "IASKSpecifier.h" -#import "IASKTextField.h" -#include "linphone/lpconfig.h" - -#ifdef DEBUG -@interface UIDevice (debug) - -- (void)setBatteryLevel:(float)level; -- (void)setBatteryState:(int)state; - -@end -#endif - -@interface SettingsView (private) - -+ (IASKSpecifier *)filterSpecifier:(IASKSpecifier *)specifier; - -@end - -#pragma mark - IASKSwitchEx Class - -@interface IASKSwitchEx : DCRoundSwitch { - NSString *_key; -} - -@property(nonatomic, strong) NSString *key; - -@end - -@implementation IASKSwitchEx - -@synthesize key = _key; - -- (void)dealloc { - _key = nil; -} - -@end - -#pragma mark - IASKSpecifierValuesViewControllerEx Class - -// Patch IASKSpecifierValuesViewController -@interface IASKSpecifierValuesViewControllerEx : IASKSpecifierValuesViewController - -@end - -@implementation IASKSpecifierValuesViewControllerEx - -- (void)initIASKSpecifierValuesViewControllerEx { - [self.view setBackgroundColor:[UIColor clearColor]]; -} - -- (id)init { - self = [super init]; - if (self != nil) { - [self initIASKSpecifierValuesViewControllerEx]; - } - return self; -} - -- (id)initWithCoder:(NSCoder *)aDecoder { - self = [super initWithCoder:aDecoder]; - if (self != nil) { - [self initIASKSpecifierValuesViewControllerEx]; - } - return self; -} - -- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { - self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; - if (self != nil) { - [self initIASKSpecifierValuesViewControllerEx]; - } - return self; -} - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - UITableViewCell *cell = [super tableView:tableView cellForRowAtIndexPath:indexPath]; - return cell; -} - -@end - -#pragma mark - IASKAppSettingsViewControllerEx Class - -@interface IASKAppSettingsViewController (PrivateInterface) -- (UITableViewCell *)newCellForIdentifier:(NSString *)identifier; -@end -; - -@interface IASKAppSettingsViewControllerEx : IASKAppSettingsViewController - -@end - -@implementation IASKAppSettingsViewControllerEx - -- (UITableViewCell *)newCellForIdentifier:(NSString *)identifier { - UITableViewCell *cell = nil; - if ([identifier isEqualToString:kIASKPSToggleSwitchSpecifier]) { - cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault - reuseIdentifier:kIASKPSToggleSwitchSpecifier]; - cell.accessoryView = [[IASKSwitchEx alloc] initWithFrame:CGRectMake(0, 0, 79, 27)]; - [((IASKSwitchEx *)cell.accessoryView) addTarget:self - action:@selector(toggledValue:) - forControlEvents:UIControlEventValueChanged]; - [((IASKSwitchEx *)cell.accessoryView) setOnTintColor:LINPHONE_MAIN_COLOR]; - cell.selectionStyle = UITableViewCellSelectionStyleNone; - cell.textLabel.minimumScaleFactor = kIASKMinimumFontSize / [UIFont systemFontSize]; - cell.detailTextLabel.minimumScaleFactor = kIASKMinimumFontSize / [UIFont systemFontSize]; - } else { - cell = [super newCellForIdentifier:identifier]; - } - return cell; -} - -- (void)toggledValue:(id)sender { - IASKSwitchEx *toggle = (IASKSwitchEx *)sender; - IASKSpecifier *spec = [_settingsReader specifierForKey:[toggle key]]; - - if ([toggle isOn]) { - if ([spec trueValue] != nil) { - [self.settingsStore setObject:[spec trueValue] forKey:[toggle key]]; - } else { - [self.settingsStore setBool:YES forKey:[toggle key]]; - } - } else { - if ([spec falseValue] != nil) { - [self.settingsStore setObject:[spec falseValue] forKey:[toggle key]]; - } else { - [self.settingsStore setBool:NO forKey:[toggle key]]; - } - } - // Start notification after animation of DCRoundSwitch - dispatch_async(dispatch_get_main_queue(), ^{ - [NSNotificationCenter.defaultCenter - postNotificationName:kIASKAppSettingChanged - object:[toggle key] - userInfo:[NSDictionary dictionaryWithObject:[self.settingsStore objectForKey:[toggle key]] - forKey:[toggle key]]]; - }); -} - -- (void)initIASKAppSettingsViewControllerEx { - [self.view setBackgroundColor:[UIColor clearColor]]; - - // Force kIASKSpecifierValuesViewControllerIndex - static int kIASKSpecifierValuesViewControllerIndex = 0; - _viewList = [[NSMutableArray alloc] init]; - [_viewList addObject:[NSDictionary dictionaryWithObjectsAndKeys:@"IASKSpecifierValuesView", @"ViewName", nil]]; - [_viewList addObject:[NSDictionary dictionaryWithObjectsAndKeys:@"IASKAppSettingsView", @"ViewName", nil]]; - - NSMutableDictionary *newItemDict = [NSMutableDictionary dictionaryWithCapacity:3]; - [newItemDict addEntriesFromDictionary:[_viewList objectAtIndex:kIASKSpecifierValuesViewControllerIndex]]; // copy - // the - // title - // and - // explain - // strings - - IASKSpecifierValuesViewController *targetViewController = [[IASKSpecifierValuesViewControllerEx alloc] init]; - // add the new view controller to the dictionary and then to the 'viewList' array - [newItemDict setObject:targetViewController forKey:@"viewController"]; - [_viewList replaceObjectAtIndex:kIASKSpecifierValuesViewControllerIndex withObject:newItemDict]; -} - -- (IASKSettingsReader *)settingsReader { - IASKSettingsReader *r = [super settingsReader]; - NSMutableArray *dataSource = [NSMutableArray arrayWithArray:[r dataSource]]; - if ([[UIApplication sharedApplication] applicationState] != UIApplicationStateBackground) { - for (int i = 0; i < [dataSource count]; ++i) { - NSMutableArray *specifiers = [NSMutableArray arrayWithArray:[dataSource objectAtIndex:i]]; - for (int j = 0; j < [specifiers count]; ++j) { - id sp = [specifiers objectAtIndex:j]; - if ([sp isKindOfClass:[IASKSpecifier class]]) { - sp = [SettingsView filterSpecifier:sp]; - } - [specifiers replaceObjectAtIndex:j withObject:sp]; - } - - [dataSource replaceObjectAtIndex:i withObject:specifiers]; - } - } else { - NSLog(@"Application is in background, linphonecore is off, skiping filter specifier."); - } - - [r setDataSource:dataSource]; - return r; -} - -- (id)initWithStyle:(UITableViewStyle)style { - self = [super initWithStyle:style]; - if (self != nil) { - [self initIASKAppSettingsViewControllerEx]; - } - return self; -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - - UIEdgeInsets inset = {0, 0, 10, 0}; - UIScrollView *scrollView = self.tableView; - [scrollView setContentInset:inset]; - [scrollView setScrollIndicatorInsets:inset]; - // specific for media encryption - if (linphone_core_get_media_encryption(LC) == LinphoneMediaEncryptionNone && linphone_core_is_media_encryption_mandatory(LC)) { - linphone_core_set_media_encryption_mandatory(LC, FALSE); - [self.tableView reloadData]; - } -} - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - UITableViewCell *cell = [super tableView:tableView cellForRowAtIndexPath:indexPath]; - - if ([cell isKindOfClass:[IASKPSTextFieldSpecifierViewCell class]]) { - UITextField *field = ((IASKPSTextFieldSpecifierViewCell *)cell).textField; - [field setTextColor:LINPHONE_MAIN_COLOR]; - } - - if ([cell isKindOfClass:[UITableViewCell class]]) { - cell.detailTextLabel.textColor = [UIColor grayColor]; - } else { - cell.detailTextLabel.textColor = LINPHONE_MAIN_COLOR; - } - return cell; -} -@end - -#pragma mark - UINavigationBarEx Class - -@interface UINavigationBarEx : UINavigationBar -@end - -@implementation UINavigationBarEx - -INIT_WITH_COMMON_CF { - [self setTintColor:[LINPHONE_MAIN_COLOR adjustHue:5.0f / 180.0f saturation:0.0f brightness:0.0f alpha:0.0f]]; - return self; -} - -@end - -#pragma mark - UINavigationControllerEx Class - -@interface UINavigationControllerEx : UINavigationController - -@end - -@implementation UINavigationControllerEx - -- (id)initWithRootViewController:(UIViewController *)rootViewController { - [UINavigationControllerEx removeBackground:rootViewController.view]; - return [super initWithRootViewController:rootViewController]; -} - -+ (void)removeBackground:(UIView *)view { - // iOS7 transparent background is *really* transparent: with an alpha != 0 - // it messes up the transitions. Use non-transparent BG for iOS7 - if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) - [view setBackgroundColor:LINPHONE_SETTINGS_BG_IOS7]; - else - [view setBackgroundColor:[UIColor clearColor]]; -} - -- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated { - - @try { - [UINavigationControllerEx removeBackground:viewController.view]; - - [viewController view]; // Force view - UILabel *labelTitleView = [[UILabel alloc] init]; - labelTitleView.backgroundColor = [UIColor clearColor]; - labelTitleView.textColor = - [UIColor colorWithRed:0x41 / 255.0f green:0x48 / 255.0f blue:0x4f / 255.0f alpha:1.0]; - labelTitleView.shadowColor = [UIColor colorWithWhite:1.0 alpha:0.5]; - labelTitleView.font = [UIFont boldSystemFontOfSize:20]; - labelTitleView.shadowOffset = CGSizeMake(0, 1); - labelTitleView.textAlignment = NSTextAlignmentCenter; - labelTitleView.text = viewController.title; - [labelTitleView sizeToFit]; - viewController.navigationItem.titleView = labelTitleView; - - [super pushViewController:viewController animated:animated]; - } @catch (NSException *e) { - // when device is slow and you are typing an item too much, a crash may happen - // because we try to push the same view multiple times - in that case we should - // do nothing but wait for device to respond again. - LOGI(@"Failed to push view because it's already there: %@", e.reason); - [self popToViewController:viewController animated:YES]; - } -} - -- (void)setViewControllers:(NSArray *)viewControllers { - for (UIViewController *controller in viewControllers) { - [UINavigationControllerEx removeBackground:controller.view]; - } - [super setViewControllers:viewControllers]; -} - -- (void)setViewControllers:(NSArray *)viewControllers animated:(BOOL)animated { - for (UIViewController *controller in viewControllers) { - [UINavigationControllerEx removeBackground:controller.view]; - } - [super setViewControllers:viewControllers animated:animated]; -} - -@end - -@implementation SettingsView - -#pragma mark - UICompositeViewDelegate Functions - -id thisClass; - -UIActivityIndicatorView *indicator = nil; - -- (id) init -{ - if (self = [super init]) - { - thisClass = self; - } - return self; -} - -static UICompositeViewDescription *compositeDescription = nil; - -+ (UICompositeViewDescription *)compositeViewDescription { - if (compositeDescription == nil) { - compositeDescription = [[UICompositeViewDescription alloc] init:self.class - statusBar:StatusBarView.class - tabBar:nil - sideMenu:SideMenuView.class - fullscreen:false - isLeftFragment:YES - fragmentWith:nil]; - } - return compositeDescription; -} - -- (UICompositeViewDescription *)compositeViewDescription { - return self.class.compositeViewDescription; -} - -#pragma mark - ViewController Functions - -- (void)viewDidLoad { - [super viewDidLoad]; - - settingsStore = [[LinphoneCoreSettingsStore alloc] init]; - - _settingsController.showDoneButton = FALSE; - _settingsController.delegate = self; - _settingsController.showCreditsFooter = FALSE; - _settingsController.settingsStore = settingsStore; - - [_navigationController.view setBackgroundColor:[UIColor clearColor]]; - - _navigationController.view.frame = self.subView.frame; - [_navigationController pushViewController:_settingsController animated:FALSE]; - [self.view addSubview:_navigationController.view]; - - indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]; - indicator.center = CGPointMake(self.view.bounds.size.width / 2 , (self.view.bounds.size.height) /2); - [self.view addSubview:indicator]; -} - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - [_settingsController dismiss:self]; - // Set observer - [NSNotificationCenter.defaultCenter removeObserver:self name:kIASKAppSettingChanged object:nil]; -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - - // Sync settings with linphone core settings - [settingsStore transformLinphoneCoreToKeys]; - [self recomputeAccountLabelsAndSync]; - - // Set observer - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(appSettingChanged:) - name:kIASKAppSettingChanged - object:nil]; -} - -#pragma mark - Account Creator callbacks - -void update_hash_cbs(LinphoneAccountCreator *creator, LinphoneAccountCreatorStatus status, const char *resp) { - SettingsView *thiz = (__bridge SettingsView *)(linphone_account_creator_cbs_get_user_data( - linphone_account_creator_get_callbacks(creator))); - - switch (status) { - case LinphoneAccountCreatorStatusRequestOk: - [thiz updatePassword:creator]; - break; - default: - [thiz showError:status]; - break; - } -} - -- (void) showError:(LinphoneAccountCreatorStatus) status { - _tmpPwd = NULL; - NSString* err; - switch (status) { - case LinphoneAccountCreatorStatusAccountNotExist: - err = NSLocalizedString(@"Bad credentials, check your account settings", nil); - break; - case LinphoneAccountCreatorStatusServerError: - err = NSLocalizedString(@"Server error, please try again later.", nil); - break; - default: - err = NSLocalizedString(@"Unknown error, please try again later.", nil); - break; - } - - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Error while changing your password", nil) - message:err - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [self presentViewController:errView animated:YES completion:nil]; -} - -- (void) updatePassword:(LinphoneAccountCreator*) creator { - linphone_account_creator_set_password(creator, _tmpPwd.UTF8String); - [settingsStore setObject:_tmpPwd forKey:@"account_mandatory_password_preference"]; - - MSList *accountList = [LinphoneManager.instance createAccountsNotHiddenList]; - LinphoneAccount *account = bctbx_list_nth_data(linphone_core_get_account_list(LC), - [settingsStore integerForKey:@"current_proxy_config_preference"]); - bctbx_free(accountList); - - if (account != NULL) { - const LinphoneAuthInfo *auth = linphone_account_find_auth_info(account); - if (auth) { - LinphoneAuthInfo * newAuth = linphone_auth_info_clone(auth); - linphone_auth_info_set_passwd(newAuth, _tmpPwd.UTF8String); - linphone_core_remove_auth_info(LC, auth); - linphone_core_add_auth_info(LC, newAuth); - } - } - [self recomputeAccountLabelsAndSync]; - [settingsStore setObject:_tmpPwd forKey:@"account_mandatory_password_preference"]; - _tmpPwd = NULL; - - - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Changing your password", nil) - message:NSLocalizedString(@"Your password has been successfully changed", nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [self presentViewController:errView animated:YES completion:nil]; -} - -#pragma mark - Event Functions - -- (void)appSettingChanged:(NSNotification *)notif { - NSMutableSet *hiddenKeys = [NSMutableSet setWithSet:[_settingsController hiddenKeys]]; - NSMutableArray *keys = [NSMutableArray array]; - BOOL removeFromHiddenKeys = TRUE; - - if ([@"enable_video_preference" compare:notif.object] == NSOrderedSame) { - removeFromHiddenKeys = [[notif.userInfo objectForKey:@"enable_video_preference"] boolValue]; - [keys addObject:@"video_menu"]; - } else if ([@"random_port_preference" compare:notif.object] == NSOrderedSame) { - removeFromHiddenKeys = ![[notif.userInfo objectForKey:@"random_port_preference"] boolValue]; - [keys addObject:@"port_preference"]; - } else if ([@"backgroundmode_preference" compare:notif.object] == NSOrderedSame) { - removeFromHiddenKeys = [[notif.userInfo objectForKey:@"backgroundmode_preference"] boolValue]; - [keys addObject:@"start_at_boot_preference"]; - } else if ([@"stun_preference" compare:notif.object] == NSOrderedSame) { - NSString *stun_server = [notif.userInfo objectForKey:@"stun_preference"]; - removeFromHiddenKeys = (stun_server && ([stun_server length] > 0)); - [keys addObject:@"ice_preference"]; - } else if ([@"turn_preference" compare:notif.object] == NSOrderedSame) { - LinphoneNatPolicy *LNP = linphone_core_get_nat_policy(LC); - linphone_nat_policy_enable_turn(LNP, !linphone_nat_policy_turn_enabled(LNP)); - [keys addObject:@"turn_preference"]; - } else if ([@"debugenable_preference" compare:notif.object] == NSOrderedSame) { - int debugLevel = [[notif.userInfo objectForKey:@"debugenable_preference"] intValue]; - BOOL debugEnabled = (debugLevel >= ORTP_DEBUG && debugLevel < ORTP_ERROR); - removeFromHiddenKeys = debugEnabled; - [keys addObject:@"send_logs_button"]; - [keys addObject:@"reset_logs_button"]; - if ([LinphoneManager.instance lpConfigBoolForKey:@"send_db"]) { - [keys addObject:@"send_db_button"]; - } - [Log enableLogs:debugLevel]; - [LinphoneManager.instance lpConfigSetInt:debugLevel forKey:@"debugenable_preference"]; - } else if ([@"account_mandatory_advanced_preference" compare:notif.object] == NSOrderedSame) { - removeFromHiddenKeys = [[notif.userInfo objectForKey:@"account_mandatory_advanced_preference"] boolValue]; - for (NSString *key in settingsStore->dict) { - if (([key hasPrefix:@"account_"]) && (![key hasPrefix:@"account_mandatory_"])) { - [keys addObject:key]; - } - } - } else if ([@"video_preset_preference" compare:notif.object] == NSOrderedSame) { - NSString *video_preset = [notif.userInfo objectForKey:@"video_preset_preference"]; - removeFromHiddenKeys = [video_preset isEqualToString:@"custom"]; - [keys addObject:@"video_preferred_fps_preference"]; - [keys addObject:@"download_bandwidth_preference"]; - } else if ([@"auto_download_mode" compare:notif.object] == NSOrderedSame) { - NSString *download_mode = [notif.userInfo objectForKey:@"auto_download_mode"]; - if([download_mode isEqualToString:@"Customize"]){ - [LinphoneManager.instance lpConfigSetBool:FALSE forKey:@"auto_download_mode_is_never"]; - removeFromHiddenKeys = [download_mode isEqualToString:@"Customize"]; - [LinphoneManager.instance lpConfigSetInt:10000000 forKey:@"auto_download_incoming_files_max_size"]; - [keys addObject:@"auto_download_incoming_files_max_size"]; - [hiddenKeys addObject:@"auto_write_to_gallery_mode"]; - } else { - [LinphoneManager.instance lpConfigSetBool:FALSE forKey:@"auto_download_mode_is_never"]; - [hiddenKeys addObject:@"auto_download_incoming_files_max_size"]; - } - }else if ([@"vfs_enabled_mode" compare:notif.object] == NSOrderedSame) { - removeFromHiddenKeys = [[notif.userInfo objectForKey:@"vfs_enabled_mode"] boolValue]; - if(removeFromHiddenKeys){ - [LinphoneManager.instance lpConfigSetBool:TRUE forKey:@"vfs_enabled_mode"]; - [LinphoneManager.instance lpConfigSetBool:FALSE forKey:@"auto_write_to_gallery_preference"]; - [hiddenKeys addObject:@"auto_write_to_gallery_mode"]; - [hiddenKeys addObject:@"vfs_enabled_mode"]; - [keys addObject:@"vfs_enabled"]; - } - } - - for (NSString *key in keys) { - if (removeFromHiddenKeys) - [hiddenKeys removeObject:key]; - else - [hiddenKeys addObject:key]; - } - - [_settingsController setHiddenKeys:hiddenKeys animated:TRUE]; -} - -#pragma mark - - -+ (IASKSpecifier *)filterSpecifier:(IASKSpecifier *)specifier { - if (!linphone_core_sip_transport_supported(LC, LinphoneTransportTls)) { - if ([[specifier key] isEqualToString:@"account_transport_preference"]) { - NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithDictionary:[specifier specifierDict]]; - NSMutableArray *titles = [NSMutableArray arrayWithArray:[dict objectForKey:@"Titles"]]; - [titles removeObject:@"TLS"]; - [dict setObject:titles forKey:@"Titles"]; - NSMutableArray *values = [NSMutableArray arrayWithArray:[dict objectForKey:@"Values"]]; - [values removeObject:@"tls"]; - [dict setObject:values forKey:@"Values"]; - return [[IASKSpecifier alloc] initWithSpecifier:dict]; - } - } else { - BOOL pq_available = linphone_core_get_post_quantum_available(); - if ([[specifier key] isEqualToString:pq_available ? @"media_encryption_preference_pq_enabled" : @"media_encryption_preference"]) { - NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithDictionary:[specifier specifierDict]]; - if (!linphone_core_media_encryption_supported(LC, LinphoneMediaEncryptionZRTP)) { - NSMutableArray *titles = [NSMutableArray arrayWithArray:[dict objectForKey:@"Titles"]]; - [titles removeObject:pq_available ? @"ZRTP" : @"ZRTP Post Quantum"]; - [dict setObject:titles forKey:@"Titles"]; - NSMutableArray *values = [NSMutableArray arrayWithArray:[dict objectForKey:@"Values"]]; - [values removeObject:@"ZRTP"]; - [dict setObject:values forKey:@"Values"]; - } - if (!linphone_core_media_encryption_supported(LC, LinphoneMediaEncryptionSRTP)) { - NSMutableArray *titles = [NSMutableArray arrayWithArray:[dict objectForKey:@"Titles"]]; - [titles removeObject:@"SRTP"]; - [dict setObject:titles forKey:@"Titles"]; - NSMutableArray *values = [NSMutableArray arrayWithArray:[dict objectForKey:@"Values"]]; - [values removeObject:@"SRTP"]; - [dict setObject:values forKey:@"Values"]; - } - if (!linphone_core_media_encryption_supported(LC, LinphoneMediaEncryptionDTLS)) { - NSMutableArray *titles = [NSMutableArray arrayWithArray:[dict objectForKey:@"Titles"]]; - [titles removeObject:@"DTLS"]; - [dict setObject:titles forKey:@"Titles"]; - NSMutableArray *values = [NSMutableArray arrayWithArray:[dict objectForKey:@"Values"]]; - [values removeObject:@"DTLS"]; - [dict setObject:values forKey:@"Values"]; - } - return [[IASKSpecifier alloc] initWithSpecifier:dict]; - } - } - - if ([specifier.key hasPrefix:@"menu_account_"]) { - MSList *accounts = [LinphoneManager.instance createAccountsNotHiddenList]; - int index = [specifier.key substringFromIndex:@"menu_account_".length].intValue - 1; - if (index < bctbx_list_size(accounts)) { - LinphoneAccount *account = (LinphoneAccount *)bctbx_list_nth_data(accounts, index); - NSString *name = [NSString - stringWithUTF8String:linphone_address_get_username(linphone_account_params_get_identity_address(linphone_account_get_params(account)))]; - [specifier.specifierDict setValue:name forKey:kIASKTitle]; - } - bctbx_free(accounts); - } - - if ([specifier.key hasPrefix:@"ldap_"]) { - if (linphone_core_ldap_available(LC)) { - const bctbx_list_t *ldaps = linphone_core_get_ldap_list(LC); - int index = [specifier.key substringFromIndex:@"ldap_".length].intValue - 1; - if (index < bctbx_list_size(ldaps)) { - const LinphoneLdapParams *ldapParams = linphone_ldap_get_params(bctbx_list_nth_data(ldaps, index)); - - NSString *name = [NSString - stringWithUTF8String:linphone_ldap_params_get_server(ldapParams)]; - [specifier.specifierDict setValue:name forKey:kIASKTitle]; - } - } - } - - - if ([[specifier key] isEqualToString:@"ldap_auth_method"]) { - NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithDictionary:[specifier specifierDict]]; - NSMutableArray *titles = [NSMutableArray arrayWithArray:[dict objectForKey:@"Titles"]]; - [titles removeObject:@"TLS"]; - [dict setObject:titles forKey:@"Titles"]; - NSMutableArray *values = [NSMutableArray arrayWithArray:[dict objectForKey:@"Values"]]; - [values removeObject:@"tls"]; - [dict setObject:values forKey:@"Values"]; - return [[IASKSpecifier alloc] initWithSpecifier:dict]; - } - - return specifier; -} - -- (NSSet *)findHiddenKeys { - LinphoneManager *lm = LinphoneManager.instance; - NSMutableSet *hiddenKeys = [NSMutableSet set]; - - MSList *accounts = [LinphoneManager.instance createAccountsNotHiddenList]; - for (size_t i = bctbx_list_size(accounts) + 1; i <= 5; i++) { - [hiddenKeys addObject:[NSString stringWithFormat:@"menu_account_%lu", i]]; - } - bctbx_free(accounts); - const MSList *ldaps = linphone_core_get_ldap_list(LC); - for (size_t i = bctbx_list_size(ldaps) + 1; i <= 5; i++) { - [hiddenKeys addObject:[NSString stringWithFormat:@"ldap_%lu", i]]; - } - if (!linphone_core_sip_transport_supported(LC, LinphoneTransportTls)) { - [hiddenKeys addObject:@"media_encryption_preference"]; - [hiddenKeys addObject:@"media_encryption_preference_pq_enabled"]; - } else { - if (linphone_core_get_post_quantum_available()) { - [hiddenKeys addObject:@"media_encryption_preference"]; - } else { - [hiddenKeys addObject:@"media_encryption_preference_pq_enabled"]; - } - } - - if (!linphone_core_ldap_available(LC)) { - [hiddenKeys addObject:@"contacts_menu"]; - } - - if ([LinphoneManager.instance lpConfigBoolForKey:@"disable_chat_feature"]){ - [hiddenKeys addObject:@"message_menu"]; - } - - if ([LinphoneManager.instance lpConfigBoolForKey:@"disable_video_feature"]) { - [hiddenKeys addObject:@"enable_video_preference"]; - [hiddenKeys addObject:@"video_menu"]; - } - - [hiddenKeys addObject:@"enable_broadcast_conference_feature"]; - [hiddenKeys addObject:@"meeting_menu"]; - -#ifndef DEBUG - [hiddenKeys addObject:@"debug_actions_group"]; - [hiddenKeys addObject:@"release_button"]; - [hiddenKeys addObject:@"clear_cache_button"]; - [hiddenKeys addObject:@"battery_alert_button"]; - [hiddenKeys addObject:@"enable_auto_answer_preference"]; - [hiddenKeys addObject:@"flush_images_button"]; -#endif - - int debugLevel = [LinphoneManager.instance lpConfigIntForKey:@"debugenable_preference"]; - BOOL debugEnabled = (debugLevel >= ORTP_DEBUG && debugLevel < ORTP_ERROR); - if (!debugEnabled) { - [hiddenKeys addObject:@"send_logs_button"]; - [hiddenKeys addObject:@"reset_logs_button"]; - } - - if (![LinphoneManager.instance lpConfigBoolForKey:@"send_db"]) { - [hiddenKeys addObject:@"send_db_button"]; - } - - [hiddenKeys addObject:@"playback_gain_preference"]; - [hiddenKeys addObject:@"microphone_gain_preference"]; - - [hiddenKeys addObject:@"network_limit_group"]; - - [hiddenKeys addObject:@"incoming_call_timeout_preference"]; - [hiddenKeys addObject:@"in_call_timeout_preference"]; - - [hiddenKeys addObject:@"wifi_only_preference"]; - - if (!linphone_core_video_supported(LC)) { - [hiddenKeys addObject:@"video_menu"]; - } - - if (![LinphoneManager isCodecSupported:"h264"]) { - [hiddenKeys addObject:@"h264_preference"]; - } - if (![LinphoneManager isCodecSupported:"mp4v-es"]) { - [hiddenKeys addObject:@"mp4v-es_preference"]; - } - - if (![LinphoneManager isNotIphone3G]) - [hiddenKeys addObject:@"silk_24k_preference"]; - - UIDevice *device = [UIDevice currentDevice]; - if (![device respondsToSelector:@selector(isMultitaskingSupported)] || ![device isMultitaskingSupported]) { - [hiddenKeys addObject:@"backgroundmode_preference"]; - [hiddenKeys addObject:@"start_at_boot_preference"]; - } else { - if (![lm lpConfigBoolForKey:@"backgroundmode_preference"]) { - [hiddenKeys addObject:@"start_at_boot_preference"]; - } - } - - [hiddenKeys addObject:@"enable_first_login_view_preference"]; - - if (!linphone_core_video_supported(LC)) { - [hiddenKeys addObject:@"enable_video_preference"]; - } - - if (!linphone_core_video_display_enabled(LC)) { - [hiddenKeys addObject:@"video_menu"]; - } - - if (!linphone_core_get_video_preset(LC) || strcmp(linphone_core_get_video_preset(LC), "custom") != 0) { - [hiddenKeys addObject:@"video_preferred_fps_preference"]; - [hiddenKeys addObject:@"download_bandwidth_preference"]; - } - - [hiddenKeys addObjectsFromArray:[[LinphoneManager unsupportedCodecs] allObjects]]; - - BOOL random_port = [lm lpConfigBoolForKey:@"random_port_preference"]; - if (random_port) { - [hiddenKeys addObject:@"port_preference"]; - } - - if (linphone_core_get_stun_server(LC) == NULL) { - [hiddenKeys addObject:@"ice_preference"]; - } - - if (![lm lpConfigBoolForKey:@"debugenable_preference"]) { - [hiddenKeys addObject:@"console_button"]; - } - - if (!IPAD) { - [hiddenKeys addObject:@"preview_preference"]; - } - - if ([lm lpConfigBoolForKey:@"hide_run_assistant_preference"]) { - [hiddenKeys addObject:@"assistant_button"]; - } - - if (!linphone_core_tunnel_available()) { - [hiddenKeys addObject:@"tunnel_menu"]; - } - - if (![lm lpConfigBoolForKey:@"account_mandatory_advanced_preference"]) { - for (NSString *key in settingsStore->dict) { - if (([key hasPrefix:@"account_"]) && (![key hasPrefix:@"account_mandatory_"])) { - [hiddenKeys addObject:key]; - } - } - } - - if (![[LinphoneManager.instance iapManager] enabled]) { - [hiddenKeys addObject:@"in_app_products_button"]; - } - - if ([[UIDevice currentDevice].systemVersion floatValue] < 8) { - [hiddenKeys addObject:@"repeat_call_notification_preference"]; - } - - if (![lm lpConfigBoolForKey:@"accept_early_media" inSection:@"app"]) { - [hiddenKeys addObject:@"pref_accept_early_media_preference"]; - } - - if (![[lm lpConfigStringForKey:@"auto_download_mode"] isEqualToString:@"Customize"]) { - [hiddenKeys addObject:@"auto_download_incoming_files_max_size"]; - } - - if ([lm lpConfigBoolForKey:@"vfs_enabled_mode"]) { - [hiddenKeys addObject:@"auto_write_to_gallery_mode"]; - [hiddenKeys addObject:@"vfs_enabled_mode"]; - }else{ - [hiddenKeys addObject:@"vfs_enabled"]; - } - - - if (@available(iOS 15.0, *)) {} else { - [hiddenKeys addObject:@"local_push"]; - [hiddenKeys addObject:@"local_ssids"]; - } - - return hiddenKeys; -} - -- (void)recomputeAccountLabelsAndSync { - // it's a bit violent... but IASK is not designed to dynamically change subviews' name - _settingsController.hiddenKeys = [self findHiddenKeys]; - [_settingsController.settingsReader indexPathForKey:@"menu_account_1"]; // force refresh username' - [_settingsController.settingsReader indexPathForKey:@"menu_account_2"]; // force refresh username' - [_settingsController.settingsReader indexPathForKey:@"menu_account_3"]; // force refresh username' - [_settingsController.settingsReader indexPathForKey:@"menu_account_4"]; // force refresh username' - [_settingsController.settingsReader indexPathForKey:@"menu_account_5"]; // force refresh username' - [[_settingsController tableView] reloadData]; -} - --(void)recomputeLdapLabelsAndSync { - // it's a bit violent... but IASK is not designed to dynamically change subviews' name - _settingsController.hiddenKeys = [self findHiddenKeys]; - [_settingsController.settingsReader indexPathForKey:@"ldap_1"]; // force refresh ldap server name display - [_settingsController.settingsReader indexPathForKey:@"ldap_2"]; // force refresh ldap server name display - [_settingsController.settingsReader indexPathForKey:@"ldap_3"]; // force refresh ldap server name display - [_settingsController.settingsReader indexPathForKey:@"ldap_4"]; // force refresh ldap server name display - [_settingsController.settingsReader indexPathForKey:@"ldap_5"]; // force refresh ldap server name display - [[_settingsController tableView] reloadData]; -} - -#pragma mark - IASKSettingsDelegate Functions - -- (void)settingsViewControllerDidEnd:(IASKAppSettingsViewController *)sender { -} - -- (void)settingsViewControllerWillAppear:(IASKAppSettingsViewController *)sender { - isRoot = (sender.file == nil || [sender.file isEqualToString:@"Root"]); - _titleLabel.text = sender.title; - - // going to account: fill account specific info - if ([sender.file isEqualToString:@"Account"]) { - LOGI(@"Going editing account %@", sender.title); - [settingsStore transformAccountToKeys:sender.title]; - } else if ([sender.file isEqualToString:@"Contacts"]) { - [settingsStore synchronize]; - [self recomputeLdapLabelsAndSync]; - } else if ([sender.file isEqualToString:@"LDAP"]) { - LOGI(@"Going editing LDAP config %@", sender.title); - [settingsStore transformLdapToKeys:sender.title]; - } else if ([sender.file isEqualToString:@"Root"]) { // coming back to default: if we were in account, we must synchronize account now - [settingsStore synchronize]; - [self recomputeAccountLabelsAndSync]; - } -} - -- (void)settingsViewController:(IASKAppSettingsViewController *)sender - buttonTappedForSpecifier:(IASKSpecifier *)specifier { - NSString *key = [specifier.specifierDict objectForKey:kIASKKey]; -#ifdef DEBUG - if ([key isEqual:@"release_button"]) { - [UIApplication sharedApplication].keyWindow.rootViewController = nil; - [[UIApplication sharedApplication].keyWindow setRootViewController:nil]; - [LinphoneManager.instance destroyLinphoneCore]; - [LinphoneManager instanceRelease]; - } else if ([key isEqual:@"clear_cache_button"]) { - [PhoneMainView.instance.mainViewController - clearCache:[NSArray arrayWithObject:[PhoneMainView.instance currentView]]]; - } else if ([key isEqual:@"battery_alert_button"]) { - [[UIDevice currentDevice] setBatteryState:UIDeviceBatteryStateUnplugged]; - [[UIDevice currentDevice] setBatteryLevel:0.01f]; - [NSNotificationCenter.defaultCenter postNotificationName:UIDeviceBatteryLevelDidChangeNotification object:self]; - } else if ([key isEqual:@"flush_images_button"]) { - const MSList *rooms = linphone_core_get_chat_rooms(LC); - while (rooms) { - const MSList *events = linphone_chat_room_get_history_message_events(rooms->data, 0); - while (events) { - LinphoneEventLog *event = events->data; - LinphoneChatMessage *msg = linphone_event_log_get_chat_message(event); - if (!linphone_chat_message_is_outgoing(msg)) { - [LinphoneManager setValueInMessageAppData:nil forKey:@"localimage" inMessage:msg]; - [LinphoneManager setValueInMessageAppData:nil forKey:@"uploadQuality" inMessage:msg]; - [LinphoneManager setValueInMessageAppData:nil forKey:@"localvideo" inMessage:msg]; - [LinphoneManager setValueInMessageAppData:nil forKey:@"localfile" inMessage:msg]; - } - events = events->next; - } - rooms = rooms->next; - } - } -#endif - if ([key isEqual:@"assistant_button"]) { - [PhoneMainView.instance changeCurrentView:AssistantView.compositeViewDescription]; - return; - } else if ([key isEqual:@"account_mandatory_remove_button"]) { - NSString *popUpText; - NSString *appDomain = [LinphoneManager.instance lpConfigStringForKey:@"domain_name" - inSection:@"app" - withDefault:@"sip.linphone.org"]; - - MSList *accountList = [LinphoneManager.instance createAccountsNotHiddenList]; - LinphoneAccount *account = bctbx_list_nth_data(accountList, - [settingsStore integerForKey:@"current_proxy_config_preference"]); - - bool isLinphoneAccount = strcmp(appDomain.UTF8String, linphone_account_params_get_domain(linphone_account_get_params(account))) == 0; - if (isLinphoneAccount) { - popUpText = NSLocalizedString(@"Your account will only be deleted locally.\nTo delete it permanently, go to our account management platform:", nil); - } else { - popUpText = NSLocalizedString(@"Your account will only be deleted locally.\nTo delete it permanently, go on your SIP provider website.", nil); - } - bctbx_free(accountList); - - UIConfirmationDialog *dialog = [UIConfirmationDialog ShowWithMessage:popUpText - cancelMessage:nil - confirmMessage:nil - onCancelClick:nil - onConfirmationClick:^() { - [settingsStore removeAccount]; - [self recomputeAccountLabelsAndSync]; - [_settingsController.navigationController popViewControllerAnimated:NO]; - }]; - dialog.subscribeLabel.hidden = !isLinphoneAccount; // Only display link to https://subscribe.linphone.org for linphone accounts - - } else if ([key isEqual:@"account_mandatory_change_password"]) { - UIAlertController *alertView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Change your password", nil) - message:NSLocalizedString(@"Please enter and confirm your new password", nil) - preferredStyle:UIAlertControllerStyleAlert]; - - [alertView addTextFieldWithConfigurationHandler:^(UITextField *textField) { - textField.placeholder = NSLocalizedString(@"Password", nil); - textField.clearButtonMode = UITextFieldViewModeWhileEditing; - textField.borderStyle = UITextBorderStyleRoundedRect; - textField.secureTextEntry = YES; - }]; - - [alertView addTextFieldWithConfigurationHandler:^(UITextField *textField) { - textField.placeholder = NSLocalizedString(@"Confirm password", nil); - textField.clearButtonMode = UITextFieldViewModeWhileEditing; - textField.borderStyle = UITextBorderStyleRoundedRect; - textField.secureTextEntry = YES; - }]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Cancel", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - UIAlertAction* continueAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Save", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) { - NSString * pwd = alertView.textFields[0].text; - NSString * conf_pwd = alertView.textFields[1].text; - if (pwd && ![pwd isEqualToString:@""]) { - if ([pwd isEqualToString:conf_pwd]) { - _tmpPwd = pwd; - - MSList *accounts = [LinphoneManager.instance createAccountsNotHiddenList]; - LinphoneAccount *account = bctbx_list_nth_data(accounts, - [settingsStore integerForKey:@"current_proxy_config_preference"]); - bctbx_free(accounts); - const LinphoneAuthInfo *ai = linphone_account_find_auth_info(account); - - LinphoneAccountCreator *account_creator = linphone_account_creator_new( - LC, [LinphoneManager.instance lpConfigStringForKey:@"xmlrpc_url" inSection:@"assistant" withDefault:@""] - .UTF8String); - if (!ai) { - UIAlertController *errView = [UIAlertController - alertControllerWithTitle: - NSLocalizedString( - @"Error while changing your " - @"password", - nil) - message: - NSLocalizedString( - @"Your " - @"account " - @"is not " - @"a " - @"Linphone" - @" account" - @".\n" - @"We can " - @"not " - @"change " - @"your " - @"password" - @".", - nil) - preferredStyle: - UIAlertControllerStyleAlert]; - - UIAlertAction *defaultAction = [UIAlertAction - actionWithTitle:@"OK" - style: - UIAlertActionStyleDefault - handler:^( - UIAlertAction *action){ - }]; - - [errView addAction:defaultAction]; - [self presentViewController:errView - animated:YES - completion:nil]; - return; - } - linphone_account_creator_set_algorithm(account_creator, ""); - linphone_account_creator_set_username(account_creator, linphone_auth_info_get_username(ai)); - if (linphone_auth_info_get_passwd(ai) && !(strcmp(linphone_auth_info_get_passwd(ai),"") == 0)) { - linphone_account_creator_set_password(account_creator, linphone_auth_info_get_passwd(ai)); - } else { - linphone_account_creator_set_ha1(account_creator, linphone_auth_info_get_ha1(ai)); - } - - linphone_account_creator_set_domain(account_creator, linphone_auth_info_get_domain(ai)); - linphone_account_creator_set_user_data( - account_creator, (void *)pwd.UTF8String); - linphone_account_creator_cbs_set_update_account( - linphone_account_creator_get_callbacks( - account_creator), - update_hash_cbs); - linphone_account_creator_cbs_set_user_data( - linphone_account_creator_get_callbacks( - account_creator), - (__bridge void *)(self)); - linphone_account_creator_update_account( - account_creator); - } else { - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Error while changing your password", nil) - message:NSLocalizedString(@"Your confirmation password doesn't match your password", nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [self presentViewController:errView animated:YES completion:nil]; - } - } else { - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Error while changing your password", nil) - message:NSLocalizedString(@"Please enter and confirm your new password", nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [self presentViewController:errView animated:YES completion:nil]; - } - }]; - - - [alertView addAction:defaultAction]; - [alertView addAction:continueAction]; - [self presentViewController:alertView animated:YES completion:nil]; - } else if ([key isEqual:@"reset_logs_button"]) { - linphone_core_reset_log_collection(); - } else if ([key isEqual:@"send_logs_button"]) { - NSString *message; - - if ([LinphoneManager.instance lpConfigBoolForKey:@"send_logs_include_linphonerc_and_chathistory"]) { - message = NSLocalizedString( - @"Warning: an email will be created with 3 attachments:\n- Application " - @"logs\n- Linphone configuration\n- Chats history.\nThey may contain " - @"private informations (MIGHT contain clear-text password!).\nYou can remove one or several " - @"of these attachments before sending your email, however there are all " - @"important to diagnostize your issue.", - nil); - } else { - message = NSLocalizedString(@"Warning: an email will be created with application " - @"logs. It may contain " - @"private informations (but no password!).\nThese logs are " - @"important to diagnostize your issue.", - nil); - } - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Sending logs", nil) - message:message - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Cancel", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - UIAlertAction* continueAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"I got it, continue", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) { - [self sendEmailWithDebugAttachments]; - }]; - - [errView addAction:defaultAction]; - [errView addAction:continueAction]; - [self presentViewController:errView animated:YES completion:nil]; - } else if ([key isEqual:@"send_db_button"]) { - [self sendEmailWithPrivacyAttachments]; - } else if ([key isEqual:@"new_ldap_button"]) { - if (bctbx_list_size(linphone_core_get_ldap_list(LC)) < 5 ) { - linphone_core_add_ldap(LC, linphone_core_create_ldap(LC)); - [self recomputeLdapLabelsAndSync]; - } - } else if ([key isEqual:@"ldap_remove_button"]) { - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Warning", nil) - message:NSLocalizedString(@"Are you sure to want to remove your LDAP config?", nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Cancel", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - UIAlertAction* continueAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Yes", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) { - [settingsStore removeLdap]; - [self recomputeLdapLabelsAndSync]; - [_settingsController.navigationController popViewControllerAnimated:NO]; - }]; - - - [errView addAction:defaultAction]; - [errView addAction:continueAction]; - [self presentViewController:errView animated:YES completion:nil]; - } -} - -#pragma mark - Mail composer for sending logs - -- (void)sendEmailWithDebugAttachments { - //NSMutableArray *attachments = [[NSMutableArray alloc] initWithCapacity:3]; - - // retrieve linphone logs if available - //char *filepath = linphone_core_compress_log_collection(); - - - LinphoneCoreCbs *coreCbs = linphone_factory_create_core_cbs(linphone_factory_get()); - linphone_core_cbs_set_log_collection_upload_state_changed(coreCbs, core_log_collection_upload_state_changed); - linphone_core_add_callbacks(LC, coreCbs); - - linphone_core_upload_log_collection(LC); - - [indicator startAnimating]; - - /* - if (filepath != NULL) { - NSString *filename = [[NSString stringWithUTF8String:filepath] componentsSeparatedByString:@"/"].lastObject; - NSString *mimeType = nil; - if ([filename hasSuffix:@".txt"]) { - mimeType = @"text/plain"; - } else if ([filename hasSuffix:@".gz"]) { - mimeType = @"application/gzip"; - } else { - LOGE(@"Unknown extension type: %@, not attaching logs", filename); - } - - if (mimeType != nil) { - [attachments addObject:@[ [NSString stringWithUTF8String:filepath], mimeType, filename ]]; - } - } - ms_free(filepath); - - if ([LinphoneManager.instance lpConfigBoolForKey:@"send_logs_include_linphonerc_and_chathistory"]) { - // retrieve linphone rc - [attachments - addObject:@[ [LinphoneManager preferenceFile:@"linphonerc"], @"text/plain", @"linphone-configuration.rc" ]]; - - // retrieve historydb - [attachments addObject:@[ - [LinphoneManager dataFile:@"linphone_chats.db"], - @"application/x-sqlite3", - @"linphone-chats-history.db" - ]]; - } - - if (attachments.count == 0) { - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Cannot send logs", nil) - message:NSLocalizedString(@"Nothing could be collected from your application, aborting now.", nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Cancel", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [self presentViewController:errView animated:YES completion:nil]; - return; - } - - //[self emailAttachments:attachments]; - */ -} - -void core_log_collection_upload_state_changed(LinphoneCore *core, LinphoneCoreLogCollectionUploadState state , const char* info) { - - LOGD(@"LinphoneCoreLogCollectionUploadStateDelivered core_log_collection_upload_state_changed %s", info); - if (state == LinphoneCoreLogCollectionUploadStateDelivered) { - - [thisClass newEmailAttachments:info]; - - LOGD(@"LinphoneCoreLogCollectionUploadStateDelivered %s", info); - UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; - - pasteboard.string = [NSString stringWithUTF8String: info]; - } -} - -- (void)sendEmailWithPrivacyAttachments { - NSMutableArray *attachments = [[NSMutableArray alloc] initWithCapacity:4]; - - // retrieve historydb - [attachments addObject:@[ - [LinphoneManager dataFile:@"linphone_chats.db"], - @"application/db", - @"linphone-chats-history.db" - ]]; - [attachments addObject:@[ - [LinphoneManager dataFile:@"zrtp_secrets"], - @"application/zrtp", - @"zrtp_secrets" - ]]; - [attachments addObject:@[ - [LinphoneManager dataFile:@"linphone.db"], - @"application/db", - @"linphone.db" - ]]; - [attachments addObject:@[ - [LinphoneManager dataFile:@"x3dh.c25519.sqlite3"], - @"application/db", - @"x3dh.c25519.sqlite3" - ]]; - - if (attachments.count == 0) { - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Cannot send files", nil) - message:NSLocalizedString(@"Nothing could be collected from your application, aborting now.", nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Cancel", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [self presentViewController:errView animated:YES completion:nil]; - return; - } - - [self emailAttachments:attachments]; -} - -- (void) newEmailAttachments:(const char *)info { - NSString *error = nil; -#if TARGET_IPHONE_SIMULATOR - error = @"Cannot send emails on the Simulator. To test this feature, please use a real device."; -#else - if ([MFMailComposeViewController canSendMail] == NO) { - error = NSLocalizedString( - @"Your device is not configured to send emails. Please configure mail application prior to send logs.", - nil); - } -#endif - - if (error != nil) { - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Cannot send email", nil) - message:error - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Continue", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [self presentViewController:errView animated:YES completion:nil]; - } else { - MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; - picker.mailComposeDelegate = self; - - [picker setSubject:@"Linphone Logs"]; - - [picker setToRecipients:[NSArray - arrayWithObjects:[LinphoneManager.instance lpConfigStringForKey:@"debug_popup_email" - withDefault:@""], - nil]]; - - [picker setMessageBody:[NSString stringWithFormat:@"%s",info] isHTML:NO]; - - [self.view.window.rootViewController presentViewController:picker animated:true completion:nil]; - - [indicator stopAnimating]; - } -} - -- (void)emailAttachments:(NSArray *)attachments { - NSString *error = nil; -#if TARGET_IPHONE_SIMULATOR - error = @"Cannot send emails on the Simulator. To test this feature, please use a real device."; -#else - if ([MFMailComposeViewController canSendMail] == NO) { - error = NSLocalizedString( - @"Your device is not configured to send emails. Please configure mail application prior to send logs.", - nil); - } -#endif - - if (error != nil) { - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Cannot send email", nil) - message:error - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Continue", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [self presentViewController:errView animated:YES completion:nil]; - } else { - MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; - picker.mailComposeDelegate = self; - - [picker setSubject:NSLocalizedString(@"", - @"Email title for people wanting to send a bug report")]; - [picker setToRecipients:[NSArray - arrayWithObjects:[LinphoneManager.instance lpConfigStringForKey:@"debug_popup_email" - withDefault:@""], - nil]]; - [picker setMessageBody:NSLocalizedString(@"Here are information about an issue I had on my device.\nI was " - @"doing ...\nI expected Linphone to ...\nInstead, I got an " - @"unexpected result: ...", - @"Template email for people wanting to send a bug report") - isHTML:NO]; - for (NSArray *attachment in attachments) { - if ([[NSFileManager defaultManager] fileExistsAtPath:attachment[0]]) { - [picker addAttachmentData:[NSData dataWithContentsOfFile:attachment[0]] - mimeType:attachment[1] - fileName:attachment[2]]; - } - } - [self.view.window.rootViewController presentViewController:picker animated:true completion:nil]; - } -} - -- (void)mailComposeController:(MFMailComposeViewController *)controller - didFinishWithResult:(MFMailComposeResult)result - error:(NSError *)error { - if (error != nil) { - LOGW(@"Error while sending mail: %@", error); - } else { - LOGI(@"Mail completed with status: %d", result); - } - [controller dismissViewControllerAnimated:true completion:nil]; -} - -- (IBAction)onDialerBackClick:(id)sender { - [_settingsController.navigationController popViewControllerAnimated:NO]; - [PhoneMainView.instance popToView:DialerView.compositeViewDescription]; -} - -- (IBAction)onBackClick:(id)sender { - if (isRoot) { - [_settingsController.navigationController popViewControllerAnimated:NO]; - [PhoneMainView.instance popCurrentView]; - } else { - [_settingsController.navigationController popViewControllerAnimated:YES]; - } -} -@end diff --git a/Classes/ShopTableView.h b/Classes/ShopTableView.h deleted file mode 100644 index 6fc74a3dc..000000000 --- a/Classes/ShopTableView.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -@interface ShopTableView : UITableViewController - -@end diff --git a/Classes/ShopTableView.m b/Classes/ShopTableView.m deleted file mode 100644 index b11df0922..000000000 --- a/Classes/ShopTableView.m +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "ShopTableView.h" -#import "ShopView.h" -#import "PhoneMainView.h" -#import "LinphoneUI/UIShopTableCell.h" - -@implementation ShopTableView - -- (void)viewDidLoad { - [super viewDidLoad]; - - // remove separators between empty items, cf - self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero]; -} - -#pragma mark - Table view data source - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return 1; -} - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - return LinphoneManager.instance.iapManager.productsAvailable.count; -} - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - - static NSString *kCellId = @"UIShopTableCell"; - UIShopTableCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId]; - if (cell == nil) { - cell = [[UIShopTableCell alloc] initWithIdentifier:kCellId]; - } - - SKProduct *product = LinphoneManager.instance.iapManager.productsAvailable[indexPath.row]; - - NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init]; - [numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4]; - [numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle]; - [numberFormatter setLocale:product.priceLocale]; - NSString *price = [numberFormatter stringFromNumber:product.price]; - - cell.nameLabel.text = [NSString stringWithFormat:@"%@ (%@)", product.localizedTitle, price]; - cell.descriptionLabel.numberOfLines = 2; - cell.descriptionLabel.minimumScaleFactor = .5; - cell.descriptionLabel.adjustsFontSizeToFitWidth = cell.detailTextLabel.adjustsLetterSpacingToFitWidth = YES; - cell.descriptionLabel.text = [NSString stringWithFormat:@"%@", product.localizedDescription]; - // LOGE(@"ShopTableView : name = %@ - descr = %@", - // [NSString stringWithFormat:@"%@ (%@)", product.localizedTitle, price], product.localizedDescription); - [cell.linphoneImage setImage:[UIImage imageNamed:@"linphone_logo"]]; - - return cell; -} - -- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - [tableView deselectRowAtIndexPath:indexPath animated:NO]; - - SKProduct *product = LinphoneManager.instance.iapManager.productsAvailable[indexPath.row]; - [LinphoneManager.instance.iapManager purchaseWithID:product.productIdentifier]; -} - -@end diff --git a/Classes/ShopView.h b/Classes/ShopView.h deleted file mode 100644 index 97172bc76..000000000 --- a/Classes/ShopView.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "ShopTableView.h" -#import "UICompositeView.h" - -@interface ShopView : UIViewController - -@property(strong, nonatomic) IBOutlet ShopTableView *tableViewController; -@property(weak, nonatomic) IBOutlet UIView *waitingView; -- (IBAction)onDialerBackClick:(id)sender; - -@end diff --git a/Classes/ShopView.m b/Classes/ShopView.m deleted file mode 100644 index 146d49aee..000000000 --- a/Classes/ShopView.m +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "PhoneMainView.h" -#import "ShopView.h" -#import "LinphoneManager.h" -#import "LinphoneIOSVersion.h" - -@implementation ShopView - -#pragma mark - UICompositeViewDelegate Functions - -static UICompositeViewDescription *compositeDescription = nil; - -+ (UICompositeViewDescription *)compositeViewDescription { - if (compositeDescription == nil) { - compositeDescription = [[UICompositeViewDescription alloc] init:self.class - statusBar:StatusBarView.class - tabBar:nil - sideMenu:SideMenuView.class - fullscreen:false - isLeftFragment:YES - fragmentWith:nil]; - } - return compositeDescription; -} - -- (UICompositeViewDescription *)compositeViewDescription { - return self.class.compositeViewDescription; -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - [_tableViewController.tableView reloadData]; -} - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - [_waitingView setHidden:TRUE]; -} -#pragma mark - Action Functions - -- (IBAction)onDialerBackClick:(id)sender { - [PhoneMainView.instance popToView:DialerView.compositeViewDescription]; -} - -@end diff --git a/Classes/SideMenuTableView.h b/Classes/SideMenuTableView.h deleted file mode 100644 index 2807acd39..000000000 --- a/Classes/SideMenuTableView.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -// the block to execute when an entry tapped -typedef void (^SideMenuEntryBlock)(void); - -@interface SideMenuEntry : NSObject { - @public - UIImage *img; - NSString *title; - SideMenuEntryBlock onTapBlock; -}; -@end - -@interface SideMenuTableView : UITableViewController - -@property(nonatomic, retain) NSMutableArray *sideMenuEntries; - -@end diff --git a/Classes/SideMenuTableView.m b/Classes/SideMenuTableView.m deleted file mode 100644 index 30bc8d0f5..000000000 --- a/Classes/SideMenuTableView.m +++ /dev/null @@ -1,197 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "linphone/core_utils.h" - -#import "SideMenuTableView.h" -#import "Utils.h" - -#import "PhoneMainView.h" -#import "StatusBarView.h" -#import "ShopView.h" -#import "LinphoneManager.h" -#import "RecordingsListView.h" -#import "linphoneapp-Swift.h" - -@implementation SideMenuEntry - -- (id)initWithTitle:(NSString *)atitle image:(UIImage *)image tapBlock:(SideMenuEntryBlock)tapBlock { - if ((self = [super init])) { - img = image; - title = atitle; - onTapBlock = tapBlock; - } - return self; -} - -@end - -@implementation SideMenuTableView - -- (void)viewDidLoad { - [super viewDidLoad]; - - // remove separators between empty items, cf - // http://stackoverflow.com/questions/1633966/can-i-force-a-uitableview-to-hide-the-separator-between-empty-cells - self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero]; -} - -- (void)viewWillAppear:(BOOL)animated { - linphone_core_stop_dtmf_stream(LC); - [super viewWillAppear:animated]; - - _sideMenuEntries = [[NSMutableArray alloc] init]; - - [_sideMenuEntries - addObject:[[SideMenuEntry alloc] initWithTitle:NSLocalizedString(@"Assistant", nil) - image:[UIImage imageNamed:@"menu_assistant.png"] - tapBlock:^() { - [PhoneMainView.instance - changeCurrentView:AssistantView.compositeViewDescription]; - }]]; - BOOL mustLink = ([LinphoneManager.instance lpConfigIntForKey:@"must_link_account_time"] > 0); - - MSList *accounts = [LinphoneManager.instance createAccountsNotHiddenList]; - BOOL hasAccount = accounts != NULL; - bctbx_free(accounts); - if (mustLink && hasAccount && ![LinphoneManager.instance lpConfigIntForKey:@"hide_link_phone_number"]) { - [_sideMenuEntries - addObject:[[SideMenuEntry alloc] initWithTitle:NSLocalizedString(@"Link my account", nil) - image:[UIImage imageNamed:@"menu_link_account.png"] - tapBlock:^() { - [PhoneMainView.instance - changeCurrentView:AssistantLinkView.compositeViewDescription]; - }]]; - } - - - [_sideMenuEntries - addObject:[[SideMenuEntry alloc] initWithTitle:NSLocalizedString(@"Settings", nil) - image:[UIImage imageNamed:@"menu_options.png"] - tapBlock:^() { - [PhoneMainView.instance - changeCurrentView:SettingsView.compositeViewDescription]; - }]]; - [_sideMenuEntries - addObject:[[SideMenuEntry alloc] initWithTitle:NSLocalizedString(@"Recordings", nil) - image:[UIImage imageNamed:@"menu_recordings.png"] - tapBlock:^() { - [PhoneMainView.instance - changeCurrentView:RecordingsListView.compositeViewDescription]; - }]]; - InAppProductsManager *iapm = LinphoneManager.instance.iapManager; - if (iapm.enabled){ - [_sideMenuEntries - addObject:[[SideMenuEntry alloc] initWithTitle:NSLocalizedString(@"Shop", nil) - image:nil - tapBlock:^() { - [PhoneMainView.instance - changeCurrentView:ShopView.compositeViewDescription]; - }]]; - } - - LinphoneAccount *defaultAccount = linphone_core_get_default_account(LC); - if (defaultAccount && linphone_account_params_get_audio_video_conference_factory_address(linphone_account_get_params(defaultAccount))){ - - [_sideMenuEntries addObject:[[SideMenuEntry alloc] initWithTitle:VoipTexts.conference_scheduled - image:[UIImage imageNamed:@"side_menu_voip_meeting_schedule"] - tapBlock:^() { - [PhoneMainView.instance - changeCurrentView:ScheduledConferencesView.compositeViewDescription]; - - }]]; - } - - [_sideMenuEntries addObject:[[SideMenuEntry alloc] initWithTitle:NSLocalizedString(@"About", nil) - image:[UIImage imageNamed:@"menu_about.png"] - tapBlock:^() { - [PhoneMainView.instance - changeCurrentView:AboutView.compositeViewDescription]; - - }]]; -} - -#pragma mark - Table View Controller -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return 2; -} - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - if (section == 0) { - - BOOL hasDefault = (linphone_core_get_default_account(LC) != NULL); - // default account is shown in the header already - MSList *accounts = [LinphoneManager.instance createAccountsNotHiddenList]; - size_t count = bctbx_list_size(accounts); - bctbx_free(accounts); - return MAX(0, (int)count - (hasDefault ? 1 : 0)); - } else { - return [_sideMenuEntries count]; - } -} - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - UITableViewCell *cell = [[UITableViewCell alloc] init]; - - // isLcInitialized called here because this is called when going in bg after LC destroy - if (indexPath.section == 0 && [LinphoneManager isLcInitialized]) { - // do not display default account here, it is already in header view - MSList *accounts = [LinphoneManager.instance createAccountsNotHiddenList]; - int idx = - linphone_core_get_default_account(LC) - ? bctbx_list_index(accounts, linphone_core_get_default_account(LC)) - : HUGE_VAL; - LinphoneAccount *account = bctbx_list_nth_data(accounts, - (int)indexPath.row + (idx <= indexPath.row ? 1 : 0)); - bctbx_free(accounts); - if (account) { - cell.textLabel.text = [NSString stringWithUTF8String:linphone_account_params_get_identity(linphone_account_get_params(account))]; - cell.imageView.image = [StatusBarView imageForState:linphone_account_get_state(account)]; - } else { - LOGE(@"Invalid index requested, no proxy for row %d", indexPath.row); - } - cell.transform = CGAffineTransformMakeScale(-1.0, 1.0); - cell.textLabel.transform = CGAffineTransformMakeScale(-1.0, 1.0); - cell.imageView.transform = CGAffineTransformMakeScale(-1.0, 1.0); - } else { - SideMenuEntry *entry = [_sideMenuEntries objectAtIndex:indexPath.row]; - cell.imageView.image = entry->img; - cell.textLabel.text = entry->title; - } - return cell; -} - -- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - [tableView deselectRowAtIndexPath:indexPath animated:NO]; - - if (indexPath.section == 0) { - [PhoneMainView.instance changeCurrentView:SettingsView.compositeViewDescription]; - } else { - SideMenuEntry *entry = [_sideMenuEntries objectAtIndex:indexPath.row]; - LOGI(@"Entry %@ has been tapped", entry->title); - if (entry->onTapBlock == nil) { - LOGF(@"Entry %@ has no onTapBlock!", entry->title); - } else { - entry->onTapBlock(); - } - } - [PhoneMainView.instance.mainViewController hideSideMenu:YES]; -} - -@end diff --git a/Classes/SideMenuView.h b/Classes/SideMenuView.h deleted file mode 100644 index bb4c8e4bb..000000000 --- a/Classes/SideMenuView.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "SideMenuTableView.h" -#import "PhoneMainView.h" - -@interface SideMenuView : UIViewController - -@property(strong, nonatomic) IBOutlet UISwipeGestureRecognizer *swipeGestureRecognizer; -@property(weak, nonatomic) IBOutlet UIRoundedImageView *avatarImage; -@property(weak, nonatomic) IBOutlet UILabel *nameLabel; -@property(weak, nonatomic) IBOutlet UILabel *addressLabel; -@property(weak, nonatomic) IBOutlet UIImageView *presenceImage; -@property(strong, nonatomic) IBOutlet SideMenuTableView *sideMenuTableViewController; -@property(weak, nonatomic) IBOutlet UIView *grayBackground; -- (IBAction)onLateralSwipe:(id)sender; -- (IBAction)onHeaderClick:(id)sender; -- (IBAction)onAvatarClick:(id)sender; -- (IBAction)onBackgroundClicked:(id)sender; - -@end diff --git a/Classes/SideMenuView.m b/Classes/SideMenuView.m deleted file mode 100644 index debd16b03..000000000 --- a/Classes/SideMenuView.m +++ /dev/null @@ -1,147 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "SideMenuView.h" -#import "LinphoneManager.h" -#import "PhoneMainView.h" - -@implementation SideMenuView - -- (void)viewDidLoad { - [super viewDidLoad]; - -#pragma deploymate push "ignored-api-availability" - if (UIDevice.currentDevice.systemVersion.doubleValue >= 7) { - // it's better to detect only pan from screen edges - UIScreenEdgePanGestureRecognizer *pan = - [[UIScreenEdgePanGestureRecognizer alloc] initWithTarget:self action:@selector(onLateralSwipe:)]; - pan.edges = UIRectEdgeRight; - [self.view addGestureRecognizer:pan]; - _swipeGestureRecognizer.enabled = NO; - } -#pragma deploymate pop -} -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - [_sideMenuTableViewController viewWillAppear:animated]; - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(registrationUpdateEvent:) - name:kLinphoneRegistrationUpdate - object:nil]; - - [self updateHeader]; - [_sideMenuTableViewController.tableView reloadData]; -} - -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; - _grayBackground.hidden = NO; -} - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - _grayBackground.hidden = YES; - // should be better than that with alpha animation.. -} - -- (void)updateHeader { - LinphoneAccount *default_account = linphone_core_get_default_account(LC); - - if (default_account != NULL) { - const LinphoneAddress *addr = linphone_account_params_get_identity_address(linphone_account_get_params(default_account)); - [ContactDisplay setDisplayNameLabel:_nameLabel forAddress:addr]; - char *str = addr ? linphone_address_as_string(addr) : nil; - _addressLabel.text = str ? [NSString stringWithUTF8String:str] : NSLocalizedString(@"No address", nil); - if (str) ms_free(str); - } else { - MSList *accounts = [LinphoneManager.instance createAccountsNotHiddenList]; - _nameLabel.text = accounts ? NSLocalizedString(@"No default account", nil) : NSLocalizedString(@"No account", nil); - bctbx_free(accounts); - // display direct IP:port address so that we can be reached - LinphoneAddress *addr = linphone_core_get_primary_contact_parsed(LC); - if (addr) { - char *as_string = linphone_address_as_string(addr); - _addressLabel.text = [NSString stringWithFormat:@"%s", as_string]; - ms_free(as_string); - linphone_address_unref(addr); - } else { - _addressLabel.text = NSLocalizedString(@"No address", nil); - } - _presenceImage.image = nil; - } - _avatarImage.image = [LinphoneUtils selfAvatar]; -} - -#pragma deploymate push "ignored-api-availability" -- (void)onLateralSwipe:(UIScreenEdgePanGestureRecognizer *)pan { - [PhoneMainView.instance.mainViewController hideSideMenu:YES]; -} -#pragma deploymate pop - -- (IBAction)onHeaderClick:(id)sender { - [PhoneMainView.instance changeCurrentView:SettingsView.compositeViewDescription]; - [PhoneMainView.instance.mainViewController hideSideMenu:YES]; -} - -- (IBAction)onAvatarClick:(id)sender { - // hide ourself because we are on top of image picker - if (!IPAD) { - [PhoneMainView.instance.mainViewController hideSideMenu:YES]; - } - [ImagePickerView SelectImageFromDevice:self atPosition:_avatarImage inView:self.view withDocumentMenuDelegate:nil]; -} - -- (IBAction)onBackgroundClicked:(id)sender { - [PhoneMainView.instance.mainViewController hideSideMenu:YES]; -} - -- (void)registrationUpdateEvent:(NSNotification *)notif { - [self updateHeader]; - [_sideMenuTableViewController.tableView reloadData]; -} - -#pragma mark - Image picker delegate - -- (void)imagePickerDelegateImage:(UIImage *)image info:(NSString *)phAssetId { - // When getting image from the camera, it may be 90° rotated due to orientation - // (image.imageOrientation = UIImageOrientationRight). Just rotate it to be face up. - if (image.imageOrientation != UIImageOrientationUp) { - UIGraphicsBeginImageContextWithOptions(image.size, false, image.scale); - [image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)]; - image = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - } - - [LinphoneManager.instance lpConfigSetString:phAssetId forKey:@"avatar"]; - _avatarImage.image = [LinphoneUtils selfAvatar]; - [LinphoneManager.instance loadAvatar]; - - // Dismiss popover on iPad - if (IPAD) { - [VIEW(ImagePickerView).popoverController dismissPopoverAnimated:TRUE]; - } else { - [PhoneMainView.instance.mainViewController hideSideMenu:NO]; - } -} - -- (void)imagePickerDelegateVideo:(NSURL*)url info:(NSDictionary *)info { - return; // Avatar video not supported (yet ;) ) -} - -@end diff --git a/Classes/Swift/AppManager.swift b/Classes/Swift/AppManager.swift deleted file mode 100644 index b546b05ef..000000000 --- a/Classes/Swift/AppManager.swift +++ /dev/null @@ -1,79 +0,0 @@ -/* -* Copyright (c) 2010-2020 Belledonne Communications SARL. -* -* This file is part of linphone-iphone -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see . -*/ - -import Foundation -import CoreTelephony - -enum NetworkType: Int { - case network_none = 0 - case network_2g = 1 - case network_3g = 2 - case network_4g = 3 - case network_lte = 4 - case network_wifi = 5 -} - -/* -* AppManager is a class that includes some useful functions. -*/ -@objc class AppManager: NSObject { - static func network() -> NetworkType { - let info = CTTelephonyNetworkInfo() - let currentRadio = info.currentRadioAccessTechnology - if (currentRadio == CTRadioAccessTechnologyEdge) { - return NetworkType.network_2g - } else if (currentRadio == CTRadioAccessTechnologyLTE) { - return NetworkType.network_4g - } - return NetworkType.network_3g - } - - @objc static func recordingFilePathFromCall(address: String) -> String { - var filePath = "recording_" - filePath = filePath.appending(address.isEmpty ? "unknow" : address) - let now = Date() - let dateFormat = DateFormatter() - dateFormat.dateFormat = "E-d-MMM-yyyy-HH-mm-ss" - let date = dateFormat.string(from: now) - - filePath = filePath.appending("_\(date).mkv") - - let paths = NSSearchPathForDirectoriesInDomains(.cachesDirectory, .userDomainMask, true) - var writablePath = paths[0] - writablePath = writablePath.appending("/\(filePath)") - let message:String = "file path is \(writablePath)" - Log.directLog(BCTBX_LOG_MESSAGE, text: message) - return writablePath - //file name is recording_contact-name_dayName-day-monthName-year-hour-minutes-seconds - //The recording prefix is used to identify recordings in the cache directory. - //We will use name_dayName-day-monthName-year to separate recordings by days, then hour-minutes-seconds to order them in each day. - } - - @objc static func removeFile(file: String) { - let fileManager = FileManager.default - do { - try fileManager.removeItem(atPath: file) - Log.directLog(BCTBX_LOG_MESSAGE, text: "File :\(file) removed") - - } catch { - Log.e("Could not remove file : \(file) \(error)") - } - } - -} diff --git a/Classes/Swift/CallManager.swift b/Classes/Swift/CallManager.swift deleted file mode 100644 index 0a9398b6e..000000000 --- a/Classes/Swift/CallManager.swift +++ /dev/null @@ -1,833 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import linphonesw -import UserNotifications -import os -import CallKit -import AVFoundation - -@objc class CallAppData: NSObject { - @objc var batteryWarningShown = false - @objc var videoRequested = false /*set when user has requested for video*/ - @objc var isConference = false - -} - -/* - * CallManager is a class that manages application calls and supports callkit. - * There is only one CallManager by calling CallManager.instance(). - */ -@objc class CallManager: NSObject, CoreDelegate { - static var theCallManager: CallManager? - let providerDelegate: ProviderDelegate! // to support callkit - let callController: CXCallController! // to support callkit - var lc: Core? - @objc var speakerBeforePause : Bool = false - @objc var nextCallIsTransfer: Bool = false - var referedFromCall: String? - var referedToCall: String? - var endCallkit: Bool = false - var globalState : GlobalState = .Off - var actionsToPerformOnceWhenCoreIsOn : [(()->Void)] = [] - var conference: Conference? - var callkitAudioSessionActivated : Bool? = nil // if "nil", ignore. - var actionToFulFill : CXCallAction? = nil - var endCallKitReplacedCall: Bool = true - static var uuidReplacedCall: String? - - var backgroundContextCall : Call? - @objc var backgroundContextCameraIsEnabled : Bool = false - - fileprivate override init() { - providerDelegate = ProviderDelegate.shared - callController = CXCallController() - } - - @objc static func instance() -> CallManager { - if (theCallManager == nil) { - theCallManager = CallManager() - } - return theCallManager! - } - - - @objc func setCore(core: OpaquePointer) { - lc = Core.getSwiftObject(cObject: core) - lc?.addDelegate(delegate: self) - } - - @objc static func getAppData(call: OpaquePointer) -> CallAppData? { - let sCall = Call.getSwiftObject(cObject: call) - return getAppData(sCall: sCall) - } - - static func getAppData(sCall:Call) -> CallAppData? { - if (sCall.userData == nil) { - return nil - } - return Unmanaged.fromOpaque(sCall.userData!).takeUnretainedValue() - } - - @objc static func setAppData(call:OpaquePointer, appData: CallAppData) { - let sCall = Call.getSwiftObject(cObject: call) - setAppData(sCall: sCall, appData: appData) - } - - static func setAppData(sCall:Call, appData:CallAppData?) { - if (sCall.userData != nil) { - Unmanaged.fromOpaque(sCall.userData!).release() - } - if (appData == nil) { - sCall.userData = nil - } else { - sCall.userData = UnsafeMutableRawPointer(Unmanaged.passRetained(appData!).toOpaque()) - } - } - - @objc func findCall(callId: String?) -> OpaquePointer? { - let call = callByCallId(callId: callId) - return call?.getCobject - } - - func callByCallId(callId: String?) -> Call? { - if (callId == nil) { - return nil - } - let calls = lc?.calls - if let callTmp = calls?.first(where: { $0.callLog?.callId == callId }) { - return callTmp - } - return nil - } - - @objc func stopLinphoneCore() { - if (lc?.callsNb == 0) { - lc?.stopAsync() - } - } - - @objc func getBackgroundContextCall() -> OpaquePointer? { - return backgroundContextCall?.getCobject - } - @objc func setBackgroundContextCall(call: OpaquePointer?) { - if (call == nil) { - backgroundContextCall = nil - } else { - backgroundContextCall = Call.getSwiftObject(cObject: call!) - } - } - - @objc static func callKitEnabled() -> Bool { -#if !targetEnvironment(simulator) - if ConfigManager.instance().lpConfigBoolForKey(key: "use_callkit", section: "app") { - return true - } -#endif - return false - } - - @objc func changeRouteToSpeaker() { - lc?.outputAudioDevice = lc?.audioDevices.first { $0.type == AudioDevice.Kind.Speaker } - UIDevice.current.isProximityMonitoringEnabled = false - } - - @objc func changeRouteToBluetooth() { - lc?.outputAudioDevice = lc?.audioDevices.first { $0.type == AudioDevice.Kind.BluetoothA2DP || $0.type == AudioDevice.Kind.Bluetooth } - UIDevice.current.isProximityMonitoringEnabled = (lc!.callsNb > 0) - } - - @objc func changeRouteToDefault() { - lc?.outputAudioDevice = lc?.defaultOutputAudioDevice - } - - @objc func isBluetoothAvailable() -> Bool { - for device in lc!.audioDevices { - if (device.type == AudioDevice.Kind.Bluetooth || device.type == AudioDevice.Kind.BluetoothA2DP) { - return true; - } - } - return false; - } - - @objc func isSpeakerEnabled() -> Bool { - if let outputDevice = lc!.outputAudioDevice { - return outputDevice.type == AudioDevice.Kind.Speaker - } - return false - } - - @objc func isBluetoothEnabled() -> Bool { - if let outputDevice = lc!.outputAudioDevice { - return (outputDevice.type == AudioDevice.Kind.Bluetooth || outputDevice.type == AudioDevice.Kind.BluetoothA2DP) - } - return false - } - - @objc func isReceiverEnabled() -> Bool { - if let outputDevice = lc!.outputAudioDevice { - return outputDevice.type == AudioDevice.Kind.Microphone - } - return false - } - - - func requestTransaction(_ transaction: CXTransaction, action: String) { - callController.request(transaction) { error in - if let error = error { - Log.directLog(BCTBX_LOG_ERROR, text: "CallKit: Requested transaction \(action) failed because: \(error)") - } else { - Log.directLog(BCTBX_LOG_MESSAGE, text: "CallKit: Requested transaction \(action) successfully") - } - } - } - - @objc func updateCallId(previous: String, current: String) { - let uuid = CallManager.instance().providerDelegate.uuids["\(previous)"] - if (uuid != nil) { - CallManager.instance().providerDelegate.uuids.removeValue(forKey: previous) - CallManager.instance().providerDelegate.uuids.updateValue(uuid!, forKey: current) - let callInfo = providerDelegate.callInfos[uuid!] - if (callInfo != nil) { - callInfo!.callId = current - providerDelegate.callInfos.updateValue(callInfo!, forKey: uuid!) - } - } - } - - func displayIncomingCall(call:Call?, handle: String, hasVideo: Bool, callId: String, displayName:String) { - let uuid = UUID() - let callInfo = CallInfo.newIncomingCallInfo(callId: callId) - - providerDelegate.callInfos.updateValue(callInfo, forKey: uuid) - providerDelegate.uuids.updateValue(uuid, forKey: callId) - providerDelegate.reportIncomingCall(call:call, uuid: uuid, handle: handle, hasVideo: hasVideo, displayName: displayName) - - } - - @objc func acceptCall(call: OpaquePointer?, hasVideo:Bool) { - if (call == nil) { - Log.directLog(BCTBX_LOG_ERROR, text: "Can not accept null call!") - return - } - let call = Call.getSwiftObject(cObject: call!) - acceptCall(call: call, hasVideo: hasVideo) - } - - func acceptCall(call: Call, hasVideo:Bool) { - do { - let callParams = try lc!.createCallParams(call: call) - callParams.videoEnabled = hasVideo - if (ConfigManager.instance().lpConfigBoolForKey(key: "edge_opt_preference")) { - let low_bandwidth = (AppManager.network() == .network_2g) - if (low_bandwidth) { - Log.directLog(BCTBX_LOG_MESSAGE, text: "Low bandwidth mode") - } - callParams.lowBandwidthEnabled = low_bandwidth - } - - //We set the record file name here because we can't do it after the call is started. - let address = call.callLog?.fromAddress - let writablePath = AppManager.recordingFilePathFromCall(address: address?.username ?? "") - Log.directLog(BCTBX_LOG_MESSAGE, text: "Record file path: \(String(describing: writablePath))") - callParams.recordFile = writablePath - - - if let chatView : ChatConversationView = PhoneMainView.instance().VIEW(ChatConversationView.compositeViewDescription()), chatView.isVoiceRecording { - Log.directLog(BCTBX_LOG_MESSAGE, text: "Voice recording in progress, stopping it befoce accepting the call.") - chatView.stopVoiceRecording() - } - - if (call.callLog?.wasConference() == true) { - // Prevent incoming group call to start in audio only layout - // Do the same as the conference waiting room - callParams.videoEnabled = true - callParams.videoDirection = Core.get().videoActivationPolicy?.automaticallyInitiate == true ? .SendRecv : .RecvOnly - Log.i("[Context] Enabling video on call params to prevent audio-only layout when answering") - } - - try call.acceptWithParams(params: callParams) - } catch { - Log.directLog(BCTBX_LOG_ERROR, text: "accept call failed \(error)") - } - } - - // for outgoing call. There is not yet callId - @objc func startCall(addr: OpaquePointer?, isSas: Bool, isVideo: Bool, isConference: Bool = false) { - if (addr == nil) { - Log.i("Can not start a call with null address!") - return - } - - let sAddr = Address.getSwiftObject(cObject: addr!) - if (CallManager.callKitEnabled() && !CallManager.instance().nextCallIsTransfer && lc?.conference?.isIn != true) { - let uuid = UUID() - let name = FastAddressBook.displayName(for: addr) ?? "unknow" - let handle = CXHandle(type: .generic, value: sAddr.asStringUriOnly()) - let startCallAction = CXStartCallAction(call: uuid, handle: handle) - let transaction = CXTransaction(action: startCallAction) - - let callInfo = CallInfo.newOutgoingCallInfo(addr: sAddr, isSas: isSas, displayName: name, isVideo: isVideo, isConference:isConference) - providerDelegate.callInfos.updateValue(callInfo, forKey: uuid) - providerDelegate.uuids.updateValue(uuid, forKey: "") - - setHeldOtherCalls(exceptCallid: "") - requestTransaction(transaction, action: "startCall") - }else { - try? doCall(addr: sAddr, isSas: isSas, isVideo:isVideo, isConference:isConference) - } - } - - func startCall(addr:String, isSas: Bool = false, isVideo: Bool, isConference: Bool = false) { - do { - let address = try Factory.Instance.createAddress(addr: addr) - startCall(addr: address.getCobject,isSas: isSas, isVideo: isVideo, isConference:isConference) - } catch { - Log.e("[CallManager] unable to create address for a new outgoing call : \(addr) \(error) ") - } - } - - func doCall(addr: Address, isSas: Bool, isVideo: Bool, isConference:Bool = false) throws { - let displayName = FastAddressBook.displayName(for: addr.getCobject) - - let lcallParams = try CallManager.instance().lc!.createCallParams(call: nil) - if ConfigManager.instance().lpConfigBoolForKey(key: "edge_opt_preference") && AppManager.network() == .network_2g { - Log.directLog(BCTBX_LOG_MESSAGE, text: "Enabling low bandwidth mode") - lcallParams.lowBandwidthEnabled = true - } - - if (displayName != nil) { - try addr.setDisplayname(newValue: displayName!) - } - - if(ConfigManager.instance().lpConfigBoolForKey(key: "override_domain_with_default_one")) { - try addr.setDomain(newValue: ConfigManager.instance().lpConfigStringForKey(key: "domain", section: "assistant")) - } - - if (CallManager.instance().nextCallIsTransfer) { - let call = CallManager.instance().lc!.currentCall - try call?.transferTo(referTo: addr) - CallManager.instance().nextCallIsTransfer = false - } else { - //We set the record file name here because we can't do it after the call is started. - let writablePath = AppManager.recordingFilePathFromCall(address: addr.username! ) - Log.directLog(BCTBX_LOG_DEBUG, text: "record file path: \(writablePath)") - lcallParams.recordFile = writablePath - if (isSas) { - lcallParams.mediaEncryption = .ZRTP - } - if (isConference) { - if (ConferenceWaitingRoomViewModel.sharedModel.joinLayout.value! != .AudioOnly) { - lcallParams.videoEnabled = true - lcallParams.videoDirection = ConferenceWaitingRoomViewModel.sharedModel.isVideoEnabled.value == true ? .SendRecv : .RecvOnly - lcallParams.conferenceVideoLayout = ConferenceWaitingRoomViewModel.sharedModel.joinLayout.value! == .Grid ? .Grid : .ActiveSpeaker - } else { - lcallParams.videoEnabled = false - } - } else { - lcallParams.videoEnabled = isVideo - } - - let call = CallManager.instance().lc!.inviteAddressWithParams(addr: addr, params: lcallParams) - if (call != nil) { - // The LinphoneCallAppData object should be set on call creation with callback - // - (void)onCall:StateChanged:withMessage:. If not, we are in big trouble and expect it to crash - // We are NOT responsible for creating the AppData. - let data = CallManager.getAppData(sCall: call!) - if (data == nil) { - Log.directLog(BCTBX_LOG_ERROR, text: "New call instanciated but app data was not set. Expect it to crash.") - /* will be used later to notify user if video was not activated because of the linphone core*/ - } else { - data!.isConference = isConference - data!.videoRequested = lcallParams.videoEnabled - CallManager.setAppData(sCall: call!, appData: data) - } - } - } - } - - @objc func groupCall() { - if (CallManager.callKitEnabled()) { - let calls = lc?.calls - if (calls == nil || calls!.isEmpty) { - return - } - let firstCall = calls!.first?.callLog?.callId ?? "" - let lastCall = (calls!.count > 1) ? calls!.last?.callLog?.callId ?? "" : "" - - let currentUuid = CallManager.instance().providerDelegate.uuids["\(firstCall)"] - if (currentUuid == nil) { - Log.directLog(BCTBX_LOG_ERROR, text: "Can not find correspondant call to group.") - return - } - - let newUuid = CallManager.instance().providerDelegate.uuids["\(lastCall)"] - let groupAction = CXSetGroupCallAction(call: currentUuid!, callUUIDToGroupWith: newUuid) - let transcation = CXTransaction(action: groupAction) - requestTransaction(transcation, action: "groupCall") - - setResumeCalls() - } else { - try? lc?.addAllToConference() - } - } - - @objc func removeAllCallInfos() { - providerDelegate.callInfos.removeAll() - providerDelegate.uuids.removeAll() - } - - @objc func terminateCall(call: OpaquePointer?) { - if (call == nil) { - Log.directLog(BCTBX_LOG_ERROR, text: "Can not terminate null call!") - return - } - let call = Call.getSwiftObject(cObject: call!) - do { - try call.terminate() - Log.directLog(BCTBX_LOG_DEBUG, text: "Call terminated") - } catch { - Log.directLog(BCTBX_LOG_ERROR, text: "Failed to terminate call failed because \(error)") - } - } - - @objc func markCallAsDeclined(callId: String) { - if !CallManager.callKitEnabled() { - return - } - - let uuid = providerDelegate.uuids["\(callId)"] - if (uuid == nil) { - Log.directLog(BCTBX_LOG_MESSAGE, text: "Mark call \(callId) as declined.") - let uuid = UUID() - providerDelegate.uuids.updateValue(uuid, forKey: callId) - let callInfo = CallInfo.newIncomingCallInfo(callId: callId) - callInfo.reason = Reason.Busy - providerDelegate.callInfos.updateValue(callInfo, forKey: uuid) - } else { - // end call - providerDelegate.endCall(uuid: uuid!) - } - } - - @objc func setHeld(call: OpaquePointer, hold: Bool) { - let sCall = Call.getSwiftObject(cObject: call) - if (!hold) { - setHeldOtherCalls(exceptCallid: sCall.callLog?.callId ?? "") - } - setHeld(call: sCall, hold: hold) - } - - func setHeld(call: Call, hold: Bool) { - -#if targetEnvironment(simulator) - if (hold) { - try?call.pause() - } else { - try?call.resume() - } -#else - let callid = call.callLog?.callId ?? "" - let uuid = providerDelegate.uuids["\(callid)"] - if (uuid == nil) { - Log.directLog(BCTBX_LOG_ERROR, text: "Can not find correspondant call to set held.") - return - } - let setHeldAction = CXSetHeldCallAction(call: uuid!, onHold: hold) - let transaction = CXTransaction(action: setHeldAction) - requestTransaction(transaction, action: "setHeld") -#endif - } - - @objc func setHeldOtherCalls(exceptCallid: String) { - for call in CallManager.instance().lc!.calls { - if (call.callLog?.callId != exceptCallid && call.state != .Paused && call.state != .Pausing && call.state != .PausedByRemote) { - setHeld(call: call, hold: true) - } - } - } - - func setResumeCalls() { - for call in CallManager.instance().lc!.calls { - if (call.state == .Paused || call.state == .Pausing || call.state == .PausedByRemote) { - setHeld(call: call, hold: false) - } - } - } - - @objc func performActionWhenCoreIsOn(action: @escaping ()->Void ) { - if (globalState == .On) { - action() - } else { - actionsToPerformOnceWhenCoreIsOn.append(action) - } - } - - @objc func acceptVideo(call: OpaquePointer, confirm: Bool) { - let sCall = Call.getSwiftObject(cObject: call) - let params = try? lc?.createCallParams(call: sCall) - params?.videoEnabled = confirm - try? sCall.acceptUpdate(params: params) - } - - func onGlobalStateChanged(core: Core, state: GlobalState, message: String) { - if (state == .On) { - actionsToPerformOnceWhenCoreIsOn.forEach { - $0() - } - actionsToPerformOnceWhenCoreIsOn.removeAll() - } - globalState = state - } - - func onRegistrationStateChanged(core: Core, proxyConfig: ProxyConfig, state: RegistrationState, message: String) { - if core.proxyConfigList.count == 1 && (state == .Failed || state == .Cleared){ - // terminate callkit immediately when registration failed or cleared, supporting single proxy configuration - for call in CallManager.instance().providerDelegate.uuids { - let callId = CallManager.instance().providerDelegate.callInfos[call.value]?.callId - if (callId != nil) { - let call = CallManager.instance().lc?.getCallByCallid(callId: callId!) - if (call != nil && call?.state != .PushIncomingReceived) { - // sometimes (for example) due to network, registration failed, in this case, keep the call - continue - } - } - - CallManager.instance().providerDelegate.endCall(uuid: call.value) - } - CallManager.instance().endCallkit = true - } else { - CallManager.instance().endCallkit = false - } - } - - func isConferenceCall(call:Call) -> Bool { - let remoteAddress = call.remoteAddress?.asStringUriOnly() - return remoteAddress?.contains("focus") == true || remoteAddress?.contains("audiovideo") == true - } - - func incomingDisplayName(call:Call) -> String { - let isConference = isConferenceCall(call: call) - let isEarlyConference = isConference && CallsViewModel.shared.currentCallData.value??.isConferenceCall.value != true // Conference info not be received yet. - if (isConference) { - if (isEarlyConference) { - return VoipTexts.conference_incoming_title - } else { - return "\(VoipTexts.conference_incoming_title): \(CallsViewModel.shared.currentCallData.value??.remoteConferenceSubject.value ?? "") (\(CallsViewModel.shared.currentCallData.value??.conferenceParticipantsCountLabel.value ?? ""))" - } - } else { - return FastAddressBook.displayName(for: call.remoteAddress?.getCobject) ?? "Unknown" - } - } - - func onCallStateChanged(core: Core, call: Call, state cstate: Call.State, message: String) { - let callLog = call.callLog - let callId = callLog?.callId ?? "" - if (cstate == .PushIncomingReceived) { - displayIncomingCall(call: call, handle: "Calling", hasVideo: false, callId: callId, displayName: "Calling") - } else { - let video = (core.videoActivationPolicy?.automaticallyAccept ?? false) && (call.remoteParams?.videoEnabled ?? false) - - if (call.userData == nil) { - let appData = CallAppData() - CallManager.setAppData(sCall: call, appData: appData) - } - - if let conference = call.conference, ConferenceViewModel.shared.conference.value == nil { - Log.i("[Call] Found conference attached to call and no conference in dedicated view model, init & configure it") - ConferenceViewModel.shared.initConference(conference) - ConferenceViewModel.shared.configureConference(conference) - } - - switch cstate { - case .IncomingReceived: - let addr = call.remoteAddress - var displayName = incomingDisplayName(call: call) - - if call.replacedCall != nil { - endCallKitReplacedCall = false - - let uuid = CallManager.instance().providerDelegate.uuids["\(CallManager.uuidReplacedCall ?? "")"] - let callInfo = CallManager.instance().providerDelegate.callInfos[uuid!] - callInfo!.callId = CallManager.instance().referedToCall ?? "" - if (callInfo != nil && uuid != nil && addr != nil) { - CallManager.instance().providerDelegate.callInfos.updateValue(callInfo!, forKey: uuid!) - CallManager.instance().providerDelegate.uuids.removeValue(forKey: callId) - CallManager.instance().providerDelegate.uuids.updateValue(uuid!, forKey: callInfo!.callId) - CallManager.instance().providerDelegate.updateCall(uuid: uuid!, handle: addr!.asStringUriOnly(), hasVideo: video, displayName: displayName) - } - } else if (CallManager.callKitEnabled()) { - let isConference = isConferenceCall(call: call) - let isEarlyConference = isConference && CallsViewModel.shared.currentCallData.value??.isConferenceCall.value != true // Conference info not be received yet. - if (isEarlyConference) { - CallsViewModel.shared.currentCallData.readCurrentAndObserve { _ in - let uuid = CallManager.instance().providerDelegate.uuids["\(callId)"] - if (uuid != nil) { - displayName = "\(VoipTexts.conference_incoming_title): \(CallsViewModel.shared.currentCallData.value??.remoteConferenceSubject.value ?? "") (\(CallsViewModel.shared.currentCallData.value??.conferenceParticipantsCountLabel.value ?? ""))" - CallManager.instance().providerDelegate.updateCall(uuid: uuid!, handle: addr!.asStringUriOnly(), hasVideo: video, displayName: displayName) - } - } - } - - let uuid = CallManager.instance().providerDelegate.uuids["\(callId)"] - if call.replacedCall == nil { - CallManager.uuidReplacedCall = callId - } - - if (uuid != nil) { - // Tha app is now registered, updated the call already existed. - CallManager.instance().providerDelegate.updateCall(uuid: uuid!, handle: addr!.asStringUriOnly(), hasVideo: video, displayName: displayName) - } else { - CallManager.instance().displayIncomingCall(call: call, handle: addr!.asStringUriOnly(), hasVideo: video, callId: callId, displayName: displayName) - } - } else if (UIApplication.shared.applicationState != .active) { - // not support callkit , use notif - let content = UNMutableNotificationContent() - content.title = NSLocalizedString("Incoming call", comment: "") - content.body = displayName - content.sound = UNNotificationSound.init(named: UNNotificationSoundName.init("notes_of_the_optimistic.caf")) - content.categoryIdentifier = "call_cat" - content.userInfo = ["CallId" : callId] - let req = UNNotificationRequest.init(identifier: "call_request", content: content, trigger: nil) - UNUserNotificationCenter.current().add(req, withCompletionHandler: nil) - } - break - case .StreamsRunning: - if (CallManager.callKitEnabled()) { - let uuid = CallManager.instance().providerDelegate.uuids["\(callId)"] - if (uuid != nil) { - let callInfo = CallManager.instance().providerDelegate.callInfos[uuid!] - if (callInfo != nil && callInfo!.isOutgoing && !callInfo!.connected) { - Log.directLog(BCTBX_LOG_MESSAGE, text: "CallKit: outgoing call connected with uuid \(uuid!) and callId \(callId)") - CallManager.instance().providerDelegate.reportOutgoingCallConnected(uuid: uuid!) - callInfo!.connected = true - CallManager.instance().providerDelegate.callInfos.updateValue(callInfo!, forKey: uuid!) - } - } - } - - if (CallManager.instance().speakerBeforePause) { - CallManager.instance().speakerBeforePause = false - CallManager.instance().changeRouteToSpeaker() - } - actionToFulFill?.fulfill() - actionToFulFill = nil - break - case .Paused: - actionToFulFill?.fulfill() - actionToFulFill = nil - break - case .OutgoingInit, - .OutgoingProgress, - .OutgoingRinging, - .OutgoingEarlyMedia: - if (CallManager.callKitEnabled()) { - let uuid = CallManager.instance().providerDelegate.uuids[""] - if (uuid != nil && callId != nil) { - let callInfo = CallManager.instance().providerDelegate.callInfos[uuid!] - callInfo!.callId = callId - CallManager.instance().providerDelegate.callInfos.updateValue(callInfo!, forKey: uuid!) - CallManager.instance().providerDelegate.uuids.removeValue(forKey: "") - CallManager.instance().providerDelegate.uuids.updateValue(uuid!, forKey: callId) - - Log.directLog(BCTBX_LOG_MESSAGE, text: "CallKit: outgoing call started connecting with uuid \(uuid!) and callId \(callId)") - CallManager.instance().providerDelegate.reportOutgoingCallStartedConnecting(uuid: uuid!) - } else { - if CallManager.instance().isConferenceCall(call: call) { - let uuid = UUID() - let callInfo = CallInfo.newOutgoingCallInfo(addr: call.remoteAddress!, isSas: call.params?.mediaEncryption == .ZRTP, displayName: VoipTexts.conference_default_title, isVideo: call.params?.videoEnabled == true, isConference:true) - CallManager.instance().providerDelegate.callInfos.updateValue(callInfo, forKey: uuid) - CallManager.instance().providerDelegate.uuids.updateValue(uuid, forKey: "") - CallManager.instance().providerDelegate.reportOutgoingCallStartedConnecting(uuid: uuid) - Core.get().activateAudioSession(actived: true) - } else { - CallManager.instance().referedToCall = callId - } - } - } - break - case .End, - .Error: - var displayName = "Unknown" - if (call.dir == .Incoming) { - displayName = incomingDisplayName(call: call) - } else if let addr = call.remoteAddress, let contactName = FastAddressBook.displayName(for: addr.getCobject) { - displayName = contactName - } - - UIDevice.current.isProximityMonitoringEnabled = false - if (CallManager.instance().lc!.callsNb == 0) { - CallManager.instance().changeRouteToDefault() - // disable this because I don't find anygood reason for it: _bluetoothAvailable = FALSE; - // furthermore it introduces a bug when calling multiple times since route may not be - // reconfigured between cause leading to bluetooth being disabled while it should not - //CallManager.instance().bluetoothEnabled = false - } - - if UIApplication.shared.applicationState != .active && (callLog == nil || callLog?.status == .Missed || callLog?.status == .Aborted || callLog?.status == .EarlyAborted) { - // Configure the notification's payload. - let content = UNMutableNotificationContent() - content.title = NSString.localizedUserNotificationString(forKey: NSLocalizedString("Missed call", comment: ""), arguments: nil) - content.body = NSString.localizedUserNotificationString(forKey: displayName, arguments: nil) - content.userInfo = ["missed_call" : true] - // Deliver the notification. - let request = UNNotificationRequest(identifier: "call_request", content: content, trigger: nil) // Schedule the notification. - let center = UNUserNotificationCenter.current() - center.add(request) { (error : Error?) in - if error != nil { - Log.directLog(BCTBX_LOG_ERROR, text: "Error while adding notification request : \(error!.localizedDescription)") - } - } - } - - if (CallManager.callKitEnabled()) { - var uuid = CallManager.instance().providerDelegate.uuids["\(callId)"] - if (callId == CallManager.instance().referedToCall) { - // refered call ended before connecting - Log.directLog(BCTBX_LOG_MESSAGE, text: "Callkit: end refered to call : \(String(describing: CallManager.instance().referedToCall))") - CallManager.instance().referedFromCall = nil - CallManager.instance().referedToCall = nil - } - if uuid == nil { - // the call not yet connected - uuid = CallManager.instance().providerDelegate.uuids[""] - } - if (uuid != nil) { - if (callId == CallManager.instance().referedFromCall) { - Log.directLog(BCTBX_LOG_MESSAGE, text: "Callkit: end refered from call : \(String(describing: CallManager.instance().referedFromCall))") - CallManager.instance().referedFromCall = nil - let callInfo = CallManager.instance().providerDelegate.callInfos[uuid!] - callInfo!.callId = CallManager.instance().referedToCall ?? "" - CallManager.instance().providerDelegate.callInfos.updateValue(callInfo!, forKey: uuid!) - CallManager.instance().providerDelegate.uuids.removeValue(forKey: callId) - CallManager.instance().providerDelegate.uuids.updateValue(uuid!, forKey: callInfo!.callId) - CallManager.instance().referedToCall = nil - break - } - if (endCallKitReplacedCall){ - let transaction = CXTransaction(action: - CXEndCallAction(call: uuid!)) - CallManager.instance().requestTransaction(transaction, action: "endCall") - }else{ - endCallKitReplacedCall = true - } - - } - } - break - case .Released: - CallManager.setAppData(sCall : call, appData : nil); - break - case .Referred: - CallManager.instance().referedFromCall = call.callLog?.callId - break - default: - break - } - - let readyForRoutechange = CallManager.instance().callkitAudioSessionActivated == nil || (CallManager.instance().callkitAudioSessionActivated == true) - if (readyForRoutechange && (cstate == .IncomingReceived || cstate == .OutgoingInit || cstate == .Connected || cstate == .StreamsRunning)) { - if ((call.currentParams?.videoEnabled ?? false) && CallManager.instance().isReceiverEnabled() && call.conference == nil) { - CallManager.instance().changeRouteToSpeaker() - } else if (isBluetoothAvailable()) { - // Use bluetooth device by default if one is available - CallManager.instance().changeRouteToBluetooth() - } - } - } - // post Notification kLinphoneCallUpdate - NotificationCenter.default.post(name: Notification.Name("LinphoneCallUpdate"), object: self, userInfo: [ - AnyHashable("call"): NSValue.init(pointer:UnsafeRawPointer(call.getCobject)), - AnyHashable("state"): NSNumber(value: cstate.rawValue), - AnyHashable("message"): message - ]) - } - - // Audio messages - - @objc func activateAudioSession() { - lc?.activateAudioSession(actived: true) - } - - @objc func getSpeakerSoundCard() -> String? { - var speakerCard: String? = nil - var earpieceCard: String? = nil - lc?.audioDevices.forEach { device in - if (device.hasCapability(capability: .CapabilityPlay)) { - if (device.type == .Speaker) { - speakerCard = device.id - } else if (device.type == .Earpiece) { - earpieceCard = device.id - } - } - } - return speakerCard != nil ? speakerCard : earpieceCard - } - - // Local Conference - - @objc func startLocalConference() { - if (CallManager.callKitEnabled()) { - let calls = lc?.calls - if (calls == nil || calls!.isEmpty) { - return - } - let firstCall = calls!.first?.callLog?.callId ?? "" - let lastCall = (calls!.count > 1) ? calls!.last?.callLog?.callId ?? "" : "" - - let currentUuid = CallManager.instance().providerDelegate.uuids["\(firstCall)"] - if (currentUuid == nil) { - Log.directLog(BCTBX_LOG_ERROR, text: "Can not find correspondant call to group.") - return - } - - let newUuid = CallManager.instance().providerDelegate.uuids["\(lastCall)"] - let groupAction = CXSetGroupCallAction(call: currentUuid!, callUUIDToGroupWith: newUuid) - let transcation = CXTransaction(action: groupAction) - requestTransaction(transcation, action: "groupCall") - - setResumeCalls() - } else { - addAllToLocalConference() - } - } - - func addAllToLocalConference() { - do { - if let core = lc, let params = try? core.createConferenceParams(conference: nil) { - params.videoEnabled = false // We disable video for local conferencing (cf Android) - params.subject = VoipTexts.conference_local_title - let conference = core.conference != nil ? core.conference : try core.createConferenceWithParams(params: params) - try conference?.addParticipants(calls: core.calls) - } - } catch { - Log.directLog(BCTBX_LOG_ERROR, text: "accept call failed \(error)") - } - } - - @objc func applyInternationalPrefix() -> Bool { - if let account = lc?.defaultAccount, let params = account.params { - return params.useInternationalPrefixForCallsAndChats - } - return true; // Legacy behavior - } -} - - diff --git a/Classes/Swift/Chat/Data/FileType.swift b/Classes/Swift/Chat/Data/FileType.swift deleted file mode 100644 index cbc6d48fa..000000000 --- a/Classes/Swift/Chat/Data/FileType.swift +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation - -enum FileType : String { - case pdf = "pdf"; - case png = "png"; - case jpg = "jpg"; - case jpeg = "jpeg"; - case bmp = "bmp"; - case heic = "heic"; - case mkv = "mkv"; - case avi = "avi"; - case mov = "mov"; - case mp4 = "mp4"; - case wav = "wav"; - case au = "au"; - case m4a = "m4a"; - case other = "other"; - - case file_pdf_default = "file_pdf_default"; - case file_picture_default = "file_picture_default"; - case file_video_default = "file_video_default"; - case file_audio_default = "file_audio_default"; - case file_default = "file_default"; - - func getGroupTypeFromFile() -> String? { - switch self { - case .pdf, .file_pdf_default: - return "file_pdf_default" - - case .png, .jpg, .jpeg, .bmp, .heic, .file_picture_default: - return "file_picture_default" - - case .mkv, .avi, .mov, .mp4, .file_video_default: - return "file_video_default" - - case .wav, .au, .m4a, .file_audio_default: - return "file_audio_default" - - default: - return "file_default" - } - } - - func getImageFromFile() -> UIImage? { - switch self { - case .pdf, .file_pdf_default: - return UIImage(named:"file_pdf_default") - - case .png, .jpg, .jpeg, .bmp, .heic, .file_picture_default: - return UIImage(named:"file_picture_default") - - case .mkv, .avi, .mov, .mp4, .file_video_default: - return UIImage(named:"file_video_default") - - case .wav, .au, .m4a, .file_audio_default: - return UIImage(named:"file_audio_default") - - default: - return UIImage(named:"file_default") - } - } -} - -extension FileType { - init() { - self = .file_default - } - - init?(_ value: String) { - switch value.lowercased() { - case "pdf", "file_pdf_default": - self = .file_pdf_default - - case "png", "jpg", "jpeg", "bmp", "heic", "file_picture_default": - self = .file_picture_default - - case "mkv", "avi", "mov", "mp4", "file_video_default": - self = .file_video_default - - case "wav", "au", "m4a", "file_audio_default": - self = .file_audio_default - - default: - self = .file_default - } - } -} diff --git a/Classes/Swift/Chat/ViewModels/ChatConversationTableViewModel.swift b/Classes/Swift/Chat/ViewModels/ChatConversationTableViewModel.swift deleted file mode 100644 index daf7e5be4..000000000 --- a/Classes/Swift/Chat/ViewModels/ChatConversationTableViewModel.swift +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import UIKit -import Foundation -import linphonesw - - -class ChatConversationTableViewModel { - - static let sharedModel = ChatConversationTableViewModel() - - var chatRoom: ChatRoom? = nil - - var refreshIndexPath = MutableLiveData(0) - - var onClickIndexPath = MutableLiveData(0) - var onClickMessageIndexPath = 0 - - - var editModeOn = MutableLiveData(false) - - var messageSelected = MutableLiveData(0) - var messageListSelected = MutableLiveData<[Bool]>([]) - - var messageListToDelete : [EventLog] = [] - - func getMessage(index: Int) -> EventLog? { - if (chatRoom != nil) { - let chatRoomEvents = chatRoom?.getHistoryRangeEvents(begin: index, end: index+1) - return chatRoomEvents?.first - }else{ - return nil - } - } - - func getIndexMessage(message: ChatMessage) -> Int { - var index = -1 - if (chatRoom == nil) { - return index - } - - var indexRange = 0 - let msgId = message.messageId - - while index == -1 { - let chatRoomEvents = chatRoom?.getHistoryRangeEvents(begin: indexRange, end: indexRange+20) - if chatRoomEvents?.count == 0 { - index = -2 - } - chatRoomEvents?.reversed().forEach({ event in - let chat = event.chatMessage - if (chat != nil && msgId == chat?.messageId) { - index = indexRange - } - indexRange += 1 - }) - } - return index - } - - func getNBMessages() -> Int { - if (chatRoom == nil) { - return 0 - } - return chatRoom!.historyEventsSize - } - - func eventTypeIsOfInterestForOne(toOneRoom type: EventLog.Kind) -> Bool { - return type.rawValue == LinphoneEventLogTypeConferenceChatMessage.rawValue || type.rawValue == LinphoneEventLogTypeConferenceEphemeralMessageEnabled.rawValue || type.rawValue == LinphoneEventLogTypeConferenceEphemeralMessageDisabled.rawValue || type.rawValue == LinphoneEventLogTypeConferenceEphemeralMessageLifetimeChanged.rawValue - } - - func reloadCollectionViewCell(){ - refreshIndexPath.value! += 1 - } - - func onGridClick(indexMessage: Int, index :Int){ - onClickMessageIndexPath = indexMessage - onClickIndexPath.value! = index - } - - func changeEditMode(editMode :Bool){ - editModeOn.value = editMode - } - - func selectAllMessages(){ - for i in 0...messageListSelected.value!.count - 1 { - messageListSelected.value![i] = true - messageSelected.value! += 1 - } - refreshIndexPath.value! += 1 - } - - func unSelectAllMessages(){ - for i in 0...messageListSelected.value!.count - 1 { - messageListSelected.value![i] = false - } - messageSelected.value! = 0 - refreshIndexPath.value! += 1 - } - - func deleteMessagesSelected(){ - for i in 0...(messageListSelected.value!.count - 1) { - if messageListSelected.value![i] == true { - let messageEvent = getMessage(index: i) - //if messageEvent - messageListToDelete.append((messageEvent)!) - } - } - - messageListToDelete.forEach { chatMessage in - chatMessage.deleteFromDatabase() - } - messageSelected.value! = 0 - refreshIndexPath.value! += 1 - } -} diff --git a/Classes/Swift/Chat/ViewModels/ChatConversationViewModel.swift b/Classes/Swift/Chat/ViewModels/ChatConversationViewModel.swift deleted file mode 100644 index 83bc46d40..000000000 --- a/Classes/Swift/Chat/ViewModels/ChatConversationViewModel.swift +++ /dev/null @@ -1,584 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import UIKit -import Foundation -import linphonesw - - -class ChatConversationViewModel { - - static let sharedModel = ChatConversationViewModel() - - let APP_GROUP_ID = "group.belledonne-communications.linphone.widget" - - var chatRoom: ChatRoom? = nil - var chatRoomDelegate: ChatRoomDelegate? = nil - - var mediaCount : Int = 0 - var newMediaCount : Int = 0 - - var address: String? = nil - var participants: String? = nil - var subject: String? = nil - var shareFileMessage: String? = nil - - var debugEnabled = false - var isVoiceRecording = false - var showVoiceRecorderView = false - var isPendingVoiceRecord = false - var isPlayingVoiceRecording = false - var isOneToOneChat = false - - var urlFile : [URL?] = [] - var mediaURLCollection : [URL] = [] - var replyURLCollection : [URL] = [] - - var data : [Data?] = [] - var fileContext : [Data] = [] - - var progress : [Progress] = [] - var workItem : DispatchWorkItem? = nil - - var replyMessage : OpaquePointer? = nil - - var vrRecordTimer = Timer() - - var voiceRecorder : Recorder? = nil - - var secureLevel : UIImage? - var imageT : [UIImage?] = [] - var mediaCollectionView : [UIImage] = [] - var replyCollectionView : [UIImage] = [] - - var isComposing = MutableLiveData(0) - var messageReceived = MutableLiveData() - var stateChanged = MutableLiveData() - var secureLevelChanged = MutableLiveData() - var subjectChanged = MutableLiveData() - var eventLog = MutableLiveData() - var indexPathVM = MutableLiveData() - var shareFileURL = MutableLiveData() - var shareFileName = MutableLiveData() - - func resetViewModel(){ - chatRoom?.removeDelegate(delegate: chatRoomDelegate!) - mediaURLCollection = [] - replyURLCollection.removeAll() - fileContext = [] - urlFile = [] - data = [] - workItem?.cancel() - for progressItem in progress{ - progressItem.cancel() - } - progress.removeAll() - } - - func createChatConversation(){ - chatRoomDelegate = ChatRoomDelegateStub( - onIsComposingReceived: { (room: ChatRoom, remoteAddress: Address, isComposing: Bool) -> Void in - self.on_chat_room_is_composing_received(room, remoteAddress, isComposing) - }, onChatMessageReceived: { (room: ChatRoom, event: EventLog) -> Void in - self.on_chat_room_chat_message_received(room, event) - }, onChatMessageSending: { (room: ChatRoom, event: EventLog) -> Void in - self.on_chat_room_event_log(room, event) - }, onParticipantAdded: { (room: ChatRoom, event: EventLog) -> Void in - self.on_chat_room_secure_level(room, event) - }, onParticipantRemoved: { (room: ChatRoom, event: EventLog) -> Void in - self.on_chat_room_secure_level(room, event) - }, onParticipantAdminStatusChanged: { (room: ChatRoom, event: EventLog) -> Void in - self.on_chat_room_event_log(room, event) - }, onStateChanged: { (room: ChatRoom, state: ChatRoom.State) -> Void in - self.on_chat_room_state_changed(room) - }, onSecurityEvent: { (room: ChatRoom, event: EventLog) -> Void in - self.on_chat_room_secure_level(room, event) - }, onSubjectChanged: { (room: ChatRoom, event: EventLog) -> Void in - self.on_chat_room_subject_changed(room, event) - }, onConferenceJoined: { (room: ChatRoom, event: EventLog) -> Void in - self.on_chat_room_event_log(room, event) - }, onConferenceLeft: { (room: ChatRoom, event: EventLog) -> Void in - self.on_chat_room_event_log(room, event) - } - ) - chatRoom?.addDelegate(delegate: chatRoomDelegate!) - - workItem = DispatchWorkItem { - let indexPath = IndexPath(row: self.mediaCollectionView.count, section: 0) - self.mediaURLCollection.append(self.urlFile[indexPath.row]!) - self.mediaCollectionView.append(self.imageT[indexPath.row]!) - - self.fileContext.append(self.data[indexPath.row]!) - if(self.mediaCount + self.newMediaCount <= indexPath.row+1){ - self.indexPathVM.value = indexPath.row - } - } - } - - func on_chat_room_is_composing_received(_ cr: ChatRoom?, _ remoteAddr: Address?, _ isComposingBool: Bool) { - isComposing.value = bctbx_list_size(linphone_chat_room_get_composing_addresses(cr?.getCobject)) - } - - func on_chat_room_chat_message_received(_ cr: ChatRoom?, _ event_log: EventLog?) { - let chat = event_log?.chatMessage - if chat == nil { - return - } - - var hasFile = false - // if auto_download is available and file is downloaded - if (linphone_core_get_max_size_for_auto_download_incoming_files(LinphoneManager.getLc()) > -1) && (chat?.fileTransferInformation != nil) { - hasFile = true - } - - var returnValue = false; - chat?.contents.forEach({ content in - if !content.isFileTransfer && !content.isText && !content.isVoiceRecording && !hasFile { - returnValue = true - } - }) - - if returnValue { - return - } - - let from = chat?.fromAddress - if from == nil { - return - } - - messageReceived.value = event_log - } - - func on_chat_room_state_changed(_ cr: ChatRoom?) { - isOneToOneChat = chatRoom!.hasCapability(mask: Int(LinphoneChatRoomCapabilitiesOneToOne.rawValue)) - secureLevel = FastAddressBook.image(for: linphone_chat_room_get_security_level(cr?.getCobject)) - stateChanged.value = cr - } - - func on_chat_room_subject_changed(_ cr: ChatRoom?, _ event_log: EventLog?) { - subject = event_log?.subject != nil ? event_log?.subject : cr?.subject - subjectChanged.value = event_log - } - - func on_chat_room_secure_level(_ cr: ChatRoom?, _ event_log: EventLog?) { - secureLevel = FastAddressBook.image(for: linphone_chat_room_get_security_level(cr?.getCobject)) - secureLevelChanged.value = event_log - } - - func on_chat_room_event_log(_ cr: ChatRoom?, _ event_log: EventLog?) { - eventLog.value = event_log - } - - func nsDataRead() -> Data? { - let groupName = "group.\(Bundle.main.bundleIdentifier ?? "").linphoneExtension" - let path = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: groupName)?.path - let fullCacheFilePathPath = "\(path ?? "")/\("nsData")" - return NSData(contentsOfFile: fullCacheFilePathPath) as Data? - } - - func sendMessage(message: String?, withExterlBodyUrl externalUrl: URL?, rootMessage: ChatMessage?) -> Bool { - if chatRoom == nil { - return false - } - - let msg = rootMessage - let basic = isBasicChatRoom(chatRoom?.getCobject) - let params = linphone_account_get_params(linphone_core_get_default_account(LinphoneManager.getLc())) - let cpimEnabled = linphone_account_params_cpim_in_basic_chat_room_enabled(params) - - if (!basic || (cpimEnabled != 0)) && (message != nil) && message!.count > 0 { - linphone_chat_message_add_utf8_text_content(msg?.getCobject, message) - } - - if (externalUrl != nil) { - linphone_chat_message_set_external_body_url(msg?.getCobject, externalUrl!.absoluteString) - } - - let contentList = linphone_chat_message_get_contents(msg?.getCobject) - if bctbx_list_size(contentList) > 0 { - linphone_chat_message_send(msg?.getCobject) - } - - if basic && (cpimEnabled == 0) && (message != nil) && message!.count > 0 { - linphone_chat_message_send(linphone_chat_room_create_message_from_utf8(chatRoom?.getCobject, message)) - } - - return true - } - - func isBasicChatRoom(_ room: OpaquePointer?) -> Bool { - if room == nil { - return true - } - - let charRoomBasic = ChatRoom.getSwiftObject(cObject: room!) - let isBasic = charRoomBasic.hasCapability(mask: Int(LinphoneChatRoomCapabilitiesBasic.rawValue)) - return isBasic - } - - func startUploadData(_ data: Data?, withType type: String?, withName name: String?, andMessage message: String?, rootMessage: ChatMessage?){ - let fileTransfer = FileTransferDelegate.init() - if let msg = message { - fileTransfer.text = msg - } - var resultType = "file" - var key = "localfile" - if type == "file_video_default" { - resultType = "video" - key = "localvideo" - } else if type == "file_picture_default" { - resultType = "image" - key = "localimage" - } - fileTransfer.uploadData(data, for: chatRoom?.getCobject, type: resultType, subtype: resultType, name: name, key: key, rootMessage: rootMessage?.getCobject) - } - - func startFileUpload(_ data: Data?, withName name: String?, rootMessage: ChatMessage?){ - let fileTransfer = FileTransferDelegate() - fileTransfer.uploadFile(data, for: ChatConversationViewModel.sharedModel.chatRoom?.getCobject, withName: name, rootMessage: rootMessage?.getCobject) - } - - func shareFile() { - let groupName = "group.\(Bundle.main.bundleIdentifier ?? "").linphoneExtension" - let defaults = UserDefaults(suiteName: groupName) - let dict = defaults?.value(forKey: "photoData") as? [AnyHashable : Any] - if let dict_notnil = dict { - //file shared from photo lib - shareFileMessage = dict_notnil["message"] as? String - shareFileName.value = dict_notnil["url"] as? String - defaults?.removeObject(forKey: "photoData") - } else if let dictFile = defaults?.value(forKey: "icloudData") as? [AnyHashable : Any] { - shareFileMessage = dict?["message"] as? String - shareFileName.value = dictFile["url"] as? String - defaults?.removeObject(forKey: "icloudData") - } else if let dictUrl = defaults?.value(forKey: "url") as? [AnyHashable : Any] { - shareFileMessage = dict?["message"] as? String - shareFileURL.value = dictUrl["url"] as? String - defaults?.removeObject(forKey: "url") - } - } - - func getImageFrom(_ content: OpaquePointer?, filePath: String?, forReplyBubble: Bool) -> UIImage? { - var filePath = filePath - let type = String(utf8String: linphone_content_get_type(content)) - let name = String(utf8String: linphone_content_get_name(content)) - if filePath == nil { - filePath = LinphoneManager.validFilePath(name) - } - - var image: UIImage? = nil - if type == "video" { - image = UIChatBubbleTextCell.getImageFromVideoUrl(URL(fileURLWithPath: filePath ?? "")) - } else if type == "image" { - image = UIImage(named: filePath ?? "") - } - - if let img = image { - return img - } else { - return getImageFromFileName(name, forReplyBubble: forReplyBubble) - } - } - - func getImageFromFileName(_ fileName: String?, forReplyBubble forReplyBubbble: Bool) -> UIImage? { - let extensionFile = fileName?.lowercased().components(separatedBy: ".").last - var image: UIImage? - var text = fileName - if fileName?.contains("voice-recording") ?? false { - image = UIImage(named: "file_voice_default") - text = recordingDuration(LinphoneManager.validFilePath(fileName)) - } else { - if extensionFile == "pdf" { - image = UIImage(named: "file_pdf_default") - } else if ["png", "jpg", "jpeg", "bmp", "heic"].contains(extensionFile ?? "") { - image = UIImage(named: "file_picture_default") - } else if ["mkv", "avi", "mov", "mp4"].contains(extensionFile ?? "") { - image = UIImage(named: "file_video_default") - } else if ["wav", "au", "m4a"].contains(extensionFile ?? "") { - image = UIImage(named: "file_audio_default") - } else { - image = UIImage(named: "file_default") - } - } - - return SwiftUtil.textToImage(drawText: text!, inImage: image!, forReplyBubble: forReplyBubbble) - } - - func recordingDuration(_ _voiceRecordingFile: String?) -> String? { - let core = Core.getSwiftObject(cObject: LinphoneManager.getLc()) - var result = "" - do{ - let linphonePlayer = try core.createLocalPlayer(soundCardName: nil, videoDisplayName: nil, windowId: nil) - try linphonePlayer.open(filename: _voiceRecordingFile!) - result = formattedDuration(linphonePlayer.duration)! - linphonePlayer.close() - }catch{ - Log.e(error.localizedDescription) - } - return result - } - - func formattedDuration(_ valueMs: Int) -> String? { - return String(format: "%02ld:%02ld", valueMs / 60000, (valueMs % 60000) / 1000) - } - - func writeMediaToGalleryFromName(_ name: String?, fileType: String?) { - let filePath = LinphoneManager.validFilePath(name) - let fileManager = FileManager.default - if fileManager.fileExists(atPath: filePath!) { - let data = NSData(contentsOfFile: filePath!) as Data? - let block: (() -> Void)? = { - if fileType == "image" { - // we're finished, save the image and update the message - let image = UIImage(data: data!) - if image == nil { - ChatConversationViewSwift.showFileDownloadError() - return - } - var placeHolder: PHObjectPlaceholder? = nil - PHPhotoLibrary.shared().performChanges({ - let request = PHAssetCreationRequest.creationRequestForAsset(from: image!) - placeHolder = request.placeholderForCreatedAsset - }) { success, error in - DispatchQueue.main.async(execute: { - if error != nil { - Log.e("Cannot save image data downloaded \(error!.localizedDescription)") - let errView = UIAlertController( - title: NSLocalizedString("Transfer error", comment: ""), - message: NSLocalizedString("Cannot write image to photo library", comment: ""), - preferredStyle: .alert) - - let defaultAction = UIAlertAction( - title: "OK", - style: .default, - handler: { action in - }) - - errView.addAction(defaultAction) - PhoneMainView.instance()!.present(errView, animated: true) - } else { - Log.i("Image saved to \(placeHolder!.localIdentifier)") - } - }) - } - } else if fileType == "video" { - var placeHolder: PHObjectPlaceholder? - PHPhotoLibrary.shared().performChanges({ - let request = PHAssetCreationRequest.creationRequestForAssetFromVideo(atFileURL: URL(fileURLWithPath: filePath!)) - placeHolder = request?.placeholderForCreatedAsset - }) { success, error in - DispatchQueue.main.async(execute: { - if error != nil { - Log.e("Cannot save video data downloaded \(error!.localizedDescription)") - let errView = UIAlertController( - title: NSLocalizedString("Transfer error", comment: ""), - message: NSLocalizedString("Cannot write video to photo library", comment: ""), - preferredStyle: .alert) - let defaultAction = UIAlertAction( - title: "OK", - style: .default, - handler: { action in - }) - - errView.addAction(defaultAction) - PhoneMainView.instance()!.present(errView, animated: true) - } else { - Log.i("video saved to \(placeHolder!.localIdentifier)") - } - }) - } - } - } - if PHPhotoLibrary.authorizationStatus() == .authorized { - block!() - } else { - PHPhotoLibrary.requestAuthorization({ status in - DispatchQueue.main.async(execute: { - if PHPhotoLibrary.authorizationStatus() == .authorized { - block!() - } else { - let alert = UIAlertController(title: NSLocalizedString("Photo's permission", comment: ""), message: NSLocalizedString("Photo not authorized", comment: ""), preferredStyle: .alert) - alert.addAction(UIAlertAction(title: NSLocalizedString("Continue", comment: ""), style: .default)) - PhoneMainView.instance()!.present(alert, animated: true) - } - }) - }) - } - } - } - - func createCollectionViewItem(urlFile: URL?, type: String) { - if let url = urlFile { - do { - if(type == "public.image"){ - let dataResult = try Data(contentsOf: url) - ChatConversationViewModel.sharedModel.data.append(dataResult) - if let image = UIImage(data: dataResult) { - ChatConversationViewModel.sharedModel.imageT.append(image) - }else{ - ChatConversationViewModel.sharedModel.imageT.append(UIImage(named: "chat_error")) - } - }else if(type == "public.movie"){ - ChatConversationViewModel.sharedModel.data.append(try Data(contentsOf: url)) - var tmpImage = ChatConversationViewModel.sharedModel.createThumbnailOfVideoFromFileURL(videoURL: url.relativeString) - if tmpImage == nil { tmpImage = UIImage(named: "chat_error")} - ChatConversationViewModel.sharedModel.imageT.append(tmpImage) - }else{ - - ChatConversationViewModel.sharedModel.data.append(try Data(contentsOf: url)) - let otherFile = FileType.init(url.pathExtension) - let otherFileImage = otherFile!.getImageFromFile() - ChatConversationViewModel.sharedModel.imageT.append(otherFileImage) - } - ChatConversationViewModel.sharedModel.urlFile.append(url) - DispatchQueue.main.async(execute: ChatConversationViewModel.sharedModel.workItem!) - }catch let error{ - Log.e(error.localizedDescription) - } - } - } - - - func createCollectionViewItemForReply(urlFile: URL?, type: String) -> UIImage { - if urlFile != nil { - do { - if(type == "public.image"){ - let dataResult = try Data(contentsOf: urlFile!) - if let image = UIImage(data: dataResult) { - return image - }else{ - return UIImage(named: "chat_error")! - } - }else if(type == "public.movie"){ - var tmpImage = ChatConversationViewModel.sharedModel.createThumbnailOfVideoFromFileURL(videoURL: urlFile!.relativeString) - if tmpImage == nil { tmpImage = UIImage(named: "chat_error")} - return tmpImage! - }else{ - let otherFile = FileType.init(urlFile!.pathExtension) - let otherFileImage = otherFile!.getImageFromFile() - return otherFileImage! - } - }catch let error{ - Log.e(error.localizedDescription) - } - } - return UIImage(named: "chat_error")! - } - - func createThumbnailOfVideoFromFileURL(videoURL: String) -> UIImage? { - if let urlVideo = URL(string: videoURL){ - let asset = AVAsset(url: urlVideo) - let assetImgGenerate = AVAssetImageGenerator(asset: asset) - assetImgGenerate.appliesPreferredTrackTransform = true - do { - let img = try assetImgGenerate.copyCGImage(at: CMTimeMake(value: 1, timescale: 10), actualTime: nil) - let thumbnail = UIImage(cgImage: img) - return thumbnail - } catch _{ - return nil - } - } else { - return nil - } - } - - //Voice recoder and player - func createVoiceRecorder() { - let core = Core.getSwiftObject(cObject: LinphoneManager.getLc()) - do{ - let p = try core.createRecorderParams() - p.fileFormat = Recorder.FileFormat.Mkv - ChatConversationViewModel.sharedModel.voiceRecorder = try core.createRecorder(params: p) - }catch{ - Log.e(error.localizedDescription) - } - } - - func startVoiceRecording() { - if (voiceRecorder == nil) { - createVoiceRecorder() - } - CallManager.instance().activateAudioSession() - - showVoiceRecorderView = true - isVoiceRecording = true - - switch linphone_recorder_get_state(voiceRecorder?.getCobject) { - case LinphoneRecorderClosed: - let filename = "\(String(describing: LinphoneManager.imagesDirectory()))/voice-recording-\(UUID().uuidString).mkv" - linphone_recorder_open(voiceRecorder?.getCobject, filename) - linphone_recorder_start(voiceRecorder?.getCobject) - Log.i("[Chat Message Sending] Recorder is closed opening it with \(filename)") - case LinphoneRecorderRunning: - Log.i("[Chat Message Sending] Recorder is already recording") - case LinphoneRecorderPaused: - Log.i("[Chat Message Sending] Recorder isn't closed, resuming recording") - linphone_recorder_start(voiceRecorder?.getCobject) - default: - break - } - } - - func stopVoiceRecording() { - if (ChatConversationViewModel.sharedModel.voiceRecorder != nil) && linphone_recorder_get_state(ChatConversationViewModel.sharedModel.voiceRecorder?.getCobject) == LinphoneRecorderRunning { - Log.i("[Chat Message Sending] Pausing / closing voice recorder") - linphone_recorder_pause(ChatConversationViewModel.sharedModel.voiceRecorder?.getCobject) - linphone_recorder_close(ChatConversationViewModel.sharedModel.voiceRecorder?.getCobject) - } - isVoiceRecording = false - vrRecordTimer.invalidate() - isPendingVoiceRecord = linphone_recorder_get_duration(ChatConversationViewModel.sharedModel.voiceRecorder?.getCobject) > 0 - } - - func initSharedPlayer() { - AudioPlayer.initSharedPlayer() - } - - func startSharedPlayer(_ path: String?) { - AudioPlayer.startSharedPlayer(path) - AudioPlayer.sharedModel.fileChanged.value = path - } - - func cancelVoiceRecordingVM() { - showVoiceRecorderView = false - isPendingVoiceRecord = false - isVoiceRecording = false - if (voiceRecorder != nil) && linphone_recorder_get_state(voiceRecorder?.getCobject) != LinphoneRecorderClosed { - AudioPlayer.cancelVoiceRecordingVM(voiceRecorder) - } - } - - func stopSharedPlayer() { - AudioPlayer.stopSharedPlayer() - } - - func removeTmpFile(filePath: String?){ - if (filePath != nil) { - if (filePath != "") { - do { - Log.i("[vfs] remove item at \(filePath)") - try FileManager.default.removeItem(atPath: filePath!) - }catch{ - Log.e("[vfs] remove item error") - } - } - } - } -} diff --git a/Classes/Swift/Chat/Views/ChatConversationTableViewSwift.swift b/Classes/Swift/Chat/Views/ChatConversationTableViewSwift.swift deleted file mode 100644 index df22ee135..000000000 --- a/Classes/Swift/Chat/Views/ChatConversationTableViewSwift.swift +++ /dev/null @@ -1,801 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import UIKit -import Foundation -import linphonesw -import DropDown -import QuickLook -import SwipeCellKit - -class ChatConversationTableViewSwift: UIViewController, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout, QLPreviewControllerDelegate, QLPreviewControllerDataSource, SwipeCollectionViewCellDelegate { - - static let compositeDescription = UICompositeViewDescription(ChatConversationTableViewSwift.self, statusBar: StatusBarView.self, tabBar: nil, sideMenu: SideMenuView.self, fullscreen: false, isLeftFragment: false,fragmentWith: nil) - - static func compositeViewDescription() -> UICompositeViewDescription! { return compositeDescription } - - func compositeViewDescription() -> UICompositeViewDescription! { return type(of: self).compositeDescription } - - lazy var collectionView: UICollectionView = { - let collectionView = UICollectionView(frame: .zero, collectionViewLayout: UICollectionViewFlowLayout()) - return collectionView - }() - - var menu: DropDown? = nil - - var basic :Bool = false - - var floatingScrollButton : UIButton? - var scrollBadge : UILabel? - var floatingScrollBackground : UIButton? - - var previewItems : [QLPreviewItem?] = [] - var afterPreviewIndex = -1 - - override func viewDidLoad() { - super.viewDidLoad() - - - self.initView() - - UIDeviceBridge.displayModeSwitched.readCurrentAndObserve { _ in - self.collectionView.backgroundColor = VoipTheme.backgroundWhiteBlack.get() - self.collectionView.reloadData() - } - - ChatConversationTableViewModel.sharedModel.refreshIndexPath.observe { index in - self.collectionView.reloadData() - } - - ChatConversationTableViewModel.sharedModel.onClickIndexPath.observe { index in - self.onGridClick(indexMessage: ChatConversationTableViewModel.sharedModel.onClickMessageIndexPath, index: index!) - } - - ChatConversationTableViewModel.sharedModel.editModeOn.observe { mode in - self.collectionView.reloadData() - } - - collectionView.isUserInteractionEnabled = true - collectionView.keyboardDismissMode = .interactive - } - - deinit { - NotificationCenter.default.removeObserver(self) - } - - func initView(){ - basic = isBasicChatRoom(ChatConversationTableViewModel.sharedModel.chatRoom?.getCobject) - - view.addSubview(collectionView) - collectionView.contentInsetAdjustmentBehavior = .always - collectionView.contentInset = UIEdgeInsets(top: 10, left: 0, bottom: 10, right: 0) - - collectionView.translatesAutoresizingMaskIntoConstraints = false - collectionView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0).isActive = true - collectionView.leftAnchor.constraint(equalTo: view.leftAnchor, constant: 0).isActive = true - collectionView.topAnchor.constraint(equalTo: view.topAnchor, constant: 0).isActive = true - collectionView.rightAnchor.constraint(equalTo: view.rightAnchor, constant: 0).isActive = true - - collectionView.dataSource = self - collectionView.delegate = self - collectionView.register(MultilineMessageCell.self, forCellWithReuseIdentifier: MultilineMessageCell.reuseId) - - (collectionView.collectionViewLayout as! UICollectionViewFlowLayout).estimatedItemSize = UICollectionViewFlowLayout.automaticSize - (collectionView.collectionViewLayout as! UICollectionViewFlowLayout).minimumLineSpacing = 2 - - collectionView.transform = CGAffineTransform(scaleX: 1, y: -1) - } - - override func viewDidAppear(_ animated: Bool) { - createFloatingButton() - if ChatConversationTableViewModel.sharedModel.getNBMessages() > 0 { - scrollToBottom(animated: false) - } - - NotificationCenter.default.addObserver(self, selector: #selector(self.receivePresenceNotification(notification:)), name: Notification.Name("LinphoneFriendPresenceUpdate"), object: nil) - } - - override func viewWillDisappear(_ animated: Bool) { - if ChatConversationTableViewModel.sharedModel.getNBMessages() > 0 { - scrollToBottom(animated: false, async:false) - } - NotificationCenter.default.removeObserver(self, name: Notification.Name("LinphoneFriendPresenceUpdate"), object: nil) - NotificationCenter.default.removeObserver(self) - } - - @objc func receivePresenceNotification(notification: NSNotification) { - if (notification.name.rawValue == "LinphoneFriendPresenceUpdate"){ - collectionView.reloadData() - } - } - - func scrollToMessage(message: ChatMessage){ - let messageIndex = ChatConversationTableViewModel.sharedModel.getIndexMessage(message: message) - self.collectionView.scrollToItem(at: IndexPath(row: messageIndex, section: 0), at: .bottom, animated: false) - } - - func scrollToBottom(animated: Bool, async: Bool = true){ - if (async) { - DispatchQueue.main.async{ - self.collectionView.scrollToItem(at: IndexPath(item: 0, section: 0), at: .top, animated: animated) - } - } else { - self.collectionView.scrollToItem(at: IndexPath(item: 0, section: 0), at: .top, animated: animated) - } - ChatConversationViewSwift.markAsRead(ChatConversationViewModel.sharedModel.chatRoom?.getCobject) - if self.floatingScrollButton != nil && self.floatingScrollBackground != nil { - self.floatingScrollButton!.isHidden = true - self.floatingScrollBackground!.isHidden = true - } - if scrollBadge != nil { - scrollBadge!.text = "0" - } - } - - func refreshDataAfterForeground(){ - DispatchQueue.main.async { - self.collectionView.reloadData() - } - } - - func refreshData(isOutgoing: Bool){ - if (ChatConversationTableViewModel.sharedModel.getNBMessages() > 1){ - let isDisplayingBottomOfTable = collectionView.contentOffset.y <= 20 - - if ChatConversationTableViewModel.sharedModel.getNBMessages() < 4 { - collectionView.reloadData() - ChatConversationViewSwift.markAsRead(ChatConversationViewModel.sharedModel.chatRoom?.getCobject) - } else if isDisplayingBottomOfTable { - if self.collectionView.numberOfItems(inSection: 0) > 2 { - self.collectionView.scrollToItem(at: IndexPath(item: 1, section: 0), at: .top, animated: false) - } - collectionView.reloadData() - self.scrollToBottom(animated: true) - } else if !isOutgoing { - if !collectionView.indexPathsForVisibleItems.isEmpty { - let selectedCellIndex = collectionView.indexPathsForVisibleItems.sorted().first! - let selectedCell = collectionView.cellForItem(at: selectedCellIndex) - let visibleRect = collectionView.convert(collectionView.bounds, to: selectedCell) - - UIView.performWithoutAnimation { - collectionView.reloadData() - DispatchQueue.main.asyncAfter(deadline: .now() + 0.2){ - let newSelectedCell = self.collectionView.cellForItem(at: IndexPath(row: selectedCellIndex.row + 1, section: 0)) - let updatedVisibleRect = self.collectionView.convert(self.collectionView.bounds, to: newSelectedCell) - - var contentOffset = self.collectionView.contentOffset - contentOffset.y = contentOffset.y + (visibleRect.origin.y - updatedVisibleRect.origin.y) - self.collectionView.contentOffset = contentOffset - } - } - scrollBadge!.isHidden = false - scrollBadge!.text = "\(ChatConversationViewModel.sharedModel.chatRoom?.unreadMessagesCount ?? 0)" - } - } else { - collectionView.reloadData() - self.scrollToBottom(animated: false) - } - - if ChatConversationTableViewModel.sharedModel.editModeOn.value! { - ChatConversationTableViewModel.sharedModel.messageListSelected.value!.insert(false, at: 0) - } - }else{ - collectionView.reloadData() - if(ChatConversationViewModel.sharedModel.chatRoom != nil){ - ChatConversationViewSwift.markAsRead(ChatConversationViewModel.sharedModel.chatRoom?.getCobject) - } - } - } - - func scrollViewDidScroll(_ scrollView: UIScrollView) { - let contentOffsetY = scrollView.contentOffset.y - if contentOffsetY <= 20{ - if floatingScrollButton != nil && floatingScrollBackground != nil { - floatingScrollButton?.isHidden = true - floatingScrollBackground?.isHidden = true - scrollBadge?.text = "0" - ChatConversationViewSwift.markAsRead(ChatConversationViewModel.sharedModel.chatRoom?.getCobject) - } - } else { - if floatingScrollButton != nil && floatingScrollBackground != nil { - floatingScrollButton?.isHidden = false - floatingScrollBackground?.isHidden = false; - if(scrollBadge?.text == "0"){ - scrollBadge?.isHidden = true - } - } - } - } - - // MARK: - UICollectionViewDataSource - - func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { - let cell = collectionView.dequeueReusableCell(withReuseIdentifier: MultilineMessageCell.reuseId, for: indexPath) as! MultilineMessageCell - cell.delegate = self - if let event = ChatConversationTableViewModel.sharedModel.getMessage(index: indexPath.row){ - if(ChatConversationTableViewModel.sharedModel.editModeOn.value! && indexPath.row >= ChatConversationTableViewModel.sharedModel.messageListSelected.value!.count){ - for _ in ChatConversationTableViewModel.sharedModel.messageListSelected.value!.count...indexPath.row { - ChatConversationTableViewModel.sharedModel.messageListSelected.value!.append(false) - } - } - - cell.configure(event: event, selfIndexPathConfigure: indexPath, editMode: ChatConversationTableViewModel.sharedModel.editModeOn.value!, selected: ChatConversationTableViewModel.sharedModel.editModeOn.value! ? ChatConversationTableViewModel.sharedModel.messageListSelected.value![indexPath.row] : false) - - if (event.chatMessage != nil && ChatConversationViewModel.sharedModel.chatRoom != nil){ - cell.onLongClickOneClick { - if(cell.chatMessage != nil && ChatConversationViewModel.sharedModel.chatRoom != nil){ - self.initDataSource(message: cell.chatMessage!) - self.tapChooseMenuItemMessage(contentViewBubble: cell.contentViewBubble, event: cell.eventMessage!, preContentSize: cell.preContentViewBubble.frame.size.height) - } - } - } - - if (!cell.replyContent.isHidden && event.chatMessage?.replyMessage != nil){ - cell.replyContent.onClick { - self.scrollToMessage(message: (cell.chatMessage?.replyMessage)!) - } - } - - cell.imageViewBubble.onClick { - if (!cell.imageViewBubble.isHidden || !cell.imageVideoViewBubble.isHidden) && cell.chatMessage != nil && !cell.chatMessage!.isFileTransferInProgress { - self.onImageClick(chatMessage: cell.chatMessage!, index: indexPath.row) - } - } - cell.imageVideoViewBubble.onClick { - if (!cell.imageViewBubble.isHidden || !cell.imageVideoViewBubble.isHidden) && cell.chatMessage != nil && !cell.chatMessage!.isFileTransferInProgress { - self.onImageClick(chatMessage: cell.chatMessage!, index: indexPath.row) - } - } - } - cell.contentView.transform = CGAffineTransform(scaleX: 1, y: -1) - return cell - } - - func collectionView(_ collectionView: UICollectionView, didEndDisplaying cell: UICollectionViewCell, forItemAt indexPath: IndexPath) { - let customCell = cell as! MultilineMessageCell - - if customCell.isPlayingVoiceRecording { - AudioPlayer.stopSharedPlayer() - } - - if customCell.ephemeralTimer != nil { - customCell.ephemeralTimer?.invalidate() - } - - if customCell.chatMessageDelegate != nil { - customCell.chatMessage?.removeDelegate(delegate: customCell.chatMessageDelegate!) - } - } - - func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { - return ChatConversationTableViewModel.sharedModel.getNBMessages() - } - - func collectionView(_ collectionView: UICollectionView, editActionsForItemAt indexPath: IndexPath, for orientation: SwipeActionsOrientation) -> [SwipeAction]? { - let message = ChatConversationTableViewModel.sharedModel.getMessage(index: indexPath.row) - if orientation == .left { - if message?.chatMessage != nil { - let replyAction = SwipeAction(style: .default, title: "Reply") { action, indexPath in - self.replyMessage(message: (message?.chatMessage)!) - } - return [replyAction] - } else { - return nil - } - } else { - let deleteAction = SwipeAction(style: .destructive, title: "Delete") { action, indexPath in - self.deleteMessage(message: message!) - } - return [deleteAction] - } - } - - func collectionView(_ collectionView: UICollectionView, editActionsOptionsForItemAt indexPath: IndexPath, for orientation: SwipeActionsOrientation) -> SwipeOptions { - var options = SwipeOptions() - if orientation == .left { - options.expansionStyle = .selection - } - return options - } - - func isBasicChatRoom(_ room: OpaquePointer?) -> Bool { - if room == nil { - return true - } - - let charRoomBasic = ChatRoom.getSwiftObject(cObject: room!) - let isBasic = charRoomBasic.hasCapability(mask: Int(LinphoneChatRoomCapabilitiesBasic.rawValue)) - return isBasic - } - - func tapChooseMenuItemMessage(contentViewBubble: UIView, event: EventLog, preContentSize: CGFloat) { - - menu!.anchorView = view - menu!.width = 240 - - let coordinateMin = contentViewBubble.convert(contentViewBubble.frame.origin, to: view) - let coordinateMax = contentViewBubble.convert(CGPoint(x: contentViewBubble.frame.maxX - 40, y: contentViewBubble.frame.maxY), to: view) - - if (coordinateMax.y + CGFloat(menu!.dataSource.count * 44) - preContentSize < view.frame.maxY) { - menu!.bottomOffset = CGPoint(x: event.chatMessage!.isOutgoing ? coordinateMax.x - 200 : coordinateMin.x, y: coordinateMax.y - preContentSize) - } else if ((coordinateMax.y + CGFloat(menu!.dataSource.count * 44) > view.frame.maxY) && coordinateMin.y > CGFloat(menu!.dataSource.count * 44) + (preContentSize * 2)) { - menu!.bottomOffset = CGPoint(x: event.chatMessage!.isOutgoing ? coordinateMax.x - 200 : coordinateMin.x, y: coordinateMin.y - (preContentSize * 2) - CGFloat(menu!.dataSource.count * 44)) - } else { - menu!.bottomOffset = CGPoint(x: event.chatMessage!.isOutgoing ? coordinateMax.x - 200 : coordinateMin.x, y: 0) - } - - let view: ChatConversationViewSwift = self.VIEW(ChatConversationViewSwift.compositeViewDescription()) - view.contentMessageView.messageView.endEditing(true) - - menu!.show() - menu!.selectionAction = { [weak self] (index: Int, item: String) in - guard let _ = self else { return } - switch item { - case VoipTexts.bubble_chat_dropDown_emojis: - self!.copyMessage(message: event.chatMessage!) - case VoipTexts.bubble_chat_dropDown_resend: - self!.resendMessage(message: event.chatMessage!) - case VoipTexts.bubble_chat_dropDown_copy_text: - self!.copyMessage(message: event.chatMessage!) - case VoipTexts.bubble_chat_dropDown_forward: - self!.forwardMessage(message: event.chatMessage!) - case VoipTexts.bubble_chat_dropDown_reply: - self!.replyMessage(message: event.chatMessage!) - case VoipTexts.bubble_chat_dropDown_infos: - if !event.chatMessage!.isFileTransferInProgress && !(event.chatMessage!.state.rawValue == LinphoneChatMessageStateNotDelivered.rawValue || event.chatMessage!.state.rawValue == LinphoneChatMessageStateFileTransferError.rawValue) { - self!.infoMessage(event: event) - } - case VoipTexts.bubble_chat_dropDown_add_to_contact: - self!.addToContacts(message: event.chatMessage!) - case VoipTexts.bubble_chat_dropDown_delete: - self!.deleteMessage(message: event) - default: - Log.e("Error Default tapChooseMenuItemMessage ChatConversationTableViewSwift") - } - self!.menu!.clearSelection() - } - } - - func initDataSource(message: ChatMessage) { - menu = { - let menu = DropDown() - menu.dataSource = [""] - let images = [ - "menu_resend_default", - "menu_copy_text_default", - "menu_forward_default", - "menu_reply_default", - "menu_info", - "contact_add_default", - "menu_delete", - "menu_info" - ] - menu.cellNib = UINib(nibName: "DropDownCell", bundle: nil) - menu.customCellConfiguration = { index, title, cell in - guard let cell = cell as? MyCell else { - return - } - if(index < images.count){ - switch menu.dataSource[index] { - case VoipTexts.bubble_chat_dropDown_emojis: - cell.myImageView.image = UIImage(named: images[7]) - cell.myEmojisView.isHidden = false - cell.myImageView.isHidden = true - cell.optionLabel.isHidden = true - - switch message.ownReaction?.body { - case "❤️": - cell.myEmojiButton1.layer.cornerRadius = 10 - cell.myEmojiButton1.backgroundColor = VoipTheme.light_grey_color - case "👍": - cell.myEmojiButton2.layer.cornerRadius = 10 - cell.myEmojiButton2.backgroundColor = VoipTheme.light_grey_color - case "😂": - cell.myEmojiButton3.layer.cornerRadius = 10 - cell.myEmojiButton3.backgroundColor = VoipTheme.light_grey_color - case "😮": - cell.myEmojiButton4.layer.cornerRadius = 10 - cell.myEmojiButton4.backgroundColor = VoipTheme.light_grey_color - case "😢": - cell.myEmojiButton5.layer.cornerRadius = 10 - cell.myEmojiButton5.backgroundColor = VoipTheme.light_grey_color - default: - print("No reaction") - } - - cell.myEmojiButton1.onClick { - do { - let messageReaction = try message.ownReaction?.body != "❤️" ? message.createReaction(utf8Reaction: "❤️") : message.createReaction(utf8Reaction: "") - messageReaction.send() - self.menu!.clearSelection() - self.menu?.removeFromSuperview() - } catch { - Log.e(error.localizedDescription) - } - } - cell.myEmojiButton2.onClick { - do { - let messageReaction = try message.ownReaction?.body != "👍" ? message.createReaction(utf8Reaction: "👍") : message.createReaction(utf8Reaction: "") - messageReaction.send() - self.menu!.clearSelection() - self.menu?.removeFromSuperview() - } catch { - Log.e(error.localizedDescription) - } - } - cell.myEmojiButton3.onClick { - do { - let messageReaction = try message.ownReaction?.body != "😂" ? message.createReaction(utf8Reaction: "😂") : message.createReaction(utf8Reaction: "") - messageReaction.send() - self.menu!.clearSelection() - self.menu?.removeFromSuperview() - } catch { - Log.e(error.localizedDescription) - } - } - cell.myEmojiButton4.onClick { - do { - let messageReaction = try message.ownReaction?.body != "😮" ? message.createReaction(utf8Reaction: "😮") : message.createReaction(utf8Reaction: "") - messageReaction.send() - self.menu!.clearSelection() - self.menu?.removeFromSuperview() - } catch { - Log.e(error.localizedDescription) - } - } - cell.myEmojiButton5.onClick { - do { - let messageReaction = try message.ownReaction?.body != "😢" ? message.createReaction(utf8Reaction: "😢") : message.createReaction(utf8Reaction: "") - messageReaction.send() - self.menu!.clearSelection() - self.menu?.removeFromSuperview() - } catch { - Log.e(error.localizedDescription) - } - } - case VoipTexts.bubble_chat_dropDown_resend: - if #available(iOS 13.0, *) { - cell.myImageView.image = UIImage(named: images[0])!.withTintColor(.darkGray) - } else { - cell.myImageView.image = UIImage(named: images[0]) - } - case VoipTexts.bubble_chat_dropDown_copy_text: - cell.myImageView.image = UIImage(named: images[1]) - case VoipTexts.bubble_chat_dropDown_forward: - cell.myImageView.image = UIImage(named: images[2]) - case VoipTexts.bubble_chat_dropDown_reply: - cell.myImageView.image = UIImage(named: images[3]) - case VoipTexts.bubble_chat_dropDown_infos: - cell.myImageView.image = UIImage(named: images[4]) - case VoipTexts.bubble_chat_dropDown_add_to_contact: - cell.myImageView.image = UIImage(named: images[5]) - case VoipTexts.bubble_chat_dropDown_delete: - cell.myImageView.image = UIImage(named: images[6]) - default: - cell.myImageView.image = UIImage(named: images[7]) - } - } - } - - return menu - }() - - menu!.dataSource.removeAll() - let state = message.state - - menu!.dataSource.append(VoipTexts.bubble_chat_dropDown_emojis) - - if (state.rawValue == LinphoneChatMessageStateNotDelivered.rawValue || state.rawValue == LinphoneChatMessageStateFileTransferError.rawValue) { - menu!.dataSource.append(VoipTexts.bubble_chat_dropDown_resend) - } - - if (message.utf8Text != "" && !ICSBubbleView.isConferenceInvitationMessage(cmessage: message.getCobject!)) { - menu!.dataSource.append(VoipTexts.bubble_chat_dropDown_copy_text) - } - - menu!.dataSource.append(VoipTexts.bubble_chat_dropDown_forward) - - menu!.dataSource.append(VoipTexts.bubble_chat_dropDown_reply) - - let chatroom = ChatConversationViewModel.sharedModel.chatRoom - if chatroom != nil { - if (chatroom!.nbParticipants > 1) { - menu!.dataSource.append(VoipTexts.bubble_chat_dropDown_infos) - } - - let isOneToOneChat = ChatConversationViewModel.sharedModel.chatRoom!.hasCapability(mask: Int(LinphoneChatRoomCapabilitiesOneToOne.rawValue)) - if (!message.isOutgoing && FastAddressBook.getContactWith(message.fromAddress?.getCobject) == nil - && !isOneToOneChat && !ConfigManager.instance().lpConfigBoolForKey(key: "read_only_native_address_book")) { - menu!.dataSource.append(VoipTexts.bubble_chat_dropDown_add_to_contact) - } - - menu!.dataSource.append(VoipTexts.bubble_chat_dropDown_delete) - } - } - - func resendMessage(message: ChatMessage){ - if ((linphone_core_is_network_reachable(LinphoneManager.getLc()) == 0)) { - PhoneMainView.instance().present(LinphoneUtils.networkErrorView("send a message"), animated: true) - return; - }else{ - message.send() - } - } - - func copyMessage(message: ChatMessage){ - UIPasteboard.general.string = message.utf8Text - } - - func forwardMessage(message: ChatMessage){ - let view: ChatConversationViewSwift = self.VIEW(ChatConversationViewSwift.compositeViewDescription()) - view.pendingForwardMessage = message.getCobject - let viewtoGo: ChatsListView = self.VIEW(ChatsListView.compositeViewDescription()) - PhoneMainView.instance().changeCurrentView(viewtoGo.compositeViewDescription()) - } - - func replyMessage(message: ChatMessage){ - let view: ChatConversationViewSwift = self.VIEW(ChatConversationViewSwift.compositeViewDescription()) - if (view.contentMessageView.messageView.messageText.textColor == UIColor.lightGray && view.contentMessageView.stackView.arrangedSubviews[3].isHidden && view.contentMessageView.stackView.arrangedSubviews[4].isHidden){ - view.contentMessageView.messageView.messageText.becomeFirstResponder() - } - view.initiateReplyView(forMessage: message.getCobject) - } - - func infoMessage(event: EventLog){ - let view: ChatConversationImdnView = self.VIEW(ChatConversationImdnView.compositeViewDescription()) - view.event = event.getCobject - PhoneMainView.instance().changeCurrentView(view.compositeViewDescription()) - } - - func addToContacts(message: ChatMessage) { - let addr = message.fromAddress - addr?.clean() - if let lAddress = addr?.asStringUriOnly() { - var normSip = String(utf8String: lAddress) - normSip = normSip?.hasPrefix("sip:") ?? false ? (normSip as NSString?)?.substring(from: 4) : normSip - normSip = normSip?.hasPrefix("sips:") ?? false ? (normSip as NSString?)?.substring(from: 5) : normSip - ContactSelection.setAddAddress(normSip) - ContactSelection.setSelectionMode(ContactSelectionModeEdit) - ContactSelection.enableSipFilter(false) - PhoneMainView.instance().changeCurrentView(ContactsListView.compositeViewDescription()) - } - } - - func deleteMessage(message: EventLog){ - let messageChat = message.chatMessage - if messageChat != nil { - if ChatConversationTableViewModel.sharedModel.editModeOn.value! { - let indexDeletedMessage = ChatConversationTableViewModel.sharedModel.getIndexMessage(message: messageChat!) - ChatConversationTableViewModel.sharedModel.messageListSelected.value!.remove(at: indexDeletedMessage) - ChatConversationTableViewModel.sharedModel.messageSelected.value! -= 1 - } - let chatRoom = ChatConversationViewModel.sharedModel.chatRoom - if chatRoom != nil { - chatRoom!.deleteMessage(message: messageChat!) - } - } else { - message.deleteFromDatabase() - } - collectionView.reloadData() - } - - func getPreviewItem(filePath: String) -> NSURL{ - let url = NSURL(fileURLWithPath: filePath) - - return url - } - - func numberOfPreviewItems(in controller: QLPreviewController) -> Int { - return previewItems.count - } - - func previewController(_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem { - return (previewItems[index] as QLPreviewItem?)! - } - - func previewControllerDidDismiss(_ controller: QLPreviewController) { - collectionView.scrollToItem(at: IndexPath(item: afterPreviewIndex, section: 0), at: .centeredVertically, animated: false) - afterPreviewIndex = -1 - } - - func onImageClick(chatMessage: ChatMessage, index: Int) { - - let state = chatMessage.state - if (state.rawValue == LinphoneChatMessageStateNotDelivered.rawValue) { - Log.i("Messsage not delivered") - } else { - if (VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) || ConfigManager.instance().lpConfigBoolForKey(key: "use_in_app_file_viewer_for_non_encrypted_files", section: "app")){ - - var viewer: MediaViewer = VIEW(MediaViewer.compositeViewDescription()) - - var image = UIImage() - if chatMessage.contents.filter({$0.isFile}).first!.type == "image" { - if VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) { - var plainFile = chatMessage.contents.filter({$0.isFile}).first!.exportPlainFile() - - image = UIImage(contentsOfFile: plainFile)! - - ChatConversationViewModel.sharedModel.removeTmpFile(filePath: plainFile) - plainFile = "" - - }else { - image = UIImage(contentsOfFile: chatMessage.contents.filter({$0.isFile}).first!.filePath!)! - } - } - - viewer.imageViewer = image - viewer.imageNameViewer = (chatMessage.contents.filter({$0.isFile}).first!.name!.isEmpty ? "" : chatMessage.contents.filter({$0.isFile}).first!.name)! - - viewer.imagePathViewer = chatMessage.contents.filter({$0.isFile}).first!.exportPlainFile() - viewer.contentType = chatMessage.contents.filter({$0.isFile}).first!.type - PhoneMainView.instance().changeCurrentView(viewer.compositeViewDescription()) - - } else { - let previewController = QLPreviewController() - self.previewItems = [] - - if VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) { - var plainFile = chatMessage.contents.filter({$0.isFile}).first?.exportPlainFile() - - self.previewItems.append(self.getPreviewItem(filePath: plainFile!)) - - ChatConversationViewModel.sharedModel.removeTmpFile(filePath: plainFile) - plainFile = "" - }else if chatMessage.contents.filter({$0.isFile}).first?.filePath != nil { - self.previewItems.append(self.getPreviewItem(filePath: (chatMessage.contents.filter({$0.isFile}).first?.filePath)!)) - } - - afterPreviewIndex = index - - previewController.currentPreviewItemIndex = 0 - previewController.dataSource = self - previewController.delegate = self - previewController.reloadData() - PhoneMainView.instance().mainViewController.present(previewController, animated: true, completion: nil) - } - } - } - - func onGridClick(indexMessage: Int, index: Int) { - let chatMessage = ChatConversationTableViewModel.sharedModel.getMessage(index: indexMessage)?.chatMessage - let state = chatMessage!.state - if (state.rawValue == LinphoneChatMessageStateNotDelivered.rawValue) { - Log.i("Messsage not delivered") - } else { - if (VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) || ConfigManager.instance().lpConfigBoolForKey(key: "use_in_app_file_viewer_for_non_encrypted_files", section: "app")){ - - var text = "" - var filePathString = VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) ? chatMessage!.contents.filter({$0.isFile})[index].exportPlainFile() : chatMessage!.contents.filter({$0.isFile})[index].filePath - if let urlEncoded = filePathString!.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed){ - if !urlEncoded.isEmpty { - if let urlFile = URL(string: "file://" + urlEncoded){ - do { - text = try String(contentsOf: urlFile, encoding: .utf8) - let viewer: TextViewer = VIEW(TextViewer.compositeViewDescription()) - - if chatMessage != nil { - - viewer.textViewer = text - viewer.textNameViewer = (chatMessage!.contents.filter({$0.isFile})[index].name!.isEmpty ? "" : chatMessage!.contents.filter({$0.isFile})[index].name)! - PhoneMainView.instance().changeCurrentView(viewer.compositeViewDescription()) - } - - } catch { - var extensionFile = "" - if chatMessage!.contents.filter({$0.isFile})[index].name != nil { - extensionFile = chatMessage!.contents.filter({$0.isFile})[index].name!.lowercased().components(separatedBy: ".").last ?? "" - } - - if text == "" && (chatMessage!.contents.filter({$0.isFile})[index].type == "image" || chatMessage!.contents.filter({$0.isFile})[index].type == "video" || chatMessage!.contents.filter({$0.isFile})[index].name!.lowercased().components(separatedBy: ".").last == "pdf" || (["mkv", "avi", "mov", "mp4"].contains(extensionFile))){ - let viewer: MediaViewer = VIEW(MediaViewer.compositeViewDescription()) - - var image = UIImage() - if chatMessage != nil { - if chatMessage!.contents.filter({$0.isFile})[index].type == "image" { - if VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) { - var plainFile = chatMessage!.contents.filter({$0.isFile})[index].exportPlainFile() - - image = UIImage(contentsOfFile: plainFile)! - - ChatConversationViewModel.sharedModel.removeTmpFile(filePath: plainFile) - plainFile = "" - - }else { - image = UIImage(contentsOfFile: chatMessage!.contents.filter({$0.isFile})[index].filePath!)! - } - } - - viewer.imageViewer = image - viewer.imageNameViewer = (chatMessage!.contents.filter({$0.isFile})[index].name!.isEmpty ? "" : chatMessage!.contents.filter({$0.isFile})[index].name)! - viewer.imagePathViewer = chatMessage!.contents.filter({$0.isFile})[index].exportPlainFile() - viewer.contentType = chatMessage!.contents.filter({$0.isFile})[index].type - PhoneMainView.instance().changeCurrentView(viewer.compositeViewDescription()) - } - } else { - let exportView = UIAlertController( - title: VoipTexts.chat_message_cant_open_file_in_app_dialog_title, - message: VoipTexts.chat_message_cant_open_file_in_app_dialog_message, - preferredStyle: .alert) - - let cancelAction = UIAlertAction( - title: VoipTexts.cancel, - style: .default, - handler: { action in - }) - - let exportAction = UIAlertAction( - title: VoipTexts.chat_message_cant_open_file_in_app_dialog_export_button, - style: .destructive, - handler: { action in - let previewController = QLPreviewController() - self.previewItems = [] - - self.previewItems.append(self.getPreviewItem(filePath: filePathString!)) - - - self.afterPreviewIndex = indexMessage - - previewController.dataSource = self - previewController.currentPreviewItemIndex = index - previewController.delegate = self - PhoneMainView.instance().mainViewController.present(previewController, animated: true, completion: nil) - }) - - exportView.addAction(cancelAction) - exportView.addAction(exportAction) - PhoneMainView.instance()!.present(exportView, animated: true) - } - } - } - } - } - /* - if VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) { - ChatConversationViewModel.sharedModel.removeTmpFile(filePath: filePathString) - filePathString = "" - } - */ - } else { - let previewController = QLPreviewController() - self.previewItems = [] - chatMessage?.contents.forEach({ content in - if(content.isFile && !content.isVoiceRecording){ - if VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) { - var plainFile = content.exportPlainFile() - - self.previewItems.append(self.getPreviewItem(filePath: plainFile)) - - ChatConversationViewModel.sharedModel.removeTmpFile(filePath: plainFile) - plainFile = "" - - }else { - self.previewItems.append(self.getPreviewItem(filePath: (content.filePath!))) - } - } - }) - - afterPreviewIndex = indexMessage - - previewController.dataSource = self - previewController.currentPreviewItemIndex = index - previewController.delegate = self - PhoneMainView.instance().mainViewController.present(previewController, animated: true, completion: nil) - } - } - } -} diff --git a/Classes/Swift/Chat/Views/ChatConversationViewSwift.swift b/Classes/Swift/Chat/Views/ChatConversationViewSwift.swift deleted file mode 100644 index c38d01475..000000000 --- a/Classes/Swift/Chat/Views/ChatConversationViewSwift.swift +++ /dev/null @@ -1,1643 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import UIKit -import Foundation -import linphonesw -import DropDown -import PhotosUI -import AVFoundation -import EmojiPicker -import IQKeyboardManager - -class ChatConversationViewSwift: BackActionsNavigationView, PHPickerViewControllerDelegate, UIDocumentPickerDelegate, UICompositeViewDelegate, UICollectionViewDataSource, UICollectionViewDelegate, UIImagePickerControllerDelegate, EmojiPickerDelegate, CoreDelegate & UINavigationControllerDelegate{ // Replaces ChatConversationView - - static let compositeDescription = UICompositeViewDescription(ChatConversationViewSwift.self, statusBar: StatusBarView.self, tabBar: nil, sideMenu: SideMenuView.self, fullscreen: false, isLeftFragment: false,fragmentWith: nil) - - static func compositeViewDescription() -> UICompositeViewDescription! { return compositeDescription } - - func compositeViewDescription() -> UICompositeViewDescription! { return type(of: self).compositeDescription } - - - @objc var linphoneChatRoom: OpaquePointer? = nil - @objc var tableControllerSwift = ChatConversationTableViewSwift() - @objc var pendingForwardMessage : OpaquePointer? = nil - @objc var sharingMedia : Bool = false - @objc var markAsRead : Bool = false - - var activeAlertController = CustomAlertController() - let refreshControl = UIRefreshControl() - let loadingView = UIView() - let loading = RotatingSpinner(color: VoipTheme.primary_color) - let loadingText = StyledLabel(VoipTheme.chat_conversation_operation_in_progress_wait) - - var friend: Friend? = nil - var friendDelegate: FriendDelegate? = nil - - let field = UITextField() - - var collectionViewMedia: UICollectionView = { - let top_bar_height = 66.0 - let width = UIScreen.main.bounds.width * 0.9 - let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout() - layout.itemSize = CGSize(width: top_bar_height*2-8, height: top_bar_height*2-8) - - layout.sectionInset = UIEdgeInsets(top: 4, left: 4, bottom: 4, right: 4) - layout.scrollDirection = .horizontal - layout.minimumLineSpacing = 4 - layout.minimumInteritemSpacing = 20 - - let collectionView = UICollectionView(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: top_bar_height*2), collectionViewLayout: layout) - collectionView.translatesAutoresizingMaskIntoConstraints = false - collectionView.backgroundColor = .clear - return collectionView - }() - - var collectionViewReply: UICollectionView = { - let collection_view_reply_height = 66.0 - let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout() - layout.itemSize = CGSize(width: collection_view_reply_height, height: collection_view_reply_height) - - layout.sectionInset = UIEdgeInsets(top: 4, left: 4, bottom: 4, right: 4) - layout.scrollDirection = .horizontal - layout.minimumLineSpacing = 4 - layout.minimumInteritemSpacing = 20 - - let collectionViewReply = UICollectionView(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width - 60, height: collection_view_reply_height), collectionViewLayout: layout) - collectionViewReply.translatesAutoresizingMaskIntoConstraints = false - collectionViewReply.backgroundColor = .clear - return collectionViewReply - }() - - let menu: DropDown = { - let menu = DropDown() - menu.dataSource = [""] - var images = [ - "contact_add_default.png", - "contacts_all_default.png", - "menu_voip_meeting_schedule", - "menu_security_default.png", - "ephemeral_messages_default.png", - "menu_notifications_off.png", - "menu_notifications_on.png", - "delete_default.png", - "chat_group_informations.png" - ] - menu.cellNib = UINib(nibName: "DropDownCell", bundle: nil) - menu.customCellConfiguration = { index, title, cell in - guard let cell = cell as? MyCell else { - return - } - if(index < images.count){ - switch menu.dataSource[index] { - case VoipTexts.dropdown_menu_chat_conversation_add_to_contact: - cell.myImageView.image = UIImage(named: images[0]) - case VoipTexts.dropdown_menu_chat_conversation_go_to_contact: - cell.myImageView.image = UIImage(named: images[1]) - case VoipTexts.conference_schedule_start: - cell.myImageView.image = UIImage(named: images[2]) - case VoipTexts.dropdown_menu_chat_conversation_conversation_device: - cell.myImageView.image = UIImage(named: images[3]) - case VoipTexts.dropdown_menu_chat_conversation_ephemeral_messages: - cell.myImageView.image = UIImage(named: images[4]) - case VoipTexts.dropdown_menu_chat_conversation_mute_notifications: - cell.myImageView.image = UIImage(named: images[5]) - case VoipTexts.dropdown_menu_chat_conversation_unmute_notifications: - cell.myImageView.image = UIImage(named: images[6]) - case VoipTexts.dropdown_menu_chat_conversation_delete_messages: - cell.myImageView.image = UIImage(named: images[7]) - default: - cell.myImageView.image = UIImage(named: images[8]) - } - } - } - return menu - }() - - override func viewDidLoad() { - super.viewDidLoad( - backAction: { - self.goBackChatListView() - }, - action1: { - self.onCallClick(cChatRoom: ChatConversationViewModel.sharedModel.chatRoom?.getCobject) - }, - action2: { - self.tapChooseMenuItem(self.action2Button) - }, - action3: { - self.alertActionGoToDevicesList() - }, - action4: { - (LinphoneManager.instance().lpConfigInt(forKey: "debugenable_preference") == 1) ? self.showAddressAndIdentityPopup() : self.tapChooseMenuItem(self.action2Button) - }, - title: ChatConversationViewModel.sharedModel.address ?? "Error", - participants: ChatConversationViewModel.sharedModel.participants ?? "Error" - ) - setupViews() - markAsRead = true - - IQKeyboardManager.shared().disabledDistanceHandlingClasses.add(BackActionsNavigationView.self) - - //PhoneMainView.instance()!.mainViewController.view.makeSecure(field: field) - /* - NotificationCenter.default.addObserver(forName: UIApplication.userDidTakeScreenshotNotification, object: nil, queue: OperationQueue.main) { notification in - if (ConfigManager.instance().lpConfigBoolForKey(key: "screenshot_preference") == false && self.floatingButton.isHidden == false) { - let popupView = UIAlertController(title: VoipTexts.screenshot_restrictions, message: nil, preferredStyle: .alert) - - let defaultAction = UIAlertAction( - title: NSLocalizedString("Ok", comment: ""), - style: .default) - popupView.addAction(defaultAction) - self.present(popupView, animated: true, completion:{ - popupView.view.superview?.isUserInteractionEnabled = true - popupView.view.superview?.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.dismissOnTapOutsideOrCancel))) - }) - } - } - */ - - contentMessageView.floatingButton.addTarget(self, action: #selector(self.alertActionGoToDevicesList), for: .touchUpInside) - - ChatConversationViewModel.sharedModel.isComposing.observe { compose in - /* - if((compose! > 0 && self.contentMessageView.isComposingView.isHidden)||(compose! == 0 && !self.contentMessageView.isComposingView.isHidden)){ - print("on_chat_room_is_composing_received isComposing \(compose)") - self.setComposingVisible(compose!, withDelay: 0.3) - } - */ - self.setComposingVisible(compose!, withDelay: 0.3) - } - - ChatConversationViewModel.sharedModel.messageReceived.observe { message in - self.tableControllerSwift.refreshData(isOutgoing: false) - } - - ChatConversationViewModel.sharedModel.stateChanged.observe { state in - self.configureMessageField() - self.action1BisButton.isEnabled = !ChatConversationViewModel.sharedModel.chatRoom!.isReadOnly - self.initDataSource(groupeChat: !ChatConversationViewModel.sharedModel.isOneToOneChat, secureLevel: ChatConversationViewModel.sharedModel.secureLevel != nil, cChatRoom: (state?.getCobject)!) - } - - ChatConversationViewModel.sharedModel.secureLevelChanged.observe { secure in - self.updateParticipantLabel() - self.tableControllerSwift.refreshData(isOutgoing: false) - self.contentMessageView.changeSecureLevel(secureLevel: ChatConversationViewModel.sharedModel.secureLevel != nil, imageBadge: ChatConversationViewModel.sharedModel.secureLevel) - } - - ChatConversationViewModel.sharedModel.subjectChanged.observe { subject in - if let subjectVM = ChatConversationViewModel.sharedModel.subject { - self.titleGroupLabel.text = subjectVM - self.titleLabel.text = subjectVM - self.tableControllerSwift.refreshData(isOutgoing: false) - } - } - - ChatConversationViewModel.sharedModel.eventLog.observe { event in - if (event?.chatMessage != nil || event?.chatMessage?.isOutgoing != nil) { - self.tableControllerSwift.refreshData(isOutgoing: (event?.chatMessage!.isOutgoing)!) - }else{ - self.tableControllerSwift.refreshData(isOutgoing: false) - } - } - - ChatConversationViewModel.sharedModel.indexPathVM.observe { index in - self.collectionViewMedia.reloadData() - if(ChatConversationViewModel.sharedModel.mediaCollectionView.count > 0){ - self.contentMessageView.messageView.sendButton.isEnabled = true - } - self.loadingView.isHidden = true - self.contentMessageView.messageView.isLoading = false - self.loading.stopRotation() - - self.contentMessageView.messageView.sendButton.isEnabled = true - self.contentMessageView.messageView.pictureButton.isEnabled = true - } - - ChatConversationViewModel.sharedModel.shareFileName.observe { name in - self.contentMessageView.messageView.messageText.text = ChatConversationViewModel.sharedModel.shareFileMessage - self.confirmShare(ChatConversationViewModel.sharedModel.nsDataRead(), url: nil, fileName: name) - } - - ChatConversationViewModel.sharedModel.shareFileURL.observe { url in - self.contentMessageView.messageView.messageText.text = ChatConversationViewModel.sharedModel.shareFileMessage - self.confirmShare(ChatConversationViewModel.sharedModel.nsDataRead(), url: url, fileName: nil) - } - - ChatConversationTableViewModel.sharedModel.messageSelected.observe { result in - if ChatConversationTableViewModel.sharedModel.messageSelected.value! > 0 { - self.action1SelectAllButton.isHidden = true - self.action1DeselectAllButton.isHidden = false - self.action2Delete.isEnabled = true - }else{ - self.action1SelectAllButton.isHidden = false - self.action1DeselectAllButton.isHidden = true - self.action2Delete.isEnabled = false - } - } - - let notificationCenter = NotificationCenter.default - notificationCenter.addObserver(self, selector: #selector(appMovedToForeground), name: UIApplication.willEnterForegroundNotification, object: nil) - } - - @objc func appMovedToForeground() { - if (tableControllerSwift.menu != nil && !tableControllerSwift.menu!.isHidden) { - tableControllerSwift.menu!.hide() - } - if(PhoneMainView.instance().currentView == ChatConversationViewSwift.compositeViewDescription()){ - let lc: Core = Core.getSwiftObject(cObject: LinphoneManager.getLc()) - if(lc.globalState.rawValue == LinphoneGlobalOn.rawValue){ - do { - let peerAddress = try Factory.Instance.createAddress(addr: (ChatConversationViewModel.sharedModel.chatRoom?.peerAddress?.asStringUriOnly())!) - let localAddress = try Factory.Instance.createAddress(addr: (ChatConversationViewModel.sharedModel.chatRoom?.localAddress?.asStringUriOnly())!) - if (peerAddress.isValid! && (localAddress.isValid != nil)) { - ChatConversationViewModel.sharedModel.chatRoom = lc.searchChatRoom(params: nil, localAddr: localAddress, remoteAddr: peerAddress, participants: nil) - if (ChatConversationViewModel.sharedModel.chatRoom != nil) { - ChatConversationViewModel.sharedModel.createChatConversation() - PhoneMainView.instance().currentRoom = ChatConversationViewModel.sharedModel.chatRoom?.getCobject - tableControllerSwift.refreshDataAfterForeground() - } - } - }catch{ - - } - } - } - } - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - IQKeyboardManager.shared().isEnabled = true - IQKeyboardManager.shared().isEnableAutoToolbar = false - ChatConversationViewModel.sharedModel.createChatConversation() - - topBar.backgroundColor = VoipTheme.voipToolbarBackgroundColor.get() - self.contentMessageView.contentView.addSubview(tableControllerSwift.view) - - // Setup Autolayout constraints - tableControllerSwift.view.translatesAutoresizingMaskIntoConstraints = false - tableControllerSwift.view.bottomAnchor.constraint(equalTo: self.contentMessageView.contentView.bottomAnchor, constant: 0).isActive = true - tableControllerSwift.view.leftAnchor.constraint(equalTo: self.contentMessageView.contentView.leftAnchor, constant: 0).isActive = true - tableControllerSwift.view.topAnchor.constraint(equalTo: self.contentMessageView.contentView.topAnchor, constant: 0).isActive = true - tableControllerSwift.view.rightAnchor.constraint(equalTo: self.contentMessageView.contentView.rightAnchor, constant: 0).isActive = true - - ChatConversationTableViewModel.sharedModel.chatRoom = ChatConversationViewModel.sharedModel.chatRoom - - contentMessageView.messageView.sendButton.onClickAction = onSendClick - contentMessageView.messageView.pictureButton.onClickAction = alertAction - contentMessageView.messageView.voiceRecordButton.onClickAction = onVrStart - contentMessageView.messageView.emojisButton.addTarget(self,action:#selector(openEmojiPickerModule), - for:.touchUpInside) - contentMessageView.recordingDeleteButton.onClickAction = cancelVoiceRecording - contentMessageView.recordingPlayButton.onClickAction = onvrPlayPauseStop - contentMessageView.recordingStopButton.onClickAction = onvrPlayPauseStop - - if !ChatConversationViewModel.sharedModel.chatRoom!.isReadOnly { - contentMessageView.messageView.ephemeralIndicator.isHidden = !ChatConversationViewModel.sharedModel.chatRoom!.ephemeralEnabled - } - - handlePendingTransferIfAny() - configureMessageField() - ChatConversationViewModel.sharedModel.shareFile() - - field.isUserInteractionEnabled = false - - /* - let keyWindow = UIApplication.shared.windows.filter {$0.isKeyWindow}.first - if keyWindow != nil { - if ConfigManager.instance().lpConfigBoolForKey(key: "screenshot_preference") == false && floatingButton.isHidden == false { - PhoneMainView.instance()!.mainViewController.view.changeSecure(field: field, isSecure: true) - }else{ - PhoneMainView.instance()!.mainViewController.view.changeSecure(field: field, isSecure: false) - } - } - */ - } - - override func viewWillDisappear(_ animated: Bool) { - if friendDelegate != nil { - friend?.removeDelegate(delegate: friendDelegate!) - } - AvatarBridge.removeAllObserver() - - /* - let keyWindow = UIApplication.shared.windows.filter {$0.isKeyWindow}.first - if keyWindow != nil { - PhoneMainView.instance()!.mainViewController.view.changeSecure(field: field, isSecure: false) - } - */ - - field.isUserInteractionEnabled = true - - IQKeyboardManager.shared().isEnabled = false - } - - override func viewDidDisappear(_ animated: Bool) { - resetView() - } - - @objc func resetView(){ - ChatConversationViewModel.sharedModel.resetViewModel() - linphoneChatRoom = nil - editModeOff() - if(self.contentMessageView.isComposingView.isHidden == false){ - self.contentMessageView.isComposingView.isHidden = true - } - if(self.contentMessageView.mediaSelector.isHidden == false){ - self.contentMessageView.mediaSelector.isHidden = true - } - if(self.contentMessageView.replyBubble.isHidden == false){ - self.contentMessageView.replyBubble.isHidden = true - } - - cancelVoiceRecording() - - ChatConversationViewModel.sharedModel.mediaCollectionView = [] - ChatConversationViewModel.sharedModel.replyCollectionView.removeAll() - self.contentMessageView.messageView.fileContext = false - ChatConversationViewModel.sharedModel.imageT = [] - self.collectionViewMedia.reloadData() - self.collectionViewReply.reloadData() - if contentMessageView.messageView.messageText.textColor == UIColor.lightGray || self.contentMessageView.messageView.messageText.text.isEmpty{ - self.contentMessageView.messageView.sendButton.isEnabled = false - } else { - self.contentMessageView.messageView.sendButton.isEnabled = true - } - self.contentMessageView.messageView.pictureButton.isEnabled = true - - contentMessageView.isComposingTextView.text = "" - } - - func goBackChatListView() { - sharingMedia = false - PhoneMainView.instance().pop(toView: ChatsListView.compositeViewDescription()) - } - - func tapChooseMenuItem(_ sender: UIButton) { - menu.anchorView = sender - menu.bottomOffset = CGPoint(x: -UIScreen.main.bounds.width * 0.6, y: sender.frame.size.height) - menu.show() - menu.selectionAction = { [weak self] (index: Int, item: String) in - guard let _ = self else { return } - switch item { - case VoipTexts.dropdown_menu_chat_conversation_add_to_contact: - self!.addOrGoToContact() - case VoipTexts.dropdown_menu_chat_conversation_go_to_contact: - self!.addOrGoToContact() - case VoipTexts.conference_schedule_start: - self!.conferenceSchedule() - case VoipTexts.dropdown_menu_chat_conversation_group_infos: - self!.displayGroupInfo() - case VoipTexts.dropdown_menu_chat_conversation_conversation_device: - self!.goToDevicesList() - case VoipTexts.dropdown_menu_chat_conversation_ephemeral_messages: - self!.goToEphemeralSettings() - case VoipTexts.dropdown_menu_chat_conversation_mute_notifications: - self!.mute_unmute_notifications() - self?.menu.dataSource[index] = VoipTexts.dropdown_menu_chat_conversation_unmute_notifications - case VoipTexts.dropdown_menu_chat_conversation_unmute_notifications: - self!.mute_unmute_notifications() - self?.menu.dataSource[index] = VoipTexts.dropdown_menu_chat_conversation_mute_notifications - case VoipTexts.dropdown_menu_chat_conversation_delete_messages: - self!.onEditionChangeClick() - default: - self!.showAddressAndIdentityPopup() - } - self!.menu.clearSelection() - } - } - - func goToDevicesList() { - let view: DevicesListView = self.VIEW(DevicesListView.compositeViewDescription()) - view.room = ChatConversationViewModel.sharedModel.chatRoom?.getCobject - PhoneMainView.instance().changeCurrentView(view.compositeViewDescription()) - } - - func addOrGoToContact() { - let firstParticipant = ChatConversationViewModel.sharedModel.chatRoom?.participants.first - let addr = (firstParticipant != nil) ? linphone_participant_get_address(firstParticipant?.getCobject) : linphone_chat_room_get_peer_address(ChatConversationViewModel.sharedModel.chatRoom?.getCobject) - - if let contact = FastAddressBook.getContactWith(addr) { - let view: ContactDetailsView = self.VIEW(ContactDetailsView.compositeViewDescription()) - ContactSelection.setSelectionMode(ContactSelectionModeNone) - MagicSearchSingleton.instance().currentFilter = "" - view.contact = contact - PhoneMainView.instance().changeCurrentView(view.compositeViewDescription()) - } else { - if let lAddress = linphone_address_as_string_uri_only(addr) { - var normSip = String(utf8String: lAddress) - normSip = normSip?.hasPrefix("sip:") ?? false ? (normSip as NSString?)?.substring(from: 4) : normSip - normSip = normSip?.hasPrefix("sips:") ?? false ? (normSip as NSString?)?.substring(from: 5) : normSip - ContactSelection.setAddAddress(normSip) - ContactSelection.setSelectionMode(ContactSelectionModeEdit) - ContactSelection.enableSipFilter(false) - PhoneMainView.instance().changeCurrentView(ContactsListView.compositeViewDescription()) - } - } - } - - func displayGroupInfo() { - let contactsArray: NSMutableArray = [] - let contactsArrayCopy: NSMutableArray = [] - let admins: NSMutableArray = [] - let adminsCopy: NSMutableArray = [] - let participants = ChatConversationViewModel.sharedModel.chatRoom?.participants - participants?.forEach{ participant in - let curi = linphone_address_as_string_uri_only(linphone_participant_get_address(participant.getCobject)) - let uri = String(utf8String: curi!) - contactsArray.add(uri!) - contactsArrayCopy.add(uri!) - if (linphone_participant_is_admin(participant.getCobject) != 0) { - admins.add(uri!) - adminsCopy.add(uri!) - } - } - - let view: ChatConversationInfoView = self.VIEW(ChatConversationInfoView.compositeViewDescription()) - view.create = false - view.contacts = contactsArray - view.oldContacts = contactsArrayCopy - view.admins = admins - view.oldAdmins = adminsCopy - view.oldSubject = String(utf8String: linphone_chat_room_get_subject(ChatConversationViewModel.sharedModel.chatRoom?.getCobject)) ?? LINPHONE_DUMMY_SUBJECT - view.room = ChatConversationViewModel.sharedModel.chatRoom?.getCobject - - let localAddress = linphone_address_as_string(linphone_chat_room_get_local_address(ChatConversationViewModel.sharedModel.chatRoom?.getCobject)) - let peerAddress = linphone_address_as_string(linphone_chat_room_get_peer_address(ChatConversationViewModel.sharedModel.chatRoom?.getCobject)) - view.peerAddress = UnsafePointer(peerAddress) - view.localAddress = UnsafePointer(localAddress) - PhoneMainView.instance().changeCurrentView(view.compositeViewDescription()) - } - - func goToEphemeralSettings(){ - let view: EphemeralSettingsView = self.VIEW(EphemeralSettingsView.compositeViewDescription()) - view.room = ChatConversationViewModel.sharedModel.chatRoom?.getCobject - PhoneMainView.instance().changeCurrentView(view.compositeViewDescription()) - } - - func conferenceSchedule(){ - ConferenceViewModelBridge.scheduleFromGroupChat(cChatRoom: (ChatConversationViewModel.sharedModel.chatRoom?.getCobject)!) - PhoneMainView.instance().pop(toView: ConferenceSchedulingView.compositeViewDescription()) - } - - func mute_unmute_notifications(){ - LinphoneManager.setChatroomPushEnabled(ChatConversationViewModel.sharedModel.chatRoom?.getCobject, withPushEnabled: !LinphoneManager.getChatroomPushEnabled(ChatConversationViewModel.sharedModel.chatRoom?.getCobject)) - } - - func onEditionChangeClick() { - editModeOn() - } - - func showAddressAndIdentityPopup() { - - let localAddress = String(utf8String: linphone_address_as_string(linphone_chat_room_get_local_address(ChatConversationViewModel.sharedModel.chatRoom?.getCobject))) - let peerAddress = String(utf8String: linphone_address_as_string(linphone_chat_room_get_peer_address(ChatConversationViewModel.sharedModel.chatRoom?.getCobject))) - - var infoMsg: String? = nil - if (peerAddress != nil && localAddress != nil) { - infoMsg = "Chat room id:\n\(peerAddress ?? "nil")\nLocal account:\n\(localAddress ?? "nil")" - } - - let popupView = UIAlertController(title: NSLocalizedString("Chatroom debug infos", comment: ""), message: infoMsg, preferredStyle: .alert) - - let defaultAction = UIAlertAction( - title: NSLocalizedString("Copy to clipboard", comment: ""), - style: .default, - handler: { action in - let pasteboard = UIPasteboard.general - pasteboard.string = infoMsg - }) - popupView.addAction(defaultAction) - present(popupView, animated: true, completion:{ - popupView.view.superview?.isUserInteractionEnabled = true - popupView.view.superview?.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.dismissOnTapOutsideOrCancel))) - }) - - } - - func initDataSource(groupeChat: Bool, secureLevel: Bool, cChatRoom: OpaquePointer) { - menu.dataSource.removeAll() - let defaultAccount = Core.getSwiftObject(cObject: LinphoneManager.getLc()).defaultAccount - if(groupeChat){ - if !ChatConversationViewModel.sharedModel.chatRoom!.isReadOnly && (defaultAccount != nil) && (defaultAccount!.params!.audioVideoConferenceFactoryAddress != nil) { - menu.dataSource.append(VoipTexts.conference_schedule_start) - } - menu.dataSource.append(VoipTexts.dropdown_menu_chat_conversation_group_infos) - }else{ - var contact: Contact? = nil - let firstParticipant = ChatConversationViewModel.sharedModel.chatRoom?.participants.first - let addr = (firstParticipant != nil) ? linphone_participant_get_address(firstParticipant?.getCobject) : linphone_chat_room_get_peer_address(cChatRoom) - - contact = FastAddressBook.getContactWith(addr) - - if (contact == nil && !ConfigManager.instance().lpConfigBoolForKey(key: "read_only_native_address_book")) { - menu.dataSource.append(VoipTexts.dropdown_menu_chat_conversation_add_to_contact) - } else if (contact != nil) { - menu.dataSource.append(VoipTexts.dropdown_menu_chat_conversation_go_to_contact) - } - } - if(secureLevel){ - menu.dataSource.append(VoipTexts.dropdown_menu_chat_conversation_conversation_device) - if !ChatConversationViewModel.sharedModel.chatRoom!.isReadOnly { - menu.dataSource.append(VoipTexts.dropdown_menu_chat_conversation_ephemeral_messages) - } - } - if(LinphoneManager.getChatroomPushEnabled(ChatConversationViewModel.sharedModel.chatRoom?.getCobject)){ - menu.dataSource.append(VoipTexts.dropdown_menu_chat_conversation_mute_notifications) - }else{ - menu.dataSource.append(VoipTexts.dropdown_menu_chat_conversation_unmute_notifications) - } - menu.dataSource.append(VoipTexts.dropdown_menu_chat_conversation_delete_messages) - - if !ChatConversationViewModel.sharedModel.chatRoom!.isReadOnly { - contentMessageView.messageView.ephemeralIndicator.isHidden = !ChatConversationViewModel.sharedModel.chatRoom!.ephemeralEnabled - } - } - - @objc func initChatRoom(cChatRoom:OpaquePointer) { - ChatConversationViewModel.sharedModel.chatRoom = ChatRoom.getSwiftObject(cObject: cChatRoom) - linphoneChatRoom = cChatRoom - PhoneMainView.instance().currentRoom = cChatRoom - ChatConversationViewModel.sharedModel.address = ChatConversationViewModel.sharedModel.chatRoom?.peerAddress?.asString() - - var changeIcon = false - let isOneToOneChat = ChatConversationViewModel.sharedModel.chatRoom!.hasCapability(mask: Int(LinphoneChatRoomCapabilitiesOneToOne.rawValue)) - - if (isOneToOneChat) { - - let firstParticipant = ChatConversationViewModel.sharedModel.chatRoom?.participants.first - let addr = (firstParticipant != nil) ? linphone_participant_get_address(firstParticipant?.getCobject) : linphone_chat_room_get_peer_address(cChatRoom); - ChatConversationViewModel.sharedModel.address = FastAddressBook.displayName(for: addr) ?? "unknow" - changeIcon = false - updateParticipantLabel() - - } else { - ChatConversationViewModel.sharedModel.address = ChatConversationViewModel.sharedModel.chatRoom?.subject - changeIcon = true - updateParticipantLabel() - - } - - changeTitle(titleString: ChatConversationViewModel.sharedModel.address ?? "Error") - - if !ChatConversationViewModel.sharedModel.chatRoom!.isReadOnly{ - changeCallIcon(groupChat: changeIcon) - action1BisButton.isEnabled = true - }else{ - action1Button.isHidden = true - action1BisButton.isHidden = false - action1BisButton.isEnabled = false - } - let secureLevel = FastAddressBook.image(for: linphone_chat_room_get_security_level(cChatRoom)) - contentMessageView.changeSecureLevel(secureLevel: secureLevel != nil, imageBadge: secureLevel) - initDataSource(groupeChat: !isOneToOneChat, secureLevel: secureLevel != nil, cChatRoom: cChatRoom) - } - - func updateParticipantLabel(){ - let participants = ChatConversationViewModel.sharedModel.chatRoom?.participants - participantsGroupLabel.text = "" - if participants!.count > 1 { - participants?.forEach{ participant in - if participantsGroupLabel.text != "" { - participantsGroupLabel.text = participantsGroupLabel.text! + ", " - } - participantsGroupLabel.text = participantsGroupLabel.text! + FastAddressBook.displayName(for: linphone_participant_get_address(participant.getCobject)) - } - titleParticipants.isHidden = false - }else if participants?.first?.address?.contact() != nil { - let participantAddress = participants?.first?.address - participantsGroupLabel.text = participantAddress?.asStringUriOnly() - - - let participantFriend = participants?.first?.address?.contact()?.friend - friend = Friend.getSwiftObject(cObject: participantFriend!) - - var presenceModel : PresenceModel? - var hasPresence : Bool? = false - - if friend?.address?.asStringUriOnly() != nil { - presenceModel = friend!.presenceModel - hasPresence = presenceModel != nil && presenceModel!.basicStatus == PresenceBasicStatus.Open - } - - if (hasPresence! && presenceModel?.consolidatedPresence == ConsolidatedPresence.Online) { - participantsGroupLabel.text = VoipTexts.chat_room_presence_online; - } else if (hasPresence! && presenceModel?.consolidatedPresence == ConsolidatedPresence.Busy){ - - let timeInterval = TimeInterval(presenceModel!.latestActivityTimestamp) - let myNSDate = Date(timeIntervalSince1970: timeInterval) - - if timeInterval == -1 { - participantsGroupLabel.text = VoipTexts.chat_room_presence_away; - } else if Calendar.current.isDateInToday(myNSDate) { - let dateFormatter = DateFormatter() - dateFormatter.dateFormat = "HH:mm" - let dateString = dateFormatter.string(from: myNSDate) - participantsGroupLabel.text = VoipTexts.chat_room_presence_last_seen_online_today + dateString; - } else if Calendar.current.isDateInYesterday(myNSDate) { - let dateFormatter = DateFormatter() - dateFormatter.dateFormat = "HH:mm" - let dateString = dateFormatter.string(from: myNSDate) - participantsGroupLabel.text = VoipTexts.chat_room_presence_last_seen_online_yesterday + dateString; - } else { - let dateFormatter = DateFormatter() - dateFormatter.dateStyle = .short - let dateString = dateFormatter.string(from: myNSDate) - participantsGroupLabel.text = VoipTexts.chat_room_presence_last_seen_online + dateString; - } - } - - friendDelegate = FriendDelegateStub( - onPresenceReceived: { (linphoneFriend: Friend) -> Void in - self.friend?.removeDelegate(delegate: self.friendDelegate!) - self.updateParticipantLabel() - } - ) - friend?.addDelegate(delegate: friendDelegate!) - - titleParticipants.isHidden = false - }else{ - titleParticipants.isHidden = true - } - } - - func onCallClick(cChatRoom: OpaquePointer?) { - let firstParticipant = ChatConversationViewModel.sharedModel.chatRoom?.participants.first - let addr = (firstParticipant != nil) ? linphone_participant_get_address(firstParticipant?.getCobject) : linphone_chat_room_get_peer_address(cChatRoom); - - let isOneToOneChat = ChatConversationViewModel.sharedModel.chatRoom!.hasCapability(mask: Int(LinphoneChatRoomCapabilitiesOneToOne.rawValue)) - - AudioPlayer.initSharedPlayer() - - if (!isOneToOneChat) { - alertActionConferenceCall(cChatRoom: cChatRoom) - } else { - LinphoneManager.instance().call(addr) - } - } - - func alertActionConferenceCall(cChatRoom: OpaquePointer?) { - - let alertController = CustomAlertController(title: VoipTexts.conference_start_group_call_dialog_message, message: nil, preferredStyle: .alert) - - alertController.setBackgroundColor(color: .darkGray) - alertController.setTitle(font: nil, color: .white) - alertController.setTint(color: .white) - alertController.setMaxWidth(alert: alertController) - - alertController.addButtonsAlertController(alertController: alertController, buttonsViewHeightV: 60, buttonsAlertHeightV: 40) - - activeAlertController = alertController - - self.present(alertController, animated: true, completion:{ - alertController.view.superview?.isUserInteractionEnabled = true - alertController.view.superview?.subviews[0].addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.dismissOnTapOutsideOrCancel))) - }) - - - alertController.ok_button_alert.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.onTapOkStartGroupCall))) - - } - - @objc func alertActionGoToDevicesList() { - - let notAskAgain = ConfigManager.instance().lpConfigBoolForKey(key: "confirmation_dialog_before_sas_call_not_ask_again"); - if(!notAskAgain){ - let alertController = CustomAlertController(title: VoipTexts.alert_dialog_secure_badge_button_chat_conversation_title, message: nil, preferredStyle: .alert) - - alertController.setBackgroundColor(color: .darkGray) - alertController.setTitle(font: nil, color: .white) - alertController.setTint(color: .white) - alertController.setMaxWidth(alert: alertController) - - alertController.addButtonsAlertController(alertController: alertController, buttonsViewHeightV: 60, checkboxViewHeightV: 50, buttonsAlertHeightV: 40) - - activeAlertController = alertController - - self.present(alertController, animated: true, completion:{ - alertController.view.superview?.isUserInteractionEnabled = true - alertController.view.superview?.subviews[0].addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.dismissOnTapOutsideOrCancel))) - }) - - alertController.ok_button_alert.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.onTapOkGoToDevicesList))) - }else{ - let view: DevicesListView = self.VIEW(DevicesListView.compositeViewDescription()) - view.room = ChatConversationViewModel.sharedModel.chatRoom?.getCobject - PhoneMainView.instance().changeCurrentView(view.compositeViewDescription()) - } - - } - - @objc func onTapOkStartGroupCall(){ - self.dismiss(animated: true, completion: nil) - ConferenceViewModelBridge.startGroupCall(cChatRoom: (ChatConversationViewModel.sharedModel.chatRoom?.getCobject)!) - } - - @objc func onTapOkGoToDevicesList() { - self.dismiss(animated: true, completion: nil) - if(activeAlertController.isChecked){ - ConfigManager.instance().lpConfigSetBool(value: activeAlertController.isChecked, key: "confirmation_dialog_before_sas_call_not_ask_again") - } - let view: DevicesListView = self.VIEW(DevicesListView.compositeViewDescription()) - view.room = ChatConversationViewModel.sharedModel.chatRoom?.getCobject - PhoneMainView.instance().changeCurrentView(view.compositeViewDescription()) - } - - @objc func dismissOnTapOutsideOrCancel(){ - self.dismiss(animated: true, completion: nil) - } - - override func editModeOn(){ - super.editModeOn() - ChatConversationTableViewModel.sharedModel.changeEditMode(editMode: true) - } - - override func editModeOff(){ - super.editModeOff() - ChatConversationTableViewModel.sharedModel.messageListSelected.value?.removeAll() - ChatConversationTableViewModel.sharedModel.changeEditMode(editMode: false) - } - - override func selectDeselectAll(){ - super.selectDeselectAll() - if(action1SelectAllButton.isHidden){ - ChatConversationTableViewModel.sharedModel.selectAllMessages() - }else{ - ChatConversationTableViewModel.sharedModel.unSelectAllMessages() - } - } - - override func deleteSelected(){ - super.deleteSelected() - onDeleteClick() - } - - func onDeleteClick() { - let msg = NSLocalizedString("Do you want to delete the selected messages?", comment: "") - UIConfirmationDialog.show( - withMessage: msg, - cancelMessage: nil, - confirmMessage: nil, - onCancelClick: { [self] in - //onEditionChangeClick() - }, - onConfirmationClick: { - ChatConversationTableViewModel.sharedModel.deleteMessagesSelected() - self.editModeOff() - } - ) - } - - - - func sendMessageInMessageField(rootMessage: ChatMessage?) { - if ChatConversationViewModel.sharedModel.sendMessage(message: contentMessageView.messageView.messageText.textColor != UIColor.lightGray ? contentMessageView.messageView.messageText.text.trimmingCharacters(in: .whitespacesAndNewlines) : "", withExterlBodyUrl: nil, rootMessage: rootMessage) { - if !contentMessageView.messageView.messageText.isFirstResponder{ - contentMessageView.messageView.messageText.textColor = UIColor.lightGray - contentMessageView.messageView.messageText.text = "Message" - } else { - contentMessageView.messageView.messageText.text = "" - } - contentMessageView.messageView.emojisButton.isHidden = true - contentMessageView.messageView.isComposing = false - } - setSendButtonState() - } - - func onSendClick() { - let rootMessage = !contentMessageView.replyBubble.isHidden ? linphone_chat_room_create_reply_message(ChatConversationViewModel.sharedModel.chatRoom?.getCobject, ChatConversationViewModel.sharedModel.replyMessage) : linphone_chat_room_create_empty_message(ChatConversationViewModel.sharedModel.chatRoom?.getCobject) - - if ChatConversationViewModel.sharedModel.isVoiceRecording { - stopVoiceRecording() - } - - if ChatConversationViewModel.sharedModel.isPendingVoiceRecord && (ChatConversationViewModel.sharedModel.voiceRecorder != nil) && (linphone_recorder_get_file(ChatConversationViewModel.sharedModel.voiceRecorder?.getCobject) != nil) { - let voiceContent = linphone_recorder_create_content(ChatConversationViewModel.sharedModel.voiceRecorder?.getCobject) - ChatConversationViewModel.sharedModel.isPendingVoiceRecord = false - cancelVoiceRecording() - let conference = ChatConversationViewModel.sharedModel.chatRoom!.hasCapability(mask: Int(LinphoneChatRoomCapabilitiesConference.rawValue)) - if (linphone_chat_room_get_capabilities(ChatConversationViewModel.sharedModel.chatRoom?.getCobject) != 0) && conference { - linphone_chat_message_add_content(rootMessage, voiceContent) - }else{ - if contentMessageView.messageView.messageText.textColor != UIColor.lightGray { - let rootMessageText = !contentMessageView.replyBubble.isHidden ? linphone_chat_room_create_reply_message(ChatConversationViewModel.sharedModel.chatRoom?.getCobject, ChatConversationViewModel.sharedModel.replyMessage) : linphone_chat_room_create_empty_message(ChatConversationViewModel.sharedModel.chatRoom?.getCobject) - let result = ChatMessage.getSwiftObject(cObject: rootMessageText!) - sendMessageInMessageField(rootMessage: result) - - linphone_chat_message_add_content(rootMessage, voiceContent) - }else{ - linphone_chat_message_add_content(rootMessage, voiceContent) - } - } - } - if ChatConversationViewModel.sharedModel.fileContext.count > 0 { - let conference = ChatConversationViewModel.sharedModel.chatRoom!.hasCapability(mask: Int(LinphoneChatRoomCapabilitiesConference.rawValue)) - if (linphone_chat_room_get_capabilities(ChatConversationViewModel.sharedModel.chatRoom?.getCobject) != 0) && conference { - let result = ChatMessage.getSwiftObject(cObject: rootMessage!) - let _ = startMultiFilesUpload(result) - } else { - for i in 0..<(ChatConversationViewModel.sharedModel.fileContext.count) { - startUploadData(ChatConversationViewModel.sharedModel.fileContext[i], withType: FileType.init(ChatConversationViewModel.sharedModel.mediaURLCollection[i].pathExtension)?.getGroupTypeFromFile(), withName: ChatConversationViewModel.sharedModel.mediaURLCollection[i].lastPathComponent, andMessage: nil, rootMessage: nil) - } - if contentMessageView.messageView.messageText.textColor != UIColor.lightGray { - let result = ChatMessage.getSwiftObject(cObject: rootMessage!) - sendMessageInMessageField(rootMessage: result) - } - } - - ChatConversationViewModel.sharedModel.fileContext = [] - contentMessageView.messageView.fileContext = false - ChatConversationViewModel.sharedModel.mediaCollectionView = [] - ChatConversationViewModel.sharedModel.mediaURLCollection = [] - if(self.contentMessageView.mediaSelector.isHidden == false){ - self.contentMessageView.mediaSelector.isHidden = true - } - if(self.contentMessageView.replyBubble.isHidden == false){ - self.contentMessageView.replyBubble.isHidden = true - } - return - } - if(self.contentMessageView.mediaSelector.isHidden == false){ - self.contentMessageView.mediaSelector.isHidden = true - } - if(self.contentMessageView.replyBubble.isHidden == false){ - self.contentMessageView.replyBubble.isHidden = true - } - let result = ChatMessage.getSwiftObject(cObject: rootMessage!) - sendMessageInMessageField(rootMessage: result) - } - - func startMultiFilesUpload(_ rootMessage: ChatMessage?) -> Bool { - let fileTransfer = FileTransferDelegate() - if contentMessageView.messageView.messageText.textColor != UIColor.lightGray { - fileTransfer.text = contentMessageView.messageView.messageText.text - } else { - fileTransfer.text = "" - } - fileTransfer.uploadFileContent(forSwift: ChatConversationViewModel.sharedModel.fileContext, urlList: ChatConversationViewModel.sharedModel.mediaURLCollection, for: ChatConversationViewModel.sharedModel.chatRoom?.getCobject, rootMessage: rootMessage?.getCobject) - if fileTransfer.text.isEmpty && !contentMessageView.messageView.messageText.isFirstResponder{ - contentMessageView.messageView.messageText.textColor = UIColor.lightGray - contentMessageView.messageView.messageText.text = "Message" - contentMessageView.messageView.emojisButton.isHidden = true - } else { - contentMessageView.messageView.messageText.text = "" - contentMessageView.messageView.emojisButton.isHidden = true - } - contentMessageView.messageView.sendButton.isEnabled = false - - tableControllerSwift.refreshData(isOutgoing: true) - return true - } - - @objc class func writeFileInImagesDirectory(_ data: Data?, name: String?) { - let filePath = URL(fileURLWithPath: LinphoneManager.imagesDirectory()).appendingPathComponent(name ?? "").path - if name != nil || (name == "") { - Log.i("try to write file in \(filePath)") - } - FileManager.default.createFile( - atPath: filePath, - contents: data, - attributes: nil) - } - - func startUploadData(_ data: Data?, withType type: String?, withName name: String?, andMessage message: String?, rootMessage: ChatMessage?){ - ChatConversationViewModel.sharedModel.startUploadData(data, withType: type, withName: name, andMessage: message, rootMessage: rootMessage) - tableControllerSwift.refreshData(isOutgoing: true) - } - - func setComposingVisible(_ visible: Int, withDelay delay: CGFloat) { - print("setComposingVisiblesetComposingVisible \(ChatConversationViewModel.sharedModel.chatRoom!.composingAddresses.count)") - if visible > 0 { - let addresses = ChatConversationViewModel.sharedModel.chatRoom!.composingAddresses - var composingAddresses : String? = "" - if addresses.count == 1 { - - composingAddresses = FastAddressBook.displayName(for: addresses.first?.getCobject) - contentMessageView.isComposingTextView.text = String.localizedStringWithFormat(NSLocalizedString("%@ is writing...", comment: ""), composingAddresses!) - } else { - addresses.forEach({ addressItem in - if composingAddresses != "" { - composingAddresses = composingAddresses! + ", " - } - composingAddresses = composingAddresses! + FastAddressBook.displayName(for: addressItem.getCobject) - }) - contentMessageView.isComposingTextView.text = String.localizedStringWithFormat(NSLocalizedString("%@ are writing...", comment: ""), composingAddresses!) - } - } - if visible == 0 { - UIView.animate(withDuration: 0.3, animations: { - self.contentMessageView.isComposingView.isHidden = true - }) - } else { - UIView.animate(withDuration: 0.3, animations: { - self.contentMessageView.isComposingView.isHidden = false - }) - } - } - - func selectionMedia() { - UIView.animate(withDuration: 0.3, animations: { - self.contentMessageView.mediaSelector.isHidden = !self.contentMessageView.mediaSelector.isHidden - }) - } - - func setRecordingVisible(hidden : Bool) { - UIView.animate(withDuration: 0.3, animations: { - self.contentMessageView.recordingView.isHidden = hidden - }) - } - - func initReplyView(_ visible: Bool, message: OpaquePointer?) { - if visible { - let addresses = ChatMessage.getSwiftObject(cObject: message!).fromAddress - let composingAddresses : String? = FastAddressBook.displayName(for: addresses?.getCobject) - contentMessageView.replyLabelTextView.text = String.localizedStringWithFormat(NSLocalizedString("%@", comment: ""), composingAddresses!) - - let isIcal = ICSBubbleView.isConferenceInvitationMessage(cmessage: message!) - let content : String? = (isIcal ? ICSBubbleView.getSubjectFromContent(cmessage: message!) : ChatMessage.getSwiftObject(cObject: message!).utf8Text) - - contentMessageView.replyContentTextView.text = content - contentMessageView.replyContentForMeetingTextView.text = content - contentMessageView.backgroundReplyColor.backgroundColor = (linphone_chat_message_is_outgoing(message) != 0) ? UIColor("A").withAlphaComponent(0.2) : UIColor("D").withAlphaComponent(0.2) - - contentMessageView.replyDeleteButton.isHidden = false - contentMessageView.replyDeleteButton.onClickAction = { - self.contentMessageView.replyDeleteButton.isHidden = true - self.initReplyView(false, message: nil) - ChatConversationViewModel.sharedModel.replyURLCollection.removeAll() - ChatConversationViewModel.sharedModel.replyCollectionView.removeAll() - self.collectionViewReply.reloadData() - } - - let contentList = linphone_chat_message_get_contents(message) - - if(isIcal){ - contentMessageView.replyMeetingSchedule.image = UIImage(named: "voip_meeting_schedule") - contentMessageView.replyMeetingSchedule.isHidden = false - contentMessageView.replyContentForMeetingTextView.isHidden = false - contentMessageView.replyContentTextView.isHidden = true - contentMessageView.mediaSelectorReply.isHidden = true - contentMessageView.replyContentTextSpacing.isHidden = true - }else{ - - if(bctbx_list_size(contentList) >= 1 && content == nil){ - contentMessageView.mediaSelectorReply.isHidden = false - contentMessageView.replyContentTextSpacing.isHidden = true - ChatMessage.getSwiftObject(cObject: message!).contents.forEach({ content in - if(content.isFile){ - let indexPath = IndexPath(row: ChatConversationViewModel.sharedModel.replyCollectionView.count, section: 0) - - if VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) { - var plainFile = content.exportPlainFile() - - ChatConversationViewModel.sharedModel.replyURLCollection.append(URL(string: plainFile.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!)!) - ChatConversationViewModel.sharedModel.replyCollectionView.append(ChatConversationViewModel.sharedModel.getImageFrom(content.getCobject, filePath: plainFile, forReplyBubble: true)!) - - ChatConversationViewModel.sharedModel.removeTmpFile(filePath: plainFile) - plainFile = "" - - }else{ - ChatConversationViewModel.sharedModel.replyURLCollection.append(URL(string: content.filePath!.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!)!) - ChatConversationViewModel.sharedModel.replyCollectionView.append(ChatConversationViewModel.sharedModel.getImageFrom(content.getCobject, filePath: content.filePath, forReplyBubble: true)!) - } - - collectionViewReply.reloadData() - }else if(content.isText){ - contentMessageView.replyContentTextSpacing.isHidden = false - } - }) - - }else{ - contentMessageView.mediaSelectorReply.isHidden = true - } - contentMessageView.replyMeetingSchedule.isHidden = true - contentMessageView.replyContentForMeetingTextView.isHidden = true - contentMessageView.replyContentTextView.isHidden = false - - } - - } - UIView.animate(withDuration: 0.3, animations: { - self.contentMessageView.replyBubble.isHidden = !self.contentMessageView.replyBubble.isHidden - }) - } - - @objc class func getKeyFromFileType(_ fileType: String?, fileName name: String?) -> String? { - if fileType == "video" { - return "localvideo" - } else if (fileType == "image") || name?.hasSuffix("JPG") ?? false || name?.hasSuffix("PNG") ?? false || name?.hasSuffix("jpg") ?? false || name?.hasSuffix("png") ?? false { - return "localimage" - } - return "localfile" - } - - @objc class func writeMediaToGalleryFromName(_ name: String?, fileType: String?) { - ChatConversationViewModel.sharedModel.writeMediaToGalleryFromName(name, fileType: fileType) - } - - class func showFileDownloadError() { - let errView = UIAlertController( - title: NSLocalizedString("File download error", comment: ""), - message: NSLocalizedString( - """ - Error while downloading the file.\n\ - The file is probably encrypted.\n\ - Please retry to download this file after activating LIME. - """, - comment: ""), - preferredStyle: .alert) - - let defaultAction = UIAlertAction( - title: "OK", - style: .default, - handler: { action in - }) - - errView.addAction(defaultAction) - PhoneMainView.instance()!.present(errView, animated: true) - } - - - func alertAction() { - - let alertController = UIAlertController(title: VoipTexts.image_picker_view_alert_action_title, message: nil, preferredStyle: .actionSheet) - - let alert_action_camera = UIAlertAction(title: VoipTexts.image_picker_view_alert_action_camera, style: .default, handler: { (action) -> Void in - self.imageCamera() - }) - let alert_action_photo_library = UIAlertAction(title: VoipTexts.image_picker_view_alert_action_photo_library, style: .default, handler: { (action) -> Void in - self.pickPhotos() - }) - let alert_action_document = UIAlertAction(title: VoipTexts.image_picker_view_alert_action_document, style: .default, handler: { (action) -> Void in - self.openDocumentPicker() - }) - - let cancel = UIAlertAction(title: VoipTexts.cancel, style: .cancel) { (action) -> Void in - } - - - alertController.addAction(cancel) - alertController.addAction(alert_action_camera) - alertController.addAction(alert_action_photo_library) - alertController.addAction(alert_action_document) - - alertController.popoverPresentationController?.sourceView = PhoneMainView.instance().mainViewController.statusBarView - PhoneMainView.instance().mainViewController.present(alertController, animated: true) - } - - func imageCamera(){ - let imagePicker = UIImagePickerController() - imagePicker.sourceType = .camera - imagePicker.mediaTypes = ["public.image", "public.movie"] - imagePicker.modalPresentationStyle = .overFullScreen - imagePicker.delegate = self - PhoneMainView.instance().mainViewController.present(imagePicker, animated: true) - - } - - func pickPhotos() - { - if #available(iOS 14.0, *) { - var config = PHPickerConfiguration() - config.selectionLimit = 0 - let pickerViewController = PHPickerViewController(configuration: config) - pickerViewController.delegate = self - PhoneMainView.instance().mainViewController.present(pickerViewController, animated: true) - } else { - let imagePicker = UIImagePickerController() - imagePicker.sourceType = .photoLibrary - imagePicker.mediaTypes = ["public.image", "public.movie"] - imagePicker.delegate = self - PhoneMainView.instance().mainViewController.present(imagePicker, animated: true) - } - } - - func openDocumentPicker() { - let documentPicker = UIDocumentPickerViewController(documentTypes: ["public.jpeg","com.compuserve.gif","public.url","public.movie","com.apple.mapkit.map-item","com.adobe.pdf","public.png","public.image", "public.data", "public.text"], in: .import) - documentPicker.delegate = self - documentPicker.modalPresentationStyle = .overFullScreen - documentPicker.allowsMultipleSelection = true - PhoneMainView.instance().mainViewController.present(documentPicker, animated: true) - } - - func setupViews() { - contentMessageView.mediaSelector.addSubview(collectionViewMedia) - collectionViewMedia.dataSource = self - collectionViewMedia.delegate = self - collectionViewMedia.register(UICollectionViewCell.self, forCellWithReuseIdentifier: "cell") - - - loadingView.backgroundColor = UIColor(red: 0.77, green: 0.77, blue: 0.77, alpha: 0.80) - contentMessageView.mediaSelector.addSubview(loadingView) - loadingView.matchParentEdges().done() - - loadingText.text = VoipTexts.operation_in_progress_wait - loadingView.addSubview(loading) - loadingView.addSubview(loadingText) - loadingText.alignParentLeft(withMargin: 10).alignParentRight(withMargin: 10).alignParentBottom(withMargin: 30).alignVerticalCenterWith(loadingView).done() - loading.square(Int(top_bar_height)).alignVerticalCenterWith(loadingView).alignParentTop(withMargin: 20).done() - - contentMessageView.mediaSelectorReply.addSubview(collectionViewReply) - collectionViewReply.dataSource = self - collectionViewReply.delegate = self - collectionViewReply.register(UICollectionViewCell.self, forCellWithReuseIdentifier: "cellReply") - } - - func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { - if(collectionView == collectionViewMedia){ - return ChatConversationViewModel.sharedModel.mediaCollectionView.count - } - return ChatConversationViewModel.sharedModel.replyCollectionView.count - } - - @objc(collectionView:cellForItemAtIndexPath:) func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { - if(collectionView == collectionViewMedia){ - let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) - let viewCell: UIView = UIView(frame: cell.contentView.frame) - cell.addSubview(viewCell) - - let deleteButton = CallControlButton(width: 22, height: 22, buttonTheme:VoipTheme.nav_color_button("reply_cancel")) - - deleteButton.onClickAction = { - ChatConversationViewModel.sharedModel.mediaCollectionView.remove(at: indexPath.row) - ChatConversationViewModel.sharedModel.mediaURLCollection.remove(at: indexPath.row) - ChatConversationViewModel.sharedModel.fileContext.remove(at: indexPath.row) - ChatConversationViewModel.sharedModel.urlFile.remove(at: indexPath.row) - ChatConversationViewModel.sharedModel.imageT.remove(at: indexPath.row) - ChatConversationViewModel.sharedModel.data.remove(at: indexPath.row) - if(ChatConversationViewModel.sharedModel.mediaCollectionView.count == 0){ - self.contentMessageView.messageView.fileContext = false - self.selectionMedia() - self.setSendButtonState() - } - self.collectionViewMedia.reloadData() - } - - let imageCell = ChatConversationViewModel.sharedModel.mediaCollectionView[indexPath.row] - var myImageView = UIImageView() - - if(FileType.init(ChatConversationViewModel.sharedModel.mediaURLCollection[indexPath.row].pathExtension)?.getGroupTypeFromFile() == FileType.file_picture_default.rawValue || FileType.init(ChatConversationViewModel.sharedModel.mediaURLCollection[indexPath.row].pathExtension)?.getGroupTypeFromFile() == FileType.file_video_default.rawValue){ - myImageView = UIImageView(image: imageCell) - }else{ - let fileNameText = ChatConversationViewModel.sharedModel.mediaURLCollection[indexPath.row].lastPathComponent - let fileName = SwiftUtil.textToImage(drawText:fileNameText, inImage:imageCell, forReplyBubble:true) - myImageView = UIImageView(image: fileName) - } - - myImageView.size(w: (viewCell.frame.width * 0.9)-2, h: (viewCell.frame.height * 0.9)-2).done() - viewCell.addSubview(myImageView) - myImageView.alignParentBottom(withMargin: 4).alignParentLeft(withMargin: 4).done() - - if(FileType.init(ChatConversationViewModel.sharedModel.mediaURLCollection[indexPath.row].pathExtension)?.getGroupTypeFromFile() == FileType.file_video_default.rawValue){ - var imagePlay = UIImage() - if #available(iOS 13.0, *) { - imagePlay = (UIImage(named: "vr_play")!.withTintColor(.white)) - } else { - imagePlay = UIImage(named: "vr_play")! - } - let myImagePlayView = UIImageView(image: imagePlay) - viewCell.addSubview(myImagePlayView) - myImagePlayView.size(w: viewCell.frame.width/4, h: viewCell.frame.height/4).done() - myImagePlayView.alignHorizontalCenterWith(viewCell).alignVerticalCenterWith(viewCell).done() - } - myImageView.contentMode = .scaleAspectFill - myImageView.clipsToBounds = true - - viewCell.addSubview(deleteButton) - deleteButton.alignParentRight().done() - - return cell - }else{ - let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cellReply", for: indexPath) - let viewCell: UIView = UIView(frame: cell.contentView.frame) - cell.addSubview(viewCell) - - let imageCell = ChatConversationViewModel.sharedModel.replyCollectionView[indexPath.row] - var myImageView = UIImageView() - - if(FileType.init(ChatConversationViewModel.sharedModel.replyURLCollection[indexPath.row].pathExtension)?.getGroupTypeFromFile() == FileType.file_picture_default.rawValue || FileType.init(ChatConversationViewModel.sharedModel.replyURLCollection[indexPath.row].pathExtension)?.getGroupTypeFromFile() == FileType.file_video_default.rawValue){ - myImageView = UIImageView(image: imageCell) - }else{ - let fileNameText = ChatConversationViewModel.sharedModel.replyURLCollection[indexPath.row].lastPathComponent - let fileName = SwiftUtil.textToImage(drawText:fileNameText, inImage:imageCell, forReplyBubble:true) - myImageView = UIImageView(image: fileName) - } - - myImageView.size(w: (viewCell.frame.width), h: (viewCell.frame.height)).done() - viewCell.addSubview(myImageView) - - if(FileType.init(ChatConversationViewModel.sharedModel.replyURLCollection[indexPath.row].pathExtension)?.getGroupTypeFromFile() == FileType.file_video_default.rawValue){ - var imagePlay = UIImage() - if #available(iOS 13.0, *) { - imagePlay = (UIImage(named: "vr_play")!.withTintColor(.white)) - } else { - imagePlay = UIImage(named: "vr_play")! - } - let myImagePlayView = UIImageView(image: imagePlay) - viewCell.addSubview(myImagePlayView) - myImagePlayView.size(w: viewCell.frame.width/4, h: viewCell.frame.height/4).done() - myImagePlayView.alignHorizontalCenterWith(viewCell).alignVerticalCenterWith(viewCell).done() - } - myImageView.contentMode = .scaleAspectFill - myImageView.clipsToBounds = true - - return cell - } - } - - @available(iOS 14.0, *) - func picker(_ picker: PHPickerViewController, didFinishPicking results: [PHPickerResult]) { - initListMedia(sequenceCount: results.count) - - - picker.dismiss(animated: true, completion: nil) - let itemProviders = results.map(\.itemProvider) - for item in itemProviders { - if item.hasItemConformingToTypeIdentifier(UTType.image.identifier) { - ChatConversationViewModel.sharedModel.progress.append(item.loadFileRepresentation(forTypeIdentifier: UTType.image.identifier) { urlFile, error in - if(ChatConversationViewModel.sharedModel.workItem!.isCancelled){ - return - } else { - ChatConversationViewModel.sharedModel.createCollectionViewItem(urlFile: urlFile, type: "public.image") - } - }) - }else if item.hasItemConformingToTypeIdentifier(UTType.movie.identifier) { - ChatConversationViewModel.sharedModel.progress.append(item.loadFileRepresentation(forTypeIdentifier: UTType.movie.identifier) { urlFile, error in - if(ChatConversationViewModel.sharedModel.workItem!.isCancelled){ - return - } else { - ChatConversationViewModel.sharedModel.createCollectionViewItem(urlFile: urlFile, type: "public.movie") - } - }) - } - } - } - - func imagePickerControllerDidCancel(_ picker: UIImagePickerController) { - picker.dismiss(animated: true, completion: nil) - } - - func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) { - initListMedia(sequenceCount: 1) - let mediaType = info[UIImagePickerController.InfoKey.mediaType] as! String - switch mediaType { - case "public.image": - let image = info[UIImagePickerController.InfoKey.originalImage] as! UIImage - let date = Date() - let df = DateFormatter() - df.dateFormat = "yyyy-MM-dd-HHmmss" - let dateString = df.string(from: date) - - let fileUrl = URL(string: dateString + ".jpeg") - - let data = image.jpegData(compressionQuality: 1) - - ChatConversationViewModel.sharedModel.data.append(data) - if let image = UIImage(data: data!) { - ChatConversationViewModel.sharedModel.imageT.append(image) - }else{ - ChatConversationViewModel.sharedModel.imageT.append(UIImage(named: "chat_error")) - } - - ChatConversationViewModel.sharedModel.urlFile.append(fileUrl) - DispatchQueue.main.async(execute: ChatConversationViewModel.sharedModel.workItem!) - case "public.movie": - let videoUrl = info[UIImagePickerController.InfoKey.mediaURL] as! URL - - ChatConversationViewModel.sharedModel.createCollectionViewItem(urlFile: videoUrl, type: "public.movie") - default: - Log.i("Mismatched type: \(mediaType)") - } - picker.dismiss(animated: true, completion: nil) - } - - public func documentPickerWasCancelled(_ controller: UIDocumentPickerViewController) { - controller.dismiss(animated: true) - } - - - public func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) { - initListMedia(sequenceCount: urls.count) - - if(controller.documentPickerMode == .import){ - urls.forEach { url in - let imageExtension = ["png", "jpg", "jpeg", "bmp", "heic"] - let videoExtension = ["mkv", "avi", "mov", "mp4"] - if(imageExtension.contains(url.pathExtension.lowercased())){ - ChatConversationViewModel.sharedModel.createCollectionViewItem(urlFile: url, type: "public.image") - }else if(videoExtension.contains(url.pathExtension.lowercased())){ - ChatConversationViewModel.sharedModel.createCollectionViewItem(urlFile: url, type: "public.movie") - }else{ - ChatConversationViewModel.sharedModel.createCollectionViewItem(urlFile: url, type: "public.data") - } - } - } - - controller.dismiss(animated: true) - } - - public func initListMedia(sequenceCount : Int){ - if(ChatConversationViewModel.sharedModel.mediaCollectionView.count == 0 && sequenceCount >= 1){ - self.selectionMedia() - self.contentMessageView.messageView.sendButton.isEnabled = !contentMessageView.messageView.isLoading - self.contentMessageView.messageView.fileContext = true - ChatConversationViewModel.sharedModel.urlFile = [] - ChatConversationViewModel.sharedModel.imageT = [] - ChatConversationViewModel.sharedModel.data = [] - } - if(ChatConversationViewModel.sharedModel.mediaCollectionView.count > 0){ - self.contentMessageView.messageView.sendButton.isEnabled = !contentMessageView.messageView.isLoading - } - - if(sequenceCount >= 1){ - loadingView.isHidden = false - contentMessageView.messageView.isLoading = true - loading.startRotation() - - self.contentMessageView.messageView.sendButton.isEnabled = false - self.contentMessageView.messageView.pictureButton.isEnabled = false - - ChatConversationViewModel.sharedModel.mediaCount = ChatConversationViewModel.sharedModel.mediaCollectionView.count - ChatConversationViewModel.sharedModel.newMediaCount = sequenceCount - } - } - - func handlePendingTransferIfAny() { - if (pendingForwardMessage != nil) { - let message = pendingForwardMessage - pendingForwardMessage = nil - let d = UIConfirmationDialog.show( - withMessage: NSLocalizedString("Transfer this message to this conversation ?", comment: ""), - cancelMessage: nil, - confirmMessage: NSLocalizedString("TRANSFER", comment: ""), - onCancelClick: { - }, - onConfirmationClick: { - linphone_chat_message_send(linphone_chat_room_create_forward_message(ChatConversationViewModel.sharedModel.chatRoom?.getCobject, message)) - - }) - d?.forwardImage.isHidden = false - d?.setSpecialColor() - } - } - - func confirmShare(_ data: Data?, url: String?, fileName: String?) { - let sheet = DTActionSheet(title: NSLocalizedString("Select or create a conversation to share the file(s)", comment: "")) - DispatchQueue.main.async(execute: { [self] in - sheet!.addButton( - withTitle: NSLocalizedString("Send to this conversation", comment: "")) { [self] in - do{ - if contentMessageView.messageView.messageText.textColor != UIColor.lightGray { - try sendMessageInMessageField(rootMessage: ChatConversationViewModel.sharedModel.chatRoom?.createEmptyMessage()) - } - if let sUrl = url { - _ = try ChatConversationViewModel.sharedModel.sendMessage(message: sUrl, withExterlBodyUrl: nil, rootMessage: ChatConversationViewModel.sharedModel.chatRoom?.createEmptyMessage()) - } else { - try startFileUpload(data, withName: fileName, rootMessage: ChatConversationViewModel.sharedModel.chatRoom?.createEmptyMessage()) - } - }catch{ - Log.e(error.localizedDescription) - } - } - - sheet!.addCancelButton(withTitle: NSLocalizedString("Cancel", comment: ""), block: nil) - sheet!.show(in: PhoneMainView.instance().view) - }) - } - - func startFileUpload(_ data: Data?, withName name: String?, rootMessage: ChatMessage?){ - ChatConversationViewModel.sharedModel.startFileUpload(data, withName: name, rootMessage: rootMessage) - tableControllerSwift.refreshData(isOutgoing: true) - } - - @objc class func getFileUrl(_ name: String?) -> URL? { - let filePath = LinphoneManager.validFilePath(name) - return URL(fileURLWithPath: filePath!) - } - - @objc func initiateReplyView(forMessage: OpaquePointer?) { - if(contentMessageView.replyBubble.isHidden == false){ - contentMessageView.replyBubble.isHidden = true - } - ChatConversationViewModel.sharedModel.replyURLCollection.removeAll() - ChatConversationViewModel.sharedModel.replyCollectionView.removeAll() - self.collectionViewReply.reloadData() - ChatConversationViewModel.sharedModel.replyMessage = forMessage - initReplyView(true, message: forMessage) - } - - @objc class func isBasicChatRoom(_ room: OpaquePointer?) -> Bool { - if room == nil { - return true - } - - let charRoomBasic = ChatRoom.getSwiftObject(cObject: room!) - let isBasic = charRoomBasic.hasCapability(mask: Int(LinphoneChatRoomCapabilitiesBasic.rawValue)) - return isBasic - } - - func onVrStart() { - self.contentMessageView.recordingWaveImageMask.isHidden = false - contentMessageView.recordingWaveView.progress = 0.0 - contentMessageView.recordingWaveView.setProgress(contentMessageView.recordingWaveView.progress, animated: false) - self.contentMessageView.messageView.sendButton.isEnabled = true - if ChatConversationViewModel.sharedModel.isVoiceRecording { - stopVoiceRecording() - } else { - startVoiceRecording() - } - } - - @objc private func openEmojiPickerModule(sender: UIButton) { - contentMessageView.messageView.messageText.resignFirstResponder() - let viewController = EmojiPickerViewController() - viewController.delegate = self - viewController.sourceView = sender - viewController.isDismissedAfterChoosing = false - present(viewController, animated: true, completion: nil) - } - - func didGetEmoji(emoji: String) { - if contentMessageView.messageView.messageText.textColor != UIColor.lightGray { - contentMessageView.messageView.messageText.text = contentMessageView.messageView.messageText.text + emoji - } else { - contentMessageView.messageView.messageText.textColor = VoipTheme.backgroundBlackWhite.get() - contentMessageView.messageView.messageText.text = emoji - } - - } - - func startVoiceRecording() { - ChatConversationViewModel.sharedModel.startVoiceRecording() - setRecordingVisible(hidden: false) - contentMessageView.messageView.voiceRecordButton.isSelected = true - contentMessageView.recordingStopButton.isHidden = false - contentMessageView.recordingPlayButton.isHidden = true - self.contentMessageView.recordingWaveImageMask.transform = CGAffineTransform.identity - contentMessageView.recordingDurationTextView.isHidden = false - contentMessageView.recordingDurationTextView.text = ChatConversationViewModel.sharedModel.formattedDuration(Int(linphone_recorder_get_duration(ChatConversationViewModel.sharedModel.voiceRecorder?.getCobject))) - ChatConversationViewModel.sharedModel.vrRecordTimer = Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { timer in - self.voiceRecordTimerUpdate() - } - } - - func voiceRecordTimerUpdate() { - let recorderDuration = linphone_recorder_get_duration(ChatConversationViewModel.sharedModel.voiceRecorder?.getCobject) - if recorderDuration > LinphoneManager.instance().lpConfigInt(forKey: "voice_recording_max_duration", withDefault: 59999) { - Log.i("[Chat Message Sending] Max duration for voice recording exceeded, stopping. (max = \(LinphoneManager.instance().lpConfigInt(forKey: "voice_recording_max_duration", withDefault: 59999))") - stopVoiceRecording() - } else { - contentMessageView.recordingDurationTextView.text = ChatConversationViewModel.sharedModel.formattedDuration(Int(linphone_recorder_get_duration(ChatConversationViewModel.sharedModel.voiceRecorder?.getCobject))) - - UIView.animate(withDuration: 10.0, delay: 0.0, options: [.repeat], animations: { - self.contentMessageView.recordingWaveImageMask.transform = CGAffineTransform(translationX: 98, y: 0).scaledBy(x: 0.01, y: 1) - }) - - } - } - - func stopVoiceRecording() { - ChatConversationViewModel.sharedModel.stopVoiceRecording() - if (ChatConversationViewModel.sharedModel.voiceRecorder != nil) && linphone_recorder_get_state(ChatConversationViewModel.sharedModel.voiceRecorder?.getCobject) == LinphoneRecorderRunning { - contentMessageView.recordingDurationTextView.text = ChatConversationViewModel.sharedModel.formattedDuration(Int(linphone_recorder_get_duration(ChatConversationViewModel.sharedModel.voiceRecorder?.getCobject))) - } - if LinphoneManager.instance().lpConfigBool(forKey: "voice_recording_send_right_away", withDefault: false) { - onSendClick() - } - contentMessageView.recordingStopButton.isHidden = true - contentMessageView.recordingPlayButton.isHidden = false - - contentMessageView.messageView.voiceRecordButton.isSelected = false - contentMessageView.recordingWaveImageMask.layer.removeAllAnimations() - - setSendButtonState() - - } - - func cancelVoiceRecording() { - setRecordingVisible(hidden: true) - contentMessageView.recordingStopButton.isHidden = false - contentMessageView.recordingPlayButton.isHidden = true - contentMessageView.recordingWaveImageMask.layer.removeAllAnimations() - contentMessageView.messageView.voiceRecordButton.isSelected = false - - ChatConversationViewModel.sharedModel.cancelVoiceRecordingVM() - - stopVoiceRecordPlayer() - setSendButtonState() - } - - func setSendButtonState() { - self.contentMessageView.messageView.sendButton.isEnabled = ((ChatConversationViewModel.sharedModel.isPendingVoiceRecord && linphone_recorder_get_duration(ChatConversationViewModel.sharedModel.voiceRecorder?.getCobject) > 0) || (contentMessageView.messageView.messageText.textColor != UIColor.lightGray && self.contentMessageView.messageView.messageText.text.count > 0) || ChatConversationViewModel.sharedModel.fileContext.count > 0) - } - - func onvrPlayPauseStop() { - if ChatConversationViewModel.sharedModel.isVoiceRecording { - stopVoiceRecording() - } else { - if ChatConversationViewModel.sharedModel.isPlayingVoiceRecording { - stopVoiceRecordPlayer() - } else { - playRecordedMessage() - } - } - } - - func playRecordedMessage() { - self.contentMessageView.recordingWaveImageMask.isHidden = true - self.contentMessageView.recordingPlayButton.isHidden = true - self.contentMessageView.recordingStopButton.isHidden = false - - ChatConversationViewModel.sharedModel.initSharedPlayer() - AudioPlayer.sharedModel.fileChanged.value = ChatConversationViewModel.sharedModel.voiceRecorder?.file - ChatConversationViewModel.sharedModel.startSharedPlayer(ChatConversationViewModel.sharedModel.voiceRecorder?.file) - - contentMessageView.recordingWaveView.progress = 0.0 - ChatConversationViewModel.sharedModel.isPlayingVoiceRecording = true - - AudioPlayer.sharedModel.fileChanged.observe { file in - if (file != ChatConversationViewModel.sharedModel.voiceRecorder?.file && ChatConversationViewModel.sharedModel.isPlayingVoiceRecording) { - self.stopVoiceRecordPlayer() - } - } - - contentMessageView.recordingWaveView.progress = 1.0 - UIView.animate(withDuration: TimeInterval(Double(AudioPlayer.getSharedPlayer()!.duration) / 1000.00), delay: 0.0, options: .curveLinear, animations: { - self.contentMessageView.recordingWaveView.layoutIfNeeded() - }, completion: { (finished: Bool) in - if (ChatConversationViewModel.sharedModel.isPlayingVoiceRecording) { - self.stopVoiceRecordPlayer() - } - }) - } - - func stopVoiceRecordPlayer() { - // Commented because this seemed to be what caused the breaking of the voice recording view - /* - contentMessageView.recordingView.subviews.forEach({ view in - view.removeFromSuperview() - })*/ - resetRecordingProgressBar() - self.contentMessageView.recordingWaveView.progress = 0.0 - self.contentMessageView.recordingWaveView.setProgress(self.contentMessageView.recordingWaveView.progress, animated: false) - ChatConversationViewModel.sharedModel.stopSharedPlayer() - self.contentMessageView.recordingWaveImageMask.isHidden = false - self.contentMessageView.recordingPlayButton.isHidden = false - self.contentMessageView.recordingStopButton.isHidden = true - ChatConversationViewModel.sharedModel.isPlayingVoiceRecording = false - } - - func configureMessageField() { - let isOneToOneChat = ChatConversationViewModel.sharedModel.chatRoom!.hasCapability(mask: Int(LinphoneChatRoomCapabilitiesOneToOne.rawValue)) - if isOneToOneChat { - contentMessageView.messageView.isHidden = false - if ChatConversationViewModel.sharedModel.chatRoom!.isReadOnly { - ChatConversationViewModel.sharedModel.chatRoom!.addParticipant(addr: (ChatConversationViewModel.sharedModel.chatRoom?.me?.address)!) - } - } else { - contentMessageView.messageView.isHidden = ChatConversationViewModel.sharedModel.chatRoom!.isReadOnly - } - } - - @objc class func markAsRead(_ chatRoom: OpaquePointer?) { - if ChatConversationViewModel.sharedModel.chatRoom == nil { - return - } - let chatRoomSwift = ChatRoom.getSwiftObject(cObject: chatRoom!) - chatRoomSwift.markAsRead() - PhoneMainView.instance().updateApplicationBadgeNumber() - } -} - -extension UIView { - func makeSecure(field: UITextField) { - DispatchQueue.main.async { - field.isSecureTextEntry = false - self.addSubview(field) - field.centerYAnchor.constraint(equalTo: self.centerYAnchor).isActive = true - field.centerXAnchor.constraint(equalTo: self.centerXAnchor).isActive = true - self.layer.superlayer?.addSublayer(field.layer) - field.layer.sublayers?.first?.addSublayer(self.layer) - } - } - - func changeSecure(field: UITextField, isSecure: Bool){ - field.isSecureTextEntry = isSecure - } -} diff --git a/Classes/Swift/Chat/Views/CircularProgressBarView.swift b/Classes/Swift/Chat/Views/CircularProgressBarView.swift deleted file mode 100644 index 129a7f72e..000000000 --- a/Classes/Swift/Chat/Views/CircularProgressBarView.swift +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import UIKit - -class CircularProgressBarView: UIView { - - private var circleLayer = CAShapeLayer() - private var progressLayer = CAShapeLayer() - - private var startPoint = CGFloat(-Double.pi / 2) - private var endPoint = CGFloat(3 * Double.pi / 2) - - override init(frame: CGRect) { - super.init(frame: frame) - createCircularPath() - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - func createCircularPath() { - let circularPath = UIBezierPath(arcCenter: CGPoint(x: 69, y: 69), radius: 20, startAngle: startPoint, endAngle: endPoint, clockwise: true) - circleLayer.path = circularPath.cgPath - circleLayer.fillColor = UIColor.clear.cgColor - circleLayer.lineCap = .round - circleLayer.lineWidth = 10.0 - circleLayer.strokeEnd = 1.0 - circleLayer.strokeColor = VoipTheme.backgroundWhiteBlack.get().cgColor - layer.addSublayer(circleLayer) - progressLayer.path = circularPath.cgPath - progressLayer.fillColor = VoipTheme.backgroundWhiteBlack.get().cgColor - progressLayer.lineCap = .round - progressLayer.lineWidth = 5.0 - progressLayer.strokeEnd = 0 - progressLayer.strokeColor = VoipTheme.primary_color.cgColor - layer.addSublayer(progressLayer) - } - - func progressAnimation(fromValue: Float, toValue: Float) { - let circularProgressAnimation = CABasicAnimation(keyPath: "strokeEnd") - circularProgressAnimation.duration = 0 - circularProgressAnimation.fromValue = fromValue - circularProgressAnimation.toValue = toValue - circularProgressAnimation.fillMode = .forwards - circularProgressAnimation.isRemovedOnCompletion = false - progressLayer.add(circularProgressAnimation, forKey: "progressAnim") - } -} diff --git a/Classes/Swift/Chat/Views/DownloadMessageCell.swift b/Classes/Swift/Chat/Views/DownloadMessageCell.swift deleted file mode 100644 index b574215c2..000000000 --- a/Classes/Swift/Chat/Views/DownloadMessageCell.swift +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import linphonesw - -class DownloadMessageCell: UIView { - let downloadStackView = UIStackView() - let downloadView = UIView() - var downloadImageView = UIImageView(image: UIImage(named: "file_default")) - let downloadNameLabel = StyledLabel(VoipTheme.chat_conversation_download_button) - let downloadButtonLabel = StyledLabel(VoipTheme.chat_conversation_download_button) - var circularProgressBarView = CircularProgressBarView() - let circularProgressBarLabel = StyledLabel(VoipTheme.chat_conversation_download_progress_text) - let downloadSpacing = UIView() - - var content: Content? = nil - var fromValue : Float = 0.0 - - override init(frame: CGRect) { - super.init(frame: frame) - downloadStackView.axis = .vertical - downloadStackView.distribution = .fill - downloadStackView.alignment = .center - - addSubview(downloadStackView) - downloadStackView.addArrangedSubview(downloadView) - downloadView.addSubview(downloadImageView) - downloadStackView.addArrangedSubview(downloadNameLabel) - downloadStackView.addArrangedSubview(downloadButtonLabel) - downloadStackView.addArrangedSubview(downloadSpacing) - - downloadStackView.backgroundColor = VoipTheme.backgroundWhiteBlack.get() - - downloadStackView.size(w: 138, h: 138).done() - downloadView.size(w: 138, h: 80).done() - downloadNameLabel.size(w: 130, h: 22).done() - downloadButtonLabel.size(w: 130, h: 22).done() - downloadSpacing.size(w: 138, h: 14).done() - downloadImageView.center = CGPoint(x: 69, y: 40) - - addSubview(circularProgressBarView) - circularProgressBarView.isHidden = true - circularProgressBarLabel.text = "0%" - circularProgressBarLabel.size(w: 30, h: 30).done() - circularProgressBarView.addSubview(circularProgressBarLabel) - } - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - - func setFileType(fileName: String) { - let extensionFile = fileName.lowercased().components(separatedBy: ".").last - - if extensionFile == "pdf" { - downloadImageView.image = UIImage(named: "file_pdf_default") - } else if ["png", "jpg", "jpeg", "bmp", "heic"].contains(extensionFile ?? "") { - downloadImageView.image = UIImage(named: "file_picture_default") - } else if ["mkv", "avi", "mov", "mp4"].contains(extensionFile ?? "") { - downloadImageView.image = UIImage(named: "file_video_default") - downloadImageView.frame = CGRect(x: 0, y: 0, width: 50, height: 40) - downloadImageView.center = CGPoint(x: 69, y: 40) - } else if ["wav", "au", "m4a"].contains(extensionFile ?? "") { - downloadImageView.image = UIImage(named: "file_audio_default") - } else { - downloadImageView.image = UIImage(named: "file_default") - } - } - - func setUpCircularProgressBarView(toValue: Float) { - - circularProgressBarLabel.text = "\(Int(toValue*100))%" - circularProgressBarLabel.center = CGPoint(x: 69, y: 69) - - - circularProgressBarView.progressAnimation(fromValue: fromValue, toValue: toValue) - fromValue = toValue - } -} diff --git a/Classes/Swift/Chat/Views/DropDownCell.swift b/Classes/Swift/Chat/Views/DropDownCell.swift deleted file mode 100644 index 535313f78..000000000 --- a/Classes/Swift/Chat/Views/DropDownCell.swift +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import UIKit -import DropDown - -class MyCell: DropDownCell { - - @IBOutlet var myImageView: UIImageView! - @IBOutlet var myEmojisView: UIView! - @IBOutlet var myEmojiButton1: UIButton! - @IBOutlet var myEmojiButton2: UIButton! - @IBOutlet var myEmojiButton3: UIButton! - @IBOutlet var myEmojiButton4: UIButton! - @IBOutlet var myEmojiButton5: UIButton! - - override func awakeFromNib() { - super.awakeFromNib() - myImageView.contentMode = .scaleAspectFit - myEmojisView.isHidden = true - } - - override func setSelected(_ selected: Bool, animated: Bool) { - super.setSelected(selected, animated: animated) - - // Configure the view for the selected state - } - -} diff --git a/Classes/Swift/Chat/Views/DropDownCell.xib b/Classes/Swift/Chat/Views/DropDownCell.xib deleted file mode 100644 index f8b5681c1..000000000 --- a/Classes/Swift/Chat/Views/DropDownCell.xib +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/Swift/Chat/Views/Fragments/ReactionCell.swift b/Classes/Swift/Chat/Views/Fragments/ReactionCell.swift deleted file mode 100644 index b24c3b23e..000000000 --- a/Classes/Swift/Chat/Views/Fragments/ReactionCell.swift +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import SnapKit -import linphonesw - -class ReactionCell: UITableViewCell { - - // Layout Constants - static let cell_height = 50.0 - let avatar_left_margin = 15.0 - let texts_left_margin = 15.0 - let avatar_size = 35.0 - - let avatar = Avatar(color:VoipTheme.primaryTextColor, textStyle: VoipTheme.call_generated_avatar_small) - let displayName = StyledLabel(VoipTheme.conference_participant_name_font) - let displayEmoji = StyledLabel(VoipTheme.conference_participant_name_font) - - - var owningParticpantsListView : ParticipantsListView? = nil - - var reactionData: ChatMessageReaction? = nil { - didSet { - if let data = reactionData { - avatar.fillFromAddress(address: data.fromAddress!) - displayName.text = data.fromAddress!.addressBookEnhancedDisplayName() - displayEmoji.text = data.body - } - } - } - - override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { - super.init(style: style, reuseIdentifier: reuseIdentifier) - contentView.height(ReactionCell.cell_height).matchParentSideBorders().done() - - addSubview(avatar) - avatar.size(w: avatar_size, h: avatar_size).centerY().alignParentLeft(withMargin: avatar_left_margin).done() - - // Name Address - - let nameAddress = UIStackView() - nameAddress.addArrangedSubview(displayName) - nameAddress.axis = .vertical - addSubview(nameAddress) - nameAddress.toRightOf(avatar,withLeftMargin:texts_left_margin).centerY().done() - - - addSubview(displayEmoji) - displayEmoji.alignParentRight(withMargin: avatar_left_margin*2).centerY().done() - - contentView.backgroundColor = .clear - backgroundColor = .clear - } - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } -} diff --git a/Classes/Swift/Chat/Views/Fragments/SheetViewController.swift b/Classes/Swift/Chat/Views/Fragments/SheetViewController.swift deleted file mode 100644 index 4d9e625f4..000000000 --- a/Classes/Swift/Chat/Views/Fragments/SheetViewController.swift +++ /dev/null @@ -1,394 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import UIKit -import Foundation -import linphonesw - -final class SheetViewController: UIViewController { - - private let collectionHeader = UICollectionView(frame: .zero, collectionViewLayout: UICollectionViewFlowLayout.init()) - private let collectionPage = UICollectionView(frame: .zero, collectionViewLayout: UICollectionViewFlowLayout.init()) - private let collectionHeaderIdentifier = "COLLECTION_HEADER_IDENTIFIER" - private let collectionPageIdentifier = "COLLECTION_PAGE_IDENTIFIER" - private var items = [UIViewController]() - private var titles = [String]() - private var colorHeaderActive = UIColor.blue - private var colorHeaderInActive = UIColor.gray - private var colorHeaderBackground = UIColor.white - private var currentPosition = 0 - private var tabStyle = SlidingTabStyle.fixed - private let heightHeader = 40 - var chatMessage : ChatMessage - var chatMessageDelegate: ChatMessageDelegate? = nil - - /// Put your custom argument labels here, not inside the `required init?` - init(chatMessageInit: ChatMessage) { - self.chatMessage = chatMessageInit - super.init(nibName: nil, bundle: nil) - } - - /// This is in case the View Controller is loaded from the Storyboard - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - - override func viewDidDisappear(_ animated: Bool) { - super.viewDidDisappear(animated) - if chatMessageDelegate != nil { - chatMessage.removeDelegate(delegate: chatMessageDelegate!) - } - } - - override func viewDidLoad() { - super.viewDidLoad() - setupUI() - addMessageDelegate() - } - - func reloadUI() { - items.removeAll() - titles.removeAll() - setupUI() - } - - func addMessageDelegate(){ - chatMessageDelegate = ChatMessageDelegateStub( - onNewMessageReaction: { (message: ChatMessage, messageReaction: ChatMessageReaction) -> Void in - self.reloadUI() - }, - onReactionRemoved: { (message: ChatMessage, address: Address) -> Void in - self.reloadUI() - } - ) - chatMessage.addDelegate(delegate: chatMessageDelegate!) - } - - private func setupUI(){ - // view - view.backgroundColor = VoipTheme.voipBackgroundBWColor.get() - - navigationController?.navigationBar.barTintColor = .orange - navigationController?.navigationBar.isTranslucent = false - navigationController?.navigationBar.shadowImage = UIImage() - navigationController?.navigationBar.titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white] - navigationController?.navigationBar.barStyle = .black - - if chatMessage.reactions.count <= 1 { - addItem(item: SimpleItemViewController(chatMessageReactionsListInit: chatMessage.reactions), title: "\(chatMessage.reactions.count) REACTION") - } else { - addItem(item: SimpleItemViewController(chatMessageReactionsListInit: chatMessage.reactions), title: "\(chatMessage.reactions.count) REACTIONS") - } - - let reaction1Count = chatMessage.reactions.filter({$0.body == "❤️"}).count - let reaction2Count = chatMessage.reactions.filter({$0.body == "👍"}).count - let reaction3Count = chatMessage.reactions.filter({$0.body == "😂"}).count - let reaction4Count = chatMessage.reactions.filter({$0.body == "😮"}).count - let reaction5Count = chatMessage.reactions.filter({$0.body == "😢"}).count - - if reaction1Count > 0 { - addItem(item: SimpleItemViewController(chatMessageReactionsListInit: chatMessage.reactions.filter({$0.body == "❤️"})), title: "❤️ \(reaction1Count)") - } - if reaction2Count > 0 { - addItem(item: SimpleItemViewController(chatMessageReactionsListInit: chatMessage.reactions.filter({$0.body == "👍"})), title: "👍 \(reaction2Count)") - } - if reaction3Count > 0 { - addItem(item: SimpleItemViewController(chatMessageReactionsListInit: chatMessage.reactions.filter({$0.body == "😂"})), title: "😂 \(reaction3Count)") - } - if reaction4Count > 0 { - addItem(item: SimpleItemViewController(chatMessageReactionsListInit: chatMessage.reactions.filter({$0.body == "😮"})), title: "😮 \(reaction4Count)") - } - if reaction5Count > 0 { - addItem(item: SimpleItemViewController(chatMessageReactionsListInit: chatMessage.reactions.filter({$0.body == "😢"})), title: "😢 \(reaction5Count)") - } - - setHeaderActiveColor(color: .orange) // default blue - setStyle(style: .fixed) // default fixed - build() - } - - func addItem(item: UIViewController, title: String){ - items.append(item) - titles.append(title) - } - - func setHeaderBackgroundColor(color: UIColor){ - colorHeaderBackground = color - } - - func setHeaderActiveColor(color: UIColor){ - colorHeaderActive = color - } - - func setHeaderInActiveColor(color: UIColor){ - colorHeaderInActive = color - } - - func setCurrentPosition(position: Int){ - currentPosition = position - let path = IndexPath(item: currentPosition, section: 0) - - DispatchQueue.main.async { - if self.tabStyle == .flexible { - self.collectionHeader.scrollToItem(at: path, at: .centeredHorizontally, animated: true) - } - - self.collectionHeader.reloadData() - } - - DispatchQueue.main.async { - self.collectionPage.isPagingEnabled = false - self.collectionPage.scrollToItem( - at: path, - at: .centeredHorizontally, - animated: true - ) - self.collectionPage.isPagingEnabled = true - } - } - - func setStyle(style: SlidingTabStyle){ - tabStyle = style - } - - func build(){ - // view - view.addSubview(collectionHeader) - view.addSubview(collectionPage) - - // collectionHeader - collectionHeader.translatesAutoresizingMaskIntoConstraints = false - collectionHeader.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor, constant: 20).isActive = true - collectionHeader.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true - collectionHeader.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true - collectionHeader.heightAnchor.constraint(equalToConstant: CGFloat(heightHeader)).isActive = true - (collectionHeader.collectionViewLayout as? UICollectionViewFlowLayout)?.scrollDirection = .horizontal - collectionHeader.showsHorizontalScrollIndicator = false - collectionHeader.backgroundColor = VoipTheme.voipBackgroundBWColor.get() - collectionHeader.register(HeaderCell.self, forCellWithReuseIdentifier: collectionHeaderIdentifier) - collectionHeader.delegate = self - collectionHeader.dataSource = self - collectionHeader.reloadData() - - // collectionPage - collectionPage.translatesAutoresizingMaskIntoConstraints = false - collectionPage.topAnchor.constraint(equalTo: collectionHeader.bottomAnchor).isActive = true - collectionPage.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true - collectionPage.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true - collectionPage.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true - collectionPage.backgroundColor = VoipTheme.voipBackgroundBWColor.get() - collectionPage.showsHorizontalScrollIndicator = false - (collectionPage.collectionViewLayout as? UICollectionViewFlowLayout)?.scrollDirection = .horizontal - collectionPage.isPagingEnabled = true - collectionPage.register(UICollectionViewCell.self, forCellWithReuseIdentifier: collectionPageIdentifier) - collectionPage.delegate = self - collectionPage.dataSource = self - collectionPage.reloadData() - } - - private class HeaderCell: UICollectionViewCell { - - private let label = UILabel() - private let indicator = UIView() - - var text: String! { - didSet { - label.text = text - if label.text!.contains("REACTIONS") { - label.font = UIFont.boldSystemFont(ofSize: 8) - } else { - label.font = UIFont.boldSystemFont(ofSize: 14) - } - } - } - - override init(frame: CGRect) { - super.init(frame: frame) - setupUI() - } - - required init?(coder aDecoder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - - func select(didSelect: Bool, activeColor: UIColor, inActiveColor: UIColor){ - indicator.backgroundColor = activeColor - - if didSelect { - label.textColor = activeColor - indicator.isHidden = false - }else{ - label.textColor = inActiveColor - indicator.isHidden = true - } - } - - private func setupUI(){ - // view - self.addSubview(label) - self.addSubview(indicator) - - // label - label.translatesAutoresizingMaskIntoConstraints = false - label.centerXAnchor.constraint(equalTo: self.centerXAnchor).isActive = true - label.centerYAnchor.constraint(equalTo: self.centerYAnchor).isActive = true - label.font = UIFont.boldSystemFont(ofSize: 14) - - // indicator - indicator.translatesAutoresizingMaskIntoConstraints = false - indicator.bottomAnchor.constraint(equalTo: self.bottomAnchor).isActive = true - indicator.leadingAnchor.constraint(equalTo: self.leadingAnchor).isActive = true - indicator.trailingAnchor.constraint(equalTo: self.trailingAnchor).isActive = true - indicator.heightAnchor.constraint(equalToConstant: 2).isActive = true - } - - } - -} - -extension SheetViewController: UICollectionViewDelegate{ - func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { - setCurrentPosition(position: indexPath.row) - } - - func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) { - if scrollView == collectionPage{ - let currentIndex = Int(self.collectionPage.contentOffset.x / collectionPage.frame.size.width) - setCurrentPosition(position: currentIndex) - } - } -} - -extension SheetViewController: UICollectionViewDataSource{ - func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { - if collectionView == collectionHeader { - return titles.count - } - - return items.count - } - - func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { - if collectionView == collectionHeader { - let cell = collectionView.dequeueReusableCell(withReuseIdentifier: collectionHeaderIdentifier, for: indexPath) as! HeaderCell - cell.text = titles[indexPath.row] - - var didSelect = false - - if currentPosition == indexPath.row { - didSelect = true - } - - cell.select(didSelect: didSelect, activeColor: colorHeaderActive, inActiveColor: colorHeaderInActive) - - return cell - } - - let cell = collectionView.dequeueReusableCell(withReuseIdentifier: collectionPageIdentifier, for: indexPath) - let vc = items[indexPath.row] - - cell.addSubview(vc.view) - - vc.view.translatesAutoresizingMaskIntoConstraints = false - vc.view.topAnchor.constraint(equalTo: cell.topAnchor, constant: 28).isActive = true - vc.view.leadingAnchor.constraint(equalTo: cell.leadingAnchor).isActive = true - vc.view.trailingAnchor.constraint(equalTo: cell.trailingAnchor).isActive = true - vc.view.bottomAnchor.constraint(equalTo: cell.bottomAnchor).isActive = true - - return cell - } -} - -extension SheetViewController: UICollectionViewDelegateFlowLayout{ - func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { - if collectionView == collectionHeader { - if tabStyle == .fixed { - let spacer = CGFloat(titles.count) - return CGSize(width: view.frame.width / spacer, height: CGFloat(heightHeader)) - }else{ - return CGSize(width: view.frame.width * 20 / 100, height: CGFloat(heightHeader)) - } - } - - return CGSize(width: view.frame.width, height: view.frame.height) - } - - func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat { - if collectionView == collectionHeader { - return 0 - } - - return 0 - } -} - -enum SlidingTabStyle: String { - case fixed - case flexible -} - -class SimpleItemViewController: UIViewController, UITableViewDataSource { - - let reactionsListTableView = UITableView() - var chatMessageReactionsList : [ChatMessageReaction] = [] - - init(chatMessageReactionsListInit: [ChatMessageReaction]) { - self.chatMessageReactionsList = chatMessageReactionsListInit - super.init(nibName: nil, bundle: nil) - } - - /// This is in case the View Controller is loaded from the Storyboard - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - - - override func viewDidLoad() { - super.viewDidLoad() - setupUI() - } - - private func setupUI(){ - // view - view.backgroundColor = VoipTheme.voipBackgroundBWColor.get() - - // ParticipantsList - view.addSubview(reactionsListTableView) - reactionsListTableView.alignParentTop(withMargin: 10).alignParentBottom().alignParentLeft().alignParentRight().done() - reactionsListTableView.dataSource = self - reactionsListTableView.register(ReactionCell.self, forCellReuseIdentifier: "ReactionCell") - reactionsListTableView.allowsSelection = false - if #available(iOS 15.0, *) { - reactionsListTableView.allowsFocus = false - } - reactionsListTableView.separatorStyle = .singleLine - reactionsListTableView.separatorColor = .white - } - - func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - return chatMessageReactionsList.count - } - - func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - let cell:ReactionCell = tableView.dequeueReusableCell(withIdentifier: "ReactionCell") as! ReactionCell - cell.selectionStyle = .none - cell.reactionData = chatMessageReactionsList[indexPath.row] - return cell - } -} diff --git a/Classes/Swift/Chat/Views/MessageView.swift b/Classes/Swift/Chat/Views/MessageView.swift deleted file mode 100644 index ae0106d87..000000000 --- a/Classes/Swift/Chat/Views/MessageView.swift +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import linphonesw - - -class MessageView: UIView, UITextViewDelegate { - - let side_buttons_margin = 10 - - var action1 : (() -> Void)? = nil - var action2 : (() -> Void)? = nil - var action3 : (() -> Void)? = nil - - let pictureButton = CallControlButton(buttonTheme:VoipTheme.nav_button("new_chat_attachment_default")) - let voiceRecordButton = CallControlButton(buttonTheme:VoipTheme.nav_button("new_vr_off")) - let sendButton = CallControlButton(buttonTheme:VoipTheme.nav_button("new_chat_send_default")) - let emojisButton = CallControlButton(buttonTheme:VoipTheme.nav_button("emoji")) - let messageTextView = UIView() - let messageWithEmojiView = UIStackView() - let messageText = UITextView() - let ephemeralIndicator = UIImageView(image: UIImage(named: "ephemeral_messages_color_A.png")) - var fileContext = false - var isComposing = false - var isLoading = false - var lastNumLines = 0.0 - - override init(frame: CGRect) { - super.init(frame: frame) - setupView() - } - - required init?(coder aDecoder: NSCoder) { - super.init(coder: aDecoder) - setupView() - } - - private func setupView() { - backgroundColor = VoipTheme.voipToolbarBackgroundColor.get() - - addSubview(pictureButton) - pictureButton.alignParentLeft(withMargin: side_buttons_margin).matchParentHeight().done() - - addSubview(voiceRecordButton) - voiceRecordButton.toRightOf(pictureButton, withLeftMargin: -8).matchParentHeight().done() - voiceRecordButton.onClickAction = action3 - - addSubview(ephemeralIndicator) - ephemeralIndicator.alignParentRight(withMargin: 4).alignParentTop(withMargin: 4).size(w: 9, h: 10).done() - ephemeralIndicator.isHidden = true - - addSubview(sendButton) - sendButton.alignParentRight(withMargin: side_buttons_margin).matchParentHeight().done() - sendButton.isEnabled = false - sendButton.onClickAction = action2 - - addSubview(messageTextView) - messageTextView.toRightOf(voiceRecordButton, withLeftMargin: -8).toLeftOf(sendButton, withRightMargin: -8).matchParentHeight().done() - - messageTextView.addSubview(messageWithEmojiView) - messageWithEmojiView.matchParentDimmensions(insetedByDx: 10).done() - messageWithEmojiView.backgroundColor = VoipTheme.backgroundWhiteBlack.get() - - messageWithEmojiView.addArrangedSubview(messageText) - messageText.matchParentHeight().alignParentLeft().alignParentRight(withMargin: 40).done() - messageText.font = UIFont.systemFont(ofSize: 18) - messageText.delegate = self - messageText.textColor = UIColor.lightGray - messageText.text = "Message" - messageText.inputAccessoryView = UIView() - messageWithEmojiView.addArrangedSubview(emojisButton) - emojisButton.alignParentRight().matchParentHeight().done() - - emojisButton.isHidden = true - - UIDeviceBridge.displayModeSwitched.readCurrentAndObserve { _ in - self.backgroundColor = VoipTheme.voipToolbarBackgroundColor.get() - self.messageWithEmojiView.backgroundColor = VoipTheme.backgroundWhiteBlack.get() - if self.messageText.textColor != UIColor.lightGray { - self.messageText.textColor = VoipTheme.backgroundBlackWhite.get() - } - } - } - - func textViewDidChangeSelection(_ textView: UITextView) { - if messageText.textColor != UIColor.lightGray { - let chatRoom = ChatRoom.getSwiftObject(cObject: PhoneMainView.instance().currentRoom) - if ((messageText.text.isEmpty && !fileContext) || isLoading) { - sendButton.isEnabled = false - NotificationCenter.default.post(name: Notification.Name("LinphoneResetTextViewSize"), object: self) - lastNumLines = 0 - } else { - if (messageText.text.trimmingCharacters(in: .whitespacesAndNewlines).unicodeScalars.first?.properties.isEmojiPresentation == true){ - var onlyEmojis = true - messageText.text.trimmingCharacters(in: .whitespacesAndNewlines).unicodeScalars.forEach { emoji in - if !emoji.properties.isEmojiPresentation && !emoji.properties.isWhitespace{ - onlyEmojis = false - } - } - } - if !isComposing { - chatRoom.compose() - let timer = Timer.scheduledTimer(withTimeInterval: 10.0, repeats: false) { timer in - self.isComposing = false - } - } - } - isComposing = true - - sendButton.isEnabled = true - - let numLines = (messageText.contentSize.height / messageText.font!.lineHeight) - if(Int(numLines) != Int(lastNumLines)){ - NotificationCenter.default.post(name: Notification.Name("LinphoneTextViewSize"), object: self) - } - lastNumLines = numLines - } - } - - func textViewDidBeginEditing(_ textView: UITextView) { - if messageText.textColor == UIColor.lightGray { - messageText.text = nil - messageText.textColor = VoipTheme.backgroundBlackWhite.get() - } - } - - func textViewDidEndEditing(_ textView: UITextView) { - if messageText.text.isEmpty { - messageText.textColor = UIColor.lightGray - messageText.text = "Message" - } - } -} - - -extension UIView { - func setWidth(_ w:CGFloat, animateTime:TimeInterval?=nil) { - if let c = self.constraints.first(where: { $0.firstAttribute == .width && $0.relation == .equal }) { - c.constant = CGFloat(w) - - if let animateTime = animateTime { - UIView.animate(withDuration: animateTime, animations:{ - self.layoutIfNeeded() - }) - } - else { - self.layoutIfNeeded() - } - } - } -} diff --git a/Classes/Swift/Chat/Views/MultilineMessageCell.swift b/Classes/Swift/Chat/Views/MultilineMessageCell.swift deleted file mode 100644 index 0d9c5af06..000000000 --- a/Classes/Swift/Chat/Views/MultilineMessageCell.swift +++ /dev/null @@ -1,2477 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import UIKit -import Foundation -import linphonesw -import SwipeCellKit - -class MultilineMessageCell: SwipeCollectionViewCell, UICollectionViewDataSource, UICollectionViewDelegate { - static let reuseId = "MultilineMessageCellReuseId" - - var label: UILabel = UILabel(frame: .zero) - var eventMessageView: UIView = UIView(frame: .zero) - var preContentViewBubble: UIView = UIView(frame: .zero) - var contentViewBubble: UIView = UIView(frame: .zero) - var contentMediaViewBubble: UIView = UIView(frame: .zero) - var contentBubble: UIView = UIView(frame: .zero) - var bubble: UIView = UIView(frame: .zero) - var bubbleReaction: UIView = UIView(frame: .zero) - var imageUser = UIImageView() - var contactDateLabel = StyledLabel(VoipTheme.chat_conversation_forward_label) - var chatRead = UIImageView(image: UIImage(named: "chat_delivered.png")) - - var labelInset = UIEdgeInsets(top: 10, left: 10, bottom: -10, right: -10) - - var constraintEventMesssage : [NSLayoutConstraint] = [] - var constraintEventMesssageLabel : [NSLayoutConstraint] = [] - var constraintBubble : [NSLayoutConstraint] = [] - var constraintLeadingBubble : NSLayoutConstraint? = nil - var constraintTrailingBubble : NSLayoutConstraint? = nil - var constraintDateLeadingBubble : NSLayoutConstraint? = nil - var constraintDateTrailingBubble : NSLayoutConstraint? = nil - var constraintDateBubble : NSLayoutConstraint? = nil - var constraintDateBubbleHidden : NSLayoutConstraint? = nil - var preContentViewBubbleConstraints : [NSLayoutConstraint] = [] - var preContentViewBubbleConstraintsHidden : [NSLayoutConstraint] = [] - var contentViewBubbleConstraints : [NSLayoutConstraint] = [] - var contentMediaViewBubbleConstraints : [NSLayoutConstraint] = [] - var forwardConstraints : [NSLayoutConstraint] = [] - var replyConstraints : [NSLayoutConstraint] = [] - var labelConstraints: [NSLayoutConstraint] = [] - var labelTopConstraints: [NSLayoutConstraint] = [] - var labelHiddenConstraints: [NSLayoutConstraint] = [] - var imagesGridConstraints : [NSLayoutConstraint] = [] - var imagesGridConstraintsWithRecording : [NSLayoutConstraint] = [] - var imageConstraints: [NSLayoutConstraint] = [] - var videoConstraints: [NSLayoutConstraint] = [] - var playButtonConstraints: [NSLayoutConstraint] = [] - var progressBarVideoConstraints: [NSLayoutConstraint] = [] - var progressBarImageConstraints: [NSLayoutConstraint] = [] - var recordingConstraints: [NSLayoutConstraint] = [] - var recordingConstraintsWithMediaGrid: [NSLayoutConstraint] = [] - var recordingWaveConstraints: [NSLayoutConstraint] = [] - var recordingWaveConstraintsWithMediaGrid: [NSLayoutConstraint] = [] - var meetingConstraints: [NSLayoutConstraint] = [] - var constraintGridWithTextLeading : NSLayoutConstraint? = nil - var constraintGridWithTextTrailing : NSLayoutConstraint? = nil - - var eventMessageLineView: UIView = UIView(frame: .zero) - var eventMessageLabelView: UIView = UIView(frame: .zero) - var eventMessageLabel = StyledLabel(VoipTheme.chat_conversation_forward_label) - - var forwardView = UIView() - var forwardIcon = UIImageView(image: UIImage(named: "menu_forward_default")) - var forwardLabel = StyledLabel(VoipTheme.chat_conversation_black_text) - - var replyView = UIView() - var replyIcon = UIImageView(image: UIImage(named: "menu_reply_default")) - var replyLabel = StyledLabel(VoipTheme.chat_conversation_black_text) - var replyContent = UIView() - var replyColorContent = UIView() - var replyLabelContent = StyledLabel(VoipTheme.chat_conversation_forward_label) - var stackViewReply = UIStackView() - var replyLabelTextView = StyledLabel(VoipTheme.chat_conversation_reply_label) - var replyLabelContentTextSpacing = UIView() - var replyContentTextView = StyledLabel(VoipTheme.chat_conversation_reply_content) - var replyContentTextSpacing = UIView() - var replyContentForMeetingTextView = StyledLabel(VoipTheme.chat_conversation_reply_content) - var replyContentForMeetingSpacing = UIView() - var replyMeetingSchedule = UIImageView() - var mediaSelectorReply = UIView() - - var collectionViewReply: UICollectionView = { - let collection_view_reply_height = 60.0 - let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout() - layout.itemSize = CGSize(width: collection_view_reply_height, height: collection_view_reply_height) - - layout.scrollDirection = .horizontal - layout.minimumLineSpacing = 4 - layout.minimumInteritemSpacing = 4 - - let collectionViewReply = UICollectionView(frame: .zero, collectionViewLayout: layout) - collectionViewReply.translatesAutoresizingMaskIntoConstraints = false - collectionViewReply.backgroundColor = .clear - return collectionViewReply - }() - var collectionViewImagesGrid: DynamicHeightCollectionView = { - let collection_view_reply_height = 138.0 - let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout() - layout.itemSize = CGSize(width: collection_view_reply_height, height: collection_view_reply_height) - layout.scrollDirection = .vertical - layout.minimumLineSpacing = 4 - layout.minimumInteritemSpacing = 4 - - let collectionViewImagesGrid = DynamicHeightCollectionView(frame: .zero, collectionViewLayout: layout) - collectionViewImagesGrid.translatesAutoresizingMaskIntoConstraints = false - collectionViewImagesGrid.backgroundColor = .clear - return collectionViewImagesGrid - }() - - var replyCollectionView : [UIImage] = [] - var replyContentCollection : [Content] = [] - - var imagesGridCollectionView : [UIImage?] = [] - var downloadContentCollection: [DownloadMessageCell?] = [] - var uploadContentCollection: [UploadMessageCell?] = [] - - var imageViewBubble = UIImageView(image: UIImage(named: "chat_error")) - var imageVideoViewBubble = UIImageView(image: UIImage(named: "file_video_default")) - var imagePlayViewBubble = UIImageView(image: UIImage(named: "vr_play")) - - var meetingView = UIView() - - var recordingView = UIView() - - var ephemeralIcon = UIImageView(image: UIImage(named: "ephemeral_messages_color_A.png")) - var ephemeralTimerLabel = StyledLabel(VoipTheme.chat_conversation_ephemeral_timer) - var ephemeralTimer : Timer? = nil - - - var isPlayingVoiceRecording = false - - var eventMessage: EventLog? - var chatMessage: ChatMessage? - var chatMessageDelegate: ChatMessageDelegate? = nil - - var indexTransferProgress: Int = -1 - var indexUploadTransferProgress: Int = -1 - - var selfIndexMessage: Int = -1 - - var deleteItemCheckBox = StyledCheckBox() - - var matches : [NSTextCheckingResult] = [] - - var circularProgressBarVideoView = CircularProgressBarView() - var circularProgressBarImageView = CircularProgressBarView() - var circularProgressBarVideoLabel = StyledLabel(VoipTheme.chat_conversation_download_progress_text) - var circularProgressBarImageLabel = StyledLabel(VoipTheme.chat_conversation_download_progress_text) - var fromValue : Float = 0.0 - - var messageWithRecording = false - - var stackViewReactions = UIStackView() - var stackViewReactionsItem1 = UILabel() - var stackViewReactionsItem2 = UILabel() - var stackViewReactionsItem3 = UILabel() - var stackViewReactionsItem4 = UILabel() - var stackViewReactionsItem5 = UILabel() - let newStackViewReactionsItem = UILabel() - var stackViewReactionsCounter = UILabel() - - override init(frame: CGRect) { - super.init(frame: frame) - initCell() - } - - func initCell(){ - //CheckBox for select item to delete - contentView.addSubview(deleteItemCheckBox) - deleteItemCheckBox.isHidden = true - - //Event Message - contentView.addSubview(eventMessageView) - constraintEventMesssage = [ - eventMessageView.topAnchor.constraint(equalTo: contentView.topAnchor, constant: 0), - eventMessageView.bottomAnchor.constraint(equalTo: contentView.bottomAnchor, constant: 0), - eventMessageView.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: 0), - eventMessageView.trailingAnchor.constraint(equalTo: deleteItemCheckBox.leadingAnchor, constant: 0) - ] - eventMessageView.height(40).done() - - eventMessageView.addSubview(eventMessageLineView) - eventMessageLineView.height(1).alignParentLeft().alignParentRight().matchCenterYOf(view: eventMessageView).done() - - eventMessageView.addSubview(eventMessageLabelView) - eventMessageLabelView.translatesAutoresizingMaskIntoConstraints = false - eventMessageLabelView.backgroundColor = VoipTheme.backgroundWhiteBlack.get() - - eventMessageLabelView.addSubview(eventMessageLabel) - eventMessageLabel.text = "" - eventMessageLabel.height(40).matchCenterYOf(view: eventMessageView).matchCenterXOf(view: eventMessageView).done() - constraintEventMesssageLabel = [ - eventMessageLabel.topAnchor.constraint(equalTo: eventMessageLabelView.topAnchor, constant: 0), - eventMessageLabel.bottomAnchor.constraint(equalTo: eventMessageLabelView.bottomAnchor, constant: 0), - eventMessageLabel.leadingAnchor.constraint(equalTo: eventMessageLabelView.leadingAnchor, constant: 6), - eventMessageLabel.trailingAnchor.constraint(equalTo: eventMessageLabelView.trailingAnchor, constant: -6) - ] - - eventMessageView.isHidden = true - - //Message - contentView.addSubview(contactDateLabel) - - constraintDateBubble = contactDateLabel.topAnchor.constraint(equalTo: contentView.topAnchor, constant: 4) - constraintDateBubbleHidden = contactDateLabel.topAnchor.constraint(equalTo: contentView.topAnchor) - constraintDateLeadingBubble = contactDateLabel.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: 40) - constraintDateTrailingBubble = contactDateLabel.trailingAnchor.constraint(equalTo: deleteItemCheckBox.leadingAnchor, constant: -22) - constraintDateBubble!.isActive = true - contactDateLabel.isHidden = true - - contentView.addSubview(contentBubble) - contentBubble.translatesAutoresizingMaskIntoConstraints = false - constraintBubble = [ - contentBubble.topAnchor.constraint(equalTo: contactDateLabel.bottomAnchor, constant: 0), - contentBubble.bottomAnchor.constraint(equalTo: contentView.bottomAnchor, constant: 0) - ] - constraintLeadingBubble = contentBubble.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: 40) - constraintTrailingBubble = contentBubble.trailingAnchor.constraint(equalTo: deleteItemCheckBox.leadingAnchor, constant: -22) - - NSLayoutConstraint.activate(constraintBubble) - constraintLeadingBubble!.isActive = true - - contentBubble.addSubview(imageUser) - imageUser.topAnchor.constraint(equalTo: contactDateLabel.bottomAnchor).isActive = true - imageUser.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: 6).isActive = true - imageUser.layer.cornerRadius = 15.0 - imageUser.size(w: 30, h: 30).done() - - contentBubble.addSubview(bubble) - bubble.translatesAutoresizingMaskIntoConstraints = false - bubble.topAnchor.constraint(equalTo: contactDateLabel.bottomAnchor).isActive = true - bubble.bottomAnchor.constraint(equalTo: contentView.bottomAnchor).isActive = true - bubble.leadingAnchor.constraint(equalTo: contentBubble.leadingAnchor).isActive = true - bubble.trailingAnchor.constraint(equalTo: contentBubble.trailingAnchor).isActive = true - bubble.layer.cornerRadius = 10.0 - - contentView.addSubview(bubbleReaction) - bubbleReaction.translatesAutoresizingMaskIntoConstraints = false - bubbleReaction.topAnchor.constraint(equalTo: bubble.bottomAnchor, constant: -10).isActive = true - bubbleReaction.layer.cornerRadius = 8.0 - bubbleReaction.layer.borderWidth = 0.5 - bubbleReaction.layer.borderColor = VoipTheme.backgroundWhiteBlack.get().cgColor - bubbleReaction.isHidden = true - - bubbleReaction.addSubview(stackViewReactions) - stackViewReactions.axis = .horizontal - stackViewReactions.distribution = .fill - stackViewReactions.alignment = .center - stackViewReactions.height(16).done() - - stackViewReactions.topAnchor.constraint(equalTo: bubbleReaction.topAnchor, constant: 4).isActive = true - stackViewReactions.bottomAnchor.constraint(equalTo: bubbleReaction.bottomAnchor, constant: -4).isActive = true - stackViewReactions.leadingAnchor.constraint(equalTo: bubbleReaction.leadingAnchor, constant: 4).isActive = true - stackViewReactions.trailingAnchor.constraint(equalTo: bubbleReaction.trailingAnchor, constant: -4).isActive = true - - stackViewReactionsItem1.text = "❤️" - stackViewReactionsItem1.font = UIFont.systemFont(ofSize: 12.0) - stackViewReactionsItem1.isHidden = true - stackViewReactionsItem2.text = "👍" - stackViewReactionsItem2.font = UIFont.systemFont(ofSize: 12.0) - stackViewReactionsItem2.isHidden = true - stackViewReactionsItem3.text = "😂" - stackViewReactionsItem3.font = UIFont.systemFont(ofSize: 12.0) - stackViewReactionsItem3.isHidden = true - stackViewReactionsItem4.text = "😮" - stackViewReactionsItem4.font = UIFont.systemFont(ofSize: 12.0) - stackViewReactionsItem4.isHidden = true - stackViewReactionsItem5.text = "😢" - stackViewReactionsItem5.font = UIFont.systemFont(ofSize: 12.0) - stackViewReactionsItem5.isHidden = true - newStackViewReactionsItem.text = "" - newStackViewReactionsItem.font = UIFont.systemFont(ofSize: 12.0) - newStackViewReactionsItem.isHidden = true - stackViewReactionsCounter.text = "0" - stackViewReactionsCounter.font = UIFont.systemFont(ofSize: 12.0) - stackViewReactionsCounter.textColor = .black - stackViewReactionsCounter.isHidden = true - - stackViewReactions.addArrangedSubview(stackViewReactionsItem1) - stackViewReactions.addArrangedSubview(stackViewReactionsItem2) - stackViewReactions.addArrangedSubview(stackViewReactionsItem3) - stackViewReactions.addArrangedSubview(stackViewReactionsItem4) - stackViewReactions.addArrangedSubview(stackViewReactionsItem5) - stackViewReactions.addArrangedSubview(newStackViewReactionsItem) - stackViewReactions.addArrangedSubview(stackViewReactionsCounter) - - contentBubble.addSubview(chatRead) - chatRead.bottomAnchor.constraint(equalTo: contentView.bottomAnchor, constant: -2).isActive = true - chatRead.trailingAnchor.constraint(equalTo: deleteItemCheckBox.leadingAnchor, constant: -8).isActive = true - chatRead.size(w: 10, h: 10).done() - chatRead.isHidden = true - - //PreContentViewBubble - bubble.addSubview(preContentViewBubble) - preContentViewBubble.translatesAutoresizingMaskIntoConstraints = false - preContentViewBubbleConstraints = [ - preContentViewBubble.topAnchor.constraint(equalTo: contentBubble.topAnchor), - preContentViewBubble.leadingAnchor.constraint(equalTo: contentBubble.leadingAnchor, constant: 0), - preContentViewBubble.trailingAnchor.constraint(equalTo: contentBubble.trailingAnchor, constant: -16), - ] - preContentViewBubbleConstraintsHidden = [ - preContentViewBubble.topAnchor.constraint(equalTo: contentBubble.topAnchor), - preContentViewBubble.heightAnchor.constraint(equalToConstant: 0) - ] - - //Forward - preContentViewBubble.addSubview(forwardView) - forwardView.size(w: 90, h: 10).done() - - forwardView.addSubview(forwardIcon) - forwardIcon.size(w: 10, h: 10).done() - - forwardView.addSubview(forwardLabel) - forwardLabel.text = VoipTexts.bubble_chat_transferred - forwardLabel.size(w: 90, h: 10).done() - forwardConstraints = [ - forwardView.topAnchor.constraint(equalTo: preContentViewBubble.topAnchor, constant: 0), - forwardView.bottomAnchor.constraint(equalTo: preContentViewBubble.bottomAnchor, constant: 0), - forwardView.leadingAnchor.constraint(equalTo: preContentViewBubble.leadingAnchor, constant: 0), - - forwardIcon.topAnchor.constraint(equalTo: preContentViewBubble.topAnchor, constant: 6), - forwardIcon.leadingAnchor.constraint(equalTo: preContentViewBubble.leadingAnchor, constant: 6), - - forwardLabel.topAnchor.constraint(equalTo: preContentViewBubble.topAnchor, constant: 6), - forwardLabel.leadingAnchor.constraint(equalTo: preContentViewBubble.leadingAnchor, constant: 20) - ] - forwardView.isHidden = true - - //Reply - preContentViewBubble.addSubview(replyView) - replyView.size(w: 90, h: 10).done() - - replyView.addSubview(replyIcon) - replyIcon.size(w: 10, h: 10).done() - - replyView.addSubview(replyLabel) - replyLabel.text = VoipTexts.bubble_chat_reply - replyLabel.size(w: 90, h: 10).done() - - preContentViewBubble.addSubview(replyContent) - replyContent.minWidth(200).done() - replyContent.layer.cornerRadius = 5 - replyContent.clipsToBounds = true - replyContent.translatesAutoresizingMaskIntoConstraints = false - - replyContent.addSubview(replyColorContent) - replyColorContent.width(10).done() - replyColorContent.layer.cornerRadius = 5 - replyColorContent.clipsToBounds = true - replyColorContent.layer.maskedCorners = [.layerMinXMinYCorner, .layerMinXMaxYCorner] - - initReplyView() - - replyConstraints = [ - replyView.topAnchor.constraint(equalTo: preContentViewBubble.topAnchor, constant: 0), - replyView.leadingAnchor.constraint(equalTo: preContentViewBubble.leadingAnchor, constant: 0), - - replyIcon.topAnchor.constraint(equalTo: preContentViewBubble.topAnchor, constant: 6), - replyIcon.leadingAnchor.constraint(equalTo: preContentViewBubble.leadingAnchor, constant: 6), - - replyLabel.topAnchor.constraint(equalTo: preContentViewBubble.topAnchor, constant: 6), - replyLabel.leadingAnchor.constraint(equalTo: preContentViewBubble.leadingAnchor, constant: 20), - - replyContent.topAnchor.constraint(equalTo: preContentViewBubble.topAnchor, constant: 20), - replyContent.leadingAnchor.constraint(equalTo: preContentViewBubble.leadingAnchor, constant: 8), - replyContent.trailingAnchor.constraint(equalTo: preContentViewBubble.trailingAnchor, constant: 8), - replyContent.bottomAnchor.constraint(equalTo: preContentViewBubble.bottomAnchor, constant: 0), - - replyColorContent.topAnchor.constraint(equalTo: replyContent.topAnchor), - replyColorContent.bottomAnchor.constraint(equalTo: replyContent.bottomAnchor), - - stackViewReply.topAnchor.constraint(equalTo: replyContent.topAnchor, constant: 4), - stackViewReply.bottomAnchor.constraint(equalTo: replyContent.bottomAnchor, constant: -4), - stackViewReply.leadingAnchor.constraint(equalTo: replyContent.leadingAnchor, constant: 14), - stackViewReply.trailingAnchor.constraint(equalTo: replyContent.trailingAnchor, constant: 14), - stackViewReply.widthAnchor.constraint(equalTo: replyContent.widthAnchor), - - replyContentTextView.leadingAnchor.constraint(equalTo: stackViewReply.leadingAnchor, constant: 0), - replyContentTextView.trailingAnchor.constraint(equalTo: stackViewReply.trailingAnchor, constant: -20), - - mediaSelectorReply.leadingAnchor.constraint(equalTo: stackViewReply.leadingAnchor, constant: 0), - mediaSelectorReply.trailingAnchor.constraint(equalTo: stackViewReply.trailingAnchor, constant: -20), - - collectionViewReply.topAnchor.constraint(equalTo: mediaSelectorReply.topAnchor), - collectionViewReply.bottomAnchor.constraint(equalTo: mediaSelectorReply.bottomAnchor), - collectionViewReply.leadingAnchor.constraint(equalTo: mediaSelectorReply.leadingAnchor), - collectionViewReply.trailingAnchor.constraint(equalTo: mediaSelectorReply.trailingAnchor), - ] - - replyView.isHidden = true - - //ContentViewBubble - bubble.addSubview(contentViewBubble) - contentViewBubble.translatesAutoresizingMaskIntoConstraints = false - contentViewBubbleConstraints = [ - contentViewBubble.topAnchor.constraint(equalTo: preContentViewBubble.bottomAnchor), - contentViewBubble.bottomAnchor.constraint(equalTo: contentView.bottomAnchor), - contentViewBubble.leadingAnchor.constraint(equalTo: contentBubble.leadingAnchor), - contentViewBubble.trailingAnchor.constraint(equalTo: contentBubble.trailingAnchor) - ] - NSLayoutConstraint.activate(contentViewBubbleConstraints) - - //Content Media View - contentViewBubble.addSubview(contentMediaViewBubble) - contentMediaViewBubble.translatesAutoresizingMaskIntoConstraints = false - contentMediaViewBubbleConstraints = [ - contentMediaViewBubble.topAnchor.constraint(equalTo: contentViewBubble.topAnchor), - contentMediaViewBubble.leadingAnchor.constraint(equalTo: contentViewBubble.leadingAnchor), - contentMediaViewBubble.trailingAnchor.constraint(equalTo: contentViewBubble.trailingAnchor) - ] - NSLayoutConstraint.activate(contentMediaViewBubbleConstraints) - - //Images Grid - contentMediaViewBubble.addSubview(collectionViewImagesGrid) - collectionViewImagesGrid.translatesAutoresizingMaskIntoConstraints = false - imagesGridConstraints = [ - collectionViewImagesGrid.topAnchor.constraint(equalTo: contentMediaViewBubble.topAnchor, constant: labelInset.top), - collectionViewImagesGrid.bottomAnchor.constraint(equalTo: contentMediaViewBubble.bottomAnchor, constant: labelInset.bottom) - ] - - imagesGridConstraintsWithRecording = [ - collectionViewImagesGrid.topAnchor.constraint(equalTo: contentMediaViewBubble.topAnchor, constant: labelInset.top + 50), - collectionViewImagesGrid.bottomAnchor.constraint(equalTo: contentMediaViewBubble.bottomAnchor, constant: labelInset.bottom) - ] - - - constraintGridWithTextLeading = collectionViewImagesGrid.leadingAnchor.constraint(equalTo: contentMediaViewBubble.leadingAnchor, constant: labelInset.left) - constraintGridWithTextTrailing = collectionViewImagesGrid.trailingAnchor.constraint(equalTo: contentMediaViewBubble.trailingAnchor, constant: labelInset.right) - constraintGridWithTextLeading!.isActive = true - constraintGridWithTextTrailing!.isActive = true - - collectionViewImagesGrid.dataSource = self - collectionViewImagesGrid.delegate = self - collectionViewImagesGrid.register(UICollectionViewCell.self, forCellWithReuseIdentifier: "cellImagesGridMessage") - collectionViewImagesGrid.width(280).done() - collectionViewImagesGrid.isHidden = true - - //Image - contentMediaViewBubble.addSubview(imageViewBubble) - imageViewBubble.translatesAutoresizingMaskIntoConstraints = false - imageConstraints = [ - imageViewBubble.topAnchor.constraint(equalTo: contentMediaViewBubble.topAnchor, constant: labelInset.top), - imageViewBubble.bottomAnchor.constraint(equalTo: contentMediaViewBubble.bottomAnchor, constant: labelInset.bottom), - imageViewBubble.leadingAnchor.constraint(equalTo: contentMediaViewBubble.leadingAnchor, constant: labelInset.left), - imageViewBubble.trailingAnchor.constraint(equalTo: contentMediaViewBubble.trailingAnchor, constant: labelInset.right), - ] - - imageViewBubble.contentMode = .scaleAspectFit - - imageViewBubble.addSubview(circularProgressBarImageView) - progressBarImageConstraints = [ - circularProgressBarImageView.centerXAnchor.constraint(equalTo: imageViewBubble.centerXAnchor), - circularProgressBarImageView.centerYAnchor.constraint(equalTo: imageViewBubble.centerYAnchor) - ] - - circularProgressBarImageView.size(w: 138, h: 138).done() - circularProgressBarImageLabel.size(w: 30, h: 30).done() - circularProgressBarImageLabel.text = "0%" - circularProgressBarImageView.addSubview(circularProgressBarImageLabel) - circularProgressBarImageView.isHidden = true - - imageViewBubble.isHidden = true - - //Video - contentMediaViewBubble.addSubview(imageVideoViewBubble) - imageVideoViewBubble.translatesAutoresizingMaskIntoConstraints = false - videoConstraints = [ - imageVideoViewBubble.topAnchor.constraint(equalTo: contentMediaViewBubble.topAnchor, constant: labelInset.top), - imageVideoViewBubble.bottomAnchor.constraint(equalTo: contentMediaViewBubble.bottomAnchor, constant: labelInset.bottom), - imageVideoViewBubble.leadingAnchor.constraint(equalTo: contentMediaViewBubble.leadingAnchor, constant: labelInset.left), - imageVideoViewBubble.trailingAnchor.constraint(equalTo: contentMediaViewBubble.trailingAnchor, constant: labelInset.right) - ] - - imageVideoViewBubble.contentMode = .scaleAspectFit - - if #available(iOS 13.0, *) { - imagePlayViewBubble.image = (UIImage(named: "vr_play")!.withTintColor(.white)) - } - - imageVideoViewBubble.addSubview(imagePlayViewBubble) - playButtonConstraints = [ - imagePlayViewBubble.centerXAnchor.constraint(equalTo: imageVideoViewBubble.centerXAnchor), - imagePlayViewBubble.centerYAnchor.constraint(equalTo: imageVideoViewBubble.centerYAnchor) - ] - imagePlayViewBubble.size(w: 40, h: 40).done() - - imageVideoViewBubble.addSubview(circularProgressBarVideoView) - progressBarVideoConstraints = [ - circularProgressBarVideoView.centerXAnchor.constraint(equalTo: imageVideoViewBubble.centerXAnchor), - circularProgressBarVideoView.centerYAnchor.constraint(equalTo: imageVideoViewBubble.centerYAnchor) - ] - - circularProgressBarVideoView.size(w: 138, h: 138).done() - circularProgressBarVideoLabel.size(w: 30, h: 30).done() - circularProgressBarVideoLabel.text = "0%" - circularProgressBarVideoView.addSubview(circularProgressBarVideoLabel) - circularProgressBarVideoView.isHidden = true - - imageVideoViewBubble.isHidden = true - - //RecordingPlayer - contentMediaViewBubble.addSubview(recordingView) - recordingView.translatesAutoresizingMaskIntoConstraints = false - recordingConstraints = [ - recordingView.topAnchor.constraint(equalTo: contentMediaViewBubble.topAnchor, constant: labelInset.top), - recordingView.bottomAnchor.constraint(equalTo: contentMediaViewBubble.bottomAnchor, constant: labelInset.bottom), - recordingView.leadingAnchor.constraint(equalTo: contentMediaViewBubble.leadingAnchor, constant: labelInset.left), - recordingView.trailingAnchor.constraint(equalTo: contentMediaViewBubble.trailingAnchor, constant: labelInset.right) - ] - - recordingConstraintsWithMediaGrid = [ - recordingView.topAnchor.constraint(equalTo: contentMediaViewBubble.topAnchor, constant: labelInset.top), - recordingView.leadingAnchor.constraint(equalTo: contentMediaViewBubble.leadingAnchor, constant: labelInset.left), - recordingView.trailingAnchor.constraint(equalTo: contentMediaViewBubble.trailingAnchor, constant: labelInset.right) - ] - - recordingView.height(50.0).width(280).done() - recordingView.isHidden = true - - //Text - label.numberOfLines = 0 - label.lineBreakMode = .byWordWrapping - label.textColor = .black - - contentViewBubble.addSubview(label) - label.translatesAutoresizingMaskIntoConstraints = false - labelConstraints = [ - label.topAnchor.constraint(equalTo: contentMediaViewBubble.bottomAnchor, constant: labelInset.top), - label.bottomAnchor.constraint(equalTo: contentViewBubble.bottomAnchor, constant: labelInset.bottom), - label.leadingAnchor.constraint(equalTo: contentViewBubble.leadingAnchor, constant: labelInset.left), - label.trailingAnchor.constraint(equalTo: contentViewBubble.trailingAnchor, constant: labelInset.right) - ] - - labelTopConstraints = [ - label.topAnchor.constraint(equalTo: contentMediaViewBubble.bottomAnchor), - label.bottomAnchor.constraint(equalTo: contentViewBubble.bottomAnchor, constant: labelInset.bottom), - label.leadingAnchor.constraint(equalTo: contentViewBubble.leadingAnchor, constant: labelInset.left), - label.trailingAnchor.constraint(equalTo: contentViewBubble.trailingAnchor, constant: labelInset.right) - ] - - labelHiddenConstraints = [ - label.topAnchor.constraint(equalTo: contentMediaViewBubble.bottomAnchor), - label.bottomAnchor.constraint(equalTo: contentViewBubble.bottomAnchor) - ] - - NSLayoutConstraint.activate(labelConstraints) - - //Meeting - contentViewBubble.addSubview(meetingView) - meetingView.translatesAutoresizingMaskIntoConstraints = false - meetingConstraints = [ - meetingView.topAnchor.constraint(equalTo: contentViewBubble.topAnchor, constant: labelInset.top), - meetingView.bottomAnchor.constraint(equalTo: contentViewBubble.bottomAnchor, constant: labelInset.bottom), - meetingView.leadingAnchor.constraint(equalTo: contentViewBubble.leadingAnchor, constant: labelInset.left), - meetingView.trailingAnchor.constraint(equalTo: contentViewBubble.trailingAnchor, constant: labelInset.right) - ] - meetingView.isHidden = true - - UIDeviceBridge.displayModeSwitched.readCurrentAndObserve { _ in - self.replyContent.backgroundColor = VoipTheme.backgroundWhiteBlack.get() - } - - //Ephemeral - contentViewBubble.addSubview(ephemeralTimerLabel) - ephemeralTimerLabel.bottomAnchor.constraint(equalTo: contentViewBubble.bottomAnchor, constant: -2).isActive = true - ephemeralTimerLabel.trailingAnchor.constraint(equalTo: contentViewBubble.trailingAnchor, constant: -14).isActive = true - ephemeralTimerLabel.text = "00:00" - ephemeralTimerLabel.height(10).done() - ephemeralTimerLabel.isHidden = true - - contentViewBubble.addSubview(ephemeralIcon) - ephemeralIcon.bottomAnchor.constraint(equalTo: contentViewBubble.bottomAnchor, constant: -3).isActive = true - ephemeralIcon.trailingAnchor.constraint(equalTo: contentViewBubble.trailingAnchor, constant: -6).isActive = true - ephemeralIcon.size(w: 7, h: 8).done() - ephemeralIcon.isHidden = true - } - - func initPlayerAudio(message: ChatMessage){ - let recordingPlayButton = CallControlButton(width: 40, height: 40, buttonTheme:VoipTheme.nav_color_button("vr_play")) - let recordingStopButton = CallControlButton(width: 40, height: 40, buttonTheme:VoipTheme.nav_color_button("vr_stop")) - let recordingWaveView = UIProgressView() - let recordingDurationTextView = StyledLabel(VoipTheme.chat_conversation_recording_duration) - let recordingWaveImage = UIImageView(image: UIImage(named: "vr_wave.png")) - - recordingView.addSubview(recordingWaveView) - recordingWaveView.translatesAutoresizingMaskIntoConstraints = false - recordingWaveConstraints = [ - recordingWaveView.topAnchor.constraint(equalTo: contentMediaViewBubble.topAnchor, constant: labelInset.top), - recordingWaveView.bottomAnchor.constraint(equalTo: contentMediaViewBubble.bottomAnchor, constant: labelInset.bottom), - recordingWaveView.leadingAnchor.constraint(equalTo: contentMediaViewBubble.leadingAnchor, constant: labelInset.left), - recordingWaveView.trailingAnchor.constraint(equalTo: contentMediaViewBubble.trailingAnchor, constant: labelInset.right), - recordingWaveImage.centerYAnchor.constraint(equalTo: recordingWaveView.centerYAnchor) - ] - - recordingWaveConstraintsWithMediaGrid = [ - recordingWaveView.topAnchor.constraint(equalTo: recordingView.topAnchor, constant: 0), - recordingWaveView.bottomAnchor.constraint(equalTo: recordingView.bottomAnchor, constant: -10), - recordingWaveView.leadingAnchor.constraint(equalTo: contentMediaViewBubble.leadingAnchor, constant: labelInset.left), - recordingWaveView.trailingAnchor.constraint(equalTo: contentMediaViewBubble.trailingAnchor, constant: labelInset.right), - recordingWaveImage.centerYAnchor.constraint(equalTo: recordingWaveView.centerYAnchor) - ] - - recordingWaveView.progressViewStyle = .bar - recordingWaveView.layer.cornerRadius = 5 - recordingWaveView.clipsToBounds = true - - recordingWaveView.addSubview(recordingPlayButton) - recordingPlayButton.alignParentLeft(withMargin: 10).matchParentHeight().done() - - recordingWaveView.addSubview(recordingStopButton) - recordingStopButton.alignParentLeft(withMargin: 10).matchParentHeight().done() - recordingStopButton.isHidden = true - - recordingWaveView.addSubview(recordingWaveImage) - recordingWaveImage.alignParentLeft(withMargin: 60).alignParentRight(withMargin: 60).height(26).done() - - recordingWaveView.addSubview(recordingDurationTextView) - recordingDurationTextView.alignParentRight(withMargin: 10).matchParentHeight().done() - - let img = message.isOutgoing ? UIImage.withColor(UIColor("A")) : UIImage.withColor(UIColor("D")) - recordingWaveView.progressImage = img - - var filePathRecording = message.contents.first?.filePath - - if VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) { - filePathRecording = message.contents.first?.exportPlainFile() - } - - recordingDurationTextView.text = recordingDuration(filePathRecording) - - recordingPlayButton.onClickAction = { - self.playRecordedMessage(voiceRecorder: filePathRecording, recordingPlayButton: recordingPlayButton, recordingStopButton: recordingStopButton, recordingWaveView: recordingWaveView, message: message) - } - recordingStopButton.onClickAction = { - self.stopVoiceRecordPlayer(recordingPlayButton: recordingPlayButton, recordingStopButton: recordingStopButton, recordingWaveView: recordingWaveView, message: message) - } - - if (recordingView.isHidden == false && imagesGridCollectionView.count > 0){ - collectionViewImagesGrid.isHidden = false - NSLayoutConstraint.activate(recordingConstraintsWithMediaGrid) - NSLayoutConstraint.activate(recordingWaveConstraintsWithMediaGrid) - } else { - NSLayoutConstraint.activate(recordingConstraints) - NSLayoutConstraint.activate(recordingWaveConstraints) - } - - recordingView.isHidden = false - } - - func initReplyView(){ - //Reply - Contents - - stackViewReply.axis = .vertical; - stackViewReply.distribution = .fill; - stackViewReply.alignment = .leading; - stackViewReply.maxWidth((UIScreen.main.bounds.size.width*3/4)).done() - - replyContent.addSubview(stackViewReply) - replyContent.backgroundColor = VoipTheme.backgroundWhiteBlack.get() - stackViewReply.translatesAutoresizingMaskIntoConstraints = false - - stackViewReply.addArrangedSubview(replyLabelTextView) - replyLabelTextView.height(24).done() - - stackViewReply.addArrangedSubview(replyLabelContentTextSpacing) - replyLabelContentTextSpacing.height(6).wrapContentY().done() - - stackViewReply.addArrangedSubview(replyMeetingSchedule) - replyMeetingSchedule.size(w: 100, h: 40).wrapContentY().done() - replyMeetingSchedule.contentMode = .scaleAspectFit - replyMeetingSchedule.isHidden = true - - stackViewReply.addArrangedSubview(replyContentForMeetingSpacing) - replyContentForMeetingSpacing.height(4).done() - replyMeetingSchedule.isHidden = true - - stackViewReply.addArrangedSubview(replyContentForMeetingTextView) - replyContentForMeetingTextView.width(100).wrapContentY().done() - replyContentForMeetingTextView.textAlignment = .center - replyContentForMeetingTextView.numberOfLines = 5 - replyContentForMeetingTextView.isHidden = true - - stackViewReply.addArrangedSubview(replyContentTextView) - replyContentTextView.wrapContentY().done() - replyContentTextView.numberOfLines = 5 - - stackViewReply.addArrangedSubview(replyContentTextSpacing) - replyContentTextSpacing.height(6).wrapContentY().done() - replyContentTextSpacing.isHidden = true - - stackViewReply.addArrangedSubview(mediaSelectorReply) - mediaSelectorReply.height(60).done() - mediaSelectorReply.isHidden = true - mediaSelectorReply.translatesAutoresizingMaskIntoConstraints = false - - mediaSelectorReply.addSubview(collectionViewReply) - collectionViewReply.dataSource = self - collectionViewReply.delegate = self - collectionViewReply.register(UICollectionViewCell.self, forCellWithReuseIdentifier: "cellReplyMessage") - } - - required init?(coder aDecoder: NSCoder) { - fatalError("Storyboards are quicker, easier, more seductive. Not stronger then Code.") - } - - override func prepareForReuse() { - super.prepareForReuse() - - deleteItemCheckBox.removeFromSuperview() - eventMessageView.removeFromSuperview() - contactDateLabel.removeFromSuperview() - contentBubble.removeFromSuperview() - - if chatMessageDelegate != nil { - chatMessage?.removeDelegate(delegate: chatMessageDelegate!) - } - - label = UILabel(frame: .zero) - eventMessageView = UIView(frame: .zero) - preContentViewBubble = UIView(frame: .zero) - contentViewBubble = UIView(frame: .zero) - contentMediaViewBubble = UIView(frame: .zero) - contentBubble = UIView(frame: .zero) - bubble = UIView(frame: .zero) - imageUser = UIImageView() - contactDateLabel = StyledLabel(VoipTheme.chat_conversation_forward_label) - chatRead = UIImageView(image: UIImage(named: "chat_delivered.png")) - labelInset = UIEdgeInsets(top: 10, left: 10, bottom: -10, right: -10) - constraintEventMesssage = [] - constraintEventMesssageLabel = [] - constraintBubble = [] - constraintLeadingBubble = nil - constraintTrailingBubble = nil - constraintDateLeadingBubble = nil - constraintDateTrailingBubble = nil - constraintDateBubble = nil - constraintDateBubbleHidden = nil - preContentViewBubbleConstraints = [] - preContentViewBubbleConstraintsHidden = [] - contentViewBubbleConstraints = [] - contentMediaViewBubbleConstraints = [] - forwardConstraints = [] - replyConstraints = [] - labelConstraints = [] - labelTopConstraints = [] - labelHiddenConstraints = [] - imagesGridConstraints = [] - imagesGridConstraintsWithRecording = [] - imageConstraints = [] - videoConstraints = [] - playButtonConstraints = [] - progressBarVideoConstraints = [] - progressBarImageConstraints = [] - recordingConstraints = [] - recordingConstraintsWithMediaGrid = [] - recordingWaveConstraints = [] - recordingWaveConstraintsWithMediaGrid = [] - meetingConstraints = [] - constraintGridWithTextLeading = nil - constraintGridWithTextTrailing = nil - eventMessageLineView = UIView(frame: .zero) - eventMessageLabelView = UIView(frame: .zero) - eventMessageLabel = StyledLabel(VoipTheme.chat_conversation_forward_label) - forwardView = UIView() - forwardIcon = UIImageView(image: UIImage(named: "menu_forward_default")) - replyView = UIView() - replyIcon = UIImageView(image: UIImage(named: "menu_reply_default")) - replyContent = UIView() - replyColorContent = UIView() - replyLabelContent = StyledLabel(VoipTheme.chat_conversation_forward_label) - stackViewReply = UIStackView() - replyLabelTextView = StyledLabel(VoipTheme.chat_conversation_reply_label) - replyLabelContentTextSpacing = UIView() - replyContentTextView = StyledLabel(VoipTheme.chat_conversation_reply_content) - replyContentTextSpacing = UIView() - replyContentForMeetingTextView = StyledLabel(VoipTheme.chat_conversation_reply_content) - replyContentForMeetingSpacing = UIView() - replyMeetingSchedule = UIImageView() - mediaSelectorReply = UIView() - replyCollectionView = [] - replyContentCollection = [] - imagesGridCollectionView = [] - downloadContentCollection = [] - uploadContentCollection = [] - imageViewBubble = UIImageView(image: UIImage(named: "chat_error")) - imageVideoViewBubble = UIImageView(image: UIImage(named: "file_video_default")) - imagePlayViewBubble = UIImageView(image: UIImage(named: "vr_play")) - meetingView = UIView() - recordingView = UIView() - ephemeralIcon = UIImageView(image: UIImage(named: "ephemeral_messages_color_A.png")) - ephemeralTimerLabel = StyledLabel(VoipTheme.chat_conversation_ephemeral_timer) - ephemeralTimer = nil - isPlayingVoiceRecording = false - chatMessage = nil - chatMessageDelegate = nil - indexTransferProgress = -1 - indexUploadTransferProgress = -1 - selfIndexMessage = -1 - deleteItemCheckBox = StyledCheckBox() - matches = [] - circularProgressBarVideoView = CircularProgressBarView() - circularProgressBarImageView = CircularProgressBarView() - circularProgressBarVideoLabel = StyledLabel(VoipTheme.chat_conversation_download_progress_text) - circularProgressBarImageLabel = StyledLabel(VoipTheme.chat_conversation_download_progress_text) - fromValue = 0.0 - - collectionViewReply = { - let collection_view_reply_height = 60.0 - let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout() - layout.itemSize = CGSize(width: collection_view_reply_height, height: collection_view_reply_height) - - layout.scrollDirection = .horizontal - layout.minimumLineSpacing = 4 - layout.minimumInteritemSpacing = 4 - - let collectionViewReply = UICollectionView(frame: .zero, collectionViewLayout: layout) - collectionViewReply.translatesAutoresizingMaskIntoConstraints = false - collectionViewReply.backgroundColor = .clear - return collectionViewReply - }() - collectionViewImagesGrid = { - let collection_view_reply_height = 138.0 - let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout() - layout.itemSize = CGSize(width: collection_view_reply_height, height: collection_view_reply_height) - layout.scrollDirection = .vertical - layout.minimumLineSpacing = 4 - layout.minimumInteritemSpacing = 4 - - let collectionViewImagesGrid = DynamicHeightCollectionView(frame: .zero, collectionViewLayout: layout) - collectionViewImagesGrid.translatesAutoresizingMaskIntoConstraints = false - collectionViewImagesGrid.backgroundColor = .clear - return collectionViewImagesGrid - }() - messageWithRecording = false - initCell() - } - - func configure(event: EventLog, selfIndexPathConfigure: IndexPath, editMode: Bool, selected: Bool) { - selfIndexMessage = selfIndexPathConfigure.row - eventMessage = event - chatMessage = event.chatMessage - addMessageDelegate() - imagesGridCollectionView.removeAll() - imageUser.isHidden = true - deleteItemCheckBox.isHidden = true - - if event.chatMessage != nil { - contentBubble.isHidden = false - eventMessageView.isHidden = true - NSLayoutConstraint.activate(constraintBubble) - NSLayoutConstraint.deactivate(constraintEventMesssage) - NSLayoutConstraint.deactivate(constraintEventMesssageLabel) - if !event.chatMessage!.isOutgoing { - if editMode { - constraintLeadingBubble?.isActive = false - constraintTrailingBubble?.isActive = true - }else{ - constraintLeadingBubble?.isActive = true - constraintTrailingBubble?.isActive = false - } - - if isFirstIndexInTableView(indexPath: selfIndexPathConfigure, chat: event.chatMessage!) { - imageUser.isHidden = false - if event.chatMessage?.fromAddress?.contact() != nil { - imageUser.image = FastAddressBook.image(for: event.chatMessage?.fromAddress?.contact()) - }else if event.chatMessage?.fromAddress != nil { - imageUser.image = FastAddressBook.image(for: event.chatMessage?.fromAddress?.getCobject) - } - contactDateLabel.text = contactDateForChat(message: event.chatMessage!) - contactDateLabel.isHidden = false - if editMode { - constraintDateTrailingBubble?.isActive = true - contactDateLabel.textAlignment = .right - }else{ - constraintDateLeadingBubble?.isActive = true - } - contactDateLabel.size(w: 200, h: 20).done() - }else{ - constraintDateBubble?.isActive = false - constraintDateBubbleHidden?.isActive = true - imageUser.isHidden = true - contactDateLabel.size(w: 200, h: 0).done() - } - - bubble.backgroundColor = VoipTheme.gray_light_color//.withAlphaComponent(0.2) - }else{ - constraintLeadingBubble?.isActive = false - constraintTrailingBubble?.isActive = true - - imageUser.isHidden = true - if isFirstIndexInTableView(indexPath: selfIndexPathConfigure, chat: event.chatMessage!) { - contactDateLabel.text = LinphoneUtils.time(toString: event.chatMessage!.time, with: LinphoneDateChatBubble) - contactDateLabel.isHidden = false - contactDateLabel.textAlignment = .right - constraintDateTrailingBubble?.isActive = true - contactDateLabel.size(w: 200, h: 20).done() - }else{ - constraintDateBubble?.isActive = false - constraintDateBubbleHidden?.isActive = true - contactDateLabel.size(w: 200, h: 0).done() - } - - bubble.backgroundColor = VoipTheme.primary_light_color//.withAlphaComponent(0.2) - displayImdnStatus(message: event.chatMessage!, state: event.chatMessage!.state) - } - - if event.chatMessage!.isEphemeral { - ephemeralTimerLabel.isHidden = false - ephemeralIcon.isHidden = false - contentViewBubble.minWidth(44).done() - updateEphemeralTimes() - }else{ - ephemeralTimerLabel.isHidden = true - ephemeralIcon.isHidden = true - } - - if event.chatMessage!.isForward { - NSLayoutConstraint.activate(preContentViewBubbleConstraints) - NSLayoutConstraint.activate(forwardConstraints) - NSLayoutConstraint.deactivate(replyConstraints) - contentViewBubble.minWidth(90).done() - forwardView.isHidden = false - replyView.isHidden = true - }else if event.chatMessage!.isReply{ - NSLayoutConstraint.activate(preContentViewBubbleConstraints) - NSLayoutConstraint.deactivate(forwardConstraints) - NSLayoutConstraint.activate(replyConstraints) - contentViewBubble.minWidth(216).done() - forwardView.isHidden = true - replyView.isHidden = false - - if(event.chatMessage!.replyMessage != nil){ - replyColorContent.backgroundColor = event.chatMessage!.replyMessage!.isOutgoing ? UIColor("A") : UIColor("D") - - let isIcal = ICSBubbleView.isConferenceInvitationMessage(cmessage: (event.chatMessage!.replyMessage?.getCobject)!) - let content : String? = (isIcal ? ICSBubbleView.getSubjectFromContent(cmessage: (event.chatMessage!.replyMessage?.getCobject)!) : ChatMessage.getSwiftObject(cObject: (event.chatMessage!.replyMessage?.getCobject)!).utf8Text) - let contentList = linphone_chat_message_get_contents(event.chatMessage!.replyMessage?.getCobject) - let fromAddress = FastAddressBook.displayName(for: event.chatMessage!.replyMessage!.fromAddress?.getCobject) - replyLabelTextView.text = String.localizedStringWithFormat(NSLocalizedString("%@", comment: ""), fromAddress!) - - replyContentTextView.text = content - replyContentForMeetingTextView.text = content - if(isIcal){ - replyMeetingSchedule.image = UIImage(named: "voip_meeting_schedule") - replyMeetingSchedule.isHidden = false - replyContentForMeetingTextView.isHidden = false - replyContentForMeetingSpacing.isHidden = false - replyContentTextView.isHidden = true - mediaSelectorReply.isHidden = true - replyContentTextSpacing.isHidden = true - }else{ - if(bctbx_list_size(contentList) >= 1){ - if bctbx_list_size(contentList) == 1 && content != nil { - mediaSelectorReply.isHidden = true - } else { - mediaSelectorReply.isHidden = false - } - - replyContentTextSpacing.isHidden = true - ChatMessage.getSwiftObject(cObject: (event.chatMessage!.replyMessage?.getCobject)!).contents.forEach({ content in - if(content.isFile){ - replyContentCollection.append(content) - replyCollectionView.append(getImageFrom(content, forReplyBubble: false)!) - collectionViewReply.reloadData() - }else if(content.isText){ - replyContentTextSpacing.isHidden = false - } - }) - - }else{ - mediaSelectorReply.isHidden = true - } - replyMeetingSchedule.isHidden = true - replyContentForMeetingTextView.isHidden = true - replyContentForMeetingSpacing.isHidden = true - replyContentTextView.isHidden = false - - } - replyContentTextView.text = event.chatMessage!.replyMessage!.contents.first?.utf8Text - }else{ - replyLabelTextView.isHidden = true - replyContentTextSpacing.isHidden = false - replyContentTextView.text = VoipTexts.bubble_chat_reply_message_does_not_exist + " " - } - }else{ - NSLayoutConstraint.activate(preContentViewBubbleConstraintsHidden) - NSLayoutConstraint.deactivate(forwardConstraints) - NSLayoutConstraint.deactivate(replyConstraints) - contentViewBubble.minWidth(0).done() - forwardView.isHidden = true - replyView.isHidden = true - } - let isIcal = ICSBubbleView.isConferenceInvitationMessage(cmessage: (event.chatMessage!.getCobject)!) - if(isIcal){ - - let icsBubbleView = ICSBubbleView.init() - icsBubbleView.setFromChatMessage(cmessage: event.chatMessage!.getCobject!) - - meetingView.addSubview(icsBubbleView) - icsBubbleView.size(w: 280, h: 200).done() - - icsBubbleView.translatesAutoresizingMaskIntoConstraints = false - let icsConstraints = [ - icsBubbleView.topAnchor.constraint(equalTo: meetingView.topAnchor), - icsBubbleView.bottomAnchor.constraint(equalTo: meetingView.bottomAnchor), - icsBubbleView.leadingAnchor.constraint(equalTo: meetingView.leadingAnchor), - icsBubbleView.trailingAnchor.constraint(equalTo: meetingView.trailingAnchor) - ] - NSLayoutConstraint.activate(icsConstraints) - - - NSLayoutConstraint.deactivate(labelConstraints) - NSLayoutConstraint.deactivate(labelTopConstraints) - NSLayoutConstraint.activate(labelHiddenConstraints) - NSLayoutConstraint.deactivate(imageConstraints) - NSLayoutConstraint.deactivate(videoConstraints) - NSLayoutConstraint.deactivate(playButtonConstraints) - NSLayoutConstraint.deactivate(progressBarVideoConstraints) - NSLayoutConstraint.deactivate(progressBarImageConstraints) - NSLayoutConstraint.deactivate(recordingConstraints) - NSLayoutConstraint.deactivate(recordingConstraintsWithMediaGrid) - NSLayoutConstraint.deactivate(recordingWaveConstraints) - NSLayoutConstraint.deactivate(recordingWaveConstraintsWithMediaGrid) - NSLayoutConstraint.activate(meetingConstraints) - label.isHidden = false - imageViewBubble.isHidden = true - imageVideoViewBubble.isHidden = true - recordingView.isHidden = true - - imageViewBubble.image = nil - imageVideoViewBubble.image = nil - - meetingView.isHidden = false - - }else { - NSLayoutConstraint.deactivate(labelConstraints) - NSLayoutConstraint.deactivate(labelTopConstraints) - NSLayoutConstraint.activate(labelHiddenConstraints) - NSLayoutConstraint.deactivate(imagesGridConstraints) - NSLayoutConstraint.deactivate(imagesGridConstraintsWithRecording) - NSLayoutConstraint.deactivate(imageConstraints) - NSLayoutConstraint.deactivate(videoConstraints) - NSLayoutConstraint.deactivate(playButtonConstraints) - NSLayoutConstraint.deactivate(progressBarVideoConstraints) - NSLayoutConstraint.deactivate(progressBarImageConstraints) - NSLayoutConstraint.deactivate(recordingConstraints) - NSLayoutConstraint.deactivate(recordingConstraintsWithMediaGrid) - NSLayoutConstraint.deactivate(recordingWaveConstraints) - NSLayoutConstraint.deactivate(recordingWaveConstraintsWithMediaGrid) - NSLayoutConstraint.deactivate(meetingConstraints) - constraintGridWithTextLeading!.isActive = false - constraintGridWithTextTrailing!.isActive = false - label.isHidden = true - collectionViewImagesGrid.isHidden = true - imageViewBubble.isHidden = true - imageVideoViewBubble.isHidden = true - recordingView.isHidden = true - - imageViewBubble.image = nil - imageVideoViewBubble.image = nil - - meetingView.isHidden = true - - event.chatMessage!.contents.forEach { content in - if (content.isFileTransfer && content.name != "" && !content.isVoiceRecording && (!chatMessage!.isOutgoing || (chatMessage!.isOutgoing && chatMessage!.isFileTransferInProgress == false))) { - imagesGridCollectionView.append(getImageFrom(content, forReplyBubble: false)!) - //lalala - collectionViewImagesGrid.reloadData() - - collectionViewImagesGrid.isHidden = false - NSLayoutConstraint.activate(imagesGridConstraints) - constraintGridWithTextLeading!.isActive = true - constraintGridWithTextTrailing!.isActive = true - imageViewBubble.image = nil - NSLayoutConstraint.deactivate(imageConstraints) - imageViewBubble.isHidden = true - } - - if (event.chatMessage?.isOutgoing == true && content.isFileTransfer && event.chatMessage?.isFileTransferInProgress == true && !content.isVoiceRecording) { - var filePath = "" - if VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) { - filePath = content.exportPlainFile() - }else if content.filePath != nil { - filePath = content.filePath! - } - let name = content.name - if filePath == "" { - filePath = LinphoneManager.validFilePath(name) - } - - let extensionFile = filePath.lowercased().components(separatedBy: ".").last - if (["png", "jpg", "jpeg", "bmp", "heic"].contains(extensionFile ?? "")){ - if imagesGridCollectionView.count > 1 { - imagesGridCollectionView.append(getImageFrom(content, forReplyBubble: false)!) - collectionViewImagesGrid.reloadData() - - collectionViewImagesGrid.isHidden = false - NSLayoutConstraint.activate(imagesGridConstraints) - constraintGridWithTextLeading!.isActive = true - constraintGridWithTextTrailing!.isActive = true - imageViewBubble.image = nil - NSLayoutConstraint.deactivate(imageConstraints) - imageViewBubble.isHidden = true - - }else{ - if VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) { - var plainFile = content.exportPlainFile() - if let imageMessage = UIImage(named: plainFile){ - self.imageViewBubble.image = self.resizeImage(image: imageMessage, targetSize: CGSize(width: UIScreen.main.bounds.size.width*3/4, height: 300.0)) - } - - ChatConversationViewModel.sharedModel.removeTmpFile(filePath: plainFile) - plainFile = "" - }else if content.filePath != nil { - if let imageMessage = UIImage(named: content.filePath!){ - self.imageViewBubble.image = self.resizeImage(image: imageMessage, targetSize: CGSize(width: UIScreen.main.bounds.size.width*3/4, height: 300.0)) - } - } - - imagesGridCollectionView.append(getImageFrom(content, forReplyBubble: false)!) - collectionViewImagesGrid.reloadData() - } - } else if (["mkv", "avi", "mov", "mp4"].contains(extensionFile ?? "")){ - if imagesGridCollectionView.count > 1 { - imagesGridCollectionView.append(getImageFrom(content, forReplyBubble: false)!) - collectionViewImagesGrid.reloadData() - - collectionViewImagesGrid.isHidden = false - NSLayoutConstraint.activate(imagesGridConstraints) - constraintGridWithTextLeading!.isActive = true - constraintGridWithTextTrailing!.isActive = true - imageVideoViewBubble.image = nil - NSLayoutConstraint.deactivate(imageConstraints) - imageVideoViewBubble.isHidden = true - - }else{ - if VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) { - var plainFile = content.exportPlainFile() - if let imageMessage = createThumbnailOfVideoFromFileURL(videoURL: plainFile){ - imageVideoViewBubble.image = resizeImage(image: imageMessage, targetSize: CGSize(width: UIScreen.main.bounds.size.width*3/4, height: 300.0)) - } - - ChatConversationViewModel.sharedModel.removeTmpFile(filePath: plainFile) - plainFile = "" - }else{ - if let imageMessage = createThumbnailOfVideoFromFileURL(videoURL: content.filePath!){ - imageVideoViewBubble.image = resizeImage(image: imageMessage, targetSize: CGSize(width: UIScreen.main.bounds.size.width*3/4, height: 300.0)) - } - } - imagesGridCollectionView.append(getImageFrom(content, forReplyBubble: false)!) - collectionViewImagesGrid.reloadData() - } - - if VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) { - ChatConversationViewModel.sharedModel.removeTmpFile(filePath: filePath) - filePath = "" - } - } else { - imagesGridCollectionView.append(getImageFrom(content, forReplyBubble: false)!) - //lalala - - collectionViewImagesGrid.reloadData() - - collectionViewImagesGrid.isHidden = false - NSLayoutConstraint.activate(imagesGridConstraints) - constraintGridWithTextLeading!.isActive = true - constraintGridWithTextTrailing!.isActive = true - imageViewBubble.image = nil - NSLayoutConstraint.deactivate(imageConstraints) - imageViewBubble.isHidden = true - } - } - - if content.type == "text" && !content.isFile{ - if event.chatMessage!.contents.count > 1 { - NSLayoutConstraint.deactivate(labelConstraints) - NSLayoutConstraint.activate(labelTopConstraints) - }else{ - NSLayoutConstraint.activate(labelConstraints) - NSLayoutConstraint.deactivate(labelTopConstraints) - } - - label.font = label.font.withSize(17) - - if (content.utf8Text!.trimmingCharacters(in: .whitespacesAndNewlines).unicodeScalars.first?.properties.isEmojiPresentation == true){ - var onlyEmojis = true - content.utf8Text!.trimmingCharacters(in: .whitespacesAndNewlines).unicodeScalars.forEach { emoji in - if !emoji.properties.isEmojiPresentation && !emoji.properties.isWhitespace{ - onlyEmojis = false - } - } - if onlyEmojis { - label.font = label.font.withSize(51) - } - } - - checkIfIsLinkOrPhoneNumber(content: content.utf8Text!) - - NSLayoutConstraint.deactivate(labelHiddenConstraints) - label.isHidden = false - }else if content.type == "image"{ - if imagesGridCollectionView.count > 1 { - if(content.isFile){ - imagesGridCollectionView.append(getImageFrom(content, forReplyBubble: false)!) - collectionViewImagesGrid.reloadData() - } - - collectionViewImagesGrid.isHidden = false - NSLayoutConstraint.activate(imagesGridConstraints) - constraintGridWithTextLeading!.isActive = true - constraintGridWithTextTrailing!.isActive = true - imageViewBubble.image = nil - NSLayoutConstraint.deactivate(imageConstraints) - imageViewBubble.isHidden = true - - }else{ - if VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) { - var plainFile = content.exportPlainFile() - if let imageMessage = UIImage(named: plainFile){ - self.imageViewBubble.image = self.resizeImage(image: imageMessage, targetSize: CGSize(width: UIScreen.main.bounds.size.width*3/4, height: 300.0)) - } - - ChatConversationViewModel.sharedModel.removeTmpFile(filePath: plainFile) - plainFile = "" - }else if content.filePath != nil { - if let imageMessage = UIImage(named: content.filePath!){ - self.imageViewBubble.image = self.resizeImage(image: imageMessage, targetSize: CGSize(width: UIScreen.main.bounds.size.width*3/4, height: 300.0)) - } - } else { - if let imageMessage = UIImage(named: "file_default"){ - self.imageViewBubble.image = self.resizeImage(image: imageMessage, targetSize: CGSize(width: UIScreen.main.bounds.size.width*3/4, height: 300.0)) - } - } - - if(content.isFile){ - imagesGridCollectionView.append(getImageFrom(content, forReplyBubble: false)!) - //lalalaNON - collectionViewImagesGrid.reloadData() - } - } - - }else if content.type == "video"{ - if imagesGridCollectionView.count > 1 { - if(content.isFile){ - imagesGridCollectionView.append(getImageFrom(content, forReplyBubble: false)!) - collectionViewImagesGrid.reloadData() - } - - collectionViewImagesGrid.isHidden = false - NSLayoutConstraint.activate(imagesGridConstraints) - constraintGridWithTextLeading!.isActive = true - constraintGridWithTextTrailing!.isActive = true - imageVideoViewBubble.image = nil - NSLayoutConstraint.deactivate(imageConstraints) - imageVideoViewBubble.isHidden = true - - }else{ - if VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) { - var plainFile = content.exportPlainFile() - if let imageMessage = createThumbnailOfVideoFromFileURL(videoURL: plainFile){ - imageVideoViewBubble.image = resizeImage(image: imageMessage, targetSize: CGSize(width: UIScreen.main.bounds.size.width*3/4, height: 300.0)) - } - - ChatConversationViewModel.sharedModel.removeTmpFile(filePath: plainFile) - plainFile = "" - }else{ - if let imageMessage = createThumbnailOfVideoFromFileURL(videoURL: content.filePath!){ - imageVideoViewBubble.image = resizeImage(image: imageMessage, targetSize: CGSize(width: UIScreen.main.bounds.size.width*3/4, height: 300.0)) - } - } - - if(content.isFile){ - imagesGridCollectionView.append(getImageFrom(content, forReplyBubble: false)!) - collectionViewImagesGrid.reloadData() - } - } - - }else if content.isVoiceRecording { - recordingView.subviews.forEach({ view in - view.removeFromSuperview() - }) - initPlayerAudio(message: event.chatMessage!) - if imagesGridCollectionView.count == 0 { - messageWithRecording = true - } - }else{ - if(content.isFile && !content.isText){ - var filePath = "" - if VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) { - filePath = content.exportPlainFile() - }else { - filePath = content.filePath! - } - let name = content.name - if filePath == "" { - filePath = LinphoneManager.validFilePath(name) - } - - let extensionFile = filePath.lowercased().components(separatedBy: ".").last - if (["png", "jpg", "jpeg", "bmp", "heic"].contains(extensionFile ?? "")){ - if imagesGridCollectionView.count > 1 { - imagesGridCollectionView.append(getImageFrom(content, forReplyBubble: false)!) - collectionViewImagesGrid.reloadData() - - collectionViewImagesGrid.isHidden = false - NSLayoutConstraint.activate(imagesGridConstraints) - constraintGridWithTextLeading!.isActive = true - constraintGridWithTextTrailing!.isActive = true - imageViewBubble.image = nil - NSLayoutConstraint.deactivate(imageConstraints) - imageViewBubble.isHidden = true - - }else{ - if VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) { - var plainFile = content.exportPlainFile() - if let imageMessage = UIImage(named: plainFile){ - self.imageViewBubble.image = self.resizeImage(image: imageMessage, targetSize: CGSize(width: UIScreen.main.bounds.size.width*3/4, height: 300.0)) - } - - ChatConversationViewModel.sharedModel.removeTmpFile(filePath: plainFile) - plainFile = "" - }else{ - if let imageMessage = UIImage(named: content.filePath!){ - self.imageViewBubble.image = self.resizeImage(image: imageMessage, targetSize: CGSize(width: UIScreen.main.bounds.size.width*3/4, height: 300.0)) - } - } - - imagesGridCollectionView.append(getImageFrom(content, forReplyBubble: false)!) - collectionViewImagesGrid.reloadData() - } - } else if (["mkv", "avi", "mov", "mp4"].contains(extensionFile ?? "")){ - if imagesGridCollectionView.count > 1 { - imagesGridCollectionView.append(getImageFrom(content, forReplyBubble: false)!) - collectionViewImagesGrid.reloadData() - - collectionViewImagesGrid.isHidden = false - NSLayoutConstraint.activate(imagesGridConstraints) - constraintGridWithTextLeading!.isActive = true - constraintGridWithTextTrailing!.isActive = true - imageVideoViewBubble.image = nil - NSLayoutConstraint.deactivate(imageConstraints) - imageVideoViewBubble.isHidden = true - - }else{ - if VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) { - var plainFile = content.exportPlainFile() - if let imageMessage = createThumbnailOfVideoFromFileURL(videoURL: plainFile){ - imageVideoViewBubble.image = resizeImage(image: imageMessage, targetSize: CGSize(width: UIScreen.main.bounds.size.width*3/4, height: 300.0)) - } - - ChatConversationViewModel.sharedModel.removeTmpFile(filePath: plainFile) - plainFile = "" - }else{ - if let imageMessage = createThumbnailOfVideoFromFileURL(videoURL: content.filePath!){ - imageVideoViewBubble.image = resizeImage(image: imageMessage, targetSize: CGSize(width: UIScreen.main.bounds.size.width*3/4, height: 300.0)) - } - } - imagesGridCollectionView.append(getImageFrom(content, forReplyBubble: false)!) - collectionViewImagesGrid.reloadData() - } - - if VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) { - ChatConversationViewModel.sharedModel.removeTmpFile(filePath: filePath) - filePath = "" - } - } else { - imagesGridCollectionView.append(getImageFrom(content, forReplyBubble: false)!) - collectionViewImagesGrid.reloadData() - - collectionViewImagesGrid.isHidden = false - NSLayoutConstraint.activate(imagesGridConstraints) - constraintGridWithTextLeading!.isActive = true - constraintGridWithTextTrailing!.isActive = true - imageViewBubble.image = nil - NSLayoutConstraint.deactivate(imageConstraints) - imageViewBubble.isHidden = true - } - } else { - if content.filePath == "" && content.isFileTransfer == false { - imagesGridCollectionView.append(SwiftUtil.textToImage(drawText: "Error", inImage: UIImage(named: "file_default")!, forReplyBubble: true)) - collectionViewImagesGrid.reloadData() - - collectionViewImagesGrid.isHidden = false - NSLayoutConstraint.activate(imagesGridConstraints) - constraintGridWithTextLeading!.isActive = true - constraintGridWithTextTrailing!.isActive = true - imageViewBubble.image = nil - NSLayoutConstraint.deactivate(imageConstraints) - imageViewBubble.isHidden = true - } else { - var filePathString = VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) ? content.exportPlainFile() : content.filePath - if filePathString != nil { - if let urlEncoded = filePathString!.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed){ - if !urlEncoded.isEmpty { - if let urlFile = URL(string: "file://" + urlEncoded){ - do { - let text = try String(contentsOf: urlFile, encoding: .utf8) - imagesGridCollectionView.append(SwiftUtil.textToImage(drawText: "Error", inImage: UIImage(named: "file_default")!, forReplyBubble: true)) - collectionViewImagesGrid.reloadData() - - collectionViewImagesGrid.isHidden = false - NSLayoutConstraint.activate(imagesGridConstraints) - constraintGridWithTextLeading!.isActive = true - constraintGridWithTextTrailing!.isActive = true - imageViewBubble.image = nil - NSLayoutConstraint.deactivate(imageConstraints) - imageViewBubble.isHidden = true - } catch {} - } - } - } - if VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) { - ChatConversationViewModel.sharedModel.removeTmpFile(filePath: filePathString) - filePathString = "" - } - } - } - } - } - } - if imagesGridCollectionView.count > 0 { - self.collectionViewImagesGrid.layoutIfNeeded() - } - - if imagesGridCollectionView.count == 1 && recordingView.isHidden == true { - if label.isHidden { - collectionViewImagesGrid.width(138).done() - } else { - collectionViewImagesGrid.width(138).done() - if event.chatMessage?.isOutgoing == true { - constraintGridWithTextLeading!.isActive = false - } else { - constraintGridWithTextTrailing!.isActive = false - } - label.minWidth(138).done() - } - } - - if imagesGridCollectionView.count == 2 { - collectionViewImagesGrid.isHidden = false - NSLayoutConstraint.activate(imagesGridConstraints) - constraintGridWithTextLeading!.isActive = true - constraintGridWithTextTrailing!.isActive = true - imageVideoViewBubble.image = nil - NSLayoutConstraint.deactivate(imageConstraints) - imageVideoViewBubble.isHidden = true - } - - if (imageViewBubble.image != nil && imagesGridCollectionView.count <= 1){ - NSLayoutConstraint.activate(imageConstraints) - imageViewBubble.isHidden = false - } - - if (imageVideoViewBubble.image != nil && imagesGridCollectionView.count <= 1){ - NSLayoutConstraint.activate(videoConstraints) - NSLayoutConstraint.activate(playButtonConstraints) - imageVideoViewBubble.isHidden = false - } - - if (recordingView.isHidden == false && imagesGridCollectionView.count > 0){ - collectionViewImagesGrid.isHidden = false - NSLayoutConstraint.deactivate(imagesGridConstraints) - NSLayoutConstraint.activate(imagesGridConstraintsWithRecording) - constraintGridWithTextLeading!.isActive = true - constraintGridWithTextTrailing!.isActive = true - NSLayoutConstraint.deactivate(recordingConstraints) - NSLayoutConstraint.activate(recordingConstraintsWithMediaGrid) - NSLayoutConstraint.deactivate(recordingWaveConstraints) - NSLayoutConstraint.activate(recordingWaveConstraintsWithMediaGrid) - imageViewBubble.image = nil - imageVideoViewBubble.image = nil - NSLayoutConstraint.deactivate(imageConstraints) - imageVideoViewBubble.isHidden = true - } - } - - if event.chatMessage!.reactions.count > 0 { - bubbleReaction.isHidden = false - bubbleReaction.backgroundColor = bubble.backgroundColor - if event.chatMessage?.isOutgoing == true { - bubbleReaction.trailingAnchor.constraint(equalTo: bubble.trailingAnchor, constant: -6).isActive = true - } else { - - bubbleReaction.leadingAnchor.constraint(equalTo: bubble.leadingAnchor, constant: 6).isActive = true - } - - bubble.bottomAnchor.constraint(equalTo: contentView.bottomAnchor, constant: -14).isActive = true - - contentViewBubble.bottomAnchor.constraint(equalTo: contentView.bottomAnchor, constant: -14).isActive = true - - chatRead.bottomAnchor.constraint(equalTo: contentView.bottomAnchor, constant: -16).isActive = true - - event.chatMessage!.reactions.forEach { chatMessageReaction in - switch chatMessageReaction.body { - case "❤️": - if stackViewReactionsItem1.isHidden == false { - stackViewReactionsCounter.text = String(event.chatMessage!.reactions.count) - stackViewReactionsCounter.isHidden = false - } else { - stackViewReactionsItem1.isHidden = false - } - case "👍": - if stackViewReactionsItem2.isHidden == false { - stackViewReactionsCounter.text = String(event.chatMessage!.reactions.count) - stackViewReactionsCounter.isHidden = false - } else { - stackViewReactionsItem2.isHidden = false - } - case "😂": - if stackViewReactionsItem3.isHidden == false { - stackViewReactionsCounter.text = String(event.chatMessage!.reactions.count) - stackViewReactionsCounter.isHidden = false - } else { - stackViewReactionsItem3.isHidden = false - } - case "😮": - if stackViewReactionsItem4.isHidden == false { - stackViewReactionsCounter.text = String(event.chatMessage!.reactions.count) - stackViewReactionsCounter.isHidden = false - } else { - stackViewReactionsItem4.isHidden = false - } - case "😢": - if stackViewReactionsItem5.isHidden == false { - stackViewReactionsCounter.text = String(event.chatMessage!.reactions.count) - stackViewReactionsCounter.isHidden = false - } else { - stackViewReactionsItem5.isHidden = false - } - default: - if newStackViewReactionsItem.isHidden == false { - stackViewReactionsCounter.text = String(event.chatMessage!.reactions.count) - stackViewReactionsCounter.isHidden = false - } else { - newStackViewReactionsItem.text = chatMessageReaction.body - newStackViewReactionsItem.isHidden = false - } - } - } - - let tap = UITapGestureRecognizer(target: self, action: #selector(self.showMyViewControllerInACustomizedSheet(_:))) - bubbleReaction.addGestureRecognizer(tap) - } - }else{ - contentBubble.isHidden = true - NSLayoutConstraint.deactivate(constraintBubble) - constraintLeadingBubble?.isActive = false - constraintTrailingBubble?.isActive = false - imageUser.isHidden = true - - eventMessageView.isHidden = false - NSLayoutConstraint.activate(constraintEventMesssage) - NSLayoutConstraint.activate(constraintEventMesssageLabel) - - eventMessageLabel.text = setEvent(event: event) - - if (eventMessageLabel.text == VoipTexts.bubble_chat_event_message_left_group || eventMessageLabel.text!.hasPrefix(VoipTexts.bubble_chat_event_message_max_participant) || eventMessageLabel.text!.hasPrefix(VoipTexts.bubble_chat_event_message_lime_changed) || eventMessageLabel.text!.hasPrefix(VoipTexts.bubble_chat_event_message_attack_detected)) { - eventMessageLineView.backgroundColor = .red - eventMessageLabel.textColor = .red - } else { - eventMessageLineView.backgroundColor = UIColor("D").withAlphaComponent(0.6) - eventMessageLabel.textColor = UIColor("D").withAlphaComponent(0.6) - } - } - - if (editMode) { - - deleteItemCheckBox.isHidden = false - deleteItemCheckBox.trailingAnchor.constraint(equalTo: contentView.trailingAnchor, constant: -18).isActive = true - deleteItemCheckBox.isSelected = selected - if (event.chatMessage != nil){ - deleteItemCheckBox.matchCenterYOf(view: contentBubble).done() - }else{ - deleteItemCheckBox.matchCenterYOf(view: contentView).done() - } - imageUser.isHidden = true - contentView.onClick { - if ChatConversationTableViewModel.sharedModel.editModeOn.value! { - self.deleteItemCheckBox.isSelected = !self.deleteItemCheckBox.isSelected - ChatConversationTableViewModel.sharedModel.messageListSelected.value![self.selfIndexMessage] = self.deleteItemCheckBox.isSelected - - if ChatConversationTableViewModel.sharedModel.messageListSelected.value![self.selfIndexMessage] == true { - ChatConversationTableViewModel.sharedModel.messageSelected.value! += 1 - }else{ - ChatConversationTableViewModel.sharedModel.messageSelected.value! -= 1 - } - } - } - deleteItemCheckBox.onClick { - if ChatConversationTableViewModel.sharedModel.editModeOn.value! { - self.deleteItemCheckBox.isSelected = !self.deleteItemCheckBox.isSelected - ChatConversationTableViewModel.sharedModel.messageListSelected.value![self.selfIndexMessage] = self.deleteItemCheckBox.isSelected - - if ChatConversationTableViewModel.sharedModel.messageListSelected.value![self.selfIndexMessage] == true { - ChatConversationTableViewModel.sharedModel.messageSelected.value! += 1 - }else{ - ChatConversationTableViewModel.sharedModel.messageSelected.value! -= 1 - } - } - } - }else{ - deleteItemCheckBox.trailingAnchor.constraint(equalTo: contentView.trailingAnchor, constant: 0).isActive = true - deleteItemCheckBox.isHidden = true - deleteItemCheckBox.width(0).done() - } - } - - @objc func showMyViewControllerInACustomizedSheet(_ sender: UITapGestureRecognizer? = nil) { - if #available(iOS 15.0, *) { - let sheetViewController = SheetViewController(chatMessageInit: chatMessage!) - if let sheetController = sheetViewController.sheetPresentationController { - sheetController.detents = [.medium()] - sheetController.prefersGrabberVisible = true - } - PhoneMainView.instance()!.present(sheetViewController, animated: true, completion: nil) - } - } - - func checkIfIsLinkOrPhoneNumber(content: String){ - let input = content - - let detector = try! NSDataDetector(types: NSTextCheckingResult.CheckingType.phoneNumber.rawValue | NSTextCheckingResult.CheckingType.link.rawValue) - - let regex = try! NSRegularExpression(pattern: "sips:(\\S+)") - - let matchesSips = detector.matches(in: input, options: [], range: NSRange(location: 0, length: input.utf16.count)) - matches = regex.matches(in: input, options: [], range: NSRange(location: 0, length: input.utf16.count)) - - for matcheSips in matchesSips { - matches.append(matcheSips) - } - - let paragraphStyle = NSMutableParagraphStyle() - paragraphStyle.lineSpacing = 1 - - let attributedString = NSMutableAttributedString.init(string: content, attributes: [ - NSAttributedString.Key.font: label.font as Any - ]) - - for match in matches { - let linkRange = match.range - let linkAttributes = [NSAttributedString.Key.foregroundColor: UIColor.blue, NSAttributedString.Key.underlineStyle: NSUnderlineStyle.single.rawValue] as [NSAttributedString.Key : Any] - attributedString.setAttributes(linkAttributes, range: linkRange) - } - - if matches.count > 0 { - label.isUserInteractionEnabled = true - let tap = UITapGestureRecognizer(target: self, action: #selector(self.handleTapOnLabel(_:))) - label.addGestureRecognizer(tap) - } - - label.attributedText = attributedString - } - - @objc func handleTapOnLabel(_ sender: UITapGestureRecognizer) { - matches.forEach { match in - if sender.didTapAttributedTextInLabel(label: label, inRange: match.range) { - - let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,64}" - let emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegEx) - - if let url = match.url { - - if url.absoluteString.hasPrefix("sip:") || url.absoluteString.hasPrefix("sips:"){ - let view: DialerView = self.VIEW(DialerView.compositeViewDescription()) - CallManager.instance().nextCallIsTransfer = true - PhoneMainView.instance().changeCurrentView(view.compositeViewDescription()) - view.addressField.text = url.absoluteString - }else if emailTest.evaluate(with: url.absoluteString){ - if let urlWithMailTo = URL(string: "mailto:\(url.absoluteString)") { - if #available(iOS 10.0, *) { - UIApplication.shared.open(urlWithMailTo, options: [:], completionHandler: nil) - } else { - UIApplication.shared.openURL(urlWithMailTo) - } - } - }else{ - if #available(iOS 10.0, *) { - UIApplication.shared.open(url, options: [:], completionHandler: nil) - } else { - UIApplication.shared.openURL(url) - } - } - }else if let phoneNumber = match.phoneNumber { - let view: DialerView = self.VIEW(DialerView.compositeViewDescription()) - CallManager.instance().nextCallIsTransfer = true - PhoneMainView.instance().changeCurrentView(view.compositeViewDescription()) - view.addressField.text = phoneNumber - }else if let sips = label.attributedText { - let view: DialerView = self.VIEW(DialerView.compositeViewDescription()) - CallManager.instance().nextCallIsTransfer = true - PhoneMainView.instance().changeCurrentView(view.compositeViewDescription()) - view.addressField.text = (sips.string as NSString).substring(with: match.range) - } - } - } - } - - func addMessageDelegate(){ - chatMessageDelegate = ChatMessageDelegateStub( - onMsgStateChanged: { (message: ChatMessage, state: ChatMessage.State) -> Void in - self.displayImdnStatus(message: message, state: state) - }, - onNewMessageReaction: { (message: ChatMessage, messageReaction: ChatMessageReaction) -> Void in - ChatConversationTableViewModel.sharedModel.reloadCollectionViewCell() - }, - onReactionRemoved: { (message: ChatMessage, address: Address) -> Void in - ChatConversationTableViewModel.sharedModel.reloadCollectionViewCell() - }, - onFileTransferProgressIndication: { (message: ChatMessage, content: Content, offset: Int, total: Int) -> Void in - self.file_transfer_progress_indication_recv(message: message, content: content, offset: offset, total: total) - }, - onParticipantImdnStateChanged: { (message: ChatMessage, state: ParticipantImdnState) -> Void in - //self.displayImdnStatus(message: message, state: state) - } - ) - chatMessage?.addDelegate(delegate: chatMessageDelegate!) - } - - override func preferredLayoutAttributesFitting(_ layoutAttributes: UICollectionViewLayoutAttributes) -> UICollectionViewLayoutAttributes { - label.preferredMaxLayoutWidth = (UIScreen.main.bounds.size.width*3/4) - layoutAttributes.bounds.size.height = systemLayoutSizeFitting(UIView.layoutFittingCompressedSize).height - - let cellsPerRow = 1 - let minimumInterItemSpacing = 1.0 - if window != nil { - let marginsAndInsets = window!.safeAreaInsets.left + window!.safeAreaInsets.right + minimumInterItemSpacing * CGFloat(cellsPerRow - 1) - layoutAttributes.bounds.size.width = ((window!.bounds.size.width - marginsAndInsets) / CGFloat(cellsPerRow)).rounded(.down) - } else { - layoutAttributes.bounds.size.width = (UIScreen.main.bounds.size.width / CGFloat(cellsPerRow)).rounded(.down) - } - return layoutAttributes - } - - func createThumbnailOfVideoFromFileURL(videoURL: String) -> UIImage? { - if let urlEncoded = videoURL.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed){ - if !urlEncoded.isEmpty { - if let urlVideo = URL(string: "file://" + urlEncoded){ - do { - let asset = AVAsset(url: urlVideo) - let assetImgGenerate = AVAssetImageGenerator(asset: asset) - assetImgGenerate.appliesPreferredTrackTransform = true - let img = try assetImgGenerate.copyCGImage(at: CMTimeMake(value: 1, timescale: 10), actualTime: nil) - let thumbnail = UIImage(cgImage: img) - return thumbnail - } catch _{ - return nil - } - } else { - return nil - } - } else { - return nil - } - } else { - return nil - } - } - - func resizeImage(image: UIImage, targetSize: CGSize) -> UIImage { - let size = image.size - - let widthRatio = targetSize.width / size.width - let heightRatio = targetSize.height / size.height - - // Figure out what our orientation is, and use that to form the rectangle - var newSize: CGSize - if(widthRatio > heightRatio) { - newSize = CGSize(width: size.width * heightRatio, height: size.height * heightRatio) - } else { - newSize = CGSize(width: size.width * widthRatio, height: size.height * widthRatio) - } - - // This is the rect that we've calculated out and this is what is actually used below - let rect = CGRect(x: 0, y: 0, width: newSize.width, height: newSize.height) - - // Actually do the resizing to the rect using the ImageContext stuff - UIGraphicsBeginImageContextWithOptions(newSize, true, 2.0) - image.draw(in: rect) - let newImage = UIGraphicsGetImageFromCurrentImageContext() - UIGraphicsEndImageContext() - - return newImage! - } - - //Audio - func playRecordedMessage(voiceRecorder: String?, recordingPlayButton: CallControlButton, recordingStopButton: CallControlButton, recordingWaveView: UIProgressView, message: ChatMessage) { - AudioPlayer.initSharedPlayer() - AudioPlayer.sharedModel.fileChanged.value = voiceRecorder - recordingPlayButton.isHidden = true - recordingStopButton.isHidden = false - - AudioPlayer.startSharedPlayer(voiceRecorder) - isPlayingVoiceRecording = true - - AudioPlayer.sharedModel.fileChanged.observe { file in - if (file != voiceRecorder && self.isPlayingVoiceRecording) { - self.stopVoiceRecordPlayer(recordingPlayButton: recordingPlayButton, recordingStopButton: recordingStopButton, recordingWaveView: recordingWaveView, message: message) - } - } - - recordingWaveView.progress = 1.0 - UIView.animate(withDuration: TimeInterval(Double(AudioPlayer.getSharedPlayer()!.duration) / 1000.00), delay: 0.0, options: .curveLinear, animations: { - recordingWaveView.layoutIfNeeded() - }, completion: { (finished: Bool) in - if (self.isPlayingVoiceRecording) { - self.stopVoiceRecordPlayer(recordingPlayButton: recordingPlayButton, recordingStopButton: recordingStopButton, recordingWaveView: recordingWaveView, message: message) - } - }) - } - - func recordingDuration(_ _voiceRecordingFile: String?) -> String? { - let core = Core.getSwiftObject(cObject: LinphoneManager.getLc()) - var result = "" - do{ - let linphonePlayer = try core.createLocalPlayer(soundCardName: nil, videoDisplayName: nil, windowId: nil) - if _voiceRecordingFile != nil { - try linphonePlayer.open(filename: _voiceRecordingFile!) - } - result = formattedDuration(linphonePlayer.duration) ?? "" - linphonePlayer.close() - }catch{ - Log.e(error.localizedDescription) - } - return result - } - - func formattedDuration(_ valueMs: Int) -> String? { - return String(format: "%02ld:%02ld", valueMs / 60000, (valueMs % 60000) / 1000) - } - - func stopVoiceRecordPlayer(recordingPlayButton: CallControlButton, recordingStopButton: CallControlButton, recordingWaveView: UIProgressView, message: ChatMessage) { - recordingView.subviews.forEach({ view in - view.removeFromSuperview() - }) - if(!recordingView.isHidden){ - initPlayerAudio(message: message) - } - recordingWaveView.progress = 0.0 - recordingWaveView.setProgress(recordingWaveView.progress, animated: false) - AudioPlayer.stopSharedPlayer() - recordingPlayButton.isHidden = false - recordingStopButton.isHidden = true - isPlayingVoiceRecording = false - } - - func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { - if(collectionView == collectionViewReply){ - return replyCollectionView.count - }else{ - return imagesGridCollectionView.count - } - } - - @objc(collectionView:cellForItemAtIndexPath:) func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { - if(collectionView == collectionViewReply){ - let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cellReplyMessage", for: indexPath) - let viewCell: UIView = UIView(frame: cell.contentView.frame) - cell.addSubview(viewCell) - let imageCell = replyCollectionView[indexPath.row] - var myImageView = UIImageView() - - if(replyContentCollection[indexPath.row].type == "image" || replyContentCollection[indexPath.row].type == "video"){ - myImageView = UIImageView(image: imageCell) - }else{ - let fileNameText = replyContentCollection[indexPath.row].name - let fileName = SwiftUtil.textToImage(drawText:fileNameText!, inImage:imageCell, forReplyBubble:true) - myImageView = UIImageView(image: fileName) - } - - myImageView.size(w: (viewCell.frame.width), h: (viewCell.frame.height)).done() - viewCell.addSubview(myImageView) - - if(replyContentCollection[indexPath.row].type == "video"){ - var imagePlay = UIImage() - if #available(iOS 13.0, *) { - imagePlay = (UIImage(named: "vr_play")!.withTintColor(.white)) - } else { - imagePlay = UIImage(named: "vr_play")! - } - let myImagePlayView = UIImageView(image: imagePlay) - viewCell.addSubview(myImagePlayView) - myImagePlayView.size(w: viewCell.frame.width/4, h: viewCell.frame.height/4).done() - myImagePlayView.alignHorizontalCenterWith(viewCell).alignVerticalCenterWith(viewCell).done() - } - myImageView.contentMode = .scaleAspectFill - myImageView.clipsToBounds = true - - return cell - }else{ - let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cellImagesGridMessage", for: indexPath) - let indexPathWithoutNil = indexPath.row - let indexPathWithoutNilWithRecording = indexPathWithoutNil + (messageWithRecording ? 1 : 0) - - if (chatMessage != nil && imagesGridCollectionView.count > indexPathWithoutNil && chatMessage!.contents.filter({$0.isFile || $0.isFileTransfer}).count > indexPathWithoutNilWithRecording){ - if ((indexPathWithoutNil <= imagesGridCollectionView.count - 1) && (imagesGridCollectionView[indexPathWithoutNil] != nil) && (chatMessage!.contents.filter({$0.isFile || $0.isFileTransfer})[indexPathWithoutNilWithRecording].isFile == true || chatMessage!.contents.filter({$0.isFile || $0.isFileTransfer})[indexPathWithoutNilWithRecording].isFileTransfer == true)) { - let viewCell: UIView = UIView(frame: cell.contentView.frame) - cell.addSubview(viewCell) - if (chatMessage!.isOutgoing == false && (chatMessage!.contents.filter({$0.isFile || $0.isFileTransfer})[indexPathWithoutNilWithRecording].filePath == "" || chatMessage!.contents.filter({$0.isFile || $0.isFileTransfer})[indexPathWithoutNilWithRecording].isFileTransfer == true)) { - let downloadView = DownloadMessageCell() - downloadContentCollection.append(downloadView) - downloadView.content = chatMessage!.contents.filter({$0.isFile || $0.isFileTransfer})[indexPathWithoutNilWithRecording] - downloadView.size(w: 138, h: 138).done() - viewCell.addSubview(downloadView) - - if chatMessage!.contents.filter({$0.isFile || $0.isFileTransfer})[indexPathWithoutNilWithRecording].name != nil { - downloadView.downloadNameLabel.text = chatMessage!.contents.filter({$0.isFile || $0.isFileTransfer})[indexPathWithoutNilWithRecording].name!.replacingOccurrences(of: ((chatMessage!.contents.filter({$0.isFile || $0.isFileTransfer})[indexPathWithoutNilWithRecording].name!.dropFirst(6).dropLast(8))), with: "...") - downloadView.setFileType(fileName: (chatMessage!.contents.filter({$0.isFile || $0.isFileTransfer})[indexPathWithoutNilWithRecording].name)!) - } else { - downloadView.downloadNameLabel.text = "" - } - - let underlineAttribute = [NSAttributedString.Key.underlineStyle: NSUnderlineStyle.thick.rawValue] - let underlineAttributedString = NSAttributedString(string: "\(VoipTexts.bubble_chat_download_file) (\(String(format: "%.1f", Float(((chatMessage!.contents.filter({$0.isFile || $0.isFileTransfer})[indexPathWithoutNilWithRecording].fileSize))) / 1000000)) Mo)", attributes: underlineAttribute) - downloadView.downloadButtonLabel.attributedText = underlineAttributedString - downloadView.downloadButtonLabel.onClick { - if (self.chatMessage!.contents.filter({$0.isFile || $0.isFileTransfer})[indexPathWithoutNilWithRecording].name) != nil { - self.chatMessage!.contents.filter({$0.isFile || $0.isFileTransfer})[indexPathWithoutNilWithRecording].filePath = LinphoneManager.imagesDirectory() + (((self.chatMessage!.contents.filter({$0.isFile || $0.isFileTransfer})[indexPathWithoutNilWithRecording].name)!)) - let _ = self.chatMessage!.downloadContent(content: (self.chatMessage!.contents.filter({$0.isFile || $0.isFileTransfer})[indexPathWithoutNilWithRecording])) - } - } - downloadView.downloadButtonLabel.isUserInteractionEnabled = true - - if((linphone_core_get_max_size_for_auto_download_incoming_files(LinphoneManager.getLc()) > -1 && self.chatMessage!.isFileTransferInProgress) || self.chatMessage!.isOutgoing){ - downloadView.downloadButtonLabel.isHidden = true - } - } else if imagesGridCollectionView[indexPathWithoutNil] != nil { - downloadContentCollection.append(nil) - - let myImageView = UIImageView() - - - myImageView.image = getImageFrom(chatMessage!.contents.filter({$0.isFile || $0.isFileTransfer})[indexPathWithoutNilWithRecording], forReplyBubble: false) - - myImageView.size(w: (viewCell.frame.width), h: (viewCell.frame.height)).done() - viewCell.addSubview(myImageView) - - myImageView.contentMode = .scaleAspectFill - myImageView.clipsToBounds = true - - if (chatMessage!.isOutgoing == true && (chatMessage!.contents.filter({$0.isFile || $0.isFileTransfer})[indexPathWithoutNilWithRecording].filePath == "" || chatMessage!.isFileTransferInProgress == true)){ - let uploadView = UploadMessageCell() - uploadContentCollection.append(uploadView) - uploadView.content = chatMessage!.contents.filter({$0.isFile || $0.isFileTransfer})[indexPathWithoutNilWithRecording] - uploadView.size(w: 138, h: 138).done() - - if(chatMessage!.contents.filter({$0.isFile || $0.isFileTransfer})[indexPathWithoutNilWithRecording].type == "video"){ - var imagePlay = UIImage() - if #available(iOS 13.0, *) { - imagePlay = (UIImage(named: "vr_play")!.withTintColor(.white)) - } else { - imagePlay = UIImage(named: "vr_play")! - } - let myImagePlayView = UIImageView(image: imagePlay) - viewCell.addSubview(myImagePlayView) - myImagePlayView.size(w: viewCell.frame.width/4, h: viewCell.frame.height/4).done() - myImagePlayView.alignHorizontalCenterWith(viewCell).alignVerticalCenterWith(viewCell).done() - } - - viewCell.addSubview(uploadView) - - } - } - if(imagesGridCollectionView[indexPathWithoutNil] != nil){ - var extensionFile = "" - if chatMessage!.contents.filter({$0.isFile || $0.isFileTransfer})[indexPathWithoutNilWithRecording].filePath != nil { - extensionFile = chatMessage!.contents.filter({$0.isFile || $0.isFileTransfer})[indexPathWithoutNilWithRecording].filePath!.lowercased().components(separatedBy: ".").last ?? "" - } - if(chatMessage!.contents.filter({$0.isFile || $0.isFileTransfer})[indexPathWithoutNilWithRecording].type == "video" || (["mkv", "avi", "mov", "mp4"].contains(extensionFile))){ - var imagePlay = UIImage() - if #available(iOS 13.0, *) { - imagePlay = (UIImage(named: "vr_play")!.withTintColor(.white)) - } else { - imagePlay = UIImage(named: "vr_play")! - } - let myImagePlayView = UIImageView(image: imagePlay) - viewCell.addSubview(myImagePlayView) - myImagePlayView.size(w: viewCell.frame.width/4, h: viewCell.frame.height/4).done() - myImagePlayView.alignHorizontalCenterWith(viewCell).alignVerticalCenterWith(viewCell).done() - } - - if chatMessage!.contents.filter({$0.isFile || $0.isFileTransfer})[indexPathWithoutNilWithRecording].filePath != nil && chatMessage!.contents.filter({$0.isFile || $0.isFileTransfer})[indexPathWithoutNilWithRecording].filePath != "" { - viewCell.onClick { - if !self.chatMessage!.isFileTransferInProgress { - ChatConversationTableViewModel.sharedModel.onGridClick(indexMessage: self.selfIndexMessage, index: indexPathWithoutNil) - } - } - } - } - } - } - return cell - } - } - - func getImageFrom(_ content: Content?, forReplyBubble: Bool) -> UIImage? { - var filePath = "" - if VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) { - filePath = content!.exportPlainFile() - } else if content?.filePath != nil { - filePath = content!.filePath! - } - let type = content?.type - let name = content?.name - if filePath == "" { - filePath = LinphoneManager.validFilePath(name) - } - - var image: UIImage? = nil - if type == "video" { - image = createThumbnailOfVideoFromFileURL(videoURL: filePath) - } else if type == "image" { - image = UIImage(named: filePath) - } else { - let extensionFile = filePath.lowercased().components(separatedBy: ".").last - if (["png", "jpg", "jpeg", "bmp", "heic"].contains(extensionFile ?? "")){ - image = UIImage(named: filePath) - } else if (["mkv", "avi", "mov", "mp4"].contains(extensionFile ?? "")){ - image = createThumbnailOfVideoFromFileURL(videoURL: filePath) - } - } - - if VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) { - ChatConversationViewModel.sharedModel.removeTmpFile(filePath: filePath) - filePath = "" - } - - if let img = image { - return img - } else { - if (name == ""){ - return getImageFromFileName(filePath, forReplyBubble: forReplyBubble) - } else { - return getImageFromFileName(name, forReplyBubble: forReplyBubble) - } - } - } - - func getImageFromFileName(_ fileName: String?, forReplyBubble forReplyBubbble: Bool) -> UIImage? { - let extensionFile = fileName?.lowercased().components(separatedBy: ".").last - var image: UIImage? - var text = fileName - if fileName?.contains("voice-recording") ?? false { - image = UIImage(named: "file_voice_default") - text = recordingDuration(LinphoneManager.validFilePath(fileName)) - } else { - if extensionFile == "pdf" { - image = UIImage(named: "file_pdf_default") - } else if ["png", "jpg", "jpeg", "bmp", "heic"].contains(extensionFile ?? "") { - image = UIImage(named: "file_picture_default") - } else if ["mkv", "avi", "mov", "mp4"].contains(extensionFile ?? "") { - image = UIImage(named: "file_video_default") - } else if ["wav", "au", "m4a"].contains(extensionFile ?? "") { - image = UIImage(named: "file_audio_default") - } else { - image = UIImage(named: "file_default") - } - } - - return SwiftUtil.textToImage(drawText: text ?? "", inImage: (image ?? UIImage(named: "file_default"))!, forReplyBubble: forReplyBubbble) - } - - func setEvent(event: EventLog) -> String { - var subject = "" - var participant = "" - switch (event.type.rawValue) { - case Int(LinphoneEventLogTypeConferenceSubjectChanged.rawValue): - subject = event.subject! - return VoipTexts.bubble_chat_event_message_new_subject + subject - case Int(LinphoneEventLogTypeConferenceParticipantAdded.rawValue): - participant = (event.participantAddress!.displayName != nil && event.participantAddress!.displayName != "" ? event.participantAddress!.displayName : event.participantAddress!.username)! - return participant + VoipTexts.bubble_chat_event_message_has_joined - case Int(LinphoneEventLogTypeConferenceParticipantRemoved.rawValue): - participant = (event.participantAddress!.displayName != nil && event.participantAddress!.displayName != "" ? event.participantAddress!.displayName : event.participantAddress!.username)! - return participant + VoipTexts.bubble_chat_event_message_has_left - case Int(LinphoneEventLogTypeConferenceParticipantSetAdmin.rawValue): - participant = (event.participantAddress!.displayName != nil && event.participantAddress!.displayName != nil && event.participantAddress!.displayName != "" ? event.participantAddress!.displayName : event.participantAddress!.username)! - return participant + VoipTexts.bubble_chat_event_message_now_admin - case Int(LinphoneEventLogTypeConferenceParticipantUnsetAdmin.rawValue): - participant = (event.participantAddress!.displayName != "" && event.participantAddress!.displayName != nil ? event.participantAddress!.displayName : event.participantAddress!.username)! - return participant + VoipTexts.bubble_chat_event_message_no_longer_admin - case Int(LinphoneEventLogTypeConferenceTerminated.rawValue): - return VoipTexts.bubble_chat_event_message_left_group - case Int(LinphoneEventLogTypeConferenceCreated.rawValue): - return VoipTexts.bubble_chat_event_message_joined_group - case Int(LinphoneEventLogTypeConferenceSecurityEvent.rawValue): - let type = event.securityEventType - let participant = event.securityEventFaultyDeviceAddress!.displayName != nil && event.securityEventFaultyDeviceAddress!.displayName != "" ? event.securityEventFaultyDeviceAddress!.displayName : event.securityEventFaultyDeviceAddress!.username - switch (type.rawValue) { - case Int(LinphoneSecurityEventTypeSecurityLevelDowngraded.rawValue): - if (participant != nil && participant!.isEmpty){ - return VoipTexts.bubble_chat_event_message_security_level_decreased - }else{ - return VoipTexts.bubble_chat_event_message_security_level_decreased_because + participant! - } - case Int(LinphoneSecurityEventTypeParticipantMaxDeviceCountExceeded.rawValue): - if (participant != nil && participant!.isEmpty){ - return VoipTexts.bubble_chat_event_message_max_participant - }else{ - return VoipTexts.bubble_chat_event_message_max_participant_by + participant! - } - case Int(LinphoneSecurityEventTypeEncryptionIdentityKeyChanged.rawValue): - if (participant != nil && participant!.isEmpty){ - return VoipTexts.bubble_chat_event_message_lime_changed - }else{ - return VoipTexts.bubble_chat_event_message_lime_changed_for + participant! - } - case Int(LinphoneSecurityEventTypeManInTheMiddleDetected.rawValue): - if (participant != nil && participant!.isEmpty){ - return VoipTexts.bubble_chat_event_message_attack_detected - }else{ - return VoipTexts.bubble_chat_event_message_attack_detected_for + participant! - } - default: - return "" - } - case Int(LinphoneEventLogTypeConferenceEphemeralMessageDisabled.rawValue): - return VoipTexts.bubble_chat_event_message_disabled_ephemeral - case Int(LinphoneEventLogTypeConferenceEphemeralMessageEnabled.rawValue): - return VoipTexts.bubble_chat_event_message_enabled_ephemeral - case Int(LinphoneEventLogTypeConferenceEphemeralMessageLifetimeChanged.rawValue): - return VoipTexts.bubble_chat_event_message_expiry_ephemeral + formatEphemeralExpiration(duration: event.ephemeralMessageLifetime) - default: - return "" - } - } - - func formatEphemeralExpiration(duration: CLong) -> String{ - switch (duration) { - case 0: - return VoipTexts.bubble_chat_event_message_ephemeral_disable - case 60: - return VoipTexts.bubble_chat_event_message_ephemeral_one_minute - case 3600: - return VoipTexts.bubble_chat_event_message_ephemeral_one_hour - case 86400: - return VoipTexts.bubble_chat_event_message_ephemeral_one_day - case 259200: - return VoipTexts.bubble_chat_event_message_ephemeral_three_days - case 604800: - return VoipTexts.bubble_chat_event_message_ephemeral_one_week - default: - return VoipTexts.bubble_chat_event_message_ephemeral_unexpected_duration - } - } - - func file_transfer_progress_indication_recv(message: ChatMessage, content: Content, offset: Int, total: Int) { - let p = Float(offset) / Float(total) - if ((imagesGridCollectionView.count) > 0 && !content.isVoiceRecording){ - if !message.isOutgoing { - if (indexTransferProgress == -1) { - for indexItem in 0...(imagesGridCollectionView.count) - 1 { - if chatMessage != nil && chatMessage!.contents.filter({$0.isFile || $0.isFileTransfer})[indexItem].name == content.name { - indexTransferProgress = indexItem - (messageWithRecording ? 1 : 0) - break - } - } - - if (indexTransferProgress > -1 && downloadContentCollection[indexTransferProgress] != nil) { - downloadContentCollection[indexTransferProgress]!.downloadButtonLabel.isHidden = true - downloadContentCollection[indexTransferProgress]!.circularProgressBarView.isHidden = false - } - } - DispatchQueue.main.async(execute: { [self] in - if (indexTransferProgress > -1 && offset == total) { - downloadContentCollection[indexTransferProgress] = nil - imagesGridCollectionView[indexTransferProgress] = getImageFrom(content, forReplyBubble: false)! - - - if (imagesGridCollectionView.count <= 1){ - if content.type == "video" { - if VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) { - var plainFile = content.exportPlainFile() - if let imageMessage = createThumbnailOfVideoFromFileURL(videoURL: plainFile){ - imageVideoViewBubble.image = resizeImage(image: imageMessage, targetSize: CGSize(width: UIScreen.main.bounds.size.width*3/4, height: 300.0)) - if (imageVideoViewBubble.image != nil && imagesGridCollectionView.count <= 1){ - ChatConversationTableViewModel.sharedModel.reloadCollectionViewCell() - } - } - - ChatConversationViewModel.sharedModel.removeTmpFile(filePath: plainFile) - plainFile = "" - }else{ - if let imageMessage = createThumbnailOfVideoFromFileURL(videoURL: content.filePath!){ - imageVideoViewBubble.image = resizeImage(image: imageMessage, targetSize: CGSize(width: UIScreen.main.bounds.size.width*3/4, height: 300.0)) - if (imageVideoViewBubble.image != nil && imagesGridCollectionView.count <= 1){ - ChatConversationTableViewModel.sharedModel.reloadCollectionViewCell() - } - } - } - } else if content.type == "image" { - if VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) { - var plainFile = content.exportPlainFile() - if let imageMessage = UIImage(named: plainFile){ - imageViewBubble.image = resizeImage(image: imageMessage, targetSize: CGSize(width: UIScreen.main.bounds.size.width*3/4, height: 300.0)) - if (imageViewBubble.image != nil && imagesGridCollectionView.count <= 1){ - ChatConversationTableViewModel.sharedModel.reloadCollectionViewCell() - } - } - - ChatConversationViewModel.sharedModel.removeTmpFile(filePath: plainFile) - plainFile = "" - }else{ - if let imageMessage = UIImage(named: content.filePath!){ - imageViewBubble.image = resizeImage(image: imageMessage, targetSize: CGSize(width: UIScreen.main.bounds.size.width*3/4, height: 300.0)) - if (imageViewBubble.image != nil && imagesGridCollectionView.count <= 1){ - ChatConversationTableViewModel.sharedModel.reloadCollectionViewCell() - } - } - } - } else { - ChatConversationTableViewModel.sharedModel.reloadCollectionViewCell() - indexTransferProgress = -1 - } - }else{ - ChatConversationTableViewModel.sharedModel.reloadCollectionViewCell() - indexTransferProgress = -1 - } - - if !VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) && ConfigManager.instance().lpConfigBoolForKey(key: "auto_write_to_gallery_preference") { - ChatConversationViewModel.sharedModel.writeMediaToGalleryFromName(content.name, fileType: content.type) - } - - } else { - if (indexTransferProgress > -1 && downloadContentCollection[indexTransferProgress] != nil && indexTransferProgress > -1) { - downloadContentCollection[indexTransferProgress]!.setUpCircularProgressBarView(toValue: p) - } - if (indexTransferProgress == -1 && imagesGridCollectionView.count == 1 && messageWithRecording){ - indexTransferProgress = 0 - downloadContentCollection[indexTransferProgress]!.circularProgressBarView.isHidden = false - downloadContentCollection[indexTransferProgress]!.setUpCircularProgressBarView(toValue: p) - } - } - }) - } else { - if((imagesGridCollectionView.count) > 0){ - if (indexUploadTransferProgress == -1) { - for indexItem in 0...(imagesGridCollectionView.count) - 1 { - if chatMessage != nil && chatMessage!.contents.filter({$0.isFile || $0.isFileTransfer})[indexItem].filePath == content.filePath { - indexUploadTransferProgress = indexItem - (messageWithRecording ? 1 : 0) - break - } - } - } - DispatchQueue.main.async(execute: { [self] in - - if uploadContentCollection.indices.contains(indexUploadTransferProgress){ - if (offset == total) { - if(indexUploadTransferProgress >= 0){ - uploadContentCollection[indexUploadTransferProgress]!.circularProgressBarView.isHidden = true - } - if indexUploadTransferProgress + 1 < (imagesGridCollectionView.count) + (messageWithRecording ? 1 : 0) && chatMessage != nil && chatMessage!.contents.count > 1 { - indexUploadTransferProgress += 1 - }else{ - ChatConversationTableViewModel.sharedModel.reloadCollectionViewCell() - indexUploadTransferProgress = -1 - } - } else { - if((imagesGridCollectionView.count) > 0 && indexUploadTransferProgress > -1){ - uploadContentCollection[indexUploadTransferProgress]!.circularProgressBarView.isHidden = false - uploadContentCollection[indexUploadTransferProgress]!.setUpCircularProgressBarView(toValue: p) - } - if (indexUploadTransferProgress == -1 && imagesGridCollectionView.count == 1 && messageWithRecording){ - indexUploadTransferProgress = 0 - uploadContentCollection[indexUploadTransferProgress]!.circularProgressBarView.isHidden = false - uploadContentCollection[indexUploadTransferProgress]!.setUpCircularProgressBarView(toValue: p) - } - } - } - }) - } - if((imagesGridCollectionView.count) == 1){ - var filePath = "" - if VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId) { - filePath = content.exportPlainFile() - }else { - filePath = content.filePath! - } - - let extensionFile = filePath.lowercased().components(separatedBy: ".").last - if (offset == total) { - if (["png", "jpg", "jpeg", "bmp", "heic"].contains(extensionFile ?? "")){ - NSLayoutConstraint.deactivate(progressBarImageConstraints) - circularProgressBarImageView.isHidden = true - } else{ - NSLayoutConstraint.deactivate(progressBarVideoConstraints) - circularProgressBarVideoView.isHidden = true - } - - } else { - if (["png", "jpg", "jpeg", "bmp", "heic"].contains(extensionFile ?? "")){ - NSLayoutConstraint.activate(progressBarImageConstraints) - circularProgressBarImageView.isHidden = false - circularProgressBarImageLabel.text = "\(Int(p*100))%" - circularProgressBarImageLabel.center = CGPoint(x: 69, y: 69) - circularProgressBarImageView.progressAnimation(fromValue: fromValue, toValue: p) - } else{ - NSLayoutConstraint.activate(progressBarVideoConstraints) - circularProgressBarVideoView.isHidden = false - circularProgressBarVideoLabel.text = "\(Int(p*100))%" - circularProgressBarVideoLabel.center = CGPoint(x: 69, y: 69) - circularProgressBarVideoView.progressAnimation(fromValue: fromValue, toValue: p) - } - - fromValue = p - } - } - } - } - } - - func displayImdnStatus(message: ChatMessage, state: ChatMessage.State) { - if message.isOutgoing { - if (state == ChatMessage.State.DeliveredToUser) { - chatRead.image = UIImage(named: "chat_delivered.png") - chatRead.isHidden = false - } else if (state == ChatMessage.State.Displayed) { - chatRead.image = UIImage(named: "chat_read.png") - chatRead.isHidden = false - } else if (state == ChatMessage.State.NotDelivered || state == ChatMessage.State.FileTransferError) { - chatRead.image = UIImage(named: "chat_error") - chatRead.isHidden = false - } else { - chatRead.isHidden = true - } - } - } - - func contactDateForChat(message: ChatMessage) -> String { - let address: Address? = message.fromAddress != nil ? message.fromAddress : message.chatRoom?.peerAddress - return LinphoneUtils.time(toString: message.time, with: LinphoneDateChatBubble) + " - " + FastAddressBook.displayName(for: address?.getCobject) - } - - func isFirstIndexInTableView(indexPath: IndexPath, chat: ChatMessage) -> Bool{ - let MAX_AGGLOMERATED_TIME=300 - var previousEvent : EventLog? = nil - let indexOfPreviousEvent = indexPath.row + 1 - previousEvent = ChatConversationTableViewModel.sharedModel.getMessage(index: indexPath.row+1) - if (indexOfPreviousEvent > -1 && indexOfPreviousEvent < ChatConversationTableViewModel.sharedModel.getNBMessages()) { - if (previousEvent?.type != nil && (previousEvent?.type.rawValue)! != LinphoneEventLogTypeConferenceChatMessage.rawValue) { - return true - } - } - if (previousEvent == nil){ - return true - } - - let previousChat = previousEvent?.chatMessage - - if previousChat != nil { - if (previousChat?.fromAddress!.equal(address2: chat.fromAddress!) == false) { - return true; - } - // the maximum interval between 2 agglomerated chats at 5mn - if (chat.time - previousChat!.time > MAX_AGGLOMERATED_TIME) { - return true; - } - } - - return false; - } - - func updateEphemeralTimes() { - let f = DateComponentsFormatter() - f.unitsStyle = .positional - f.zeroFormattingBehavior = [.pad] - - if ((chatMessage != nil) && chatMessage!.isEphemeral) { - let duration = self.chatMessage?.ephemeralExpireTime == 0 ? self.chatMessage?.ephemeralLifetime : self.chatMessage!.ephemeralExpireTime - Int(Date().timeIntervalSince1970) - if(duration! > 86400){ - f.allowedUnits = [.day] - }else if(duration! > 3600){ - f.allowedUnits = [.hour] - }else{ - f.allowedUnits = [.minute, .second] - } - - let textDuration = f.string(for: DateComponents(second: duration))?.capitalized ?? "" - self.ephemeralTimerLabel.text = textDuration - self.ephemeralTimerLabel.isHidden = false - self.ephemeralIcon.isHidden = false - ephemeralTimer = Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { timer in - var duration = 0 - if self.chatMessage != nil && self.chatMessage?.ephemeralLifetime != nil { - duration = self.chatMessage?.ephemeralExpireTime == 0 ? self.chatMessage!.ephemeralLifetime : self.chatMessage!.ephemeralExpireTime - Int(Date().timeIntervalSince1970) - if(duration > 86400){ - f.allowedUnits = [.day] - }else if(duration > 3600){ - f.allowedUnits = [.hour] - }else{ - f.allowedUnits = [.minute, .second] - } - } else { - duration = 0 - } - - let textDuration = f.string(for: DateComponents(second: duration))?.capitalized ?? "" - self.ephemeralTimerLabel.text = textDuration - self.ephemeralTimerLabel.isHidden = false - self.ephemeralIcon.isHidden = false - if(duration <= 0){ - if self.ephemeralTimer != nil { - self.ephemeralTimer!.invalidate() - } - ChatConversationTableViewModel.sharedModel.reloadCollectionViewCell() - } - } - } - } -} - -class DynamicHeightCollectionView: UICollectionView { - override func layoutSubviews() { - super.layoutSubviews() - if !__CGSizeEqualToSize(bounds.size, self.intrinsicContentSize) { - self.invalidateIntrinsicContentSize() - } - } - - override var intrinsicContentSize: CGSize { - return contentSize - } -} - -extension UITapGestureRecognizer { - - func didTapAttributedTextInLabel(label: UILabel, inRange targetRange: NSRange) -> Bool { - // Create instances of NSLayoutManager, NSTextContainer and NSTextStorage - let layoutManager = NSLayoutManager() - let textContainer = NSTextContainer(size: CGSize.zero) - let textStorage = NSTextStorage(attributedString: label.attributedText!) - - // Configure layoutManager and textStorage - layoutManager.addTextContainer(textContainer) - textStorage.addLayoutManager(layoutManager) - - // Configure textContainer - textContainer.lineFragmentPadding = 0.0 - textContainer.lineBreakMode = label.lineBreakMode - textContainer.maximumNumberOfLines = label.numberOfLines - let labelSize = label.bounds.size - textContainer.size = labelSize - - // Find the tapped character location and compare it to the specified range - let locationOfTouchInLabel = self.location(in: label) - let textBoundingBox = layoutManager.usedRect(for: textContainer) - let textContainerOffset = CGPoint( - x: (labelSize.width - textBoundingBox.size.width) * 0.5 - textBoundingBox.origin.x, - y: (labelSize.height - textBoundingBox.size.height) * 0.5 - textBoundingBox.origin.y - ) - let locationOfTouchInTextContainer = CGPoint( - x: locationOfTouchInLabel.x - textContainerOffset.x, - y: locationOfTouchInLabel.y - textContainerOffset.y - ) - let indexOfCharacter = layoutManager.characterIndex(for: locationOfTouchInTextContainer, in: textContainer, fractionOfDistanceBetweenInsertionPoints: nil) - - return NSLocationInRange(indexOfCharacter, targetRange) - } - -} diff --git a/Classes/Swift/Chat/Views/UploadMessageCell.swift b/Classes/Swift/Chat/Views/UploadMessageCell.swift deleted file mode 100644 index 99f856449..000000000 --- a/Classes/Swift/Chat/Views/UploadMessageCell.swift +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import linphonesw - -class UploadMessageCell: UIView { - var circularProgressBarView = CircularProgressBarView() - let circularProgressBarLabel = StyledLabel(VoipTheme.chat_conversation_download_progress_text) - - var content: Content? = nil - var fromValue : Float = 0.0 - - override init(frame: CGRect) { - super.init(frame: frame) - self.layer.zPosition = 10 - addSubview(circularProgressBarView) - circularProgressBarView.isHidden = true - circularProgressBarLabel.text = "0%" - circularProgressBarLabel.size(w: 30, h: 30).done() - circularProgressBarView.addSubview(circularProgressBarLabel) - } - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - - func setUpCircularProgressBarView(toValue: Float) { - - circularProgressBarLabel.text = "\(Int(toValue*100))%" - circularProgressBarLabel.center = CGPoint(x: 69, y: 69) - - - circularProgressBarView.progressAnimation(fromValue: fromValue, toValue: toValue) - fromValue = toValue - } -} diff --git a/Classes/Swift/Conference/Data/Duration.swift b/Classes/Swift/Conference/Data/Duration.swift deleted file mode 100644 index 46e7954ef..000000000 --- a/Classes/Swift/Conference/Data/Duration.swift +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright (c) 2010-2021 Belledonne Communications SARL. - * - * This file is part of linphone-android - * (see https://www.linphone.org). - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import Foundation - -struct Duration : Comparable { - static func < (lhs: Duration, rhs: Duration) -> Bool { - return lhs.value < rhs.value - } - - let value: Int - let display: String -} diff --git a/Classes/Swift/Conference/Data/Mode.swift b/Classes/Swift/Conference/Data/Mode.swift deleted file mode 100644 index bdfbe71cb..000000000 --- a/Classes/Swift/Conference/Data/Mode.swift +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright (c) 2010-2021 Belledonne Communications SARL. - * - * This file is part of linphone-android - * (see https://www.linphone.org). - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import Foundation - -struct Mode : Comparable { - static func < (lhs: Mode, rhs: Mode) -> Bool { - return lhs.value < rhs.value - } - - let value: Int - let display: String -} diff --git a/Classes/Swift/Conference/Data/ScheduledConferenceData.swift b/Classes/Swift/Conference/Data/ScheduledConferenceData.swift deleted file mode 100644 index 9ee0d07ac..000000000 --- a/Classes/Swift/Conference/Data/ScheduledConferenceData.swift +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Copyright (c) 2010-2021 Belledonne Communications SARL. - * - * This file is part of linphone-android - * (see https://www.linphone.org). - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import linphonesw - - -class ScheduledConferenceData { - - let conferenceInfo: ConferenceInfo - let expanded = MutableLiveData() - let address = MutableLiveData() - let subject = MutableLiveData() - let description = MutableLiveData() - let time = MutableLiveData() - let date = MutableLiveData() - let duration = MutableLiveData() - let organizer = MutableLiveData() - let participantsShort = MutableLiveData() - let participantsExpanded = MutableLiveData() - let participantsGuestExpanded = MutableLiveData() - let rawDate : Date - let isConferenceCancelled = MutableLiveData(false) - let canEdit = MutableLiveData(false) - let isFinished : Bool - let selectedForDeletion = MutableLiveData(false) - private var conferenceSchedulerDelegate : ConferenceSchedulerDelegateStub? = nil - private var conferenceScheduler : ConferenceScheduler? = nil - - var isBroadcast = false - - init (conferenceInfo: ConferenceInfo, isFinished: Bool = false) { - self.conferenceInfo = conferenceInfo - self.isFinished = isFinished - expanded.value = false - - address.value = conferenceInfo.uri?.asStringUriOnly() - subject.value = conferenceInfo.subject - description.value = conferenceInfo.description - - time.value = TimestampUtils.timeToString(unixTimestamp: Double(conferenceInfo.dateTime)) - date.value = TimestampUtils.toString(unixTimestamp:Double(conferenceInfo.dateTime), onlyDate:true, shortDate:false) - rawDate = Date(timeIntervalSince1970:TimeInterval(conferenceInfo.dateTime)) - - let durationFormatter = DateComponentsFormatter() - durationFormatter.unitsStyle = .abbreviated - duration.value = conferenceInfo.duration > 0 ? durationFormatter.string(from: TimeInterval(conferenceInfo.duration*60)) : nil - - organizer.value = conferenceInfo.organizer?.addressBookEnhancedDisplayName() - - computeParticipantsLists() - - isConferenceCancelled.value = conferenceInfo.state == .Cancelled - - if let organizerAddress = conferenceInfo.organizer { - let localAccount = Core.get().accountList.filter { account in - account.params?.identityAddress != nil && organizerAddress.weakEqual(address2: account.params!.identityAddress!) - }.first - canEdit.value = localAccount != nil - } else { - canEdit.value = false - Log.e("[Scheduled Conference] No organizer SIP URI found for: \(conferenceInfo.uri?.asStringUriOnly())") - } - } - - func destroy() { - } - - func toggleExpand() { - expanded.value = expanded.value == false - } - - private func computeParticipantsLists() { - participantsShort.value = conferenceInfo.participants.map {(participant) in - String(describing: participant.addressBookEnhancedDisplayName()) - }.joined(separator: ", ") - - if (participantsShort.value?.count == 0) { - participantsShort.value = " " - } - - isBroadcast = conferenceInfo.participantInfos.filter({$0.role == .Speaker}).count != 0 && conferenceInfo.participantInfos.filter({$0.role == .Listener}).count != 0 - - if isBroadcast { - participantsExpanded.value = conferenceInfo.participantInfos.filter({$0.role == .Speaker}).map {(participant) in - String(describing: participant.address!.addressBookEnhancedDisplayName())+" ("+String(describing: participant.address!.asStringUriOnly())+")" - }.joined(separator: "\n") - } else { - participantsExpanded.value = conferenceInfo.participantInfos.map {(participant) in - String(describing: participant.address!.addressBookEnhancedDisplayName())+" ("+String(describing: participant.address!.asStringUriOnly())+")" - }.joined(separator: "\n") - } - - participantsGuestExpanded.value = conferenceInfo.participantInfos.filter({$0.role == .Listener}).map {(participant) in - String(describing: participant.address!.addressBookEnhancedDisplayName())+" ("+String(describing: participant.address!.asStringUriOnly())+")" - }.joined(separator: "\n") - } - - func gotoAssociatedChat() { - - } - - func deleteConference() { - conferenceSchedulerDelegate = ConferenceSchedulerDelegateStub( - onStateChanged: { scheduler, state in - Log.i("[Conference Deletion] Conference scheduler state is \(state)") - if (state == .Ready) { - if let chatRoomParams = ConferenceSchedulingViewModel.shared.getConferenceInvitationsChatRoomParams() { - scheduler.sendInvitations(chatRoomParams: chatRoomParams) // Send cancel ICS - Log.e("[Conference Deletion] sent cancel ICS.") - } - } - }) - - if (conferenceInfo.state != .Cancelled && canEdit.value == true) { - Log.i("[Scheduled Conferences] Cancelling conference \(conferenceInfo.subject)") - self.conferenceScheduler = try? Core.get().createConferenceScheduler() - if (self.conferenceScheduler != nil) { - self.conferenceScheduler?.addDelegate(delegate: conferenceSchedulerDelegate!) - self.conferenceScheduler?.cancelConference(conferenceInfo: conferenceInfo) - } - } else { - Core.get().deleteConferenceInformation(conferenceInfo: conferenceInfo) - } - } -} diff --git a/Classes/Swift/Conference/Data/TimeZoneData.swift b/Classes/Swift/Conference/Data/TimeZoneData.swift deleted file mode 100644 index 0cbd3a0ae..000000000 --- a/Classes/Swift/Conference/Data/TimeZoneData.swift +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (c) 2010-2021 Belledonne Communications SARL. - * - * This file is part of linphone-android - * (see https://www.linphone.org). - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import linphonesw - - -struct TimeZoneData : Comparable { - let timeZone: TimeZone - - static func == (lhs: TimeZoneData, rhs: TimeZoneData) -> Bool { - return lhs.timeZone.identifier == rhs.timeZone.identifier - } - - static func < (lhs: TimeZoneData, rhs: TimeZoneData) -> Bool { - return lhs.timeZone.secondsFromGMT() < rhs.timeZone.secondsFromGMT() - - } - - func descWithOffset() -> String { - return "\(timeZone.identifier) - GMT\(timeZone.offsetInHours())" - } -} - -extension TimeZone { - - func offsetFromUTC() -> String - { - let localTimeZoneFormatter = DateFormatter() - localTimeZoneFormatter.timeZone = self - localTimeZoneFormatter.dateFormat = "Z" - return localTimeZoneFormatter.string(from: Date()) - } - - func offsetInHours() -> String - { - - let hours = secondsFromGMT()/3600 - let minutes = abs(secondsFromGMT()/60) % 60 - let tz_hr = String(format: "%+.2d:%.2d", hours, minutes) // "+hh:mm" - return tz_hr - } -} diff --git a/Classes/Swift/Conference/ViewModels/ConferenceSchedulingViewModel.swift b/Classes/Swift/Conference/ViewModels/ConferenceSchedulingViewModel.swift deleted file mode 100644 index 7b0782a88..000000000 --- a/Classes/Swift/Conference/ViewModels/ConferenceSchedulingViewModel.swift +++ /dev/null @@ -1,275 +0,0 @@ -/* - * Copyright (c) 2010-2021 Belledonne Communications SARL. - * - * This file is part of linphone-android - * (see https://www.linphone.org). - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * aDouble with this program. If not, see . - */ - - -import Foundation -import linphonesw - -class ConferenceSchedulingViewModel { - - var core : Core { get { Core.get() } } - static let shared = ConferenceSchedulingViewModel() - - let subject = MutableLiveData() - let description = MutableLiveData() - - let mode = MutableLiveData() - static let modeList: [Mode] = computeModeList() - - let scheduleForLater = MutableLiveData() - let scheduledDate = MutableLiveData() - let scheduledTime = MutableLiveData() - - var scheduledTimeZone = MutableLiveData() - static let timeZones: [TimeZoneData] = computeTimeZonesList() - - var scheduledDuration = MutableLiveData() - static let durationList: [Duration] = computeDurationList() - - let isEncrypted = MutableLiveData() - - let sendInviteViaChat = MutableLiveData() - let sendInviteViaEmail = MutableLiveData() - - let address = MutableLiveData
() - - let conferenceCreationInProgress = MutableLiveData() - - let conferenceCreationCompletedEvent: MutableLiveData> = MutableLiveData() - let onErrorEvent = MutableLiveData() - - let continueEnabled: MutableLiveData = MutableLiveData() - - let selectedParticipants = MutableLiveData<[ParticipantInfo]>([]) - - private var conferenceScheduler: ConferenceScheduler? = nil - - - private var hour: Int = 0 - private var minutes: Int = 0 - - private var chatRoomDelegate : ChatRoomDelegate? = nil - private var conferenceSchedulerDelegate : ConferenceSchedulerDelegateStub? = nil - - var existingConfInfo:MutableLiveData = MutableLiveData() - - init () { - - conferenceSchedulerDelegate = ConferenceSchedulerDelegateStub( - onStateChanged: { scheduler, state in - Log.i("[Conference Creation] Conference scheduler state is \(state)") - if (state == .Ready) { - Log.i("[Conference Creation] Conference info created, address will be \(scheduler.info?.uri?.asStringUriOnly())") - guard let conferenceAddress = scheduler.info?.uri else { - Log.e("[Conference Creation] conference address is null") - return - } - self.address.value = conferenceAddress - - if (self.scheduleForLater.value == true && self.sendInviteViaChat.value == true) { - // Send conference info even when conf is not scheduled for later - // as the conference server doesn't invite participants automatically - if let chatRoomParams = self.getConferenceInvitationsChatRoomParams() { - scheduler.sendInvitations(chatRoomParams: chatRoomParams) - } - } else { - self.conferenceCreationInProgress.value = false - self.conferenceCreationCompletedEvent.value = Pair(conferenceAddress.asStringUriOnly(),self.conferenceScheduler?.info?.subject) - } - } - }, onInvitationsSent: { conferenceScheduler, failedInvitations in - Log.i("[Conference Creation] Conference information successfully sent to all participants") - self.conferenceCreationInProgress.value = false - - if (failedInvitations.count > 0) { - failedInvitations.forEach { address in - Log.e("[Conference Creation] Conference information wasn't sent to participant \(address.asStringUriOnly())") - self.onErrorEvent.value = VoipTexts.conference_schedule_info_not_sent_to_participant+" (\(address.username))" - } - } - - guard let conferenceAddress = conferenceScheduler.info?.uri else { - Log.e("[Conference Creation] conference address is null") - return - } - self.conferenceCreationCompletedEvent.value = Pair(conferenceAddress.asStringUriOnly(),self.conferenceScheduler?.info?.subject) - } - ) - - chatRoomDelegate = ChatRoomDelegateStub( - onStateChanged : { (room: ChatRoom, state: ChatRoom.State) -> Void in - if (state == ChatRoom.State.Created) { - Log.i("[Conference Creation] Chat room created") - room.removeDelegate(delegate: self.chatRoomDelegate!) - } else if (state == ChatRoom.State.CreationFailed) { - Log.e("[Conference Creation] Group chat room creation has failed !") - room.removeDelegate(delegate: self.chatRoomDelegate!) - } - } - ) - - reset() - - subject.observe { _ in - self.continueEnabled.value = self.allMandatoryFieldsFilled() - } - scheduleForLater.observe { _ in - self.continueEnabled.value = self.allMandatoryFieldsFilled() - } - scheduledDate.observe { _ in - self.continueEnabled.value = self.allMandatoryFieldsFilled() - } - scheduledTime.observe { _ in - self.continueEnabled.value = self.allMandatoryFieldsFilled() - } - - - } - - func isEndToEndEncryptedChatAvailable() -> Bool { - let core = Core.get() - return core.limeX3DhEnabled && - ((core.limeX3DhServerUrl != nil && core.limeX3DhServerUrl!.count > 0) || core.defaultAccount?.params?.limeServerUrl != nil) && - core.defaultAccount?.params?.conferenceFactoryUri != nil - } - - func reset() { - - subject.value = "" - scheduleForLater.value = false - isEncrypted.value = false - sendInviteViaChat.value = true - sendInviteViaEmail.value = false - scheduledDate.value = nil - scheduledTime.value = nil - - mode.value = ConferenceSchedulingViewModel.modeList.indices.filter { - ConferenceSchedulingViewModel.modeList[$0].value == 0 - }.first - - scheduledTimeZone.value = ConferenceSchedulingViewModel.timeZones.indices.filter { - ConferenceSchedulingViewModel.timeZones[$0].timeZone.identifier == NSTimeZone.default.identifier - }.first - - scheduledDuration.value = ConferenceSchedulingViewModel.durationList.indices.filter { - ConferenceSchedulingViewModel.durationList[$0].value == 60 - }.first - continueEnabled.value = false - selectedParticipants.value = [] - existingConfInfo.value = nil - description.value = "" - } - - func destroy() { - conferenceScheduler?.removeDelegate(delegate: conferenceSchedulerDelegate!) - } - - - func gotoChatRoom() { - - } - - func createConference() { - - if (selectedParticipants.value?.count == 0) { - Log.e("[Conference Creation] Couldn't create conference without any participant!") - return - } - - do { - conferenceCreationInProgress.value = true - guard let localAccount = core.defaultAccount, let localAddress = localAccount.params?.identityAddress else { - Log.e("[Conference Creation] Couldn't get local address from default account!") - return - } - - conferenceScheduler = try? Core.get().createConferenceScheduler() - conferenceScheduler?.addDelegate(delegate: conferenceSchedulerDelegate!) - - guard let conferenceInfo = existingConfInfo.value != nil ? existingConfInfo.value??.clone() : try Factory.Instance.createConferenceInfo() else { - Log.e("[Conference Creation/Update] Failed, unable to get conf info.") - return - } - conferenceInfo.organizer = localAddress - subject.value.map { conferenceInfo.subject = $0} - description.value.map { conferenceInfo.description = $0} - conferenceInfo.participantInfos = selectedParticipants.value! - if (scheduleForLater.value == true) { - let timestamp = getConferenceStartTimestamp() - conferenceInfo.dateTime = time_t(timestamp) - scheduledDuration.value.map { conferenceInfo.duration = UInt(ConferenceSchedulingViewModel.durationList[$0].value) } - } - conferenceScheduler?.account = localAccount - conferenceScheduler?.info = conferenceInfo // Will trigger the conference creation automatically - existingConfInfo.value = conferenceInfo - - } catch { - Log.e("[Conference Creation] Failed \(error)") - } - } - - private func allMandatoryFieldsFilled() -> Bool { - return subject.value != nil && subject.value!.count > 0 && (scheduleForLater.value != true || (scheduledDate.value != nil && scheduledTime.value != nil) ); - } - - - private func getConferenceStartTimestamp() -> Double { - let days = Int32(scheduledDate.value!.timeIntervalSince1970)/86400 - let time = Int32(scheduledTime.value!.timeIntervalSince1970)%86400 - - return scheduleForLater.value == true ? TimeInterval(days * 86400 + time) + Double(ConferenceSchedulingViewModel.timeZones[scheduledTimeZone.value!].timeZone.secondsFromGMT()-TimeZone.current.secondsFromGMT()) - : Date().timeIntervalSince1970 - } - - - private static func computeTimeZonesList() -> [TimeZoneData] { - return TimeZone.knownTimeZoneIdentifiers.map { - (ident) in TimeZoneData(timeZone:TimeZone(identifier:ident)!) - }.sorted() - } - - private static func computeModeList() -> [Mode] { - return [Mode(value: 0, display: "Meeting"), Mode(value: 1, display: "Broadcast")] - } - - private static func computeDurationList() -> [Duration] { - return [Duration(value: 30, display: "30min"), Duration(value: 60, display: "1h"), Duration(value: 120, display: "2h")] - } - - func getConferenceInvitationsChatRoomParams() -> ChatRoomParams? { - if let chatRoomParams = try?self.core.createDefaultChatRoomParams() { - chatRoomParams.encryptionEnabled = self.isEndToEndEncryptedChatAvailable() - chatRoomParams.groupEnabled = false - chatRoomParams.backend = chatRoomParams.encryptionEnabled ? .FlexisipChat : .Basic - chatRoomParams.subject = self.subject.value! - return chatRoomParams - } - return nil - } - - func getMode() -> Int { - if mode.value != nil { - return mode.value! - } else { - return 0 - } - } - -} diff --git a/Classes/Swift/Conference/ViewModels/ConferenceWaitingRoomViewModel.swift b/Classes/Swift/Conference/ViewModels/ConferenceWaitingRoomViewModel.swift deleted file mode 100644 index 22aef7205..000000000 --- a/Classes/Swift/Conference/ViewModels/ConferenceWaitingRoomViewModel.swift +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright (c) 2010-2021 Belledonne Communications SARL. - * - * This file is part of linphone-android - * (see https://www.linphone.org). - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * aDouble with this program. If not, see . - */ - - -import Foundation -import linphonesw - -class ConferenceWaitingRoomViewModel: ControlsViewModel { - - - static let sharedModel = ConferenceWaitingRoomViewModel() - - - let joinLayout = MutableLiveData() - let joinInProgress = MutableLiveData(false) - let showLayoutPicker = MutableLiveData() - - - override init() { - super.init() - self.reset() - } - - func reset() { - joinLayout.value = Core.get().defaultConferenceLayout == .Grid ? .Grid : .ActiveSpeaker - joinInProgress.value = false - isMicrophoneMuted.value = !micAuthorized() - isMuteMicrophoneEnabled.value = true - isSpeakerSelected.value = true - isVideoEnabled.value = false - isVideoAvailable.value = core.videoCaptureEnabled && Core.get().config?.getBool(section: "app", key: "disable_video_feature", defaultValue: false) == false - showLayoutPicker.value = false - } - - override func toggleMuteMicrophone() { - if (!micAuthorized()) { - AVAudioSession.sharedInstance().requestRecordPermission { granted in - if granted { - self.isMicrophoneMuted.value = self.isMicrophoneMuted.value != true - } - } - } - self.isMicrophoneMuted.value = self.isMicrophoneMuted.value != true - } - - override func toggleSpeaker() { - isSpeakerSelected.value = isSpeakerSelected.value != true - } - - override func toggleVideo() { - isVideoEnabled.value = isVideoEnabled.value != true - } - - override func updateUI() { - - } - -} diff --git a/Classes/Swift/Conference/ViewModels/ScheduledConferencesViewModel.swift b/Classes/Swift/Conference/ViewModels/ScheduledConferencesViewModel.swift deleted file mode 100644 index c77fec120..000000000 --- a/Classes/Swift/Conference/ViewModels/ScheduledConferencesViewModel.swift +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright (c) 2010-2021 Belledonne Communications SARL. - * - * This file is part of linphone-android - * (see https://www.linphone.org). - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import Foundation -import linphonesw - - -class ScheduledConferencesViewModel { - - var core : Core { get { Core.get() } } - static let shared = ScheduledConferencesViewModel() - - var conferences : MutableLiveData<[ScheduledConferenceData]> = MutableLiveData([]) - var daySplitted : [Date : [ScheduledConferenceData]] = [:] - var coreDelegate: CoreDelegateStub? - var showTerminated = MutableLiveData(false) - let editionEnabled = MutableLiveData(false) - let conferenceScheduler = try? Core.get().createConferenceScheduler() - - - init () { - - coreDelegate = CoreDelegateStub( - onConferenceInfoReceived: { (core, conferenceInfo) in - Log.i("[Scheduled Conferences] New conference info received") - self.conferences.value!.append(ScheduledConferenceData(conferenceInfo: conferenceInfo,isFinished: false)) - self.conferences.notifyValue() - } - - ) - computeConferenceInfoList() - } - - func computeConferenceInfoList() { - conferences.value!.removeAll() - let now = Date().timeIntervalSince1970 // Linphone uses time_t in seconds - - if (showTerminated.value == true) { - core.conferenceInformationList.filter{$0.duration != 0 && (TimeInterval($0.dateTime) + TimeInterval($0.duration) < now)}.forEach { conferenceInfo in - conferences.value!.append(ScheduledConferenceData(conferenceInfo: conferenceInfo,isFinished: true)) - } - } else { - let twoHoursAgo = now - 7200 // Show all conferences from 2 hour ago and forward - core.getConferenceInformationListAfterTime(time: time_t(twoHoursAgo)).filter{$0.duration != 0}.forEach { conferenceInfo in - conferences.value!.append(ScheduledConferenceData(conferenceInfo: conferenceInfo,isFinished: false)) - } - } - - - - daySplitted = [:] - conferences.value!.forEach { (conferenceInfo) in - let startDateDay = dateAtBeginningOfDay(for: conferenceInfo.rawDate) - if (daySplitted[startDateDay] == nil) { - daySplitted[startDateDay] = [] - } - daySplitted[startDateDay]!.append(conferenceInfo) - } - } - - - func dateAtBeginningOfDay(for inputDate: Date) -> Date { - var calendar = Calendar.current - let timeZone = NSTimeZone.system as NSTimeZone - calendar.timeZone = timeZone as TimeZone - return calendar.date(from: calendar.dateComponents([.year, .month, .day], from: inputDate))! - } - - -} diff --git a/Classes/Swift/Conference/Views/ConferenceHistoryDetailsView.swift b/Classes/Swift/Conference/Views/ConferenceHistoryDetailsView.swift deleted file mode 100644 index d4fb9bd90..000000000 --- a/Classes/Swift/Conference/Views/ConferenceHistoryDetailsView.swift +++ /dev/null @@ -1,194 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import linphonesw - -@objc class ConferenceHistoryDetailsView: BackNextNavigationView, UICompositeViewDelegate, UITableViewDataSource { - - - let participantsListTableView = UITableView() - let organizerTableView = UITableView() - - let conectionsListTableView = UITableView() - let participantsLabel = StyledLabel(VoipTheme.conference_scheduling_font, " "+VoipTexts.conference_schedule_participants_list) - let organiserLabel = StyledLabel(VoipTheme.conference_scheduling_font, " "+VoipTexts.conference_schedule_organizer) - - let datePicker = StyledDatePicker(pickerMode: .date, readOnly:true) - let timePicker = StyledDatePicker(pickerMode: .time, readOnly:true) - - var conferenceData : ScheduledConferenceData? { - didSet { - if let data = conferenceData { - super.titleLabel.text = data.subject.value! - self.participantsListTableView.reloadData() - self.participantsListTableView.removeConstraints().done() - self.participantsListTableView.matchParentSideBorders().alignUnder(view: participantsLabel,withMargin: self.form_margin).done() - self.participantsListTableView.height(Double(data.conferenceInfo.participants.count) * VoipParticipantCell.cell_height).alignParentBottom().done() - datePicker.liveValue = MutableLiveData(conferenceData!.rawDate) - timePicker.liveValue = MutableLiveData(conferenceData!.rawDate) - } - } - } - - - static let compositeDescription = UICompositeViewDescription(ConferenceHistoryDetailsView.self, statusBar: StatusBarView.self, tabBar: TabBarView.classForCoder(), sideMenu: SideMenuView.self, fullscreen: false, isLeftFragment: false,fragmentWith: HistoryListView.classForCoder()) - static func compositeViewDescription() -> UICompositeViewDescription! { return compositeDescription } - func compositeViewDescription() -> UICompositeViewDescription! { return type(of: self).compositeDescription } - - override func viewDidLoad() { - - super.viewDidLoad( - backAction: { - PhoneMainView.instance().popView(self.compositeViewDescription()) - },nextAction: { - }, - nextActionEnableCondition: MutableLiveData(false), - title:"") - super.nextButton.isHidden = true - - super.backButton.isHidden = UIDevice.ipad() - - let schedulingStack = UIStackView() - schedulingStack.axis = .vertical - contentView.addSubview(schedulingStack) - schedulingStack.alignParentTop(withMargin: 2*form_margin).matchParentSideBorders(insetedByDx: form_margin).done() - - let scheduleForm = UIView() - schedulingStack.addArrangedSubview(scheduleForm) - scheduleForm.matchParentSideBorders().done() - - // Left column (Date) - let leftColumn = UIView() - scheduleForm.addSubview(leftColumn) - leftColumn.matchParentWidthDividedBy(2.2).alignParentLeft(withMargin: form_margin).alignParentTop(withMargin: form_margin).done() - - let dateLabel = StyledLabel(VoipTheme.conference_scheduling_font, VoipTexts.conference_schedule_date) - leftColumn.addSubview(dateLabel) - dateLabel.alignParentLeft().alignParentTop(withMargin: form_margin).done() - - leftColumn.addSubview(datePicker) - datePicker.alignParentLeft().alignUnder(view: dateLabel,withMargin: form_margin).matchParentSideBorders().done() - - leftColumn.wrapContentY().done() - - // Right column (Time) - let rightColumn = UIView() - scheduleForm.addSubview(rightColumn) - rightColumn.matchParentWidthDividedBy(2.2).alignParentRight(withMargin: form_margin).alignParentTop().done() - - let timeLabel = StyledLabel(VoipTheme.conference_scheduling_font, VoipTexts.conference_schedule_time) - rightColumn.addSubview(timeLabel) - timeLabel.alignParentLeft().alignParentTop(withMargin: form_margin).done() - - rightColumn.addSubview(timePicker) - timePicker.alignParentLeft().alignUnder(view: timeLabel,withMargin: form_margin).matchParentSideBorders().done() - - rightColumn.wrapContentY().done() - scheduleForm.wrapContentY().done() - - // Organiser - - contentView.addSubview(organiserLabel) - organiserLabel.matchParentSideBorders().height(form_input_height).alignUnder(view: schedulingStack,withMargin: form_margin*2).done() - organiserLabel.textAlignment = .left - - contentView.addSubview(organizerTableView) - organizerTableView.isScrollEnabled = false - organizerTableView.dataSource = self - organizerTableView.register(VoipParticipantCell.self, forCellReuseIdentifier: "VoipParticipantCellSSchedule") - organizerTableView.allowsSelection = false - if #available(iOS 15.0, *) { - organizerTableView.allowsFocus = false - } - organizerTableView.separatorStyle = .singleLine - organizerTableView.tag = 1; - organizerTableView.matchParentSideBorders().height(VoipParticipantCell.cell_height).alignUnder(view: organiserLabel,withMargin: form_margin).done() - - // Participants - contentView.addSubview(participantsLabel) - participantsLabel.matchParentSideBorders().height(form_input_height).alignUnder(view: organizerTableView,withMargin: form_margin).done() - participantsLabel.textAlignment = .left - - contentView.addSubview(participantsListTableView) - participantsListTableView.isScrollEnabled = false - participantsListTableView.dataSource = self - participantsListTableView.register(VoipParticipantCell.self, forCellReuseIdentifier: "VoipParticipantCellSSchedule") - participantsListTableView.allowsSelection = false - if #available(iOS 15.0, *) { - participantsListTableView.allowsFocus = false - } - participantsListTableView.separatorStyle = .singleLine - - // Goto chat - v2 - /* - let chatButton = FormButton(title: VoipTexts.conference_go_to_chat.uppercased(), backgroundStateColors: VoipTheme.primary_colors_background) - contentView.addSubview(chatButton) - chatButton.onClick { - //let chatRoom = ChatRoom() - //PhoneMainView.instance().go(to: chatRoom?.getCobject) - } - - chatButton.centerX().alignParentBottom(withMargin: 3*self.form_margin).alignUnder(view: participantsListTableView,withMargin: 3*self.form_margin).done() - */ - - UIDeviceBridge.displayModeSwitched.readCurrentAndObserve { _ in - self.organiserLabel.backgroundColor = VoipTheme.voipFormBackgroundColor.get() - self.organizerTableView.separatorColor = VoipTheme.separatorColor.get() - self.participantsLabel.backgroundColor = VoipTheme.voipFormBackgroundColor.get() - self.participantsListTableView.separatorColor = VoipTheme.separatorColor.get() - self.view.backgroundColor = VoipTheme.voipBackgroundBWColor.get() - } - - } - - - // Objc - bridge, as can't access easily to the view model. - @objc func setCallLog(callLog:OpaquePointer) { - let log = CallLog.getSwiftObject(cObject: callLog) - if let conferenceInfo = log.conferenceInfo { - self.conferenceData = ScheduledConferenceData(conferenceInfo: conferenceInfo) - } - } - - - // TableView datasource delegate - func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - guard let data = conferenceData else { - return 0 - } - return tableView.tag == 1 ? 1 : data.conferenceInfo.participants.count - } - - func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - let cell:VoipParticipantCell = tableView.dequeueReusableCell(withIdentifier: "VoipParticipantCellSSchedule") as! VoipParticipantCell - guard let data = conferenceData else { - return cell - } - cell.selectionStyle = .none - cell.scheduleConfParticipantAddress = tableView.tag == 1 ? data.conferenceInfo.participants.filter {$0.weakEqual(address2: data.conferenceInfo.organizer!)}.first : data.conferenceInfo.participants[indexPath.row] - cell.limeBadge.isHidden = true - cell.addButton.isHidden = true - return cell - } - - -} diff --git a/Classes/Swift/Conference/Views/ConferenceSchedulingSummaryView.swift b/Classes/Swift/Conference/Views/ConferenceSchedulingSummaryView.swift deleted file mode 100644 index f2d04539d..000000000 --- a/Classes/Swift/Conference/Views/ConferenceSchedulingSummaryView.swift +++ /dev/null @@ -1,517 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import linphonesw -import SVProgressHUD - -@objc class ConferenceSchedulingSummaryView: BackNextNavigationView, UICompositeViewDelegate, UITableViewDataSource { - - let CONFERENCE_CREATION_TIME_OUT_SEC = 15.0 - - let viaChatLabel = StyledLabel(VoipTheme.conference_scheduling_font, VoipTexts.conference_schedule_send_invite_chat_summary) - let speakersLabel = StyledLabel(VoipTheme.conference_scheduling_font, " "+VoipTexts.conference_schedule_speakers_list) - let participantsLabel = StyledLabel(VoipTheme.conference_scheduling_font, " "+VoipTexts.conference_schedule_participants_list) - let speakersListTableView = UITableView() - let participantsListTableView = UITableView() - - let datePicker = StyledDatePicker(liveValue: ConferenceSchedulingViewModel.shared.scheduledDate,pickerMode: .date, readOnly:true) - let timeZoneValue = StyledValuePicker(liveIndex: ConferenceSchedulingViewModel.shared.scheduledTimeZone,options: ConferenceSchedulingViewModel.timeZones.map({ (tzd: TimeZoneData) -> String in tzd.descWithOffset()}), readOnly:true) - let durationValue = StyledValuePicker(liveIndex: ConferenceSchedulingViewModel.shared.scheduledDuration,options: ConferenceSchedulingViewModel.durationList.map({ (duration: Duration) -> String in duration.display}), readOnly:true) - let timePicker = StyledDatePicker(liveValue: ConferenceSchedulingViewModel.shared.scheduledTime,pickerMode: .time, readOnly:true) - let descriptionLabel = StyledLabel(VoipTheme.conference_scheduling_font, VoipTexts.conference_schedule_description_hint) - let descriptionInput = StyledTextView(VoipTheme.conference_scheduling_font, placeHolder:VoipTexts.conference_schedule_description_hint,liveValue: ConferenceSchedulingViewModel.shared.description, readOnly:true) - let createButton = FormButton(backgroundStateColors: VoipTheme.primary_colors_background) - let leftColumn = UIView() - let rightColumn = UIView() - let scheduleForm = UIView() - - static let compositeDescription = UICompositeViewDescription(ConferenceSchedulingSummaryView.self, statusBar: StatusBarView.self, tabBar: nil, sideMenu: SideMenuView.self, fullscreen: false, isLeftFragment: false,fragmentWith: nil) - static func compositeViewDescription() -> UICompositeViewDescription! { return compositeDescription } - func compositeViewDescription() -> UICompositeViewDescription! { return type(of: self).compositeDescription } - - override func viewDidLoad() { - - super.viewDidLoad( - backAction: { - self.goBackParticipantsListSelection() - },nextAction: { - }, - nextActionEnableCondition: ConferenceSchedulingViewModel.shared.continueEnabled, - title: ConferenceSchedulingViewModel.shared.getMode() == 0 ? VoipTexts.conference_schedule_summary : VoipTexts.conference_schedule_broadcast_summary) - super.nextButton.isHidden = true - - let subjectLabel = StyledLabel(VoipTheme.conference_scheduling_font, VoipTexts.conference_schedule_subject_title) - contentView.addSubview(subjectLabel) - subjectLabel.alignParentLeft(withMargin: form_margin).alignParentTop().done() - - let encryptedIcon = UIImageView(image: UIImage(named: "security_2_indicator")) - encryptedIcon.contentMode = .scaleAspectFit - contentView.addSubview(encryptedIcon) - encryptedIcon.height(form_input_height).alignParentTop().alignParentTop().alignParentRight(withMargin: form_margin).alignHorizontalCenterWith(subjectLabel).done() - ConferenceSchedulingViewModel.shared.isEncrypted.readCurrentAndObserve { (encrypt) in - encryptedIcon.isHidden = encrypt != true - } - - - let subjectInput = StyledTextView(VoipTheme.conference_scheduling_font, placeHolder:VoipTexts.conference_schedule_subject_hint, liveValue: ConferenceSchedulingViewModel.shared.subject, readOnly:true) - contentView.addSubview(subjectInput) - subjectInput.alignUnder(view: subjectLabel,withMargin: form_margin).matchParentSideBorders(insetedByDx: form_margin).height(form_input_height).done() - - - let schedulingStack = UIStackView() - schedulingStack.axis = .vertical - contentView.addSubview(schedulingStack) - schedulingStack.alignUnder(view: subjectInput,withMargin: 3*form_margin).matchParentSideBorders(insetedByDx: form_margin).done() - - - schedulingStack.addArrangedSubview(scheduleForm) - ConferenceSchedulingViewModel.shared.scheduleForLater.readCurrentAndObserve { (forLater) in self.scheduleForm.isHidden = forLater != true } - - // Left column (Date & Time) - scheduleForm.addSubview(leftColumn) - leftColumn.matchParentWidthDividedBy(2.2).alignParentLeft().alignParentTop(withMargin: form_margin).done() - - let dateLabel = StyledLabel(VoipTheme.conference_scheduling_font, VoipTexts.conference_schedule_date) - leftColumn.addSubview(dateLabel) - dateLabel.alignParentLeft().alignParentTop(withMargin: form_margin).done() - - leftColumn.addSubview(datePicker) - datePicker.alignParentLeft().alignUnder(view: dateLabel,withMargin: form_margin).matchParentSideBorders().done() - - let timeLabel = StyledLabel(VoipTheme.conference_scheduling_font, VoipTexts.conference_schedule_time) - leftColumn.addSubview(timeLabel) - timeLabel.alignParentLeft().alignUnder(view: datePicker,withMargin: form_margin).done() - - leftColumn.addSubview(timePicker) - timePicker.alignParentLeft().alignUnder(view: timeLabel,withMargin: form_margin).matchParentSideBorders().done() - - leftColumn.wrapContentY().done() - - - // Right column (Duration & Timezone) - scheduleForm.addSubview(rightColumn) - rightColumn.matchParentWidthDividedBy(2.2).alignParentRight().alignParentTop().done() - - let durationLabel = StyledLabel(VoipTheme.conference_scheduling_font, VoipTexts.conference_schedule_duration) - rightColumn.addSubview(durationLabel) - durationLabel.alignParentLeft().alignParentTop(withMargin: form_margin).done() - - rightColumn.addSubview(durationValue) - durationValue.alignParentLeft().alignUnder(view: durationLabel,withMargin: form_margin).matchParentSideBorders().done() - - let timeZoneLabel = StyledLabel(VoipTheme.conference_scheduling_font, VoipTexts.conference_schedule_timezone) - rightColumn.addSubview(timeZoneLabel) - timeZoneLabel.alignParentLeft().alignUnder(view: durationValue,withMargin: form_margin).done() - - rightColumn.addSubview(timeZoneValue) - timeZoneValue.alignParentLeft().alignUnder(view: timeZoneLabel,withMargin: form_margin).matchParentSideBorders().done() - - rightColumn.wrapContentY().done() - - // Description - scheduleForm.addSubview(descriptionLabel) - descriptionInput.textContainer.maximumNumberOfLines = 5 - descriptionInput.textContainer.lineBreakMode = .byWordWrapping - scheduleForm.addSubview(descriptionInput) - - // Sending method - contentView.addSubview(viaChatLabel) - viaChatLabel.matchParentSideBorders(insetedByDx: form_margin).alignUnder(view: schedulingStack,withMargin: 2*form_margin).done() - viaChatLabel.numberOfLines = 2 - ConferenceSchedulingViewModel.shared.sendInviteViaChat.readCurrentAndObserve { (sendChat) in - self.viaChatLabel.isHidden = sendChat != true || ConferenceSchedulingViewModel.shared.scheduleForLater.value != true - } - - // Speaker - contentView.addSubview(speakersLabel) - speakersLabel.matchParentSideBorders().height(form_input_height).alignUnder(view: viaChatLabel,withMargin: form_margin).done() - speakersLabel.textAlignment = .left - - - contentView.addSubview(speakersListTableView) - speakersListTableView.isScrollEnabled = false - speakersListTableView.dataSource = self - speakersListTableView.register(VoipSpeakerCell.self, forCellReuseIdentifier: "VoipSpeakerCellSSchedule") - speakersListTableView.allowsSelection = false - if #available(iOS 15.0, *) { - speakersListTableView.allowsFocus = false - } - speakersListTableView.separatorStyle = .singleLine - speakersListTableView.backgroundColor = .clear - - // Participants - contentView.addSubview(participantsLabel) - participantsLabel.matchParentSideBorders().height(form_input_height).alignUnder(view: speakersListTableView,withMargin: form_margin).done() - participantsLabel.textAlignment = .left - - - contentView.addSubview(participantsListTableView) - participantsListTableView.isScrollEnabled = false - participantsListTableView.dataSource = self - participantsListTableView.register(VoipParticipantCell.self, forCellReuseIdentifier: "VoipParticipantCellSSchedule") - participantsListTableView.allowsSelection = false - if #available(iOS 15.0, *) { - participantsListTableView.allowsFocus = false - } - participantsListTableView.separatorStyle = .singleLine - participantsListTableView.backgroundColor = .clear - - - self.createButton.isEnabled = ConferenceSchedulingViewModel.shared.getMode() == 0 ? true : (ConferenceSchedulingViewModel.shared.selectedParticipants.value!.filter({$0.role == .Speaker}).count > 0 && ConferenceSchedulingViewModel.shared.selectedParticipants.value!.filter({$0.role == .Listener}).count > 0) - - ConferenceSchedulingViewModel.shared.selectedParticipants.readCurrentAndObserve { (participants) in - self.speakersListTableView.reloadData() - self.speakersListTableView.removeConstraints().done() - self.speakersListTableView.matchParentSideBorders().alignUnder(view: self.speakersLabel,withMargin: self.form_margin).done() - if ConferenceSchedulingViewModel.shared.getMode() != 0 { - self.speakersListTableView.height((participants!.filter({$0.role == .Speaker}).count > 0 ? Double(participants!.filter({$0.role == .Speaker}).count) : 0.5) * VoipParticipantCell.cell_height).done() - } else { - self.speakersListTableView.height(0).done() - } - if participants!.count == 0 { - let emptyLabel = UILabel(frame: CGRect(x: 0, y: 0, width: self.view.bounds.size.width, height: self.view.bounds.size.height)) - emptyLabel.text = VoipTexts.conference_schedule_speakers_list_empty - emptyLabel.textAlignment = NSTextAlignment.center - self.speakersListTableView.backgroundView = emptyLabel - self.speakersListTableView.separatorStyle = UITableViewCell.SeparatorStyle.none - self.speakersListTableView.backgroundView?.isHidden = false - } else { - self.speakersListTableView.backgroundView?.isHidden = true - } - - self.participantsListTableView.reloadData() - self.participantsListTableView.removeConstraints().done() - self.participantsListTableView.matchParentSideBorders().alignUnder(view: self.participantsLabel,withMargin: self.form_margin).done() - if ConferenceSchedulingViewModel.shared.getMode() != 0 { - self.participantsListTableView.height((participants!.filter({$0.role == .Listener}).count > 0 ? Double(participants!.filter({$0.role == .Listener}).count) : 0.5) * VoipParticipantCell.cell_height).done() - } else { - self.participantsListTableView.height(Double(participants!.filter({$0.role == .Speaker}).count) * VoipParticipantCell.cell_height).done() - } - - if ConferenceSchedulingViewModel.shared.getMode() != 0 && ConferenceSchedulingViewModel.shared.selectedParticipants.value?.filter({$0.role == .Listener}).count == 0 { - self.participantsListTableView.reloadData() - self.participantsListTableView.removeConstraints().done() - self.participantsListTableView.matchParentSideBorders().alignUnder(view: self.participantsLabel,withMargin: self.form_margin).done() - self.participantsListTableView.height(0.5 * VoipParticipantCell.cell_height).done() - let emptyLabel = UILabel(frame: CGRect(x: 0, y: 0, width: self.view.bounds.size.width, height: self.view.bounds.size.height)) - emptyLabel.text = VoipTexts.conference_schedule_participants_list_empty - emptyLabel.textAlignment = NSTextAlignment.center - self.participantsListTableView.backgroundView = emptyLabel - self.participantsListTableView.separatorStyle = UITableViewCell.SeparatorStyle.none - } else { - self.participantsListTableView.backgroundView?.isHidden = true - } - } - - // Create / Schedule - contentView.addSubview(createButton) - createButton.centerX().alignParentBottom(withMargin: 3*self.form_margin).alignUnder(view: participantsListTableView,withMargin: 3*self.form_margin).width(0).done() - ConferenceSchedulingViewModel.shared.scheduleForLater.readCurrentAndObserve { _ in - self.createButton.title = ConferenceSchedulingViewModel.shared.scheduleForLater.value == true ? ConferenceSchedulingViewModel.shared.existingConfInfo.value != nil ? VoipTexts.conference_schedule_edit.uppercased() : VoipTexts.conference_schedule_start.uppercased() : VoipTexts.conference_group_call_create.uppercased() - self.createButton.addSidePadding() - } - ConferenceSchedulingViewModel.shared.existingConfInfo.readCurrentAndObserve { _ in - self.createButton.title = ConferenceSchedulingViewModel.shared.scheduleForLater.value == true ? ConferenceSchedulingViewModel.shared.existingConfInfo.value != nil ? VoipTexts.conference_schedule_edit.uppercased() : VoipTexts.conference_schedule_start.uppercased() : VoipTexts.conference_group_call_create.uppercased() - self.createButton.addSidePadding() - } - - ConferenceSchedulingViewModel.shared.conferenceCreationInProgress.observe { progress in - if (progress == true) { - SVProgressHUD.show() - } else { - SVProgressHUD.dismiss() - } - } - - var enableCreationTimeOut = false - - ConferenceSchedulingViewModel.shared.conferenceCreationCompletedEvent.observe { pair in - enableCreationTimeOut = false - if (ConferenceSchedulingViewModel.shared.scheduleForLater.value == true) { - PhoneMainView.instance().pop(toView:ScheduledConferencesView.compositeDescription) - VoipDialog.toast(message: VoipTexts.conference_schedule_info_created) - - } - } - ConferenceSchedulingViewModel.shared.onErrorEvent.observe { error in - VoipDialog.init(message: error!).show() - } - createButton.onClick { - enableCreationTimeOut = true - ConferenceSchedulingViewModel.shared.createConference() - DispatchQueue.main.asyncAfter(deadline: .now() + self.CONFERENCE_CREATION_TIME_OUT_SEC) { - if (enableCreationTimeOut) { - enableCreationTimeOut = false - ConferenceSchedulingViewModel.shared.conferenceCreationInProgress.value = false - ConferenceSchedulingViewModel.shared.onErrorEvent.value = VoipTexts.call_error_server_timeout - } - } - } - ConferenceSchedulingViewModel.shared.scheduleForLater.readCurrentAndObserve { (later) in - self.createButton.title = ConferenceSchedulingViewModel.shared.scheduleForLater.value == true ? ConferenceSchedulingViewModel.shared.existingConfInfo.value != nil ? VoipTexts.conference_schedule_edit.uppercased() : VoipTexts.conference_schedule_start.uppercased() : VoipTexts.conference_group_call_create.uppercased() - self.viaChatLabel.isHidden = later != true || ConferenceSchedulingViewModel.shared.sendInviteViaChat.value != true - self.viaChatLabel.removeConstraints().matchParentSideBorders(insetedByDx: self.form_margin).alignUnder(view: schedulingStack,withMargin: (self.viaChatLabel.isHidden ? 0 : 1)*self.form_margin).done() - if (self.viaChatLabel.isHidden) { - self.viaChatLabel.height(0).done() - } - - self.createButton.addSidePadding() - } - - UIDeviceBridge.displayModeSwitched.readCurrentAndObserve { _ in - self.view.backgroundColor = VoipTheme.voipBackgroundBWColor.get() - self.speakersLabel.backgroundColor = VoipTheme.voipFormBackgroundColor.get() - self.speakersListTableView.separatorColor = VoipTheme.separatorColor.get() - self.participantsLabel.backgroundColor = VoipTheme.voipFormBackgroundColor.get() - self.participantsListTableView.separatorColor = VoipTheme.separatorColor.get() - } - - } - - override func viewWillAppear(_ animated: Bool) { - if ConferenceSchedulingViewModel.shared.existingConfInfo.value != nil { - let isBroadcastExisting = ConferenceSchedulingViewModel.shared.existingConfInfo.value??.participantInfos.filter({$0.role == .Speaker}).count != 0 && ConferenceSchedulingViewModel.shared.existingConfInfo.value??.participantInfos.filter({$0.role == .Listener}).count != 0 - ConferenceSchedulingViewModel.shared.mode.value = isBroadcastExisting ? 1 : 0 - } - - titleLabel.text = ConferenceSchedulingViewModel.shared.getMode() == 0 ? VoipTexts.conference_schedule_summary : VoipTexts.conference_schedule_broadcast_summary - - datePicker.liveValue = ConferenceSchedulingViewModel.shared.scheduledDate - timeZoneValue.setIndex(index: ConferenceSchedulingViewModel.shared.scheduledTimeZone.value!) - durationValue.setIndex(index: ConferenceSchedulingViewModel.shared.scheduledDuration.value!) - timePicker.liveValue = ConferenceSchedulingViewModel.shared.scheduledTime - - descriptionInput.text = ConferenceSchedulingViewModel.shared.description.value - descriptionLabel.removeConstraints().alignUnder(view: leftColumn,withMargin: form_margin).alignUnder(view: rightColumn,withMargin: form_margin).matchParentSideBorders().done() - descriptionInput.removeConstraints().alignUnder(view: descriptionLabel,withMargin: form_margin).matchParentSideBorders().height(description_height).alignParentBottom(withMargin: form_margin*2).done() - if (ConferenceSchedulingViewModel.shared.description.value == nil || ConferenceSchedulingViewModel.shared.description.value!.count == 0) { - descriptionLabel.height(0).done() - descriptionInput.height(0).done() - } - // Wrap form - scheduleForm.removeConstraints().matchParentSideBorders().wrapContentY().done() - - createButton.addSidePadding() - - speakersLabel.removeConstraints().matchParentSideBorders().height(form_input_height).alignUnder(view: viaChatLabel,withMargin: form_margin).done() - - speakersListTableView.removeConstraints().done() - speakersListTableView.matchParentSideBorders().alignUnder(view: self.speakersLabel,withMargin: self.form_margin).done() - speakersListTableView.height(Double((ConferenceSchedulingViewModel.shared.selectedParticipants.value?.filter({$0.role == .Speaker}).count)!) * VoipParticipantCell.cell_height).done() - - if ConferenceSchedulingViewModel.shared.selectedParticipants.value?.filter({$0.role == .Speaker}).count == 0 { - self.speakersListTableView.reloadData() - self.speakersListTableView.removeConstraints().done() - self.speakersListTableView.matchParentSideBorders().alignUnder(view: self.speakersLabel,withMargin: self.form_margin).done() - self.speakersListTableView.height(0.5 * VoipParticipantCell.cell_height).done() - let emptyLabel = UILabel(frame: CGRect(x: 0, y: 0, width: self.view.bounds.size.width, height: self.view.bounds.size.height)) - emptyLabel.text = VoipTexts.conference_schedule_speakers_list_empty - emptyLabel.textAlignment = NSTextAlignment.center - self.speakersListTableView.backgroundView = emptyLabel - self.speakersListTableView.separatorStyle = UITableViewCell.SeparatorStyle.none - } - - if ConferenceSchedulingViewModel.shared.getMode() != 0 && ConferenceSchedulingViewModel.shared.selectedParticipants.value?.filter({$0.role == .Listener}).count == 0 { - self.participantsListTableView.reloadData() - self.participantsListTableView.removeConstraints().done() - self.participantsListTableView.matchParentSideBorders().alignUnder(view: self.participantsLabel,withMargin: self.form_margin).done() - self.participantsListTableView.height(0.5 * VoipParticipantCell.cell_height).done() - let emptyLabel = UILabel(frame: CGRect(x: 0, y: 0, width: self.view.bounds.size.width, height: self.view.bounds.size.height)) - emptyLabel.text = VoipTexts.conference_schedule_participants_list_empty - emptyLabel.textAlignment = NSTextAlignment.center - self.participantsListTableView.backgroundView = emptyLabel - self.participantsListTableView.separatorStyle = UITableViewCell.SeparatorStyle.none - } - - if ConferenceSchedulingViewModel.shared.getMode() == 0 { - speakersLabel.isHidden = true - speakersListTableView.isHidden = true - speakersLabel.height(0).done() - speakersListTableView.height(0).done() - } else { - speakersLabel.isHidden = false - speakersListTableView.isHidden = false - } - - super.viewWillAppear(animated) - } - - override func viewDidAppear(_ animated: Bool) { - super.viewDidAppear(animated) - reloadLists() - } - - - - func goBackParticipantsListSelection() { - let view: ChatConversationCreateView = VIEW(ChatConversationCreateView.compositeViewDescription()) - view.unfragmentCompositeDescription() - - let addresses = ConferenceSchedulingViewModel.shared.selectedParticipants.value!.map { (participant) in String(participant.address!.asStringUriOnly()) } - view.tableController.contactsGroup = (addresses as NSArray).mutableCopy() as? NSMutableArray - view.tableController.notFirstTime = true - view.isForEditing = false - view.isForVoipConference = true - PhoneMainView.instance().pop(toView: view.compositeViewDescription()) - } - - // Objc - bridge, as can't access easily to the view model. - @objc func setParticipants(addresses:[String]) { - ConferenceSchedulingViewModel.shared.selectedParticipants.value = [] - return addresses.forEach { (address) in - do { - let createAddress = try Factory.Instance.createAddress(addr: address) - if let address = try?Factory.Instance.createParticipantInfo(address: createAddress) { - ConferenceSchedulingViewModel.shared.selectedParticipants.value?.append(address) - address.role = ConferenceSchedulingViewModel.shared.getMode() != 0 ? .Listener : .Speaker - } - } catch { - Log.e("[goBackParticipantsListSelection] unable to create ParticipantInfo \(error)") - } - - } - } - - // TableView datasource delegate - func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - if(tableView == speakersListTableView){ - guard let speakers = ConferenceSchedulingViewModel.shared.selectedParticipants.value?.filter({$0.role == .Speaker}) else { - return 0 - } - return speakers.count - } else { - if ConferenceSchedulingViewModel.shared.getMode() != 0 { - guard let participants = ConferenceSchedulingViewModel.shared.selectedParticipants.value?.filter({$0.role == .Listener}) else { - return 0 - } - return participants.count - } else { - guard let participants = ConferenceSchedulingViewModel.shared.selectedParticipants.value?.filter({$0.role == .Speaker}) else { - return 0 - } - return participants.count - } - } - } - - func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - if(tableView == speakersListTableView){ - let cell:VoipSpeakerCell = tableView.dequeueReusableCell(withIdentifier: "VoipSpeakerCellSSchedule") as! VoipSpeakerCell - guard let speaker = ConferenceSchedulingViewModel.shared.selectedParticipants.value?.filter({$0.role == .Speaker})[indexPath.row] else { - return cell - } - cell.selectionStyle = .none - cell.scheduleConfSpeakerAddress = speaker.address - cell.limeBadge.isHidden = ConferenceSchedulingViewModel.shared.isEncrypted.value != true - - cell.deleteButton.addTarget(self, action: #selector(deleteButtonPressed), for: .touchUpInside) - cell.deleteButton.tag = indexPath.row - - return cell - } else { - let cell:VoipParticipantCell = tableView.dequeueReusableCell(withIdentifier: "VoipParticipantCellSSchedule") as! VoipParticipantCell - if ConferenceSchedulingViewModel.shared.getMode() != 0 { - guard let participant = ConferenceSchedulingViewModel.shared.selectedParticipants.value?.filter({$0.role == .Listener})[indexPath.row] else { - return cell - } - cell.scheduleConfParticipantAddress = participant.address - } else { - guard let speaker = ConferenceSchedulingViewModel.shared.selectedParticipants.value?.filter({$0.role == .Speaker})[indexPath.row] else { - return cell - } - cell.scheduleConfParticipantAddress = speaker.address - } - cell.selectionStyle = .none - cell.limeBadge.isHidden = ConferenceSchedulingViewModel.shared.isEncrypted.value != true - - if ConferenceSchedulingViewModel.shared.getMode() == 0 { - cell.addButton.isHidden = true - } else { - cell.addButton.isHidden = false - cell.addButton.addTarget(self, action: #selector(addButtonPressed), for: .touchUpInside) - cell.addButton.tag = indexPath.row - } - return cell - } - } - - @objc func addButtonPressed(sender:UIButton!) { - if(ConferenceSchedulingViewModel.shared.selectedParticipants.value?.filter({$0.role == .Listener})[sender.tag] != nil) { - ConferenceSchedulingViewModel.shared.selectedParticipants.value?.filter({$0.role == .Listener})[sender.tag].role = .Speaker - } - reloadLists() - } - - @objc func deleteButtonPressed(sender:UIButton!) { - if(ConferenceSchedulingViewModel.shared.selectedParticipants.value?.filter({$0.role == .Speaker})[sender.tag] != nil) { - ConferenceSchedulingViewModel.shared.selectedParticipants.value?.filter({$0.role == .Speaker})[sender.tag].role = .Listener - } - reloadLists() - } - - func reloadLists(){ - let participants = ConferenceSchedulingViewModel.shared.selectedParticipants.value - - self.speakersListTableView.reloadData() - self.speakersListTableView.removeConstraints().done() - self.speakersListTableView.matchParentSideBorders().alignUnder(view: self.speakersLabel,withMargin: self.form_margin).done() - if ConferenceSchedulingViewModel.shared.getMode() != 0 { - self.speakersListTableView.height((participants!.filter({$0.role == .Speaker}).count > 0 ? Double(participants!.filter({$0.role == .Speaker}).count) : 0.5) * VoipParticipantCell.cell_height).done() - } else { - self.speakersListTableView.height(0).done() - } - if participants!.filter({$0.role == .Speaker}).count == 0 { - let emptyLabel = UILabel(frame: CGRect(x: 0, y: 0, width: self.view.bounds.size.width, height: self.view.bounds.size.height)) - emptyLabel.text = VoipTexts.conference_schedule_speakers_list_empty - emptyLabel.textAlignment = NSTextAlignment.center - self.speakersListTableView.backgroundView = emptyLabel - self.speakersListTableView.separatorStyle = UITableViewCell.SeparatorStyle.none - self.speakersListTableView.backgroundView?.isHidden = false - } else { - self.speakersListTableView.backgroundView?.isHidden = true - } - - self.participantsListTableView.reloadData() - self.participantsListTableView.removeConstraints().done() - self.participantsListTableView.matchParentSideBorders().alignUnder(view: participantsLabel,withMargin: self.form_margin).done() - if ConferenceSchedulingViewModel.shared.getMode() != 0 { - self.participantsListTableView.height(Double(participants!.filter({$0.role == .Listener}).count) * VoipParticipantCell.cell_height).done() - } else { - self.participantsListTableView.height(Double(participants!.filter({$0.role == .Speaker}).count) * VoipParticipantCell.cell_height).done() - } - - if ConferenceSchedulingViewModel.shared.getMode() != 0 && ConferenceSchedulingViewModel.shared.selectedParticipants.value?.filter({$0.role == .Listener}).count == 0 { - self.participantsListTableView.reloadData() - self.participantsListTableView.removeConstraints().done() - self.participantsListTableView.matchParentSideBorders().alignUnder(view: self.participantsLabel,withMargin: self.form_margin).done() - self.participantsListTableView.height(0.5 * VoipParticipantCell.cell_height).done() - let emptyLabel = UILabel(frame: CGRect(x: 0, y: 0, width: self.view.bounds.size.width, height: self.view.bounds.size.height)) - emptyLabel.text = VoipTexts.conference_schedule_participants_list_empty - emptyLabel.textAlignment = NSTextAlignment.center - self.participantsListTableView.backgroundView = emptyLabel - self.participantsListTableView.separatorStyle = UITableViewCell.SeparatorStyle.none - } else { - self.participantsListTableView.backgroundView?.isHidden = true - } - self.createButton.isEnabled = ConferenceSchedulingViewModel.shared.getMode() == 0 ? true : (ConferenceSchedulingViewModel.shared.selectedParticipants.value!.filter({$0.role == .Speaker}).count > 0 && ConferenceSchedulingViewModel.shared.selectedParticipants.value!.filter({$0.role == .Listener}).count > 0) - } -} diff --git a/Classes/Swift/Conference/Views/ConferenceSchedulingView.swift b/Classes/Swift/Conference/Views/ConferenceSchedulingView.swift deleted file mode 100644 index 2248b3b2b..000000000 --- a/Classes/Swift/Conference/Views/ConferenceSchedulingView.swift +++ /dev/null @@ -1,293 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import linphonesw -import IQKeyboardManager - -@objc class ConferenceSchedulingView: BackNextNavigationView, UICompositeViewDelegate { - - - static let compositeDescription = UICompositeViewDescription(ConferenceSchedulingView.self, statusBar: StatusBarView.self, tabBar: nil, sideMenu: SideMenuView.self, fullscreen: false, isLeftFragment: false,fragmentWith: nil) - static func compositeViewDescription() -> UICompositeViewDescription! { return compositeDescription } - func compositeViewDescription() -> UICompositeViewDescription! { return type(of: self).compositeDescription } - - let modeLabel = StyledLabel(VoipTheme.conference_scheduling_font, VoipTexts.conference_schedule_mode) - let modeValue = StyledValuePicker(liveIndex: ConferenceSchedulingViewModel.shared.mode,options: ConferenceSchedulingViewModel.modeList.map({ (mode: Mode) -> String in mode.display})) - let datePicker = StyledDatePicker(liveValue: ConferenceSchedulingViewModel.shared.scheduledDate,pickerMode: .date) - let timeZoneValue = StyledValuePicker(liveIndex: ConferenceSchedulingViewModel.shared.scheduledTimeZone,options: ConferenceSchedulingViewModel.timeZones.map({ (tzd: TimeZoneData) -> String in tzd.descWithOffset()})) - let durationValue = StyledValuePicker(liveIndex: ConferenceSchedulingViewModel.shared.scheduledDuration,options: ConferenceSchedulingViewModel.durationList.map({ (duration: Duration) -> String in duration.display})) - let timePicker = StyledDatePicker(liveValue: ConferenceSchedulingViewModel.shared.scheduledTime,pickerMode: .time) - let descriptionInput = StyledTextView(VoipTheme.conference_scheduling_font, placeHolder:VoipTexts.conference_schedule_description_hint,liveValue: ConferenceSchedulingViewModel.shared.description) - let subjectInput = StyledTextView(VoipTheme.conference_scheduling_font, placeHolder:VoipTexts.conference_schedule_subject_hint, liveValue: ConferenceSchedulingViewModel.shared.subject,maxLines:1) - - let leftColumn = UIView() - let rightColumn = UIView() - - - override func viewDidLoad() { - - super.viewDidLoad( - backAction: { - ConferenceSchedulingViewModel.shared.reset() - PhoneMainView.instance().popView(self.compositeViewDescription()) - },nextAction: { - self.gotoParticipantsListSelection() - }, - nextActionEnableCondition: ConferenceSchedulingViewModel.shared.continueEnabled, - title:VoipTexts.conference_group_call_title) - view.accessibilityIdentifier = "start_group_call_view" - - let subjectLabel = StyledLabel(VoipTheme.conference_scheduling_font, VoipTexts.conference_schedule_subject_title) - subjectLabel.addIndicatorIcon(iconName: "voip_mandatory") - contentView.addSubview(subjectLabel) - subjectLabel.alignParentLeft(withMargin: form_margin).alignParentTop().done() - - contentView.addSubview(subjectInput) - subjectInput.alignUnder(view: subjectLabel,withMargin: form_margin).matchParentSideBorders(insetedByDx: form_margin).height(form_input_height).done() - - let schedulingStack = UIStackView() - schedulingStack.axis = .vertical - contentView.addSubview(schedulingStack) - schedulingStack.alignUnder(view: subjectInput,withMargin: form_margin).matchParentSideBorders(insetedByDx: form_margin).done() - - let scheduleForLater = UIView() - schedulingStack.addArrangedSubview(scheduleForLater) - scheduleForLater.matchParentSideBorders().height(schdule_for_later_height).done() - - let laterSwitch = StyledSwitch(liveValue: ConferenceSchedulingViewModel.shared.scheduleForLater) - scheduleForLater.addSubview(laterSwitch) - laterSwitch.alignParentTop(withMargin: form_margin*2.5).alignParentLeft(withMargin: form_margin).centerY().done() - - let laterLabel = StyledLabel(VoipTheme.conference_scheduling_font, VoipTexts.conference_schedule_later) - laterLabel.numberOfLines = 2 - scheduleForLater.addSubview(laterLabel) - laterLabel.alignParentTop(withMargin: form_margin*2).toRightOf(laterSwitch, withLeftMargin: form_margin*2).alignParentRight(withMargin: form_margin).done() - - let scheduleForm = UIView() - schedulingStack.addArrangedSubview(scheduleForm) - scheduleForm.matchParentSideBorders().done() - - // Mode - scheduleForm.addSubview(modeLabel) - modeLabel.alignParentTop(withMargin: form_margin).matchParentSideBorders(insetedByDx: form_margin).done() - - scheduleForm.addSubview(modeValue) - modeValue.alignUnder(view: modeLabel, withMargin: form_margin).matchParentSideBorders(insetedByDx: form_margin).done() - - // Left column (Date & Time) - scheduleForm.addSubview(leftColumn) - leftColumn.matchParentWidthDividedBy(2.2).alignParentLeft(withMargin: form_margin).alignUnder(view: modeValue, withMargin: form_margin).done() - - let dateLabel = StyledLabel(VoipTheme.conference_scheduling_font, VoipTexts.conference_schedule_date) - dateLabel.addIndicatorIcon(iconName: "voip_mandatory") - leftColumn.addSubview(dateLabel) - dateLabel.alignParentLeft().alignParentTop(withMargin: form_margin).done() - - leftColumn.addSubview(datePicker) - datePicker.alignParentLeft().alignUnder(view: dateLabel,withMargin: form_margin).matchParentSideBorders().done() - - let timeLabel = StyledLabel(VoipTheme.conference_scheduling_font, VoipTexts.conference_schedule_time) - timeLabel.addIndicatorIcon(iconName: "voip_mandatory") - leftColumn.addSubview(timeLabel) - timeLabel.alignParentLeft().alignUnder(view: datePicker,withMargin: form_margin).done() - - leftColumn.addSubview(timePicker) - timePicker.alignParentLeft().alignUnder(view: timeLabel,withMargin: form_margin).matchParentSideBorders().done() - - leftColumn.wrapContentY().done() - - - // Right column (Duration & Timezone) - scheduleForm.addSubview(rightColumn) - rightColumn.matchParentWidthDividedBy(2.2).alignParentRight(withMargin: form_margin).alignUnder(view: modeValue, withMargin: form_margin).done() - - let durationLabel = StyledLabel(VoipTheme.conference_scheduling_font, VoipTexts.conference_schedule_duration) - rightColumn.addSubview(durationLabel) - durationLabel.alignParentLeft().alignParentTop(withMargin: form_margin).done() - - rightColumn.addSubview(durationValue) - durationValue.alignParentLeft().alignUnder(view: durationLabel,withMargin: form_margin).matchParentSideBorders().done() - - let timeZoneLabel = StyledLabel(VoipTheme.conference_scheduling_font, VoipTexts.conference_schedule_timezone) - rightColumn.addSubview(timeZoneLabel) - timeZoneLabel.alignParentLeft().alignUnder(view: durationValue,withMargin: form_margin).done() - - rightColumn.addSubview(timeZoneValue) - timeZoneValue.alignParentLeft().alignUnder(view: timeZoneLabel,withMargin: form_margin).matchParentSideBorders().done() - - rightColumn.wrapContentY().done() - - // Description - let descriptionLabel = StyledLabel(VoipTheme.conference_scheduling_font, VoipTexts.conference_schedule_description_title) - scheduleForm.addSubview(descriptionLabel) - descriptionLabel.alignUnder(view: leftColumn,withMargin: form_margin).alignUnder(view: rightColumn,withMargin: form_margin).matchParentSideBorders(insetedByDx: form_margin).done() - - descriptionInput.textContainer.maximumNumberOfLines = 5 - descriptionInput.textContainer.lineBreakMode = .byWordWrapping - scheduleForm.addSubview(descriptionInput) - descriptionInput.alignUnder(view: descriptionLabel,withMargin: 2*form_margin).matchParentSideBorders(insetedByDx: form_margin).height(description_height).done() - - // Sending methods - - let viaChatView = UIView() - scheduleForm.addSubview(viaChatView) - viaChatView.alignUnder(view: descriptionInput,withMargin: form_margin).matchParentSideBorders(insetedByDx: form_margin).alignParentBottom(withMargin: form_margin*4).done() - - let viaChatSwitch = StyledCheckBox() - viaChatSwitch.liveValue = ConferenceSchedulingViewModel.shared.sendInviteViaChat - viaChatView.addSubview(viaChatSwitch) - viaChatSwitch.alignParentLeft().done() - - let viaChatLabel = StyledLabel(VoipTheme.conference_scheduling_font, VoipTexts.conference_schedule_send_invite_chat) - viaChatView.addSubview(viaChatLabel) - viaChatLabel.toRightOf(viaChatSwitch,withLeftMargin: form_margin).alignHorizontalCenterWith(viaChatSwitch).done() - - viaChatView.wrapContentY().done() - - /* Hidden as in Android 9.6.2022 - - let viaMailSwitch = StyledCheckBox(liveValue: ConferenceSchedulingViewModel.shared.sendInviteViaEmail) - contentView.addSubview(viaMailSwitch) - viaMailSwitch.alignParentLeft(withMargin: form_margin).alignUnder(view: viaChatSwitch,withMargin: 2*form_margin).done() - - let viaMailLabel = StyledLabel(VoipTheme.conference_scheduling_font, VoipTexts.conference_schedule_send_invite_email) - contentView.addSubview(viaMailLabel) - viaMailLabel.toRightOf(viaMailSwitch,withLeftMargin: form_margin).alignUnder(view: viaChatLabel,withMargin: 2*form_margin).alignHorizontalCenterWith(viaMailSwitch).done() - - // Encryption - let encryptLabel = StyledLabel(VoipTheme.conference_scheduling_font, VoipTexts.conference_schedule_encryption) - contentView.addSubview(encryptLabel) - encryptLabel.alignUnder(view: viaMailLabel,withMargin: 4*form_margin).centerX().done() - - let encryptCombo = UIStackView() - contentView.addSubview(encryptCombo) - encryptCombo.alignUnder(view: encryptLabel,withMargin: form_margin).centerX().height(form_input_height).done() - - let unencryptedIcon = UIImageView(image: UIImage(named: "security_toggle_icon_grey")) - unencryptedIcon.contentMode = .scaleAspectFit - encryptCombo.addArrangedSubview(unencryptedIcon) - - let encryptSwitch = StyledSwitch(liveValue: ConferenceSchedulingViewModel.shared.isEncrypted) - encryptCombo.addArrangedSubview(encryptSwitch) - encryptSwitch.centerY().alignParentTop(withMargin: form_margin).done() - - let encryptedIcon = UIImageView(image: UIImage(named: "security_toggle_icon_green")) - encryptedIcon.contentMode = .scaleAspectFit - encryptCombo.addArrangedSubview(encryptedIcon) - - */ - - // Mandatory label - - let mandatoryLabel = StyledLabel(VoipTheme.conference_scheduling_font, VoipTexts.conference_schedule_mandatory_field) - mandatoryLabel.addIndicatorIcon(iconName: "voip_mandatory", trailing: false) - contentView.addSubview(mandatoryLabel) - mandatoryLabel.textAlignment = .center - - let lastView = UIView() - contentView.addSubview(lastView) - lastView.alignUnder(view: mandatoryLabel).alignParentBottom().done() - - // Schedule for later observer - ConferenceSchedulingViewModel.shared.scheduleForLater.readCurrentAndObserve { (forLater) in - self.subjectInput.setPlaceHolder(phText: forLater == true ? VoipTexts.conference_schedule_subject_hint : VoipTexts.conference_group_call_subject_hint) - scheduleForm.isHidden = forLater != true - super.titleLabel.text = forLater == true ? ConferenceSchedulingViewModel.shared.existingConfInfo.value != nil ? VoipTexts.conference_schedule_edit : VoipTexts.conference_schedule_title : VoipTexts.conference_group_call_title - mandatoryLabel.removeConstraints().done() - mandatoryLabel.alignUnder(view: forLater == true ? scheduleForm : scheduleForLater,withMargin: 2*self.form_margin).centerX().matchParentSideBorders().done() - } - ConferenceSchedulingViewModel.shared.existingConfInfo.readCurrentAndObserve { (confInfo) in - super.titleLabel.text = ConferenceSchedulingViewModel.shared.scheduleForLater.value == true ? ConferenceSchedulingViewModel.shared.existingConfInfo.value != nil ? VoipTexts.conference_schedule_edit : VoipTexts.conference_schedule_title : VoipTexts.conference_group_call_title - if ConferenceSchedulingViewModel.shared.existingConfInfo.value != nil { - self.modeLabel.isHidden = true - self.modeValue.isHidden = true - self.modeLabel.height(0).done() - self.modeValue.height(0).done() - } else { - self.modeLabel.isHidden = false - self.modeValue.isHidden = false - self.modeLabel.removeConstraints().alignParentTop(withMargin: self.form_margin).matchParentSideBorders(insetedByDx: self.form_margin).done() - self.modeValue.removeConstraints().alignUnder(view: self.modeLabel, withMargin: self.form_margin).matchParentSideBorders(insetedByDx: self.form_margin).done() - self.modeLabel.height(20).done() - self.modeValue.height(38).done() - } - } - - UIDeviceBridge.displayModeSwitched.readCurrentAndObserve { _ in - self.view.backgroundColor = VoipTheme.voipBackgroundBWColor.get() - schedulingStack.backgroundColor = VoipTheme.voipFormBackgroundColor.get() - } - - } - - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - modeValue.setIndex(index: ConferenceSchedulingViewModel.shared.mode.value!) - datePicker.liveValue = ConferenceSchedulingViewModel.shared.scheduledDate - timeZoneValue.setIndex(index: ConferenceSchedulingViewModel.shared.scheduledTimeZone.value!) - durationValue.setIndex(index: ConferenceSchedulingViewModel.shared.scheduledDuration.value!) - timePicker.liveValue = ConferenceSchedulingViewModel.shared.scheduledTime - descriptionInput.text = ConferenceSchedulingViewModel.shared.description.value - IQKeyboardManager.shared().isEnabled = true - - - if !ConfigManager.instance().lpConfigBoolForKey(key: "enable_broadcast_conference_feature") { - self.modeLabel.isHidden = true - self.modeValue.isHidden = true - self.modeLabel.height(0).done() - self.modeValue.height(0).done() - } else { - self.modeLabel.isHidden = false - self.modeValue.isHidden = false - self.modeLabel.removeConstraints().alignParentTop(withMargin: self.form_margin).matchParentSideBorders(insetedByDx: self.form_margin).done() - self.modeValue.removeConstraints().alignUnder(view: self.modeLabel, withMargin: self.form_margin).matchParentSideBorders(insetedByDx: self.form_margin).done() - self.modeLabel.height(20).done() - self.modeValue.height(38).done() - } - } - - override func viewWillDisappear(_ animated: Bool) { - IQKeyboardManager.shared().isEnabled = false - super.viewWillDisappear(animated) - } - - - func gotoParticipantsListSelection() { - let view: ChatConversationCreateView = self.VIEW(ChatConversationCreateView.compositeViewDescription()) - view.unfragmentCompositeDescription() - let addresses = ConferenceSchedulingViewModel.shared.selectedParticipants.value!.map { (address) in - address.address != nil ? String(address.address!.asStringUriOnly()) : "" - } - view.tableController.contactsGroup = (addresses as NSArray).mutableCopy() as? NSMutableArray - view.isForEditing = false - view.isForVoipConference = true - view.isForOngoingVoipConference = false - view.tableController.notFirstTime = true - view.isGroupChat = true - PhoneMainView.instance().changeCurrentView(view.compositeViewDescription()) - } - - @objc func resetViewModel() { - ConferenceSchedulingViewModel.shared.reset() - } -} diff --git a/Classes/Swift/Conference/Views/ConferenceWaitingRoomView.swift b/Classes/Swift/Conference/Views/ConferenceWaitingRoomView.swift deleted file mode 100644 index 31b2c6a85..000000000 --- a/Classes/Swift/Conference/Views/ConferenceWaitingRoomView.swift +++ /dev/null @@ -1,278 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import linphonesw - - -@objc class ConferenceWaitingRoomView: UIViewController, UICompositeViewDelegate { // Replaces CallView - - // Layout constants - let common_margin = 17.0 - let switch_camera_button_size = 35 - let switch_camera_button_margins = 7.0 - let content_inset = 12.0 - let button_spacing = 15.0 - let center_view_corner_radius = 20.0 - let button_width = 150 - let layout_picker_inset = UIEdgeInsets(top: 8, left: 8, bottom: 8, right: 8) - - - var audioRoutesView : AudioRoutesView? = nil - let subject = StyledLabel(VoipTheme.conference_preview_subject_font) - let localVideo = UIView() - let switchCamera = UIImageView(image: UIImage(named:"voip_change_camera")?.tinted(with:.white)) - let noVideoLabel = StyledLabel(VoipTheme.conference_waiting_room_no_video_font) - - let buttonsView = UIStackView() - let cancel = FormButton(title: VoipTexts.cancel.uppercased(), backgroundStateColors: VoipTheme.primary_colors_background_gray, bold:false) - let start = FormButton(title: VoipTexts.conference_waiting_room_start_call.uppercased(), backgroundStateColors: VoipTheme.primary_colors_background) - let conferenceJoinSpinner = RotatingSpinner() - - var conferenceUrl : String? = nil - let conferenceSubject = MutableLiveData() - - let controlsView = ControlsView(showVideo: true, controlsViewModel: ConferenceWaitingRoomViewModel.sharedModel) - var layoutPicker : CallControlButton? = nil - let layoutPickerView = ConferenceLayoutPickerView(orientation: UIDevice.current.orientation) - - - static let compositeDescription = UICompositeViewDescription(ConferenceWaitingRoomView.self, statusBar: StatusBarView.self, tabBar: nil, sideMenu: SideMenuView.self, fullscreen: false, isLeftFragment: false,fragmentWith: nil) - static func compositeViewDescription() -> UICompositeViewDescription! { return compositeDescription } - func compositeViewDescription() -> UICompositeViewDescription! { return type(of: self).compositeDescription } - - override func viewDidLoad() { - super.viewDidLoad() - - - view.addSubview(subject) - subject.centerX().alignParentTop(withMargin: common_margin).done() - conferenceSubject.observe { subject in - self.subject.text = subject - } - - // Controls - view.addSubview(controlsView) - controlsView.alignParentBottom(withMargin:SharedLayoutConstants.buttons_bottom_margin).centerX().done() - - // Layoout picker - layoutPicker = CallControlButton(imageInset : layout_picker_inset,buttonTheme: VoipTheme.conf_waiting_room_layout_picker, onClickAction: { - ConferenceWaitingRoomViewModel.sharedModel.showLayoutPicker.value = ConferenceWaitingRoomViewModel.sharedModel.showLayoutPicker.value != true - }) - view.addSubview(layoutPicker!) - layoutPicker!.alignParentBottom(withMargin:SharedLayoutConstants.buttons_bottom_margin).alignParentRight(withMargin:SharedLayoutConstants.buttons_bottom_margin).done() - - ConferenceWaitingRoomViewModel.sharedModel.joinLayout.readCurrentAndObserve { layout in - var icon = "" - switch (layout!) { - case .Grid: icon = "voip_conference_mosaic"; break - case .ActiveSpeaker: icon = "voip_conference_active_speaker"; break - case .AudioOnly: - icon = "voip_conference_audio_only" - ConferenceWaitingRoomViewModel.sharedModel.isVideoEnabled.value = false - break - } - self.layoutPicker?.applyTintedIcons(tintedIcons: [UIButton.State.normal.rawValue : TintableIcon(name: icon ,tintColor: LightDarkColor(.white,.white))]) - } - - ConferenceWaitingRoomViewModel.sharedModel.isVideoEnabled.observe { video in - if (video == true && ConferenceWaitingRoomViewModel.sharedModel.joinLayout.value == .AudioOnly) { - ConferenceWaitingRoomViewModel.sharedModel.joinLayout.value = .ActiveSpeaker - } - } - - view.addSubview(layoutPickerView) - - ConferenceWaitingRoomViewModel.sharedModel.showLayoutPicker.readCurrentAndObserve { show in - self.layoutPicker?.isSelected = show == true - self.layoutPickerView.isHidden = show != true - if (show == true) { - self.view.bringSubviewToFront(self.layoutPickerView) - } - } - - self.view.onClick{ - if (ConferenceWaitingRoomViewModel.sharedModel.showLayoutPicker.value == true) { - ConferenceWaitingRoomViewModel.sharedModel.showLayoutPicker.value = false - } - } - - // Form buttons - buttonsView.axis = .horizontal - buttonsView.spacing = button_spacing - view.addSubview(buttonsView) - buttonsView.alignAbove(view: controlsView,withMargin: SharedLayoutConstants.buttons_bottom_margin).centerX().done() - - start.width(button_width).done() - cancel.width(button_width).done() - - buttonsView.addArrangedSubview(cancel) - buttonsView.addArrangedSubview(start) - - cancel.onClick { - Core.get().calls.forEach { call in - if ([Call.State.OutgoingInit, Call.State.OutgoingRinging, Call.State.OutgoingProgress].contains(call.state)) { - CallManager.instance().terminateCall(call: call.getCobject) - } - } - ConferenceWaitingRoomViewModel.sharedModel.joinInProgress.value = false - PhoneMainView.instance().popView(self.compositeViewDescription()) - } - - start.onClick { - ConferenceWaitingRoomViewModel.sharedModel.joinInProgress.value = true - self.conferenceUrl.map{ CallManager.instance().startCall(addr: $0, isSas: false, isVideo: ConferenceWaitingRoomViewModel.sharedModel.isVideoEnabled.value!, isConference: true) } - } - - ConferenceWaitingRoomViewModel.sharedModel.joinInProgress.readCurrentAndObserve { joining in - self.start.isEnabled = joining != true - //self.localVideo.isHidden = joining == true (UX question as video window goes black by the core, better black or hidden ?) - self.noVideoLabel.isHidden = joining == true - self.layoutPicker?.isHidden = joining == true - if (Core.get().config?.getBool(section: "app", key: "disable_video_feature", defaultValue: false) == true) { - self.layoutPicker!.isHidden = true - } - if (joining == true) { - self.view.addSubview(self.conferenceJoinSpinner) - self.conferenceJoinSpinner.square(AbstractIncomingOutgoingCallView.spinner_size).center().done() - self.conferenceJoinSpinner.startRotation() - self.controlsView.isHidden = true - } else { - self.conferenceJoinSpinner.stopRotation() - self.conferenceJoinSpinner.removeFromSuperview() - self.controlsView.isHidden = false - } - } - - - // localVideo view - localVideo.layer.cornerRadius = center_view_corner_radius - localVideo.clipsToBounds = true - localVideo.contentMode = .scaleAspectFill - localVideo.backgroundColor = .black - self.view.addSubview(localVideo) - localVideo.addSubview(switchCamera) - switchCamera.contentMode = .scaleAspectFit - switchCamera.onClick { - Core.get().videoPreviewEnabled = false - Core.get().toggleCamera() - Core.get().nativePreviewWindow = self.localVideo - Core.get().videoPreviewEnabled = true - } - - self.view.addSubview(noVideoLabel) - noVideoLabel.center().done() - - ConferenceWaitingRoomViewModel.sharedModel.isVideoEnabled.readCurrentAndObserve { videoEnabled in - Core.get().videoPreviewEnabled = videoEnabled == true - self.localVideo.isHidden = videoEnabled != true - self.switchCamera.isHidden = videoEnabled != true - self.noVideoLabel.isHidden = videoEnabled == true - } - - - // Audio Routes - audioRoutesView = AudioRoutesView() - view.addSubview(audioRoutesView!) - audioRoutesView!.alignBottomWith(otherView: controlsView).done() - ConferenceWaitingRoomViewModel.sharedModel.audioRoutesSelected.readCurrentAndObserve { (audioRoutesSelected) in - self.audioRoutesView!.isHidden = audioRoutesSelected != true - } - audioRoutesView!.alignAbove(view:controlsView,withMargin:SharedLayoutConstants.buttons_bottom_margin).centerX().done() - - - layoutRotatableElements() - - UIDeviceBridge.displayModeSwitched.readCurrentAndObserve { _ in - self.view.backgroundColor = VoipTheme.voipBackgroundColor.get() - } - - } - - func layoutRotatableElements() { - layoutPickerView.removeConstraints().done() - localVideo.removeConstraints().done() - switchCamera.removeConstraints().done() - if ([.landscapeLeft, .landscapeRight].contains( UIDevice.current.orientation)) { - layoutPickerView.alignAbove(view:layoutPicker!,withMargin:button_spacing).alignVerticalCenterWith(layoutPicker!).done() - localVideo.matchParentSideBorders().alignParentBottom().alignParentTop().done() - localVideo.layer.cornerRadius = 0 - switchCamera.alignParentTop(withMargin: switch_camera_button_margins).alignParentRight(withMargin: switch_camera_button_margins + (UIDevice.hasNotch() && UIDevice.current.orientation == .landscapeRight ? 30.0 : 0.0)).square(switch_camera_button_size).done() - } else { - layoutPickerView.alignAbove(view:layoutPicker!,withMargin:button_spacing).alignVerticalCenterWith(layoutPicker!).done() - localVideo.matchParentSideBorders(insetedByDx: content_inset).alignAbove(view:buttonsView,withMargin:SharedLayoutConstants.buttons_bottom_margin).alignUnder(view: subject,withMargin: common_margin).done() - localVideo.layer.cornerRadius = center_view_corner_radius - switchCamera.alignParentTop(withMargin: switch_camera_button_margins).alignParentRight(withMargin: switch_camera_button_margins).square(switch_camera_button_size).done() - } - view.sendSubviewToBack(localVideo) - } - - override func didRotate(from fromInterfaceOrientation: UIInterfaceOrientation) { - super.didRotate(from: fromInterfaceOrientation) - self.layoutRotatableElements() - Core.get().videoPreviewEnabled = ConferenceWaitingRoomViewModel.sharedModel.isVideoEnabled.value == true - } - - override func willRotate(to toInterfaceOrientation: UIInterfaceOrientation, duration: TimeInterval) { - Core.get().videoPreviewEnabled = false - } - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(true) - ConferenceWaitingRoomViewModel.sharedModel.audioRoutesSelected.value = false - ConferenceWaitingRoomViewModel.sharedModel.reset() - Core.get().nativePreviewWindow = localVideo - Core.get().videoPreviewEnabled = ConferenceWaitingRoomViewModel.sharedModel.isVideoEnabled.value == true - } - - override func viewWillDisappear(_ animated: Bool) { - ControlsViewModel.shared.fullScreenMode.value = false - Core.get().nativePreviewWindow = nil - Core.get().videoPreviewEnabled = false - ConferenceWaitingRoomViewModel.sharedModel.joinInProgress.value = false - super.viewWillDisappear(animated) - } - - @objc func setDetails(subject:String, url:String, conferenceInfo:OpaquePointer) { - self.conferenceSubject.value = subject - self.conferenceUrl = url - let confInfo = ConferenceInfo.getSwiftObject(cObject: conferenceInfo) - - var imSpeaker = false - var inList = false - confInfo.participantInfos.forEach { participant in - if participant.address != nil && participant.address!.isMe() && (participant.role == .Speaker || participant.role == .Unknown) { - imSpeaker = true - inList = true - } else if participant.address != nil && participant.address!.isMe() && participant.role == .Listener { - inList = true - } - } - - if imSpeaker || !inList { - self.noVideoLabel.text = VoipTexts.conference_waiting_room_video_disabled - } else { - self.noVideoLabel.text = VoipTexts.conference_you_are_listener - } - - ControlsViewModel.shared.imSpeaker = imSpeaker || !inList - } - -} diff --git a/Classes/Swift/Conference/Views/ICSBubbleView.swift b/Classes/Swift/Conference/Views/ICSBubbleView.swift deleted file mode 100644 index fd9676193..000000000 --- a/Classes/Swift/Conference/Views/ICSBubbleView.swift +++ /dev/null @@ -1,288 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import UIKit -import Foundation -import linphonesw -import EventKit -import EventKitUI - -@objc class ICSBubbleView: UIView, EKEventEditViewDelegate { - - - let corner_radius = 7.0 - let border_width = 2.0 - let rows_spacing = 6.0 - let inner_padding = 8.0 - let forward_reply_title_height = 10.0 - let indicator_y = 3.0 - let share_size = 25 - let join_share_width = 150.0 - - let inviteTitle = StyledLabel(VoipTheme.conference_invite_title_font, VoipTexts.conference_invite_title) - let inviteCancelled = StyledLabel(VoipTheme.conference_cancelled_title_font, VoipTexts.conference_cancel_title) - let inviteUpdated = StyledLabel(VoipTheme.conference_updated_title_font, VoipTexts.conference_update_title) - let inviteBroadcastTitle = StyledLabel(VoipTheme.conference_invite_title_font, VoipTexts.conference_invite_broadcast_title) - let inviteBroadcastCancelled = StyledLabel(VoipTheme.conference_cancelled_title_font, VoipTexts.conference_cancel_broadcast_title) - let inviteBroadcastUpdated = StyledLabel(VoipTheme.conference_updated_title_font, VoipTexts.conference_update_broadcast_title) - - let subject = StyledLabel(VoipTheme.conference_invite_subject_font) - let participants = StyledLabel(VoipTheme.conference_invite_desc_font) - let date = StyledLabel(VoipTheme.conference_invite_desc_font) - let timeDuration = StyledLabel(VoipTheme.conference_invite_desc_font) - let descriptionTitle = StyledLabel(VoipTheme.conference_invite_desc_title_font, VoipTexts.conference_description_title) - let descriptionValue = StyledLabel(VoipTheme.conference_invite_desc_font) - let joinShare = UIStackView() - let join = FormButton(title:VoipTexts.conference_invite_join.uppercased(), backgroundStateColors: VoipTheme.button_green_background) - let share = UIImageView(image:UIImage(named:"voip_export")?.tinted(with: VoipTheme.primaryTextColor.get())) - - var isBroadcast = false - var isMe = false - - var conferenceData: ScheduledConferenceData? = nil { - didSet { - if let data = conferenceData { - isBroadcast = data.conferenceInfo.participantInfos.filter({$0.role == .Speaker}).count != 0 && data.conferenceInfo.participantInfos.filter({$0.role == .Listener}).count != 0 - subject.text = data.subject.value - data.conferenceInfo.participantInfos.forEach { participant in - if participant.address != nil && participant.address!.isMe() { - isMe = true - } - } - - participants.text = VoipTexts.conference_invite_participants_count.replacingOccurrences(of: "%d", with: String(data.conferenceInfo.participants.count + (isMe ? 0 : 1))) - if isBroadcast && participants.text != nil { - var isMeSpeaker = false - data.conferenceInfo.participantInfos.filter({$0.role == .Speaker}).forEach { participant in - if isMe && participant.address != nil && participant.address!.isMe() { - isMeSpeaker = true - } - } - if isMeSpeaker || !isMe { - participants.text! += " (" + VoipTexts.conference_you_are_speaker + ")" - } - } - participants.addIndicatorIcon(iconName: "conference_schedule_participants_default",padding : 0.0, y: -indicator_y, trailing: false) - date.text = TimestampUtils.dateToString(date: data.rawDate) - date.addIndicatorIcon(iconName: "conference_schedule_calendar_default", padding: 0.0, y:-indicator_y, trailing:false) - timeDuration.text = "\(data.time.value)" + (data.duration.value != nil ? " ( \(data.duration.value) )" : "") - timeDuration.addIndicatorIcon(iconName: "conference_schedule_time_default",padding : 0.0, y: -indicator_y, trailing: false) - descriptionTitle.isHidden = data.description.value == nil || data.description.value!.count == 0 - descriptionValue.isHidden = descriptionTitle.isHidden - descriptionValue.text = data.description.value - if isBroadcast { - inviteTitle.isHidden = true - inviteCancelled.isHidden = true - inviteUpdated.isHidden = true - inviteBroadcastTitle.isHidden = [.Cancelled,.Updated].contains(data.conferenceInfo.state) - inviteBroadcastCancelled.isHidden = data.conferenceInfo.state != .Cancelled - inviteBroadcastUpdated.isHidden = data.conferenceInfo.state != .Updated - } else { - inviteTitle.isHidden = [.Cancelled,.Updated].contains(data.conferenceInfo.state) - inviteCancelled.isHidden = data.conferenceInfo.state != .Cancelled - inviteUpdated.isHidden = data.conferenceInfo.state != .Updated - inviteBroadcastTitle.isHidden = true - inviteBroadcastCancelled.isHidden = true - inviteBroadcastUpdated.isHidden = true - } - - join.isEnabled = data.isConferenceCancelled.value != true - } - } - } - - init() { - super.init(frame:.zero) - - layer.cornerRadius = corner_radius - clipsToBounds = true - UIDeviceBridge.displayModeSwitched.readCurrentAndObserve { _ in - self.backgroundColor = VoipTheme.chatBubbleBGColor.get() - } - - let rows = UIStackView() - rows.axis = .vertical - rows.spacing = rows_spacing - - addSubview(rows) - - rows.addArrangedSubview(inviteTitle) - rows.addArrangedSubview(inviteCancelled) - rows.addArrangedSubview(inviteUpdated) - rows.addArrangedSubview(inviteBroadcastTitle) - rows.addArrangedSubview(inviteBroadcastCancelled) - rows.addArrangedSubview(inviteBroadcastUpdated) - rows.addArrangedSubview(subject) - rows.addArrangedSubview(participants) - rows.addArrangedSubview(date) - rows.addArrangedSubview(timeDuration) - rows.addArrangedSubview(descriptionTitle) - rows.addArrangedSubview(descriptionValue) - - descriptionValue.numberOfLines = 5 - - - addSubview(joinShare) - joinShare.axis = .horizontal - joinShare.spacing = rows_spacing - joinShare.addArrangedSubview(share) - share.square(share_size).done() - joinShare.addArrangedSubview(join) - rows.matchParentSideBorders(insetedByDx: inner_padding).alignParentTop(withMargin: inner_padding).done() - joinShare.alignParentBottom(withMargin: inner_padding).width(join_share_width).alignParentRight(withMargin: inner_padding).done() - - join.onClick { - let view : ConferenceWaitingRoomView = self.VIEW(ConferenceWaitingRoomView.compositeViewDescription()) - view.setDetails(subject: (self.conferenceData?.subject.value)!, url: (self.conferenceData?.address.value)!, conferenceInfo: (self.conferenceData?.conferenceInfo.getCobject)!) - PhoneMainView.instance().changeCurrentView(view.compositeViewDescription()) - } - - share.onClick { - let eventStore = EKEventStore() - eventStore.requestAccess( to: EKEntityType.event, completion:{(granted, error) in - DispatchQueue.main.async { - if (granted) && (error == nil) { - let event = EKEvent(eventStore: eventStore) - event.title = self.conferenceData?.subject.value - event.startDate = self.conferenceData?.rawDate - if let duration = self.conferenceData?.conferenceInfo.duration, duration > 0 { - event.endDate = event.startDate.addingTimeInterval(TimeInterval(duration*60)) - } else { - event.endDate = event.startDate.addingTimeInterval(TimeInterval(3600)) - } - event.calendar = eventStore.defaultCalendarForNewEvents - if let description = self.conferenceData?.description.value, description.count > 0 { - event.notes = description + "\n\n" - } - event.notes = (event.notes != nil ? event.notes! : "") + "\(VoipTexts.call_action_participants_list):\n\(self.conferenceData?.participantsExpanded.value)" - if let urlString = self.conferenceData?.conferenceInfo.uri?.asStringUriOnly() { - event.url = URL(string:urlString) - } - let addController = EKEventEditViewController() - addController.event = event - addController.eventStore = eventStore - PhoneMainView.instance().present(addController, animated: false) - addController.editViewDelegate = self; - } else { - VoipDialog.toast(message: VoipTexts.conference_unable_to_share_via_calendar) - } - } - }) - } - } - - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - - @objc func setFromChatMessage(cmessage: OpaquePointer) { - let message = ChatMessage.getSwiftObject(cObject: cmessage) - message.contents.forEach { content in - if (content.isIcalendar) { - if let conferenceInfo = try? Factory.Instance.createConferenceInfoFromIcalendarContent(content: content) { - self.conferenceData = ScheduledConferenceData(conferenceInfo: conferenceInfo) - } - } - } - } - @objc static func isConferenceInvitationMessage(cmessage: OpaquePointer) -> Bool { - var isConferenceInvitationMessage = false - let message = ChatMessage.getSwiftObject(cObject: cmessage) - message.contents.forEach { content in - if (content.isIcalendar) { - isConferenceInvitationMessage = true - } - } - return isConferenceInvitationMessage - } - - @objc func setLayoutConstraints(view:UIView) { - matchBordersWith(view: view, insetedByDx: inner_padding).done() - } - - @objc func updateTopLayoutConstraints(view:UIView, replyOrForward: Bool) { - updateTopBorderWith(view: view, inset: inner_padding + (replyOrForward ? forward_reply_title_height : 0.0)).done() - } - - func eventEditViewController(_ controller: EKEventEditViewController, didCompleteWith action: EKEventEditViewAction) { - controller.dismiss(animated: true, completion: nil) - } - - @objc static func getSubjectFromContent(cmessage: OpaquePointer) -> String { - let message = ChatMessage.getSwiftObject(cObject: cmessage) - var subject = "" - message.contents.forEach { content in - if (content.isIcalendar) { - if let conferenceInfo = try? Factory.Instance.createConferenceInfoFromIcalendarContent(content: content) { - subject = conferenceInfo.subject! - } - } - } - return subject - } - - @objc static func getConferenceInfo(cmessage: OpaquePointer) -> OpaquePointer? { - let message = ChatMessage.getSwiftObject(cObject: cmessage) - var result : OpaquePointer? = nil - message.contents.forEach { content in - if (content.isIcalendar) { - if let conferenceInfo = try? Factory.Instance.createConferenceInfoFromIcalendarContent(content: content) { - result = conferenceInfo.getCobject - } - } - } - return result - } - - @objc static func getConferenceSummary(cmessage: OpaquePointer) -> String? { - let message = ChatMessage.getSwiftObject(cObject: cmessage) - var subject:String? = nil - message.contents.forEach { content in - if (content.isIcalendar) { - if let conferenceInfo = try? Factory.Instance.createConferenceInfoFromIcalendarContent(content: content) { - subject = conferenceInfo.state == .New ? VoipTexts.conference_invite_title + conferenceInfo.subject! : - conferenceInfo.state == .Updated ? VoipTexts.conference_update_title + conferenceInfo.subject! : - VoipTexts.conference_cancel_title + conferenceInfo.subject! - } - } - } - return subject - } - - @objc static func getDescriptionHeightFromContent(cmessage: OpaquePointer) -> CGFloat { - let message = ChatMessage.getSwiftObject(cObject: cmessage) - var height = 0.0 - message.contents.forEach { content in - if (content.isIcalendar) { - if let conferenceInfo = try? Factory.Instance.createConferenceInfoFromIcalendarContent(content: content) { - let description = NSString(string: conferenceInfo.description!) - if (description.length > 0) { - let dummyTitle = StyledLabel(VoipTheme.conference_invite_desc_title_font, VoipTexts.conference_description_title) - let dummyLabel = StyledLabel(VoipTheme.conference_invite_desc_font) - let rect = CGSize(width: CGFloat(CONFERENCE_INVITATION_WIDTH-80), height: CGFloat.greatestFiniteMagnitude) - height = dummyTitle.intrinsicContentSize.height + description.boundingRect(with: rect, options: [.usesLineFragmentOrigin, .usesFontLeading], attributes: [NSAttributedString.Key.font: dummyLabel.font!], context: nil).height - } - } - } - } - return height - } - -} diff --git a/Classes/Swift/Conference/Views/ScheduledConferencesCell.swift b/Classes/Swift/Conference/Views/ScheduledConferencesCell.swift deleted file mode 100644 index 7cc4d6af2..000000000 --- a/Classes/Swift/Conference/Views/ScheduledConferencesCell.swift +++ /dev/null @@ -1,304 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import linphonesw - -class ScheduledConferencesCell: UITableViewCell { - - let corner_radius = 7.0 - let border_width = 2.0 - static let button_size = 40 - let delete_checkbox_margin = 5 - - let clockIcon = UIImageView() - let timeDuration = StyledLabel(VoipTheme.conference_invite_desc_font) - let organiser = StyledLabel(VoipTheme.conference_invite_desc_font) - let subject = StyledLabel(VoipTheme.conference_list_subject_font) - let cancelledLabel = StyledLabel(VoipTheme.conference_cancelled_title_font) - let participantsIcon = UIImageView() - let participantsGuestIcon = UIImageView() - let participantsTitle = StyledLabel(VoipTheme.conference_invite_participant_title_font) - let participants = StyledLabel(VoipTheme.conference_invite_desc_font) - let participantsGuestTitle = StyledLabel(VoipTheme.conference_invite_participant_title_font) - let participantsGuest = StyledLabel(VoipTheme.conference_invite_desc_font) - let infoConf = UIButton() - - let descriptionTitle = StyledLabel(VoipTheme.conference_list_address_desc_font, VoipTexts.conference_description_title) - let descriptionValue = StyledLabel(VoipTheme.conference_list_address_desc_font) - var urlTitle = StyledLabel(VoipTheme.conference_list_address_desc_font) - let urlValue = StyledLabel(VoipTheme.conference_scheduling_font) - let copyLink = CallControlButton(width:button_size,height:button_size,buttonTheme: VoipTheme.scheduled_conference_action("voip_copy")) - let joinConf = FormButton(title:VoipTexts.conference_invite_join.uppercased(), backgroundStateColors: VoipTheme.button_green_background) - let deleteConf = CallControlButton(width:button_size,height:button_size,buttonTheme: VoipTheme.scheduled_conference_action("voip_delete")) - let editConf = CallControlButton(width:button_size,height:button_size,buttonTheme: VoipTheme.scheduled_conference_action("voip_edit")) - var owningTableView : UITableView? = nil - let joinEditDelete = UIStackView() - let expandedRows = UIStackView() - let selectionCheckBox = StyledCheckBox() - let myContentView = UIView() - - var isBroadcast = false - - var conferenceData: ScheduledConferenceData? = nil { - didSet { - if let data = conferenceData { - isBroadcast = data.conferenceInfo.participantInfos.filter({$0.role == .Speaker}).count != 0 && data.conferenceInfo.participantInfos.filter({$0.role == .Listener}).count != 0 - timeDuration.text = "\(data.time.value)"+(data.duration.value != nil ? " (\(data.duration.value))" : "") - organiser.text = VoipTexts.conference_schedule_organizer+data.organizer.value! - subject.text = (isBroadcast ? VoipTexts.conference_scheduled_title_broadcast_cell : VoipTexts.conference_scheduled_title_meeting_cell) + data.subject.value! - cancelledLabel.text = data.isConferenceCancelled.value == true ? ( data.canEdit.value == true ? VoipTexts.conference_scheduled_cancelled_by_me: VoipTexts.conference_scheduled_cancelled_by_organizer) : nil - cancelledLabel.isHidden = data.isConferenceCancelled.value != true - descriptionValue.text = data.description.value != nil ? data.description.value! : "" - urlValue.text = data.address.value! - self.joinConf.isHidden = data.isConferenceCancelled.value == true - self.editConf.isHidden = data.canEdit.value != true || data.isConferenceCancelled.value == true - self.urlTitle.isHidden = data.isConferenceCancelled.value == true - self.urlValue.isHidden = data.isConferenceCancelled.value == true - self.copyLink.isHidden = data.isConferenceCancelled.value == true - data.expanded.readCurrentAndObserve { expanded in - self.myContentView.backgroundColor = - data.conferenceInfo.state == .Cancelled ? VoipTheme.voip_conference_cancelled_bg_color : - data.isFinished ? VoipTheme.backgroundColor3.get() : VoipTheme.backgroundColor4.get() - self.myContentView.layer.borderWidth = expanded == true ? 2.0 : 0.0 - self.descriptionTitle.isHidden = expanded != true || self.descriptionValue.text?.count == 0 - self.descriptionValue.isHidden = expanded != true || self.descriptionValue.text?.count == 0 - self.infoConf.isSelected = expanded == true - self.participantsTitle.text = self.isBroadcast ? VoipTexts.conference_scheduled_title_speakers_cell : VoipTexts.conference_scheduled_title_participant_cell - self.participantsGuestTitle.text = VoipTexts.conference_scheduled_title_guests_cell - self.participantsTitle.isHidden = expanded != true - self.participants.text = expanded == true ? data.participantsExpanded.value : data.participantsShort.value - self.participantsGuest.text = data.participantsGuestExpanded.value - self.participants.numberOfLines = expanded == true ? 10 : 2 - self.participantsGuest.numberOfLines = expanded == true ? 10 : 2 - self.expandedRows.isHidden = expanded != true - self.joinEditDelete.isHidden = expanded != true - if let myAddress = Core.get().defaultAccount?.params?.identityAddress { - self.editConf.isHidden = expanded != true || data.conferenceInfo.organizer?.weakEqual(address2: myAddress) != true || data.conferenceInfo.state == .Cancelled - } else { - self.editConf.isHidden = true - } - - if expanded != nil && expanded! { - self.participantsTitle.removeConstraints().alignUnder(view: self.subject,withMargin: 10).toRightOf(self.participantsIcon,withLeftMargin:10).toLeftOf(self.infoConf,withRightMargin: 15).done() - self.participants.removeConstraints().alignUnder(view: self.participantsTitle, withMargin: 4).toRightOf(self.participantsIcon,withLeftMargin:10).toLeftOf(self.infoConf,withRightMargin: 15).done() - - if self.isBroadcast { - self.participantsGuestIcon.removeConstraints().alignUnder(view: self.participants,withMargin: 5).square(25).alignParentLeft(withMargin: 10).done() - self.participantsGuestIcon.isHidden = false - - self.participantsGuestTitle.removeConstraints().alignUnder(view: self.participants,withMargin: 10).toRightOf(self.participantsGuestIcon,withLeftMargin:10).toLeftOf(self.infoConf,withRightMargin: 15).done() - self.participantsGuestTitle.isHidden = false - - self.participantsGuest.removeConstraints().alignUnder(view: self.participantsGuestTitle, withMargin: 4).toRightOf(self.participantsGuestIcon,withLeftMargin:10).toLeftOf(self.infoConf,withRightMargin: 15).done() - self.participantsGuest.isHidden = false - } - } else { - self.participants.removeConstraints().alignUnder(view: self.subject,withMargin: 10).toRightOf(self.participantsIcon,withLeftMargin:10).toLeftOf(self.infoConf,withRightMargin: 15).done() - self.participantsGuestIcon.isHidden = true - self.participantsGuestTitle.isHidden = true - self.participantsGuest.isHidden = true - } - - self.isBroadcast ? self.expandedRows.removeConstraints().alignUnder(view: self.participantsGuest,withMargin: 15).matchParentSideBorders(insetedByDx:10).done() : self.expandedRows.removeConstraints().alignUnder(view: self.participants,withMargin: 15).matchParentSideBorders(insetedByDx:10).done() - - self.urlTitle.text = self.isBroadcast ? VoipTexts.conference_schedule_address_broadcast_title : VoipTexts.conference_schedule_address_title - - self.joinEditDelete.removeConstraints().alignUnder(view: self.expandedRows,withMargin: 10).alignParentRight(withMargin: 10).done() - if (expanded == true) { - self.joinEditDelete.alignParentBottom(withMargin: 10).done() - } else { - self.participants.alignParentBottom(withMargin: 10).done() - } - self.selectionCheckBox.liveValue = data.selectedForDeletion - } - } - } - } - - override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { - super.init(style: style, reuseIdentifier: reuseIdentifier) - - contentView.addSubview(myContentView) - contentView.backgroundColor = .clear - backgroundColor = .clear - myContentView.layer.cornerRadius = corner_radius - myContentView.clipsToBounds = true - myContentView.backgroundColor = VoipTheme.header_background_color - myContentView.layer.borderColor = VoipTheme.primary_color.cgColor - myContentView.matchParentDimmensions(insetedBy: UIEdgeInsets(top: 5,left: 0,bottom: 5,right: 0)).done() - - myContentView.addSubview(clockIcon) - clockIcon.alignParentTop(withMargin: 10).square(20).alignParentLeft(withMargin: 10).done() - - myContentView.addSubview(timeDuration) - timeDuration.alignParentTop(withMargin: 10).toRightOf(clockIcon,withLeftMargin:10).alignHorizontalCenterWith(clockIcon).done() - - myContentView.addSubview(organiser) - organiser.alignParentTop(withMargin: 10).toRightOf(timeDuration, withLeftMargin:10).alignParentRight(withMargin:10).alignHorizontalCenterWith(clockIcon).done() - - - let subjectCancel = UIStackView() - subjectCancel.axis = .vertical - myContentView.addSubview(subjectCancel) - subjectCancel.alignUnder(view: timeDuration,withMargin: 10).matchParentSideBorders(insetedByDx: 10.0).done() - - subjectCancel.addArrangedSubview(cancelledLabel) - subjectCancel.addArrangedSubview(subject) - - myContentView.addSubview(participantsIcon) - participantsIcon.alignUnder(view: subject,withMargin: 5).square(25).alignParentLeft(withMargin: 10).done() - - //infoConf.onClick { - contentView.onClick { - self.conferenceData?.toggleExpand() - self.owningTableView?.reloadData() - } - myContentView.addSubview(infoConf) - infoConf.imageView?.contentMode = .scaleAspectFit - infoConf.alignUnder(view: subject,withMargin: 5).square(25).alignParentRight(withMargin: 10).done() - infoConf.applyTintedIcons(tintedIcons: VoipTheme.conference_info_button) - - myContentView.addSubview(participantsTitle) - participantsTitle.alignUnder(view: subject,withMargin: 10).toRightOf(participantsIcon,withLeftMargin:10).toLeftOf(infoConf,withRightMargin: 15).done() - - myContentView.addSubview(participants) - participants.alignUnder(view: participantsTitle, withMargin: 10).toRightOf(participantsIcon,withLeftMargin:10).toLeftOf(infoConf,withRightMargin: 15).done() - - myContentView.addSubview(participantsGuestIcon) - participantsGuestIcon.alignUnder(view: participants,withMargin: 5).square(25).alignParentLeft(withMargin: 10).done() - participantsGuestIcon.isHidden = true - - myContentView.addSubview(participantsGuestTitle) - participantsGuestTitle.alignUnder(view: participants,withMargin: 10).toRightOf(participantsGuestIcon,withLeftMargin:10).toLeftOf(infoConf,withRightMargin: 15).done() - participantsGuestTitle.isHidden = true - - myContentView.addSubview(participantsGuest) - participantsGuest.alignUnder(view: participantsGuestTitle, withMargin: 10).toRightOf(participantsGuestIcon,withLeftMargin:10).toLeftOf(infoConf,withRightMargin: 15).done() - participantsGuest.isHidden = true - - expandedRows.axis = .vertical - expandedRows.spacing = 10 - myContentView.addSubview(expandedRows) - expandedRows.alignUnder(view: participants,withMargin: 15).matchParentSideBorders(insetedByDx:10).done() - - expandedRows.addArrangedSubview(descriptionTitle) - expandedRows.addArrangedSubview(descriptionValue) - - expandedRows.addArrangedSubview(urlTitle) - let urlAndCopy = UIStackView() - urlAndCopy.addArrangedSubview(urlValue) - urlValue.backgroundColor = .white - self.urlValue.isEnabled = false - urlValue.alignParentLeft().done() - urlAndCopy.addArrangedSubview(copyLink) - copyLink.toRightOf(urlValue,withLeftMargin: 10).done() - expandedRows.addArrangedSubview(urlAndCopy) - copyLink.onClick { - UIPasteboard.general.string = self.conferenceData?.address.value! - self.isBroadcast ? VoipDialog.toast(message: VoipTexts.conference_schedule_address_broadcast_copied_to_clipboard) : VoipDialog.toast(message: VoipTexts.conference_schedule_address_copied_to_clipboard) - } - - joinEditDelete.axis = .horizontal - joinEditDelete.spacing = 10 - joinEditDelete.distribution = .equalSpacing - - myContentView.addSubview(joinEditDelete) - joinEditDelete.alignUnder(view: expandedRows,withMargin: 10).alignParentRight(withMargin: 10).done() - - - joinEditDelete.addArrangedSubview(joinConf) - joinConf.width(150).done() - joinConf.onClick { - let view : ConferenceWaitingRoomView = self.VIEW(ConferenceWaitingRoomView.compositeViewDescription()) - view.setDetails(subject: (self.conferenceData?.subject.value)!, url: (self.conferenceData?.address.value)!, conferenceInfo: (self.conferenceData?.conferenceInfo.getCobject)!) - PhoneMainView.instance().changeCurrentView(view.compositeViewDescription()) - } - - joinEditDelete.addArrangedSubview(editConf) - editConf.onClick { - guard let confData = self.conferenceData else { - Log.e("Invalid conference date, unable to edit") - VoipDialog.toast(message: VoipTexts.conference_edit_error) - return - } - ConferenceSchedulingViewModel.shared.reset() - let seconds = confData.conferenceInfo.dateTime % 86400 - ConferenceSchedulingViewModel.shared.scheduledDate.value = Date(timeIntervalSince1970:TimeInterval(confData.conferenceInfo.dateTime - seconds)) - ConferenceSchedulingViewModel.shared.scheduledTime.value = Date(timeIntervalSince1970:TimeInterval(seconds)) - ConferenceSchedulingViewModel.shared.description.value = confData.description.value - ConferenceSchedulingViewModel.shared.subject.value = confData.subject.value - ConferenceSchedulingViewModel.shared.scheduledDuration.value = ConferenceSchedulingViewModel.durationList.firstIndex(where: {$0.value == confData.conferenceInfo.duration}) - ConferenceSchedulingViewModel.shared.scheduleForLater.value = true - ConferenceSchedulingViewModel.shared.selectedParticipants.value = [] - do { - try confData.conferenceInfo.participants.forEach { - ConferenceSchedulingViewModel.shared.selectedParticipants.value?.append(try Factory.Instance.createParticipantInfo(address: $0)) - ConferenceSchedulingViewModel.shared.selectedParticipants.value?.last?.role = .Listener - } - } catch { - Log.e("[ScheduleFromGroupChat] unable to create ParticipantInfo \(error)") - } - ConferenceSchedulingViewModel.shared.existingConfInfo.value = confData.conferenceInfo - // TOODO TimeZone (as Android 14.6.2022) ConferenceSchedulingViewModel.shared.scheduledTimeZone.value = self.conferenceData?.timezone - let view : ConferenceSchedulingView = self.VIEW(ConferenceSchedulingView.compositeViewDescription()) - PhoneMainView.instance().changeCurrentView(view.compositeViewDescription()) - } - - joinEditDelete.addArrangedSubview(deleteConf) - deleteConf.onClick { - self.askConfirmationTodeleteEntry() - } - myContentView.addSubview(selectionCheckBox) - selectionCheckBox.alignParentRight(withMargin: delete_checkbox_margin).alignUnder(view:organiser, withMargin: delete_checkbox_margin).done() - ScheduledConferencesViewModel.shared.editionEnabled.readCurrentAndObserve { editing in - self.selectionCheckBox.isHidden = editing != true - } - onLongClick { - ScheduledConferencesViewModel.shared.editionEnabled.value = true - } - UIDeviceBridge.displayModeSwitched.readCurrentAndObserve { _ in - self.clockIcon.image = UIImage(named: "conference_schedule_time_default")?.tinted(with: VoipTheme.voipDrawableColor.get()) - self.participantsIcon.image = UIImage(named: "conference_schedule_participants_default")?.tinted(with: VoipTheme.voipDrawableColor.get()) - self.participantsGuestIcon.image = UIImage(named: "conference_schedule_participants_default")?.tinted(with: VoipTheme.voipDrawableColor.get()) - } - } - - func askConfirmationTodeleteEntry() { - let delete = ButtonAttributes(text:VoipTexts.conference_info_confirm_removal_delete, action: { - self.deleteEntry() - VoipDialog.toast(message: VoipTexts.conference_info_removed) - }, isDestructive:false) - let cancel = ButtonAttributes(text:VoipTexts.cancel, action: {}, isDestructive:true) - VoipDialog(message:VoipTexts.conference_info_confirm_removal, givenButtons: [cancel,delete]).show() - } - - func deleteEntry() { - self.conferenceData?.deleteConference() - ScheduledConferencesViewModel.shared.computeConferenceInfoList() - self.owningTableView?.reloadData() - } - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - -} diff --git a/Classes/Swift/Conference/Views/ScheduledConferencesView.swift b/Classes/Swift/Conference/Views/ScheduledConferencesView.swift deleted file mode 100644 index 74e8aa20f..000000000 --- a/Classes/Swift/Conference/Views/ScheduledConferencesView.swift +++ /dev/null @@ -1,241 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import linphonesw - -@objc class ScheduledConferencesView: BackNextNavigationView, UICompositeViewDelegate, UITableViewDataSource, UITableViewDelegate { - - let conferenceListView = UITableView() - let noConference = StyledLabel(VoipTheme.empty_list_font,VoipTexts.conference_no_schedule) - let filters = UIStackView() - let selectAllButton = CallControlButton(buttonTheme:VoipTheme.nav_button("deselect_all")) - let separator = UIView() - - static let compositeDescription = UICompositeViewDescription(ScheduledConferencesView.self, statusBar: StatusBarView.self, tabBar: nil, sideMenu: SideMenuView.self, fullscreen: false, isLeftFragment: false,fragmentWith: nil) - static func compositeViewDescription() -> UICompositeViewDescription! { return compositeDescription } - func compositeViewDescription() -> UICompositeViewDescription! { return type(of: self).compositeDescription } - - override func viewDidLoad() { - - super.viewDidLoad( - backAction: { - if (ScheduledConferencesViewModel.shared.editionEnabled.value == true) { - ScheduledConferencesViewModel.shared.editionEnabled.value = false - } else { - PhoneMainView.instance().popView(self.compositeViewDescription()) - } - },nextAction: { - if (ScheduledConferencesViewModel.shared.editionEnabled.value == true) { - self.deleteSelection() - } else { - ConferenceSchedulingViewModel.shared.reset() - PhoneMainView.instance().changeCurrentView(ConferenceSchedulingView.compositeDescription) - } - }, - nextActionEnableCondition: MutableLiveData(), - title:VoipTexts.conference_scheduled) - super.titleLabel.applyStyle(VoipTheme.navigation_header_font) - - // Select all - selectAllButton.setImage(UIImage(named: "deselect_all"), for: .selected) - selectAllButton.setImage(UIImage(named: "select_all_default"), for: .normal) - topBar.addSubview(selectAllButton) - selectAllButton.toLeftOf(nextButton,withRightMargin: CGFloat(side_buttons_margin)).matchParentHeight().done() - - // Filter buttons - let showTerminated = getFilterButton(title: VoipTexts.conference_scheduled_terminated_filter) - showTerminated.onClick { - ScheduledConferencesViewModel.shared.showTerminated.value = true - } - filters.addArrangedSubview(showTerminated) - - let showScheduled = getFilterButton(title: VoipTexts.conference_scheduled_future_filter) - showScheduled.onClick { - ScheduledConferencesViewModel.shared.showTerminated.value = false - - } - filters.addArrangedSubview(showScheduled) - - ScheduledConferencesViewModel.shared.showTerminated.readCurrentAndObserve { it in - showTerminated.isSelected = it == true - showScheduled.isSelected = it != true - self.noConference.text = it != true ? VoipTexts.conference_no_schedule : VoipTexts.conference_no_terminated_schedule - ScheduledConferencesViewModel.shared.computeConferenceInfoList() - self.conferenceListView.reloadData() - self.noConference.isHidden = !ScheduledConferencesViewModel.shared.daySplitted.isEmpty - } - - self.view.addSubview(filters) - filters.spacing = 10 - filters.alignParentLeft(withMargin: 10).alignUnder(view: super.topBar,withMargin: self.form_margin).done() - - self.view.addSubview(separator) - separator.matchParentSideBorders().height(1).alignUnder(view: filters,withMargin: self.form_margin).done() - - // Conference list - - self.view.addSubview(conferenceListView) - conferenceListView.alignUnder(view: filters).done() - conferenceListView.isScrollEnabled = true - conferenceListView.dataSource = self - conferenceListView.delegate = self - conferenceListView.register(ScheduledConferencesCell.self, forCellReuseIdentifier: "ScheduledConferencesCell") - conferenceListView.allowsSelection = false - conferenceListView.rowHeight = UITableView.automaticDimension - if #available(iOS 15.0, *) { - conferenceListView.allowsFocus = false - } - conferenceListView.separatorStyle = .singleLine - conferenceListView.backgroundColor = .clear - - view.addSubview(noConference) - noConference.center().done() - - ScheduledConferencesViewModel.shared.editionEnabled.readCurrentAndObserve { editing in - if (editing == true) { - self.selectAllButton.isSelected = false - self.selectAllButton.isHidden = false - super.nextButton.applyTintedIcons(tintedIcons: VoipTheme.generic_delete_button) - super.backButton.applyTintedIcons(tintedIcons: VoipTheme.generic_cancel) - self.nextButton.isEnabled = ScheduledConferencesViewModel.shared.conferences.value?.filter{$0.selectedForDeletion.value == true}.count ?? 0 > 0 - } else { - self.selectAllButton.isHidden = true - ScheduledConferencesViewModel.shared.conferences.value?.forEach {$0.selectedForDeletion.value = false} - super.nextButton.applyTintedIcons(tintedIcons: VoipTheme.conference_create_button) - super.backButton.applyTintedIcons(tintedIcons: VoipTheme.generic_back) - self.nextButton.isEnabled = true - } - } - - self.selectAllButton.onClick { - let selectIt = !self.selectAllButton.isSelected - ScheduledConferencesViewModel.shared.conferences.value?.forEach {$0.selectedForDeletion.value = selectIt} - } - - UIDeviceBridge.displayModeSwitched.readCurrentAndObserve { _ in - self.view.backgroundColor = VoipTheme.voipBackgroundBWColor.get() - self.separator.backgroundColor = VoipTheme.separatorColor.get() - self.conferenceListView.separatorColor = .clear - self.conferenceListView.reloadData() - } - } - - func getFilterButton(title:String) -> UIButton { - let filter_button_height = 35.0 - let button = ButtonWithStateBackgrounds(backgroundStateColors: VoipTheme.button_conference_list_filter) - button.setTitle(title, for: .normal) - button.setTitleColor(.black, for: .normal) - button.setTitleColor(VoipTheme.primary_color, for: .selected) - button.height(filter_button_height).done() - button.layer.cornerRadius = filter_button_height / 2 - button.clipsToBounds = true - button.applyTitleStyle(VoipTheme.conf_list_filter_button_font) - button.width(0).done() - button.addSidePadding() - return button - } - - - override func viewWillAppear(_ animated: Bool) { - ScheduledConferencesViewModel.shared.computeConferenceInfoList() - super.viewWillAppear(animated) - self.conferenceListView.reloadData() - self.conferenceListView.removeConstraints().done() - self.conferenceListView.matchParentSideBorders(insetedByDx: 10).alignUnder(view: separator).alignParentBottom().done() - noConference.isHidden = !ScheduledConferencesViewModel.shared.daySplitted.isEmpty - super.nextButton.isEnabled = Core.get().defaultAccount != nil - ScheduledConferencesViewModel.shared.editionEnabled.value = false - } - - // TableView datasource delegate - - func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? { - let daysArray = Array(ScheduledConferencesViewModel.shared.daySplitted.keys.sorted().reversed()) - let day = daysArray[section] - return TimestampUtils.dateLongToString(date: day) - } - - func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) { - guard let header = view as? UITableViewHeaderFooterView else { return } - header.textLabel?.applyStyle(VoipTheme.conference_invite_title_font) - header.textLabel?.matchParentSideBorders().done() - } - - func numberOfSections(in tableView: UITableView) -> Int { - return ScheduledConferencesViewModel.shared.daySplitted.keys.count - } - - func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - let daysArray = Array(ScheduledConferencesViewModel.shared.daySplitted.keys.sorted().reversed()) - let day = daysArray[section] - return ScheduledConferencesViewModel.shared.daySplitted[day]!.count - } - - func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { - return UITableView.automaticDimension - } - - - func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - let cell:ScheduledConferencesCell = tableView.dequeueReusableCell(withIdentifier: "ScheduledConferencesCell") as! ScheduledConferencesCell - let daysArray = Array(ScheduledConferencesViewModel.shared.daySplitted.keys.sorted().reversed()) - let day = daysArray[indexPath.section] - guard let data = ScheduledConferencesViewModel.shared.daySplitted[day]?[indexPath.row] else { - return cell - } - cell.conferenceData = data - cell.owningTableView = tableView - data.selectedForDeletion.readCurrentAndObserve { selected in - let selectedCount = ScheduledConferencesViewModel.shared.conferences.value?.filter{$0.selectedForDeletion.value == true}.count ?? 0 - let totalCount = ScheduledConferencesViewModel.shared.conferences.value?.count ?? 0 - self.nextButton.isEnabled = ScheduledConferencesViewModel.shared.editionEnabled.value == false || selectedCount > 0 - self.selectAllButton.isSelected = selectedCount == totalCount - } - return cell - } - - - - func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) { - if editingStyle == .delete { - let cell = tableView.cellForRow(at: indexPath) as! ScheduledConferencesCell - cell.askConfirmationTodeleteEntry() - } - } - - func deleteSelection () { - let selectedCount = ScheduledConferencesViewModel.shared.conferences.value?.filter{$0.selectedForDeletion.value == true}.count ?? 0 - let delete = ButtonAttributes(text:VoipTexts.conference_info_confirm_removal_delete, action: { - ScheduledConferencesViewModel.shared.conferences.value?.forEach { - $0.deleteConference() - } - ScheduledConferencesViewModel.shared.computeConferenceInfoList() - self.conferenceListView.reloadData() - VoipDialog.toast(message: selectedCount == 1 ? VoipTexts.conference_info_removed : VoipTexts.conference_infos_removed) - ScheduledConferencesViewModel.shared.editionEnabled.value = false - }, isDestructive:false) - let cancel = ButtonAttributes(text:VoipTexts.cancel, action: {}, isDestructive:true) - VoipDialog(message:selectedCount == 1 ? VoipTexts.conference_info_confirm_removal : VoipTexts.conference_infos_confirm_removal, givenButtons: [cancel,delete]).show() - - } - -} diff --git a/Classes/Swift/ConfigManager.swift b/Classes/Swift/ConfigManager.swift deleted file mode 100644 index 37443a71a..000000000 --- a/Classes/Swift/ConfigManager.swift +++ /dev/null @@ -1,129 +0,0 @@ -/* -* Copyright (c) 2010-2020 Belledonne Communications SARL. -* -* This file is part of linphone-iphone -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see . -*/ - -import Foundation -import linphonesw - -/* -* ConfigManager is a class that manipulates the configuration of the application. -* There is only one ConfigManager by calling ConfigManager.instance(). -*/ -@objc class ConfigManager: NSObject { - static var theConfigManager: ConfigManager? - var config: Config? - let applicationKey = "app" - - @objc static func instance() -> ConfigManager { - if (theConfigManager == nil) { - theConfigManager = ConfigManager() - } - return theConfigManager! - } - - @objc func setDb(db:OpaquePointer) { - config = Config.getSwiftObject(cObject: db) - } - - //pragma mark - LPConfig Functions - @objc func lpConfigSetString(value:String, key:String, section:String) { - if (!key.isEmpty) { - config?.setString(section: section, key: key, value: value) - } - } - - @objc func lpConfigSetString(value:String, key:String) { - lpConfigSetString(value: value, key: key, section: applicationKey) - } - - @objc func lpConfigStringForKey(key:String, section:String, defaultValue:String) -> String { - if (key.isEmpty) { - return defaultValue - } - return config?.getString(section: section, key: key, defaultString: "") ?? defaultValue - } - - @objc func lpConfigStringForKey(key:String, section:String) -> String { - return lpConfigStringForKey(key: key, section: section, defaultValue: "") - } - - @objc func lpConfigStringForKey(key:String, defaultValue:String) -> String { - return lpConfigStringForKey(key: key, section: applicationKey, defaultValue: defaultValue) - } - - @objc func lpConfigStringForKey(key:String) -> String { - return lpConfigStringForKey(key: key, defaultValue: "") - } - - @objc func lpConfigSetInt(value:Int, key:String, section:String) { - if(!key.isEmpty) { - config?.setInt(section: section, key: key, value: value) - } - } - - @objc func lpConfigSetInt(value:Int, key:String) { - lpConfigSetInt(value: value, key: key, section: applicationKey) - } - - @objc func lpConfigIntForKey(key:String, section:String, defaultValue:Int) -> Int { - if (key.isEmpty) { - return defaultValue - } - return config?.getInt(section: section, key: key, defaultValue: defaultValue) ?? defaultValue - } - - @objc func lpConfigIntForKey(key:String, section:String) -> Int { - return lpConfigIntForKey(key: key, section: section, defaultValue: -1) - } - - @objc func lpConfigIntForKey(key:String, defaultValue:Int) -> Int { - return lpConfigIntForKey(key: key, section: applicationKey, defaultValue: defaultValue) - } - - @objc func lpConfigIntForKey(key:String) -> Int { - return lpConfigIntForKey(key: key, defaultValue: -1) - } - - @objc func lpConfigSetBool(value:Bool, key:String, section:String) { - lpConfigSetInt(value: value ? 1:0, key: key, section: section) - } - - @objc func lpConfigSetBool(value:Bool, key:String) { - lpConfigSetBool(value: value, key: key, section: applicationKey) - } - - @objc func lpConfigBoolForKey(key:String, section:String, defaultValue:Bool) -> Bool { - if (key.isEmpty) { - return defaultValue - } - let val = lpConfigIntForKey(key: key, section: section, defaultValue: -1) - return (val != -1) ? (val == 1) : defaultValue - } - - @objc func lpConfigBoolForKey(key:String, section:String) -> Bool { - return lpConfigBoolForKey(key: key, section: section, defaultValue: false) - } - - @objc func lpConfigBoolForKey(key:String, defaultValue:Bool) -> Bool { - return lpConfigBoolForKey(key: key, section: applicationKey, defaultValue: defaultValue) - } - - @objc func lpConfigBoolForKey(key:String) -> Bool { - return lpConfigBoolForKey(key: key, defaultValue: false) - } -} diff --git a/Classes/Swift/Extensions/IOS/CopyableLabel.swift b/Classes/Swift/Extensions/IOS/CopyableLabel.swift deleted file mode 100644 index 69af91470..000000000 --- a/Classes/Swift/Extensions/IOS/CopyableLabel.swift +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2020-2030 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -class CopyableLabel: UILabel { - - override init(frame: CGRect) { - super.init(frame: frame) - setupTextSelection() - } - required init?(coder aDecoder: NSCoder) { - super.init(coder: aDecoder) - setupTextSelection() - } - - private func setupTextSelection() { - let longPress = UILongPressGestureRecognizer(target: self, action: #selector(didLongPress)) - addGestureRecognizer(longPress) - isUserInteractionEnabled = true - } - - @objc private func didLongPress(_ gesture: UILongPressGestureRecognizer) { - guard let text = text, !text.isEmpty else { return } - becomeFirstResponder() - - let menu = UIMenuController.shared - menu.menuItems = [UIMenuItem(title: "Copy", action: #selector(copyToPasteboard))] - - if !menu.isMenuVisible { - menu.setTargetRect(textRect(forBounds: bounds, limitedToNumberOfLines: numberOfLines).insetBy(dx: 5, dy: 5), in: self) - menu.setMenuVisible(true, animated: true) - } - } - - @objc private func copyToPasteboard(_ sender: Any?) { - UIPasteboard.general.string = text - } -} diff --git a/Classes/Swift/Extensions/IOS/OptionalExtensions.swift b/Classes/Swift/Extensions/IOS/OptionalExtensions.swift deleted file mode 100644 index 345b367d7..000000000 --- a/Classes/Swift/Extensions/IOS/OptionalExtensions.swift +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -extension Optional { - var orNil: Any { - switch self { - case .none: - return "|⭕️" - case let .some(value): - return value - } - } -} - -extension Optional: CustomStringConvertible { - - public var description: String { - switch self { - case .some(let wrappedValue): - return "\(wrappedValue)" - default: - return "|⭕️" - } - } -} - diff --git a/Classes/Swift/Extensions/IOS/SnapkitBridge.swift b/Classes/Swift/Extensions/IOS/SnapkitBridge.swift deleted file mode 100644 index 1fd174b67..000000000 --- a/Classes/Swift/Extensions/IOS/SnapkitBridge.swift +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import UIKit -import Photos -import linphonesw - - -@objc class SnapkitBridge: NSObject { - @objc static func matchParentDimensions(view:UIView) { - view.matchParentDimmensions().done() - } - - @objc static func matchParentDimensions(view:UIView,leftInset:CGFloat) { - view.matchParentDimmensions(insetedBy: UIEdgeInsets(top: 0, left: leftInset, bottom: 0, right: 0)).done() - } - - @objc static func matchParentDimensions(view:UIView,topInset:CGFloat) { - view.matchParentDimmensions(insetedBy: UIEdgeInsets(top: topInset, left: 0, bottom: 0, right: 0)).done() - } - - @objc static func height(view:UIView,heiht:Int) { - view.height(heiht).done() - } - @objc static func square(view:UIView,size:Int) { - view.square(size).done() - } - - @objc static func alignParentLeft(view:UIView) { - view.alignParentLeft().done() - } - - @objc static func centerY(view:UIView) { - view.centerY().done() - } - -} - diff --git a/Classes/Swift/Extensions/IOS/UIApplication+Extension.swift b/Classes/Swift/Extensions/IOS/UIApplication+Extension.swift deleted file mode 100644 index 50f5e9353..000000000 --- a/Classes/Swift/Extensions/IOS/UIApplication+Extension.swift +++ /dev/null @@ -1,39 +0,0 @@ -/* -* Copyright (c) 2010-2020 Belledonne Communications SARL. -* -* This file is part of linhome -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see . -*/ - - - -import Foundation -import UIKit - - -extension UIApplication { - - class func getTopMostViewController() -> UIViewController? { - let keyWindow = UIApplication.shared.windows.filter {$0.isKeyWindow}.first - if var topController = keyWindow?.rootViewController { - while let presentedViewController = topController.presentedViewController { - topController = presentedViewController - } - return topController - } else { - return nil - } - } -} diff --git a/Classes/Swift/Extensions/IOS/UIButtonExtensions.swift b/Classes/Swift/Extensions/IOS/UIButtonExtensions.swift deleted file mode 100644 index abcb0da99..000000000 --- a/Classes/Swift/Extensions/IOS/UIButtonExtensions.swift +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import SnapKit -import UIKit - -extension UIButton { - func addSidePadding(p:CGFloat = 10) { // Requires a width to be set prior to this ! SnapKit does not support updateOrCreate. - if let w = titleLabel?.textWidth { - updateWidth(w+2*p).done() - } - } - - func applyTintedIcons(tintedIcons: [UInt: TintableIcon]) { - tintedIcons.keys.forEach { (stateRawValue) in - let tintedIcon = tintedIcons[stateRawValue]! - UIImage(named:tintedIcon.name).map { - setImage($0.tinted(with: tintedIcon.tintColor?.get()),for: UIButton.State(rawValue: stateRawValue)) - } - } - } - -} diff --git a/Classes/Swift/Extensions/IOS/UIColorExtensions.swift b/Classes/Swift/Extensions/IOS/UIColorExtensions.swift deleted file mode 100644 index 2d50661a2..000000000 --- a/Classes/Swift/Extensions/IOS/UIColorExtensions.swift +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit - -extension UIColor { - public convenience init(hex: String) { - let hex = hex.trimmingCharacters(in: CharacterSet.alphanumerics.inverted) - var int = UInt64() - Scanner(string: hex).scanHexInt64(&int) - let a, r, g, b: UInt64 - switch hex.count { - case 3: // RGB (12-bit) - (a, r, g, b) = (255, (int >> 8) * 17, (int >> 4 & 0xF) * 17, (int & 0xF) * 17) - case 6: // RGB (24-bit) - (a, r, g, b) = (255, int >> 16, int >> 8 & 0xFF, int & 0xFF) - case 8: // ARGB (32-bit) - (a, r, g, b) = (int >> 24, int >> 16 & 0xFF, int >> 8 & 0xFF, int & 0xFF) - default: - (a, r, g, b) = (255, 0, 0, 0) - } - self.init(red: CGFloat(r) / 255, green: CGFloat(g) / 255, blue: CGFloat(b) / 255, alpha: CGFloat(a) / 255) - } -} diff --git a/Classes/Swift/Extensions/IOS/UIDeviceExtensions.swift b/Classes/Swift/Extensions/IOS/UIDeviceExtensions.swift deleted file mode 100644 index ba7a5245a..000000000 --- a/Classes/Swift/Extensions/IOS/UIDeviceExtensions.swift +++ /dev/null @@ -1,80 +0,0 @@ -/* -* Copyright (c) 2010-2020 Belledonne Communications SARL. -* -* This file is part of linhome -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see . -*/ - - - -import Foundation -import UIKit -import AVFoundation -import linphonesw - -extension UIDevice { - static func ipad() -> Bool { - return UIDevice.current.userInterfaceIdiom == .pad - } - static func vibrate() { - if (!ipad() || Core.get().config?.getBool(section: "app", key: "disable_chat_feature", defaultValue: false) == false) { - AudioServicesPlaySystemSound(kSystemSoundID_Vibrate) - } - } - static func is5SorSEGen1() -> Bool { - return UIScreen.main.nativeBounds.height == 1136 - } - - static func hasNotch() -> Bool { - if (UserDefaults.standard.bool(forKey: "hasNotch")) { - return true - } - guard #available(iOS 11.0, *), let topPadding = UIApplication.shared.keyWindow?.safeAreaInsets.top, topPadding > 24 else { - return false - } - UserDefaults.standard.setValue(true, forKey: "hasNotch") - return true - } - - static func notchHeight() -> CGFloat { - guard #available(iOS 11.0, *), let topPadding = UIApplication.shared.keyWindow?.safeAreaInsets.top, let sidePadding = UIApplication.shared.keyWindow?.safeAreaInsets.left else { - return 0 - } - return [.landscapeRight,.landscapeLeft].contains(UIDevice.current.orientation) ? sidePadding : topPadding - } - - static func switchedDisplayMode() -> Bool { - let displayMode = UserDefaults.standard.string(forKey: "displayMode") - if #available(iOS 13.0, *) { - if UITraitCollection.current.userInterfaceStyle == .light { - UserDefaults.standard.set("light", forKey: "displayMode") - } else { - UserDefaults.standard.set("dark", forKey: "displayMode") - } - } - return displayMode != nil && displayMode != UserDefaults.standard.string(forKey: "displayMode") - } - -} - -@objc class UIDeviceBridge : NSObject { - static let displayModeSwitched = MutableLiveData() - @objc static func switchedDisplayMode() -> Bool { - return UIDevice.switchedDisplayMode() - } - @objc static func notifyDisplayModeSwitch() { - displayModeSwitched.notifyValue() - } -} diff --git a/Classes/Swift/Extensions/IOS/UIImageExtensions.swift b/Classes/Swift/Extensions/IOS/UIImageExtensions.swift deleted file mode 100644 index a409d782a..000000000 --- a/Classes/Swift/Extensions/IOS/UIImageExtensions.swift +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation - -extension UIImage { - func tinted(with color: UIColor?) -> UIImage? { - if (color == nil) { - return self - } - defer { UIGraphicsEndImageContext() } - UIGraphicsBeginImageContextWithOptions(self.size, false, self.scale) - color!.set() - self.withRenderingMode(.alwaysTemplate).draw(in: CGRect(origin: .zero, size: self.size)) - return UIGraphicsGetImageFromCurrentImageContext() - } - - func withInsets(insets: UIEdgeInsets) -> UIImage? { - UIGraphicsBeginImageContextWithOptions( - CGSize(width: self.size.width + insets.left + insets.right, - height: self.size.height + insets.top + insets.bottom), false, self.scale) - let _ = UIGraphicsGetCurrentContext() - let origin = CGPoint(x: insets.left, y: insets.top) - self.draw(at: origin) - let imageWithInsets = UIGraphicsGetImageFromCurrentImageContext() - UIGraphicsEndImageContext() - return imageWithInsets - } - - func withPadding(padding: CGFloat) -> UIImage? { - let insets = UIEdgeInsets(top: padding, left: padding, bottom: padding, right: padding) - return withInsets(insets: insets) - } -} diff --git a/Classes/Swift/Extensions/IOS/UIImageViewExtensions.swift b/Classes/Swift/Extensions/IOS/UIImageViewExtensions.swift deleted file mode 100644 index 1ef56dd60..000000000 --- a/Classes/Swift/Extensions/IOS/UIImageViewExtensions.swift +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation - -extension UIImageView { - func tint(_ color:UIColor) { - self.image = self.image?.withRenderingMode(.alwaysTemplate) - tintColor = color - } -} diff --git a/Classes/Swift/Extensions/IOS/UILabelExtensions.swift b/Classes/Swift/Extensions/IOS/UILabelExtensions.swift deleted file mode 100644 index f3ab2bafe..000000000 --- a/Classes/Swift/Extensions/IOS/UILabelExtensions.swift +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import SnapKit -import UIKit - -extension UILabel { - var textWidth: CGFloat? { - guard let myText = self.text else { return nil } - guard let myFont = self.font else { return nil } - let rect = CGSize(width: CGFloat.greatestFiniteMagnitude, height: CGFloat.greatestFiniteMagnitude) - let labelSize = myText.boundingRect(with: rect, options: .usesLineFragmentOrigin, attributes: [NSAttributedString.Key.font: myFont], context: nil) - return ceil(labelSize.width) - } - - func addSidePadding(p:CGFloat = 5.0) { - if let w = textWidth { - width(w+2*p).done() - } - } -} diff --git a/Classes/Swift/Extensions/IOS/UIVIewControllerExtensions.swift b/Classes/Swift/Extensions/IOS/UIVIewControllerExtensions.swift deleted file mode 100644 index 8c27c7dec..000000000 --- a/Classes/Swift/Extensions/IOS/UIVIewControllerExtensions.swift +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import SnapKit -import UIKit - -extension UIViewController { - func VIEW( _ desc: UICompositeViewDescription) -> T{ - return PhoneMainView.instance().mainViewController.getCachedController(desc.name) as! T - } - -} diff --git a/Classes/Swift/Extensions/IOS/UIVIewExtensions.swift b/Classes/Swift/Extensions/IOS/UIVIewExtensions.swift deleted file mode 100644 index c05b9c7e6..000000000 --- a/Classes/Swift/Extensions/IOS/UIVIewExtensions.swift +++ /dev/null @@ -1,548 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import SnapKit -import UIKit - -extension UIView { - - // Few constraints wrapper to abstract SnapKit functions - - func removeConstraints() -> UIView { - snp.removeConstraints() - return self - } - - - func square(_ size:Int) -> UIView { - snp.makeConstraints { (make) in - make.width.equalTo(size) - make.height.equalTo(size) - } - return self - } - - func squareMax(_ size:Int) -> UIView { - snp.makeConstraints { (make) in - make.height.lessThanOrEqualTo(size).priority(.high) - make.width.equalTo(snp.height).priority(.high) - } - return self - } - - - func makeHeightMatchWidth() -> UIView { - snp.makeConstraints { (make) in - make.height.equalTo(snp.width) - } - return self - } - - func makeWidthMatchHeight() -> UIView { - snp.makeConstraints { (make) in - make.width.equalTo(snp.height) - } - return self - } - - func size(w:CGFloat,h:CGFloat) -> UIView { - snp.makeConstraints { (make) in - make.width.equalTo(w) - make.height.equalTo(h) - } - return self - } - - func updateSize(w:CGFloat,h:CGFloat) -> UIView { - snp.updateConstraints { (make) in - make.width.equalTo(w) - make.height.equalTo(h) - } - return self - } - - func height(_ h:CGFloat) -> UIView { - snp.makeConstraints { (make) in - make.height.equalTo(h) - } - return self - } - - func height(_ h:Int) -> UIView { - return height(CGFloat(h)) - } - - func width(_ h:CGFloat) -> UIView { - snp.makeConstraints { (make) in - make.width.equalTo(h) - } - return self - } - - func updateWidth(_ h:CGFloat) -> UIView { - snp.updateConstraints { (make) in - make.width.equalTo(h) - } - return self - } - - func width(_ h:Int) -> UIView { - return width(CGFloat(h)) - } - - func maxHeight(_ h:CGFloat) -> UIView { - snp.makeConstraints { (make) in - make.height.lessThanOrEqualTo(h) - } - return self - } - - func maxWidth(_ h:CGFloat) -> UIView { - snp.makeConstraints { (make) in - make.width.lessThanOrEqualTo(h) - } - return self - } - - func minWidth(_ h:CGFloat) -> UIView { - snp.makeConstraints { (make) in - make.width.greaterThanOrEqualTo(h) - } - return self - } - - - func matchParentSideBorders(insetedByDx:CGFloat = 0) -> UIView { - snp.makeConstraints { (make) in - make.left.equalToSuperview().offset(insetedByDx) - make.right.equalToSuperview().offset(-insetedByDx) - } - return self - } - - func matchBordersOf(view:UIView) -> UIView { - snp.makeConstraints { (make) in - make.left.right.equalTo(view) - } - return self - } - - func matchParentDimmensions() -> UIView { - snp.makeConstraints { (make) in - make.left.right.top.bottom.equalToSuperview() - } - return self - } - - func matchParentDimmensions(insetedByDx:CGFloat) -> UIView { - snp.makeConstraints { (make) in - make.left.top.equalToSuperview().offset(insetedByDx) - make.right.bottom.equalToSuperview().offset(-insetedByDx) - } - return self - } - - func matchParentDimmensions(insetedBy:UIEdgeInsets) -> UIView { - snp.makeConstraints { (make) in - make.left.equalToSuperview().offset(insetedBy.left) - make.top.equalToSuperview().offset(insetedBy.top) - make.right.equalToSuperview().offset(-insetedBy.right) - make.bottom.equalToSuperview().offset(-insetedBy.bottom) - } - return self - } - - func matchBordersWith(view:UIView, insetedByDx:CGFloat = 0) -> UIView { - snp.makeConstraints { (make) in - make.left.top.equalTo(view).offset(insetedByDx) - make.right.bottom.equalTo(view).offset(-insetedByDx) - } - return self - } - - func updateTopBorderWith(view:UIView, inset:CGFloat = 0) -> UIView { - snp.updateConstraints { (make) in - make.top.equalTo(view).offset(inset) - } - return self - } - - func matchParentEdges() -> UIView { - snp.makeConstraints { (make) in - make.edges.equalToSuperview() - } - return self - } - - func matchDimentionsOf(view:UIView) -> UIView { - snp.makeConstraints { (make) in - make.left.right.top.bottom.equalTo(view) - } - return self - } - - func matchParentHeight() -> UIView { - snp.makeConstraints { (make) in - make.top.bottom.equalToSuperview() - } - return self - } - - func addRightMargin(margin:CGFloat) -> UIView { - snp.makeConstraints { (make) in - make.rightMargin.equalTo(margin) - } - return self - } - - func matchParentHeightDividedBy(_ divider : CGFloat) -> UIView { - snp.makeConstraints { (make) in - make.height.equalToSuperview().dividedBy(divider) - } - return self - } - - func matchParentWidthDividedBy(_ divider : CGFloat) -> UIView { - snp.makeConstraints { (make) in - make.width.equalToSuperview().dividedBy(divider) - } - return self - } - - func center() -> UIView { - snp.makeConstraints { (make) in - make.center.equalToSuperview() - } - return self - } - - func alignParentTop(withMargin:CGFloat = 0.0) -> UIView { - snp.makeConstraints { (make) in - make.top.equalToSuperview().offset(withMargin) - } - return self - } - - func alignParentTop(withMargin:Int ) -> UIView { - return alignParentTop(withMargin:CGFloat(withMargin)) - } - - - func alignUnder(view:UIView, withMargin:CGFloat = 0.0) -> UIView { - snp.makeConstraints { (make) in - make.top.equalTo(view.snp.bottom).offset(withMargin) - } - return self - } - func alignUnder(view:UIView, withMargin:Int) -> UIView { - return alignUnder(view: view,withMargin:CGFloat(withMargin)) - } - - func matchRightOf(view:UIView, withMargin:CGFloat = 0) -> UIView { - snp.makeConstraints { (make) in - make.right.equalTo(view).offset(withMargin) - } - return self - } - - func updateAlignUnder(view:UIView, withMargin:CGFloat = 0.0) -> UIView { - snp.updateConstraints { (make) in - make.top.equalTo(view.snp.bottom).offset(withMargin) - } - return self - } - - func alignParentBottom(withMargin:CGFloat = 0.0) -> UIView { - snp.makeConstraints { (make) in - make.bottom.equalToSuperview().offset(-withMargin) - } - return self - } - - func updateAlignParentBottom(withMargin:CGFloat = 0.0) -> UIView { - snp.updateConstraints { (make) in - make.bottom.equalToSuperview().offset(-withMargin) - } - return self - } - - func alignParentBottom(withMargin:Int) -> UIView { - return alignParentBottom(withMargin:CGFloat(withMargin)) - } - - func updateAlignParentBottom(withMargin:Int) -> UIView { - return updateAlignParentBottom(withMargin:CGFloat(withMargin)) - } - - func alignAbove(view:UIView, withMargin:CGFloat = 0.0) -> UIView { - snp.makeConstraints { (make) in - make.bottom.equalTo(view.snp.top).offset(-withMargin) - } - return self - } - - func alignAbove(view:UIView, withMargin:Int) -> UIView { - return alignAbove(view: view,withMargin:CGFloat(withMargin)) - } - - func alignBottomWith(otherView:UIView) -> UIView { - snp.makeConstraints { (make) in - make.bottom.equalTo(otherView) - } - return self - } - - func marginLeft(_ m:CGFloat) -> UIView { - snp.makeConstraints { (make) in - make.left.equalToSuperview().offset(m) - } - return self - } - - func alignParentLeft(withMargin:CGFloat = 0.0) -> UIView { - snp.makeConstraints { (make) in - make.left.equalToSuperview().offset(withMargin) - } - return self - } - - func updateAlignParentLeft(withMargin:CGFloat = 0.0) -> UIView { - snp.updateConstraints { (make) in - make.left.equalToSuperview().offset(withMargin) - } - return self - } - - func alignParentLeft(withMargin:Int) -> UIView { - return alignParentLeft(withMargin:CGFloat(withMargin)) - } - - func alignParentRight(withMargin:Int = 0) -> UIView { - snp.makeConstraints { (make) in - make.right.equalToSuperview().offset(-withMargin) - } - return self - } - - func updateAlignParentRight(withMargin:CGFloat = 0) -> UIView { - snp.updateConstraints { (make) in - make.right.equalToSuperview().offset(-withMargin) - } - return self - } - - func alignParentRight(withMargin:CGFloat) -> UIView { - return alignParentRight(withMargin:Int(withMargin)) - } - - func alignRightWith(_ view:UIView) -> UIView { - snp.makeConstraints { (make) in - make.right.equalTo(view.snp.right) - } - return self - } - - func toRightOf(_ view:UIView, withLeftMargin:Int = 0) -> UIView { - snp.makeConstraints { (make) in - make.left.equalTo(view.snp.right).offset(withLeftMargin) - } - return self - } - - func toRightOf(_ view:UIView, withLeftMargin:CGFloat) -> UIView { - return toRightOf(view,withLeftMargin: Int(withLeftMargin)) - } - - - func alignHorizontalCenterWith(_ view:UIView) -> UIView { - snp.makeConstraints { (make) in - make.centerY.equalTo(view) - } - return self - } - - func alignVerticalCenterWith(_ view:UIView) -> UIView { - snp.makeConstraints { (make) in - make.centerX.equalTo(view) - } - return self - } - - - func toLeftOf(_ view:UIView) -> UIView { - snp.makeConstraints { (make) in - make.right.equalTo(view.snp.left) - } - return self - } - - func toLeftOf(_ view:UIView, withRightMargin:CGFloat) -> UIView { - snp.makeConstraints { (make) in - make.right.equalTo(view.snp.left).offset(-withRightMargin) - } - return self - } - - func centerX(withDx:Int = 0) -> UIView { - snp.makeConstraints { (make) in - make.centerX.equalToSuperview().offset(withDx) - } - return self - } - - func centerY(withDy:Int = 0) -> UIView { - snp.makeConstraints { (make) in - make.centerY.equalToSuperview().offset(withDy) - } - return self - } - - func matchCenterXOf(view:UIView, withDx:Int = 0) -> UIView { - snp.makeConstraints { (make) in - make.centerX.equalTo(view).offset(withDx) - } - return self - } - - func matchCenterYOf(view:UIView, withDy:Int = 0) -> UIView { - snp.makeConstraints { (make) in - make.centerY.equalTo(view).offset(withDy) - } - return self - } - - func wrapContentY() -> UIView { - subviews.first?.snp.makeConstraints({ make in - make.top.equalToSuperview() - }) - subviews.last?.snp.makeConstraints({ make in - make.bottom.equalToSuperview() - }) - return self - } - - func wrapContentX() -> UIView { - subviews.first?.snp.makeConstraints({ make in - make.left.equalToSuperview() - }) - subviews.last?.snp.makeConstraints({ make in - make.right.equalToSuperview() - }) - return self - } - - func wrapContent(inset:UIEdgeInsets) -> UIView { - subviews.first?.snp.makeConstraints({ make in - make.left.equalToSuperview().offset(inset.left) - }) - subviews.last?.snp.makeConstraints({ make in - make.right.equalToSuperview().offset(-inset.right) - }) - subviews.first?.snp.makeConstraints({ make in - make.top.equalToSuperview().offset(inset.top) - }) - subviews.last?.snp.makeConstraints({ make in - make.bottom.equalToSuperview().offset(-inset.bottom) - }) - return self - } - - func done() { - // to avoid the unused variable warning - } - - // Single click - - class TapGestureRecognizer: UITapGestureRecognizer { - var action : (()->Void)? = nil - } - - func onClick(action : @escaping ()->Void ){ - let tap = TapGestureRecognizer(target: self , action: #selector(self.handleTap(_:))) - tap.action = action - tap.numberOfTapsRequired = 1 - tap.cancelsTouchesInView = false - - self.addGestureRecognizer(tap) - self.isUserInteractionEnabled = true - - } - @objc func handleTap(_ sender: TapGestureRecognizer) { - sender.action!() - } - - // Long click - class LongPressGestureRecognizer: UILongPressGestureRecognizer { - var action : (()->Void)? = nil - } - func onLongClick(action : @escaping ()->Void ){ - let tap = LongPressGestureRecognizer(target: self , action: #selector(self.handleLongClick(_:))) - tap.action = action - tap.cancelsTouchesInView = false - self.addGestureRecognizer(tap) - self.isUserInteractionEnabled = true - - } - @objc func handleLongClick(_ sender: LongPressGestureRecognizer) { - sender.action!() - } - - func onLongClickOneClick(action : @escaping ()->Void ){ - let tap = LongPressGestureRecognizer(target: self , action: #selector(self.handleLongClickOneClick(_:))) - tap.action = action - tap.cancelsTouchesInView = false - self.addGestureRecognizer(tap) - self.isUserInteractionEnabled = true - } - @objc func handleLongClickOneClick(_ sender: LongPressGestureRecognizer) { - if (sender.state == .began){ - sender.action!() - } - } - - func VIEW( _ desc: UICompositeViewDescription) -> T{ - return PhoneMainView.instance().mainViewController.getCachedController(desc.name) as! T - } - - // Theming - - func setFormInputBackground(readOnly:Bool) { - if (readOnly) { - backgroundColor = VoipTheme.voipFormDisabledFieldBackgroundColor.get() - } else { - layer.borderWidth = 1 - layer.borderColor = VoipTheme.voipFormFieldBackgroundColor.get().cgColor - } - layer.cornerRadius = 3 - clipsToBounds = true - } - - @objc func toImage() -> UIImage? { - UIGraphicsBeginImageContextWithOptions(bounds.size, false, 0) - guard let context = UIGraphicsGetCurrentContext() else { return nil } - context.saveGState() - layer.render(in: context) - context.restoreGState() - guard let image = UIGraphicsGetImageFromCurrentImageContext() else { return nil } - UIGraphicsEndImageContext() - return image - } - -} diff --git a/Classes/Swift/Extensions/LinphoneCore/AddressExtensions.swift b/Classes/Swift/Extensions/LinphoneCore/AddressExtensions.swift deleted file mode 100644 index 0caa0117f..000000000 --- a/Classes/Swift/Extensions/LinphoneCore/AddressExtensions.swift +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import linphonesw - -extension Address { - - func initials() -> String? { - var initials = Address.initials(displayName: addressBookEnhancedDisplayName()) - if (initials == nil || initials!.isEmpty) { - initials = String(username!.prefix(1)) - } - return initials - } - - static func initials(displayName: String?) -> String? { // Basic ImproveMe - let separator = displayName?.contains(" ") == true ? " " : "." - return displayName?.components(separatedBy: separator) - .reduce("") { - ($0.isEmpty ? "" : "\($0.first?.uppercased() ?? "")") + - ($1.isEmpty ? "" : "\($1.first?.uppercased() ?? "")") - } - } - - func addressBookEnhancedDisplayName() -> String? { - if let contact = FastAddressBook.getContactWith(getCobject) { - return contact.displayName - } else if (displayName != nil && !displayName!.isEmpty) { - return displayName - } else { - return username - } - } - - func contact() -> Contact? { - return FastAddressBook.getContactWith(getCobject) - } - - func isMe() -> Bool { - guard let accountAddress = Core.get().defaultAccount?.params?.identityAddress else { - return false - } - return weakEqual(address2: accountAddress) - } - -} diff --git a/Classes/Swift/Extensions/LinphoneCore/CallExtensions.swift b/Classes/Swift/Extensions/LinphoneCore/CallExtensions.swift deleted file mode 100644 index 12096e830..000000000 --- a/Classes/Swift/Extensions/LinphoneCore/CallExtensions.swift +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import linphonesw - -extension Call { - func answerVideoUpdateRequest(accept:Bool) { - guard let params = try?core? .createCallParams(call: self) else { - Log.i("[Call] \(self) unable to answerVideoUpdateRequest : could not create params ") - return - } - if (accept) { - params.videoEnabled = true - core?.videoCaptureEnabled = true && Core.get().config?.getBool(section: "app", key: "disable_video_feature", defaultValue: false) == false - core?.videoDisplayEnabled = true && Core.get().config?.getBool(section: "app", key: "disable_video_feature", defaultValue: false) == false - } else { - params.videoEnabled = false - } - try?acceptUpdate(params: params) - } -} - -extension Call : CustomStringConvertible { - public var description: String { - return "" - } -} - diff --git a/Classes/Swift/Extensions/LinphoneCore/ConferenceExtensions.swift b/Classes/Swift/Extensions/LinphoneCore/ConferenceExtensions.swift deleted file mode 100644 index 986c44007..000000000 --- a/Classes/Swift/Extensions/LinphoneCore/ConferenceExtensions.swift +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import linphonesw - - - -extension Conference : CustomStringConvertible { - public var description: String { - if let username = conferenceAddress?.username { - return "<\(username)>" - } - return "" - } - -} - diff --git a/Classes/Swift/Extensions/LinphoneCore/CoreExtensions.swift b/Classes/Swift/Extensions/LinphoneCore/CoreExtensions.swift deleted file mode 100644 index 158c5afec..000000000 --- a/Classes/Swift/Extensions/LinphoneCore/CoreExtensions.swift +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import linphonesw - -extension Core { - static func get() -> Core { - return CallManager.instance().lc! - } - - func showSwitchCameraButton() -> Bool { - return videoDevicesList.count > 2 // Count StaticImage camera - } - - func toggleCamera() { - Log.i("[Core] Current camera device is \(videoDevice)") - var switched = false - videoDevicesList.forEach { - if (!switched && $0 != videoDevice && $0 != "StaticImage: Static picture") { - Log.i("[Core] New camera device will be \($0)") - try?setVideodevice(newValue: $0) - switched = true - } - } - } -} diff --git a/Classes/Swift/Extensions/LinphoneCore/IceState.swift b/Classes/Swift/Extensions/LinphoneCore/IceState.swift deleted file mode 100644 index 7274e2f7e..000000000 --- a/Classes/Swift/Extensions/LinphoneCore/IceState.swift +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import linphonesw - -extension IceState { - func toString()->String { - switch (self) { - case .NotActivated: return NSLocalizedString("Not activated", tableName:"ICE has not been activated for this call",comment : "") - case .Failed: return NSLocalizedString("Failed", tableName:"ICE processing has failed",comment :"") - case .InProgress: return NSLocalizedString("In progress", tableName:"ICE process is in progress",comment :"") - case .HostConnection: return NSLocalizedString("Direct connection", tableName:"ICE has established a direct connection to the remote host",comment :"") - case .ReflexiveConnection: return NSLocalizedString( "NAT(s) connection", tableName:"ICE has established a connection to the remote host through one or several NATs",comment :"") - case .RelayConnection: return NSLocalizedString("Relay connection", tableName:"ICE has established a connection through a relay",comment :"") - } - - } -} diff --git a/Classes/Swift/Extensions/LinphoneCore/ParticipantExtensions.swift b/Classes/Swift/Extensions/LinphoneCore/ParticipantExtensions.swift deleted file mode 100644 index 9b7b07652..000000000 --- a/Classes/Swift/Extensions/LinphoneCore/ParticipantExtensions.swift +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import linphonesw - - - -extension Participant : CustomStringConvertible { - public var description: String { - if let address = address?.asStringUriOnly() { - return "" - } - return "" - } -} - diff --git a/Classes/Swift/Extensions/LinphoneCore/PayloadType.swift b/Classes/Swift/Extensions/LinphoneCore/PayloadType.swift deleted file mode 100644 index 197a8d733..000000000 --- a/Classes/Swift/Extensions/LinphoneCore/PayloadType.swift +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import linphonesw -import linphone - -extension linphonesw.PayloadType { - - -} diff --git a/Classes/Swift/FileUtil.swift b/Classes/Swift/FileUtil.swift deleted file mode 100644 index 08a80e826..000000000 --- a/Classes/Swift/FileUtil.swift +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import UIKit -import linphonesw - -@objc class FileUtil: NSObject { - public class func bundleFilePath(_ file: NSString) -> String? { - return Bundle.main.path(forResource: file.deletingPathExtension, ofType: file.pathExtension) - } - - public class func bundleFilePathAsUrl(_ file: NSString) -> URL? { - if let bPath = bundleFilePath(file) { - return URL.init(fileURLWithPath: bPath) - } - return nil - } - - public class func documentsDirectory() -> URL { - let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask) - let documentsDirectory = paths[0] - return documentsDirectory - } - - public class func libraryDirectory() -> URL { - let paths = FileManager.default.urls(for: .libraryDirectory, in: .userDomainMask) - let documentsDirectory = paths[0] - return documentsDirectory - } - - public class func sharedContainerUrl(appGroupName:String) -> URL { - return FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: appGroupName)! - } - - - @objc public class func ensureDirectoryExists(path:String) { - if !FileManager.default.fileExists(atPath: path) { - do { - try FileManager.default.createDirectory(atPath: path, withIntermediateDirectories: true, attributes: nil) - } catch { - Log.e(error.localizedDescription) - } - } - } - - public class func ensureFileExists(path:String) { - if !FileManager.default.fileExists(atPath: path) { - FileManager.default.createFile(atPath: path, contents: nil, attributes: nil) - } - } - - public class func fileExists(path:String) -> Bool { - return FileManager.default.fileExists(atPath: path) - } - - public class func fileExistsAndIsNotEmpty(path:String) -> Bool { - guard FileManager.default.fileExists(atPath: path) else {return false} - do { - let attribute = try FileManager.default.attributesOfItem(atPath: path) - if let size = attribute[FileAttributeKey.size] as? NSNumber { - return size.doubleValue > 0 - } else { - return false - } - } catch { - Log.e(error.localizedDescription) - return false - } - } - - public class func write(string:String, toPath:String) { - do { - try string.write(to: URL(fileURLWithPath:toPath), atomically: true, encoding: String.Encoding.utf8) - } catch { - Log.e(error.localizedDescription) - } - } - - public class func delete(path:String) { - do { - try FileManager.default.removeItem(atPath: path) - Log.i("FIle \(path) was removed") - } catch { - Log.e("Error deleting file at path \(path) error is \(error)") - } - } - - public class func mkdir(path:String) { - do { - try FileManager.default.createDirectory(atPath: path, withIntermediateDirectories: true, attributes: nil) - Log.i("Dir \(path) was created") - } catch { - Log.e("Error creating dir at path \(path) error is \(error)") - } - } - - - - public class func copy(_ fromPath:String, _ toPath: String, overWrite:Bool) { - do { - if (overWrite && fileExists(path: toPath)) { - delete(path: toPath) - } - try FileManager.default.copyItem(at: URL(fileURLWithPath:fromPath), to: URL(fileURLWithPath:toPath)) - } catch { - Log.e(error.localizedDescription) - } - } - - - // For debugging - - public class func showListOfFilesInSharedDir(appGroupName:String) { - let fileManager = FileManager.default - do { - let fileURLs = try fileManager.contentsOfDirectory(at: FileUtil.sharedContainerUrl(appGroupName: appGroupName), includingPropertiesForKeys: nil) - fileURLs.forEach{print($0)} - } catch { - Log.e("Error while enumerating files \(error.localizedDescription)") - } - } - -} diff --git a/Classes/Swift/LocalPushManager.swift b/Classes/Swift/LocalPushManager.swift deleted file mode 100644 index ce9181ed3..000000000 --- a/Classes/Swift/LocalPushManager.swift +++ /dev/null @@ -1,129 +0,0 @@ -/* -* Copyright (c) 2010-2020 Belledonne Communications SARL. -* -* This file is part of linphone-iphone -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see . -*/ - -import Foundation -import NetworkExtension -import linphonesw -import Combine - - -let localPushProviderBundleIdentifier = "org.linphone.phone.localpushprovider" - -@available(iOS 15.0, *) -@objc class LocalPushManager : NSObject, NEAppPushDelegate { - - @objc static let shared = LocalPushManager() - private var appPushManager: NEAppPushManager? - private let isInitialized = MutableLiveData(false) - let isActive = MutableLiveData(false) - private let dispatchQueue = DispatchQueue(label: "DirectoryViewModel.dispatchQueue") - private let pushManagerIsActiveSubject = CurrentValueSubject(false) - private var pushManagerIsActiveCancellable: AnyCancellable? - private var cancellables = Set() - private(set) lazy var pushManagerIsActivePublisher = { - pushManagerIsActiveSubject - .debounce(for: .milliseconds(500), scheduler: dispatchQueue) - .eraseToAnyPublisher() - }() - - override init() { - super.init() - NEAppPushManager.loadAllFromPreferences { managers, error in - if let error = error { - Log.w("[LocalPushManager] Failed to load all NEAppPushManager's from preferences: \(error)") - } - self.appPushManager = managers?.first ?? NEAppPushManager() - let appPushManager = self.appPushManager! - self.pushManagerIsActiveCancellable = NSObject.KeyValueObservingPublisher(object: appPushManager, keyPath: \.isActive, options: [.initial, .new]) - .subscribe(self.pushManagerIsActiveSubject) - self.pushManagerIsActivePublisher - .receive(on: DispatchQueue.main) - .sink { [weak self] isAppPushManagerActive in - self?.isActive.value = isAppPushManagerActive - } - .store(in: &self.cancellables) - - appPushManager.delegate = self - - self.isInitialized.value = true - Log.i("[LocalPushManager] NEAppPushManager initialisation : enabled=\(String(describing: appPushManager.isEnabled)) ssids=\(String(describing: appPushManager.matchSSIDs))") - } - } - - @objc func extensionIsActive() -> Bool { - return appPushManager?.isActive == true - } - - private func applyConfig(coreConfig:Config) { - let appPushManager = self.appPushManager! - let ssids = coreConfig.getStringList(section: "local_push", key: "ssids", defaultList: []) // csv - let enabled = !ssids.isEmpty - appPushManager.isEnabled = enabled - appPushManager.matchSSIDs = ssids - appPushManager.providerConfiguration = [ - "coreconfig": coreConfig.dump() - ] - appPushManager.localizedDescription = NSLocalizedString("Local Push Manager", comment: "") - appPushManager.providerBundleIdentifier = localPushProviderBundleIdentifier - - if (appPushManager.isEnabled) { - self.pushManagerIsActiveCancellable = NSObject.KeyValueObservingPublisher(object: appPushManager, keyPath: \.isActive, options: [.initial, .new]) - .subscribe(self.pushManagerIsActiveSubject) - appPushManager.saveToPreferences { error in - if (error != nil) { - Log.e("[LocalPushManager] error saving Local Push preferences \(String(describing: error)) enabled=\(String(describing: appPushManager.isEnabled)) ssids=\(String(describing: appPushManager.matchSSIDs))") - } else { - Log.i("[LocalPushManager] NEAppPushManager saved : enabled=\(String(describing: appPushManager.isEnabled)) ssids=\(String(describing: appPushManager.matchSSIDs))") - } - appPushManager.loadFromPreferences { error in - if (error != nil) { - Log.e("[LocalPushManager] error post save reloading Local Push preferences \(String(describing: error)) enabled=\(String(describing: appPushManager.isEnabled)) ssids=\(String(describing: appPushManager.matchSSIDs))") - } else { - Log.i("[LocalPushManager] NEAppPushManager post save reloaded : enabled=\(String(describing: appPushManager.isEnabled)) ssids=\(String(describing: appPushManager.matchSSIDs))") - } - - } - } - } else { - pushManagerIsActiveSubject.send(false) - Log.i("[LocalPushManager] NEAppPushManager disabled.") - } - } - - @objc func configureLocalPush(cCoreConfig:OpaquePointer) { - if (self.isInitialized.value != true ) { - self.isInitialized.observeOnce { _ in - self.applyConfig(coreConfig: Config.getSwiftObject(cObject: cCoreConfig)) - } - } else { - applyConfig(coreConfig: Config.getSwiftObject(cObject: cCoreConfig)) - } - - } - func appPushManager(_ manager: NEAppPushManager, didReceiveIncomingCallWithUserInfo userInfo: [AnyHashable : Any] = [:]) { - // Call handling - } - - @objc func addActiveCallBackObserver (action:@escaping(Bool) -> Void) { - isActive.readCurrentAndObserve { active in - action(active!) - } - } - -} diff --git a/Classes/Swift/ProviderDelegate.swift b/Classes/Swift/ProviderDelegate.swift deleted file mode 100644 index f50c39a3f..000000000 --- a/Classes/Swift/ProviderDelegate.swift +++ /dev/null @@ -1,365 +0,0 @@ -/* -* Copyright (c) 2010-2020 Belledonne Communications SARL. -* -* This file is part of linphone-iphone -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see . -*/ - -import Foundation -import CallKit -import UIKit -import linphonesw -import AVFoundation -import os - -@objc class CallInfo: NSObject { - var callId: String = "" - var toAddr: Address? - var isOutgoing = false - var sasEnabled = false - var connected = false - var reason: Reason = Reason.None - var displayName: String? - var videoEnabled = false - var isConference = false - - static func newIncomingCallInfo(callId: String) -> CallInfo { - let callInfo = CallInfo() - callInfo.callId = callId - return callInfo - } - - static func newOutgoingCallInfo(addr: Address, isSas: Bool, displayName: String, isVideo: Bool, isConference:Bool) -> CallInfo { - let callInfo = CallInfo() - callInfo.isOutgoing = true - callInfo.sasEnabled = isSas - callInfo.toAddr = addr - callInfo.displayName = displayName - callInfo.videoEnabled = isVideo - callInfo.isConference = isConference - return callInfo - } -} - -/* -* A delegate to support callkit. -*/ -class ProviderDelegate: NSObject { - static var shared = ProviderDelegate() - let provider: CXProvider - var uuids: [String : UUID] = [:] - var callInfos: [UUID : CallInfo] = [:] - - override init() { - provider = CXProvider(configuration: ProviderDelegate.providerConfiguration) - super.init() - provider.setDelegate(self, queue: nil) - } - - static var providerConfiguration: CXProviderConfiguration { - get { - let providerConfiguration = CXProviderConfiguration(localizedName: Bundle.main.infoDictionary!["CFBundleName"] as! String) - providerConfiguration.ringtoneSound = ConfigManager.instance().lpConfigBoolForKey(key: "use_device_ringtone") ? nil : "notes_of_the_optimistic.caf" - providerConfiguration.supportsVideo = true - providerConfiguration.iconTemplateImageData = UIImage(named: "callkit_logo")?.pngData() - providerConfiguration.supportedHandleTypes = [.generic, .phoneNumber, .emailAddress] - - providerConfiguration.maximumCallsPerCallGroup = 10 - providerConfiguration.maximumCallGroups = 10 - - //not show app's calls in tel's history - //providerConfiguration.includesCallsInRecents = YES; - - return providerConfiguration - } - } - - @objc static func resetSharedProviderConfiguration() { - shared.provider.configuration = ProviderDelegate.providerConfiguration - } - - func reportIncomingCall(call:Call?, uuid: UUID, handle: String, hasVideo: Bool, displayName:String) { - let update = CXCallUpdate() - update.remoteHandle = CXHandle(type:.generic, value: handle) - update.hasVideo = hasVideo - update.localizedCallerName = displayName - - let callInfo = callInfos[uuid] - let callId = callInfo?.callId - - if (ConfigManager.instance().config?.hasEntry(section: "app", key: "max_calls") == 1) { // moved from misc to app section intentionally upon app start or remote configuration - if let maxCalls = ConfigManager.instance().config?.getInt(section: "app",key: "max_calls",defaultValue: 10), Core.get().callsNb > maxCalls { - Log.directLog(BCTBX_LOG_MESSAGE, text: "CallKit: declining call, as max calls (\(maxCalls)) reached call-id: [\(String(describing: callId))] and UUID: [\(uuid.description)]") - decline(uuid: uuid) - DispatchQueue.main.async { - try?call?.decline(reason: .Busy) - } - return - } - } - - Log.directLog(BCTBX_LOG_MESSAGE, text: "CallKit: report new incoming call with call-id: [\(String(describing: callId))] and UUID: [\(uuid.description)]") - //CallManager.instance().setHeldOtherCalls(exceptCallid: callId ?? "") - provider.reportNewIncomingCall(with: uuid, update: update) { error in - if error == nil { - if CallManager.instance().endCallkit { - let call = CallManager.instance().lc?.getCallByCallid(callId: callId ?? "") - if (call?.state == .PushIncomingReceived) { - try? call?.terminate() - } - } - } else { - Log.directLog(BCTBX_LOG_ERROR, text: "CallKit: cannot complete incoming call with call-id: [\(String(describing: callId))] and UUID: [\(uuid.description)] from [\(handle)] caused by [\(error!.localizedDescription)]") - let code = (error as NSError?)?.code - switch code { - case CXErrorCodeIncomingCallError.filteredByDoNotDisturb.rawValue: - callInfo?.reason = Reason.Busy // This answer is only for this device. Using Reason.DoNotDisturb will make all other end point stop ringing. - case CXErrorCodeIncomingCallError.filteredByBlockList.rawValue: - callInfo?.reason = Reason.DoNotDisturb - default: - callInfo?.reason = Reason.Unknown - } - self.callInfos.updateValue(callInfo!, forKey: uuid) - try? call?.decline(reason: callInfo!.reason) - } - } - } - - func updateCall(uuid: UUID, handle: String, hasVideo: Bool = false, displayName:String) { - let update = CXCallUpdate() - update.remoteHandle = CXHandle(type:.generic, value:handle) - update.localizedCallerName = displayName - update.hasVideo = hasVideo - provider.reportCall(with:uuid, updated:update); - } - - func reportOutgoingCallStartedConnecting(uuid:UUID) { - provider.reportOutgoingCall(with: uuid, startedConnectingAt: nil) - } - - func reportOutgoingCallConnected(uuid:UUID) { - provider.reportOutgoingCall(with: uuid, connectedAt: nil) - } - - func endCall(uuid: UUID) { - provider.reportCall(with: uuid, endedAt: .init(), reason: .failed) - } - - func decline(uuid: UUID) { - provider.reportCall(with: uuid, endedAt: .init(), reason: .unanswered) - } - - func endCallNotExist(uuid: UUID, timeout: DispatchTime) { - DispatchQueue.main.asyncAfter(deadline: timeout) { - let callId = CallManager.instance().providerDelegate.callInfos[uuid]?.callId - if (callId == nil) { - // callkit already ended - return - } - let call = CallManager.instance().callByCallId(callId: callId) - if (call == nil) { - Log.directLog(BCTBX_LOG_MESSAGE, text: "CallKit: terminate call with call-id: \(String(describing: callId)) and UUID: \(uuid) which does not exist.") - CallManager.instance().providerDelegate.endCall(uuid: uuid) - } - } - } -} - -// MARK: - CXProviderDelegate -extension ProviderDelegate: CXProviderDelegate { - func provider(_ provider: CXProvider, perform action: CXEndCallAction) { - - let uuid = action.callUUID - let callId = callInfos[uuid]?.callId - - // remove call infos first, otherwise CXEndCallAction will be called more than onece - if (callId != nil) { - uuids.removeValue(forKey: callId!) - } - callInfos.removeValue(forKey: uuid) - - let call = CallManager.instance().callByCallId(callId: callId) - if let call = call { - CallManager.instance().terminateCall(call: call.getCobject); - Log.directLog(BCTBX_LOG_MESSAGE, text: "CallKit: Call ended with call-id: \(String(describing: callId)) an UUID: \(uuid.description).") - } - action.fulfill() - } - - func provider(_ provider: CXProvider, perform action: CXAnswerCallAction) { - let uuid = action.callUUID - let callInfo = callInfos[uuid] - let callId = callInfo?.callId - Log.directLog(BCTBX_LOG_MESSAGE, text: "CallKit: answer call with call-id: \(String(describing: callId)) and UUID: \(uuid.description).") - - let call = CallManager.instance().callByCallId(callId: callId) - - if (UIApplication.shared.applicationState != .active) { - CallManager.instance().backgroundContextCall = call - CallManager.instance().backgroundContextCameraIsEnabled = call?.params?.videoEnabled == true || call?.callLog?.wasConference() == true - /*if #available(iOS 16.0, *) { - if (call?.cameraEnabled == true) { - call?.cameraEnabled = AVCaptureSession().isMultitaskingCameraAccessSupported - } - } else { - call?.cameraEnabled = false // Disable camera while app is not on foreground - }*/ - } - CallManager.instance().callkitAudioSessionActivated = false - CallManager.instance().lc?.configureAudioSession() - CallManager.instance().acceptCall(call: call!, hasVideo: call!.params?.videoEnabled ?? false) - action.fulfill() - } - - func provider(_ provider: CXProvider, perform action: CXSetHeldCallAction) { - let uuid = action.callUUID - let callId = callInfos[uuid]?.callId - let call = CallManager.instance().callByCallId(callId: callId) - - if (call == nil) { - Log.directLog(BCTBX_LOG_ERROR, text: "CXSetHeldCallAction: no call !") - action.fail() - return - } - - do { - if (CallManager.instance().lc?.isInConference ?? false && action.isOnHold) { - try CallManager.instance().lc?.leaveConference() - Log.directLog(BCTBX_LOG_DEBUG, text: "CallKit: call-id: [\(String(describing: callId))] leaving conference") - NotificationCenter.default.post(name: Notification.Name("LinphoneCallUpdate"), object: self) - action.fulfill() - }else{ - let state = action.isOnHold ? "Paused" : "Resumed" - Log.directLog(BCTBX_LOG_DEBUG, text: "CallKit: Call with call-id: [\(String(describing: callId))] and UUID: [\(uuid)] paused status changed to: [\(state)]") - if (action.isOnHold) { - CallManager.instance().speakerBeforePause = CallManager.instance().isSpeakerEnabled() - try call!.pause() - // fullfill() the action now to indicate to Callkit that this call is no longer active, even if the - // SIP transaction is not completed yet. At this stage, the media streams are off. - // If callkit is not aware that the pause action is completed, it will terminate this call if we - // attempt to resume another one. - action.fulfill() - } else { - if (CallManager.instance().lc?.conference != nil && CallManager.instance().lc?.callsNb ?? 0 > 1) { - try CallManager.instance().lc?.enterConference() - action.fulfill() - NotificationCenter.default.post(name: Notification.Name("LinphoneCallUpdate"), object: self) - } else { - try call!.resume() - // We'll notify callkit that the action is fulfilled when receiving the 200Ok, which is the point - // where we actually start the media streams. - CallManager.instance().actionToFulFill = action; - // HORRIBLE HACK HERE - PLEASE APPLE FIX THIS !! - // When resuming a SIP call after a native call has ended remotely, didActivate: audioSession - // is never called. - // It looks like in this case, it is implicit. - // As a result we have to notify the Core that the AudioSession is active. - // The SpeakerBox demo application written by Apple exhibits this behavior. - // https://developer.apple.com/documentation/callkit/making_and_receiving_voip_calls_with_callkit - // We can clearly see there that startAudio() is called immediately in the CXSetHeldCallAction - // handler, while it is called from didActivate: audioSession otherwise. - // Callkit's design is not consistent, or its documentation imcomplete, wich is somewhat disapointing. - // - Log.directLog(BCTBX_LOG_DEBUG, text: "Assuming AudioSession is active when executing a CXSetHeldCallAction with isOnHold=false.") - CallManager.instance().lc?.activateAudioSession(actived: true) - CallManager.instance().callkitAudioSessionActivated = true - } - } - } - } catch { - Log.directLog(BCTBX_LOG_ERROR, text: "CallKit: Call set held (paused or resumed) \(uuid) failed because \(error)") - action.fail() - } - } - - func provider(_ provider: CXProvider, perform action: CXStartCallAction) { - do { - - let uuid = action.callUUID - let callInfo = callInfos[uuid] - let update = CXCallUpdate() - update.remoteHandle = action.handle - update.localizedCallerName = callInfo?.displayName - self.provider.reportCall(with: action.callUUID, updated: update) - - let addr = callInfo?.toAddr - if (addr == nil) { - Log.directLog(BCTBX_LOG_ERROR, text: "CallKit: can not call a null address!") - action.fail() - } - - CallManager.instance().lc?.configureAudioSession() - try CallManager.instance().doCall(addr: addr!, isSas: callInfo?.sasEnabled ?? false, isVideo: callInfo?.videoEnabled ?? false, isConference: callInfo?.isConference ?? false) - } catch { - Log.directLog(BCTBX_LOG_ERROR, text: "CallKit: Call started failed because \(error)") - action.fail() - } - action.fulfill() - } - - func provider(_ provider: CXProvider, perform action: CXSetGroupCallAction) { - Log.directLog(BCTBX_LOG_MESSAGE, text: "CallKit: Call grouped callUUid : \(action.callUUID) with callUUID: \(String(describing: action.callUUIDToGroupWith)).") - CallManager.instance().addAllToLocalConference() - action.fulfill() - } - - func provider(_ provider: CXProvider, perform action: CXSetMutedCallAction) { - let uuid = action.callUUID - let callId = callInfos[uuid]?.callId - Log.directLog(BCTBX_LOG_MESSAGE, text: "CallKit: Call muted with call-id: \(String(describing: callId)) an UUID: \(uuid.description).") - CallManager.instance().lc!.micEnabled = !CallManager.instance().lc!.micEnabled - action.fulfill() - } - - func provider(_ provider: CXProvider, perform action: CXPlayDTMFCallAction) { - let uuid = action.callUUID - let callId = callInfos[uuid]?.callId - Log.directLog(BCTBX_LOG_MESSAGE, text: "CallKit: Call send dtmf with call-id: \(String(describing: callId)) an UUID: \(uuid.description).") - let call = CallManager.instance().callByCallId(callId: callId) - if (call != nil) { - let digit = (action.digits.cString(using: String.Encoding.utf8)?[0])! - do { - try call!.sendDtmf(dtmf: digit) - } catch { - Log.directLog(BCTBX_LOG_ERROR, text: "CallKit: Call send dtmf \(uuid) failed because \(error)") - } - } - action.fulfill() - } - - func provider(_ provider: CXProvider, timedOutPerforming action: CXAction) { - let uuid = action.uuid - let callId = callInfos[uuid]?.callId - Log.directLog(BCTBX_LOG_MESSAGE, text: "CallKit: Call time out with call-id: \(String(describing: callId)) an UUID: \(uuid.description).") - action.fulfill() - } - - func providerDidReset(_ provider: CXProvider) { - Log.directLog(BCTBX_LOG_MESSAGE, text: "CallKit: did reset.") - } - - func provider(_ provider: CXProvider, didActivate audioSession: AVAudioSession) { - Log.directLog(BCTBX_LOG_MESSAGE, text: "CallKit: audio session activated.") - CallManager.instance().lc?.activateAudioSession(actived: true) - CallManager.instance().callkitAudioSessionActivated = true - } - - func provider(_ provider: CXProvider, didDeactivate audioSession: AVAudioSession) { - Log.directLog(BCTBX_LOG_MESSAGE, text: "CallKit: audio session deactivated.") - CallManager.instance().lc?.activateAudioSession(actived: false) - CallManager.instance().callkitAudioSessionActivated = nil - } -} - diff --git a/Classes/Swift/SwiftUtil.swift b/Classes/Swift/SwiftUtil.swift deleted file mode 100644 index 601685009..000000000 --- a/Classes/Swift/SwiftUtil.swift +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import UIKit -import Photos -import linphonesw - - -@objc class SwiftUtil: NSObject { - - @objc static func textToImage(drawText text: String, inImage image: UIImage, forReplyBubble:Bool) -> UIImage { - let textColor = UIColor.black - let fontMax = UIFont.systemFont(ofSize: 12) - let backgroundColor = forReplyBubble ? UIColor(red: 246/255.0, green: 246/255.0, blue: 246/255.0, alpha: 1.0) : UIColor.white - let size = CGSize(width: 120, height: 120) - let scale = UIScreen.main.scale - UIGraphicsBeginImageContextWithOptions(size, false, scale) - let context = UIGraphicsGetCurrentContext() - backgroundColor.setFill() - context!.fill(CGRect(x: 0, y: 0, width: size.width, height: size.height)) - let imageSize:CGSize = forReplyBubble ? CGSize(width: 80, height:80*(image.size.height / image.size.width)): image.size - image.draw(in: CGRect(origin: CGPoint(x: size.width/2 - (imageSize.width)/2,y: (forReplyBubble ? size.height/2 : 90/2) - (imageSize.height)/2), size: imageSize)) - - if (!forReplyBubble) { - let label = UILabel(frame: CGRect(x: 0,y: 0,width: size.width,height: 30)) - label.numberOfLines = 1 - label.font = fontMax - label.adjustsFontSizeToFitWidth = false - label.text = text - label.textColor = textColor - label.textAlignment = .center - label.allowsDefaultTighteningForTruncation = true - label.lineBreakMode = .byTruncatingMiddle - imageWithLabel(label: label).draw(in: CGRect(origin: CGPoint(x:5,y: 70), size: CGSize(width: size.width-10,height: 30))) - } else { - let borderWidth: CGFloat = 2.0 - let path = UIBezierPath(roundedRect: CGRect(x: 0, y: 0, width: 120, height: 120).insetBy(dx: borderWidth / 2, dy: borderWidth / 2), cornerRadius: 5.0) - context!.saveGState() - path.addClip() - UIColor.gray.setStroke() - path.lineWidth = borderWidth - path.stroke() - } - - let newImage = UIGraphicsGetImageFromCurrentImageContext() - UIGraphicsEndImageContext() - - return newImage! - } - - static func imageWithLabel(label: UILabel) -> UIImage { - UIGraphicsBeginImageContextWithOptions(label.frame.size, false, 0.0) - label.layer.render(in: UIGraphicsGetCurrentContext()!) - let img = UIGraphicsGetImageFromCurrentImageContext()! - UIGraphicsEndImageContext() - return img - } - - // Image cache - static var imageCache:[String:UIImage] = [:] - - @objc static func getCachedImage(key:String) -> UIImage? { - return key != nil ? imageCache[key] : nil - } - - @objc static func setCachedImage(key:String,image:UIImage) { - imageCache[key] = image - } - - @objc static func resetCachedAsset() { - imageCache.removeAll() - } - - // Chat bubble height cache : - - static var cacheMessageSize:[String:CGSize] = [:] - - @objc static func getCachedMessageHeight(cmessage:OpaquePointer) -> CGSize { - let message = ChatMessage.getSwiftObject(cObject: cmessage) - if let cached = cacheMessageSize[message.messageId] { - return cached - } else { - return .zero - } - } - - @objc static func setCachedMessageHeight(cmessage:OpaquePointer, size:CGSize) { - let message = ChatMessage.getSwiftObject(cObject: cmessage) - cacheMessageSize[message.messageId] = size - } - - @objc static func removeCachedMessageHeight(cmessage:OpaquePointer) { - let message = ChatMessage.getSwiftObject(cObject: cmessage) - cacheMessageSize.removeValue(forKey: message.messageId) - } - - @objc static func messageHeightCanBeCached(cmessage:OpaquePointer) -> Bool { - let message = ChatMessage.getSwiftObject(cObject: cmessage) - return (message.isOutgoing && [.Delivered, .DeliveredToUser, .Displayed].contains(message.state)) || (!message.isOutgoing && [.Displayed].contains(message.state)) - } - - // Call Log - @objc static func isCallLogMissed(cLog:OpaquePointer) -> Bool { - let log = CallLog.getSwiftObject(cObject: cLog) - return log.dir == .Incoming && [.Missed,.Aborted,.EarlyAborted].contains(log.status) - } - -} - diff --git a/Classes/Swift/Util/AudioPlayer.swift b/Classes/Swift/Util/AudioPlayer.swift deleted file mode 100644 index 850b8bd33..000000000 --- a/Classes/Swift/Util/AudioPlayer.swift +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import linphonesw - - -class AudioPlayer { - static let sharedModel = AudioPlayer() - - static var linphonePlayer : Player? = nil - - var fileChanged = MutableLiveData() - - static func getSharedPlayer() -> Player?{ - return linphonePlayer - } - - static func initSharedPlayer(){ - Log.i("[Voice Message] Creating shared player") - - let core = Core.getSwiftObject(cObject: LinphoneManager.getLc()) - do{ - if linphonePlayer?.userData == nil { - linphonePlayer = try core.createLocalPlayer(soundCardName: CallManager.instance().getSpeakerSoundCard(), videoDisplayName: nil, windowId: nil) - } - }catch{ - Log.e(error.localizedDescription) - } - } - - static func startSharedPlayer(_ path: String?) { - Log.i("[Voice Message] Starting shared player path = \(String(describing: path))") - if ((linphonePlayer!.userData) != nil) { - Log.i("[Voice Message] a play was requested (\(String(describing: path)), but there is already one going (\(String(describing: linphonePlayer?.userData))") - let userInfo = [ - "path": linphonePlayer!.userData - ] - NotificationCenter.default.post(name: NSNotification.Name(rawValue: "LinphoneVoiceMessagePlayerEOF"), object: nil, userInfo: userInfo as [AnyHashable : Any]) - } - CallManager.instance().changeRouteToSpeaker() - do{ - try linphonePlayer?.open(filename: path!) - try linphonePlayer?.start() - }catch{ - Log.e(error.localizedDescription) - } - } - - static func cancelVoiceRecordingVM(_ voiceRecorder: Recorder?) { - voiceRecorder?.close() - if let recordingFile = voiceRecorder?.file { - AppManager.removeFile(file: String(utf8String: recordingFile)!) - } - } - - static func stopSharedPlayer() { - Log.i("[Voice Message] Stopping shared player path = \(String(describing: linphonePlayer?.userData))") - do{ - try linphonePlayer?.pause() - try linphonePlayer?.seek(timeMs: 0) - //linphonePlayer?.close() - linphonePlayer?.userData = nil - }catch{ - Log.e(error.localizedDescription) - } - } -} diff --git a/Classes/Swift/Util/BackActionsNavigationView.swift b/Classes/Swift/Util/BackActionsNavigationView.swift deleted file mode 100644 index a8e6a085a..000000000 --- a/Classes/Swift/Util/BackActionsNavigationView.swift +++ /dev/null @@ -1,219 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import UIKit -import Foundation -import linphonesw -import SnapKit - -class BackActionsNavigationView: UIViewController { - let contentMessageView = ContentMessageView() - - let topBar = UIView() - let top_bar_height = 66.0 - let side_buttons_margin = 5 - - let titleLabel = StyledLabel(VoipTheme.chat_conversation_title) - let titleParticipants = UIView() - let titleGroupLabel = StyledLabel(VoipTheme.chat_conversation_title) - let participantsGroupLabel = StyledLabel(VoipTheme.chat_conversation_participants) - - var backAction : (() -> Void)? = nil - var action1 : (() -> Void)? = nil - var action2 : (() -> Void)? = nil - - let backButton = CallControlButton(buttonTheme:VoipTheme.nav_button("back_default")) - let cancelButton = CallControlButton(buttonTheme:VoipTheme.nav_button("cancel_edit_default")) - let action1Button = CallControlButton(buttonTheme:VoipTheme.nav_button("call_audio_start_default")) - let action1BisButton = CallControlButton(buttonTheme:VoipTheme.nav_button("voip_conference_new")) - let action1SelectAllButton = CallControlButton(buttonTheme:VoipTheme.nav_button("select_all_default")) - let action1DeselectAllButton = CallControlButton(buttonTheme:VoipTheme.nav_button("deselect_all")) - let action2Button = CallControlButton(buttonTheme:VoipTheme.nav_button("more_menu_default")) - let action2Delete = CallControlButton(buttonTheme:VoipTheme.nav_button("delete_default")) - - var isGroupChat : Bool = false - - func viewDidLoad(backAction : @escaping () -> Void, - action1 : @escaping () -> Void, - action2 : @escaping () -> Void, - action3 : @escaping () -> Void, - action4 : @escaping () -> Void, - title: String, - participants: String?) { - self.backAction = backAction - self.action1 = action1 - self.action2 = action2 - - self.view.addSubview(topBar) - //topBar.alignParentTop().height(top_bar_height).matchParentSideBorders().done() - topBar.alignParentTop().height(top_bar_height).done() - topBar.leftAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leftAnchor).isActive = true - topBar.rightAnchor.constraint(equalTo: view.safeAreaLayoutGuide.rightAnchor).isActive = true - - topBar.addSubview(backButton) - backButton.alignParentLeft(withMargin: side_buttons_margin).matchParentHeight().done() - backButton.onClickAction = backAction - - topBar.addSubview(cancelButton) - cancelButton.alignParentLeft(withMargin: side_buttons_margin).matchParentHeight().done() - cancelButton.onClickAction = editModeOff - cancelButton.isHidden = true - - topBar.addSubview(action2Button) - action2Button.alignParentRight(withMargin: side_buttons_margin).matchParentHeight().done() - action2Button.onClickAction = action2 - action2Button.onLongClick(action: action4) - - topBar.addSubview(action2Delete) - action2Delete.alignParentRight(withMargin: side_buttons_margin).matchParentHeight().done() - action2Delete.onClickAction = deleteSelected - action2Delete.isHidden = true - - topBar.addSubview(action1Button) - topBar.addSubview(action1BisButton) - action1Button.toLeftOf(action2Button, withRightMargin: 20).matchParentHeight().done() - action1BisButton.toLeftOf(action2Button, withRightMargin: 12).matchParentHeight().done() - action1Button.size(w: 34, h: 34).done() - - action1Button.onClickAction = action1 - action1BisButton.onClickAction = action1 - action1BisButton.isHidden = true - - topBar.addSubview(action1SelectAllButton) - topBar.addSubview(action1DeselectAllButton) - action1SelectAllButton.toLeftOf(action2Button, withRightMargin: 12).matchParentHeight().done() - action1DeselectAllButton.toLeftOf(action2Button, withRightMargin: 12).matchParentHeight().done() - action1SelectAllButton.onClickAction = selectDeselectAll - action1DeselectAllButton.onClickAction = selectDeselectAll - action1SelectAllButton.isHidden = true - action1DeselectAllButton.isHidden = true - - topBar.addSubview(titleLabel) - titleLabel.toRightOf(backButton, withLeftMargin: 10).matchParentHeight().done() - titleLabel.toLeftOf(action1Button, withRightMargin: 20).done() - titleLabel.text = title - - topBar.addSubview(titleParticipants) - titleParticipants.toRightOf(backButton, withLeftMargin: 10).matchParentHeight().done() - titleParticipants.backgroundColor = VoipTheme.voipToolbarBackgroundColor.get() - titleParticipants.toLeftOf(action1Button, withRightMargin: 20).done() - - titleParticipants.addSubview(titleGroupLabel) - titleGroupLabel.alignParentTop(withMargin: 10).matchParentSideBorders().done() - titleGroupLabel.text = title - - titleParticipants.addSubview(participantsGroupLabel) - participantsGroupLabel.alignParentBottom(withMargin: 10).matchParentSideBorders().done() - participantsGroupLabel.text = participants - - super.viewDidLoad() - - view.addSubview(contentMessageView.view) - - view.bringSubviewToFront(topBar) - - UIDeviceBridge.displayModeSwitched.readCurrentAndObserve { _ in - self.topBar.backgroundColor = VoipTheme.voipToolbarBackgroundColor.get() - self.titleParticipants.backgroundColor = VoipTheme.voipToolbarBackgroundColor.get() - } - } - - func resetRecordingProgressBar(){ - - } - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - topBar.backgroundColor = VoipTheme.voipToolbarBackgroundColor.get() - } - - func editModeOn(){ - backButton.isHidden = true - cancelButton.isHidden = false - action1Button.isHidden = true - action1BisButton.isHidden = true - action1SelectAllButton.isHidden = false - action1DeselectAllButton.isHidden = true - action2Button.isHidden = true - action2Delete.isHidden = false - action2Delete.isEnabled = false - } - - func editModeOff(){ - backButton.isHidden = false - cancelButton.isHidden = true - action1DeselectAllButton.isHidden = true - action1SelectAllButton.isHidden = true - action2Button.isHidden = false - action2Delete.isHidden = true - changeCallIcon(groupChat: isGroupChat) - } - - func changeCallIcon(groupChat: Bool){ - isGroupChat = groupChat - let defaultAccount = Core.getSwiftObject(cObject: LinphoneManager.getLc()).defaultAccount - if(groupChat && (defaultAccount != nil) && (defaultAccount!.params!.audioVideoConferenceFactoryAddress != nil)){ - action1Button.isHidden = true - action1BisButton.isHidden = false - }else if(groupChat){ - action1Button.isHidden = true - action1BisButton.isHidden = true - }else{ - action1Button.isHidden = false - action1BisButton.isHidden = true - } - } - - func selectDeselectAll(){ - if(action1SelectAllButton.isHidden){ - action1SelectAllButton.isHidden = false - action1DeselectAllButton.isHidden = true - action2Delete.isEnabled = false - }else{ - action1SelectAllButton.isHidden = true - action1DeselectAllButton.isHidden = false - action2Delete.isEnabled = true - } - } - - func changeTitle(titleString: String){ - titleLabel.text = titleString - titleGroupLabel.text = titleString - } - - func deleteSelected(){ - } -} - -extension UIView { - func setHeight(_ h:CGFloat, animateTime:TimeInterval?=nil) { - if let c = self.constraints.first(where: { $0.firstAttribute == .height && $0.relation == .equal }) { - c.constant = CGFloat(h) - if self.superview != nil { - if let animateTime = animateTime { - UIView.animate(withDuration: animateTime, animations:{ - self.superview?.layoutIfNeeded() - }) - } else { - self.superview?.layoutIfNeeded() - } - } - } - } -} diff --git a/Classes/Swift/Util/BackNextNavigationView.swift b/Classes/Swift/Util/BackNextNavigationView.swift deleted file mode 100644 index 22582c4cb..000000000 --- a/Classes/Swift/Util/BackNextNavigationView.swift +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import linphonesw - -@objc class BackNextNavigationView: UIViewController { - - - // layout constants - let top_bar_height = 66.0 - let navigation_buttons_padding = 18.0 - let content_margin_top = 20 - let side_buttons_margin = 5 - - // User by subviews - let form_margin = 10.0 - let form_input_height = 40.0 - let schdule_for_later_height = 80.0 - let description_height = 150.0 - - let titleLabel = StyledLabel(VoipTheme.calls_list_header_font) - - let topBar = UIView() - let scrollView = UIScrollView() - let contentView = UIView() - var backAction : (() -> Void)? = nil - var nextAction : (() -> Void)? = nil - - let backButton = CallControlButton(buttonTheme:VoipTheme.nav_button("back_default")) - let nextButton = CallControlButton(buttonTheme:VoipTheme.nav_button("next_default")) - - func viewDidLoad(backAction : @escaping () -> Void, - nextAction : @escaping () -> Void, - nextActionEnableCondition: MutableLiveData, - title:String) { - self.backAction = backAction - self.nextAction = nextAction - - self.view.addSubview(topBar) - topBar.alignParentTop().height(top_bar_height).matchParentSideBorders().done() - - topBar.addSubview(backButton) - backButton.alignParentLeft(withMargin: side_buttons_margin).matchParentHeight().done() - backButton.onClickAction = backAction - - topBar.addSubview(nextButton) - nextButton.alignParentRight(withMargin: side_buttons_margin).matchParentHeight().done() - nextButton.onClickAction = nextAction - nextActionEnableCondition.readCurrentAndObserve { (enableNext) in - self.nextButton.isEnabled = enableNext == true - } - - topBar.addSubview(titleLabel) - titleLabel.matchParentHeight().centerX().done() - titleLabel.text = title - - super.viewDidLoad() - - view.addSubview(scrollView) - scrollView.alignUnder(view: topBar, withMargin: content_margin_top).alignParentBottom().matchParentSideBorders().done() - scrollView.addSubview(contentView) - contentView.matchBordersOf(view: view).alignParentBottom().alignParentTop().done() // don't forget a bottom constraint b/w last element of contentview and contentview - UIDeviceBridge.displayModeSwitched.readCurrentAndObserve { _ in - self.topBar.backgroundColor = VoipTheme.voipToolbarBackgroundColor.get() - } - } - -} diff --git a/Classes/Swift/Util/ContentMessageView.swift b/Classes/Swift/Util/ContentMessageView.swift deleted file mode 100644 index c59056ca2..000000000 --- a/Classes/Swift/Util/ContentMessageView.swift +++ /dev/null @@ -1,272 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import UIKit - -class ContentMessageView: UIViewController { - var message_height = 66.0 - let top_bar_height = 66.0 - let contentView = UIView() - let isComposingView = UIView() - let isComposingTextView = StyledLabel(VoipTheme.chat_conversation_is_composing_text) - let replyLabelTextView = StyledLabel(VoipTheme.chat_conversation_reply_label) - let replyContentTextView = StyledLabel(VoipTheme.chat_conversation_reply_content) - let replyContentTextSpacing = UIView() - let replyContentForMeetingTextView = StyledLabel(VoipTheme.chat_conversation_reply_content) - let replyDeleteButton = CallControlButton(width: 22, height: 22, buttonTheme:VoipTheme.nav_color_button("reply_cancel")) - let replyMeetingSchedule = UIImageView() - let recordingView = UIView() - let recordingDeleteButton = CallControlButton(width: 40, height: 40, buttonTheme:VoipTheme.nav_button("delete_default")) - let recordingPlayButton = CallControlButton(width: 40, height: 40, buttonTheme:VoipTheme.nav_button("vr_play")) - let recordingStopButton = CallControlButton(width: 40, height: 40, buttonTheme:VoipTheme.nav_button("vr_stop")) - var recordingWaveView = UIProgressView() - let recordingDurationTextView = StyledLabel(VoipTheme.chat_conversation_recording_duration) - let recordingWaveImage = UIImageView(image: UIImage(named: "vr_wave.png")) - let recordingWaveImageMask = UIView() - - let recordingPlayerImage = UIView() - - let messageView = MessageView() - let mediaSelector = UIView() - let mediaSelectorReply = UIView() - var replyBubble = UIView() - var backgroundReplyColor = UIView() - - var isSecure : Bool = false - let floatingButton = CallControlButton(buttonTheme:VoipTheme.nav_button("")) - var constraintFloatingButton : NSLayoutConstraint? = nil - var constraintLandscapeFloatingButton : NSLayoutConstraint? = nil - - var stackView = UIStackView() - var stackViewReply = UIStackView() - - override func viewDidLoad() { - super.viewDidLoad() - - view.backgroundColor = VoipTheme.voipToolbarBackgroundColor.get() - - stackView.axis = .vertical; - stackView.distribution = .fill; - stackView.alignment = .center; - stackView.spacing = 1; - - stackView.translatesAutoresizingMaskIntoConstraints = false - view.addSubview(stackView) - - let keyWindow = UIApplication.shared.windows.filter {$0.isKeyWindow}.first - if keyWindow != nil { - stackView.alignParentTop().alignParentBottom(withMargin: keyWindow!.safeAreaInsets.bottom/2).done() - }else{ - stackView.alignParentTop().alignParentBottom().done() - } - - stackView.leftAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leftAnchor).isActive = true - stackView.rightAnchor.constraint(equalTo: view.safeAreaLayoutGuide.rightAnchor).isActive = true - - stackView.addArrangedSubview(contentView) - contentView.alignParentTop(withMargin: top_bar_height).matchParentSideBorders().done() - - stackView.addArrangedSubview(isComposingView) - isComposingView.height(top_bar_height/2).matchParentSideBorders().done() - isComposingView.isHidden = true - - isComposingView.addSubview(isComposingTextView) - isComposingTextView.alignParentLeft(withMargin: 10).alignParentRight(withMargin: 10).alignParentTop(withMargin: 10).matchParentHeight().done() - isComposingView.backgroundColor = VoipTheme.backgroundWhiteBlack.get() - - stackView.addArrangedSubview(replyBubble) - replyBubble.matchParentSideBorders().maxHeight(top_bar_height*3).done() - replyBubble.translatesAutoresizingMaskIntoConstraints = false - replyBubble.backgroundColor = VoipTheme.voipToolbarBackgroundColor.get() - replyBubble.isHidden = true - - replyBubble.addSubview(backgroundReplyColor) - backgroundReplyColor.matchParentSideBorders().matchParentHeight().done() - - stackViewReply.axis = .vertical; - stackViewReply.distribution = .fill; - stackViewReply.alignment = .leading; - - replyBubble.addSubview(stackViewReply) - stackViewReply.alignParentLeft(withMargin: 10).alignParentRight(withMargin: 50).alignParentBottom(withMargin: 10).matchParentHeight().wrapContentY().done() - stackViewReply.translatesAutoresizingMaskIntoConstraints = false - - stackViewReply.addArrangedSubview(replyLabelTextView) - replyLabelTextView.height(30).done() - - stackViewReply.addArrangedSubview(replyMeetingSchedule) - replyMeetingSchedule.size(w: 100, h: 40).wrapContentY().done() - replyMeetingSchedule.contentMode = .scaleAspectFit - replyMeetingSchedule.isHidden = true - - stackViewReply.addArrangedSubview(replyContentForMeetingTextView) - replyContentForMeetingTextView.width(100).wrapContentY().done() - replyContentForMeetingTextView.textAlignment = .center - replyContentForMeetingTextView.numberOfLines = 5 - replyContentForMeetingTextView.isHidden = true - - stackViewReply.addArrangedSubview(mediaSelectorReply) - mediaSelectorReply.height(top_bar_height).wrapContentY().alignParentRight(withMargin: 50).done() - mediaSelectorReply.isHidden = true - - stackViewReply.addArrangedSubview(replyContentTextSpacing) - replyContentTextSpacing.height(8 ).wrapContentY().done() - replyContentTextSpacing.isHidden = true - - stackViewReply.addArrangedSubview(replyContentTextView) - replyContentTextView.wrapContentY().done() - replyContentTextView.numberOfLines = 5 - - replyBubble.addSubview(replyDeleteButton) - replyDeleteButton.alignParentRight(withMargin: 15).centerY().done() - - stackView.addArrangedSubview(recordingView) - recordingView.height(top_bar_height).wrapContentY().matchParentSideBorders().done() - recordingView.backgroundColor = VoipTheme.voipToolbarBackgroundColor.get() - recordingView.isHidden = true - - resetRecordingProgressBar() - - stackView.addArrangedSubview(mediaSelector) - mediaSelector.height(top_bar_height*2).matchParentSideBorders().done() - mediaSelector.backgroundColor = VoipTheme.voipToolbarBackgroundColor.get() - mediaSelector.isHidden = true - - stackView.addArrangedSubview(messageView) - if keyWindow != nil { - message_height = 66 - ((keyWindow!.safeAreaInsets.bottom/2)/2) - } - - messageView.alignParentBottom().height(message_height).matchParentSideBorders().done() - - stackView.translatesAutoresizingMaskIntoConstraints = false; - view.addSubview(stackView) - - view.addSubview(floatingButton) - constraintFloatingButton = floatingButton.rightAnchor.constraint(equalTo: self.view.rightAnchor, constant: 3) - constraintLandscapeFloatingButton = floatingButton.rightAnchor.constraint(equalTo: self.view.rightAnchor, constant: -56) - if UIDevice.current.orientation.isLandscape { - constraintLandscapeFloatingButton!.isActive = true - } else { - constraintFloatingButton!.isActive = true - } - floatingButton.topAnchor.constraint(equalTo: self.view.layoutMarginsGuide.topAnchor, constant: top_bar_height).isActive = true - floatingButton.setImage(UIImage(named:"security_alert_indicator.png"), for: .normal) - floatingButton.imageEdgeInsets = UIEdgeInsets(top: 42, left: 42, bottom: 42, right: 42) - - stackView.centerXAnchor.constraint(equalTo:self.view.centerXAnchor).isActive = true - stackView.centerYAnchor.constraint(equalTo:self.view.centerYAnchor).isActive = true - - self.dismissKeyboard() - - NotificationCenter.default.addObserver(self, selector: #selector(self.rotated), name: UIDevice.orientationDidChangeNotification, object: nil) - NotificationCenter.default.addObserver(self, selector: #selector(self.changeSizeOfTextView), name: Notification.Name("LinphoneTextViewSize"), object: nil) - NotificationCenter.default.addObserver(self, selector: #selector(self.resetSizeOfTextView), name: Notification.Name("LinphoneResetTextViewSize"), object: nil) - - UIDeviceBridge.displayModeSwitched.readCurrentAndObserve { _ in - self.replyBubble.backgroundColor = VoipTheme.voipToolbarBackgroundColor.get() - self.recordingView.backgroundColor = VoipTheme.voipToolbarBackgroundColor.get() - self.mediaSelector.backgroundColor = VoipTheme.voipToolbarBackgroundColor.get() - self.isComposingView.backgroundColor = VoipTheme.backgroundWhiteBlack.get() - self.recordingWaveView.backgroundColor = VoipTheme.backgroundWhiteBlack.get() - self.recordingWaveImageMask.backgroundColor = VoipTheme.backgroundWhiteBlack.get() - self.view.backgroundColor = VoipTheme.voipToolbarBackgroundColor.get() - } - } - - deinit { - NotificationCenter.default.removeObserver(self) - } - - func resetRecordingProgressBar(){ - recordingView.addSubview(recordingDeleteButton) - recordingDeleteButton.alignParentLeft(withMargin: 10).matchParentHeight().done() - - recordingView.addSubview(recordingPlayButton) - recordingPlayButton.alignParentRight(withMargin: 10).matchParentHeight().done() - recordingPlayButton.isHidden = true - - recordingView.addSubview(recordingStopButton) - recordingStopButton.alignParentRight(withMargin: 10).matchParentHeight().done() - - let newRecordingWaveView = UIProgressView() - recordingWaveView = newRecordingWaveView - - recordingView.addSubview(recordingWaveView) - recordingWaveView.toRightOf(recordingDeleteButton, withLeftMargin: 10).toLeftOf(recordingStopButton, withRightMargin: 10).alignParentTop(withMargin: 10).alignParentBottom(withMargin: 10).done() - recordingWaveView.progressViewStyle = .bar - recordingWaveView.layer.cornerRadius = 5 - recordingWaveView.backgroundColor = VoipTheme.backgroundWhiteBlack.get() - recordingWaveView.progressImage = UIImage.withColor(UIColor("L")) - recordingWaveView.clipsToBounds = true - - recordingWaveView.addSubview(recordingDurationTextView) - recordingDurationTextView.alignParentRight(withMargin: 10).matchParentHeight().done() - - recordingWaveView.addSubview(recordingWaveImage) - recordingWaveImage.alignParentTop(withMargin: 10).alignParentBottom(withMargin: 10).alignParentLeft(withMargin: 10).alignParentRight(withMargin: 65).done() - - recordingWaveView.addSubview(recordingWaveImageMask) - recordingWaveImageMask.alignParentTop(withMargin: 5).alignParentBottom(withMargin: 5).alignParentLeft(withMargin: 10).alignParentRight(withMargin: 65).done() - recordingWaveImageMask.backgroundColor = VoipTheme.backgroundWhiteBlack.get() - } - - @objc func rotated() { - if UIDevice.current.orientation.isLandscape { - constraintLandscapeFloatingButton!.isActive = true - constraintFloatingButton!.isActive = false - } else if UIDevice.current.orientation.isPortrait { - constraintLandscapeFloatingButton!.isActive = false - constraintFloatingButton!.isActive = true - } - } - - @objc func changeSizeOfTextView(){ - let numLines = (messageView.messageText.contentSize.height / messageView.messageText.font!.lineHeight) - if numLines >= 2 && numLines <= 6 { - messageView.setHeight((message_height * numLines)/2) - } else if numLines < 2 { - messageView.setHeight(message_height) - } - } - - @objc func resetSizeOfTextView(){ - messageView.setHeight(message_height) - } - - func dismissKeyboard() { - let tap: UITapGestureRecognizer = UITapGestureRecognizer( target: self, action: #selector(self.dismissKeyboardTouchOutside)) - tap.cancelsTouchesInView = false - view.addGestureRecognizer(tap) - } - - @objc private func dismissKeyboardTouchOutside() { - view.endEditing(true) - } - - func changeSecureLevel(secureLevel: Bool, imageBadge: UIImage?){ - isSecure = secureLevel - if(isSecure){ - floatingButton.isHidden = false - floatingButton.setImage(imageBadge, for: .normal) - }else{ - floatingButton.isHidden = true - } - } -} diff --git a/Classes/Swift/Util/CustomAlertController.swift b/Classes/Swift/Util/CustomAlertController.swift deleted file mode 100644 index 7546488cc..000000000 --- a/Classes/Swift/Util/CustomAlertController.swift +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation - -class CustomAlertController: UIAlertController { - - let cancel_button_alert = UIButton() - let ok_button_alert = UIButton() - let checkBoxButton = CallControlButton(buttonTheme:VoipTheme.nav_button("checkbox_unchecked")) - var isChecked = false - let checkBoxText = UILabel() - - @objc func dismissOnTapOutsideOrCancel(){ - self.dismiss(animated: true, completion: nil) - } - - @objc func onTapOk(){ - self.dismiss(animated: true, completion: nil) - } - - @objc func changeCheckValue(){ - isChecked = !isChecked - checkBoxButton.isSelected = isChecked - } - - func addButtonsAlertController(alertController: UIAlertController, buttonsViewHeightV: CGFloat, checkboxViewHeightV: CGFloat? = nil, buttonsAlertHeightV: CGFloat){ - let buttonsViewHeight = buttonsViewHeightV - let checkboxViewHeight = checkboxViewHeightV ?? 0 - let buttonsAlertHeight = buttonsAlertHeightV - - let alertControllerHeight : CGFloat = (buttonsViewHeight + checkboxViewHeight + buttonsAlertHeight) * 2 - - let buttonsView = UIView() - alertController.view.addSubview(buttonsView) - buttonsView.translatesAutoresizingMaskIntoConstraints = false - buttonsView.bottomAnchor.constraint(equalTo: alertController.view.bottomAnchor, constant: -10).isActive = true - buttonsView.rightAnchor.constraint(equalTo: alertController.view.rightAnchor, constant: -10).isActive = true - buttonsView.leftAnchor.constraint(equalTo: alertController.view.leftAnchor, constant: 10).isActive = true - buttonsView.heightAnchor.constraint(equalToConstant: buttonsViewHeight).isActive = true - - alertController.view.translatesAutoresizingMaskIntoConstraints = false - alertController.view.heightAnchor.constraint(equalToConstant: alertControllerHeight).isActive = true - - cancel_button_alert.setTitle(VoipTexts.cancel.uppercased(), for: .normal) - cancel_button_alert.backgroundColor = .systemRed - cancel_button_alert.layer.cornerRadius = 5 - cancel_button_alert.addTarget(self, action: #selector(dismissOnTapOutsideOrCancel), for: .touchUpInside) - buttonsView.addSubview(cancel_button_alert) - cancel_button_alert.alignParentLeft(withMargin: 40).size(w: 100, h: buttonsAlertHeight).done() - - ok_button_alert.setTitle(VoipTexts.ok.uppercased(), for: .normal) - ok_button_alert.backgroundColor = .systemGreen - ok_button_alert.layer.cornerRadius = 5 - ok_button_alert.addTarget(self, action: #selector(onTapOk), for: .touchUpInside) - buttonsView.addSubview(ok_button_alert) - ok_button_alert.alignParentRight(withMargin: 40).size(w: 100, h: buttonsAlertHeight).done() - - if(checkboxViewHeight != 0){ - let checkboxView = UIView() - alertController.view.addSubview(checkboxView) - checkboxView.translatesAutoresizingMaskIntoConstraints = false - checkboxView.bottomAnchor.constraint(equalTo: buttonsView.topAnchor, constant: -5).isActive = true - checkboxView.centerXAnchor.constraint(equalTo: alertController.view.centerXAnchor).isActive = true - checkboxView.heightAnchor.constraint(equalToConstant: checkboxViewHeight).isActive = true - checkboxView.width(180).done() - - checkBoxButton.setImage(UIImage(named:"checkbox_unchecked.png"), for: .normal) - checkBoxButton.setImage(UIImage(named:"checkbox_checked.png"), for: .selected) - checkBoxButton.addTarget(self, action: #selector(changeCheckValue), for: .touchUpInside) - checkboxView.addSubview(checkBoxButton) - - checkBoxText.text = VoipTexts.alert_dialog_secure_badge_button_chat_conversation_checkboxtext - checkBoxText.textColor = .white - checkboxView.addSubview(checkBoxText) - checkBoxText.toRightOf(checkBoxButton, withLeftMargin: -5).height(checkboxViewHeight).done() - checkBoxText.sizeToFit() - } - } - - func setBackgroundColor(color: UIColor) { - if let bgView = self.view.subviews.first, let groupView = bgView.subviews.first, let contentView = groupView.subviews.first { - contentView.backgroundColor = color - } - } - - func setMaxWidth(alert: UIAlertController) { - let widthConstraints = alert.view.constraints.filter({ return $0.firstAttribute == .width }) - alert.view.removeConstraints(widthConstraints) - let newWidth = UIScreen.main.bounds.width * 0.90 - let widthConstraint = NSLayoutConstraint(item: alert.view, - attribute: .width, - relatedBy: .equal, - toItem: nil, - attribute: .notAnAttribute, - multiplier: 1, - constant: newWidth) - alert.view.addConstraint(widthConstraint) - let firstContainer = alert.view.subviews[0] - let constraint = firstContainer.constraints.filter({ return $0.firstAttribute == .width && $0.secondItem == nil }) - firstContainer.removeConstraints(constraint) - alert.view.addConstraint(NSLayoutConstraint(item: firstContainer, - attribute: .width, - relatedBy: .equal, - toItem: alert.view, - attribute: .width, - multiplier: 1.0, - constant: 0)) - let innerBackground = firstContainer.subviews[0] - let innerConstraints = innerBackground.constraints.filter({ return $0.firstAttribute == .width && $0.secondItem == nil }) - innerBackground.removeConstraints(innerConstraints) - firstContainer.addConstraint(NSLayoutConstraint(item: innerBackground, - attribute: .width, - relatedBy: .equal, - toItem: firstContainer, - attribute: .width, - multiplier: 1.0, - constant: 0)) - } - - func setTitle(font: UIFont?, color: UIColor?) { - guard let title = self.title else { return } - let attributeString = NSMutableAttributedString(string: title) - - if let titleFont = font { - attributeString.addAttributes([NSAttributedString.Key.font : titleFont], - range: NSMakeRange(0, title.count)) - } - - if let titleColor = color { - attributeString.addAttributes([NSAttributedString.Key.foregroundColor : titleColor], - range: NSMakeRange(0, title.count)) - } - - self.setValue(attributeString, forKey: "attributedTitle") - } - - func setMessage(font: UIFont?, color: UIColor?) { - guard let message = self.message else { return } - let attributeString = NSMutableAttributedString(string: message) - if let messageFont = font { - attributeString.addAttributes([NSAttributedString.Key.font : messageFont], - range: NSMakeRange(0, message.count)) - } - - if let messageColorColor = color { - attributeString.addAttributes([NSAttributedString.Key.foregroundColor : messageColorColor], - range: NSMakeRange(0, message.count)) - } - self.setValue(attributeString, forKey: "attributedMessage") - } - - func setTint(color: UIColor) { - self.view.tintColor = color - } -} diff --git a/Classes/Swift/Util/MutableLiveData.swift b/Classes/Swift/Util/MutableLiveData.swift deleted file mode 100644 index 125939785..000000000 --- a/Classes/Swift/Util/MutableLiveData.swift +++ /dev/null @@ -1,138 +0,0 @@ -/* -* Copyright (c) 2010-2020 Belledonne Communications SARL. -* -* This file is part of linhome -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see . -*/ - - -import Foundation - - -class MutableLiveDataOnChangeClosure: NSObject { - let value: (Type?) -> Void - let onlyOnce: Bool - init(_ function: @escaping (Type?) -> Void, onlyOnce:Bool = false) { - value = function - self.onlyOnce = onlyOnce - } -} - -class MutableLiveData { - - private var _value : T? = nil - private var observers = [MutableLiveDataOnChangeClosure] () - private var _opposite : MutableLiveData? = nil - - init(_ initial:T) { - self.value = initial - } - - init() { - } - - var value : T? { - get { - return self._value - } - set { - self._value = newValue - self.notifyAllObservers(with: newValue) - } - } - - - func addObserver(observer: MutableLiveDataOnChangeClosure, andNotifyOnce: Bool = false) { - observers.append(observer) - if (andNotifyOnce) { - notifyValue() - } - } - - func removeObserver(observer: MutableLiveDataOnChangeClosure) { - observers = observers.filter({$0 !== observer}) - } - - - func clearObservers() { - observers.forEach { - removeObserver(observer: $0) - } - } - - - func notifyAllObservers(with newValue: T?) { - for observer in observers { - observer.value(newValue) - if (observer.onlyOnce) { - removeObserver(observer: observer) - } - } - } - - func notifyValue() { - for observer in observers { - observer.value(value) - if (observer.onlyOnce) { - removeObserver(observer: observer) - } - } - } - - func observe(onChange : @escaping (T?)->Void) { - let observer = MutableLiveDataOnChangeClosure({ value in - onChange(value) - }, onlyOnce: false) - addObserver(observer: observer) - } - - func readCurrentAndObserve(onChange : @escaping (T?)->Void) { - let observer = MutableLiveDataOnChangeClosure({ value in - onChange(value) - }, onlyOnce: false) - addObserver(observer: observer) - observer.value(value) - } - - func observeAsUniqueObserver (onChange : @escaping (T?)->Void, unique: Bool = false) { - let observer = MutableLiveDataOnChangeClosure({ value in - onChange(value) - }, onlyOnce: false) - if (unique) { - clearObservers() - } - addObserver(observer: observer) - } - - func observeOnce(onChange : @escaping (T?)->Void) { - let observer = MutableLiveDataOnChangeClosure({ value in - onChange(value) - }, onlyOnce: true) - addObserver(observer: observer) - } - - func opposite() -> MutableLiveData? { - if (_opposite != nil) { - return _opposite - } - _opposite = MutableLiveData(!(value! as! Bool)) - observe { (value) in - self._opposite!.value = !(value! as! Bool) - } - return _opposite - } - - -} diff --git a/Classes/Swift/Util/Pair.swift b/Classes/Swift/Util/Pair.swift deleted file mode 100644 index f49b6fa98..000000000 --- a/Classes/Swift/Util/Pair.swift +++ /dev/null @@ -1,33 +0,0 @@ -/* -* Copyright (c) 2010-2020 Belledonne Communications SARL. -* -* This file is part of linhome -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see . -*/ - - -import Foundation - -class Pair { - var first:T1 - var second:T2 - - init(_ first:T1, _ second:T2) { - self.first = first - self.second = second - } - - -} diff --git a/Classes/Swift/Util/TimestampUtils.swift b/Classes/Swift/Util/TimestampUtils.swift deleted file mode 100644 index 18087c33a..000000000 --- a/Classes/Swift/Util/TimestampUtils.swift +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-android - * (see https://www.linphone.org). - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -class TimestampUtils { - - static func is24Hour() -> Bool { - let dateFormat = DateFormatter.dateFormat(fromTemplate: "j", options: 0, locale: Locale.current)! - return dateFormat.firstIndex(of: "a") == nil - } - - static func timeToString(unixTimestamp: Double, timestampInSecs: Bool = true) -> String { - let date = Date(timeIntervalSince1970: unixTimestamp) - let dateFormat = DateFormatter() - dateFormat.dateFormat = is24Hour() ? "HH'h'mm" : "h:mm a" - return dateFormat.string(from: date) - } - - static func toString( - unixTimestamp: Double, - onlyDate: Bool = false, - timestampInSecs: Bool = true, - shortDate: Bool = true - ) -> String { - let date = Date(timeIntervalSince1970: unixTimestamp) - let dateFormatter = DateFormatter() - dateFormatter.dateStyle = onlyDate ? .none : .long - dateFormatter.timeStyle = shortDate ? .short : .long - dateFormatter.doesRelativeDateFormatting = true - return dateFormatter.string(from: date) - } - - static func dateToString(date:Date) -> String { - let dateFormatter = DateFormatter() - dateFormatter.dateStyle = .short - dateFormatter.timeStyle = .none - return dateFormatter.string(from: date) - } - - static func dateLongToString(date:Date) -> String { - let dateFormatter = DateFormatter() - dateFormatter.dateStyle = .long - dateFormatter.timeStyle = .none - let dayFormatter = DateFormatter() - dayFormatter.dateFormat = "EEEE" - let day = dayFormatter.string(from: date) - return day.prefix(1).uppercased() + day.dropFirst()+" "+dateFormatter.string(from: date) - } - - static func timeToString(date:Date) -> String { - let dateFormatter = DateFormatter() - dateFormatter.dateStyle = .none - dateFormatter.timeStyle = .short - return dateFormatter.string(from: date) - } - - -} - diff --git a/Classes/Swift/Util/UIImageExtension.swift b/Classes/Swift/Util/UIImageExtension.swift deleted file mode 100644 index ed0bb52cd..000000000 --- a/Classes/Swift/Util/UIImageExtension.swift +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation - -extension UIImage { - - public static func withColor(_ color: UIColor, size: CGSize = CGSize(width: 1, height: 1)) -> UIImage { - let format = UIGraphicsImageRendererFormat() - format.scale = 1 - let image = UIGraphicsImageRenderer(size: size, format: format).image { rendererContext in - color.setFill() - rendererContext.fill(CGRect(origin: .zero, size: size)) - } - return image - } - -} diff --git a/Classes/Swift/Util/ViewModel/MediatorLiveData.swift b/Classes/Swift/Util/ViewModel/MediatorLiveData.swift deleted file mode 100644 index f040df597..000000000 --- a/Classes/Swift/Util/ViewModel/MediatorLiveData.swift +++ /dev/null @@ -1,48 +0,0 @@ -/* -* Copyright (c) 2010-2020 Belledonne Communications SARL. -* -* This file is part of linhome -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see . -*/ - - -import Foundation - - -class MediatorLiveData : MutableLiveData { - - private var sources : [MutableLiveData?] = [] - - override init(_ initial:T) { - super.init(initial) - } - - override init () { - super.init() - } - - func addSource(_ source: MutableLiveData, _ onSourceChange:@escaping ()->Void) { - sources.append(source) - source.observe(onChange: { _ in - onSourceChange() - }) - } - - func destroy() { - sources.forEach { $0?.clearObservers() } - clearObservers() - } - -} diff --git a/Classes/Swift/Util/Viewers/ImageViewer.swift b/Classes/Swift/Util/Viewers/ImageViewer.swift deleted file mode 100644 index 44d15fbe3..000000000 --- a/Classes/Swift/Util/Viewers/ImageViewer.swift +++ /dev/null @@ -1,157 +0,0 @@ -// -// ImageViewer.swift -// linphone -// -// Created by Benoît Martins on 21/06/2023. -// - -import Foundation - -@objc class ImageViewer: BackNextNavigationView, UICompositeViewDelegate, UIScrollViewDelegate, QLPreviewControllerDelegate, QLPreviewControllerDataSource { - static let compositeDescription = UICompositeViewDescription(ImageViewer.self, statusBar: StatusBarView.self, tabBar: nil, sideMenu: SideMenuView.self, fullscreen: false, isLeftFragment: false,fragmentWith: nil) - static func compositeViewDescription() -> UICompositeViewDescription! { return compositeDescription } - func compositeViewDescription() -> UICompositeViewDescription! { return type(of: self).compositeDescription } - - @objc var imageNameViewer = "" - @objc var imagePathViewer = "" - @objc var imageViewer = UIImage() - var newImageView = UIImageView() - let imageViewViewer = UIImageView() - let imageScrollView = UIScrollView() - var previewItems : [QLPreviewItem?] = [] - - override func viewDidLoad() { - - super.viewDidLoad( - backAction: { - PhoneMainView.instance().popView(self.compositeViewDescription()) - },nextAction: { - }, - nextActionEnableCondition: MutableLiveData(false), - title:"") - super.nextButton.isHidden = true - - let shareButton = CallControlButton(buttonTheme:VoipTheme.nav_button("voip_export")) - super.topBar.addSubview(shareButton) - shareButton.alignParentRight(withMargin: side_buttons_margin).alignParentBottom(withMargin: 18).alignParentTop(withMargin: 18).done() - - shareButton.addTarget(self, action: #selector(shareTextButton), for: .touchUpInside) - - UIDeviceBridge.displayModeSwitched.readCurrentAndObserve { _ in - self.view.backgroundColor = VoipTheme.voipBackgroundBWColor.get() - } - - } - - override func viewWillAppear(_ animated: Bool) { - let vWidth = self.view.bounds.size.width - let vHeight = self.view.bounds.size.height-66 - - - newImageView.removeFromSuperview() - imageViewViewer.removeFromSuperview() - imageScrollView.removeFromSuperview() - - imageScrollView.delegate = self - imageScrollView.frame = CGRectMake(0, 66, vWidth, vHeight) - imageScrollView.showsVerticalScrollIndicator = true - - imageScrollView.minimumZoomScale = 1.0 - imageScrollView.maximumZoomScale = 10.0 - - self.view.addSubview(imageScrollView) - - imageViewViewer.contentMode = .scaleAspectFit - imageScrollView.addSubview(imageViewViewer) - self.imageViewViewer.frame = CGRect(x: 0, y: 0, width: vWidth, height: vHeight) - self.view.bringSubviewToFront(topBar) - - let pictureTap = UITapGestureRecognizer(target: self, action: #selector(imageTapped)) - imageViewViewer.addGestureRecognizer(pictureTap) - imageViewViewer.isUserInteractionEnabled = true - - imageViewViewer.image = imageViewer - titleLabel.text = imageNameViewer - } - - override func didRotate(from fromInterfaceOrientation: UIInterfaceOrientation) { - dismissFullscreenImageRotated() - self.viewWillAppear(true) - } - - @IBAction func imageTapped(_ sender: UITapGestureRecognizer) { - let imageView = sender.view as! UIImageView - newImageView = UIImageView(image: imageView.image) - newImageView.frame = UIScreen.main.bounds - newImageView.frame = CGRectMake(0, 0, UIScreen.main.bounds.size.width, UIScreen.main.bounds.size.height-20) - newImageView.backgroundColor = .black - newImageView.contentMode = .scaleAspectFit - newImageView.isUserInteractionEnabled = true - let tap = UITapGestureRecognizer(target: self, action: #selector(dismissFullscreenImage)) - newImageView.addGestureRecognizer(tap) - self.view.addSubview(newImageView) - self.navigationController?.isNavigationBarHidden = true - self.tabBarController?.tabBar.isHidden = true - PhoneMainView.instance().hideStatusBar(true) - } - - func dismissFullscreenImageRotated() { - self.navigationController?.isNavigationBarHidden = false - self.tabBarController?.tabBar.isHidden = false - PhoneMainView.instance().hideStatusBar(false) - } - - @objc func dismissFullscreenImage(_ sender: UITapGestureRecognizer) { - self.navigationController?.isNavigationBarHidden = false - self.tabBarController?.tabBar.isHidden = false - PhoneMainView.instance().hideStatusBar(false) - sender.view?.removeFromSuperview() - } - - func viewForZooming(in scrollView: UIScrollView) -> UIView? { - return self.imageViewViewer - } - - @IBAction func shareTextButton(_ sender: UIButton) { - /* - // text to share - let text = textViewer - - // set up activity view controller - let textToShare = [ text ] - let activityViewController = UIActivityViewController(activityItems: textToShare, applicationActivities: nil) - activityViewController.popoverPresentationController?.sourceView = self.view // so that iPads won't crash - - // exclude some activity types from the list (optional) - activityViewController.excludedActivityTypes = [ UIActivity.ActivityType.airDrop, UIActivity.ActivityType.postToFacebook ] - - // present the view controller - self.present(activityViewController, animated: true, completion: nil) - */ - - - - let previewController = QLPreviewController() - self.previewItems = [] - - self.previewItems.append(self.getPreviewItem(filePath: imagePathViewer)) - - previewController.dataSource = self - previewController.delegate = self - PhoneMainView.instance().mainViewController.present(previewController, animated: true, completion: nil) - - } - - func numberOfPreviewItems(in controller: QLPreviewController) -> Int { - return previewItems.count - } - - func previewController(_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem { - return (previewItems[index] as QLPreviewItem?)! - } - - func getPreviewItem(filePath: String) -> NSURL{ - let url = NSURL(fileURLWithPath: filePath) - return url - } -} diff --git a/Classes/Swift/Util/Viewers/MediaViewer.swift b/Classes/Swift/Util/Viewers/MediaViewer.swift deleted file mode 100644 index 730ffebec..000000000 --- a/Classes/Swift/Util/Viewers/MediaViewer.swift +++ /dev/null @@ -1,262 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import AVFoundation -import AVKit -import PDFKit - -class MediaViewer: BackNextNavigationView, UICompositeViewDelegate, UIScrollViewDelegate, QLPreviewControllerDelegate, QLPreviewControllerDataSource { - - static let compositeDescription = UICompositeViewDescription(MediaViewer.self, statusBar: StatusBarView.self, tabBar: nil, sideMenu: SideMenuView.self, fullscreen: false, isLeftFragment: false,fragmentWith: nil) - static func compositeViewDescription() -> UICompositeViewDescription! { return compositeDescription } - func compositeViewDescription() -> UICompositeViewDescription! { return type(of: self).compositeDescription } - - var imageNameViewer = "" - var imagePathViewer = "" - var imageViewer = UIImage() - var previewItems : [QLPreviewItem?] = [] - var contentType : String? - let shareButton = CallControlButton(buttonTheme:VoipTheme.nav_button("voip_export")) - - //Image - var newImageView = UIImageView() - let imageViewViewer = UIImageView() - let imageScrollView = UIScrollView() - - //Video - var player: AVPlayer? = AVPlayer() - var playerLayer = AVPlayerLayer() - - //PDF - let pdfView = PDFView() - - override func viewDidLoad() { - super.viewDidLoad( - backAction: { - PhoneMainView.instance().popView(self.compositeViewDescription()) - },nextAction: { - }, - nextActionEnableCondition: MutableLiveData(false), - title:"") - super.nextButton.isHidden = true - - super.topBar.addSubview(shareButton) - shareButton.alignParentRight(withMargin: side_buttons_margin).alignParentBottom(withMargin: 18).alignParentTop(withMargin: 18).done() - - shareButton.addTarget(self, action: #selector(shareMediaButton), for: .touchUpInside) - try! AVAudioSession.sharedInstance().setCategory(.playback) - UIDeviceBridge.displayModeSwitched.readCurrentAndObserve { _ in - self.view.backgroundColor = VoipTheme.voipBackgroundBWColor.get() - } - } - - override func viewWillAppear(_ animated: Bool) { - newImageView.removeFromSuperview() - imageViewViewer.removeFromSuperview() - imageScrollView.removeFromSuperview() - playerLayer.removeFromSuperlayer() - pdfView.removeFromSuperview() - var extensionFile = imagePathViewer.lowercased().components(separatedBy: ".").last ?? "" - - if contentType == "image" { - setUpImageView() - } else if contentType == "video" || (["mkv", "avi", "mov", "mp4"].contains(extensionFile)) { - setUpPlayerContainerView() - } else if contentType == "file" || contentType == "application"{ - if imageNameViewer.lowercased().components(separatedBy: ".").last == "pdf" { - displayPDF() - } - } - - try! AVAudioSession.sharedInstance().setActive(true) - titleLabel.text = imageNameViewer - titleLabel.toRightOf(backButton).toLeftOf(shareButton).done() - } - - override func viewDidAppear(_ animated: Bool) { - self.navigationController?.isNavigationBarHidden = false - self.tabBarController?.tabBar.isHidden = false - PhoneMainView.instance().hideStatusBar(false) - } - - override func viewWillDisappear(_ animated: Bool) { - stopPlayer() - } - - func stopPlayer() { - if let play = player { - play.pause() - play.replaceCurrentItem(with: nil) - try! AVAudioSession.sharedInstance().setActive(false) - print("Player deallocated") - } else { - print("Player was already deallocated") - } - } - - override func didRotate(from fromInterfaceOrientation: UIInterfaceOrientation) { - dismissFullscreenImageRotated() - stopPlayer() - self.viewWillAppear(true) - } - - @IBAction func imageTapped(_ sender: UITapGestureRecognizer) { - let imageView = sender.view as! UIImageView - newImageView = UIImageView(image: imageView.image) - newImageView.frame = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.size.width, height: UIScreen.main.bounds.size.height-20) - newImageView.backgroundColor = .black - newImageView.contentMode = .scaleAspectFit - newImageView.isUserInteractionEnabled = true - let tap = UITapGestureRecognizer(target: self, action: #selector(dismissFullscreenImage)) - newImageView.addGestureRecognizer(tap) - self.view.addSubview(newImageView) - self.navigationController?.isNavigationBarHidden = true - self.tabBarController?.tabBar.isHidden = true - PhoneMainView.instance().hideStatusBar(true) - } - - func dismissFullscreenImageRotated() { - self.navigationController?.isNavigationBarHidden = false - self.tabBarController?.tabBar.isHidden = false - PhoneMainView.instance().hideStatusBar(false) - } - - @objc func dismissFullscreenImage(_ sender: UITapGestureRecognizer) { - self.navigationController?.isNavigationBarHidden = false - self.tabBarController?.tabBar.isHidden = false - PhoneMainView.instance().hideStatusBar(false) - sender.view?.removeFromSuperview() - } - - func viewForZooming(in scrollView: UIScrollView) -> UIView? { - return self.imageViewViewer - } - - @objc func shareMediaButton(_ sender: UIButton) { - let previewController = QLPreviewController() - self.previewItems = [] - - self.previewItems.append(self.getPreviewItem(filePath: imagePathViewer)) - - previewController.dataSource = self - previewController.delegate = self - PhoneMainView.instance().mainViewController.present(previewController, animated: true, completion: nil) - - } - - private func setUpImageView() { - let vWidth = self.view.bounds.size.width - let vHeight = self.view.bounds.size.height-66 - - imageScrollView.delegate = self - imageScrollView.frame = CGRect(x: 0, y: 66, width: vWidth, height: vHeight) - imageScrollView.showsVerticalScrollIndicator = true - - imageScrollView.minimumZoomScale = 1.0 - imageScrollView.maximumZoomScale = 10.0 - - self.view.addSubview(imageScrollView) - - imageViewViewer.contentMode = .scaleAspectFit - imageScrollView.addSubview(imageViewViewer) - self.imageViewViewer.frame = CGRect(x: 0, y: 0, width: vWidth, height: vHeight) - self.view.bringSubviewToFront(topBar) - - let pictureTap = UITapGestureRecognizer(target: self, action: #selector(imageTapped)) - imageViewViewer.addGestureRecognizer(pictureTap) - imageViewViewer.isUserInteractionEnabled = true - - imageViewViewer.image = imageViewer - } - - private func setUpPlayerContainerView() { - let vWidth = self.view.bounds.size.width - let vHeight = self.view.bounds.size.height-66 - if let urlEncoded = imagePathViewer.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed){ - if !urlEncoded.isEmpty { - if let urlVideo = URL(string: "file://" + urlEncoded){ - player = AVPlayer(url: urlVideo) - playerLayer = AVPlayerLayer(player: player) - playerLayer.frame = CGRect(x: 0, y: 66, width: vWidth, height: vHeight) - self.view.layer.addSublayer(playerLayer) - if player != nil { - player!.play() - } - - let pictureTap = UITapGestureRecognizer(target: self, action: #selector(videoTapped)) - self.view.addGestureRecognizer(pictureTap) - self.view.isUserInteractionEnabled = true - } - } - } - } - - func displayPDF() { - if let urlEncoded = imagePathViewer.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed){ - if !urlEncoded.isEmpty { - pdfView.translatesAutoresizingMaskIntoConstraints = false - view.addSubview(pdfView) - - pdfView.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor).isActive = true - pdfView.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor).isActive = true - pdfView.topAnchor.constraint(equalTo: super.topBar.bottomAnchor).isActive = true - pdfView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor).isActive = true - pdfView.autoScales = true - - if let urlEncoded = imagePathViewer.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed){ - if let path = URL(string: "file://" + urlEncoded) { - if let document = PDFDocument(url: path) { - pdfView.document = document - } - } - - } - } - } - } - - @objc func videoTapped(){ - if let urlEncoded = imagePathViewer.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed){ - if !urlEncoded.isEmpty { - if let urlVideo = URL(string: "file://" + urlEncoded){ - let player = AVPlayer(url: urlVideo) - let playerViewController = AVPlayerViewController() - playerViewController.player = player - self.present(playerViewController, animated: true) { - playerViewController.player!.play() - } - } - } - } - } - - func getPreviewItem(filePath: String) -> NSURL{ - let url = NSURL(fileURLWithPath: filePath) - return url - } - - func numberOfPreviewItems(in controller: QLPreviewController) -> Int { - return previewItems.count - } - - func previewController(_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem { - return (previewItems[index] as QLPreviewItem?)! - } -} diff --git a/Classes/Swift/Util/Viewers/TextViewer.swift b/Classes/Swift/Util/Viewers/TextViewer.swift deleted file mode 100644 index 80760ae65..000000000 --- a/Classes/Swift/Util/Viewers/TextViewer.swift +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation - -class TextViewer: BackNextNavigationView, UICompositeViewDelegate { - - static let compositeDescription = UICompositeViewDescription(TextViewer.self, statusBar: StatusBarView.self, tabBar: nil, sideMenu: SideMenuView.self, fullscreen: false, isLeftFragment: false,fragmentWith: nil) - static func compositeViewDescription() -> UICompositeViewDescription! { return compositeDescription } - func compositeViewDescription() -> UICompositeViewDescription! { return type(of: self).compositeDescription } - - @objc var textViewer = "" - @objc var textNameViewer = "" - let textViewViewer = UITextView() - - override func viewDidLoad() { - - super.viewDidLoad( - backAction: { - PhoneMainView.instance().popView(self.compositeViewDescription()) - },nextAction: { - }, - nextActionEnableCondition: MutableLiveData(false), - title:"") - super.nextButton.isHidden = true - - let shareButton = CallControlButton(buttonTheme:VoipTheme.nav_button("voip_export")) - super.topBar.addSubview(shareButton) - shareButton.alignParentRight(withMargin: side_buttons_margin).alignParentBottom(withMargin: 18).alignParentTop(withMargin: 18).done() - - shareButton.addTarget(self, action: #selector(shareMediaButton), for: .touchUpInside) - - textViewViewer.isScrollEnabled = true - textViewViewer.isUserInteractionEnabled = true - textViewViewer.frame = CGRect(x: 0, y: top_bar_height, width: UIScreen.main.bounds.size.width, height: UIScreen.main.bounds.size.height-top_bar_height*2-32.0) - - self.view.addSubview(textViewViewer) - - UIDeviceBridge.displayModeSwitched.readCurrentAndObserve { _ in - self.view.backgroundColor = VoipTheme.voipBackgroundBWColor.get() - self.textViewViewer.frame = CGRect(x: 0, y: self.top_bar_height, width: UIScreen.main.bounds.size.width, height: UIScreen.main.bounds.size.height - (self.top_bar_height * 2) - 32.0) - } - - } - - override func viewDidAppear(_ animated: Bool) { - textViewViewer.text = textViewer - titleLabel.text = textNameViewer - } - - @objc func shareMediaButton(_ sender: UIButton) { - let text = textViewer - - let textToShare = [ text ] - let activityViewController = UIActivityViewController(activityItems: textToShare, applicationActivities: nil) - activityViewController.popoverPresentationController?.sourceView = self.view // so that iPads won't crash - - activityViewController.excludedActivityTypes = [ UIActivity.ActivityType.airDrop, UIActivity.ActivityType.postToFacebook ] - - self.present(activityViewController, animated: true, completion: nil) - - } -} diff --git a/Classes/Swift/VFSUtil.swift b/Classes/Swift/VFSUtil.swift deleted file mode 100644 index 6dc09d5ae..000000000 --- a/Classes/Swift/VFSUtil.swift +++ /dev/null @@ -1,243 +0,0 @@ -/* -* Copyright (c) 2010-2020 Belledonne Communications SARL. -* -* This file is part of linphone-iphone -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see . -*/ - -import UIKit -import Foundation -import Security -import CommonCrypto -import linphonesw -import os - - -@objc class VFSUtil: NSObject { - - @objc static let keyChainSharingGroup = "org.linphone.phone" // Enable Keychain Sharing capabilities in app and all app extensions that need to activate VFS and set key chain group to be the bundle ID for all and here - @objc static let TEAM_ID = "Z2V957B3D6" // Apple TEAM ID - - @objc static let keyName = "\(keyChainSharingGroup).vfskey" - @objc static let prefName = "\(keyChainSharingGroup).vfspref" - @objc static let accessGroup = "\(TEAM_ID).\(keyChainSharingGroup)" - - @objc static func generateKey(requiresBiometry: Bool = false) throws { - - let flags: SecAccessControlCreateFlags - if #available(iOS 11.3, *) { - flags = requiresBiometry ? - [.privateKeyUsage, .biometryCurrentSet] : .privateKeyUsage - } else { - flags = requiresBiometry ? - [.privateKeyUsage, .touchIDCurrentSet] : .privateKeyUsage - } - let access = - SecAccessControlCreateWithFlags(kCFAllocatorDefault, kSecAttrAccessibleAlwaysThisDeviceOnly,flags,nil)! - let tag = keyName.data(using: .utf8)! - let attributes: [String: Any] = [ - kSecAttrKeyType as String : kSecAttrKeyTypeECSECPrimeRandom, - kSecAttrKeySizeInBits as String : 256, - kSecAttrTokenID as String : kSecAttrTokenIDSecureEnclave, - kSecPrivateKeyAttrs as String : [ - kSecAttrIsPermanent as String : true, - kSecAttrApplicationTag as String : tag, - kSecAttrAccessControl as String : access - ], - kSecAttrAccessGroup as String : accessGroup - ] - - var error: Unmanaged? - guard let _ = SecKeyCreateRandomKey(attributes as CFDictionary, &error) else { - throw error!.takeRetainedValue() as Error - } - } - - @objc static func loadKey(name: String) -> SecKey? { - let tag = name.data(using: .utf8)! - let query: [String: Any] = [ - kSecClass as String : kSecClassKey, - kSecAttrApplicationTag as String : tag, - kSecAttrKeyType as String : kSecAttrKeyTypeEC, - kSecReturnRef as String : true, - kSecAttrAccessGroup as String : accessGroup - ] - - var item: CFTypeRef? - let status = SecItemCopyMatching(query as CFDictionary, &item) - guard status == errSecSuccess else { - return nil - } - return (item as! SecKey) - } - - - @objc static func encrypt(clearText: String) -> String? { - let algorithm: SecKeyAlgorithm = .eciesEncryptionCofactorX963SHA512AESGCM - guard let privateKey = loadKey(name: keyName), let publicKey = SecKeyCopyPublicKey(privateKey), SecKeyIsAlgorithmSupported(publicKey, .encrypt, algorithm) else { - return nil - } - var error: Unmanaged? - let clearTextData = clearText.data(using: .utf8)! - guard let encryptedData = SecKeyCreateEncryptedData(publicKey, algorithm,clearTextData as CFData, &error) as Data? else { - return nil - } - return encryptedData.base64EncodedString() - } - - @objc static func decrypt(encryptedText: String) -> String? { - let algorithm: SecKeyAlgorithm = .eciesEncryptionCofactorX963SHA512AESGCM - guard let key = loadKey(name: keyName), SecKeyIsAlgorithmSupported(key, .decrypt, algorithm) else { - return nil - } - var error: Unmanaged? - guard let clearTextData = SecKeyCreateDecryptedData(key,algorithm,Data(base64Encoded: encryptedText)! as CFData,&error) as Data? else { - print("[VFS] failed deciphering data \(String(describing: error))") - return nil - } - return String(decoding: clearTextData, as: UTF8.self) - } - - - @objc static func addSecuredPreference(key:String, value:String) -> Bool { - let delQuery: [String: Any] = [kSecClass as String: kSecClassGenericPassword, - kSecAttrAccount as String: key.data(using: .utf8)!, - kSecAttrAccessGroup as String : accessGroup] - SecItemDelete(delQuery as CFDictionary) - - - let insertQUery: [String: Any] = [kSecClass as String: kSecClassGenericPassword, - kSecAttrAccessGroup as String : accessGroup, - kSecAttrAccessible as String : kSecAttrAccessibleAlwaysThisDeviceOnly, - kSecAttrService as String: Bundle.main.bundleIdentifier!, - kSecAttrAccount as String: key.data(using: .utf8)!, - kSecValueData as String:value.data(using: .utf8)!] - let insertStatus = SecItemAdd(insertQUery as CFDictionary, nil) - log("[VFS] addSecuredPreference : SecItemAdd status \(insertStatus)", .info) - return insertStatus == errSecSuccess - - } - - @objc static func deleteSecurePreference(key:String) { - let delQuery: [String: Any] = [kSecClass as String: kSecClassGenericPassword, - kSecAttrAccount as String: key.data(using: .utf8)!, - kSecAttrAccessGroup as String : accessGroup] - let deleteSatus = SecItemDelete(delQuery as CFDictionary) - log("[VFS] deleteSecurePreference : SecItemDelete status for removing key \(key) = \(deleteSatus)", .info) - } - - - - @objc static func getSecuredPreference(key:String) -> String? { - let query: [String:Any] = [ - kSecClass as String: kSecClassGenericPassword, - kSecAttrAccount as String: key.data(using: .utf8)!, - kSecReturnData as String: kCFBooleanTrue, - kSecAttrAccessGroup as String : accessGroup, - ] - - var result: AnyObject? - let status: OSStatus = withUnsafeMutablePointer(to: &result) { - SecItemCopyMatching(query as CFDictionary, UnsafeMutablePointer($0)) - } - log("[VFS] getSecuredPreference : SecItemCopyMatching status \(status)", .info) - return status == errSecSuccess ? String(decoding: result as! Data , as: UTF8.self) : nil - } - - @objc static func randomSha512() -> String { - let data = UUID.init().uuidString.data(using: .utf8)! - var digest = [UInt8](repeating: 0, count: Int(CC_SHA512_DIGEST_LENGTH)) - data.withUnsafeBytes({ - _ = CC_SHA512($0, CC_LONG(data.count), &digest) - }) - return digest.map({ String(format: "%02hhx", $0) }).joined(separator: "") - } - - - - @objc static func activateVFS(forFirstTime: Bool = false) -> Bool { - do { - if (forFirstTime) { - removeExistingVFSKeyIfAny() - } - if (getSecuredPreference(key: prefName) == nil) { - log("[VFS] no secret key set, building one.", .info) - try generateKey(requiresBiometry: false) - guard let encryptedHash = encrypt(clearText: randomSha512()) else { - return false - } - if (!addSecuredPreference(key: prefName, value: encryptedHash)) { - log("[VFS] Unable to save encrypted key in secured defaults.", .error) - } - } - guard let encryptedKey = getSecuredPreference(key: prefName) else { - log("[VFS] Unable to retrieve encrypted key.", .error) - return false - } - guard let secret = decrypt(encryptedText: encryptedKey) else { - log("[VFS] Unable to decryt encrypted key.", .error) - removeExistingVFSKeyIfAny() - return false - } - Factory.Instance.setVfsEncryption(encryptionModule: 2, secret: secret, secretSize: 32) - log("[VFS] activated", .info) - return true - } catch { - log("[VFS] Error setting up VFS: \(error)", .info) - return false - } - } - - @objc static func vfsEnabled(groupName: String) -> Bool { - let defaults = UserDefaults.init(suiteName: groupName) - if (defaults == nil) { - log("[VFS] Unable to get VFS enabled preference userDefaults is null",.error); - } - return defaults?.bool(forKey: "vfs_enabled_preference") == true - } - - @objc static func setVfsEnabbled(enabled: Bool, groupName: String) { - let defaults = UserDefaults.init(suiteName: groupName) - if (defaults == nil) { - log("[VFS] Unable to set VFS enabled preferece userDefaults is null",.error); - } - defaults?.setValue(enabled, forKey: "vfs_enabled_preference") - } - - @objc static func log(_ log:String, _ level: OSLogType) { - switch (level) { - case.info:LoggingService.Instance.message(message: log) - case.debug:LoggingService.Instance.debug(message: log) - case.error:LoggingService.Instance.error(message: log) - case.fault:LoggingService.Instance.fatal(message: log) - default:LoggingService.Instance.message(message: log) - } - if #available(iOS 10.0, *) { - os_log("%{public}@", type: level,log) - } else { - NSLog(log) - } - } - - @objc static func removeExistingVFSKeyIfAny() { - log("[VFS] removing existing key if any",.debug) - if (getSecuredPreference(key: prefName) != nil) { - deleteSecurePreference(key: prefName) - } - } - - - -} diff --git a/Classes/Swift/Voip/AudioRouteUtils.swift b/Classes/Swift/Voip/AudioRouteUtils.swift deleted file mode 100644 index f6ee2895a..000000000 --- a/Classes/Swift/Voip/AudioRouteUtils.swift +++ /dev/null @@ -1,191 +0,0 @@ -/* - * Copyright (c) 2010-2021 Belledonne Communications SARL. - * - * This file is part of linphone-android - * (see https://www.linphone.org). - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import AVFoundation -import linphonesw - -@objc class AudioRouteUtils : NSObject { - - static var core : Core { get { Core.get() } } - - static private func applyAudioRouteChange( call: Call?, types: [AudioDevice.Kind], output: Bool = true) { - let typesNames = types.map { String(describing: $0) }.joined(separator: "/") - - let currentCall = core.callsNb > 0 ? (call != nil) ? call : core.currentCall != nil ? core.currentCall : core.calls[0] : nil - if (currentCall == nil) { - Log.w("[Audio Route Helper] No call found, setting audio route on Core") - } - let conference = core.conference - let capability = output ? AudioDevice.Capabilities.CapabilityPlay : AudioDevice.Capabilities.CapabilityRecord - - var found = false - - core.audioDevices.forEach { (audioDevice) in - Log.i("[Audio Route Helper] registered coe audio devices are : [\(audioDevice.deviceName)] [\(audioDevice.type)] [\(audioDevice.capabilities)] ") - } - - core.audioDevices.forEach { (audioDevice) in - if (!found && types.contains(audioDevice.type) && audioDevice.hasCapability(capability: capability)) { - if (conference != nil && conference?.isIn == true) { - Log.i("[Audio Route Helper] Found [\(audioDevice.type)] \(output ? "playback" : "recorder") audio device [\(audioDevice.deviceName)], routing conference audio to it") - if (output) { - conference?.outputAudioDevice = audioDevice - } else { - conference?.inputAudioDevice = audioDevice - } - } else if (currentCall != nil) { - Log.i("[Audio Route Helper] Found [\(audioDevice.type)] \(output ? "playback" : "recorder") audio device [\(audioDevice.deviceName)], routing call audio to it") - if (output) { - currentCall?.outputAudioDevice = audioDevice - } - else { - currentCall?.inputAudioDevice = audioDevice - } - } else { - Log.i("[Audio Route Helper] Found [\(audioDevice.type)] \(output ? "playback" : "recorder") audio device [\(audioDevice.deviceName)], changing core default audio device") - if (output) { - core.outputAudioDevice = audioDevice - } else { - core.inputAudioDevice = audioDevice - } - } - found = true - } - } - if (!found) { - Log.e("[Audio Route Helper] Couldn't find \(typesNames) audio device") - } - } - - static private func changeCaptureDeviceToMatchAudioRoute(call: Call?, types: [AudioDevice.Kind]) { - switch (types.first) { - case .Bluetooth :if (isBluetoothAudioRecorderAvailable()) { - Log.i("[Audio Route Helper] Bluetooth device is able to record audio, also change input audio device") - applyAudioRouteChange(call: call, types: [AudioDevice.Kind.Bluetooth], output: false) - } - case .Headset, .Headphones : if (isHeadsetAudioRecorderAvailable()) { - Log.i("[Audio Route Helper] Headphones/headset device is able to record audio, also change input audio device") - applyAudioRouteChange(call:call,types: [AudioDevice.Kind.Headphones, AudioDevice.Kind.Headset], output:false) - } - default: applyAudioRouteChange(call:call,types: [AudioDevice.Kind.Microphone], output:false) - } - } - - static private func routeAudioTo( call: Call?, types: [AudioDevice.Kind]) { - let currentCall = call != nil ? call : core.currentCall != nil ? core.currentCall : (core.callsNb > 0 ? core.calls[0] : nil) - if (call != nil || currentCall != nil) { - let callToUse = call != nil ? call : currentCall - applyAudioRouteChange(call: callToUse, types: types) - changeCaptureDeviceToMatchAudioRoute(call: callToUse, types: types) - } else { - applyAudioRouteChange(call: call, types: types) - changeCaptureDeviceToMatchAudioRoute(call: call, types: types) - } - } - - static func routeAudioToEarpiece(call: Call? = nil) { - routeAudioTo(call: call, types: [AudioDevice.Kind.Microphone]) // on iOS Earpiece = Microphone - } - - static func routeAudioToSpeaker(call: Call? = nil) { - routeAudioTo(call: call, types: [AudioDevice.Kind.Speaker]) - } - - @objc static func routeAudioToSpeaker() { - routeAudioTo(call: nil, types: [AudioDevice.Kind.Speaker]) - } - - static func routeAudioToBluetooth(call: Call? = nil) { - routeAudioTo(call: call, types: [AudioDevice.Kind.Bluetooth]) - } - - static func routeAudioToHeadset(call: Call? = nil) { - routeAudioTo(call: call, types: [AudioDevice.Kind.Headphones, AudioDevice.Kind.Headset]) - } - - static func isSpeakerAudioRouteCurrentlyUsed(call: Call? = nil) -> Bool { - - let currentCall = core.callsNb > 0 ? (call != nil) ? call : core.currentCall != nil ? core.currentCall : core.calls[0] : nil - if (currentCall == nil) { - Log.w("[Audio Route Helper] No call found, setting audio route on Core") - } - - let conference = core.conference - let audioDevice = conference != nil && conference?.isIn == true ? conference!.outputAudioDevice : currentCall != nil ? currentCall!.outputAudioDevice : core.outputAudioDevice - Log.i("[Audio Route Helper] Playback audio currently in use is [\(audioDevice?.deviceName ?? "n/a")] with type (\(audioDevice?.type ?? .Unknown)") - return audioDevice?.type == AudioDevice.Kind.Speaker - } - - static func isBluetoothAudioRouteCurrentlyUsed(call: Call? = nil) -> Bool { - if (core.callsNb == 0) { - Log.w("[Audio Route Helper] No call found, so bluetooth audio route isn't used") - return false - } - let currentCall = call != nil ? call : core.currentCall != nil ? core.currentCall : core.calls[0] - let conference = core.conference - - let audioDevice = conference != nil && conference?.isIn == true ? conference!.outputAudioDevice : currentCall?.outputAudioDevice - Log.i("[Audio Route Helper] Playback audio device currently in use is [\(audioDevice?.deviceName ?? "n/a")] with type (\(audioDevice?.type ?? .Unknown)") - return audioDevice?.type == AudioDevice.Kind.Bluetooth - } - - static func isBluetoothAudioRouteAvailable() -> Bool { - if let device = core.audioDevices.first(where: { $0.type == AudioDevice.Kind.Bluetooth && $0.hasCapability(capability: .CapabilityPlay) }) { - Log.i("[Audio Route Helper] Found bluetooth audio device [\(device.deviceName)]") - return true - } - return false - } - - static private func isBluetoothAudioRecorderAvailable() -> Bool { - if let device = core.audioDevices.first(where: { $0.type == AudioDevice.Kind.Bluetooth && $0.hasCapability(capability: .CapabilityRecord) }) { - Log.i("[Audio Route Helper] Found bluetooth audio recorder [\(device.deviceName)]") - return true - } - return false - } - - static func isHeadsetAudioRouteAvailable() -> Bool { - if let device = core.audioDevices.first(where: { ($0.type == AudioDevice.Kind.Headset||$0.type == AudioDevice.Kind.Headphones) && $0.hasCapability(capability: .CapabilityPlay) }) { - Log.i("[Audio Route Helper] Found headset/headphones audio device [\(device.deviceName)]") - return true - } - return false - } - - static private func isHeadsetAudioRecorderAvailable() -> Bool { - if let device = core.audioDevices.first(where: { ($0.type == AudioDevice.Kind.Headset||$0.type == AudioDevice.Kind.Headphones) && $0.hasCapability(capability: .CapabilityRecord) }) { - Log.i("[Audio Route Helper] Found headset/headphones audio recorder [\(device.deviceName)]") - return true - } - return false - } - - - - static func isReceiverEnabled() -> Bool { - if let outputDevice = core.outputAudioDevice { - return outputDevice.type == AudioDevice.Kind.Microphone - } - return false - } - -} diff --git a/Classes/Swift/Voip/Theme/ButtonTheme.swift b/Classes/Swift/Voip/Theme/ButtonTheme.swift deleted file mode 100644 index 88b8306bb..000000000 --- a/Classes/Swift/Voip/Theme/ButtonTheme.swift +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import Foundation -import UIKit - - -struct ButtonTheme { - var tintableStateIcons: [UInt: TintableIcon] // State indexed - var backgroundStateColors: [UInt: LightDarkColor] // State indexed -} - -struct TintableIcon { - var name:String - var tintColor: LightDarkColor? = nil -} diff --git a/Classes/Swift/Voip/Theme/LightDarkColor.swift b/Classes/Swift/Voip/Theme/LightDarkColor.swift deleted file mode 100644 index f87cf42f5..000000000 --- a/Classes/Swift/Voip/Theme/LightDarkColor.swift +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation - -@objc class LightDarkColor : NSObject { - var light: UIColor - var dark : UIColor - init(_ l:UIColor,_ d:UIColor){ - light = l - dark = d - } - - @objc func get() -> UIColor { - if #available(iOS 13.0, *) { - if UITraitCollection.current.userInterfaceStyle == .light { - return light - } else { - return dark - } - } else { - return light - } - } - -} diff --git a/Classes/Swift/Voip/Theme/TextStyle.swift b/Classes/Swift/Voip/Theme/TextStyle.swift deleted file mode 100644 index 508a91bf9..000000000 --- a/Classes/Swift/Voip/Theme/TextStyle.swift +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit - -struct TextStyle { - var fgColor:LightDarkColor - var bgColor:LightDarkColor - var allCaps:Bool - var align:NSTextAlignment - var font:String - var size:Float - - func boldEd() -> TextStyle { - return self.font.contains("Bold") ? self : TextStyle(fgColor: self.fgColor,bgColor: self.bgColor,allCaps: self.allCaps,align: self.align,font: self.font.replacingOccurrences(of: "Regular", with: "Bold"), size: self.size) - } -} - - -extension UILabel { - - func applyStyleColors(_ style:TextStyle) { - textColor = style.fgColor.get() - backgroundColor = style.bgColor.get() - } - - func applyStyle(_ style:TextStyle) { - applyStyleColors(style) - if (style.allCaps) { - text = self.text?.uppercased() - tag = 1 - } - textAlignment = style.align - let fontSizeMultiplier: Float = (UIDevice.ipad() ? 1.25 : UIDevice.is5SorSEGen1() ? 0.9 : 1.0) - font = UIFont.init(name: style.font, size: CGFloat(style.size*fontSizeMultiplier)) - } - - func addIndicatorIcon(iconName:String, padding:CGFloat = 5.0, y:CGFloat = 4.0, trailing: Bool = true) { - let imageAttachment = NSTextAttachment() - imageAttachment.image = UIImage(named:iconName)?.tinted(with: VoipTheme.voipDrawableColor.get()) - imageAttachment.bounds = CGRect(x: 0.0, y: y , width: font.lineHeight - 2*padding, height: font.lineHeight - 2*padding) - let iconString = NSMutableAttributedString(attachment: imageAttachment) - let textXtring = NSMutableAttributedString(string: text != nil ? (!trailing ? " " : "") + text! + (trailing ? " " : "") : "") - if (trailing) { - textXtring.append(iconString) - self.text = nil - self.attributedText = textXtring - } else { - iconString.append(textXtring) - self.text = nil - self.attributedText = iconString - } - } -} - -extension UIButton { - func applyTitleStyle(_ style:TextStyle) { - titleLabel?.applyStyle(style) - if (style.allCaps) { - setTitle(self.title(for: .normal)?.uppercased(), for: .normal) - tag = 1 - } - setTitleColor(style.fgColor.get(), for: .normal) - contentHorizontalAlignment = style.align == .left ? .left : style.align == .center ? .center : style.align == .right ? .right : .left - } -} - -extension UITextView { - - func applyStyleColors(_ style:TextStyle) { - textColor = style.fgColor.get() - backgroundColor = style.bgColor.get() - } - - func applyStyle(_ style:TextStyle) { - applyStyleColors(style) - if (style.allCaps) { - text = self.text?.uppercased() - tag = 1 - } - textAlignment = style.align - let fontSizeMultiplier: Float = (UIDevice.ipad() ? 1.25 : UIDevice.is5SorSEGen1() ? 0.9 : 1.0) - font = UIFont.init(name: style.font, size: CGFloat(style.size*fontSizeMultiplier)) - } - var numberOfCurrentlyDisplayedLines: Int { - return text.components(separatedBy: "\n").count - } - func removeTextUntilSatisfying(maxNumberOfLines: Int) { - while numberOfCurrentlyDisplayedLines > (maxNumberOfLines) { - text = String(text.dropLast()) - } - } -} - diff --git a/Classes/Swift/Voip/Theme/VoipTexts.swift b/Classes/Swift/Voip/Theme/VoipTexts.swift deleted file mode 100644 index 99446b6f9..000000000 --- a/Classes/Swift/Voip/Theme/VoipTexts.swift +++ /dev/null @@ -1,253 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit - -@objc class VoipTexts : NSObject { // From android key names. Added intentionnally with NSLocalizedString calls for each key, so it can be picked up by translation system (Weblate or Xcode). - - static let appName = Bundle.main.object(forInfoDictionaryKey: "CFBundleDisplayName") as! String - - // FROM ANDROID START (check script scripts/android_import.sh for details) - @objc static let call_action_add_call = NSLocalizedString("Start new call",comment:"") - @objc static let call_action_calls_list = NSLocalizedString("Calls list",comment:"") - @objc static let call_action_change_conf_layout = NSLocalizedString("Change layout",comment:"") - @objc static let call_action_chat = NSLocalizedString("Chat",comment:"") - @objc static let call_action_numpad = NSLocalizedString("Numpad",comment:"") - @objc static let call_action_speakers_list = NSLocalizedString("Speakers list",comment:"") - @objc static let call_action_participants_list = NSLocalizedString("Participants list",comment:"") - @objc static let call_action_statistics = NSLocalizedString("Call statistics",comment:"") - @objc static let call_action_transfer_call = NSLocalizedString("Transfer call",comment:"") - @objc static let call_context_action_answer = NSLocalizedString("Answer call",comment:"") - @objc static let call_context_action_hangup = NSLocalizedString("Terminate call",comment:"") - @objc static let call_context_action_pause = NSLocalizedString("Pause call",comment:"") - @objc static let call_context_action_resume = NSLocalizedString("Resume call",comment:"") - @objc static let call_context_action_transfer = NSLocalizedString("Transfer call",comment:"") - @objc static let call_context_action_attended_transfer = NSLocalizedString("Attended transfer",comment:"") - @objc static let call_error_declined = NSLocalizedString("Call has been declined",comment:"") - @objc static let call_error_generic = NSLocalizedString("Error: %s",comment:"") - @objc static let call_error_incompatible_media_params = NSLocalizedString("Incompatible media parameters",comment:"") - @objc static let call_error_io_error = NSLocalizedString("Service unavailable or network error",comment:"") - @objc static let call_error_network_unreachable = NSLocalizedString("Network is unreachable",comment:"") - @objc static let call_error_server_timeout = NSLocalizedString("Server timeout",comment:"") - @objc static let call_error_temporarily_unavailable = NSLocalizedString("Temporarily unavailable",comment:"") - @objc static let call_error_user_busy = NSLocalizedString("User is busy",comment:"") - @objc static let call_error_user_not_found = NSLocalizedString("User hasn't been found",comment:"") - @objc static let call_incoming_title = NSLocalizedString("Incoming Call",comment:"") - @objc static let call_locally_paused_subtitle = NSLocalizedString("Click on play button to resume it.",comment:"") - @objc static let call_locally_paused_title = NSLocalizedString("You have paused the call.",comment:"") - @objc static let call_notification_active = NSLocalizedString("Call running",comment:"") - @objc static let call_notification_outgoing = NSLocalizedString("Outgoing call",comment:"") - @objc static let call_notification_paused = NSLocalizedString("Paused call",comment:"") - @objc static let call_outgoing_title = NSLocalizedString("Outgoing Call",comment:"") - @objc static let call_remote_recording = NSLocalizedString("This call is being recorded.",comment:"") - @objc static let call_remotely_paused_title = NSLocalizedString("Call has been paused by remote.",comment:"") - @objc static let call_stats_audio = NSLocalizedString("Audio",comment:"") - @objc static let call_stats_capture_filter = NSLocalizedString("Capture filter:",comment:"") - @objc static let call_stats_codec = NSLocalizedString("Codec:",comment:"") - @objc static let call_stats_decoder_name = NSLocalizedString("Decoder:",comment:"") - @objc static let call_stats_download = NSLocalizedString("Download bandwidth:",comment:"") - @objc static let call_stats_encoder_name = NSLocalizedString("Encoder:",comment:"") - @objc static let call_stats_estimated_download = NSLocalizedString("Estimated download bandwidth:",comment:"") - @objc static let call_stats_ice = NSLocalizedString("ICE connectivity:",comment:"") - @objc static let call_stats_ip = NSLocalizedString("IP Family:",comment:"") - @objc static let call_stats_jitter_buffer = NSLocalizedString("Jitter buffer:",comment:"") - @objc static let call_stats_player_filter = NSLocalizedString("Player filter:",comment:"") - @objc static let call_stats_receiver_loss_rate = NSLocalizedString("Receiver loss rate:",comment:"") - @objc static let call_stats_sender_loss_rate = NSLocalizedString("Sender loss rate:",comment:"") - @objc static let call_stats_upload = NSLocalizedString("Upload bandwidth:",comment:"") - @objc static let call_stats_video = NSLocalizedString("Video",comment:"") - @objc static let call_stats_video_fps_received = NSLocalizedString("Received video fps:",comment:"") - @objc static let call_stats_video_fps_sent = NSLocalizedString("Sent video fps:",comment:"") - @objc static let call_stats_video_resolution_received = NSLocalizedString("Received video resolution:",comment:"") - @objc static let call_stats_video_resolution_sent = NSLocalizedString("Sent video resolution:",comment:"") - @objc static let call_video_update_requested_dialog = NSLocalizedString("Correspondent would like to turn the video on",comment:"") - @objc static let cancel = NSLocalizedString("Cancel",comment:"") - @objc static let chat_room_group_info_admin = NSLocalizedString("Admin",comment:"") - @objc static let chat_room_group_info_speaker = NSLocalizedString("Speaker",comment:"") - @objc static let conference_creation_failed = NSLocalizedString("Failed to create meeting",comment:"") - @objc static let conference_default_title = NSLocalizedString("Remote group call",comment:"") - @objc static let conference_description_title = NSLocalizedString("Description",comment:"") - @objc static let conference_display_mode_active_speaker = NSLocalizedString("Active speaker mode",comment:"") - @objc static let conference_display_mode_audio_only = NSLocalizedString("Audio only mode",comment:"") - @objc static let conference_display_mode_mosaic = NSLocalizedString("Mosaic mode",comment:"") - @objc static let conference_first_to_join = NSLocalizedString("You're the first to join the group call",comment:"") - @objc static let conference_go_to_chat = NSLocalizedString("Meeting's chat room",comment:"") - @objc static let conference_group_call_create = NSLocalizedString("Start group call",comment:"") - @objc static let conference_group_call_title = NSLocalizedString("Start a group call",comment:"") - @objc static let conference_incoming_title = NSLocalizedString("Incoming group call",comment:"") - @objc static let conference_info_confirm_removal = NSLocalizedString("Do you really want to delete this meeting?",comment:"") - @objc static let conference_infos_confirm_removal = NSLocalizedString("Do you really want to delete these meetings?",comment:"") - @objc static let conference_info_removed = NSLocalizedString("Meeting info has been deleted",comment:"") - @objc static let conference_infos_removed = NSLocalizedString("Meeting infos have been deleted",comment:"") - - @objc static let conference_invite_join = NSLocalizedString("Join",comment:"") - @objc static let conference_invite_participants_count = NSLocalizedString("%d participants",comment:"") - @objc static let conference_invite_title = NSLocalizedString("Meeting invite:",comment:"") - @objc static let conference_update_title = NSLocalizedString("Meeting has been updated:",comment:"") - @objc static let conference_cancel_title = NSLocalizedString("Meeting has been cancelled:",comment:"") - @objc static let conference_invite_broadcast_title = NSLocalizedString("Broadcast invite:",comment:"") - @objc static let conference_update_broadcast_title = NSLocalizedString("Broadcast has been updated:",comment:"") - @objc static let conference_cancel_broadcast_title = NSLocalizedString("Broadcast has been cancelled:",comment:"") - @objc static let conference_last_user = NSLocalizedString("All other participants have left the group call",comment:"") - @objc static let conference_local_title = NSLocalizedString("Local group call",comment:"") - @objc static let conference_no_schedule = NSLocalizedString("No scheduled meeting yet.",comment:"") - @objc static let conference_no_terminated_schedule = NSLocalizedString("No terminated meeting yet.",comment:"") - @objc static let conference_participant_paused = NSLocalizedString("(paused)",comment:"") - @objc static let conference_participants_title = NSLocalizedString("Participants (%d)",comment:"") - @objc static let conference_paused_subtitle = NSLocalizedString("Click on play button to join it back.",comment:"") - @objc static let conference_paused_title = NSLocalizedString("You are currently out of the meeting.",comment:"") - @objc static let conference_schedule_address_copied_to_clipboard = NSLocalizedString("Meeting address copied into clipboard",comment:"") - @objc static let conference_schedule_address_title = NSLocalizedString("Meeting address",comment:"") - @objc static let conference_schedule_address_broadcast_copied_to_clipboard = NSLocalizedString("Broadcast address copied into clipboard",comment:"") - @objc static let conference_schedule_address_broadcast_title = NSLocalizedString("Broadcast address",comment:"") - @objc static let conference_schedule_mode = NSLocalizedString("Mode",comment:"") - @objc static let conference_schedule_date = NSLocalizedString("Date",comment:"") - @objc static let conference_schedule_description_hint = NSLocalizedString("Description",comment:"") - @objc static let conference_schedule_description_title = NSLocalizedString("Add a description",comment:"") - @objc static let conference_schedule_duration = NSLocalizedString("Duration",comment:"") - @objc static let conference_schedule_encryption = NSLocalizedString("Would you like to encrypt the meeting?",comment:"") - @objc static let conference_schedule_info_created = NSLocalizedString("Meeting has been scheduled",comment:"") - @objc static let conference_schedule_info_not_sent_to_participant = NSLocalizedString("Failed to send meeting info to a participant",comment:"") - @objc static let conference_schedule_later = NSLocalizedString("Do you want to schedule a meeting for later?",comment:"") - @objc static let conference_schedule_mandatory_field = NSLocalizedString("Mandatory",comment:"") - @objc static let conference_schedule_organizer = NSLocalizedString("Organizer:",comment:"") - @objc static let conference_schedule_participants_list = NSLocalizedString("Participants list",comment:"") - @objc static let conference_schedule_speakers_list = NSLocalizedString("Speakers list",comment:"") - @objc static let conference_schedule_speakers_list_empty = NSLocalizedString("Select at least one speaker",comment:"") - @objc static let conference_schedule_participants_list_empty = NSLocalizedString("Select at least one participant",comment:"") - @objc static let conference_schedule_send_invite_chat = NSLocalizedString("Send invite via &appName;",comment:"").replacingOccurrences(of: "&appName;", with: appName) - @objc static let conference_schedule_send_invite_chat_summary = NSLocalizedString("Invite will be sent out from my &appName; account",comment:"").replacingOccurrences(of: "&appName;", with: appName) - @objc static let conference_schedule_send_invite_email = NSLocalizedString("Send invite via email",comment:"") - @objc static let conference_schedule_start = NSLocalizedString("Schedule",comment:"") - @objc static let conference_schedule_edit = NSLocalizedString("Edit",comment:"") - @objc static let conference_schedule_subject_hint = NSLocalizedString("Meeting subject",comment:"") - @objc static let conference_group_call_subject_hint = NSLocalizedString("Group call subject",comment:"") - @objc static let conference_schedule_subject_title = NSLocalizedString("Subject",comment:"") - @objc static let conference_schedule_summary = NSLocalizedString("Meeting info",comment:"") - @objc static let conference_schedule_broadcast_summary = NSLocalizedString("Broadcast info",comment:"") - @objc static let conference_schedule_time = NSLocalizedString("Time",comment:"") - @objc static let conference_schedule_timezone = NSLocalizedString("Timezone",comment:"") - @objc static let conference_schedule_title = NSLocalizedString("Schedule a meeting",comment:"") - @objc static let conference_scheduled = NSLocalizedString("Meetings",comment:"") - @objc static let conference_start_group_call_dialog_message = NSLocalizedString("Do you want to start a group call?\nEveryone in this group will receive a call to join the meeting.",comment:"") - @objc static let conference_start_group_call_dialog_ok_button = NSLocalizedString("Start",comment:"") - @objc static let conference_too_many_participants_for_mosaic_layout = NSLocalizedString("There is too many participants for mosaic layout, switching to active speaker",comment:"") - @objc static let conference_waiting_room_cancel_call = NSLocalizedString("Cancel",comment:"") - @objc static let conference_waiting_room_start_call = NSLocalizedString("Start",comment:"") - @objc static let conference_waiting_room_video_disabled = NSLocalizedString("Video is currently disabled",comment:"") - @objc static let dialog_accept = NSLocalizedString("Accept",comment:"") - @objc static let dialog_decline = NSLocalizedString("Decline",comment:"") - @objc static let conference_empty = NSLocalizedString("You are currently alone in this group call",comment:"") - @objc static let conference_admin_set = NSLocalizedString("%s is now admin",comment:"") - @objc static let conference_admin_unset = NSLocalizedString("%s is no longer admin",comment:"") - @objc static let conference_scheduled_terminated_filter = NSLocalizedString("Terminated",comment:"") - @objc static let conference_scheduled_future_filter = NSLocalizedString("Scheduled",comment:"") - @objc static let conference_scheduled_cancelled_by_me = NSLocalizedString("You have cancelled the conference",comment:"") - @objc static let conference_scheduled_cancelled_by_organizer = NSLocalizedString("Conference has been cancelled by organizer",comment:"") - @objc static let conference_scheduled_title_meeting_cell = NSLocalizedString("Meeting: ",comment:"") - @objc static let conference_scheduled_title_broadcast_cell = NSLocalizedString("Broadcast: ",comment:"") - @objc static let conference_scheduled_title_participant_cell = NSLocalizedString("Participants",comment:"") - @objc static let conference_scheduled_title_speakers_cell = NSLocalizedString("Speakers",comment:"") - @objc static let conference_scheduled_title_guests_cell = NSLocalizedString("Guests",comment:"") - @objc static let conference_you_are_speaker = NSLocalizedString("You're a speaker",comment:"") - @objc static let conference_you_are_listener = NSLocalizedString("You're a listener",comment:"") - @objc static let conference_no_speaker = NSLocalizedString("No speaker has joined the meeting yet",comment:"") - - @objc static let image_picker_view_alert_action_title = NSLocalizedString("Select the source",comment:"") - @objc static let image_picker_view_alert_action_camera = NSLocalizedString("Camera",comment:"") - @objc static let image_picker_view_alert_action_photo_library = NSLocalizedString("Photo library",comment:"") - @objc static let image_picker_view_alert_action_document = NSLocalizedString("Document",comment:"") - @objc static let alert_dialog_secure_badge_button_chat_conversation_title = NSLocalizedString("Instant messages are end-to-end encrypted in secured conversations. It is possible to upgrade the security level of a conversation by authenticating participants. To do so, call the contact and follow the authentification process.",comment:"") - @objc static let alert_dialog_secure_badge_button_chat_conversation_checkboxtext = NSLocalizedString("Do not show again",comment:"") - @objc static let dropdown_menu_chat_conversation_go_to_contact = NSLocalizedString("Go to contact",comment:"") - @objc static let dropdown_menu_chat_conversation_add_to_contact = NSLocalizedString("Add to contacts",comment:"") - @objc static let dropdown_menu_chat_conversation_group_infos = NSLocalizedString("Group infos",comment:"") - @objc static let dropdown_menu_chat_conversation_conversation_device = NSLocalizedString("Conversation's devices",comment:"") - @objc static let dropdown_menu_chat_conversation_ephemeral_messages = NSLocalizedString("Ephemeral messages",comment:"") - @objc static let dropdown_menu_chat_conversation_mute_notifications = NSLocalizedString("Mute notifications",comment:"") - @objc static let dropdown_menu_chat_conversation_unmute_notifications = NSLocalizedString("Un-mute notifications",comment:"") - @objc static let dropdown_menu_chat_conversation_delete_messages = NSLocalizedString("Delete messages",comment:"") - @objc static let dropdown_menu_chat_conversation_debug_infos = NSLocalizedString("Debug infos",comment:"") - @objc static let operation_in_progress_wait = NSLocalizedString("Operation in progress, please wait",comment:"") - @objc static let bubble_chat_transferred = NSLocalizedString("Transferred",comment:"") - @objc static let bubble_chat_reply = NSLocalizedString("Answer",comment:"") - @objc static let bubble_chat_reply_message_does_not_exist = NSLocalizedString("Original message does not exist anymore.",comment:"") - - @objc static let bubble_chat_dropDown_emojis = NSLocalizedString("Emojis",comment:"") - @objc static let bubble_chat_dropDown_resend = NSLocalizedString("Resend",comment:"") - @objc static let bubble_chat_dropDown_copy_text = NSLocalizedString("Copy text",comment:"") - @objc static let bubble_chat_dropDown_forward = NSLocalizedString("Forward",comment:"") - @objc static let bubble_chat_dropDown_reply = NSLocalizedString("Reply",comment:"") - @objc static let bubble_chat_dropDown_infos = NSLocalizedString("Delivery Status",comment:"") - @objc static let bubble_chat_dropDown_add_to_contact = NSLocalizedString("Add to contacts",comment:"") - @objc static let bubble_chat_dropDown_delete = NSLocalizedString("Delete",comment:"") - - @objc static let bubble_chat_event_message_new_subject = NSLocalizedString("New subject : %@",comment:"").replacingOccurrences(of: "%@", with: "") - @objc static let bubble_chat_event_message_has_joined = NSLocalizedString("%@ has joined",comment:"").replacingOccurrences(of: "%@", with: "") - @objc static let bubble_chat_event_message_has_left = NSLocalizedString("%@ has left",comment:"").replacingOccurrences(of: "%@", with: "") - @objc static let bubble_chat_event_message_now_admin = NSLocalizedString("%@ is now an admin",comment:"").replacingOccurrences(of: "%@", with: "") - @objc static let bubble_chat_event_message_no_longer_admin = NSLocalizedString("%@ is no longer an admin",comment:"").replacingOccurrences(of: "%@", with: "") - @objc static let bubble_chat_event_message_left_group = NSLocalizedString("You have left the group",comment:"") - @objc static let bubble_chat_event_message_joined_group = NSLocalizedString("You have joined the group",comment:"") - @objc static let bubble_chat_event_message_disabled_ephemeral = NSLocalizedString("You disabled ephemeral messages",comment:"") - @objc static let bubble_chat_event_message_enabled_ephemeral = NSLocalizedString("You enabled ephemeral messages: %@",comment:"").replacingOccurrences(of: ": %@", with: "") - @objc static let bubble_chat_event_message_expiry_ephemeral = NSLocalizedString("Ephemeral messages expiry date: %@",comment:"").replacingOccurrences(of: "%@", with: "") - - @objc static let bubble_chat_event_message_ephemeral_disable = NSLocalizedString("Disabled",comment:"") - @objc static let bubble_chat_event_message_ephemeral_one_minute = NSLocalizedString("1 minute",comment:"") - @objc static let bubble_chat_event_message_ephemeral_one_hour = NSLocalizedString("1 hour",comment:"") - @objc static let bubble_chat_event_message_ephemeral_one_day = NSLocalizedString("1 day",comment:"") - @objc static let bubble_chat_event_message_ephemeral_three_days = NSLocalizedString("3 days",comment:"") - @objc static let bubble_chat_event_message_ephemeral_one_week = NSLocalizedString("1 week",comment:"") - @objc static let bubble_chat_event_message_ephemeral_unexpected_duration = NSLocalizedString("Unexpected duration",comment:"") - - @objc static let bubble_chat_event_message_security_level_decreased = NSLocalizedString("Security level decreased",comment:"") - @objc static let bubble_chat_event_message_security_level_decreased_because = NSLocalizedString("Security level decreased because of %@",comment:"").replacingOccurrences(of: "%@", with: "") - @objc static let bubble_chat_event_message_max_participant = NSLocalizedString("Max participant count exceeded",comment:"") - @objc static let bubble_chat_event_message_max_participant_by = NSLocalizedString("Max participant count exceeded by %@",comment:"").replacingOccurrences(of: "%@", with: "") - @objc static let bubble_chat_event_message_lime_changed = NSLocalizedString("LIME identity key changed",comment:"") - @objc static let bubble_chat_event_message_lime_changed_for = NSLocalizedString("LIME identity key changed for %@",comment:"").replacingOccurrences(of: "%@", with: "") - @objc static let bubble_chat_event_message_attack_detected = NSLocalizedString("Man-in-the-middle attack detected",comment:"") - @objc static let bubble_chat_event_message_attack_detected_for = NSLocalizedString("Man-in-the-middle attack detected for %@",comment:"").replacingOccurrences(of: "%@", with: "") - - @objc static let bubble_chat_download_file = NSLocalizedString("Download",comment:"") - - @objc static let chat_room_presence_online = NSLocalizedString("Online",comment:"") - @objc static let chat_room_presence_last_seen_online_today = NSLocalizedString("Online today at ",comment:"") - @objc static let chat_room_presence_last_seen_online_yesterday = NSLocalizedString("Online yesterday at ",comment:"") - @objc static let chat_room_presence_last_seen_online = NSLocalizedString("Online on ",comment:"") - @objc static let chat_room_presence_away = NSLocalizedString("Away",comment:"") - - @objc static let chat_message_cant_open_file_in_app_dialog_title = NSLocalizedString("It seems we can't display the file",comment:"") - @objc static let chat_message_cant_open_file_in_app_dialog_message = NSLocalizedString("Would you like to open it as text or export it (unencrypted) to a third party app if available?",comment:"") - @objc static let chat_message_cant_open_file_in_app_dialog_export_button = NSLocalizedString("Export",comment:"") - // FROM ANDROID END - - - // Added in iOS - static let camera_required_for_video = NSLocalizedString("Camera use is not Authorized for &appName;. This permission is required to activate Video.",comment:"").replacingOccurrences(of: "&appName;", with: appName) - static let microphone_non_authorized_warning = NSLocalizedString("Warning : Microphone access is not Authorized for &appName;. To enable access, tap Settings and turn on Microphone, this will end your call",comment:"").replacingOccurrences(of: "&appName;", with: appName) - static let system_app_settings = NSLocalizedString("SETTINGS",comment:"") - static let conference_edit_error = NSLocalizedString("Unable to edit conference this time, date is invalid",comment:"") - static let ok = NSLocalizedString("ok",comment:"") - static let conference_info_confirm_removal_delete = NSLocalizedString("DELETE",comment:"") - static let conference_unable_to_share_via_calendar = NSLocalizedString("Unable to add event to calendar. Check permissions",comment:"") - static let screenshot_restrictions = NSLocalizedString("Can't take a screenshot due to app restrictions", comment: "") -} diff --git a/Classes/Swift/Voip/Theme/VoipTheme.swift b/Classes/Swift/Voip/Theme/VoipTheme.swift deleted file mode 100644 index 8b768f026..000000000 --- a/Classes/Swift/Voip/Theme/VoipTheme.swift +++ /dev/null @@ -1,456 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit - -@objc class VoipTheme : NSObject { // Names & values replicated from Android - - // Voip Colors - static let voip_gray_blue_color = UIColor(hex:"#798791") - static let voip_light_gray = UIColor(hex:"#D0D8DE") - @objc static let voip_dark_gray = UIColor(hex:"#4B5964") - @objc static let voip_gray = UIColor(hex:"#96A5B1") - static let voip_gray_background = UIColor(hex:"#AFAFAF") - static let voip_call_record_background = UIColor(hex:"#EBEBEB") - static let voip_calls_list_inactive_background = UIColor(hex:"#F0F1F2") - static let voip_translucent_popup_background = UIColor(hex:"#A64B5964") - static let voip_translucent_popup_alt_background = UIColor(hex:"#E64B5964") - static let voip_numpad_background = UIColor(hex:"#E4E4E4") - static let voip_contact_avatar_background_alt = UIColor(hex:"#AFAFAF") - static let voip_contact_avatar_calls_list = UIColor(hex:"#A1A1A1") - static let voip_conference_participant_paused_background = UIColor(hex:"#303030") - static let voip_drawable_color = UIColor(hex:"#A6B2BC") - static let voip_dark_color = UIColor(hex:"#252E35") - static let voip_dark_color2 = UIColor(hex:"#3F464B") - static let voip_dark_color3 = UIColor(hex:"#475663") - static let voip_dark_color4 = UIColor(hex:"#2D3841") - - // General colors (used by VoIP) - - @objc static let primary_color = UIColor(hex:"#ff5e00") - @objc static let primary_light_color = UIColor(hex:"#ffdfcc") - @objc static let gray_light_color = UIColor(hex:"#e1e1e1") - static let primary_dark_color = UIColor(hex:"#e65000") - static let green_color = UIColor(hex:"#96c11f") - static let dark_green_color = UIColor(hex:"#7d9f21") - @objc static let toolbar_color = UIColor(hex:"#e1e1e1") - static let form_field_gray_background = UIColor(hex:"#F7F7F7") - static let light_grey_color = UIColor(hex:"#c4c4c4") - static let header_background_color = UIColor(hex:"#f3f3f3") - static let dark_grey_color = UIColor(hex:"#444444") - static let voip_conference_invite_out = UIColor(hex:"ffeee5") - static let voip_conference_invite_in = header_background_color - static let voip_conference_updated = UIColor(hex:"#EFAE00") - static let voip_conference_cancelled_bg_color = UIColor(hex:"#FFE6E6") - static let voip_dark_color5 = UIColor(hex:"#353B3F") - - - - - // Light / Dark variations - static let voipBackgroundColor = LightDarkColor(voip_gray_blue_color,voip_dark_color) - @objc static let voipBackgroundBWColor = LightDarkColor(.white,voip_dark_color) - @objc static let backgroundWhiteBlack = LightDarkColor(.white,.black) - @objc static let backgroundBlackWhite = LightDarkColor(.black,.white) - static let voipParticipantBackgroundColor = LightDarkColor(voip_gray_background,voip_dark_color2) - static let voipParticipantMeBackgroundColor = LightDarkColor(voip_dark_color3,voip_dark_color3) - static let voipExtraButtonsBackgroundColor = LightDarkColor(voip_gray,voip_dark_color3) - @objc static let voipToolbarBackgroundColor = LightDarkColor(toolbar_color,voip_dark_color4) - static let voipDrawableColor = LightDarkColor(voip_dark_gray,.white) - static let voipDrawableColorHighlighted = LightDarkColor(voip_gray,voip_gray) - static let voipTextColor = LightDarkColor(voip_dark_gray,.white) - static let voipFormBackgroundColor = LightDarkColor(form_field_gray_background,voip_dark_color4) - static let voipFormFieldBackgroundColor = LightDarkColor(light_grey_color,voip_dark_color4) - static let voipFormDisabledFieldBackgroundColor = LightDarkColor(header_background_color,voip_dark_color4) - static let primarySubtextLightColor = LightDarkColor(light_grey_color,toolbar_color) - static let primaryTextColor = LightDarkColor(dark_grey_color,.white) - static let backgroundColor3 = LightDarkColor(voip_light_gray,voip_dark_color5) - static let backgroundColor4 = LightDarkColor(header_background_color,voip_dark_color5) - static let separatorColor = LightDarkColor(light_grey_color,.white) - static let chatBubbleBGColor = LightDarkColor(voip_light_gray, voip_dark_color5) - - // Text styles - static let fontName = "Roboto" - static let call_header_title = TextStyle(fgColor: LightDarkColor(.white,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .center, font: fontName+"-Bold", size: 18.0) - static let call_header_subtitle = TextStyle(fgColor: LightDarkColor(.white,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .center, font: fontName+"-Regular", size: 14.0) - static let call_generated_avatar_large = TextStyle(fgColor: LightDarkColor(.white,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: true, align: .center, font: fontName+"-Regular", size: 53.0) - static let call_generated_avatar_medium = TextStyle(fgColor: LightDarkColor(.white,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: true, align: .center, font: fontName+"-Regular", size: 27.0) - static let call_generated_avatar_small = TextStyle(fgColor: LightDarkColor(.white,voip_dark_gray), bgColor: LightDarkColor(.clear,.clear), allCaps: true, align: .center, font: fontName+"-Bold", size: 25.0) - - static let dtmf_label = TextStyle(fgColor: LightDarkColor(.white,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .center, font: fontName+"-Regular", size: 30.0) - static let call_remote_name = TextStyle(fgColor: LightDarkColor(.white,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Regular", size: 18.0) - static let call_remote_recording = TextStyle(fgColor: LightDarkColor(.white,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .center, font: fontName+"-Regular", size: 16.0) - static let call_or_conference_title = TextStyle(fgColor: LightDarkColor(.white,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .center, font: fontName+"-Bold", size: 30.0) - static let call_or_conference_subtitle = TextStyle(fgColor: LightDarkColor(.white,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .center, font: fontName+"-Bold", size: 20.0) - static let basic_popup_title = TextStyle(fgColor: LightDarkColor(.white,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .center, font: fontName+"-Regular", size: 21.0) - static let form_button_bold = TextStyle(fgColor: LightDarkColor(.white,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: true, align: .center, font: fontName+"-Bold", size: 17.0) - static let form_button_light = TextStyle(fgColor: LightDarkColor(.white,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: true, align: .center, font: fontName+"-Regular", size: 17.0) - - static let call_display_name_duration = TextStyle(fgColor: LightDarkColor(.white,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Regular", size: 17.0) - static let call_sip_address = TextStyle(fgColor: LightDarkColor(.white,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Regular", size: 14.0) - static let voip_extra_button = TextStyle(fgColor: LightDarkColor(.white,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .center, font: fontName+"-Regular", size: 12.0) - static let unread_count_font = TextStyle(fgColor: LightDarkColor(.white,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .center, font: fontName+"-Regular", size: 11.0) - static let call_stats_font = TextStyle(fgColor: LightDarkColor(.white,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .center, font: fontName+"-Regular", size: 12.0) - static let call_stats_font_title = TextStyle(fgColor: LightDarkColor(.white,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .center, font: fontName+"-Regular", size: 18.0) - static let calls_list_header_font = TextStyle(fgColor: voipTextColor, bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .center, font: fontName+"-Regular", size: 20.0) - static let navigation_header_font = TextStyle(fgColor: LightDarkColor(primary_color,primary_color), bgColor: LightDarkColor(.clear,.clear), allCaps: true, align: .center, font: fontName+"-Bold", size: 27.0) - - static let call_list_active_name_font = TextStyle(fgColor: LightDarkColor(.white,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .center, font: fontName+"-Regular", size: 18.0) - static let call_list_active_sip_uri_font = TextStyle(fgColor: LightDarkColor(.white,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .center, font: fontName+"-Regular", size: 12.0) - - static let call_list_name_font = TextStyle(fgColor: voipTextColor, bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .center, font: fontName+"-Regular", size: 18.0) - static let call_list_sip_uri_font = TextStyle(fgColor: voipTextColor, bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .center, font: fontName+"-Regular", size: 12.0) - - static let call_context_menu_item_font = TextStyle(fgColor: LightDarkColor(.white,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: true, align: .left, font: fontName+"-Bold", size: 16.0) - - - static let conference_participant_admin_label = TextStyle(fgColor: primarySubtextLightColor, bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Bold", size: 13.0) - static let conference_participant_name_font = TextStyle(fgColor: LightDarkColor(dark_grey_color,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Regular", size: 18.0) - static let conference_participant_sip_uri_font = TextStyle(fgColor: LightDarkColor(primary_color,primary_color), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Regular", size: 12.0) - static let conference_participant_name_font_grid = TextStyle(fgColor: LightDarkColor(.white,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Bold", size: 15.0) - static let conference_participant_name_font_as = TextStyle(fgColor: LightDarkColor(.white,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Bold", size: 12.0) - static let conference_participant_name_font_audio_only = TextStyle(fgColor: LightDarkColor(.white,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName, size: 14.0) - - static let conference_mode_title = TextStyle(fgColor: LightDarkColor(dark_grey_color,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Regular", size: 17.0) - static let conference_mode_title_selected = conference_mode_title.boldEd() - static let conference_scheduling_font = TextStyle(fgColor: voipTextColor, bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Regular", size: 17.0) - static let conference_invite_participant_title_font = TextStyle(fgColor: LightDarkColor(dark_grey_color,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Bold", size: 14.0) - static let conference_invite_desc_font = TextStyle(fgColor: LightDarkColor(dark_grey_color,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Regular", size: 14.0) - static let conference_invite_desc_title_font = TextStyle(fgColor: LightDarkColor(voip_dark_gray,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Bold", size: 14.0) - static let conference_invite_subject_font = TextStyle(fgColor: LightDarkColor(voip_dark_gray,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Bold", size: 14.0) - static let conference_invite_title_font = TextStyle(fgColor: LightDarkColor(dark_grey_color,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Bold", size: 16.0) - static let conference_cancelled_title_font = TextStyle(fgColor: LightDarkColor(.red,.red), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Bold", size: 16.0) - static let conference_updated_title_font = TextStyle(fgColor: LightDarkColor(voip_conference_updated,voip_conference_updated), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Bold", size: 16.0) - - static let conference_preview_subject_font = TextStyle(fgColor: LightDarkColor(.white,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Regular", size: 24.0) - static let conference_waiting_room_no_video_font = TextStyle(fgColor: LightDarkColor(.white,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .center, font: fontName+"-Regular", size: 16.0) - - static let empty_list_font = TextStyle(fgColor: primaryTextColor, bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .center, font: fontName+"-Regular", size: 18.0) - static let conf_list_filter_button_font = TextStyle(fgColor: LightDarkColor(.black,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .center, font: fontName+"-Regular", size: 14.0) - static let conference_list_subject_font = TextStyle(fgColor: LightDarkColor(voip_dark_gray,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Bold", size: 18.0) - static let conference_list_address_desc_font = TextStyle(fgColor: LightDarkColor(voip_dark_gray,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Regular", size: 18.0) - - static let chat_conversation_title = TextStyle(fgColor: LightDarkColor(voip_dark_gray,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Regular", size: 22.0) - static let chat_conversation_participants = TextStyle(fgColor: LightDarkColor(voip_dark_gray,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Regular", size: 14.0) - static let chat_conversation_is_composing_text = TextStyle(fgColor: LightDarkColor(voip_dark_gray,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Regular", size: 16.0) - static let chat_conversation_operation_in_progress_wait = TextStyle(fgColor: LightDarkColor(primary_color,primary_color), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .center, font: fontName+"-Bold", size: 18.0) - static let chat_conversation_reply_label = TextStyle(fgColor: LightDarkColor(voip_dark_gray,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Bold", size: 14.0) - static let chat_conversation_reply_content = TextStyle(fgColor: LightDarkColor(voip_dark_gray,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Regular", size: 14.0) - static let chat_conversation_recording_duration = TextStyle(fgColor: LightDarkColor(voip_dark_gray, voip_dark_gray), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Regular", size: 18.0) - static let chat_conversation_forward_label = TextStyle(fgColor: LightDarkColor(voip_dark_gray,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Regular", size: 12.0) - static let chat_conversation_black_text = TextStyle(fgColor: LightDarkColor(.black,.black), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Regular", size: 12.0) - - static let chat_conversation_download_button = TextStyle(fgColor: LightDarkColor(voip_dark_gray,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .center, font: fontName+"-Regular", size: 14.0) - static let chat_conversation_download_progress_text = TextStyle(fgColor: LightDarkColor(voip_dark_gray,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .center, font: fontName+"-Regular", size: 12.0) - static let chat_conversation_avatar_small = TextStyle(fgColor: LightDarkColor(.white,voip_dark_gray), bgColor: LightDarkColor(.clear,.clear), allCaps: true, align: .center, font: fontName+"-Bold", size: 14.0) - static let chat_conversation_contact_date = TextStyle(fgColor: LightDarkColor(voip_dark_gray,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: true, align: .left, font: fontName+"-Bold", size: 12.0) - static let chat_conversation_ephemeral_timer = TextStyle(fgColor: LightDarkColor(.orange,.orange), bgColor: LightDarkColor(.clear,.clear), allCaps: true, align: .left, font: fontName+"-Bold", size: 8.0) - - // Buttons Background (State colors) - - static let button_background = [ - UIButton.State.normal.rawValue : LightDarkColor(voip_gray,voip_gray), - UIButton.State.highlighted.rawValue : LightDarkColor(voip_dark_gray,voip_dark_gray), - UIButton.State.selected.union(.highlighted).rawValue : LightDarkColor(voip_dark_gray,voip_dark_gray), - UIButton.State.disabled.rawValue : LightDarkColor(voip_light_gray,voip_light_gray) - ] - - static let button_background_reverse = [ - UIButton.State.normal.rawValue : LightDarkColor(voip_dark_gray,voip_dark_gray), - UIButton.State.highlighted.rawValue : LightDarkColor(voip_gray,voip_gray), - UIButton.State.selected.union(.highlighted).rawValue : LightDarkColor(voip_gray,voip_gray), - UIButton.State.disabled.rawValue : LightDarkColor(voip_light_gray,voip_light_gray) - ] - - static let button_call_recording_background = [ - UIButton.State.normal.rawValue : LightDarkColor(voip_call_record_background,voip_call_record_background), - UIButton.State.selected.rawValue : LightDarkColor(primary_color,primary_color), - UIButton.State.disabled.rawValue : LightDarkColor(voip_light_gray,voip_light_gray) - ] - - static let button_toggle_background = [ - UIButton.State.normal.rawValue : LightDarkColor(voip_gray,voip_gray), - UIButton.State.selected.rawValue : LightDarkColor(primary_color,primary_color), - UIButton.State.highlighted.rawValue : LightDarkColor(voip_dark_gray,voip_dark_gray), - UIButton.State.disabled.rawValue : LightDarkColor(voip_light_gray,voip_light_gray) - ] - - static let button_toggle_background_reverse = [ - UIButton.State.normal.rawValue : LightDarkColor(voip_dark_gray,voip_dark_gray), - UIButton.State.selected.rawValue : LightDarkColor(primary_color,primary_color), - UIButton.State.highlighted.rawValue : LightDarkColor(voip_gray,voip_gray), - UIButton.State.disabled.rawValue : LightDarkColor(voip_light_gray,voip_light_gray) - ] - - static let primary_colors_background = [ - UIButton.State.normal.rawValue : LightDarkColor(primary_color,primary_color), - UIButton.State.highlighted.rawValue : LightDarkColor(primary_dark_color,primary_dark_color), - ] - - static let button_green_background = [ - UIButton.State.normal.rawValue : LightDarkColor(green_color,green_color), - UIButton.State.highlighted.rawValue : LightDarkColor(primary_color,primary_color), - ] - - static let primary_colors_background_gray = [ - UIButton.State.normal.rawValue : LightDarkColor(voip_gray,voip_gray), - UIButton.State.highlighted.rawValue : LightDarkColor(voip_dark_gray,voip_dark_gray), - ] - - static let numpad_digit_background = [ - UIButton.State.normal.rawValue : LightDarkColor(voip_numpad_background,voip_numpad_background), - UIButton.State.highlighted.rawValue : LightDarkColor(voip_gray_blue_color,voip_gray_blue_color) - ] - - static let button_round_background = [ - UIButton.State.normal.rawValue : LightDarkColor(primary_color,primary_color), - UIButton.State.highlighted.rawValue : LightDarkColor(dark_grey_color,dark_grey_color), - UIButton.State.disabled.rawValue : LightDarkColor(voip_light_gray,voip_light_gray) - ] - - static let button_call_context_menu_background = [ - UIButton.State.normal.rawValue : LightDarkColor(voip_gray,voip_gray), - UIButton.State.highlighted.rawValue : LightDarkColor(primary_color,primary_color), - ] - - static let button_conference_list_filter = [ - UIButton.State.normal.rawValue : LightDarkColor(light_grey_color,dark_grey_color), - UIButton.State.selected.rawValue : LightDarkColor(primary_color.withAlphaComponent(0.24),primary_color.withAlphaComponent(0.24)), - ] - - // Buttons Icons (State colors) + Background colors - - static let call_terminate = ButtonTheme( - tintableStateIcons:[UIButton.State.normal.rawValue : TintableIcon(name: "voip_hangup",tintColor: LightDarkColor(.white,.white))], - backgroundStateColors: [ - UIButton.State.normal.rawValue : LightDarkColor(primary_color,primary_color), - UIButton.State.highlighted.rawValue : LightDarkColor(primary_dark_color,primary_dark_color) - ]) - - static let call_record = ButtonTheme( - tintableStateIcons:[ - UIButton.State.normal.rawValue : TintableIcon(name: "voip_call_record",tintColor: LightDarkColor(.white,.white)), - ], - backgroundStateColors: button_toggle_background) - - static let call_pause = ButtonTheme( - tintableStateIcons:[ - UIButton.State.normal.rawValue : TintableIcon(name: "voip_pause",tintColor: LightDarkColor(.white,.white)), - ], - backgroundStateColors: button_toggle_background) - - static let call_accept = ButtonTheme( - tintableStateIcons:[UIButton.State.normal.rawValue : TintableIcon(name: "voip_call",tintColor: LightDarkColor(.white,.white))], - backgroundStateColors: [ - UIButton.State.normal.rawValue : LightDarkColor(green_color,green_color), - UIButton.State.highlighted.rawValue : LightDarkColor(dark_green_color,dark_green_color) - ]) - - static let call_mute = ButtonTheme( - tintableStateIcons:[ - UIButton.State.normal.rawValue : TintableIcon(name: "voip_micro_on",tintColor: LightDarkColor(.white,.white)), - UIButton.State.selected.rawValue : TintableIcon(name: "voip_micro_off",tintColor: LightDarkColor(.white,.white)), - ], - backgroundStateColors: button_background_reverse) - - static let call_speaker = ButtonTheme( - tintableStateIcons:[ - UIButton.State.normal.rawValue : TintableIcon(name: "voip_speaker_off",tintColor: LightDarkColor(.white,.white)), - UIButton.State.selected.rawValue : TintableIcon(name: "voip_speaker_on",tintColor: LightDarkColor(.white,.white)), - ], - backgroundStateColors: button_background_reverse) - - static let call_audio_route = ButtonTheme( - tintableStateIcons:[ - UIButton.State.normal.rawValue : TintableIcon(name: "voip_audio_routes",tintColor: LightDarkColor(.white,.white)), - ], - backgroundStateColors: button_toggle_background_reverse) - - - static let call_video = ButtonTheme( - tintableStateIcons:[ - UIButton.State.normal.rawValue : TintableIcon(name: "voip_camera_off",tintColor: LightDarkColor(.white,.white)), - UIButton.State.selected.rawValue : TintableIcon(name: "voip_camera_on",tintColor: LightDarkColor(.white,.white)), - ], - backgroundStateColors: button_background_reverse) - - static let call_numpad = ButtonTheme( - tintableStateIcons:[ - UIButton.State.normal.rawValue : TintableIcon(name: "voip_call_numpad",tintColor: LightDarkColor(.white,.white)), - UIButton.State.highlighted.rawValue : TintableIcon(name: "voip_call_numpad",tintColor: LightDarkColor(voip_dark_gray,voip_dark_gray)), - UIButton.State.disabled.rawValue : TintableIcon(name: "voip_call_numpad",tintColor: LightDarkColor(voip_light_gray,voip_light_gray)), - ], - backgroundStateColors: button_background) - - // Waiting room layout picker - - static let conf_waiting_room_layout_picker = ButtonTheme( - tintableStateIcons:[:], - backgroundStateColors: button_toggle_background_reverse) - - // AUuio routes - - static let route_bluetooth = ButtonTheme( - tintableStateIcons:[ - UIButton.State.normal.rawValue : TintableIcon(name: "voip_bluetooth",tintColor: LightDarkColor(.white,.white)), - ], - backgroundStateColors: button_toggle_background_reverse) - - static let route_earpiece = ButtonTheme( - tintableStateIcons:[ - UIButton.State.normal.rawValue : TintableIcon(name: "voip_earpiece",tintColor: LightDarkColor(.white,.white)), - ], - backgroundStateColors: button_toggle_background_reverse) - - static let route_speaker = ButtonTheme( - tintableStateIcons:[ - UIButton.State.normal.rawValue : TintableIcon(name: "voip_speaker_on",tintColor: LightDarkColor(.white,.white)), - ], - backgroundStateColors: button_toggle_background_reverse) - - - - static let call_more = ButtonTheme( - tintableStateIcons:[ - UIButton.State.normal.rawValue : TintableIcon(name: "voip_call_more",tintColor: LightDarkColor(.white,.white)) - ], - backgroundStateColors: button_background) - - - static let voip_cancel = ButtonTheme( - tintableStateIcons:[ - UIButton.State.normal.rawValue : TintableIcon(name: "voip_cancel",tintColor: voipDrawableColor), - UIButton.State.highlighted.rawValue : TintableIcon(name: "voip_cancel",tintColor: voipDrawableColorHighlighted) - ], - backgroundStateColors: [UIButton.State.normal.rawValue : LightDarkColor(.clear,.clear)]) - - - static let voip_cancel_light = ButtonTheme( - tintableStateIcons:[ - UIButton.State.normal.rawValue : TintableIcon(name: "voip_cancel",tintColor: LightDarkColor(voip_gray,voip_gray)), - UIButton.State.highlighted.rawValue : TintableIcon(name: "voip_cancel",tintColor: LightDarkColor(voip_dark_gray,voip_dark_gray)) - ], - backgroundStateColors: [UIButton.State.normal.rawValue : LightDarkColor(.clear,.clear)]) - - static let voip_edit = ButtonTheme( - tintableStateIcons:[ - UIButton.State.normal.rawValue : TintableIcon(name: "voip_edit",tintColor: LightDarkColor(dark_grey_color,.white)), - UIButton.State.highlighted.rawValue : TintableIcon(name: "voip_edit",tintColor: voipDrawableColorHighlighted) - ], - backgroundStateColors: [UIButton.State.normal.rawValue : LightDarkColor(.clear,.clear)]) - - static let radio_button = ButtonTheme( - tintableStateIcons:[ - UIButton.State.normal.rawValue : TintableIcon(name: "voip_radio_off",tintColor: LightDarkColor(dark_grey_color,.white)), - UIButton.State.selected.rawValue : TintableIcon(name: "voip_radio_on",tintColor: LightDarkColor(primary_color,primary_color)) - ], - backgroundStateColors: [UIButton.State.normal.rawValue : LightDarkColor(.clear,.clear)]) - - static let voip_call_list_active_menu = ButtonTheme( - tintableStateIcons:[ - UIButton.State.normal.rawValue : TintableIcon(name: "voip_call_list_menu",tintColor: LightDarkColor(.white,.white)), - UIButton.State.highlighted.rawValue : TintableIcon(name: "voip_call_list_menu",tintColor: voipDrawableColorHighlighted) - ], - backgroundStateColors: [UIButton.State.normal.rawValue : LightDarkColor(.clear,.clear)]) - - static let voip_call_list_menu = ButtonTheme( - tintableStateIcons:[ - UIButton.State.normal.rawValue : TintableIcon(name: "voip_call_list_menu",tintColor: voipTextColor), - UIButton.State.highlighted.rawValue : TintableIcon(name: "voip_call_list_menu",tintColor: voipDrawableColorHighlighted) - ], - backgroundStateColors: [UIButton.State.normal.rawValue : LightDarkColor(.clear,.clear)]) - - - static func call_action(_ iconName:String) -> ButtonTheme { - return ButtonTheme( - tintableStateIcons:[ - UIButton.State.normal.rawValue : TintableIcon(name: iconName,tintColor: LightDarkColor(.white,.white)), - UIButton.State.highlighted.rawValue : TintableIcon(name: iconName,tintColor: LightDarkColor(voip_dark_gray,voip_dark_gray)), - UIButton.State.disabled.rawValue : TintableIcon(name: iconName,tintColor: LightDarkColor(voip_light_gray,voip_light_gray)), - ], - backgroundStateColors: [:]) - } - - static let call_add = ButtonTheme( - tintableStateIcons:[UIButton.State.normal.rawValue : TintableIcon(name: "voip_call_add",tintColor: LightDarkColor(.white,.white))], - backgroundStateColors: button_round_background) - - static let call_merge = ButtonTheme( - tintableStateIcons:[UIButton.State.normal.rawValue : TintableIcon(name: "voip_merge_calls",tintColor: LightDarkColor(.white,.white))], - backgroundStateColors: button_round_background) - - // Navigation - - static func nav_button(_ iconName:String) -> ButtonTheme { - return ButtonTheme( - tintableStateIcons:[ - UIButton.State.normal.rawValue : TintableIcon(name: iconName,tintColor: LightDarkColor(voip_dark_gray,.white)), - UIButton.State.highlighted.rawValue : TintableIcon(name: iconName,tintColor: LightDarkColor(primary_color,primary_color)), - UIButton.State.disabled.rawValue : TintableIcon(name: iconName,tintColor: LightDarkColor(light_grey_color,.white)), - ], - backgroundStateColors: [:]) - } - - static func nav_color_button(_ iconName:String) -> ButtonTheme { - return ButtonTheme( - tintableStateIcons:[ - UIButton.State.normal.rawValue : TintableIcon(name: iconName), - UIButton.State.highlighted.rawValue : TintableIcon(name: iconName,tintColor: LightDarkColor(primary_color,primary_color)), - UIButton.State.disabled.rawValue : TintableIcon(name: iconName,tintColor: LightDarkColor(light_grey_color,.white)), - ], - backgroundStateColors: [:]) - } - - // Conference scheduling - static func scheduled_conference_action(_ iconName:String) -> ButtonTheme { - return ButtonTheme( - tintableStateIcons:[UIButton.State.normal.rawValue : TintableIcon(name: iconName,tintColor: LightDarkColor(.white,.white))], - backgroundStateColors: button_background) - } - - static let conference_info_button = [ - UIButton.State.normal.rawValue : TintableIcon(name: "voip_info",tintColor: LightDarkColor(voip_drawable_color,voip_drawable_color)), - UIButton.State.selected.rawValue : TintableIcon(name: "voip_info",tintColor: LightDarkColor(primary_color,primary_color)), - ] - - static let conference_create_button = [ - UIButton.State.normal.rawValue : TintableIcon(name: "voip_conference_new",tintColor: LightDarkColor(.darkGray,.white)), - UIButton.State.highlighted.rawValue : TintableIcon(name: "voip_conference_new",tintColor: LightDarkColor(primary_color,primary_color)), - UIButton.State.disabled.rawValue : TintableIcon(name: "voip_conference_new",tintColor: LightDarkColor(voip_light_gray,voip_light_gray)), - ] - - static let generic_delete_button = [ - UIButton.State.normal.rawValue : TintableIcon(name: "delete_default",tintColor: LightDarkColor(.darkGray,.white)), - UIButton.State.highlighted.rawValue : TintableIcon(name: "delete_default",tintColor: LightDarkColor(primary_color,primary_color)), - UIButton.State.disabled.rawValue : TintableIcon(name: "delete_disabled",tintColor: LightDarkColor(voip_light_gray,.white)), - ] - - static let generic_back = [ - UIButton.State.normal.rawValue : TintableIcon(name: "back_default",tintColor: LightDarkColor(.darkGray,.white)), - UIButton.State.highlighted.rawValue : TintableIcon(name: "back_default",tintColor: LightDarkColor(primary_color,primary_color)), - UIButton.State.disabled.rawValue : TintableIcon(name: "back_default",tintColor: LightDarkColor(voip_light_gray,voip_light_gray)), - ] - - static let generic_cancel = [ - UIButton.State.normal.rawValue : TintableIcon(name: "cancel_edit_default",tintColor: LightDarkColor(.darkGray,.white)), - ] -} - - diff --git a/Classes/Swift/Voip/ViewModels/CallData.swift b/Classes/Swift/Voip/ViewModels/CallData.swift deleted file mode 100644 index 628b9a89d..000000000 --- a/Classes/Swift/Voip/ViewModels/CallData.swift +++ /dev/null @@ -1,217 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linhome - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import linphonesw -import Foundation - -class CallData { - - var call : Call - let address :String? - - let isPaused = MutableLiveData() - let isRemotelyPaused = MutableLiveData() - let canBePaused = MutableLiveData() - let isRecording = MutableLiveData() - let isRemotelyRecorded = MutableLiveData() - let isInRemoteConference = MutableLiveData() - let remoteConferenceSubject = MutableLiveData() - let isConferenceCall = MediatorLiveData() - let conferenceParticipants = MutableLiveData<[Address]>() - let conferenceParticipantsCountLabel = MutableLiveData() - let callKitConferenceLabel = MutableLiveData() - - let isOutgoing = MutableLiveData() - let isIncoming = MutableLiveData() - let callState = MutableLiveData() - let iFrameReceived = MutableLiveData(false) - let outgoingEarlyMedia = MutableLiveData() - let enteredDTMF = MutableLiveData("") - - var chatRoom: ChatRoom? = nil - - private var callDelegate : CallDelegateStub? - - init (call:Call) { - self.call = call - address = call.remoteAddress?.asStringUriOnly() - callDelegate = CallDelegateStub( - onStateChanged : { (call: linphonesw.Call, state: linphonesw.Call.State, message: String) -> Void in - self.update() - }, - onNextVideoFrameDecoded : { (call: linphonesw.Call) -> Void in - self.iFrameReceived.value = true - }, - onRemoteRecording: { (call: linphonesw.Call, recording:Bool) -> Void in - self.isRemotelyRecorded.value = recording - } - ) - call.addDelegate(delegate: callDelegate!) - - remoteConferenceSubject.readCurrentAndObserve { _ in - self.isConferenceCall.value = self.remoteConferenceSubject.value?.count ?? 0 > 0 || self.conferenceParticipants.value?.count ?? 0 > 0 - } - conferenceParticipants.readCurrentAndObserve { _ in - self.isConferenceCall.value = self.remoteConferenceSubject.value?.count ?? 0 > 0 || self.conferenceParticipants.value?.count ?? 0 > 0 - } - - update() - } - - - private func isCallPaused() -> Bool { - return [Call.State.Paused, Call.State.Pausing].contains(call.state) - } - - private func isCallRemotelyPaused() -> Bool { - return [Call.State.PausedByRemote].contains(call.state) - } - - private func isOutGoing() -> Bool { - return [Call.State.OutgoingInit, Call.State.OutgoingEarlyMedia, Call.State.OutgoingProgress, Call.State.OutgoingRinging].contains(call.state) - } - - private func isInComing() -> Bool { - return [Call.State.IncomingReceived, Call.State.IncomingEarlyMedia].contains(call.state) - } - - private func canCallBePaused() -> Bool { - return !call.mediaInProgress() && [Call.State.StreamsRunning, Call.State.PausedByRemote].contains(call.state) - } - - private func update() { - isPaused.value = isCallPaused() - isRemotelyPaused.value = isCallRemotelyPaused() - canBePaused.value = canCallBePaused() - - updateConferenceInfo() - - let outgoing = isOutGoing() - if (outgoing != isOutgoing.value) { - isOutgoing.value = outgoing - } - let incoming = isInComing() - if (incoming != isIncoming.value) { - isIncoming.value = incoming - } - - if (call.mediaInProgress()) { - DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(1)) { - self.update() - } - } - outgoingEarlyMedia.value = callState.value == .OutgoingEarlyMedia - isRecording.value = call.params?.isRecording - callState.value = call.state - } - - private func updateConferenceInfo() { - let conference = call.conference - isInRemoteConference.value = conference != nil - if (conference != nil) { - Log.d("[Call] Found conference attached to call") - remoteConferenceSubject.value = ConferenceViewModel.getConferenceSubject(conference: conference!) - Log.d("[Call] Found conference related to this call with subject \(remoteConferenceSubject.value)") - var participantsList:[Address] = [] - conference?.participantList.forEach { - $0.address.map {participantsList.append($0)} - } - conferenceParticipants.value = participantsList - conferenceParticipantsCountLabel.value = VoipTexts.conference_participants_title.replacingOccurrences(of:"%d",with:String(participantsList.count)) - } else { - if let conferenceAddress = getConferenceAddress(call: call), let conferenceInfo = Core.get().findConferenceInformationFromUri(uri:conferenceAddress) { - Log.d("[Call] Found matching conference info with subject: \(conferenceInfo.subject)") - remoteConferenceSubject.value = conferenceInfo.subject - var participantsList:[Address] = [] - conferenceInfo.participants.forEach { - participantsList.append($0) - } - // Add organizer if not in participants list - if let organizer = conferenceInfo.organizer { - if (participantsList.filter { $0.weakEqual(address2: organizer) }.first == nil) { - participantsList.insert(organizer, at:0) - } - conferenceParticipants.value = participantsList - conferenceParticipantsCountLabel.value = VoipTexts.conference_participants_title.replacingOccurrences(of:"%d",with:String(participantsList.count)) - } - } - } - } - - func getConferenceAddress(call: Call) -> Address? { - let remoteContact = call.remoteContact - return call.dir == .Incoming ? (remoteContact != nil ? Core.get().interpretUrl(url: remoteContact!, applyInternationalPrefix: CallManager.instance().applyInternationalPrefix()) : nil) : call.remoteAddress - } - - func sendDTMF(dtmf:String) { - enteredDTMF.value = enteredDTMF.value! + dtmf - Core.get().playDtmf(dtmf: dtmf.utf8CString[0], durationMs: 1000) - try?call.sendDtmf(dtmf: dtmf.utf8CString[0]) - } - - func destroy() { - call.removeDelegate(delegate: callDelegate!) - isPaused.clearObservers() - isRemotelyPaused.clearObservers() - canBePaused.clearObservers() - isRecording.clearObservers() - isRemotelyRecorded.clearObservers() - isInRemoteConference.clearObservers() - remoteConferenceSubject.clearObservers() - isOutgoing.clearObservers() - isIncoming.clearObservers() - callState.clearObservers() - iFrameReceived.clearObservers() - outgoingEarlyMedia.clearObservers() - enteredDTMF.clearObservers() - } - - func toggleRecord() { - if (call.params?.isRecording == true) { - call.stopRecording() - } else { - call.startRecording() - } - isRecording.value = call.params?.isRecording - } - - func togglePause() { - if (isCallPaused()) { - CallsViewModel.shared.callsData.value?.forEach { - if ($0.canCallBePaused()) { - CallManager.instance().setHeld(call: $0.call, hold: true) - } - } - CallManager.instance().setHeld(call: call, hold: false) - } else { - CallManager.instance().setHeld(call: call, hold: true) - } - isPaused.value = isCallPaused() - } - - func isOngoingSingleCall() -> Bool { - return !isOutGoing() && !isInComing() && call.conference == nil && call.callLog?.wasConference() != true - } - - func isOngoingConference() -> Bool { - return !isOutGoing() && !isInComing() && (call.conference != nil || call.callLog?.wasConference() == true) - } - - -} diff --git a/Classes/Swift/Voip/ViewModels/CallStatisticsData.swift b/Classes/Swift/Voip/ViewModels/CallStatisticsData.swift deleted file mode 100644 index 8fe0aa416..000000000 --- a/Classes/Swift/Voip/ViewModels/CallStatisticsData.swift +++ /dev/null @@ -1,174 +0,0 @@ -/* - * Copyright (c) 2010-2021 Belledonne Communications SARL. - * - * This file is part of linphone-android - * (see https://www.linphone.org). - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import linphonesw - -class CallStatisticsData { - - var call : Call - var audioStats:[StatItemData] = [] - var videoStats:[StatItemData] = [] - let isVideoEnabled = MutableLiveData() - let statsUpdated = MutableLiveData(true) - - private var callDelegate : CallDelegateStub? - - init (call:Call) { - self.call = call - callDelegate = CallDelegateStub( - onStatsUpdated : { (call: Call, stats: CallStats) -> Void in - self.isVideoEnabled.value = self.videoStatsAvailable(call) - self.updateCallStats(stats: stats) - self.statsUpdated.value = true - } - ) - call.addDelegate(delegate: callDelegate!) - initCallStats() - isVideoEnabled.value = videoStatsAvailable(call) - call.audioStats.map { updateCallStats(stats: $0) } - call.videoStats.map { updateCallStats(stats: $0) } - } - - private func videoStatsAvailable(_ call:Call) -> Bool { - return call.conference != nil ? call.params?.videoDirection == .SendRecv : call.currentParams?.videoEnabled == true - } - - private func initCallStats() { - - audioStats.append(StatItemData(type: StatType.CAPTURE)) - audioStats.append(StatItemData(type: StatType.PLAYBACK)) - audioStats.append(StatItemData(type: StatType.PAYLOAD)) - audioStats.append(StatItemData(type: StatType.ENCODER)) - audioStats.append(StatItemData(type: StatType.DECODER)) - audioStats.append(StatItemData(type: StatType.DOWNLOAD_BW)) - audioStats.append(StatItemData(type: StatType.UPLOAD_BW)) - audioStats.append(StatItemData(type: StatType.ICE)) - audioStats.append(StatItemData(type: StatType.IP_FAM)) - audioStats.append(StatItemData(type: StatType.SENDER_LOSS)) - audioStats.append(StatItemData(type: StatType.RECEIVER_LOSS)) - audioStats.append(StatItemData(type: StatType.JITTER)) - - videoStats.append(StatItemData(type: StatType.CAPTURE)) - videoStats.append(StatItemData(type: StatType.PLAYBACK)) - videoStats.append(StatItemData(type: StatType.PAYLOAD)) - videoStats.append(StatItemData(type: StatType.ENCODER)) - videoStats.append(StatItemData(type: StatType.DECODER)) - videoStats.append(StatItemData(type: StatType.DOWNLOAD_BW)) - videoStats.append(StatItemData(type: StatType.UPLOAD_BW)) - videoStats.append(StatItemData(type: StatType.ESTIMATED_AVAILABLE_DOWNLOAD_BW)) - videoStats.append(StatItemData(type: StatType.ICE)) - videoStats.append(StatItemData(type: StatType.IP_FAM)) - videoStats.append(StatItemData(type: StatType.SENDER_LOSS)) - videoStats.append(StatItemData(type: StatType.RECEIVER_LOSS)) - videoStats.append(StatItemData(type: StatType.SENT_RESOLUTION)) - videoStats.append(StatItemData(type: StatType.RECEIVED_RESOLUTION)) - videoStats.append(StatItemData(type: StatType.SENT_FPS)) - videoStats.append(StatItemData(type: StatType.RECEIVED_FPS)) - } - - private func updateCallStats(stats: CallStats) { - if (stats.type == StreamType.Audio) { - audioStats.forEach{ $0.update(call: call, stats: stats)} - } else if (stats.type == StreamType.Video) { - videoStats.forEach{ $0.update(call: call, stats: stats)} - } - } -} - - -enum StatType { - case CAPTURE - case PLAYBACK - case PAYLOAD - case ENCODER - case DECODER - case DOWNLOAD_BW - case UPLOAD_BW - case ICE - case IP_FAM - case SENDER_LOSS - case RECEIVER_LOSS - case JITTER - case SENT_RESOLUTION - case RECEIVED_RESOLUTION - case SENT_FPS - case RECEIVED_FPS - case ESTIMATED_AVAILABLE_DOWNLOAD_BW -} - -struct StatItemData { - var type:StatType - - let value = MutableLiveData() - - func update(call: Call, stats: CallStats) { - guard let payloadType = stats.type == StreamType.Audio ? call.currentParams?.usedAudioPayloadType : call.currentParams?.usedVideoPayloadType, let core = call.core else { - value.value = "n/a" - return - } - switch(type) { - case StatType.CAPTURE: value.value = stats.type == StreamType.Audio ? core.captureDevice : core.videoDevice - case StatType.PLAYBACK: value.value = stats.type == StreamType.Audio ? core.playbackDevice : core.videoDisplayFilter - case StatType.PAYLOAD: value.value = "\(payloadType.mimeType)/\(payloadType.clockRate / 1000) kHz" - case StatType.ENCODER: value.value = payloadType.description - case StatType.DECODER: value.value = payloadType.description - case StatType.DOWNLOAD_BW: value.value = "\(stats.downloadBandwidth) kbits/s" - case StatType.UPLOAD_BW: value.value = "\(stats.uploadBandwidth) kbits/s" - case StatType.ICE: value.value = stats.iceState.toString() - case StatType.IP_FAM: value.value = stats.ipFamilyOfRemote == Address.Family.Inet6 ? "IPv6" : "IPv4" - case StatType.SENDER_LOSS: value.value = String(format: "%.2f%",stats.senderLossRate) - case StatType.RECEIVER_LOSS: value.value = String(format: "%.2f%",stats.receiverLossRate) - case StatType.JITTER: value.value = String(format: "%.2f ms",stats.jitterBufferSizeMs) - case StatType.SENT_RESOLUTION: value.value = call.currentParams?.sentVideoDefinition?.name - case StatType.RECEIVED_RESOLUTION: value.value = call.currentParams?.receivedVideoDefinition?.name - case StatType.SENT_FPS: value.value = "\(call.currentParams?.sentFramerate ?? 0.0)" - case StatType.RECEIVED_FPS: value.value = "\(call.currentParams?.receivedFramerate ?? 0.0)" - case StatType.ESTIMATED_AVAILABLE_DOWNLOAD_BW: value.value = "\(stats.estimatedDownloadBandwidth) kbit/s" - } - } - - - func getTypeTitle() -> String { - switch (type) { - case .CAPTURE: return VoipTexts.call_stats_capture_filter - case .PLAYBACK: return VoipTexts.call_stats_player_filter - case .PAYLOAD: return VoipTexts.call_stats_codec - case .ENCODER: return VoipTexts.call_stats_encoder_name - case .DECODER: return VoipTexts.call_stats_decoder_name - case .DOWNLOAD_BW: return VoipTexts.call_stats_download - case .UPLOAD_BW: return VoipTexts.call_stats_upload - case .ICE: return VoipTexts.call_stats_ice - case .IP_FAM: return VoipTexts.call_stats_ip - case .SENDER_LOSS: return VoipTexts.call_stats_sender_loss_rate - case .RECEIVER_LOSS: return VoipTexts.call_stats_receiver_loss_rate - case .JITTER: return VoipTexts.call_stats_jitter_buffer - case .SENT_RESOLUTION: return VoipTexts.call_stats_video_resolution_sent - case .RECEIVED_RESOLUTION: return VoipTexts.call_stats_video_resolution_received - case .SENT_FPS: return VoipTexts.call_stats_video_fps_sent - case .RECEIVED_FPS: return VoipTexts.call_stats_video_fps_received - case .ESTIMATED_AVAILABLE_DOWNLOAD_BW: return VoipTexts.call_stats_estimated_download - } - } - - - - - -} diff --git a/Classes/Swift/Voip/ViewModels/CallsViewModel.swift b/Classes/Swift/Voip/ViewModels/CallsViewModel.swift deleted file mode 100644 index a62613b1b..000000000 --- a/Classes/Swift/Voip/ViewModels/CallsViewModel.swift +++ /dev/null @@ -1,242 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linhome - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import Foundation -import linphonesw -import AVFoundation - - -class CallsViewModel { - - let currentCallData = MutableLiveData(nil) - let callsData = MutableLiveData<[CallData]>([]) - let inactiveCallsCount = MutableLiveData(0) - let currentCallUnreadChatMessageCount = MutableLiveData(0) - let chatAndCallsCount = MutableLiveData(0) - let callConnectedEvent = MutableLiveData() - let callUpdateEvent = MutableLiveData() - let noMoreCallEvent = MutableLiveData(false) - - static let shared = CallsViewModel() - - private var coreDelegate : CoreDelegateStub? - - init () { - coreDelegate = CoreDelegateStub( - onCallStateChanged : { (core: Core, call: Call, state: Call.State, message:String) -> Void in - Log.i("[Calls] Call state changed: \(call) : \(state)") - if (state == .IncomingEarlyMedia || state == .IncomingReceived || state == .OutgoingInit) { - self.addCallToList(call:call) - } - let currentCall = core.currentCall - Log.i("[Calls] Current call is \(currentCall)") - if (currentCall != nil && self.currentCallData.value??.call.getCobject != currentCall?.getCobject) { - self.updateCurrentCallData(currentCall: currentCall) - } else if (currentCall == nil && core.callsNb > 0) { - self.updateCurrentCallData(currentCall: currentCall) - } - if ([.End,.Released,.Error].contains(state)) { - self.removeCallFromList(call: call) - } else if ([.OutgoingInit].contains(state)) { - self.addCallToList(call:call) - } else if ([.IncomingReceived].contains(state)) { - self.addCallToList(call:call) - } else if (state == .UpdatedByRemote) { - let remoteVideo = call.remoteParams?.videoEnabled == true - let localVideo = call.currentParams?.videoEnabled == true - let autoAccept = call.core?.videoActivationPolicy?.automaticallyAccept == true - if (remoteVideo && !localVideo && !autoAccept) { - if (core.videoCaptureEnabled || core.videoDisplayEnabled) && Core.get().config?.getBool(section: "app", key: "disable_video_feature", defaultValue: false) == false { - try?call.deferUpdate() - self.callUpdateEvent.value = call - } else { - call.answerVideoUpdateRequest(accept: false) - } - } - } else if (state == Call.State.Connected) { - self.callConnectedEvent.value = call - } else if (state == Call.State.StreamsRunning) { - self.callUpdateEvent.value = call - } - self.updateInactiveCallsCount() - self.callsData.notifyValue() - self.currentCallData.notifyValue() - }, - - onMessageReceived : { (core: Core, room: ChatRoom, message: ChatMessage) -> Void in - self.updateUnreadChatCount() - }, - onChatRoomRead : { (core: Core, room: ChatRoom) -> Void in - self.updateUnreadChatCount() - }, - onLastCallEnded: { (core: Core) -> Void in - self.currentCallData.value??.destroy() - self.currentCallData.value = nil - self.noMoreCallEvent.value = true - } - ) - - Core.get().addDelegate(delegate: coreDelegate!) - - if let currentCall = Core.get().currentCall { - currentCallData.value??.destroy() - currentCallData.value = CallData(call:currentCall) - } - - chatAndCallsCount.value = 0 - inactiveCallsCount.readCurrentAndObserve { (_) in - self.updateCallsAndChatCount() - } - currentCallUnreadChatMessageCount.readCurrentAndObserve { (_) in - self.updateCallsAndChatCount() - } - - initCallList() - updateInactiveCallsCount() - updateUnreadChatCount() - - } - - private func initCallList() { - Core.get().calls.forEach { addCallToList(call: $0) } - } - - private func removeCallFromList(call: Call) { - Log.i("[Calls] Removing call \(call) from calls list") - if let removeCandidate = callsData.value?.filter{$0.call.getCobject == call.getCobject}.first { - removeCandidate.destroy() - } - - callsData.value = callsData.value?.filter(){$0.call.getCobject != call.getCobject} - callsData.notifyValue() - } - - private func addCallToList(call: Call) { - Log.i("[Calls] Adding call \(call) to calls list") - guard self.callsData.value?.filter({$0.call.getCobject == call.getCobject}).first == nil else { - Log.i("[Calls] \(call) already present in the list") - return - } - callsData.value?.append(CallData(call: call)) - callsData.notifyValue() - } - - private func updateUnreadChatCount() { - guard let unread = currentCallData.value??.chatRoom?.unreadMessagesCount else { - currentCallUnreadChatMessageCount.value = 0 - return - } - currentCallUnreadChatMessageCount.value = unread - } - - private func updateInactiveCallsCount() { - inactiveCallsCount.value = Core.get().callsNb - 1 - } - - private func updateCallsAndChatCount() { - var value = 0 - if let calls = inactiveCallsCount.value { - value += calls - } - if let chats = currentCallUnreadChatMessageCount.value { - value += chats - } - chatAndCallsCount.value = value - } - - func mergeCallsIntoLocalConference() { - CallManager.instance().startLocalConference() - } - - private func updateCurrentCallData(currentCall: Call?) { - var callToUse = currentCall - if (currentCall == nil) { - Log.w("[Calls] Current call is now null") - - if (Core.get().callsNb == 1) { - let firstData = callsData.value?.first - if (firstData != nil && currentCallData.value??.call.getCobject != firstData?.call.getCobject) { - Log.i("[Calls] Only one call in Core and the current call data doesn't match it, updating it") - currentCallData.value = firstData - } - return - } - - let firstCall = Core.get().calls.filter {$0.state != .Error && $0.state != .End && $0.state != .Released}.first - if (firstCall != nil && currentCallData.value??.call.getCobject != firstCall?.getCobject) { - Log.i("[Calls] Using \(firstCall?.callLog?.callId) as \"current\" call") - callToUse = firstCall - } - } - - guard let callToUse = callToUse else { - Log.w("[Calls] No call found to be used as \"current\"") - return - } - - let firstToUse = callsData.value?.filter{$0.call.getCobject == callToUse.getCobject}.first - if (firstToUse != nil) { - Log.i("[Calls] Updating current call to : \(firstToUse?.call)") - currentCallData.value = firstToUse - } else { - Log.w("[Calls] Call not found in calls data list, shouldn't happen! currentCallData is \(callToUse)") - currentCallData.value = CallData(call: callToUse) - } - ControlsViewModel.shared.updateMicState() - //updateUnreadChatCount() - } - func updateCore() { - Core.get().removeDelegate(delegate: coreDelegate!) - Core.get().addDelegate(delegate: coreDelegate!) - } -} - -@objc class CallsViewModelBridge : NSObject { - - @objc static func updateCore() { - CallsViewModel.shared.updateCore() - } - - @objc static func callViewToDisplay() -> UICompositeViewDescription? { - if let call = CallsViewModel.shared.currentCallData.value??.call { - if (call.conference != nil) { - return ConferenceCallView.compositeDescription - } else { - return SingleCallView.compositeDescription - } - } else { - return DialerView.compositeViewDescription() - } - } - @objc static func setupCallsViewNavigation() { - CallsViewModel.shared.currentCallData.readCurrentAndObserve { currentCallData in - guard currentCallData != nil && currentCallData??.call != nil && currentCallData??.isOutgoing.value != true && currentCallData??.isIncoming.value != true else { - PhoneMainView.instance().popView(SingleCallView.compositeDescription) - PhoneMainView.instance().popView(ConferenceCallView.compositeDescription) - return - } - if (currentCallData??.call.conference != nil) { - PhoneMainView.instance().pop(toView:ConferenceCallView.compositeDescription) - } else { - PhoneMainView.instance().pop(toView:SingleCallView.compositeDescription) - } - } - } -} diff --git a/Classes/Swift/Voip/ViewModels/ConferenceParticipantData.swift b/Classes/Swift/Voip/ViewModels/ConferenceParticipantData.swift deleted file mode 100644 index 80a9e072b..000000000 --- a/Classes/Swift/Voip/ViewModels/ConferenceParticipantData.swift +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linhome - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import linphonesw -import Foundation - -class ConferenceParticipantData { - - var conference:Conference - var participant:Participant - - let isAdmin = MutableLiveData() - let isMeAdmin = MutableLiveData() - let isBroadcast = MutableLiveData() - let isSpeaker = MutableLiveData() - - private var callDelegate : CallDelegateStub? - - init (conference:Conference, participant:Participant) { - self.conference = conference - self.participant = participant - isAdmin.value = participant.isAdmin - isMeAdmin.value = conference.me?.isAdmin - - var isBroadcastTmp = false - conference.call?.callLog?.conferenceInfo?.participantInfos.forEach { participant in - if participant.role == .Listener { - isBroadcastTmp = true - } - } - isBroadcast.value = isBroadcastTmp - - isSpeaker.value = participant.role != .Listener - - Log.i("[Conference Participant] Participant \(sipUri!) is admin=\(isAdmin.value!)") - - } - - var sipUri:String? { - get { - return self.participant.address?.asString() - } - } - - func destroy() { - isAdmin.clearObservers() - isMeAdmin.clearObservers() - } -} diff --git a/Classes/Swift/Voip/ViewModels/ConferenceParticipantDeviceData.swift b/Classes/Swift/Voip/ViewModels/ConferenceParticipantDeviceData.swift deleted file mode 100644 index cc7beeab4..000000000 --- a/Classes/Swift/Voip/ViewModels/ConferenceParticipantDeviceData.swift +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linhome - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import linphonesw -import Foundation - -class ConferenceParticipantDeviceData { - - var participantDevice:ParticipantDevice - let isMe:Bool - - let videoEnabled = MutableLiveData() - let videoAvailable = MutableLiveData() - let isSendingVideo = MutableLiveData() - - let isSpeaking = MutableLiveData() - let micMuted = MutableLiveData() - - let isInConference = MutableLiveData() - - let isJoining = MutableLiveData() - - - var core : Core { get { Core.get() } } - - private var participantDeviceDelegate : ParticipantDeviceDelegate? - - init (participantDevice:ParticipantDevice, isMe:Bool) { - self.isMe = isMe - self.participantDevice = participantDevice - participantDeviceDelegate = ParticipantDeviceDelegateStub( - onIsSpeakingChanged: { (participantDevice, isSpeaking) in - Log.i("[Conference Participant Device] Participant \(participantDevice.address?.asStringUriOnly()) isspeaking = \(isSpeaking)") - self.isSpeaking.value = isSpeaking - }, - onIsMuted: { (participantDevice, isMuted) in - Log.i("[Conference Participant Device] Participant \(participantDevice.address?.asStringUriOnly()) muted = \(isMuted)") - self.micMuted.value = isMuted - }, - onStateChanged: { (participantDevice, state) in - Log.i("[Conference Participant Device] Participant \(participantDevice.address?.asStringUriOnly()) state has changed: \(state)") - if ([.Joining,.Alerting].contains(state)) { - self.isJoining.value = true - } else if (state == .OnHold) { - self.isInConference.value = false - } else if (state == .Present) { - self.isJoining.value = false - self.isInConference.value = true - } - }, - onStreamCapabilityChanged: { (participantDevice, direction, streamType) in - Log.i("[Conference Participant Device] Participant \(participantDevice.address?.asStringUriOnly()) video stream direction changed: \(direction)") - if (streamType == StreamType.Video) { - self.isSendingVideo.value = direction == MediaDirection.SendRecv || direction == MediaDirection.SendOnly - Log.i("[Conference Participant Device] Participant [\(participantDevice.address?.asStringUriOnly())] video capability changed to \(direction)") - } - }, - onStreamAvailabilityChanged: { (participantDevice, available, streamType) in - if (streamType == StreamType.Video) { - Log.i("[Conference Participant Device] Participant [\(participantDevice.address?.asStringUriOnly())] video availability changed to \(available)") - self.videoAvailable.value = available - } - } - - ) - - participantDevice.addDelegate(delegate: participantDeviceDelegate!) - isSpeaking.value = false - micMuted.value = participantDevice.isMuted - - let videoCapability = participantDevice.getStreamCapability(streamType: StreamType.Video) - isSendingVideo.value = videoCapability == MediaDirection.SendRecv || videoCapability == MediaDirection.SendOnly - videoAvailable.value = participantDevice.getStreamAvailability(streamType: .Video) - videoAvailable.readCurrentAndObserve { _ in - self.videoEnabled.value = self.isVideoAvailableAndSendReceive() - } - isSendingVideo.observe { _ in - self.videoEnabled.value = self.isVideoAvailableAndSendReceive() - } - - isInConference.value = participantDevice.isInConference - - isJoining.value = [.Joining,.Alerting].contains(participantDevice.state) - - Log.i("[Conference Participant Device] Participant [\(participantDevice.address?.asStringUriOnly())], is in conf? \(isInConference.value), is video enabled? \(videoEnabled.value) \(videoCapability)") - } - - func destroy() { - clearObservers() - participantDevice.removeDelegate(delegate: participantDeviceDelegate!) - } - - func clearObservers() { - isInConference.clearObservers() - videoEnabled.clearObservers() - isSpeaking.clearObservers() - isJoining.clearObservers() - micMuted.clearObservers() - } - - func switchCamera() { - Core.get().toggleCamera() - } - - func isSwitchCameraAvailable() -> Bool { - return isMe && Core.get().showSwitchCameraButton() - } - - func setVideoView(view:UIView) { - Log.i("[Conference Participant Device] Setting textureView \(view) for participant \(participantDevice.address?.asStringUriOnly())") - view.contentMode = .scaleAspectFill - if (isMe) { - core.usePreviewWindow(yesno: false) - core.nativePreviewWindow = view - } else { - participantDevice.nativeVideoWindowId = UnsafeMutableRawPointer(Unmanaged.passRetained(view).toOpaque()) - } - } - - private func isVideoAvailableAndSendReceive() -> Bool { - return videoAvailable.value == true && isSendingVideo.value == true - } -} diff --git a/Classes/Swift/Voip/ViewModels/ConferenceSpeakerData.swift b/Classes/Swift/Voip/ViewModels/ConferenceSpeakerData.swift deleted file mode 100644 index 1aaafd7b3..000000000 --- a/Classes/Swift/Voip/ViewModels/ConferenceSpeakerData.swift +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linhome - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import linphonesw -import Foundation - -class ConferenceSpeakerData { - - var conference:Conference - var speaker:Participant - - let isAdmin = MutableLiveData() - let isMeAdmin = MutableLiveData() - - private var callDelegate : CallDelegateStub? - - init (conference:Conference, speaker:Participant) { - self.conference = conference - self.speaker = speaker - isAdmin.value = speaker.isAdmin - isMeAdmin.value = conference.me?.isAdmin - Log.i("[Conference Speaker] Speaker \(sipUri!) is admin=\(isAdmin.value!)") - - } - - var sipUri:String? { - get { - return self.speaker.address?.asString() - } - } - - func destroy() { - isAdmin.clearObservers() - isMeAdmin.clearObservers() - } -} diff --git a/Classes/Swift/Voip/ViewModels/ConferenceViewModel.swift b/Classes/Swift/Voip/ViewModels/ConferenceViewModel.swift deleted file mode 100644 index 6c55059ae..000000000 --- a/Classes/Swift/Voip/ViewModels/ConferenceViewModel.swift +++ /dev/null @@ -1,563 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linhome - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import Foundation -import linphonesw -import linphone -import AVFoundation - -class ConferenceViewModel { - - var core : Core { get { Core.get() } } - static let shared = ConferenceViewModel() - - let conferenceExists = MutableLiveData() - let subject = MutableLiveData() - let isConferenceLocallyPaused = MutableLiveData() - let isVideoConference = MutableLiveData() - let isMeAdmin = MutableLiveData() - - let conference = MutableLiveData() - let conferenceCreationPending = MutableLiveData() - let conferenceSpeakers = MutableLiveData<[ConferenceSpeakerData]>() - let conferenceParticipants = MutableLiveData<[ConferenceParticipantData]>() - let conferenceParticipantDevices = MutableLiveData<[ConferenceParticipantDeviceData]>() - let conferenceDisplayMode = MutableLiveData() - let activeSpeakerConferenceParticipantDevices = MutableLiveData<[ConferenceParticipantDeviceData]>() - - let isRecording = MutableLiveData() - let isRemotelyRecorded = MutableLiveData() - - let maxParticipantsForMosaicLayout = ConfigManager.instance().lpConfigIntForKey(key: "max_conf_part_mosaic_layout",defaultValue: 6) - - let moreThanTwoParticipants = MutableLiveData() - let noSpeaker = MutableLiveData() - - let speakingParticipant = MutableLiveData() - - let meParticipant = MutableLiveData() - - let participantAdminStatusChangedEvent = MutableLiveData() - - let firstToJoinEvent = MutableLiveData(false) - - let allParticipantsLeftEvent = MutableLiveData(false) - - private var conferenceDelegate : ConferenceDelegateStub? - private var coreDelegate : CoreDelegateStub? - - var conferenceScheduler:ConferenceScheduler? = nil - - init () { - conferenceDelegate = ConferenceDelegateStub( - onParticipantAdded: { (conference: Conference, participant: Participant) in - Log.i("[Conference] \(conference) Participant \(participant) added") - self.updateParticipantsList(conference) - }, - onParticipantRemoved: {(conference: Conference, participant: Participant) in - Log.i("[Conference] \(conference) \(participant) Participant removed") - self.updateParticipantsList(conference) - if (self.conferenceParticipants.value?.count == 0) { - self.allParticipantsLeftEvent.value = true - } - var noSpeaker = true - conference.participantList.forEach { participant in - if participant.role == .Speaker { - noSpeaker = false - } - } - if conference.me?.role == .Speaker { - noSpeaker = false - } - if noSpeaker { - self.noSpeaker.value = noSpeaker - } - }, - onParticipantDeviceAdded: {(conference: Conference, participantDevice: ParticipantDevice) in - Log.i("[Conference] \(conference) Participant device \(participantDevice) added") - self.addParticipantDevice(device: participantDevice) - }, - onParticipantDeviceRemoved: { (conference: Conference, participantDevice: ParticipantDevice) in - Log.i("[Conference] \(conference) Participant device \(participantDevice) removed") - self.removeParticipantDevice(device: participantDevice) - }, - onParticipantRoleChanged: { (conference: Conference, participant: Participant) in - Log.i("[Conference] \(conference) Participant \(participant) added") - self.updateParticipantsList(conference) - }, - onParticipantAdminStatusChanged: { (conference: Conference, participant: Participant) in - Log.i("[Conference] \(conference) Participant admin status changed") - self.isMeAdmin.value = conference.me?.isAdmin - self.updateParticipantsList(conference) - if let participantData = self.conferenceParticipants.value?.filter ({$0.participant.address!.weakEqual(address2: participant.address!)}).first { - self.participantAdminStatusChangedEvent.value = participantData - if(ControlsViewModel.shared.goToConferenceParticipantsListEvent.value!){ - self.notifyAdminStatusChanged(participantData: participantData) - } - } else { - Log.w("[Conference] Failed to find participant [\(participant.address!.asStringUriOnly())] in conferenceParticipants list") - } - }, - onParticipantDeviceStateChanged: { (conference: Conference, device: ParticipantDevice, state: ParticipantDevice.State) in - if (conference.isMe(uri: device.address!)) { - if (state == .Present) { - Log.i("[Conference] Entered conference") - self.isConferenceLocallyPaused.value = false - } - if (state == .OnHold) { - Log.i("[Conference] Left conference") - self.isConferenceLocallyPaused.value = true - } - } - }, - onStateChanged: { (conference: Conference, state: Conference.State) in - Log.i("[Conference] State changed: \(state)") - self.isVideoConference.value = conference.currentParams?.videoEnabled - if (state == .Created) { - self.configureConference(conference) - } - if (state == .TerminationPending) { - self.terminateConference(conference) - } - }, - onSubjectChanged: { (conference: Conference, subject: String) in - self.subject.value = subject - }, - onActiveSpeakerParticipantDevice: { (conference: Conference, participantDevice: ParticipantDevice) in - Log.i("[Conference] Participant [\(participantDevice.address?.asStringUriOnly())] is currently being displayed as active speaker") - if let device = self.conferenceParticipantDevices.value?.filter ({ - $0.participantDevice.address!.weakEqual(address2: participantDevice.address!) - }).first { - if (device.participantDevice.address?.asString() != self.speakingParticipant.value?.participantDevice.address?.asString()) { - Log.i("[Conference] Found actively speaking participant device") - self.speakingParticipant.value = device - } - } else { - Log.w("[Conference] Participant device [\((participantDevice.address?.asStringUriOnly()).orNil)] is the active speaker but couldn't find it in devices list") - } - } - ) - - coreDelegate = CoreDelegateStub( - onConferenceStateChanged: { (core, conference, state) in - Log.i("[Conference] \(conference) Conference state changed: \(state)") - if (state == Conference.State.Instantiated) { - self.conferenceCreationPending.value = true - self.initConference(conference) - } else if (state == Conference.State.Created) { - if (self.conferenceCreationPending.value == true) { - self.conferenceCreationPending.value = false - } - } - } - ) - - Core.get().addDelegate(delegate: coreDelegate!) - conferenceParticipants.value = [] - conferenceParticipantDevices.value = [] - - if let conference = core.conference != nil ? core.conference : core.currentCall?.conference { - Log.i("[Conference] Found an existing conference: \(conference) in state \(conference.state)") - - if (conference.state != .TerminationPending && conference.state != .Terminated) { - initConference(conference) - if (conference.state == Conference.State.Created) { - configureConference(conference) - } else { - conferenceCreationPending.value = true - } - } - } - - } - - func updateActiveSpeakerConferenceParticipantDevices () { - activeSpeakerConferenceParticipantDevices.value = self.conferenceParticipantDevices.value!.filter { data in // Filter me and speaking device - data.isMe != true && speakingParticipant.value?.participantDevice.address?.weakEqual(address2: data.participantDevice.address!) != true - } - } - - func notifyAdminStatusChanged(participantData:ConferenceParticipantData) { - if let participantName = participantData.participant.address?.addressBookEnhancedDisplayName() { - let message = (participantData.participant.isAdmin ? VoipTexts.conference_admin_set : VoipTexts.conference_admin_unset).replacingOccurrences(of: "%s", with: participantName) - VoipDialog.toast(message: message) - } - } - - func pauseConference() { - Log.i("[Conference] Leaving conference with address \(conference.value) temporarily") - let _ = conference.value?.leave() - } - - func resumeConference() { - Log.i("[Conference] entering conference with address \(conference.value)") - let _ = conference.value?.enter() - } - - func toggleRecording() { - if (conference.value?.isRecording == true) { - Log.i("[Conference] Stopping conference recording") - let _ = conference.value?.stopRecording() - } else { - let writablePath = AppManager.recordingFilePathFromCall(address: (conference.value?.conferenceAddress!.asString())!) - Log.i("[Conference] Starting recording in file $path") - let _ = conference.value?.startRecording(path: writablePath) - } - isRecording.value = conference.value?.isRecording - } - - func initConference(_ conference: Conference) { - conferenceExists.value = true - - self.conference.value = conference - conference.addDelegate(delegate: self.conferenceDelegate!) - - isRecording.value = conference.isRecording - subject.value = ConferenceViewModel.getConferenceSubject(conference: conference) - - updateConferenceLayout(conference: conference) - } - - func configureConference(_ conference: Conference) { - self.updateParticipantsList(conference) - if (conferenceParticipants.value?.count == 0) { - firstToJoinEvent.value = true - } - self.updateParticipantsDevicesList(conference) - - isConferenceLocallyPaused.value = !conference.isIn - self.isMeAdmin.value = conference.me?.isAdmin == true - isVideoConference.value = conference.currentParams?.videoEnabled == true - - subject.value = ConferenceViewModel.getConferenceSubject(conference: conference) - updateConferenceLayout(conference: conference) - - } - - - func addCallsToConference() { - Log.i("[Conference] Trying to merge all calls into existing conference") - guard let conf = conference.value else { - return - } - core.calls.forEach { call in - if (call.conference == nil) { - try? conf.addParticipant(call: call) - } - } - if (!conf.isIn) { - Log.i("[Conference] Conference was paused, resuming it") - let _ = conf.enter() - } - } - - - func changeLayout(layout: ConferenceDisplayMode, sendVideo:Bool = false) { - Log.i("[Conference] Trying to change conference layout to $layout") - if let conference = conference.value, let call = conference.call, let params = try?call.core?.createCallParams(call: call) { - params.videoEnabled = layout != .AudioOnly - params.conferenceVideoLayout = layout == ConferenceDisplayMode.Grid ? .Grid : .ActiveSpeaker - params.videoDirection = sendVideo ? .SendRecv : .RecvOnly - try?call.update(params: params) - - conferenceDisplayMode.value = layout - let list = sortDevicesDataList(devices: conferenceParticipantDevices.value!) - conferenceParticipantDevices.value = list - } else { - Log.e("[Conference] Conference or Call Or Call Params is null in ConferenceViewModel") - } - } - - private func updateConferenceLayout(conference: Conference) { - if let call = conference.call, let params = call.params { - conferenceDisplayMode.value = !params.videoEnabled || Core.get().config?.getBool(section: "app", key: "disable_video_feature", defaultValue: false) == true ? ConferenceDisplayMode.AudioOnly : params.conferenceVideoLayout == .Grid ? .Grid : .ActiveSpeaker - let list = sortDevicesDataList(devices: conferenceParticipantDevices.value!) - conferenceParticipantDevices.value = list - Log.i("[Conference] Conference current layout is: \(conferenceDisplayMode.value)") - } - } - - - - func terminateConference(_ conference: Conference) { - conferenceExists.value = false - isVideoConference.value = false - - conference.removeDelegate(delegate: conferenceDelegate!) - - self.conferenceParticipants.value?.forEach{ $0.destroy()} - self.conferenceParticipantDevices.value?.forEach{ $0.destroy()} - conferenceParticipants.clearObservers() - conferenceParticipants.value = [] - conferenceParticipantDevices.clearObservers() - conferenceParticipantDevices.value = [] - meParticipant.value = nil - isConferenceLocallyPaused.value = false - } - - - private func updateParticipantsList(_ conference: Conference) { - self.conferenceParticipants.value?.forEach{ $0.destroy()} - var participants :[ConferenceParticipantData] = [] - - let participantsList = conference.participantList - Log.i("[Conference] \(conference) Conference has \(participantsList.count) participants") - - participantsList.forEach { (participant) in - let participantDevices = participant.devices - Log.i("[Conference] \(conference) Participant found: \(participant) with \(participantDevices.count) device(s)") - let participantData = ConferenceParticipantData(conference: conference, participant: participant) - participants.append(participantData) - } - - conferenceParticipants.value = participants - } - - private func updateParticipantsDevicesList(_ conference: Conference) { - self.conferenceParticipantDevices.value?.forEach{ $0.destroy()} - var devices :[ConferenceParticipantDeviceData] = [] - - let participantsList = conference.participantList.filter({$0.role == .Speaker}) - Log.i("[Conference] \(conference) Conference has \(participantsList.count) participants") - - participantsList.forEach { (participant) in - let participantDevices = participant.devices - Log.i("[Conference] \(conference) Participant found: \(participant) with \(participantDevices.count) device(s)") - - participantDevices.forEach { (device) in - Log.i("[Conference] \(conference) Participant device found: \(device.name) (\(device.address!.asStringUriOnly()))") - let deviceData = ConferenceParticipantDeviceData(participantDevice: device, isMe: false) - devices.append(deviceData) - } - - } - - if (devices.count > 0) { - speakingParticipant.value = devices.first - } - - if conference.me?.role == .Speaker{ - conference.me?.devices.forEach { (device) in - Log.i("[Conference] \(conference) Participant device for myself found: \(device.name) (\(device.address!.asStringUriOnly()))") - let deviceData = ConferenceParticipantDeviceData(participantDevice: device, isMe: true) - devices.append(deviceData) - meParticipant.value = deviceData - } - } - - conferenceParticipantDevices.value = devices - } - - private func addParticipantDevice(device: ParticipantDevice) { - var devices :[ConferenceParticipantDeviceData] = [] - conferenceParticipantDevices.value?.forEach{devices.append($0)} - - if let deviceAddress = device.address, let _ = devices.filter({ $0.participantDevice.address!.weakEqual(address2: deviceAddress)}).first { - Log.e("[Conference] Participant is already in devices list: \(device.name) (\((device.address?.asStringUriOnly()) ?? "nil")") - return - } - - Log.i("[Conference] New participant device found: \(device.name) (\((device.address?.asStringUriOnly()).orNil)") - if (device.address != nil && conference.value?.findParticipant(uri: device.address!)?.role == .Speaker){ - let deviceData = ConferenceParticipantDeviceData(participantDevice: device, isMe: false) - devices.append(deviceData) - - let sortedDevices = sortDevicesDataList(devices: devices) - - if (speakingParticipant.value == nil) { - speakingParticipant.value = deviceData - } - - conferenceParticipantDevices.value = sortedDevices - } - } - - private func removeParticipantDevice(device: ParticipantDevice) { - let devices = conferenceParticipantDevices.value?.filter { - $0.participantDevice.address?.asStringUriOnly() != device.address?.asStringUriOnly() - } - if (device.address != nil && conference.value?.findParticipant(uri: device.address!)?.role == .Speaker){ - conferenceParticipantDevices.value?.filter { - $0.participantDevice.address?.asStringUriOnly() == device.address?.asStringUriOnly() - }.first?.destroy() - - if (devices?.count == conferenceParticipantDevices.value?.count) { - Log.e("[Conference] Failed to remove participant device: \(device.name) (\((device.address?.asStringUriOnly()).orNil)") - } else { - Log.i("[Conference] Participant device removed: \(device.name) (\((device.address?.asStringUriOnly()).orNil)") - } - - conferenceParticipantDevices.value = devices - } - } - - - private func sortDevicesDataList(devices: [ConferenceParticipantDeviceData]) -> [ConferenceParticipantDeviceData] { - if let meDeviceData = devices.filter({$0.isMe}).first { - var devicesWithoutMe = devices.filter { !$0.isMe } - if (conferenceDisplayMode.value == .ActiveSpeaker) { - devicesWithoutMe.insert(meDeviceData, at: 0) - } else { - devicesWithoutMe.append(meDeviceData) - } - return devicesWithoutMe - } - return devices - } - - - func togglePlayPause () { - if (isConferenceLocallyPaused.value == true) { - resumeConference() - } else { - pauseConference() - } - } - - // Review below (dynamic add/remove) - - func updateParticipants(addresses:[Address]) { - guard let conference = conference.value else { - Log.w("[Conference Participants] conference not set, can't update participants") - return - } - do { - // Adding new participants first, because if we remove all of them (or all of them except one) - // It will terminate the conference first and we won't be able to add new participants after - try addresses.forEach { address in - let participant = conference.participantList.filter {$0.address?.asStringUriOnly() == address.asStringUriOnly() }.first - if (participant == nil) { - Log.i("[Conference Participants] Participant \(address.asStringUriOnly()) will be added to group") - try conference.addParticipant(uri: address) - } - } - - // Removing participants - try conference.participantList.forEach { participant in - let member = addresses.filter { $0.asStringUriOnly() == participant.address?.asStringUriOnly() }.first - if (member == nil) { - Log.w("[Conference Participants] Participant \((participant.address?.asStringUriOnly()).orNil) will be removed from conference") - try conference.removeParticipant(participant: participant) - } - } - } catch { - Log.e("[Conference Participants] Error updating participant lists \(error)") - } - } - - static func getConferenceSubject(conference:Conference) -> String? { - if (conference.subject != nil && conference.subject!.count > 0) { - return conference.subject - } else { - if conference.conferenceAddress != nil { - let conferenceInfo = Core.get().findConferenceInformationFromUri(uri: conference.conferenceAddress!) - if (conferenceInfo != nil) { - return conferenceInfo?.subject - } else { - if (conference.me?.isFocus == true) { - return VoipTexts.conference_local_title - } else { - return VoipTexts.conference_default_title - } - } - } else { - return VoipTexts.conference_default_title - } - } - } - - -} - -@objc class ConferenceViewModelBridge : NSObject { - - @objc static func updateParticipantsList(addresses:[String]) { - do { - try ConferenceViewModel.shared.updateParticipants(addresses: addresses.map { try Factory.Instance.createAddress(addr: $0)} ) - } catch { - Log.e("[ParticipantsListView] unable to update participants list \(error)") - } - } - - - @objc static func startGroupCall(cChatRoom: OpaquePointer ) { - let core = Core.get() - let chatRoom = ChatRoom.getSwiftObject(cObject: cChatRoom) - guard let localAddress = chatRoom.localAddress?.clone() else { - Log.e("[Group Call] Couldn't get local address from default account!") - return - } - localAddress.clean() // Remove GRUU - ConferenceViewModel.shared.conferenceScheduler = try?Core.get().createConferenceScheduler() - let conferenceInfo = try?Factory.Instance.createConferenceInfo() - conferenceInfo?.participants = chatRoom.participants.map {$0.address!} - conferenceInfo?.organizer = localAddress - conferenceInfo?.subject = chatRoom.subject - ConferenceViewModel.shared.conferenceScheduler?.account = core.accountList.filter { $0.params?.identityAddress?.weakEqual(address2: localAddress) == true}.first - ConferenceViewModel.shared.conferenceScheduler?.info = conferenceInfo // Will trigger the conference creation automatically - } - - @objc static func showCancelledMeeting(cConferenceInfo: OpaquePointer) { - let core = Core.get() - var message = VoipTexts.conference_scheduled_cancelled_by_organizer - let conferenceInfo = ConferenceInfo.getSwiftObject(cObject: cConferenceInfo) - if let organizerAddress = conferenceInfo.organizer { - let localAccount = Core.get().accountList.filter { account in - account.params?.identityAddress != nil && organizerAddress.weakEqual(address2: account.params!.identityAddress!) - }.first - if (localAccount != nil) { - message = VoipTexts.conference_scheduled_cancelled_by_me - } - } - VoipDialog.toast(message: message) - } - - @objc static func scheduleFromGroupChat(cChatRoom: OpaquePointer ) { - ConferenceSchedulingViewModel.shared.reset() - - do { - try ChatRoom.getSwiftObject(cObject: cChatRoom).participants.forEach { - ConferenceSchedulingViewModel.shared.selectedParticipants.value?.append( - try Factory.Instance.createParticipantInfo(address: $0.address!) - ) - ConferenceSchedulingViewModel.shared.selectedParticipants.value?.last?.role = .Listener - } - } catch { - Log.e("[ScheduleFromGroupChat] unable to create ParticipantInfo \(error)") - } - - ConferenceSchedulingViewModel.shared.scheduleForLater.value = true - } - -} - - -enum FlexDirection { - case ROW - case ROW_REVERSE - case COLUMN - case COLUMN_REVERSE -} - -enum ConferenceDisplayMode { - case Grid - case ActiveSpeaker - case AudioOnly -} diff --git a/Classes/Swift/Voip/ViewModels/ControlsViewModel.swift b/Classes/Swift/Voip/ViewModels/ControlsViewModel.swift deleted file mode 100644 index 439b76d00..000000000 --- a/Classes/Swift/Voip/ViewModels/ControlsViewModel.swift +++ /dev/null @@ -1,300 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linhome - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import Foundation -import linphonesw -import AVFoundation - - -class ControlsViewModel { - var core : Core { get { Core.get() } } - - let isSpeakerSelected = MutableLiveData() - let isMicrophoneMuted = MutableLiveData() - let isMuteMicrophoneEnabled = MutableLiveData() - let isBluetoothHeadsetSelected = MutableLiveData() - let isBluetoothHeadsetAvailable = MutableLiveData() - let nonEarpieceOutputAudioDevice = MutableLiveData() - let audioRoutesSelected = MutableLiveData() - let audioRoutesEnabled = MutableLiveData() - - let isVideoUpdateInProgress = MutableLiveData() - let isVideoEnabled = MutableLiveData() - let isVideoAvailable = MutableLiveData() - - let fullScreenMode = MutableLiveData(false) - let numpadVisible = MutableLiveData(false) - let callStatsVisible = MutableLiveData(false) - let goToConferenceLayoutSettings = MutableLiveData(false) - let goToConferenceParticipantsListEvent = MutableLiveData(false) - let goToChatEvent = MutableLiveData(false) - let goToCallsListEvent = MutableLiveData(false) - let hideExtraButtons = MutableLiveData(true) - - let proximitySensorEnabled = MutableLiveData() - - - static let shared = ControlsViewModel() - private var coreDelegate : CoreDelegateStub? - private var previousCallState = Call.State.Idle - - var imSpeaker : Bool = true - - init () { - coreDelegate = CoreDelegateStub( - onCallStateChanged : { (core: Core, call: Call, state: Call.State, message:String) -> Void in - Log.i("[Call Controls] Call state changed: \(call) : \(state)") - if (state == Call.State.StreamsRunning) { - self.isVideoUpdateInProgress.value = false - } - self.updateUI() - self.setAudioRoutes(call,state) - self.previousCallState = state - }, - onAudioDeviceChanged : { (core: Core, audioDevice: AudioDevice) -> Void in - Log.i("[Call Controls] Audio device changed: \(audioDevice.deviceName)") - self.nonEarpieceOutputAudioDevice.value = audioDevice.type != AudioDevice.Kind.Microphone // on iOS Earpiece = Microphone - self.updateSpeakerState() - self.updateBluetoothHeadsetState() - }, - onAudioDevicesListUpdated : { (core: Core) -> Void in - self.isBluetoothHeadsetAvailable.value = !core.audioDevices.filter { [.Bluetooth,.BluetoothA2DP].contains($0.type)}.isEmpty - } - ) - Core.get().addDelegate(delegate: coreDelegate!) - proximitySensorEnabled.value = shouldProximitySensorBeEnabled() - isVideoEnabled.readCurrentAndObserve { _ in - self.proximitySensorEnabled.value = self.shouldProximitySensorBeEnabled() - } - nonEarpieceOutputAudioDevice.readCurrentAndObserve { _ in - self.proximitySensorEnabled.value = self.shouldProximitySensorBeEnabled() - } - proximitySensorEnabled.readCurrentAndObserve { (enabled) in - UIDevice.current.isProximityMonitoringEnabled = enabled == true - } - updateUI() - ConferenceViewModel.shared.conferenceDisplayMode.readCurrentAndObserve { _ in - self.updateVideoAvailable() - } - self.isBluetoothHeadsetAvailable.value = !core.audioDevices.filter { [.Bluetooth,.BluetoothA2DP].contains($0.type)}.isEmpty - } - - private func setAudioRoutes(_ call:Call,_ state:Call.State) { - if (state == .OutgoingProgress) { - if (core.callsNb == 1 && ConfigManager.instance().lpConfigBoolForKey(key: "route_audio_to_bluetooth_if_available",defaultValue:true)) { - AudioRouteUtils.routeAudioToBluetooth(call: call) - } - } - if (state == .StreamsRunning) { - if (core.callsNb == 1) { - // Only try to route bluetooth / headphone / headset when the call is in StreamsRunning for the first time - if (previousCallState == Call.State.Connected) { - Log.i("[Context] First call going into StreamsRunning state for the first time, trying to route audio to headset or bluetooth if available") - if (AudioRouteUtils.isHeadsetAudioRouteAvailable()) { - AudioRouteUtils.routeAudioToHeadset(call: call) - } else if (ConfigManager.instance().lpConfigBoolForKey(key: "route_audio_to_bluetooth_if_available",defaultValue:true) && - AudioRouteUtils.isBluetoothAudioRouteAvailable()) { - AudioRouteUtils.routeAudioToBluetooth(call: call) - } - } - } - - if (ConfigManager.instance().lpConfigBoolForKey(key: "route_audio_to_speaker_when_video_enabled",defaultValue:true) && call.currentParams?.videoEnabled == true && call.conference == nil) { - // Do not turn speaker on when video is enabled if headset or bluetooth is used - if (!AudioRouteUtils.isHeadsetAudioRouteAvailable() && - !AudioRouteUtils.isBluetoothAudioRouteCurrentlyUsed(call: call) - ) { - Log.i("[Context] Video enabled and no wired headset not bluetooth in use, routing audio to speaker") - AudioRouteUtils.routeAudioToSpeaker(call: call) - } - } - } - } - - - private func shouldProximitySensorBeEnabled() -> Bool { - return core.callsNb > 0 && isVideoEnabled.value != true && nonEarpieceOutputAudioDevice.value != true - } - - - func hangUp() { - if (core.currentCall != nil) { - try?core.currentCall?.terminate() - } else if (core.conference?.isIn == true) { - try?core.terminateConference() - } else { - try?core.terminateAllCalls() - } - } - - func toggleVideo() { - if let currentCall = core.currentCall { - if (currentCall.conference != nil) { - if (ConferenceViewModel.shared.conferenceDisplayMode.value == .AudioOnly) { - ConferenceViewModel.shared.changeLayout(layout: .ActiveSpeaker, sendVideo:Core.get().videoActivationPolicy?.automaticallyInitiate == true) - } else if let params = try?core.createCallParams(call: currentCall) { - isVideoUpdateInProgress.value = true - params.videoDirection = params.videoDirection == MediaDirection.RecvOnly ? MediaDirection.SendRecv : MediaDirection.RecvOnly - try?currentCall.update(params: params) - } - } else { - let state = currentCall.state - if (state == Call.State.End || state == Call.State.Released || state == Call.State.Error) { - return - } - isVideoUpdateInProgress.value = true - if let params = try?core.createCallParams(call: currentCall) { - params.videoEnabled = !(currentCall.currentParams?.videoEnabled == true) - try?currentCall.update(params: params) - if (params.videoEnabled) { - currentCall.requestNotifyNextVideoFrameDecoded() - } - } - } - } - } - - - func updateUI() { - updateVideoAvailable() - updateVideoEnabled() - updateMicState() - updateSpeakerState() - updateAudioRoutesState() - proximitySensorEnabled.value = shouldProximitySensorBeEnabled() - } - - private func updateAudioRoutesState() { - let bluetoothDeviceAvailable = AudioRouteUtils.isBluetoothAudioRouteAvailable() - audioRoutesEnabled.value = bluetoothDeviceAvailable - - if (!bluetoothDeviceAvailable) { - audioRoutesSelected.value = false - audioRoutesEnabled.value = false - } - } - - private func updateSpeakerState() { - isSpeakerSelected.value = AudioRouteUtils.isSpeakerAudioRouteCurrentlyUsed() - } - - private func updateBluetoothHeadsetState() { - isBluetoothHeadsetSelected.value = AudioRouteUtils.isBluetoothAudioRouteCurrentlyUsed() - } - - private func updateVideoAvailable() { - let currentCall = core.currentCall - isVideoAvailable.value = - ((core.videoCaptureEnabled || core.videoPreviewEnabled) && - currentCall?.state != .Paused && - currentCall?.state != .PausedByRemote && - ((currentCall != nil && currentCall?.mediaInProgress() != true) || (core.conference?.isIn == true))) && Core.get().config?.getBool(section: "app", key: "disable_video_feature", defaultValue: false) == false - } - - private func updateVideoEnabled() { - let enabled = isVideoCallOrConferenceActive() - isVideoEnabled.value = enabled - } - - func updateMicState() { - isMicrophoneMuted.value = !micAuthorized() || !core.micEnabled - isMuteMicrophoneEnabled.value = CallsViewModel.shared.currentCallData.value??.call != nil - } - - func micAuthorized() -> Bool { - return AVCaptureDevice.authorizationStatus(for: .audio) == .authorized - } - - func isVideoCallOrConferenceActive() -> Bool { - if let currentCall = core.currentCall, let params = currentCall.params { - return currentCall.state != .PausedByRemote && params.videoEnabled && (currentCall.conference == nil || params.videoDirection == MediaDirection.SendRecv) - } else { - return false - } - } - - func toggleFullScreen() { - ControlsViewModel.shared.audioRoutesSelected.value = false - fullScreenMode.value = fullScreenMode.value != true - } - - func toggleMuteMicrophone() { - if (!micAuthorized()) { - askMicrophoneAccess() - } - core.micEnabled = !core.micEnabled - updateMicState() - } - - var microphoneAsking = false - func askMicrophoneAccess() { - microphoneAsking = true - let settings = ButtonAttributes(text:VoipTexts.system_app_settings, action: { - self.microphoneAsking = false - try! self.core.terminateAllCalls() - UIApplication.shared.open(URL(string: UIApplication.openSettingsURLString)!) - }, isDestructive:false) - let cancel = ButtonAttributes(text:VoipTexts.cancel, action: {self.microphoneAsking = false}, isDestructive:true) - VoipDialog(message:VoipTexts.microphone_non_authorized_warning, givenButtons: [cancel,settings]).show() - } - - func forceEarpieceAudioRoute() { - if (AudioRouteUtils.isHeadsetAudioRouteAvailable()) { - Log.i("[Call Controls] Headset found, route audio to it instead of earpiece") - AudioRouteUtils.routeAudioToHeadset() - } else { - AudioRouteUtils.routeAudioToEarpiece() - } - } - - func forceSpeakerAudioRoute() { - AudioRouteUtils.routeAudioToSpeaker() - } - - func forceBluetoothAudioRoute() { - AudioRouteUtils.routeAudioToBluetooth() - } - - func toggleSpeaker() { - if (AudioRouteUtils.isSpeakerAudioRouteCurrentlyUsed()) { - forceEarpieceAudioRoute() - } else { - forceSpeakerAudioRoute() - } - } - - func toggleRoutesMenu() { - audioRoutesSelected.value = audioRoutesSelected.value != true - } - -} - -@objc class ControlsViewModelBridge: NSObject { - @objc static func showParticipants() { - ControlsViewModel.shared.goToConferenceParticipantsListEvent.value = true - } - @objc static func toggleStatsVisibility() -> Void { - if (ControlsViewModel.shared.callStatsVisible.value == true) { - ControlsViewModel.shared.callStatsVisible.value = false - } else { - ControlsViewModel.shared.callStatsVisible.value = true - } - } -} diff --git a/Classes/Swift/Voip/Views/CompositeViewControllers/AbstractCallView.swift b/Classes/Swift/Voip/Views/CompositeViewControllers/AbstractCallView.swift deleted file mode 100644 index d13f12c69..000000000 --- a/Classes/Swift/Voip/Views/CompositeViewControllers/AbstractCallView.swift +++ /dev/null @@ -1,203 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import linphonesw - - -@objc class AbstractCallView: UIViewController { - - let extraButtonsView = VoipExtraButtonsView() - var numpadView : NumpadView? = nil - var currentCallStatsVew : CallStatsView? = nil - var shadingMask = UIView() - var videoAcceptDialog : VoipDialog? = nil - var dismissableView : DismissableView? = nil - - var audioRoutesView : AudioRoutesView? = nil - let fullScreenMutableContainerView = UIView() - let controlsView = ControlsView(showVideo: true, controlsViewModel: ControlsViewModel.shared) - - override func viewDidLoad() { - super.viewDidLoad() - - UIDeviceBridge.displayModeSwitched.readCurrentAndObserve { _ in - self.view.backgroundColor = VoipTheme.voipBackgroundColor.get() - } - - // Hangup - let hangup = CallControlButton(width: 65, imageInset:AbstractIncomingOutgoingCallView.answer_decline_inset, buttonTheme: VoipTheme.call_terminate, onClickAction: { - ControlsViewModel.shared.hangUp() - }) - view.addSubview(hangup) - hangup.alignParentLeft(withMargin:SharedLayoutConstants.margin_call_view_side_controls_buttons).alignParentBottom(withMargin:SharedLayoutConstants.buttons_bottom_margin).done() - - - // Controls - view.addSubview(controlsView) - controlsView.alignParentBottom(withMargin:SharedLayoutConstants.buttons_bottom_margin).centerX().done() - - // Container view - fullScreenMutableContainerView.backgroundColor = .clear - self.view.addSubview(fullScreenMutableContainerView) - fullScreenMutableContainerView.alignParentLeft(withMargin: SharedLayoutConstants.content_inset).alignParentRight(withMargin: SharedLayoutConstants.content_inset).matchParentHeight().alignAbove(view:controlsView,withMargin:SharedLayoutConstants.buttons_bottom_margin).done() - - - // Calls List - ControlsViewModel.shared.goToCallsListEvent.observe { _ in - if (self.view.superview != nil) { - self.dismissableView = CallsListView() - self.view.addSubview(self.dismissableView!) - self.dismissableView?.matchParentDimmensions().done() - } - } - - // Goto chat - ControlsViewModel.shared.goToChatEvent.observe { (_) in - self.goToChat() - } - - - // Shading mask, everything before will be shaded upon displaying of the mask - shadingMask.backgroundColor = VoipTheme.voip_translucent_popup_background - shadingMask.isHidden = true - self.view.addSubview(shadingMask) - shadingMask.matchParentDimmensions().done() - - // Extra Buttons - let showextraButtons = CallControlButton(imageInset:AbstractIncomingOutgoingCallView.answer_decline_inset, buttonTheme: VoipTheme.call_more, onClickAction: { - self.view.bringSubviewToFront(self.shadingMask) - self.view.bringSubviewToFront(self.extraButtonsView) - self.showModalSubview(view: self.extraButtonsView) - ControlsViewModel.shared.audioRoutesSelected.value = false - }) - view.addSubview(showextraButtons) - showextraButtons.alignParentRight(withMargin:SharedLayoutConstants.margin_call_view_side_controls_buttons).alignParentBottom(withMargin:SharedLayoutConstants.buttons_bottom_margin).done() - - let boucingCounter = BouncingCounter(inButton:showextraButtons) - view.addSubview(boucingCounter) - boucingCounter.dataSource = CallsViewModel.shared.chatAndCallsCount - - view.addSubview(extraButtonsView) - extraButtonsView.matchParentSideBorders(insetedByDx: SharedLayoutConstants.content_inset).alignParentBottom(withMargin:SharedLayoutConstants.bottom_margin_notch_clearance).done() - ControlsViewModel.shared.hideExtraButtons.readCurrentAndObserve { (_) in - self.hideModalSubview(view: self.extraButtonsView) - } - shadingMask.onClick { - if (!self.extraButtonsView.isHidden) { - self.hideModalSubview(view: self.extraButtonsView) - } else if (self.extraButtonsView.isHidden && !self.shadingMask.isHidden && ControlsViewModel.shared.numpadVisible.value == false && ControlsViewModel.shared.callStatsVisible.value == false){ - self.shadingMask.isHidden = true - } - ControlsViewModel.shared.audioRoutesSelected.value = false - } - - // Numpad - ControlsViewModel.shared.numpadVisible.readCurrentAndObserve { (visible) in - showextraButtons.isHidden = visible == true - if (visible == true && CallsViewModel.shared.currentCallData.value != nil ) { - self.numpadView?.removeFromSuperview() - self.shadingMask.isHidden = false - self.numpadView = NumpadView(superView: self.view,callData: CallsViewModel.shared.currentCallData.value!!,marginTop: 0.0, above:self.controlsView, onDismissAction: { - ControlsViewModel.shared.numpadVisible.value = false - }) - } else { - self.numpadView?.removeFromSuperview() - self.shadingMask.isHidden = true - } - - } - - // Call stats - ControlsViewModel.shared.callStatsVisible.readCurrentAndObserve { (visible) in - showextraButtons.isHidden = visible == true - if (visible == true && CallsViewModel.shared.currentCallData.value != nil ) { - self.currentCallStatsVew?.removeFromSuperview() - self.shadingMask.isHidden = false - self.currentCallStatsVew = CallStatsView(superView: self.view,callData: CallsViewModel.shared.currentCallData.value!!,marginTop:0.0, above:self.controlsView, onDismissAction: { - ControlsViewModel.shared.callStatsVisible.value = false - }) - } else { - self.currentCallStatsVew?.removeFromSuperview() - self.shadingMask.isHidden = true - } - } - - // Audio Routes - audioRoutesView = AudioRoutesView() - view.addSubview(audioRoutesView!) - audioRoutesView!.alignBottomWith(otherView: controlsView).done() - ControlsViewModel.shared.audioRoutesSelected.readCurrentAndObserve { (audioRoutesSelected) in - self.audioRoutesView!.isHidden = audioRoutesSelected != true - } - audioRoutesView!.alignAbove(view:controlsView,withMargin:SharedLayoutConstants.buttons_bottom_margin).centerX().done() - } - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(true) - extraButtonsView.refresh() - ControlsViewModel.shared.callStatsVisible.notifyValue() - ControlsViewModel.shared.audioRoutesSelected.value = false - } - - override func viewWillDisappear(_ animated: Bool) { - dismissableView?.removeFromSuperview() - dismissableView = nil - - ControlsViewModel.shared.numpadVisible.value = false - ControlsViewModel.shared.callStatsVisible.value = false - ControlsViewModel.shared.fullScreenMode.value = false - super.viewWillDisappear(animated) - } - - func showModalSubview(view:UIView) { - view.isHidden = false - shadingMask.isHidden = false - } - func hideModalSubview(view:UIView) { - view.isHidden = true - shadingMask.isHidden = true - } - - func goToChat() { - /*guard - let chatRoom = CallsViewModel.shared.currentCallData.value??.chatRoom - else { - Log.w("[Call] Failed to find existing chat room associated to call") - return - }*/ - PhoneMainView.instance().changeCurrentView(ChatsListView.compositeViewDescription()) - - } - - func layoutRotatableElements() { - let leftMargin = UIDevice.current.orientation == .landscapeLeft && UIDevice.hasNotch() ? UIApplication.shared.keyWindow!.safeAreaInsets.left : SharedLayoutConstants.content_inset - let rightMargin = UIDevice.current.orientation == .landscapeRight && UIDevice.hasNotch() ? UIApplication.shared.keyWindow!.safeAreaInsets.right : SharedLayoutConstants.content_inset - fullScreenMutableContainerView.updateAlignParentLeft(withMargin: leftMargin).updateAlignParentRight(withMargin: rightMargin).done() - controlsView.updateAlignParentBottom(withMargin:SharedLayoutConstants.buttons_bottom_margin).centerX().done() - } - - override func didRotate(from fromInterfaceOrientation: UIInterfaceOrientation) { - super.didRotate(from: fromInterfaceOrientation) - self.layoutRotatableElements() - } - - -} diff --git a/Classes/Swift/Voip/Views/CompositeViewControllers/AbstractIncomingOutgoingCallView.swift b/Classes/Swift/Voip/Views/CompositeViewControllers/AbstractIncomingOutgoingCallView.swift deleted file mode 100644 index 6119d4810..000000000 --- a/Classes/Swift/Voip/Views/CompositeViewControllers/AbstractIncomingOutgoingCallView.swift +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import linphonesw - -@objc class AbstractIncomingOutgoingCallView: UIViewController { // Shared between IncomingCallView and OutgoingCallVIew (all upper part except control buttons) - - // Layout constants - static let spinner_size = 50 - static let spinner_margin_top = 8.0 - static let call_type_margin_top = 10.0 - static let duration_margin_top = 10.0 - static let display_name_height = 20.0 - static let display_name_margin_top = 18.0 - static let sip_address_height = 16.0 - static let sip_address_margin_top = 6.0 - static let answer_decline_inset = UIEdgeInsets(top: 2, left: 7, bottom: 2, right: 7) - - let spinner = RotatingSpinner() - let duration = CallTimer(nil, VoipTheme.call_header_subtitle) - let avatar = Avatar(color:VoipTheme.voipParticipantBackgroundColor, textStyle: VoipTheme.call_generated_avatar_large) - let displayName = StyledLabel(VoipTheme.call_header_title) - let sipAddress = StyledLabel(VoipTheme.call_header_subtitle) - - var callData: CallData? = nil { - didSet { - duration.call = callData?.call - callData?.call.remoteAddress.map { - avatar.fillFromAddress(address: $0) - displayName.text = $0.addressBookEnhancedDisplayName() - sipAddress.text = $0.asStringUriOnly() - } - } - } - - func viewDidLoad(forCallType:String) { - super.viewDidLoad() - - view.backgroundColor = VoipTheme.voipBackgroundColor.get() - view.accessibilityIdentifier = "IO_call_view" - - view.addSubview(spinner) - spinner.square(AbstractIncomingOutgoingCallView.spinner_size).matchParentSideBorders().alignParentTop(withMargin:AbstractIncomingOutgoingCallView.spinner_margin_top + UIDevice.notchHeight()).done() - spinner.accessibilityIdentifier = "IO_call_view_spinner" - - let callType = StyledLabel(VoipTheme.call_header_title,forCallType) - view.addSubview(callType) - callType.matchParentSideBorders().alignUnder(view:spinner,withMargin:AbstractIncomingOutgoingCallView.call_type_margin_top).done() - - self.view.addSubview(duration) - duration.matchParentSideBorders().alignUnder(view:callType,withMargin:AbstractIncomingOutgoingCallView.duration_margin_top).done() - duration.accessibilityIdentifier = "IO_call_view_duration" - - // Center : Avatar + Display name + SIP Address - let centerSection = UIView() - centerSection.addSubview(avatar) - centerSection.addSubview(displayName) - displayName.height(AbstractIncomingOutgoingCallView.display_name_height).matchParentSideBorders().alignUnder(view:avatar,withMargin:AbstractIncomingOutgoingCallView.display_name_margin_top).done() - centerSection.addSubview(sipAddress) - sipAddress.height(AbstractIncomingOutgoingCallView.sip_address_height).matchParentSideBorders().alignUnder(view:displayName,withMargin:AbstractIncomingOutgoingCallView.sip_address_margin_top).done() - self.view.addSubview(centerSection) - centerSection.matchParentSideBorders().center().done() - - layoutRotatableElements() - } - - func layoutRotatableElements() { - avatar.removeConstraints().done() - if ([.landscapeLeft, .landscapeRight].contains( UIDevice.current.orientation)) { - avatar.square(Avatar.diameter_for_call_views_land).center().done() - } else { - avatar.square(Avatar.diameter_for_call_views).center().done() - } - } - - override func didRotate(from fromInterfaceOrientation: UIInterfaceOrientation) { - super.didRotate(from: fromInterfaceOrientation) - self.layoutRotatableElements() - } - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - spinner.startRotation() - } - - override func viewWillDisappear(_ animated: Bool) { - spinner.stopRotation() - duration.call = nil - super.viewWillDisappear(animated) - } - - @objc func setCall(call:OpaquePointer) { - callData = CallData(call: Call.getSwiftObject(cObject: call)) - } - -} diff --git a/Classes/Swift/Voip/Views/CompositeViewControllers/ConferenceCallView.swift b/Classes/Swift/Voip/Views/CompositeViewControllers/ConferenceCallView.swift deleted file mode 100644 index 8597e88ee..000000000 --- a/Classes/Swift/Voip/Views/CompositeViewControllers/ConferenceCallView.swift +++ /dev/null @@ -1,188 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import linphonesw - - -@objc class ConferenceCallView: AbstractCallView, UICompositeViewDelegate { - - var conferencePausedView : PausedCallOrConferenceView? = nil - var conferenceGridView: VoipConferenceGridView? = nil - var conferenceActiveSpeakerView: VoipConferenceActiveSpeakerView? = nil - var conferenceAudioOnlyView: VoipConferenceAudioOnlyView? = nil - let conferenceJoinSpinner = RotatingSpinner(color:VoipTheme.dark_grey_color) - @objc var participantsListView : ParticipantsListView? = nil - - static let compositeDescription = UICompositeViewDescription(ConferenceCallView.self, statusBar: StatusBarView.self, tabBar: nil, sideMenu: nil, fullscreen: false, isLeftFragment: false,fragmentWith: nil) - static func compositeViewDescription() -> UICompositeViewDescription! { return compositeDescription } - func compositeViewDescription() -> UICompositeViewDescription! { return type(of: self).compositeDescription } - - override func viewDidLoad() { - super.viewDidLoad() - - // Conference paused - conferencePausedView = PausedCallOrConferenceView(iconName: "voip_conference_play_big",titleText: VoipTexts.conference_paused_title,subTitleText: VoipTexts.conference_paused_subtitle, onClickAction: { - ConferenceViewModel.shared.togglePlayPause() - }) - view.addSubview(conferencePausedView!) - conferencePausedView?.matchParentSideBorders().matchParentHeight().alignAbove(view:controlsView,withMargin:SharedLayoutConstants.buttons_bottom_margin).done() - conferencePausedView?.isHidden = true - - // Conference grid - conferenceGridView = VoipConferenceGridView() - fullScreenMutableContainerView.addSubview(conferenceGridView!) - conferenceGridView?.matchParentDimmensions().done() - conferenceGridView?.isHidden = true - ConferenceViewModel.shared.conferenceExists.readCurrentAndObserve { (exists) in - if (exists == true) { - self.extraButtonsView.isHidden = true - self.conferencePausedView?.isHidden = ConferenceViewModel.shared.isConferenceLocallyPaused.value != true - self.displaySelectedConferenceLayout() - UIApplication.shared.isIdleTimerDisabled = true - } else { - self.conferenceGridView?.isHidden = true - self.conferenceActiveSpeakerView?.isHidden = true - self.conferenceActiveSpeakerView?.isHidden = true - self.conferencePausedView?.isHidden = true - UIApplication.shared.isIdleTimerDisabled = false - } - } - - ConferenceViewModel.shared.conferenceCreationPending.readCurrentAndObserve { isCreationPending in - if (isCreationPending == true) { - self.fullScreenMutableContainerView.addSubview(self.conferenceJoinSpinner) - self.conferenceJoinSpinner.square(AbstractIncomingOutgoingCallView.spinner_size).center().done() - self.conferenceJoinSpinner.startRotation() - } else { - self.conferenceJoinSpinner.removeFromSuperview() - self.conferenceJoinSpinner.stopRotation() - self.switchToFullScreenIfPossible(conference: ConferenceViewModel.shared.conference.value) - } - } - - // Conference active speaker - conferenceActiveSpeakerView = VoipConferenceActiveSpeakerView() - fullScreenMutableContainerView.addSubview(conferenceActiveSpeakerView!) - conferenceActiveSpeakerView?.matchParentDimmensions().done() - conferenceActiveSpeakerView?.isHidden = true - - // Conference audio only - conferenceAudioOnlyView = VoipConferenceAudioOnlyView() - fullScreenMutableContainerView.addSubview(conferenceAudioOnlyView!) - conferenceAudioOnlyView?.matchParentDimmensions().done() - conferenceAudioOnlyView?.isHidden = true - - ConferenceViewModel.shared.conferenceDisplayMode.readCurrentAndObserve { (conferenceMode) in - if (ConferenceViewModel.shared.conferenceExists.value == true) { - self.displaySelectedConferenceLayout() - if (conferenceMode != .AudioOnly) { - self.switchToFullScreenIfPossible(conference: ConferenceViewModel.shared.conference.value) - } - } - } - ConferenceViewModel.shared.isConferenceLocallyPaused.readCurrentAndObserve { (paused) in - self.conferencePausedView?.isHidden = paused != true - } - - // Conference Participants List - ControlsViewModel.shared.goToConferenceParticipantsListEvent.observe { goToConferenceParticipantsList in - if goToConferenceParticipantsList! { - self.participantsListView = ParticipantsListView() - self.view.addSubview(self.participantsListView!) - self.participantsListView?.matchParentDimmensions().done() - } - } - - // Conference mode selection - ControlsViewModel.shared.goToConferenceLayoutSettings.observe { (_) in - self.dismissableView = VoipConferenceDisplayModeSelectionView() - self.view.addSubview(self.dismissableView!) - self.dismissableView?.matchParentDimmensions().done() - } - - // First/Last to join conference : - ConferenceViewModel.shared.allParticipantsLeftEvent.observe { (allLeft) in - if (allLeft == true) { - VoipDialog.toast(message: VoipTexts.conference_last_user) - self.conferenceActiveSpeakerView?.grid.isHidden = true - } - } - ConferenceViewModel.shared.firstToJoinEvent.observe { (first) in - if (first == true) { - VoipDialog.toast(message: VoipTexts.conference_first_to_join) - } - } - - view.onClick { - ControlsViewModel.shared.audioRoutesSelected.value = false - } - - } - - func displaySelectedConferenceLayout() { - let conferenceMode = ConferenceViewModel.shared.conferenceDisplayMode.value - self.conferenceGridView!.isHidden = conferenceMode != .Grid - self.conferenceActiveSpeakerView!.isHidden = conferenceMode != .ActiveSpeaker - self.conferenceAudioOnlyView!.isHidden = conferenceMode != .AudioOnly - if (conferenceMode == .Grid) { - self.conferenceGridView?.conferenceViewModel = ConferenceViewModel.shared - } - if (conferenceMode == .AudioOnly) { - self.conferenceAudioOnlyView?.conferenceViewModel = ConferenceViewModel.shared - } - if (conferenceMode == .ActiveSpeaker) { - self.conferenceActiveSpeakerView?.conferenceViewModel = ConferenceViewModel.shared - } - } - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(true) - ConferenceViewModel.shared.conferenceExists.notifyValue() - } - - override func viewWillDisappear(_ animated: Bool) { - super.viewWillDisappear(animated) - participantsListView?.removeFromSuperview() - participantsListView = nil - } - - override func didRotate(from fromInterfaceOrientation: UIInterfaceOrientation) { - super.didRotate(from: fromInterfaceOrientation) - self.conferenceActiveSpeakerView?.layoutRotatableElements() - } - - private func switchToFullScreenIfPossible(conference: Conference?) { - if (ConfigManager.instance().lpConfigBoolForKey(key: "enter_video_conference_enable_full_screen_mode", defaultValue: true)) { - if (conference?.currentParams?.isVideoEnabled == true) { - if (conference?.me?.devices.count == 0) { - Log.i("[Conference Call] Conference has video enabled but our device hasn't joined yet") - } else if (conference?.me?.devices.filter { $0.isInConference && $0.getStreamAvailability(streamType: StreamType.Video) }.first != nil) { - Log.i("[Conference Call] Conference has video enabled & our device has video enabled, enabling full screen mode") - ControlsViewModel.shared.fullScreenMode.value = true - } else { - Log.i("[Conference Call] Conference has video enabled but our device video is disabled") - } - } - } - } - - -} diff --git a/Classes/Swift/Voip/Views/CompositeViewControllers/IncomingCallView.swift b/Classes/Swift/Voip/Views/CompositeViewControllers/IncomingCallView.swift deleted file mode 100644 index 44d306bca..000000000 --- a/Classes/Swift/Voip/Views/CompositeViewControllers/IncomingCallView.swift +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import linphonesw - -@objc class IncomingCallView: AbstractIncomingOutgoingCallView, UICompositeViewDelegate { - - // Layout constants - let buttons_distance_from_center_x = 38 - - static let compositeDescription = UICompositeViewDescription(IncomingCallView.self, statusBar: StatusBarView.self, tabBar: nil, sideMenu: nil, fullscreen: false, isLeftFragment: false,fragmentWith: nil) - static func compositeViewDescription() -> UICompositeViewDescription! { return compositeDescription } - func compositeViewDescription() -> UICompositeViewDescription! { return type(of: self).compositeDescription } - - var earlyMediaView : UIView? = nil - - override func viewDidLoad() { - - super.viewDidLoad(forCallType: VoipTexts.call_incoming_title) - - // Accept - let accept = CallControlButton(width: CallControlButton.hungup_width, imageInset:AbstractIncomingOutgoingCallView.answer_decline_inset, buttonTheme: VoipTheme.call_accept, onClickAction: { - self.callData.map { CallManager.instance().acceptCall(call: $0.call.getCobject, hasVideo: false)} - }) - view.addSubview(accept) - accept.centerX(withDx: buttons_distance_from_center_x).alignParentBottom(withMargin:SharedLayoutConstants.buttons_bottom_margin).done() - accept.accessibilityIdentifier = "I_call_view_accept" - accept.accessibilityLabel = "Accept" - - // Decline - let decline = CallControlButton(width: CallControlButton.hungup_width, imageInset:AbstractIncomingOutgoingCallView.answer_decline_inset, buttonTheme: VoipTheme.call_terminate, onClickAction: { - self.callData.map { CallManager.instance().terminateCall(call: $0.call.getCobject)} - }) - view.addSubview(decline) - decline.centerX(withDx: -buttons_distance_from_center_x).alignParentBottom(withMargin:SharedLayoutConstants.buttons_bottom_margin).done() - decline.accessibilityIdentifier = "I_call_view_decline" - decline.accessibilityLabel = "Decline" - } - - @objc override func setCall(call:OpaquePointer) { - super.setCall(call: call) - callData?.iFrameReceived.observe(onChange: { (video) in - if (video == true) { - Core.get().nativeVideoWindow = self.earlyMediaView - self.earlyMediaView?.isHidden = false - } - }) - callData?.callState.readCurrentAndObserve(onChange: { (state) in - if (ConfigManager.instance().lpConfigBoolForKey(key: "pref_accept_early_media") && state == .IncomingReceived) { - try?self.callData?.call.acceptEarlyMedia() - self.callData?.call.requestNotifyNextVideoFrameDecoded() - } - }) - callData?.isIncoming.readCurrentAndObserve { (incoming) in - if (incoming != true) { - PhoneMainView.instance().popView(self.compositeViewDescription()) - } - } - - if (ConfigManager.instance().lpConfigBoolForKey(key: "auto_answer")) { - CallManager.instance().acceptCall(call: call, hasVideo: false) // TODO check with old version for Video accept separate button - Not implemented in Android - } - } - - -} diff --git a/Classes/Swift/Voip/Views/CompositeViewControllers/OutgoingCallView.swift b/Classes/Swift/Voip/Views/CompositeViewControllers/OutgoingCallView.swift deleted file mode 100644 index 7470bcd01..000000000 --- a/Classes/Swift/Voip/Views/CompositeViewControllers/OutgoingCallView.swift +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import linphonesw - -@objc class OutgoingCallView: AbstractIncomingOutgoingCallView, UICompositeViewDelegate { - - // Layout constants - let numpad_icon_padding = 10.0 - - var numpadView : NumpadView? = nil - var showNumPad : CallControlButton? = nil - var shadingMask = UIView() - - - static let compositeDescription = UICompositeViewDescription(OutgoingCallView.self, statusBar: StatusBarView.self, tabBar: nil, sideMenu: nil, fullscreen: false, isLeftFragment: false,fragmentWith: nil) - static func compositeViewDescription() -> UICompositeViewDescription! { return compositeDescription } - func compositeViewDescription() -> UICompositeViewDescription! { return OutgoingCallView.compositeDescription } - - override func viewDidLoad() { - super.viewDidLoad(forCallType: VoipTexts.call_outgoing_title) - - // Cancel - let cancelCall = CallControlButton(width: CallControlButton.hungup_width, imageInset:AbstractIncomingOutgoingCallView.answer_decline_inset, buttonTheme: VoipTheme.call_terminate, onClickAction: { - self.callData.map { CallManager.instance().terminateCall(call: $0.call.getCobject)} - }) - view.addSubview(cancelCall) - cancelCall.alignParentLeft(withMargin:SharedLayoutConstants.margin_call_view_side_controls_buttons).alignParentBottom(withMargin:SharedLayoutConstants.buttons_bottom_margin).done() - cancelCall.accessibilityIdentifier = "O_call_view_cancel" - cancelCall.accessibilityLabel = "Cancel" - - // Controls - let controlsView = ControlsView(showVideo: false, controlsViewModel: ControlsViewModel.shared) - view.addSubview(controlsView) - controlsView.alignParentBottom(withMargin:SharedLayoutConstants.buttons_bottom_margin).centerX().done() - - // Shading mask, everything after will be shaded upon displayed - shadingMask.backgroundColor = VoipTheme.voip_translucent_popup_background - shadingMask.isHidden = true - self.view.addSubview(shadingMask) - shadingMask.matchParentDimmensions().done() - - // Numpad - showNumPad = CallControlButton(imageInset:UIEdgeInsets(top: numpad_icon_padding, left: numpad_icon_padding, bottom: numpad_icon_padding, right: numpad_icon_padding), buttonTheme: VoipTheme.call_numpad, onClickAction: { - self.numpadView?.removeFromSuperview() - self.shadingMask.isHidden = false - self.numpadView = NumpadView(superView: self.view,callData: self.callData!, marginTop: 0.0,above:controlsView, onDismissAction: { - self.numpadView?.removeFromSuperview() - self.shadingMask.isHidden = true - }) - }) - view.addSubview(showNumPad!) - showNumPad?.alignParentRight(withMargin:SharedLayoutConstants.margin_call_view_side_controls_buttons).alignParentBottom(withMargin:SharedLayoutConstants.buttons_bottom_margin).done() - showNumPad!.isHidden = true - - // Audio Routes - let audioRoutesView = AudioRoutesView() - view.addSubview(audioRoutesView) - audioRoutesView.alignBottomWith(otherView: controlsView).done() - ControlsViewModel.shared.audioRoutesSelected.readCurrentAndObserve { (audioRoutesSelected) in - audioRoutesView.isHidden = audioRoutesSelected != true - } - audioRoutesView.alignAbove(view:controlsView,withMargin:SharedLayoutConstants.buttons_bottom_margin).matchRightOf(view: controlsView, withMargin:+ControlsView.controls_button_spacing).done() - } - - - override func viewWillAppear(_ animated: Bool) { - ControlsViewModel.shared.audioRoutesSelected.value = false - super.viewWillAppear(animated) - if (Core.get().callsNb == 0) { - PhoneMainView.instance().popView(self.compositeViewDescription()) - } - } - - @objc override func setCall(call:OpaquePointer) { - super.setCall(call: call) - self.callData?.outgoingEarlyMedia.readCurrentAndObserve(onChange: { (outgoingEM) in - self.showNumPad!.isHidden = outgoingEM != true - }) - callData?.isOutgoing.readCurrentAndObserve { (outgoing) in - if (outgoing != true) { - PhoneMainView.instance().popView(self.compositeViewDescription()) - } - } - } - - -} diff --git a/Classes/Swift/Voip/Views/CompositeViewControllers/SingleCallView.swift b/Classes/Swift/Voip/Views/CompositeViewControllers/SingleCallView.swift deleted file mode 100644 index badd8a4fe..000000000 --- a/Classes/Swift/Voip/Views/CompositeViewControllers/SingleCallView.swift +++ /dev/null @@ -1,233 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import linphonesw -import AVKit - - -@objc class SingleCallView: AbstractCallView, UICompositeViewDelegate { - - var callPausedByRemoteView : PausedCallOrConferenceView? = nil - var callPausedByLocalView : PausedCallOrConferenceView? = nil - var currentCallView : ActiveCallView? = nil - - private var pipController: AVPictureInPictureController! - private var pipRemoteVideoView = SampleBufferVideoCallView() - - static let compositeDescription = UICompositeViewDescription(SingleCallView.self, statusBar: StatusBarView.self, tabBar: nil, sideMenu: nil, fullscreen: false, isLeftFragment: false,fragmentWith: nil) - static func compositeViewDescription() -> UICompositeViewDescription! { return compositeDescription } - func compositeViewDescription() -> UICompositeViewDescription! { return type(of: self).compositeDescription } - - override func viewDidLoad() { - super.viewDidLoad() - - // Current (Single) Call (VoipCallView) - currentCallView = ActiveCallView() - fullScreenMutableContainerView.addSubview(currentCallView!) - CallsViewModel.shared.currentCallData.readCurrentAndObserve { (currentCallData) in - guard currentCallData??.isOngoingSingleCall() == true else { - return - } - self.currentCallView!.callData = currentCallData != nil ? currentCallData! : nil - currentCallData??.isRemotelyPaused.readCurrentAndObserve { remotelyPaused in - self.callPausedByRemoteView?.isHidden = remotelyPaused != true - } - currentCallData??.isPaused.readCurrentAndObserve { locallyPaused in - self.callPausedByLocalView?.isHidden = locallyPaused != true - } - if (currentCallData == nil) { - self.callPausedByRemoteView?.isHidden = true - self.callPausedByLocalView?.isHidden = true - - } - self.extraButtonsView.isHidden = true - } - - currentCallView!.matchParentDimmensions().done() - - // Paused by remote (Call) - callPausedByRemoteView = PausedCallOrConferenceView(iconName: "voip_conference_paused_big",titleText: VoipTexts.call_remotely_paused_title,subTitleText: nil) - view.addSubview(callPausedByRemoteView!) - callPausedByRemoteView?.matchParentSideBorders().matchParentHeight().alignAbove(view:controlsView,withMargin:SharedLayoutConstants.buttons_bottom_margin).done() - callPausedByRemoteView?.isHidden = true - - // Paused by local (Call) - callPausedByLocalView = PausedCallOrConferenceView(iconName: "voip_conference_play_big",titleText: VoipTexts.call_locally_paused_title,subTitleText: VoipTexts.call_locally_paused_subtitle, onClickAction: { - CallsViewModel.shared.currentCallData.value??.togglePause() - }) - view.addSubview(callPausedByLocalView!) - callPausedByLocalView?.matchParentSideBorders().matchParentHeight().alignAbove(view:controlsView,withMargin:SharedLayoutConstants.buttons_bottom_margin).done() - callPausedByLocalView?.isHidden = true - - // Video activation dialog request - CallsViewModel.shared.callUpdateEvent.observe { (call) in - let core = Core.get() - if (call?.state == .StreamsRunning) { - self.videoAcceptDialog?.removeFromSuperview() - self.videoAcceptDialog = nil - } else if (call?.state == .UpdatedByRemote) { - if ((core.videoCaptureEnabled || core.videoDisplayEnabled) && Core.get().config?.getBool(section: "app", key: "disable_video_feature", defaultValue: false) == false) { - if (call?.currentParams?.videoEnabled != call?.remoteParams?.videoEnabled) { - let accept = ButtonAttributes(text:VoipTexts.dialog_accept, action: {call?.answerVideoUpdateRequest(accept: true)}, isDestructive:false) - let cancel = ButtonAttributes(text:VoipTexts.dialog_decline, action: {call?.answerVideoUpdateRequest(accept: false)}, isDestructive:true) - self.videoAcceptDialog = VoipDialog(message:VoipTexts.call_video_update_requested_dialog, givenButtons: [cancel,accept]) - self.videoAcceptDialog?.show() - } - } else { - if (Core.get().config?.getBool(section: "app", key: "disable_video_feature", defaultValue: false) == true) { - call?.answerVideoUpdateRequest(accept: false) - } - Log.w("[Call] Video display & capture are disabled, don't show video dialog") - } - } - } - view.onClick { - ControlsViewModel.shared.audioRoutesSelected.value = false - } - - // picture in picture init - if #available(iOS 15.0, *) { - DispatchQueue.main.async { self.configurationPiPViewController() } - } - } - - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(true) - CallsViewModel.shared.currentCallData.notifyValue() - } - - override func didRotate(from fromInterfaceOrientation: UIInterfaceOrientation) { - super.didRotate(from: fromInterfaceOrientation) - self.currentCallView?.layoutRotatableElements() - } - - // Picture in picture on video call - override func viewWillDisappear(_ animated: Bool) { - super.viewWillDisappear(animated) - if (pipController != nil && CallsViewModel.shared.currentCallData.value??.call.state == .StreamsRunning && pipController.isPictureInPicturePossible) { - pipController.startPictureInPicture() - } - } - - override func viewDidAppear(_ animated: Bool) { - super.viewDidAppear(animated) - if pipController != nil && pipController.isPictureInPictureActive { - pipController.stopPictureInPicture() - } - } - -} - -// Picture in picture on video call -@available(iOS 15.0, *) -extension SingleCallView : AVPictureInPictureControllerDelegate { - - func configurationPiPViewController() { - let pipVideoCallController = PictureInPictureVideoCallViewController() - pipRemoteVideoView = pipVideoCallController.pipRemoteVideoView - let pipContentSource = AVPictureInPictureController.ContentSource( - activeVideoCallSourceView: currentCallView!.remoteVideo, - contentViewController: pipVideoCallController) - pipController = AVPictureInPictureController(contentSource: pipContentSource) - if (pipController != nil) { - pipController.delegate = self - - ControlsViewModel.shared.isVideoEnabled.readCurrentAndObserve{ (video) in - pipVideoCallController.matchVideoDimension() - self.pipController.canStartPictureInPictureAutomaticallyFromInline = video == true - } - - CallsViewModel.shared.currentCallData.observe(onChange: { callData in - if (callData??.call.state != .StreamsRunning && self.pipController.isPictureInPictureActive) { - self.pipController.stopPictureInPicture() - } - }) - } - } - - - func pictureInPictureControllerWillStartPictureInPicture(_ pictureInPictureController: AVPictureInPictureController) { - Core.get().nativeVideoWindow = pipRemoteVideoView - } - - func pictureInPictureControllerDidStopPictureInPicture(_ pictureInPictureController: AVPictureInPictureController) { - Core.get().nativeVideoWindow = currentCallView?.remoteVideo - } - - func pictureInPictureController(_ pictureInPictureController: AVPictureInPictureController, failedToStartPictureInPictureWithError error: Error) { - Core.get().nativeVideoWindow = currentCallView?.remoteVideo - Log.e("Start Picture in Picture video call error : \(error)") - DispatchQueue.main.async { self.configurationPiPViewController() } - } - - func pictureInPictureController(_ pictureInPictureController: AVPictureInPictureController, restoreUserInterfaceForPictureInPictureStopWithCompletionHandler completionHandler: @escaping (Bool) -> Void) { - if (CallsViewModel.shared.currentCallData.value??.call.state == .StreamsRunning && PhoneMainView.instance().currentView != self.compositeViewDescription()) { - PhoneMainView.instance().changeCurrentView(self.compositeViewDescription()) - Core.get().nativeVideoWindow = pipRemoteVideoView // let the video on the pip view during the stop animation - } - pictureInPictureController.contentSource?.activeVideoCallContentViewController.view.layer.cornerRadius = ActiveCallView.center_view_corner_radius - completionHandler(true) - } -} - -@available(iOS 15.0, *) -class PictureInPictureVideoCallViewController : AVPictureInPictureVideoCallViewController { - - var pipRemoteVideoView = SampleBufferVideoCallView() - - override func viewDidLoad() { - super.viewDidLoad() - - view.backgroundColor = .black - view.clipsToBounds = true - view.addSubview(pipRemoteVideoView) - } - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - view.layer.cornerRadius = 0 - } - - override func viewDidLayoutSubviews() { - super.viewDidLayoutSubviews() - matchVideoDimension() - } - - func matchVideoDimension() { - let videoDefinition = CallsViewModel.shared.currentCallData.value??.call.currentParams?.receivedVideoDefinition - if (videoDefinition != nil) { - self.preferredContentSize = CGSize(width: Double(videoDefinition!.width), height: Double(videoDefinition!.height)) - pipRemoteVideoView.frame = view.bounds - } - } -} - -class SampleBufferVideoCallView: UIView { - override class var layerClass: AnyClass { - AVSampleBufferDisplayLayer.self - } - - var sampleBufferDisplayLayer: AVSampleBufferDisplayLayer { - layer as! AVSampleBufferDisplayLayer - } -} - diff --git a/Classes/Swift/Voip/Views/Fragments/ActiveCall/ActiveCallView.swift b/Classes/Swift/Voip/Views/Fragments/ActiveCall/ActiveCallView.swift deleted file mode 100644 index fb0d7085b..000000000 --- a/Classes/Swift/Voip/Views/Fragments/ActiveCall/ActiveCallView.swift +++ /dev/null @@ -1,259 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import SnapKit -import linphonesw - -class ActiveCallView: UIView { // = currentCall - - // Layout constants : - static let top_displayname_margin_top = 20.0 - let sip_address_margin_top = 4.0 - static let remote_recording_margin_top = 10.0 - static let remote_recording_height = 30 - static let bottom_displayname_margin_bottom = 10.0 - static let bottom_displayname_margin_left = 12.0 - static let center_view_margin_top = 15.0 - static let center_view_corner_radius = 20.0 - let record_pause_button_size = 40 - let record_pause_button_inset = UIEdgeInsets(top: 7, left: 7, bottom: 7, right: 7) - let record_pause_button_margin = 10.0 - static let local_video_width = 150.0 - static let local_video_margins = 15.0 - - - let upperSection = UIStackView() - let displayNameTop = StyledLabel(VoipTheme.call_display_name_duration) - let duration = CallTimer(nil, VoipTheme.call_display_name_duration) - let sipAddress = StyledLabel(VoipTheme.call_sip_address) - let remotelyRecordedIndicator = RemotelyRecordingView(height: ActiveCallView.remote_recording_height,text: VoipTexts.call_remote_recording) - - let centerSection = UIView() - let avatar = Avatar(color:VoipTheme.voipBackgroundColor, textStyle: VoipTheme.call_generated_avatar_large) - let displayNameBottom = StyledLabel(VoipTheme.call_remote_name) - var recordCallButtons : [CallControlButton] = [] - var pauseCallButtons : [CallControlButton] = [] - let remoteVideo = UIView() - let localVideo = LocalVideoView(width: local_video_width) - - var callData: CallData? = nil { - didSet { - guard let callData = callData else { - return - } - duration.call = callData.call - callData.call.remoteAddress.map { - avatar.fillFromAddress(address: $0) - if let displayName = $0.addressBookEnhancedDisplayName() { - displayNameTop.text = displayName+" - " - displayNameBottom.text = displayName - } - sipAddress.text = $0.asStringUriOnly() - } - self.remotelyRecordedIndicator.isRemotelyRecorded = callData.isRemotelyRecorded - callData.isRecording.readCurrentAndObserve { (selected) in - self.recordCallButtons.forEach { - $0.isSelected = selected == true - } - } - callData.isPaused.readCurrentAndObserve { (paused) in - self.pauseCallButtons.forEach { - $0.isSelected = paused == true - } - if (paused == true) { - self.localVideo.isHidden = true - } - } - callData.isRemotelyRecorded.readCurrentAndObserve { (remotelyRecorded) in - self.centerSection.removeConstraints().matchParentSideBorders().alignUnder(view:remotelyRecorded == true ? self.remotelyRecordedIndicator : self.upperSection ,withMargin: ActiveCallView.center_view_margin_top).alignParentBottom().done() - self.setNeedsLayout() - } - - Core.get().nativeVideoWindow = remoteVideo - Core.get().nativePreviewWindowId = UnsafeMutableRawPointer(Unmanaged.passRetained(localVideo).toOpaque()) - - ControlsViewModel.shared.isVideoEnabled.readCurrentAndObserve{ (video) in - self.remoteVideo.isHidden = video != true - self.localVideo.isHidden = video != true - self.recordCallButtons.first?.isHidden = video != true - self.pauseCallButtons.first?.isHidden = video != true - self.recordCallButtons.last?.isHidden = video == true - self.pauseCallButtons.last?.isHidden = video == true - UIApplication.shared.isIdleTimerDisabled = video == true - } - - } - } - - init() { - super.init(frame: .zero) - let stack = UIStackView() - stack.distribution = .equalSpacing - stack.alignment = .bottom - stack.spacing = record_pause_button_margin - stack.axis = .vertical - - let displayNameDurationSipAddress = UIView() - - displayNameDurationSipAddress.addSubview(displayNameTop) - displayNameTop.alignParentLeft().done() - - displayNameDurationSipAddress.addSubview(duration) - duration.toRightOf(displayNameTop).alignParentRight().done() - duration.accessibilityIdentifier = "active_call_upper_section_duration" - - displayNameDurationSipAddress.addSubview(sipAddress) - sipAddress.matchParentSideBorders().alignUnder(view: displayNameTop,withMargin:sip_address_margin_top).done() - - upperSection.distribution = .equalSpacing - upperSection.alignment = .center - upperSection.spacing = record_pause_button_margin - upperSection.axis = .horizontal - - upperSection.addArrangedSubview(displayNameDurationSipAddress) - displayNameDurationSipAddress.wrapContentY().done() - - let recordPauseView = UIStackView() - recordPauseView.spacing = record_pause_button_margin - - // Record (with video) - var recordCall = CallControlButton(width: record_pause_button_size, height: record_pause_button_size, imageInset:record_pause_button_inset, buttonTheme: VoipTheme.call_record, onClickAction: { - self.callData.map { $0.toggleRecord() } - }) - recordCallButtons.append(recordCall) - recordPauseView.addArrangedSubview(recordCall) - recordCall.accessibilityIdentifier = "active_call_upper_section_record" - recordCall.accessibilityLabel = "Record Call" - - // Pause (with video) - var pauseCall = CallControlButton(width: record_pause_button_size, height: record_pause_button_size, imageInset:record_pause_button_inset, buttonTheme: VoipTheme.call_pause, onClickAction: { - self.callData.map { $0.togglePause() } - }) - pauseCallButtons.append(pauseCall) - recordPauseView.addArrangedSubview(pauseCall) - upperSection.addArrangedSubview(recordPauseView) - pauseCall.accessibilityIdentifier = "active_call_upper_section_pause" - pauseCall.accessibilityLabel = "Pause Call" - - - stack.addArrangedSubview(upperSection) - upperSection.matchParentSideBorders().alignParentTop(withMargin:ActiveCallView.top_displayname_margin_top).done() - - - stack.addArrangedSubview(remotelyRecordedIndicator) - remotelyRecordedIndicator.matchParentSideBorders().height(CGFloat(ActiveCallView.remote_recording_height)).done() - - // Center Section : Avatar + video + record/pause buttons + videos - centerSection.layer.cornerRadius = ActiveCallView.center_view_corner_radius - centerSection.clipsToBounds = true - centerSection.backgroundColor = VoipTheme.voipParticipantBackgroundColor.get() - //centerSection.removeConstraints().matchParentSideBorders().alignUnder(view: remotelyRecordedIndicator, withMargin: ActiveCallView.center_view_margin_top).alignParentBottom().done() - - // Record (w/o video) - recordCall = CallControlButton(width: record_pause_button_size, height: record_pause_button_size, imageInset:record_pause_button_inset, buttonTheme: VoipTheme.call_record, onClickAction: { - self.callData.map { $0.toggleRecord() } - }) - recordCallButtons.append(recordCall) - centerSection.addSubview(recordCall) - recordCall.alignParentLeft(withMargin:record_pause_button_margin).alignParentTop(withMargin:record_pause_button_margin).done() - recordCall.accessibilityIdentifier = "active_call_center_section_record" - recordCall.accessibilityLabel = "Record Call" - - // Pause (w/o video) - pauseCall = CallControlButton(width: record_pause_button_size, height: record_pause_button_size, imageInset:record_pause_button_inset, buttonTheme: VoipTheme.call_pause, onClickAction: { - self.callData.map { $0.togglePause() } - }) - pauseCallButtons.append(pauseCall) - centerSection.addSubview(pauseCall) - pauseCall.alignParentRight(withMargin:record_pause_button_margin).alignParentTop(withMargin:record_pause_button_margin).done() - pauseCall.accessibilityIdentifier = "active_call_center_section_pause" - pauseCall.accessibilityLabel = "Pause Call" - - // Avatar - centerSection.addSubview(avatar) - - // Remote Video Display - centerSection.addSubview(remoteVideo) - remoteVideo.isHidden = true - remoteVideo.matchParentDimmensions().done() - - // Local Video Display - centerSection.addSubview(localVideo) - localVideo.backgroundColor = .black - localVideo.alignParentBottom(withMargin: ActiveCallView.local_video_margins).alignParentRight(withMargin: ActiveCallView.local_video_margins).done() - localVideo.isHidden = true - localVideo.dragZone = centerSection - - // Full screen video togggle - remoteVideo.onClick { - ControlsViewModel.shared.toggleFullScreen() - } - ControlsViewModel.shared.fullScreenMode.observe { (fullScreen) in - if (self.superview?.superview?.superview == nil) { - return - } - self.remoteVideo.removeConstraints().done() - self.localVideo.removeConstraints().done() - if (fullScreen == true) { - self.remoteVideo.removeFromSuperview() - self.localVideo.removeFromSuperview() - PhoneMainView.instance().mainViewController.view?.addSubview(self.remoteVideo) - PhoneMainView.instance().mainViewController.view?.addSubview(self.localVideo) - } else { - self.remoteVideo.removeFromSuperview() - self.localVideo.removeFromSuperview() - self.centerSection.addSubview(self.remoteVideo) - self.centerSection.addSubview(self.localVideo) - } - self.remoteVideo.matchParentDimmensions().done() - self.localVideo.alignParentBottom(withMargin: ActiveCallView.local_video_margins).alignParentRight(withMargin: ActiveCallView.local_video_margins).done() - self.localVideo.setSizeConstraint() - } - - - // Bottom display name - centerSection.addSubview(displayNameBottom) - displayNameBottom.alignParentLeft(withMargin:ActiveCallView.bottom_displayname_margin_left).alignParentRight().alignParentBottom(withMargin:ActiveCallView.bottom_displayname_margin_bottom).done() - - stack.addArrangedSubview(centerSection) - - addSubview(stack) - stack.matchParentDimmensions().done() - - layoutRotatableElements() - } - - func layoutRotatableElements() { - avatar.removeConstraints().done() - if ([.landscapeLeft, .landscapeRight].contains( UIDevice.current.orientation)) { - avatar.square(Avatar.diameter_for_call_views_land).center().done() - } else { - avatar.square(Avatar.diameter_for_call_views).center().done() - } - localVideo.updateSizeConstraint() - } - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - -} diff --git a/Classes/Swift/Voip/Views/Fragments/AudioRoutesView.swift b/Classes/Swift/Voip/Views/Fragments/AudioRoutesView.swift deleted file mode 100644 index ad5a02544..000000000 --- a/Classes/Swift/Voip/Views/Fragments/AudioRoutesView.swift +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit - -class AudioRoutesView: UIStackView { - - // Layout constants - let corner_radius = 6.7 - let margin = 10.0 - - init () { - super.init(frame: .zero) - axis = .vertical - distribution = .equalCentering - alignment = .center - spacing = ControlsView.controls_button_spacing - backgroundColor = VoipTheme.voip_gray - layer.cornerRadius = corner_radius - clipsToBounds = true - - // bluetooth - let blueTooth = CallControlButton(buttonTheme: VoipTheme.route_bluetooth, onClickAction: { - ControlsViewModel.shared.forceBluetoothAudioRoute() - ControlsViewModel.shared.audioRoutesSelected.value = false - }) - addArrangedSubview(blueTooth) - - ControlsViewModel.shared.isBluetoothHeadsetSelected.readCurrentAndObserve { (selected) in - blueTooth.isSelected = selected == true - } - - // Earpiece - let earpiece = CallControlButton(buttonTheme: VoipTheme.route_earpiece, onClickAction: { - ControlsViewModel.shared.forceEarpieceAudioRoute() - ControlsViewModel.shared.audioRoutesSelected.value = false - }) - addArrangedSubview(earpiece) - ControlsViewModel.shared.isSpeakerSelected.readCurrentAndObserve { (isSpeakerSelected) in - earpiece.isSelected = isSpeakerSelected != true && ControlsViewModel.shared.isBluetoothHeadsetSelected.value != true - } - ControlsViewModel.shared.isBluetoothHeadsetSelected.readCurrentAndObserve { (isBluetoothHeadsetSelected) in - earpiece.isSelected = isBluetoothHeadsetSelected != true && ControlsViewModel.shared.isSpeakerSelected.value != true - } - - // Speaker - let speaker = CallControlButton(buttonTheme: VoipTheme.route_speaker, onClickAction: { - ControlsViewModel.shared.forceSpeakerAudioRoute() - ControlsViewModel.shared.audioRoutesSelected.value = false - }) - addArrangedSubview(speaker) - ControlsViewModel.shared.isSpeakerSelected.readCurrentAndObserve { (selected) in - speaker.isSelected = selected == true - } - - size(w:CGFloat(CallControlButton.default_size)+margin, h : 3*CGFloat(CallControlButton.default_size)+2*CGFloat(ControlsView.controls_button_spacing)+margin).done() - - } - - required init(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - -} - - diff --git a/Classes/Swift/Voip/Views/Fragments/CallStatsView.swift b/Classes/Swift/Voip/Views/Fragments/CallStatsView.swift deleted file mode 100644 index d49c49ca6..000000000 --- a/Classes/Swift/Voip/Views/Fragments/CallStatsView.swift +++ /dev/null @@ -1,136 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import linphonesw - - -@objc class CallStatsView: UIView{ - - // Layout constants - let side_margins = 10.0 - let margin_top = 25 - let corner_radius = 20.0 - let audio_video_margin = 13 - - init(superView:UIView, callData:CallData, marginTop:CGFloat, above:UIView, onDismissAction : @escaping ()->Void) { - super.init(frame:.zero) - backgroundColor = VoipTheme.voip_translucent_popup_background - layer.cornerRadius = corner_radius - clipsToBounds = true - superView.addSubview(self) - matchParentSideBorders(insetedByDx: side_margins).alignParentTop(withMargin: marginTop).alignAbove(view: above,withMargin: SharedLayoutConstants.buttons_bottom_margin).done() - accessibilityIdentifier = "call_stats_view" - accessibilityViewIsModal = true - - callData.callState.observe { state in - if (state == Call.State.End) { - onDismissAction() - } - } - - // Hide call stats button - let hide = CallControlButton(buttonTheme: VoipTheme.voip_cancel_light, onClickAction: { - onDismissAction() - }) - addSubview(hide) - hide.alignParentRight(withMargin: side_margins).alignParentTop(withMargin: side_margins).done() - hide.accessibilityIdentifier = "call_stats_view_hide" - hide.accessibilityLabel = "Hide" - - // Audio Stats Title - let model = CallStatisticsData(call: callData.call) - let encryptionTitle = StyledLabel(VoipTheme.call_stats_font_title,NSLocalizedString("Encryption", comment: "")) - addSubview(encryptionTitle) - encryptionTitle.matchParentSideBorders().alignParentTop(withMargin: margin_top).done() - - let encryptionStats = StyledLabel(VoipTheme.call_stats_font) - - encryptionStats.numberOfLines = 0 - addSubview(encryptionStats) - encryptionStats.matchParentSideBorders().alignUnder(view: encryptionTitle).done() - - - let audioTitle = StyledLabel(VoipTheme.call_stats_font_title,NSLocalizedString("Audio", comment: "")) - addSubview(audioTitle) - audioTitle.alignUnder(view: encryptionStats, withMargin:audio_video_margin).matchParentSideBorders().done() - - let audioStats = StyledLabel(VoipTheme.call_stats_font) - audioStats.numberOfLines = 0 - addSubview(audioStats) - audioStats.matchParentSideBorders().alignUnder(view: audioTitle).done() - - // Video Stats Title - let videoTitle = StyledLabel(VoipTheme.call_stats_font_title,NSLocalizedString("Video", comment: "")) - addSubview(videoTitle) - videoTitle.alignUnder(view: audioStats, withMargin:audio_video_margin).matchParentSideBorders().done() - - // Video Stats Corp - let videoStats = StyledLabel(VoipTheme.call_stats_font) - videoStats.numberOfLines = 0 - addSubview(videoStats) - videoStats.matchParentSideBorders().alignUnder(view: videoTitle).done() - - model.isVideoEnabled.readCurrentAndObserve { (video) in - videoTitle.isHidden = video != true - videoStats.isHidden = video != true - } - - model.statsUpdated.readCurrentAndObserve { (updated) in - var stats = "" - model.audioStats.forEach { - stats += "\n\($0.getTypeTitle())\($0.value.value ?? "n/a")" - } - audioStats.text = stats - stats = "" - model.videoStats.forEach { - stats += "\n\($0.getTypeTitle())\($0.value.value ?? "n/a")" - } - videoStats.text = stats - - if let mediaEncryption = model.call.currentParams?.mediaEncryption { - stats = "" - switch (mediaEncryption) { - case MediaEncryption.None: stats += "\nNone" - case MediaEncryption.SRTP: stats += "\nSRTP" - case MediaEncryption.DTLS: stats += "\nDTLS" - case MediaEncryption.ZRTP: - if let callstats = model.call.audioStats { - stats += callstats.isZrtpKeyAgreementAlgoPostQuantum ? "\nPost Quantum ZRTP" : "\nZRTP" - stats += "\nCipher algorithm: \(callstats.zrtpCipherAlgo)" - stats += "\nKey agreement algorithm: \(callstats.zrtpKeyAgreementAlgo)" - stats += "\nHash algorithm: \(callstats.zrtpHashAlgo)" - stats += "\nAuth tag algorithm: \(callstats.zrtpAuthTagAlgo)" - stats += "\nSas algorithm: \(callstats.zrtpSasAlgo)" - } - } - encryptionStats.text = stats - } - } - - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - -} - - - diff --git a/Classes/Swift/Voip/Views/Fragments/CallsList/CallsListView.swift b/Classes/Swift/Voip/Views/Fragments/CallsList/CallsListView.swift deleted file mode 100644 index 7716a26f6..000000000 --- a/Classes/Swift/Voip/Views/Fragments/CallsList/CallsListView.swift +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import linphonesw - -@objc class CallsListView: DismissableView, UITableViewDataSource { - - // Layout constants - let buttons_distance_from_center_x = 38 - let buttons_size = 60 - - let callsListTableView = UITableView() - let menuView = VoipCallContextMenu() - - var callsDataObserver : MutableLiveDataOnChangeClosure<[CallData]>? = nil - - - - init() { - super.init(title: VoipTexts.call_action_calls_list) - accessibilityIdentifier = "calls_list_view" - - // New Call - let newCall = CallControlButton(width: buttons_size,height: buttons_size, imageInset:UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10), buttonTheme: VoipTheme.call_add, onClickAction: { - let view: DialerView = self.VIEW(DialerView.compositeViewDescription()); - view.setAddress("") - CallManager.instance().nextCallIsTransfer = false - PhoneMainView.instance().changeCurrentView(view.compositeViewDescription()) - }) - addSubview(newCall) - newCall.centerX(withDx: -buttons_distance_from_center_x).alignParentBottom(withMargin:SharedLayoutConstants.buttons_bottom_margin).done() - - // Merge Calls - let mergeIntoLocalConference = CallControlButton(width: buttons_size,height: buttons_size, buttonTheme: VoipTheme.call_merge, onClickAction: { - self.removeFromSuperview() - if (ConferenceViewModel.shared.conferenceExists.value == true) { - ConferenceViewModel.shared.addCallsToConference() - } else { - CallsViewModel.shared.mergeCallsIntoLocalConference() - } - }) - addSubview(mergeIntoLocalConference) - mergeIntoLocalConference.centerX(withDx: buttons_distance_from_center_x).alignParentBottom(withMargin:SharedLayoutConstants.buttons_bottom_margin).done() - - - CallsViewModel.shared.callsData.readCurrentAndObserve { _ in - self.callsListTableView.reloadData() - mergeIntoLocalConference.isEnabled = self.mergeToConferencePossible() - } - ConferenceViewModel.shared.conferenceExists.readCurrentAndObserve { _ in - mergeIntoLocalConference.isEnabled = self.mergeToConferencePossible() - } - - - // CallsList - super.contentView.addSubview(callsListTableView) - callsListTableView.matchParentDimmensions().done() - callsListTableView.dataSource = self - callsListTableView.register(VoipCallCell.self, forCellReuseIdentifier: "VoipCallCell") - callsListTableView.allowsSelection = false - if #available(iOS 15.0, *) { - callsListTableView.allowsFocus = false - } - callsListTableView.separatorStyle = .singleLine - callsListTableView.onClick { - self.hideMenu() - } - - // Floating menu - super.contentView.addSubview(menuView) - - menuView.isHidden = true - - UIDeviceBridge.displayModeSwitched.readCurrentAndObserve { _ in - super.contentView.backgroundColor = VoipTheme.voipBackgroundBWColor.get() - self.callsListTableView.backgroundColor = VoipTheme.voipBackgroundBWColor.get() - self.callsListTableView.separatorColor = VoipTheme.separatorColor.get() - self.callsListTableView.reloadData() - } - - } - - - func numberOfCallsNotInConf() -> Int { - let core = Core.get() - var result = 0 - core.calls.forEach { call in - if (call.conference == nil && core.findConferenceInformationFromUri(uri: call.remoteAddress!) == nil) { - result += 1 - } - } - return result - } - - func mergeToConferencePossible() -> Bool { // 2 calls or more not in conf or 1 call or more and 1 conf - let callsNotInConf = numberOfCallsNotInConf() - return (ConferenceViewModel.shared.conferenceExists.value == true && callsNotInConf >= 1 && ConferenceViewModel.shared.conference.value?.me?.isAdmin == true) || (ConferenceViewModel.shared.conferenceExists.value != true && callsNotInConf >= 2 ) - } - - - func toggleMenu(forCell:VoipCallCell) { - if (menuView.isHidden) { - showMenu(forCell: forCell) - } else if (menuView.callData?.call.callLog?.callId != forCell.callData?.call.callLog?.callId) { - hideMenu() - showMenu(forCell: forCell) - } else { - hideMenu() - } - } - - func showMenu(forCell:VoipCallCell) { - menuView.removeConstraints().alignUnder(view: forCell).alignParentRight().done() - menuView.callData = forCell.callData - menuView.isHidden = false - } - - func hideMenu() { - menuView.isHidden = true - } - - // TableView datasource delegate - - func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - guard let callsData = CallsViewModel.shared.callsData.value else { - return 0 - } - return callsData.count - } - - func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - let cell:VoipCallCell = tableView.dequeueReusableCell(withIdentifier: "VoipCallCell") as! VoipCallCell - guard let callData = CallsViewModel.shared.callsData.value?[indexPath.row] else { - return cell - } - cell.selectionStyle = .none - cell.callData = callData - cell.owningCallsListView = self - return cell - } - - // View controller - - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - -} diff --git a/Classes/Swift/Voip/Views/Fragments/CallsList/VoipCallCell.swift b/Classes/Swift/Voip/Views/Fragments/CallsList/VoipCallCell.swift deleted file mode 100644 index 9fc3e1d2a..000000000 --- a/Classes/Swift/Voip/Views/Fragments/CallsList/VoipCallCell.swift +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import SnapKit -import linphonesw - -class VoipCallCell: UITableViewCell { - - // Layout Constants - let cell_height = 80.0 - let call_status_icon_size = 65.0 - static let avatar_size = 45.0 - let avatar_left_margin = 40.0 - let texts_left_margin = 20.0 - let side_menu_icon_size = 70.0 - - var onMenuClickAction : (()->Void) = {} - let callStatusIcon = UIImageView() - let avatar = Avatar(color:LightDarkColor(VoipTheme.voip_contact_avatar_calls_list,VoipTheme.voip_contact_avatar_calls_list), textStyle: VoipTheme.call_generated_avatar_small) - let displayName = StyledLabel(VoipTheme.call_list_active_name_font) - let sipAddress = StyledLabel(VoipTheme.call_list_active_sip_uri_font) - var menuButton : CallControlButton? = nil - var owningCallsListView : CallsListView? = nil - - var callData: CallData? = nil { - didSet { - if let data = callData { - contentView.backgroundColor = data.isPaused.value == true ? VoipTheme.voip_calls_list_inactive_background : VoipTheme.voip_dark_gray - callStatusIcon.image = - data.isIncoming.value == true ? UIImage(named:"voip_call_header_incoming") : - data.isOutgoing.value == true ? UIImage(named:"voip_call_header_outgoing") : - data.isPaused.value == true ? UIImage(named:"voip_call_header_paused") : - UIImage(named:"voip_call_header_active") - if (data.isInRemoteConference.value == true) { - displayName.text = data.remoteConferenceSubject.value - //sipAddress.text = data.call.conference?.participantList.map{ String($0.address?.addressBookEnhancedDisplayName())}.joined(separator: ",") - avatar.fillFromAddress(address: data.call.remoteAddress!,isGroup:true) - } else { - displayName.text = data.call.remoteAddress?.addressBookEnhancedDisplayName() - avatar.fillFromAddress(address: data.call.remoteAddress!) - sipAddress.text = data.call.remoteAddress?.asStringUriOnly() - } - displayName.applyStyle(data.isPaused.value == true ? VoipTheme.call_list_name_font : VoipTheme.call_list_active_name_font) - sipAddress.applyStyle(data.isPaused.value == true ? VoipTheme.call_list_sip_uri_font : VoipTheme.call_list_active_sip_uri_font) - menuButton?.applyTintedIcons(tintedIcons: data.isPaused.value == true ? VoipTheme.voip_call_list_menu.tintableStateIcons : VoipTheme.voip_call_list_active_menu.tintableStateIcons) - } - } - } - - - override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { - super.init(style: style, reuseIdentifier: reuseIdentifier) - contentView.height(cell_height).matchParentSideBorders().done() - - contentView.addSubview(callStatusIcon) - callStatusIcon.size(w: call_status_icon_size, h: call_status_icon_size).done() - - contentView.addSubview(avatar) - avatar.size(w: VoipCallCell.avatar_size, h: VoipCallCell.avatar_size).centerY().alignParentLeft(withMargin: avatar_left_margin).done() - - let nameAddress = UIView() - nameAddress.addSubview(displayName) - nameAddress.addSubview(sipAddress) - displayName.alignParentTop().done() - sipAddress.alignUnder(view: displayName).done() - contentView.addSubview(nameAddress) - nameAddress.toRightOf(avatar,withLeftMargin:texts_left_margin).wrapContentY().centerY().done() - - menuButton = CallControlButton(width:Int(side_menu_icon_size), height:Int(side_menu_icon_size), buttonTheme: VoipTheme.voip_call_list_active_menu, onClickAction: { - self.owningCallsListView?.toggleMenu(forCell: self) - }) - addSubview(menuButton!) - menuButton!.alignParentRight().centerY().done() - - } - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } -} diff --git a/Classes/Swift/Voip/Views/Fragments/CallsList/VoipCallContextMenu.swift b/Classes/Swift/Voip/Views/Fragments/CallsList/VoipCallContextMenu.swift deleted file mode 100644 index 6e2927b2c..000000000 --- a/Classes/Swift/Voip/Views/Fragments/CallsList/VoipCallContextMenu.swift +++ /dev/null @@ -1,160 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import SnapKit -import linphonesw - -class VoipCallContextMenu: UIStackView { - - //Layout constants - static let item_height = 50.0 - let width = 250.0 - let margin_bw_items = 1.0 - static let texts_margin_left = 10.0 - - - let resume : ButtonWithStateBackgrounds - let pause : ButtonWithStateBackgrounds - let transfer : ButtonWithStateBackgrounds - let answer : ButtonWithStateBackgrounds - let terminate : ButtonWithStateBackgrounds - - var callData: CallData? = nil { - didSet { - callData?.callState.readCurrentAndObserve(onChange: { (state) in - self.resume.isHidden = false - self.pause.isHidden = false - self.transfer.isHidden = false - self.answer.isHidden = false - self.terminate.isHidden = false - var count = 5.0 - - if let callData = self.callData { - if (callData.isPaused.value == true || - callData.isIncoming.value == true || - callData.isOutgoing.value == true || - callData.isInRemoteConference.value == true - ) { - self.pause.isHidden = true - count -= 1 - } - - if (callData.isIncoming.value == true || - callData.isOutgoing.value == true || - callData.isInRemoteConference.value == true - ) { - self.resume.isHidden = true - self.transfer.isHidden = true - count -= 2 - } else if (callData.isPaused.value == false) { - self.resume.isHidden = true - count -= 1 - } - - if (callData.isIncoming.value == false) { - count -= 1 - self.answer.isHidden = true - } - self.size(w:self.width,h:count*VoipCallContextMenu.item_height).done() - } - - }) - } - } - - - init () { - - resume = VoipCallContextMenu.getButton(title: VoipTexts.call_context_action_resume) - pause = VoipCallContextMenu.getButton(title: VoipTexts.call_context_action_pause) - transfer = VoipCallContextMenu.getButton(title: VoipTexts.call_context_action_transfer) - answer = VoipCallContextMenu.getButton(title: VoipTexts.call_context_action_answer) - terminate = VoipCallContextMenu.getButton(title: VoipTexts.call_context_action_hangup) - - super.init(frame: .zero) - backgroundColor = .white - axis = .vertical - spacing = margin_bw_items - - - addArrangedSubview(resume) - addArrangedSubview(pause) - addArrangedSubview(transfer) - addArrangedSubview(answer) - addArrangedSubview(terminate) - - resume.onClick { - self.isHidden = true - guard let call = self.callData?.call else { return } - if (CallManager.callKitEnabled()) { - CallManager.instance().setHeld(call:call.getCobject!,hold:false); - } else { - try?call.resume() - } - } - pause.onClick { - self.isHidden = true - guard let call = self.callData?.call else { return } - if (CallManager.callKitEnabled()) { - CallManager.instance().setHeld(call:call,hold:true); - } else { - try?call.pause() - } - } - transfer.onClick { - let view: DialerView = self.VIEW(DialerView.compositeViewDescription()); - view.setAddress("") - CallManager.instance().nextCallIsTransfer = true - PhoneMainView.instance().changeCurrentView(view.compositeViewDescription()) - } - answer.onClick { - self.isHidden = true - guard let call = self.callData?.call else { return } - if (CallManager.callKitEnabled()) { - CallManager.instance().acceptCall(call: call, hasVideo: false) - } else { - try?call.accept() - } - } - terminate.onClick { - self.isHidden = true - guard let call = self.callData?.call else { return } - CallManager.instance().terminateCall(call: call.getCobject) - } - } - - required init(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - - static func getButton(title:String) -> ButtonWithStateBackgrounds { - let button = ButtonWithStateBackgrounds(backgroundStateColors: VoipTheme.button_call_context_menu_background) - button.setTitle(title, for: .normal) - button.applyTitleStyle(VoipTheme.call_context_menu_item_font) - button.titleEdgeInsets = UIEdgeInsets(top: 0, left: texts_margin_left, bottom: 0, right: 0) - button.height(VoipCallContextMenu.item_height).done() - return button - } - - - -} diff --git a/Classes/Swift/Voip/Views/Fragments/Conference/MicMuted.swift b/Classes/Swift/Voip/Views/Fragments/Conference/MicMuted.swift deleted file mode 100644 index 14227ea9a..000000000 --- a/Classes/Swift/Voip/Views/Fragments/Conference/MicMuted.swift +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation - -class MicMuted : UIImageView { - required init?(coder: NSCoder) { - super.init(coder: coder) - } - init (_ diameter: Int) { - super.init(image: UIImage(named: "voip_micro_off")?.tinted(with: .white)) - layer.cornerRadius = CGFloat(diameter/2) - clipsToBounds = true - backgroundColor = VoipTheme.voip_dark_gray - square(diameter).done() - } -} diff --git a/Classes/Swift/Voip/Views/Fragments/Conference/VoipActiveSpeakerParticipantCell.swift b/Classes/Swift/Voip/Views/Fragments/Conference/VoipActiveSpeakerParticipantCell.swift deleted file mode 100644 index c37696767..000000000 --- a/Classes/Swift/Voip/Views/Fragments/Conference/VoipActiveSpeakerParticipantCell.swift +++ /dev/null @@ -1,169 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import SnapKit -import linphonesw - -class VoipActiveSpeakerParticipantCell: UICollectionViewCell { - - // Layout Constants - let corner_radius = 20.0 - static let avatar_size = 50.0 - let switch_camera_button_margins = 8.0 - let switch_camera_button_size = 30 - static let mute_size = 25 - let mute_margin = 5 - - - let videoView = UIView() - let avatar = Avatar(color:VoipTheme.voipBackgroundColor, textStyle: VoipTheme.call_generated_avatar_medium) - let pause = UIImageView(image: UIImage(named: "voip_pause")?.tinted(with: .white)) - let switchCamera = UIImageView(image: UIImage(named:"voip_change_camera")?.tinted(with:.white)) - let displayName = StyledLabel(VoipTheme.conference_participant_name_font_as) - let muted = MicMuted(VoipActiveSpeakerParticipantCell.mute_size) - let joining = RotatingSpinner() - - var participantData: ConferenceParticipantDeviceData? = nil { - didSet { - if let data = participantData { - self.updateElements() - data.isJoining.clearObservers() - data.isJoining.observe { _ in - self.updateElements() - } - data.isInConference.clearObservers() - data.isInConference.observe { _ in - self.updateElements() - } - data.videoEnabled.clearObservers() - data.videoEnabled.observe { _ in - self.updateElements() - } - data.participantDevice.address.map { - avatar.fillFromAddress(address: $0) - if let displayName = $0.addressBookEnhancedDisplayName() { - self.displayName.text = displayName - } - } - data.isSpeaking.clearObservers() - data.isSpeaking.observe { _ in - self.updateElements(skipVideo: true) - } - data.micMuted.clearObservers() - data.micMuted.observe { _ in - self.updateElements(skipVideo: true) - } - } - } - } - - func updateElements(skipVideo:Bool = false) { - if let data = participantData { - - // Background - if (data.isInConference.value != true && data.isJoining.value != true) { - self.contentView.backgroundColor = VoipTheme.voip_conference_participant_paused_background - } else if (data.videoEnabled.value == true) { - self.contentView.backgroundColor = .black - } else { - self.contentView.backgroundColor = data.isMe ? VoipTheme.voipParticipantMeBackgroundColor.get() : VoipTheme.voipParticipantBackgroundColor.get() - - } - - // Avatar - self.avatar.isHidden = (data.isInConference.value != true && data.isJoining.value != true) || data.videoEnabled.value == true - - // Video - if (!skipVideo) { - self.videoView.isHidden = data.isInConference.value != true || data.videoEnabled.value != true - if (!self.videoView.isHidden) { - data.setVideoView(view: self.videoView) - } - self.switchCamera.isHidden = self.videoView.isHidden || !data.isSwitchCameraAvailable() - } - - // Pause - self.pause.isHidden = data.isInConference.value == true || data.isJoining.value == true - - // Border for active speaker - self.layer.borderWidth = data.isSpeaking.value == true ? 2 : 0 - - // Joining indicator - if (data.isJoining.value == true) { - self.joining.isHidden = false - self.joining.startRotation() - } else { - self.joining.isHidden = true - self.joining.stopRotation() - } - - // Muted - self.muted.isHidden = data.micMuted.value != true - - } - } - - - override init(frame:CGRect) { - super.init(frame:.zero) - layer.cornerRadius = corner_radius - clipsToBounds = true - layer.borderColor = VoipTheme.primary_color.cgColor - - contentView.addSubview(videoView) - videoView.matchParentDimmensions().done() - - contentView.addSubview(avatar) - avatar.size(w: VoipActiveSpeakerParticipantCell.avatar_size, h: VoipActiveSpeakerParticipantCell.avatar_size).center().done() - - contentView.addSubview(pause) - pause.layer.cornerRadius = VoipActiveSpeakerParticipantCell.avatar_size/2 - pause.clipsToBounds = true - pause.backgroundColor = VoipTheme.voip_gray - pause.size(w: VoipActiveSpeakerParticipantCell.avatar_size, h: VoipActiveSpeakerParticipantCell.avatar_size).center().done() - - contentView.addSubview(switchCamera) - switchCamera.alignParentTop(withMargin: switch_camera_button_margins).alignParentRight(withMargin: switch_camera_button_margins).square(switch_camera_button_size).done() - switchCamera.contentMode = .scaleAspectFit - - switchCamera.onClick { - Core.get().toggleCamera() - } - - contentView.addSubview(displayName) - displayName.matchParentSideBorders(insetedByDx:ActiveCallView.bottom_displayname_margin_left).alignParentBottom(withMargin:ActiveCallView.bottom_displayname_margin_bottom).done() - - contentView.addSubview(muted) - muted.alignParentLeft(withMargin: mute_margin).alignParentTop(withMargin:mute_margin).done() - - contentView.addSubview(joining) - joining.square(VoipActiveSpeakerParticipantCell.mute_size).alignParentTop(withMargin: mute_margin).alignParentLeft(withMargin: mute_margin).done() - - contentView.matchParentDimmensions().done() - makeHeightMatchWidth().done() - - } - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } -} diff --git a/Classes/Swift/Voip/Views/Fragments/Conference/VoipAudioOnlyParticipantCell.swift b/Classes/Swift/Voip/Views/Fragments/Conference/VoipAudioOnlyParticipantCell.swift deleted file mode 100644 index 376b88c3d..000000000 --- a/Classes/Swift/Voip/Views/Fragments/Conference/VoipAudioOnlyParticipantCell.swift +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import SnapKit -import linphonesw - -class VoipAudioOnlyParticipantCell: UICollectionViewCell { - - // Layout Constants - static let cell_height = 80.0 - static let avatar_size = 40.0 - static let mute_size = 30 - let corner_radius = 6.7 - let common_margin = 10.0 - - - let avatar = Avatar(color:VoipTheme.voipBackgroundColor, textStyle: VoipTheme.call_generated_avatar_small) - let paused = UIImageView(image: UIImage(named: "voip_pause")?.tinted(with: .white)) - let muted = MicMuted(VoipAudioOnlyParticipantCell.mute_size) - let joining = RotatingSpinner() - - let displayName = StyledLabel(VoipTheme.conference_participant_name_font_as) - - var participantData: ConferenceParticipantDeviceData? = nil { - didSet { - if let data = participantData { - self.updateElements() - data.isJoining.clearObservers() - data.isJoining.observe { _ in - self.updateElements() - } - data.isInConference.clearObservers() - data.isInConference.observe { _ in - self.updateElements() - } - data.participantDevice.address.map { - avatar.fillFromAddress(address: $0) - if let displayName = $0.addressBookEnhancedDisplayName() { - self.displayName.text = displayName - } - } - data.isSpeaking.clearObservers() - data.isSpeaking.observe { _ in - self.updateElements(skipVideo: true) - } - data.micMuted.clearObservers() - data.micMuted.observe { _ in - self.updateElements(skipVideo: true) - } - } - } - } - - func updateElements(skipVideo:Bool = false) { - if let data = participantData { - - // background - contentView.backgroundColor = data.isMe ? VoipTheme.voipParticipantMeBackgroundColor.get() : VoipTheme.voipParticipantBackgroundColor.get() - - // Avatar - self.avatar.isHidden = data.isInConference.value != true && data.isJoining.value != true - - - // Pause - self.paused.isHidden = data.isInConference.value == true || data.isJoining.value == true - - // Border for active speaker - self.layer.borderWidth = data.isSpeaking.value == true ? 2 : 0 - - // Joining indicator - if (data.isJoining.value == true) { - self.joining.isHidden = false - self.joining.startRotation() - } else { - self.joining.isHidden = true - self.joining.stopRotation() - } - - // Muted - self.muted.isHidden = data.micMuted.value != true - - } - } - - - override init(frame:CGRect) { - super.init(frame:.zero) - contentView.height(VoipAudioOnlyParticipantCell.cell_height).matchParentSideBorders().done() - - layer.cornerRadius = corner_radius - clipsToBounds = true - - layer.borderColor = VoipTheme.primary_color.cgColor - - contentView.addSubview(avatar) - avatar.size(w: VoipCallCell.avatar_size, h: VoipCallCell.avatar_size).centerY().alignParentLeft(withMargin: common_margin).done() - - contentView.addSubview(paused) - paused.layer.cornerRadius = VoipAudioOnlyParticipantCell.avatar_size/2 - paused.clipsToBounds = true - paused.backgroundColor = VoipTheme.voip_gray - paused.size(w: VoipAudioOnlyParticipantCell.avatar_size, h: VoipAudioOnlyParticipantCell.avatar_size).alignParentLeft(withMargin: common_margin).centerY().done() - - contentView.addSubview(displayName) - displayName.centerY().toRightOf(avatar,withLeftMargin: common_margin).done() - displayName.numberOfLines = 3 - - contentView.addSubview(muted) - muted.alignParentRight(withMargin: common_margin).toRightOf(displayName,withLeftMargin: common_margin).centerY().done() - - contentView.addSubview(joining) - joining.alignParentRight(withMargin: common_margin).toRightOf(displayName,withLeftMargin: common_margin).centerY().done() - - } - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } -} diff --git a/Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceActiveSpeakerView.swift b/Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceActiveSpeakerView.swift deleted file mode 100644 index 5a689dac1..000000000 --- a/Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceActiveSpeakerView.swift +++ /dev/null @@ -1,510 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import SnapKit -import linphonesw - -class VoipConferenceActiveSpeakerView: UIView, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout { - - // Layout constants : - let inter_cell = 10.0 - let record_pause_button_margin = 10.0 - let duration_margin_top = 4.0 - let record_pause_button_size = 40 - let record_pause_button_inset = UIEdgeInsets(top: 7, left: 7, bottom: 7, right: 7) - let grid_height = 100.0 - let cell_width = 100.0 - let switch_camera_button_size = 35 - let switch_camera_button_margins = 7.0 - - let switchCamera = UIImageView(image: UIImage(named:"voip_change_camera")?.tinted(with:.white)) - let subjectLabel = StyledLabel(VoipTheme.call_display_name_duration) - let duration = CallTimer(nil, VoipTheme.call_display_name_duration) - let muted = MicMuted(VoipActiveSpeakerParticipantCell.mute_size) - let pause = UIImageView(image: UIImage(named: "voip_pause")?.tinted(with: .white)) - let remotelyRecording = RemotelyRecordingView(height: ActiveCallView.remote_recording_height,text: VoipTexts.call_remote_recording) - var recordCallButtons : [CallControlButton] = [] - var pauseCallButtons : [CallControlButton] = [] - - let activeSpeakerView = UIView() - let activeSpeakerVideoView = UIView() - let activeSpeakerVideoViewAlone = UIView() - let activeSpeakerAvatar = Avatar(color:VoipTheme.voipBackgroundColor, textStyle: VoipTheme.call_generated_avatar_large) - let activeSpeakerDisplayName = StyledLabel(VoipTheme.call_remote_name) - - var grid : UICollectionView - var meGrid : UICollectionView - - let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout() - var fullScreenOpaqueMasqForNotchedDevices = UIView() - let conferenceJoinSpinner = RotatingSpinner(color:VoipTheme.dark_grey_color) - - var imSpeaker = true - - let noSpeakerLabel = StyledLabel(VoipTheme.conference_waiting_room_no_video_font, VoipTexts.conference_no_speaker) - - var conferenceViewModel: ConferenceViewModel? = nil { - didSet { - if let model = conferenceViewModel { - imSpeaker = conferenceViewModel?.conference.value?.me?.role == .Speaker - self.activeSpeakerVideoView.isHidden = true - self.activeSpeakerVideoViewAlone.isHidden = true - self.setJoininngSpeakerState(enabled: false) - self.activeSpeakerAvatar.showAsAvatarIcon() - model.subject.readCurrentAndObserve { (subject) in - self.subjectLabel.text = subject - } - duration.conference = model.conference.value - self.remotelyRecording.isRemotelyRecorded = model.isRemotelyRecorded - - model.conferenceParticipantDevices.readCurrentAndObserve { _ in - model.updateActiveSpeakerConferenceParticipantDevices() - } - model.speakingParticipant.readCurrentAndObserve { _ in - model.updateActiveSpeakerConferenceParticipantDevices() - } - model.activeSpeakerConferenceParticipantDevices.readCurrentAndObserve { (_) in - self.reloadData() - let otherSpeakersCount = model.conferenceParticipantDevices.value!.count - (self.imSpeaker ? 1 : 0) - self.switchCamera.isHidden = true - if (otherSpeakersCount == 0) { - self.layoutRotatableElements() - self.meGrid.isHidden = true - self.grid.isHidden = true - model.meParticipant.value?.videoEnabled.readCurrentAndObserve { video in - self.switchCamera.isHidden = video != true - self.fillActiveSpeakerSpace(data: model.meParticipant.value,video: video == true, alone:true) - } - model.meParticipant.value?.micMuted.readCurrentAndObserve { muted in - self.muted.isHidden = muted != true - } - model.meParticipant.value?.isInConference.readCurrentAndObserve { isIn in - self.pause.isHidden = isIn == true - if (isIn != true) { - self.activeSpeakerVideoView.isHidden = true - self.activeSpeakerVideoViewAlone.isHidden = true - } - } - } else if (otherSpeakersCount == 1) { - if let data = model.conferenceParticipantDevices.value!.last { - data.isInConference.readCurrentAndObserve { isIn in - self.pause.isHidden = isIn == true || data.isJoining.value == true - if (isIn != true) { - self.activeSpeakerVideoView.isHidden = true - self.activeSpeakerVideoViewAlone.isHidden = true - } - } - data.videoEnabled.readCurrentAndObserve { video in - self.fillActiveSpeakerSpace(data: data,video: video == true) - } - data.micMuted.readCurrentAndObserve { muted in - self.muted.isHidden = muted != true - } - } - self.layoutRotatableElements() - self.meGrid.isHidden = false - self.grid.isHidden = true - } else if (otherSpeakersCount == 2) { - self.meGrid.isHidden = !self.imSpeaker - self.grid.isHidden = false - self.layoutRotatableElements() - } else { - self.activeSpeakerVideoView.isHidden = false - self.activeSpeakerVideoViewAlone.isHidden = true - self.meGrid.isHidden = !self.imSpeaker - self.grid.isHidden = false - self.layoutRotatableElements() - } - } - model.isConferenceLocallyPaused.readCurrentAndObserve { (paused) in - self.pauseCallButtons.forEach { - $0.isSelected = paused == true - } - } - model.isRecording.readCurrentAndObserve { (selected) in - self.recordCallButtons.forEach { - $0.isSelected = selected == true - } - } - model.speakingParticipant.readCurrentAndObserve { speakingParticipant in - if (model.conferenceParticipantDevices.value!.count - (self.imSpeaker ? 1 : 0) > 1) { - speakingParticipant?.videoEnabled.readCurrentAndObserve { video in - self.fillActiveSpeakerSpace(data: speakingParticipant,video: video == true) - self.muted.isHidden = true - } - speakingParticipant?.isInConference.readCurrentAndObserve { isIn in - self.pause.isHidden = isIn == true - if (isIn != true) { - self.activeSpeakerVideoView.isHidden = true - self.activeSpeakerVideoViewAlone.isHidden = true - } - } - } - } - model.noSpeaker.readCurrentAndObserve { noSpeaker in - if noSpeaker != nil { - self.activeSpeakerView.isHidden = noSpeaker! - } - } - } - self.reloadData() - - } - } - - func setJoininngSpeakerState(enabled: Bool) { - if (!enabled) { - self.conferenceJoinSpinner.isHidden = true - self.conferenceJoinSpinner.stopRotation() - } else { - self.conferenceJoinSpinner.isHidden = false - self.conferenceJoinSpinner.startRotation() - } - } - - func fillActiveSpeakerSpace(data: ConferenceParticipantDeviceData?, video: Bool, alone: Bool = false) { - data?.isJoining.readCurrentAndObserve { joining in - self.setJoininngSpeakerState(enabled: joining == true || data?.participantDevice.address == nil) - } - if let address = data?.participantDevice.address { - self.activeSpeakerAvatar.fillFromAddress(address: address) - self.activeSpeakerDisplayName.text = address.addressBookEnhancedDisplayName() - } else { - self.activeSpeakerAvatar.showAsAvatarIcon() - self.activeSpeakerDisplayName.text = nil - } - if (video) { - if (alone) { - Core.get().nativePreviewWindow = self.activeSpeakerVideoViewAlone - } else { - Core.get().nativeVideoWindow = self.activeSpeakerVideoView - } - } - self.activeSpeakerVideoView.isHidden = !video || alone - self.activeSpeakerVideoViewAlone.isHidden = !video || !alone - } - - func reloadData() { - self.grid.reloadData() - self.meGrid.reloadData() - - var noSpeaker = true - conferenceViewModel?.conference.value?.participantList.forEach({ participant in - if participant.role == .Speaker { - noSpeaker = false - } - }) - - if imSpeaker { - noSpeaker = false - } - - self.activeSpeakerView.isHidden = noSpeaker - } - - init() { - imSpeaker = conferenceViewModel?.conference.value?.me?.role == .Speaker - - layout.minimumInteritemSpacing = 0 - layout.minimumLineSpacing = 0 - layout.scrollDirection = .horizontal - layout.itemSize = CGSize(width:cell_width, height:grid_height) - grid = UICollectionView(frame:.zero, collectionViewLayout: layout) - - let meLayout: UICollectionViewFlowLayout = UICollectionViewFlowLayout() - meLayout.scrollDirection = .horizontal - meLayout.minimumInteritemSpacing = 0 - meLayout.minimumLineSpacing = 0 - meLayout.itemSize = CGSize(width:cell_width, height:grid_height) - meGrid = UICollectionView(frame:.zero, collectionViewLayout: meLayout) - - super.init(frame: .zero) - - let headerView = UIStackView() - addSubview(headerView) - headerView.matchParentSideBorders().alignParentTop().done() - - headerView.distribution = .equalSpacing - headerView.alignment = .bottom - headerView.spacing = record_pause_button_margin - headerView.axis = .vertical - - let subjectDuration = UIView() - - subjectDuration.addSubview(subjectLabel) - subjectLabel.alignParentLeft().done() - - subjectDuration.addSubview(duration) - duration.alignParentLeft().alignUnder(view: subjectLabel,withMargin:duration_margin_top).done() - - let upperSection = UIStackView() - upperSection.distribution = .equalSpacing - upperSection.alignment = .center - upperSection.spacing = record_pause_button_margin - upperSection.axis = .horizontal - - upperSection.addArrangedSubview(subjectDuration) - subjectDuration.wrapContentY().done() - - // Record (with video) - let recordCall = CallControlButton(width: record_pause_button_size, height: record_pause_button_size, imageInset:record_pause_button_inset, buttonTheme: VoipTheme.call_record, onClickAction: { - self.conferenceViewModel?.toggleRecording() - }) - - recordCall.isHidden = true; - - let recordPauseView = UIStackView() - recordPauseView.spacing = record_pause_button_margin - recordCallButtons.append(recordCall) - recordPauseView.addArrangedSubview(recordCall) - - // Pause (with video) - let pauseCall = CallControlButton(width: record_pause_button_size, height: record_pause_button_size, imageInset:record_pause_button_inset, buttonTheme: VoipTheme.call_pause, onClickAction: { - self.conferenceViewModel?.togglePlayPause() - - }) - pauseCallButtons.append(pauseCall) - recordPauseView.addArrangedSubview(pauseCall) - - upperSection.addArrangedSubview(recordPauseView) - - headerView.addArrangedSubview(upperSection) - upperSection.matchParentSideBorders().alignParentTop(withMargin:ActiveCallView.top_displayname_margin_top).done() - - headerView.addArrangedSubview(remotelyRecording) - remotelyRecording.matchParentSideBorders().alignUnder(view:upperSection, withMargin:ActiveCallView.remote_recording_margin_top).height(CGFloat(ActiveCallView.remote_recording_height)).done() - - // Container view that can toggle full screen by single tap - let fullScreenMutableView = UIView() - addSubview(fullScreenMutableView) - fullScreenMutableView.backgroundColor = ControlsViewModel.shared.fullScreenMode.value == true ? .black : VoipTheme.voipBackgroundColor.get() - fullScreenMutableView.matchParentSideBorders().alignUnder(view:headerView,withMargin: ActiveCallView.center_view_margin_top).alignParentBottom().done() - fullScreenOpaqueMasqForNotchedDevices.backgroundColor = fullScreenMutableView.backgroundColor - - fullScreenMutableView.addSubview(noSpeakerLabel) - noSpeakerLabel.matchParentSideBorders().centerY().done() - - // Active speaker - fullScreenMutableView.addSubview(activeSpeakerView) - activeSpeakerView.layer.cornerRadius = ActiveCallView.center_view_corner_radius - activeSpeakerView.clipsToBounds = true - activeSpeakerView.backgroundColor = VoipTheme.voipParticipantBackgroundColor.get() - - activeSpeakerView.addSubview(activeSpeakerAvatar) - - activeSpeakerView.addSubview(activeSpeakerVideoView) - activeSpeakerVideoView.matchParentDimmensions().done() - activeSpeakerVideoView.contentMode = .scaleAspectFill - activeSpeakerView.addSubview(activeSpeakerVideoViewAlone) - activeSpeakerVideoViewAlone.matchParentDimmensions().done() - activeSpeakerVideoViewAlone.contentMode = .scaleAspectFill - - activeSpeakerView.addSubview(switchCamera) - switchCamera.contentMode = .scaleAspectFit - switchCamera.onClick { - Core.get().toggleCamera() - } - - activeSpeakerView.addSubview(muted) - muted.isHidden = true - muted.alignParentLeft(withMargin: switch_camera_button_margins).alignParentTop(withMargin:switch_camera_button_margins).done() - - activeSpeakerView.addSubview(conferenceJoinSpinner) - conferenceJoinSpinner.square(AbstractIncomingOutgoingCallView.spinner_size).center().done() - - switchCamera.alignParentTop(withMargin: switch_camera_button_margins).alignParentRight(withMargin: switch_camera_button_margins).square(switch_camera_button_size).done() - - activeSpeakerView.addSubview(activeSpeakerDisplayName) - activeSpeakerDisplayName.alignParentLeft(withMargin:ActiveCallView.bottom_displayname_margin_left).alignParentRight().alignParentBottom(withMargin:ActiveCallView.bottom_displayname_margin_bottom).done() - - activeSpeakerAvatar.addSubview(pause) - pause.isHidden = true - pause.backgroundColor = activeSpeakerAvatar.backgroundColor - pause.matchParentDimmensions().done() - pause.contentMode = .scaleAspectFit - - // CollectionViews - grid.dataSource = self - grid.delegate = self - grid.register(VoipActiveSpeakerParticipantCell.self, forCellWithReuseIdentifier: "VoipActiveSpeakerParticipantCell") - grid.backgroundColor = .clear - grid.isScrollEnabled = true - fullScreenMutableView.addSubview(grid) - - meGrid.dataSource = self - meGrid.delegate = self - meGrid.register(VoipActiveSpeakerParticipantCell.self, forCellWithReuseIdentifier: "VoipActiveSpeakerParticipantCell") - meGrid.backgroundColor = .clear - meGrid.isScrollEnabled = false - fullScreenMutableView.addSubview(meGrid) - - - // Full screen video togggle - activeSpeakerView.onClick { - ControlsViewModel.shared.toggleFullScreen() - } - - ControlsViewModel.shared.fullScreenMode.observe { (fullScreen) in - if (self.superview?.superview?.superview == nil || self.conferenceViewModel?.conference.value?.call?.params?.conferenceVideoLayout != .ActiveSpeaker) { - return - } - fullScreenMutableView.removeConstraints().done() - fullScreenMutableView.removeFromSuperview() - self.fullScreenOpaqueMasqForNotchedDevices.removeFromSuperview() - if (fullScreen == true) { - fullScreenMutableView.backgroundColor = .black - self.fullScreenOpaqueMasqForNotchedDevices.backgroundColor = .black - self.fullScreenOpaqueMasqForNotchedDevices.addSubview(fullScreenMutableView) - PhoneMainView.instance().mainViewController.view?.addSubview(self.fullScreenOpaqueMasqForNotchedDevices) - self.fullScreenOpaqueMasqForNotchedDevices.matchParentDimmensions().done() - if (UIDevice.hasNotch()) { - fullScreenMutableView.matchParentDimmensions(insetedBy:UIApplication.shared.keyWindow!.safeAreaInsets).done() - } else { - fullScreenMutableView.matchParentDimmensions().done() - } - } else { - fullScreenMutableView.backgroundColor = VoipTheme.voipBackgroundColor.get() - self.addSubview(fullScreenMutableView) - fullScreenMutableView.matchParentSideBorders().alignUnder(view:headerView,withMargin: ActiveCallView.center_view_margin_top).alignParentBottom().done() - } - UIView.animate(withDuration: 0.3, animations: { - self.layoutIfNeeded() - }) - DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { - self.reloadData() - } - } - - //Rotation - layoutRotatableElements() - - //Appearance - UIDeviceBridge.displayModeSwitched.observe { _ in - fullScreenMutableView.backgroundColor = ControlsViewModel.shared.fullScreenMode.value == true ? .black : VoipTheme.voipBackgroundColor.get() - self.fullScreenOpaqueMasqForNotchedDevices.backgroundColor = fullScreenMutableView.backgroundColor - self.activeSpeakerView.backgroundColor = VoipTheme.voipParticipantBackgroundColor.get() - self.pause.backgroundColor = self.activeSpeakerAvatar.backgroundColor - self.reloadData() - } - - } - - // Rotations - - func bounceGrids() { - let superView = grid.superview - grid.removeFromSuperview() - meGrid.removeFromSuperview() - superView?.addSubview(grid) - superView?.addSubview(meGrid) - } - - func layoutRotatableElements() { - grid.removeConstraints().done() - meGrid.removeConstraints().done() - activeSpeakerView.removeConstraints().done() - activeSpeakerAvatar.removeConstraints().done() - var otherParticipantsCount = (conferenceViewModel?.conferenceParticipantDevices.value!.count ?? 0) > 0 ? conferenceViewModel!.conferenceParticipantDevices.value!.count - (imSpeaker ? 1 : 0) : 0 - if ([.landscapeLeft, .landscapeRight].contains( UIDevice.current.orientation)) { - if (otherParticipantsCount == 0) { - activeSpeakerView.matchParentDimmensions().done() - activeSpeakerAvatar.square(Avatar.diameter_for_call_views_land).center().done() - if (UIDevice.current.orientation == .landscapeLeft) { // work around some constraints issues with Notch on the left. - bounceGrids() - } - } else if (otherParticipantsCount == 1) { - activeSpeakerView.matchParentDimmensions().done() - if (UIDevice.current.orientation == .landscapeLeft) { // work around some constraints issues with Notch on the left. - bounceGrids() - } - activeSpeakerAvatar.square(Avatar.diameter_for_call_views_land).center().done() - meGrid.alignParentRight(withMargin: ActiveCallView.center_view_margin_top).height(grid_height).width(grid_height).alignParentBottom(withMargin: ActiveCallView.center_view_margin_top).done() - } else { - activeSpeakerView.alignParentTop().alignParentBottom().alignParentLeft().toLeftOf(grid,withRightMargin: SharedLayoutConstants.content_inset).done() - if (UIDevice.current.orientation == .landscapeLeft) { // work around some constraints issues with Notch on the left. - bounceGrids() - } - meGrid.width(grid_height).height(grid_height).toRightOf(activeSpeakerView,withLeftMargin: SharedLayoutConstants.content_inset).alignParentBottom().alignParentRight().done() - grid.width(grid_height).toRightOf(activeSpeakerView,withLeftMargin: SharedLayoutConstants.content_inset).alignParentTop().alignAbove(view: meGrid, withMargin: SharedLayoutConstants.content_inset).alignParentRight().done() - layout.scrollDirection = .vertical - activeSpeakerAvatar.square(Avatar.diameter_for_call_views_land).center().done() - } - } else { - if (otherParticipantsCount == 0) { - activeSpeakerView.matchParentDimmensions().done() - activeSpeakerAvatar.square(Avatar.diameter_for_call_views).center().done() - } else if (otherParticipantsCount == 1) { - activeSpeakerView.matchParentDimmensions().done() - activeSpeakerAvatar.square(Avatar.diameter_for_call_views).center().done() - meGrid.alignParentRight(withMargin: ActiveCallView.center_view_margin_top).height(grid_height).width(grid_height).alignParentBottom(withMargin: ActiveCallView.center_view_margin_top).done() - } else { - activeSpeakerAvatar.square(Avatar.diameter_for_call_views).center().done() - activeSpeakerView.matchParentSideBorders().alignParentTop().done() - meGrid.alignParentLeft().height(grid_height).width(grid_height).alignParentBottom().alignUnder(view: activeSpeakerView, withMargin:ActiveCallView.center_view_margin_top).done() - if self.imSpeaker { - grid.toRightOf(meGrid,withLeftMargin: SharedLayoutConstants.content_inset).height(grid_height).alignParentRight().alignParentBottom().alignUnder(view: activeSpeakerView, withMargin:ActiveCallView.center_view_margin_top).done() - } else { - grid.alignParentLeft().height(grid_height).alignParentRight().alignParentBottom().alignUnder(view: activeSpeakerView, withMargin:ActiveCallView.center_view_margin_top).done() - } - layout.scrollDirection = .horizontal - } - } - UIView.animate(withDuration: 0.3, animations: { - self.layoutIfNeeded() - }) - } - - // UICollectionView related delegates - - func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat { - return inter_cell - } - - func collectionView(_ collectionView: UICollectionView, layout - collectionViewLayout: UICollectionViewLayout, - minimumLineSpacingForSectionAt section: Int) -> CGFloat { - return inter_cell - } - - func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { - if (self.isHidden || conferenceViewModel?.conference.value?.call?.params?.conferenceVideoLayout != .ActiveSpeaker) { - return 0 - } - guard let participantsCount = collectionView == meGrid ? (conferenceViewModel?.meParticipant.value != nil ? 1 : 0) : conferenceViewModel?.activeSpeakerConferenceParticipantDevices.value?.count else { - return .zero - } - return participantsCount - } - - func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { - let cell:VoipActiveSpeakerParticipantCell = collectionView.dequeueReusableCell(withReuseIdentifier: "VoipActiveSpeakerParticipantCell", for: indexPath) as! VoipActiveSpeakerParticipantCell - guard let participantData = collectionView == meGrid ? conferenceViewModel?.meParticipant.value : conferenceViewModel?.activeSpeakerConferenceParticipantDevices.value?[indexPath.row] else { - return cell - } - cell.participantData = participantData - return cell - } - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } -} diff --git a/Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceAudioOnlyView.swift b/Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceAudioOnlyView.swift deleted file mode 100644 index 04a185f67..000000000 --- a/Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceAudioOnlyView.swift +++ /dev/null @@ -1,223 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import SnapKit -import linphonesw - -class VoipConferenceAudioOnlyView: UIView, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout { - - // Layout constants : - let inter_cell = 5.0 - let record_pause_button_margin = 10.0 - let duration_margin_top = 4.0 - let record_pause_button_size = 40 - let record_pause_button_inset = UIEdgeInsets(top: 7, left: 7, bottom: 7, right: 7) - - - let subjectLabel = StyledLabel(VoipTheme.call_display_name_duration) - let duration = CallTimer(nil, VoipTheme.call_display_name_duration) - - let remotelyRecording = RemotelyRecordingView(height: ActiveCallView.remote_recording_height,text: VoipTexts.call_remote_recording) - var recordCallButtons : [CallControlButton] = [] - var pauseCallButtons : [CallControlButton] = [] - var grid : UICollectionView - var gridContainer = UIView() - - - var conferenceViewModel: ConferenceViewModel? = nil { - didSet { - if let model = conferenceViewModel { - model.subject.clearObservers() - model.subject.readCurrentAndObserve { (subject) in - self.subjectLabel.text = subject - } - duration.conference = model.conference.value - self.remotelyRecording.isRemotelyRecorded = model.isRemotelyRecorded - model.conferenceParticipantDevices.clearObservers() - model.conferenceParticipantDevices.readCurrentAndObserve { (_) in - self.reloadData() - } - model.isConferenceLocallyPaused.readCurrentAndObserve { (paused) in - self.pauseCallButtons.forEach { - $0.isSelected = paused == true - } - } - model.isRecording.clearObservers() - model.isRecording.readCurrentAndObserve { (selected) in - self.recordCallButtons.forEach { - $0.isSelected = selected == true - } - } - } - self.reloadData() - } - } - - init() { - - let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout() - layout.minimumInteritemSpacing = 0 - layout.minimumLineSpacing = 0 - layout.estimatedItemSize = .zero - grid = UICollectionView(frame:.zero, collectionViewLayout: layout) - - super.init(frame: .zero) - - let headerView = UIStackView() - addSubview(headerView) - - headerView.distribution = .equalSpacing - headerView.alignment = .bottom - headerView.spacing = record_pause_button_margin - headerView.axis = .vertical - - let subjectDuration = UIView() - - subjectDuration.addSubview(subjectLabel) - subjectLabel.alignParentLeft().done() - - subjectDuration.addSubview(duration) - duration.alignParentLeft().alignUnder(view: subjectLabel,withMargin:duration_margin_top).done() - - let upperSection = UIStackView() - upperSection.distribution = .equalSpacing - upperSection.alignment = .center - upperSection.spacing = record_pause_button_margin - upperSection.axis = .horizontal - - upperSection.addArrangedSubview(subjectDuration) - subjectDuration.wrapContentY().done() - - // Record (with video) - let recordCall = CallControlButton(width: record_pause_button_size, height: record_pause_button_size, imageInset:record_pause_button_inset, buttonTheme: VoipTheme.call_record, onClickAction: { - self.conferenceViewModel?.toggleRecording() - }) - - recordCall.isHidden = true; - - let recordPauseView = UIStackView() - recordPauseView.spacing = record_pause_button_margin - recordCallButtons.append(recordCall) - recordPauseView.addArrangedSubview(recordCall) - - // Pause (with video) - let pauseCall = CallControlButton(width: record_pause_button_size, height: record_pause_button_size, imageInset:record_pause_button_inset, buttonTheme: VoipTheme.call_pause, onClickAction: { - self.conferenceViewModel?.togglePlayPause() - - }) - pauseCallButtons.append(pauseCall) - recordPauseView.addArrangedSubview(pauseCall) - - upperSection.addArrangedSubview(recordPauseView) - - headerView.addArrangedSubview(upperSection) - upperSection.matchParentSideBorders().alignParentTop(withMargin:ActiveCallView.top_displayname_margin_top).done() - - headerView.addArrangedSubview(remotelyRecording) - remotelyRecording.matchParentSideBorders().alignUnder(view:upperSection, withMargin:ActiveCallView.remote_recording_margin_top).height(CGFloat(ActiveCallView.remote_recording_height)).done() - - // CollectionView - grid.dataSource = self - grid.delegate = self - grid.register(VoipAudioOnlyParticipantCell.self, forCellWithReuseIdentifier: "VoipAudioOnlyParticipantCell") - grid.backgroundColor = .clear - grid.isScrollEnabled = false - addSubview(gridContainer) - gridContainer.addSubview(grid) - gridContainer.backgroundColor = VoipTheme.voipBackgroundColor.get() - - gridContainer.matchParentSideBorders(insetedByDx: inter_cell).alignUnder(view:headerView,withMargin: ActiveCallView.center_view_margin_top).alignParentBottom(withMargin: inter_cell).done() - grid.matchParentDimmensions().done() - - headerView.matchParentSideBorders().alignParentTop().done() - - //Appearance - UIDeviceBridge.displayModeSwitched.observe { _ in - self.gridContainer.backgroundColor = VoipTheme.voipBackgroundColor.get() - self.reloadData() - } - - } - - - // UICollectionView related delegates - - func reloadData() { - conferenceViewModel?.conferenceParticipantDevices.value?.forEach { - $0.clearObservers() - } - if (self.isHidden) { - self.grid.reloadData() - return - } - self.grid.reloadData() - } - - - func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat { - return inter_cell - } - - func collectionView(_ collectionView: UICollectionView, layout - collectionViewLayout: UICollectionViewLayout, - minimumLineSpacingForSectionAt section: Int) -> CGFloat { - return inter_cell - } - - func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { - if (self.isHidden) { - return 0 - } - guard let participantsCount = conferenceViewModel?.conferenceParticipantDevices.value?.count else { - return .zero - } - return participantsCount - } - - func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { - let cell:VoipAudioOnlyParticipantCell = collectionView.dequeueReusableCell(withReuseIdentifier: "VoipAudioOnlyParticipantCell", for: indexPath) as! VoipAudioOnlyParticipantCell - guard let participantData = conferenceViewModel?.conferenceParticipantDevices.value?[indexPath.row] else { - return cell - } - cell.participantData = participantData - return cell - } - - func collectionView(_ collectionView: UICollectionView, - layout collectionViewLayout: UICollectionViewLayout, - sizeForItemAt indexPath: IndexPath) -> CGSize { - - guard let participantsCount:Int = conferenceViewModel?.conferenceParticipantDevices.value?.count else { - return .zero - } - - return participantsCount == 1 ? CGSize(width:collectionView.frame.size.width,height:VoipAudioOnlyParticipantCell.cell_height) : CGSize(width:collectionView.frame.size.width / 2.0 - inter_cell / 2.0,height:VoipAudioOnlyParticipantCell.cell_height) - } - - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - - - -} diff --git a/Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceDisplayModeSelectionView.swift b/Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceDisplayModeSelectionView.swift deleted file mode 100644 index 90defb198..000000000 --- a/Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceDisplayModeSelectionView.swift +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import linphonesw - -@objc class VoipConferenceDisplayModeSelectionView: DismissableView, UITableViewDataSource, UITableViewDelegate{ - - // Layout constants - let buttons_distance_from_center_x = 38 - let buttons_size = 60 - - let optionsListView = UITableView() - - init() { - super.init(title: VoipTexts.call_action_change_conf_layout) - - super.contentView.addSubview(optionsListView) - optionsListView.alignParentTop().height(3*ConferenceDisplayModeSelectionCell.cell_height).matchParentSideBorders().done() - optionsListView.dataSource = self - optionsListView.delegate = self - optionsListView.register(ConferenceDisplayModeSelectionCell.self, forCellReuseIdentifier: "ConferenceDisplayModeSelectionCell") - optionsListView.separatorStyle = .singleLine - optionsListView.separatorColor = VoipTheme.separatorColor.get() - optionsListView.isScrollEnabled = false - - UIDeviceBridge.displayModeSwitched.readCurrentAndObserve { _ in - super.contentView.backgroundColor = VoipTheme.voipBackgroundBWColor.get() - self.optionsListView.backgroundColor = VoipTheme.voipBackgroundBWColor.get() - self.optionsListView.separatorColor = VoipTheme.separatorColor.get() - self.optionsListView.reloadData() - } - - } - - // TableView datasource delegate - - func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { - return ConferenceDisplayModeSelectionCell.cell_height - } - - func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - return 3 - } - - func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - let cell:ConferenceDisplayModeSelectionCell = tableView.dequeueReusableCell(withIdentifier: "ConferenceDisplayModeSelectionCell") as! ConferenceDisplayModeSelectionCell - cell.selectionStyle = .none - if (indexPath.row == 0) { - cell.setOption(title: VoipTexts.conference_display_mode_mosaic, onSelectAction: { - ConferenceViewModel.shared.changeLayout(layout: .Grid) - ConferenceViewModel.shared.conferenceDisplayMode.value = .Grid - }, image:(UIImage(named: "voip_conference_mosaic")?.tinted(with: VoipTheme.voipDrawableColor.get())!)!) - cell.isUserInteractionEnabled = ConferenceViewModel.shared.conferenceParticipantDevices.value!.count <= ConferenceViewModel.shared.maxParticipantsForMosaicLayout - cell.isSelected = ConferenceViewModel.shared.conferenceDisplayMode.value == .Grid - } - if (indexPath.row == 1) { - cell.setOption(title: VoipTexts.conference_display_mode_active_speaker, onSelectAction: { - ConferenceViewModel.shared.changeLayout(layout: .ActiveSpeaker) - ConferenceViewModel.shared.conferenceDisplayMode.value = .ActiveSpeaker - }, image:(UIImage(named: "voip_conference_active_speaker")?.tinted(with: VoipTheme.voipDrawableColor.get())!)!) - cell.isUserInteractionEnabled = true - cell.isSelected = ConferenceViewModel.shared.conferenceDisplayMode.value == .ActiveSpeaker - } - - if (indexPath.row == 2) { - cell.setOption(title: VoipTexts.conference_display_mode_audio_only, onSelectAction: { - ConferenceViewModel.shared.changeLayout(layout: .AudioOnly) - ConferenceViewModel.shared.conferenceDisplayMode.value = .AudioOnly - }, image:(UIImage(named: "voip_conference_audio_only")?.tinted(with: VoipTheme.voipDrawableColor.get())!)!) - cell.isUserInteractionEnabled = true - cell.isSelected = ConferenceViewModel.shared.conferenceDisplayMode.value == .AudioOnly - } - - cell.separatorInset = .zero - cell.selectionStyle = .none - return cell - } - - func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { - let cell = tableView.cellForRow(at: indexPath) as! ConferenceDisplayModeSelectionCell - cell.onSelectAction?() - cell.isSelected = true - if (indexPath.row == 0) { - (tableView.cellForRow(at: IndexPath(row: 1, section: 0)) as! ConferenceDisplayModeSelectionCell).isSelected = false - (tableView.cellForRow(at: IndexPath(row: 2, section: 0)) as! ConferenceDisplayModeSelectionCell).isSelected = false - } - if (indexPath.row == 1) { - (tableView.cellForRow(at: IndexPath(row: 0, section: 0)) as! ConferenceDisplayModeSelectionCell).isSelected = false - (tableView.cellForRow(at: IndexPath(row: 2, section: 0)) as! ConferenceDisplayModeSelectionCell).isSelected = false - } - if (indexPath.row == 2) { - (tableView.cellForRow(at: IndexPath(row: 0, section: 0)) as! ConferenceDisplayModeSelectionCell).isSelected = false - (tableView.cellForRow(at: IndexPath(row: 1, section: 0)) as! ConferenceDisplayModeSelectionCell).isSelected = false - } - } - - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - -} - -class ConferenceDisplayModeSelectionCell : UITableViewCell { - - static let cell_height = 60.0 - let icon_size = 40.0 - let side_margins = 20.0 - - let radio = CallControlButton(buttonTheme: VoipTheme.radio_button) - let label = StyledLabel(VoipTheme.conference_mode_title) - let icon = UIImageView() - - var onSelectAction : (()->Void)? = nil - - override var isSelected: Bool { - didSet { - radio.isSelected = isSelected - label.applyStyle(isSelected ? VoipTheme.conference_mode_title_selected : VoipTheme.conference_mode_title) - } - } - - - func setOption(title:String, onSelectAction:@escaping ()->Void, image:UIImage) { - self.onSelectAction = onSelectAction - label.text = title - icon.image = image - } - - override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { - super.init(style: style, reuseIdentifier: reuseIdentifier) - contentView.matchParentDimmensions().done() - contentView.addSubview(radio) - radio.alignParentLeft(withMargin: side_margins).centerY().done() - contentView.addSubview(label) - label.toRightOf(radio).centerY().done() - contentView.addSubview(icon) - icon.size(w: icon_size, h: icon_size).alignParentRight(withMargin: side_margins).centerY().done() - radio.isUserInteractionEnabled = false - contentView.backgroundColor = .clear - backgroundColor = .clear - } - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - -} diff --git a/Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceGridView.swift b/Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceGridView.swift deleted file mode 100644 index fcd2df664..000000000 --- a/Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceGridView.swift +++ /dev/null @@ -1,295 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import SnapKit -import linphonesw - -class VoipConferenceGridView: UIView, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout { - - // Layout constants : - let inter_cell = 10.0 - let record_pause_button_margin = 10.0 - let duration_margin_top = 4.0 - let record_pause_button_size = 40 - let record_pause_button_inset = UIEdgeInsets(top: 7, left: 7, bottom: 7, right: 7) - - - let subjectLabel = StyledLabel(VoipTheme.call_display_name_duration) - let duration = CallTimer(nil, VoipTheme.call_display_name_duration) - - let remotelyRecording = RemotelyRecordingView(height: ActiveCallView.remote_recording_height,text: VoipTexts.call_remote_recording) - var recordCallButtons : [CallControlButton] = [] - var pauseCallButtons : [CallControlButton] = [] - var grid : UICollectionView - var gridContainer = UIView() - - - var conferenceViewModel: ConferenceViewModel? = nil { - didSet { - if let model = conferenceViewModel { - model.subject.clearObservers() - model.subject.readCurrentAndObserve { (subject) in - self.subjectLabel.text = subject - } - duration.conference = model.conference.value - self.remotelyRecording.isRemotelyRecorded = model.isRemotelyRecorded - model.conferenceParticipantDevices.clearObservers() - model.conferenceParticipantDevices.readCurrentAndObserve { (devices) in - if (devices!.count > model.maxParticipantsForMosaicLayout && model.conference.value?.currentParams?.videoEnabled == true && model.conferenceDisplayMode.value == .Grid) { - Log.w("[Conference] \(model.conference) More than \(model.maxParticipantsForMosaicLayout) participants \(devices!.count), forcing active speaker layout from Grid") - model.conferenceDisplayMode.value = .ActiveSpeaker - model.changeLayout(layout: .ActiveSpeaker) - VoipDialog.toast(message: VoipTexts.conference_too_many_participants_for_mosaic_layout) - } else { - self.reloadData() - } - } - model.isConferenceLocallyPaused.readCurrentAndObserve { (paused) in - self.pauseCallButtons.forEach { - $0.isSelected = paused == true - } - } - model.isRecording.clearObservers() - model.isRecording.readCurrentAndObserve { (selected) in - self.recordCallButtons.forEach { - $0.isSelected = selected == true - } - } - } - self.reloadData() - } - } - - init() { - - let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout() - layout.minimumInteritemSpacing = 0 - layout.minimumLineSpacing = 0 - layout.estimatedItemSize = .zero - grid = UICollectionView(frame:.zero, collectionViewLayout: layout) - - super.init(frame: .zero) - - let headerView = UIStackView() - addSubview(headerView) - - headerView.distribution = .equalSpacing - headerView.alignment = .bottom - headerView.spacing = record_pause_button_margin - headerView.axis = .vertical - - let subjectDuration = UIView() - - subjectDuration.addSubview(subjectLabel) - subjectLabel.alignParentLeft().done() - - subjectDuration.addSubview(duration) - duration.alignParentLeft().alignUnder(view: subjectLabel,withMargin:duration_margin_top).done() - - let upperSection = UIStackView() - upperSection.distribution = .equalSpacing - upperSection.alignment = .center - upperSection.spacing = record_pause_button_margin - upperSection.axis = .horizontal - - upperSection.addArrangedSubview(subjectDuration) - subjectDuration.wrapContentY().done() - - // Record (with video) - let recordCall = CallControlButton(width: record_pause_button_size, height: record_pause_button_size, imageInset:record_pause_button_inset, buttonTheme: VoipTheme.call_record, onClickAction: { - self.conferenceViewModel?.toggleRecording() - }) - - recordCall.isHidden = true; - - let recordPauseView = UIStackView() - recordPauseView.spacing = record_pause_button_margin - recordCallButtons.append(recordCall) - recordPauseView.addArrangedSubview(recordCall) - - // Pause (with video) - let pauseCall = CallControlButton(width: record_pause_button_size, height: record_pause_button_size, imageInset:record_pause_button_inset, buttonTheme: VoipTheme.call_pause, onClickAction: { - self.conferenceViewModel?.togglePlayPause() - - }) - pauseCallButtons.append(pauseCall) - recordPauseView.addArrangedSubview(pauseCall) - - upperSection.addArrangedSubview(recordPauseView) - - headerView.addArrangedSubview(upperSection) - upperSection.matchParentSideBorders().alignParentTop(withMargin:ActiveCallView.top_displayname_margin_top).done() - - headerView.addArrangedSubview(remotelyRecording) - remotelyRecording.matchParentSideBorders().alignUnder(view:upperSection, withMargin:ActiveCallView.remote_recording_margin_top).height(CGFloat(ActiveCallView.remote_recording_height)).done() - - // CollectionView - grid.dataSource = self - grid.delegate = self - grid.register(VoipGridParticipantCell.self, forCellWithReuseIdentifier: "VoipGridParticipantCell") - grid.backgroundColor = .clear - grid.isScrollEnabled = false - addSubview(gridContainer) - gridContainer.addSubview(grid) - gridContainer.backgroundColor = ControlsViewModel.shared.fullScreenMode.value == true ? .black : VoipTheme.voipBackgroundColor.get() - - gridContainer.matchParentSideBorders(insetedByDx: inter_cell).alignUnder(view:headerView,withMargin: ActiveCallView.center_view_margin_top).alignParentBottom(withMargin: inter_cell).done() - grid.matchParentDimmensions().done() - - headerView.matchParentSideBorders().alignParentTop().done() - - - // Full screen video togggle - gridContainer.onClick { - ControlsViewModel.shared.toggleFullScreen() - } - - ControlsViewModel.shared.fullScreenMode.observe { (fullScreen) in - if (self.superview?.superview?.superview == nil || self.conferenceViewModel?.conference.value?.call?.params?.conferenceVideoLayout != .Grid) { - return - } - self.gridContainer.removeConstraints().done() - if (fullScreen == true) { - self.gridContainer.removeFromSuperview() - PhoneMainView.instance().mainViewController.view?.addSubview(self.gridContainer) - self.gridContainer.matchParentDimmensions().center().done() - self.gridContainer.backgroundColor = .black - } else { - self.gridContainer.removeFromSuperview() - self.addSubview(self.gridContainer) - self.gridContainer.matchParentSideBorders().alignUnder(view:headerView,withMargin: ActiveCallView.center_view_margin_top).alignParentBottom().done() - self.gridContainer.backgroundColor = VoipTheme.voipBackgroundColor.get() - } - DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { - self.reloadData() - } - } - - //Appearance - UIDeviceBridge.displayModeSwitched.observe { _ in - self.gridContainer.backgroundColor = ControlsViewModel.shared.fullScreenMode.value == true ? .black : VoipTheme.voipBackgroundColor.get() - self.reloadData() - } - - } - - - // UICollectionView related delegates - - func reloadData() { - conferenceViewModel?.conferenceParticipantDevices.value?.forEach { - $0.clearObservers() - } - if let participantCount = conferenceViewModel?.conferenceParticipantDevices.value!.count, participantCount > conferenceViewModel!.maxParticipantsForMosaicLayout { - return - } - if (self.isHidden) { - self.grid.reloadData() - return - } - computeCellSize() - self.grid.reloadData() - DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { - let width:CGFloat = CGFloat(self.columnCount) * self.cellSize.width + (CGFloat(self.columnCount)-1.0)*self.inter_cell - let height:CGFloat = CGFloat(self.rowCount) * self.cellSize.height + (CGFloat(self.rowCount)-1.0)*self.inter_cell - if (width > 0) { - self.grid.removeConstraints().width(width).height(height).center().done() - } - } - } - - - func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat { - return inter_cell - } - - func collectionView(_ collectionView: UICollectionView, layout - collectionViewLayout: UICollectionViewLayout, - minimumLineSpacingForSectionAt section: Int) -> CGFloat { - return inter_cell - } - - func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { - if (self.isHidden) { - return 0 - } - guard let participantsCount = conferenceViewModel?.conferenceParticipantDevices.value?.count else { - return .zero - } - return participantsCount - } - - func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { - let cell:VoipGridParticipantCell = collectionView.dequeueReusableCell(withReuseIdentifier: "VoipGridParticipantCell", for: indexPath) as! VoipGridParticipantCell - guard let participantData = conferenceViewModel?.conferenceParticipantDevices.value?[indexPath.row] else { - return cell - } - cell.participantData = participantData - return cell - } - - let placement = [[1, 2, 3, 4, 5, 6], [1, 1, 2, 2, 3,3], [1, 1, 1, 2, 2, 2], [1, 1, 1, 1, 2, 2], [1, 1, 1, 1, 1, 2], [1, 1, 1, 1, 1, 1]] - var cellSize: CGSize = .zero - var columnCount: Int = 0 - var rowCount: Int = 0 - - func computeCellSize() { - let participantsCount = self.collectionView(self.grid, numberOfItemsInSection: 0) - if (participantsCount == 0) { - return - } - let availableSize = gridContainer.frame.size - var maxSize = 0.0 - for rowCount in 1...participantsCount { - let neededColumns = placement[rowCount-1][participantsCount-1] - let candidateWidth = availableSize.width / CGFloat(neededColumns) - CGFloat((neededColumns-1) * Int(inter_cell)) - let candidateHeight = availableSize.height / CGFloat(rowCount) - CGFloat((rowCount - 1) * Int(inter_cell)) - let candidateSize = min(candidateWidth,candidateHeight) - if (candidateSize > maxSize) { - self.columnCount = neededColumns - self.rowCount = rowCount - maxSize = candidateSize - } - Log.i("neededColumns \(neededColumns) rowCount \(rowCount) availableSize \(availableSize) participantsCount \(participantsCount) candidateWidth \(candidateWidth) candidateHeight \(candidateHeight) candidateSize \(candidateSize) maxSize \(maxSize)") - } - - cellSize = CGSize(width: maxSize ,height: maxSize) - } - - func collectionView(_ collectionView: UICollectionView, - layout collectionViewLayout: UICollectionViewLayout, - sizeForItemAt indexPath: IndexPath) -> CGSize { - - guard let _ = conferenceViewModel?.conferenceParticipantDevices.value?.count else { - return .zero - } - - return cellSize - } - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - - - -} diff --git a/Classes/Swift/Voip/Views/Fragments/Conference/VoipGridParticipantCell.swift b/Classes/Swift/Voip/Views/Fragments/Conference/VoipGridParticipantCell.swift deleted file mode 100644 index 16841b8c8..000000000 --- a/Classes/Swift/Voip/Views/Fragments/Conference/VoipGridParticipantCell.swift +++ /dev/null @@ -1,173 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import SnapKit -import linphonesw - -class VoipGridParticipantCell: UICollectionViewCell { - - // Layout Constants - let corner_radius = 20.0 - static let avatar_size = 80.0 - let switch_camera_button_margins = 8.0 - let switch_camera_button_size = 30 - let pause_label_left_margin = 5 - static let mute_size = 25 - let mute_margin = 5 - - - let videoView = UIView() - let avatar = Avatar(color:VoipTheme.voipBackgroundColor, textStyle: VoipTheme.call_generated_avatar_medium) - let pause = UIImageView(image: UIImage(named: "voip_pause")?.tinted(with: .white)) - let switchCamera = UIImageView(image: UIImage(named:"voip_change_camera")?.tinted(with:.white)) - let displayName = StyledLabel(VoipTheme.conference_participant_name_font_grid) - let pauseLabel = StyledLabel(VoipTheme.conference_participant_name_font_grid,VoipTexts.conference_participant_paused) - let muted = MicMuted(VoipActiveSpeakerParticipantCell.mute_size) - let joining = RotatingSpinner() - - var participantData: ConferenceParticipantDeviceData? = nil { - didSet { - if let data = participantData { - self.updateElements() - data.isJoining.clearObservers() - data.isJoining.observe { _ in - self.updateElements() - } - data.isInConference.clearObservers() - data.isInConference.observe { _ in - self.updateElements() - } - data.videoEnabled.clearObservers() - data.videoEnabled.observe { _ in - self.updateElements() - } - data.participantDevice.address.map { - avatar.fillFromAddress(address: $0) - if let displayName = $0.addressBookEnhancedDisplayName() { - self.displayName.text = displayName - } - } - data.isSpeaking.clearObservers() - data.isSpeaking.observe { _ in - self.updateElements(skipVideo: true) - } - data.micMuted.clearObservers() - data.micMuted.observe { _ in - self.updateElements(skipVideo: true) - } - } - } - } - - func updateElements(skipVideo:Bool = false) { - if let data = participantData { - - // Background - if (data.isInConference.value != true && data.isJoining.value != true) { - self.contentView.backgroundColor = VoipTheme.voip_conference_participant_paused_background - } else if (data.videoEnabled.value == true) { - self.contentView.backgroundColor = .black - } else { - self.contentView.backgroundColor = data.isMe ? VoipTheme.voipParticipantMeBackgroundColor.get() : VoipTheme.voipParticipantBackgroundColor.get() - } - - // Avatar - self.avatar.isHidden = (data.isInConference.value != true && data.isJoining.value != true) || data.videoEnabled.value == true - - // Video - if (!skipVideo) { - self.videoView.isHidden = data.isInConference.value != true || data.videoEnabled.value != true - if (!self.videoView.isHidden) { - data.setVideoView(view: self.videoView) - } - self.switchCamera.isHidden = self.videoView.isHidden || !data.isSwitchCameraAvailable() - } - - // Pause - self.pause.isHidden = data.isInConference.value == true || data.isJoining.value == true - self.pauseLabel.isHidden = self.pause.isHidden - - // Border for active speaker - self.layer.borderWidth = data.isSpeaking.value == true ? 2 : 0 - - // Joining indicator - if (data.isJoining.value == true) { - self.joining.isHidden = false - self.joining.startRotation() - } else { - self.joining.isHidden = true - self.joining.stopRotation() - } - - // Muted - self.muted.isHidden = data.micMuted.value != true - - } - } - - - override init(frame:CGRect) { - super.init(frame:.zero) - layer.cornerRadius = corner_radius - clipsToBounds = true - layer.borderColor = VoipTheme.primary_color.cgColor - - contentView.addSubview(videoView) - videoView.matchParentDimmensions().done() - - contentView.addSubview(avatar) - avatar.size(w: VoipGridParticipantCell.avatar_size, h: VoipGridParticipantCell.avatar_size).center().done() - - contentView.addSubview(pause) - pause.layer.cornerRadius = VoipGridParticipantCell.avatar_size/2 - pause.clipsToBounds = true - pause.backgroundColor = VoipTheme.voip_gray - pause.size(w: VoipGridParticipantCell.avatar_size, h: VoipGridParticipantCell.avatar_size).center().done() - - contentView.addSubview(switchCamera) - switchCamera.alignParentTop(withMargin: switch_camera_button_margins).alignParentRight(withMargin: switch_camera_button_margins).square(switch_camera_button_size).done() - switchCamera.contentMode = .scaleAspectFit - - switchCamera.onClick { - Core.get().toggleCamera() - } - - contentView.addSubview(displayName) - displayName.alignParentLeft(withMargin:ActiveCallView.bottom_displayname_margin_left).alignParentBottom(withMargin:ActiveCallView.bottom_displayname_margin_bottom).alignParentRight().done() - - contentView.addSubview(pauseLabel) - pauseLabel.toRightOf(displayName,withLeftMargin: pause_label_left_margin).alignParentBottom(withMargin:ActiveCallView.bottom_displayname_margin_bottom).done() - - contentView.addSubview(muted) - muted.alignParentLeft(withMargin: mute_margin).alignParentTop(withMargin:mute_margin).done() - - contentView.addSubview(joining) - joining.square(VoipActiveSpeakerParticipantCell.mute_size).alignParentTop(withMargin: mute_margin).alignParentLeft(withMargin: mute_margin).done() - - - contentView.matchParentDimmensions().done() - } - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } -} diff --git a/Classes/Swift/Voip/Views/Fragments/ConferenceLayoutPickerView.swift b/Classes/Swift/Voip/Views/Fragments/ConferenceLayoutPickerView.swift deleted file mode 100644 index d7c0cec84..000000000 --- a/Classes/Swift/Voip/Views/Fragments/ConferenceLayoutPickerView.swift +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit - -class ConferenceLayoutPickerView: UIView { - - // Layout constants - let corner_radius = 6.7 - let margin = 10.0 - let stackView = UIStackView() - let insets = 5.0 - - - init (orientation:UIDeviceOrientation) { - super.init(frame: .zero) - stackView.distribution = .fillProportionally - stackView.alignment = .center - stackView.spacing = ControlsView.controls_button_spacing - backgroundColor = VoipTheme.voip_gray - layer.cornerRadius = corner_radius - clipsToBounds = true - - let grid = CallControlButton(imageInset : UIEdgeInsets(top: 5, left: 5, bottom: 5, right: 5),buttonTheme: VoipTheme.conf_waiting_room_layout_picker, onClickAction: { - ConferenceWaitingRoomViewModel.sharedModel.joinLayout.value = .Grid - ConferenceWaitingRoomViewModel.sharedModel.showLayoutPicker.value = false - - }) - grid.applyTintedIcons(tintedIcons: [UIButton.State.normal.rawValue : TintableIcon(name: "voip_conference_mosaic" ,tintColor: LightDarkColor(.white,.white))]) - stackView.addArrangedSubview(grid) - - let activeSpeaker = CallControlButton(imageInset : UIEdgeInsets(top: 5, left: 5, bottom: 5, right: 5),buttonTheme: VoipTheme.conf_waiting_room_layout_picker, onClickAction: { - ConferenceWaitingRoomViewModel.sharedModel.joinLayout.value = .ActiveSpeaker - ConferenceWaitingRoomViewModel.sharedModel.showLayoutPicker.value = false - }) - activeSpeaker.applyTintedIcons(tintedIcons: [UIButton.State.normal.rawValue : TintableIcon(name: "voip_conference_active_speaker" ,tintColor: LightDarkColor(.white,.white))]) - stackView.addArrangedSubview(activeSpeaker) - - let audioOnly = CallControlButton(imageInset : UIEdgeInsets(top: 5, left: 5, bottom: 5, right: 5),buttonTheme: VoipTheme.conf_waiting_room_layout_picker, onClickAction: { - ConferenceWaitingRoomViewModel.sharedModel.joinLayout.value = .AudioOnly - ConferenceWaitingRoomViewModel.sharedModel.showLayoutPicker.value = false - }) - audioOnly.applyTintedIcons(tintedIcons: [UIButton.State.normal.rawValue : TintableIcon(name: "voip_conference_audio_only" ,tintColor: LightDarkColor(.white,.white))]) - stackView.addArrangedSubview(audioOnly) - - ConferenceWaitingRoomViewModel.sharedModel.joinLayout.readCurrentAndObserve { layout in - grid.isSelected = layout == .Grid - activeSpeaker.isSelected = layout == .ActiveSpeaker - audioOnly.isSelected = layout == .AudioOnly - } - - stackView.axis = .vertical - addSubview(stackView) - wrapContent(inset: UIEdgeInsets(top: insets, left: insets, bottom: insets, right: insets)).done() - } - - required init(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - -} - - diff --git a/Classes/Swift/Voip/Views/Fragments/ControlsView.swift b/Classes/Swift/Voip/Views/Fragments/ControlsView.swift deleted file mode 100644 index ccc8c545e..000000000 --- a/Classes/Swift/Voip/Views/Fragments/ControlsView.swift +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit -import linphonesw - -class ControlsView: UIStackView { - - // Layout constants - static let controls_button_spacing = 5.0 - - init (showVideo:Bool, controlsViewModel:ControlsViewModel) { - super.init(frame: .zero) - axis = .horizontal - distribution = .equalSpacing - alignment = .center - spacing = ControlsView.controls_button_spacing - - // Mute - let mute = CallControlButton(buttonTheme: VoipTheme.call_mute, onClickAction: { - controlsViewModel.toggleMuteMicrophone() - }) - addArrangedSubview(mute) - controlsViewModel.isMicrophoneMuted.readCurrentAndObserve { (muted) in - mute.isSelected = muted == true - } - controlsViewModel.isMuteMicrophoneEnabled.readCurrentAndObserve { (enabled) in - if ControlsViewModel.shared.imSpeaker { - mute.isEnabled = enabled == true - } else { - mute.isEnabled = false - } - } - mute.accessibilityIdentifier = "call_control_view_mute" - mute.accessibilityLabel = "Mute" - - // Speaker - let speaker = CallControlButton(buttonTheme: VoipTheme.call_speaker, onClickAction: { - controlsViewModel.toggleSpeaker() - }) - addArrangedSubview(speaker) - controlsViewModel.isSpeakerSelected.readCurrentAndObserve { (selected) in - speaker.isSelected = selected == true - } - speaker.accessibilityIdentifier = "call_control_view_speaker" - speaker.accessibilityLabel = "Speaker" - - // Audio routes - let routes = CallControlButton(buttonTheme: VoipTheme.call_audio_route, onClickAction: { - controlsViewModel.toggleRoutesMenu() - }) - addArrangedSubview(routes) - controlsViewModel.audioRoutesSelected.readCurrentAndObserve { (selected) in - routes.isSelected = selected == true - } - - controlsViewModel.audioRoutesEnabled.readCurrentAndObserve { (routesEnabled) in - speaker.isHidden = routesEnabled == true - routes.isHidden = !speaker.isHidden - } - - controlsViewModel.isBluetoothHeadsetAvailable.readCurrentAndObserve { available in - speaker.isHidden = available == true - routes.isHidden = !speaker.isHidden - } - - // Video - if (showVideo && Core.get().config?.getBool(section: "app", key: "disable_video_feature", defaultValue: false) == false) { - let video = CallControlButton(buttonTheme: VoipTheme.call_video, onClickAction: { - if AVCaptureDevice.authorizationStatus(for: .video) == .authorized { - controlsViewModel.toggleVideo() - } else { - AVCaptureDevice.requestAccess(for: .video, completionHandler: { (granted: Bool) in - if granted { - controlsViewModel.toggleVideo() - } else { - VoipDialog(message:VoipTexts.camera_required_for_video).show() - } - }) - } - }) - addArrangedSubview(video) - video.showActivityIndicatorDataSource = controlsViewModel.isVideoUpdateInProgress - controlsViewModel.isVideoEnabled.readCurrentAndObserve { (selected) in - if ControlsViewModel.shared.imSpeaker { - video.isSelected = selected == true - } else { - video.isSelected = false - } - } - controlsViewModel.isVideoAvailable.readCurrentAndObserve { (available) in - if ControlsViewModel.shared.imSpeaker { - video.isEnabled = available == true && controlsViewModel.isVideoUpdateInProgress.value != true - } else { - video.isEnabled = false - } - } - controlsViewModel.isVideoUpdateInProgress.readCurrentAndObserve { (updateInProgress) in - if ControlsViewModel.shared.imSpeaker { - video.isEnabled = updateInProgress != true && controlsViewModel.isVideoAvailable.value == true - } else { - video.isEnabled = false - } - } - video.accessibilityIdentifier = "call_control_view_video" - video.accessibilityLabel = "Video" - - } - - height(CallControlButton.default_size).done() - - } - - required init(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - -} - - diff --git a/Classes/Swift/Voip/Views/Fragments/DismissableView.swift b/Classes/Swift/Voip/Views/Fragments/DismissableView.swift deleted file mode 100644 index 1ff01ea95..000000000 --- a/Classes/Swift/Voip/Views/Fragments/DismissableView.swift +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation - -class DismissableView: UIView { - - // Layout constants - let header_height = 60.0 - let title_left_margin = 20 - let dismiss_right_margin = 10 - let dismiss_icon_inset = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10) - let headerView = UIView() - let contentView = UIView() - var dismiss : CallControlButton? = nil - - init(title:String) { - super.init(frame:.zero) - - headerView.backgroundColor = VoipTheme.voipToolbarBackgroundColor.get() - self.addSubview(headerView) - headerView.matchParentSideBorders().alignParentTop().height(header_height).done() - - dismiss = CallControlButton(imageInset:dismiss_icon_inset,buttonTheme: VoipTheme.voip_cancel, onClickAction: { - self.removeFromSuperview() - ControlsViewModel.shared.goToConferenceParticipantsListEvent.value = false - }) - headerView.addSubview(dismiss!) - dismiss?.alignParentRight(withMargin: dismiss_right_margin).centerY().done() - dismiss?.accessibilityIdentifier = "dismissable_view_close" - - let title = StyledLabel(VoipTheme.calls_list_header_font,title) - headerView.addSubview(title) - title.alignParentTop().alignParentLeft(withMargin: title_left_margin).centerY().done() - - self.addSubview(contentView) - contentView.alignUnder(view: headerView).matchParentSideBorders().alignParentBottom().done() - - UIDeviceBridge.displayModeSwitched.readCurrentAndObserve { _ in - self.headerView.backgroundColor = VoipTheme.voipToolbarBackgroundColor.get() - } - } - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } -} diff --git a/Classes/Swift/Voip/Views/Fragments/LocalVideoView.swift b/Classes/Swift/Voip/Views/Fragments/LocalVideoView.swift deleted file mode 100644 index c5acb5185..000000000 --- a/Classes/Swift/Voip/Views/Fragments/LocalVideoView.swift +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import SnapKit -import linphonesw - -class LocalVideoView: UIView { - - //Layout constants - let corner_radius = 15.0 - let aspect_ratio = 4.0/3.0 - let switch_camera_button_margins = 8.0 - let switch_camera_button_size = 30 - - var width : CGFloat - - var dragZone : UIView? { - didSet { - let panGesture = UIPanGestureRecognizer(target: self, action: #selector(drag)) - isUserInteractionEnabled = true - addGestureRecognizer(panGesture) - } - } - - let switchCamera = UIImageView(image: UIImage(named:"voip_change_camera")?.tinted(with:.white)) - - var callData: CallData? = nil { - didSet { - callData?.isRemotelyRecorded.readCurrentAndObserve(onChange: { (isRemotelyRecording) in - self.isHidden = !(isRemotelyRecording == true) - }) - } - } - - required init?(coder: NSCoder) { - width = 0.0 - super.init(coder: coder) - } - - init (width:CGFloat) { - self.width = width - super.init(frame: .zero) - layer.cornerRadius = corner_radius - clipsToBounds = true - - addSubview(switchCamera) - switchCamera.alignParentTop(withMargin: switch_camera_button_margins).alignParentRight(withMargin: switch_camera_button_margins).square(switch_camera_button_size).done() - switchCamera.contentMode = .scaleAspectFit - contentMode = .scaleAspectFill - - switchCamera.onClick { - Core.get().toggleCamera() - } - setSizeConstraint() - } - - func getSize() -> CGSize { - let w = UIDevice.current.orientation.isLandscape ? width*aspect_ratio : width - let h = !UIDevice.current.orientation.isLandscape ? width*aspect_ratio : width - return CGSize(width: w,height: h) - } - - func setSizeConstraint() { - let targetSsize = getSize() - size(w: targetSsize.width, h: targetSsize.height).done() - } - - func updateSizeConstraint() { - let targetSsize = getSize() - updateSize(w: targetSsize.width, h: targetSsize.height).done() - } - - - @objc func drag(_ sender:UIPanGestureRecognizer){ - dragZone?.bringSubviewToFront(self) - let translation = sender.translation(in: dragZone) - center = CGPoint(x: center.x + translation.x, y: center.y + translation.y) - sender.setTranslation(CGPoint.zero, in: dragZone) - } - -} diff --git a/Classes/Swift/Voip/Views/Fragments/NumpadView.swift b/Classes/Swift/Voip/Views/Fragments/NumpadView.swift deleted file mode 100644 index 84cdc041e..000000000 --- a/Classes/Swift/Voip/Views/Fragments/NumpadView.swift +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import linphonesw - -@objc class NumpadView: UIView { - - // Layout constants - let side_margins = 10.0 - let margin_top = 100.0 - let eneteredDtmf_size = 40.0 - let button_size = 70 - let button_vertical_space = 17.0 - let button_horizontal_space = 14.0 - let digit_icon_inset = UIEdgeInsets(top: 20, left: 20, bottom: 20, right: 20) - let corner_radius = 20.0 - let pad_height = 550 - let side_padding = 50.0 - - - init(superView:UIView, callData:CallData, marginTop:CGFloat, above:UIView, onDismissAction : @escaping ()->Void) { - super.init(frame:.zero) - backgroundColor = VoipTheme.voip_translucent_popup_background - layer.cornerRadius = corner_radius - clipsToBounds = true - superView.addSubview(self) - accessibilityIdentifier = "call_numpad_view" - accessibilityViewIsModal = true - matchParentSideBorders(insetedByDx: side_margins).alignParentTop(withMargin: marginTop).alignAbove(view: above,withMargin: SharedLayoutConstants.buttons_bottom_margin).done() - - callData.callState.observe { state in - if (state == Call.State.End) { - //never happens - onDismissAction() - } - } - - // Hide numpad button - let hide = CallControlButton(buttonTheme: VoipTheme.voip_cancel_light, onClickAction: { - onDismissAction() - }) - addSubview(hide) - hide.alignParentRight(withMargin: side_margins).alignParentTop(withMargin: side_margins).done() - hide.accessibilityIdentifier = "call_numpad_view_hide" - hide.accessibilityLabel = "Hide" - - // DTMF History : - - let eneteredDtmf = StyledLabel(VoipTheme.dtmf_label) - addSubview(eneteredDtmf) - eneteredDtmf.height(eneteredDtmf_size).matchParentSideBorders().alignUnder(view:hide,withMargin:side_margins).done() - callData.enteredDTMF.readCurrentAndObserve { (dtmfs) in - eneteredDtmf.text = dtmfs - } - eneteredDtmf.accessibilityIdentifier = "call_numpad_view_text_field" - - // Digit buttons - - let allRows = UIStackView() - allRows.axis = .vertical - allRows.distribution = .equalSpacing - allRows.alignment = .center - allRows.spacing = button_vertical_space - allRows.layoutMargins = UIEdgeInsets(top: 0, left: side_padding, bottom: 0, right: side_padding) - allRows.isLayoutMarginsRelativeArrangement = true - addSubview(allRows) - _ = allRows.matchParentSideBorders().alignUnder(view:eneteredDtmf,withMargin: side_margins) - - - for key in [["1","2","3"],["4","5","6"],["7","8","9"],["*","0","#"]] { - let newRow = addRow(allRows: allRows) - for subkey in key { - let digit = CallControlButton(width:button_size, height:button_size, imageInset: digit_icon_inset, buttonTheme: ButtonTheme(tintableStateIcons:[UIButton.State.normal.rawValue : TintableIcon(name: "voip_numpad_\(iconNameForDigit(digit: subkey))")],backgroundStateColors:VoipTheme.numpad_digit_background), onClickAction: { - callData.sendDTMF(dtmf: "\(subkey)") - }) - newRow.addArrangedSubview(digit) - digit.accessibilityIdentifier = "call_numpad_view_digit_\(subkey)" - } - } - } - - func iconNameForDigit(digit:String) -> String { - if (digit == "*") { - return "star" - } - if (digit == "#") { - return "hash" - } - return digit - } - - func addRow(allRows:UIStackView) -> UIStackView { - let row = UIStackView() - row.axis = .horizontal - row.distribution = .equalSpacing - row.alignment = .center - row.spacing = button_vertical_space - row.isLayoutMarginsRelativeArrangement = true - allRows.addArrangedSubview(row) - return row - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - -} - - - diff --git a/Classes/Swift/Voip/Views/Fragments/ParticipantsList/ParticipantsListView.swift b/Classes/Swift/Voip/Views/Fragments/ParticipantsList/ParticipantsListView.swift deleted file mode 100644 index fabc1dc4a..000000000 --- a/Classes/Swift/Voip/Views/Fragments/ParticipantsList/ParticipantsListView.swift +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import linphonesw - -@objc class ParticipantsListView: DismissableView, UITableViewDataSource { - - // Layout constants - let side_margin = 10.0 - - let participantsListTableView = UITableView() - let noParticipantsLabel = StyledLabel(VoipTheme.empty_list_font,VoipTexts.conference_empty) - - - var callsDataObserver : MutableLiveDataOnChangeClosure<[CallData]>? = nil - - init() { - super.init(title: VoipTexts.call_action_participants_list) - - - let edit = CallControlButton(buttonTheme: VoipTheme.voip_edit, onClickAction: { - self.removeFromSuperview() - self.gotoParticipantsListSelection() - }) - super.headerView.addSubview(edit) - edit.centerY().done() - super.dismiss?.toRightOf(edit,withLeftMargin: dismiss_right_margin).centerY().done() - - - // ParticipantsList - super.contentView.addSubview(participantsListTableView) - participantsListTableView.matchParentDimmensions().done() - participantsListTableView.dataSource = self - participantsListTableView.register(VoipParticipantCell.self, forCellReuseIdentifier: "VoipParticipantCell") - participantsListTableView.allowsSelection = false - if #available(iOS 15.0, *) { - participantsListTableView.allowsFocus = false - } - participantsListTableView.separatorStyle = .singleLine - participantsListTableView.separatorColor = .white - - - ConferenceViewModel.shared.conferenceParticipants.readCurrentAndObserve{ _ in - self.participantsListTableView.reloadData() - self.noParticipantsLabel.isHidden = ConferenceViewModel.shared.conferenceParticipants.value?.count ?? 0 > 0 - } - - ConferenceViewModel.shared.isMeAdmin.readCurrentAndObserve { (meAdmin) in - edit.isHidden = meAdmin != true - } - - super.contentView.addSubview(noParticipantsLabel) - noParticipantsLabel.center().matchParentSideBorders(insetedByDx: side_margin).done() - noParticipantsLabel.isHidden = ConferenceViewModel.shared.conferenceParticipants.value?.count ?? 0 > 0 - noParticipantsLabel.numberOfLines = 2 - self.participantsListTableView.backgroundColor = VoipTheme.voipBackgroundBWColor.get() - - UIDeviceBridge.displayModeSwitched.observe { _ in - self.participantsListTableView.backgroundColor = VoipTheme.voipBackgroundBWColor.get() - self.participantsListTableView.reloadData() - } - } - - - // TableView datasource delegate - - func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - guard let participants = ConferenceViewModel.shared.conferenceParticipants.value else { - return 0 - } - return participants.count - } - - func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - let cell:VoipParticipantCell = tableView.dequeueReusableCell(withIdentifier: "VoipParticipantCell") as! VoipParticipantCell - guard let participantData = ConferenceViewModel.shared.conferenceParticipants.value?[indexPath.row] else { - return cell - } - cell.selectionStyle = .none - cell.participantData = participantData - cell.owningParticpantsListView = self - return cell - } - - // View controller - - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - - func gotoParticipantsListSelection() { - let view: ChatConversationCreateView = self.VIEW(ChatConversationCreateView.compositeViewDescription()) - view.unfragmentCompositeDescription() - let addresses = ConferenceViewModel.shared.conferenceParticipants.value!.map { (data) in String(data.participant.address!.asStringUriOnly()) } - view.tableController.contactsGroup = (addresses as NSArray).mutableCopy() as? NSMutableArray - view.isForEditing = false - view.isForVoipConference = true - view.isForOngoingVoipConference = true - view.tableController.notFirstTime = true - view.isGroupChat = true - PhoneMainView.instance().changeCurrentView(view.compositeViewDescription()) - } - - - - -} diff --git a/Classes/Swift/Voip/Views/Fragments/ParticipantsList/VoipParticipantCell.swift b/Classes/Swift/Voip/Views/Fragments/ParticipantsList/VoipParticipantCell.swift deleted file mode 100644 index f009cb3a3..000000000 --- a/Classes/Swift/Voip/Views/Fragments/ParticipantsList/VoipParticipantCell.swift +++ /dev/null @@ -1,174 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import SnapKit -import linphonesw - -class VoipParticipantCell: UITableViewCell { - - // Layout Constants - - static let dismiss_icon_inset = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10) - let dismiss_right_margin = 10 - let check_box_size = 15 - static let cell_height = 80.0 - let avatar_left_margin = 15.0 - let texts_left_margin = 20.0 - let lime_badge_width = 18.0 - let lime_badge_offset = -10.0 - - let avatar = Avatar(color:VoipTheme.primaryTextColor, textStyle: VoipTheme.call_generated_avatar_small) - let limeBadge = UIImageView(image: UIImage(named: "security_toggle_icon_green")) - let displayName = StyledLabel(VoipTheme.conference_participant_name_font) - let sipAddress = StyledLabel(VoipTheme.conference_participant_sip_uri_font) - let isAdminView = UIStackView() - let isAdminLabel = StyledLabel(VoipTheme.conference_participant_admin_label,VoipTexts.chat_room_group_info_admin) - let isAdminCheck = UIImageView(image: UIImage(named:("check_unselected"))) - let removePart = CallControlButton(imageInset:dismiss_icon_inset,buttonTheme: VoipTheme.voip_cancel, onClickAction: {}) - let isSpeakerLabel = StyledLabel(VoipTheme.conference_participant_admin_label,VoipTexts.chat_room_group_info_speaker) - - let addButton = CallControlButton(buttonTheme:VoipTheme.nav_color_button("add_field_default")) - - var owningParticpantsListView : ParticipantsListView? = nil - - var participantData: ConferenceParticipantData? = nil { - didSet { - if let data = participantData { - limeBadge.isHidden = true - avatar.fillFromAddress(address: data.participant.address!) - displayName.text = data.participant.address?.addressBookEnhancedDisplayName() - sipAddress.text = data.participant.address?.asStringUriOnly() - data.isAdmin.readCurrentAndObserve { _ in - self.setAdminStatus(data: data) - } - data.isMeAdmin.readCurrentAndObserve { _ in - self.setAdminStatus(data: data) - } - self.isAdminView.onClick { - if !data.isBroadcast.value! { - data.conference.setParticipantAdminStatus(participant: data.participant, isAdmin: data.isAdmin.value != true) - self.owningParticpantsListView?.participantsListTableView.reloadData() - } - } - self.removePart.onClick { - try?data.conference.removeParticipant(participant: data.participant) - self.owningParticpantsListView?.participantsListTableView.reloadData() - } - } - } - } - - func setAdminStatus(data:ConferenceParticipantData) { - let isAdmin = data.isAdmin.value! - let isMeAdmin = data.isMeAdmin.value! - let isBroadcast = data.isBroadcast.value! - let isSpeaker = data.isSpeaker.value! - let isExistingConf = data.conference.call?.callLog?.conferenceInfo - if isExistingConf != nil { - addButton.isHidden = true - if isBroadcast { - self.removePart.isHidden = !isMeAdmin - self.isAdminView.isUserInteractionEnabled = isMeAdmin - self.isAdminLabel.isHidden = true - self.isSpeakerLabel.isHidden = !isSpeaker - self.isAdminCheck.isHidden = !isSpeaker - self.isAdminView.isHidden = false - } else { - self.removePart.isHidden = !isMeAdmin - self.isAdminView.isUserInteractionEnabled = isMeAdmin - self.isAdminLabel.isHidden = false - self.isSpeakerLabel.isHidden = true - self.isAdminLabel.textColor = !isAdmin ? VoipTheme.primarySubtextLightColor.get() : VoipTheme.primaryTextColor.get() - self.isAdminView.isHidden = !isAdmin && !isMeAdmin // Non admin don't see status of others non admin (they just see admins) - } - } else { - addButton.isHidden = false - } - } - - var scheduleConfParticipantAddress: Address? = nil { - didSet { - if let address = scheduleConfParticipantAddress { - avatar.fillFromAddress(address: address) - displayName.text = address.addressBookEnhancedDisplayName() - sipAddress.text = address.asStringUriOnly() - self.isAdminView.isHidden = true - self.removePart.isHidden = true - } - } - } - - - override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { - super.init(style: style, reuseIdentifier: reuseIdentifier) - contentView.height(VoipParticipantCell.cell_height).matchParentSideBorders().done() - - addSubview(avatar) - avatar.size(w: VoipCallCell.avatar_size, h: VoipCallCell.avatar_size).centerY().alignParentLeft(withMargin: avatar_left_margin).done() - - limeBadge.contentMode = .scaleAspectFit - addSubview(limeBadge) - limeBadge.toRightOf(avatar,withLeftMargin: lime_badge_offset).width(lime_badge_width).done() - - // Name Address - - let nameAddress = UIStackView() - nameAddress.addArrangedSubview(displayName) - nameAddress.addArrangedSubview(sipAddress) - nameAddress.axis = .vertical - addSubview(nameAddress) - nameAddress.toRightOf(avatar,withLeftMargin:texts_left_margin).centerY().done() - - // Admin section - isAdminView.spacing = 5 - - isAdminView.addArrangedSubview(isAdminCheck) - isAdminCheck.square(check_box_size).done() - isAdminCheck.contentMode = .scaleAspectFit - isAdminCheck.setContentHuggingPriority(.defaultHigh, for: .horizontal) - - isAdminView.addArrangedSubview(isAdminLabel) - isAdminLabel.setContentHuggingPriority(.defaultHigh, for: .horizontal) - - isAdminView.addArrangedSubview(isSpeakerLabel) - isSpeakerLabel.setContentHuggingPriority(.defaultHigh, for: .horizontal) - - isAdminView.addArrangedSubview(removePart) - removePart.setContentHuggingPriority(.defaultHigh, for: .horizontal) - - addSubview(isAdminView) - isAdminView.leadingAnchor.constraint(greaterThanOrEqualTo: leadingAnchor).isActive = true - isAdminView.trailingAnchor.constraint(equalTo: trailingAnchor).isActive = true - isAdminView.matchParentHeight().toRightOf(nameAddress).alignParentRight(withMargin: dismiss_right_margin).done() - contentView.backgroundColor = .clear - backgroundColor = .clear - - // Add button for broadcast mode - addSubview(addButton) - addButton.alignParentRight(withMargin: 10).matchParentHeight().done() - addButton.isEnabled = true - } - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } -} diff --git a/Classes/Swift/Voip/Views/Fragments/PausedCallOrConferenceView.swift b/Classes/Swift/Voip/Views/Fragments/PausedCallOrConferenceView.swift deleted file mode 100644 index 456eda2da..000000000 --- a/Classes/Swift/Voip/Views/Fragments/PausedCallOrConferenceView.swift +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import SnapKit -import linphonesw - -class PausedCallOrConferenceView: UIView { - - // Layout constants - let icon_size = 200 - let icon_padding = 80.0 - let title_margin_top = 20 - - var icon : UIImageView? = nil - let title = StyledLabel(VoipTheme.call_or_conference_title) - let subtitle = StyledLabel(VoipTheme.call_or_conference_subtitle) - - var onClickAction : (()->Void)? = nil - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - init (iconName:String, titleText:String, subTitleText:String? = nil, onClickAction : (()->Void)? = nil) { - super.init(frame: .zero) - - backgroundColor = VoipTheme.voip_translucent_popup_background - accessibilityIdentifier = "paused_call_view" - accessibilityViewIsModal = true - - let centeredView = UIView() - icon = UIImageView(image: UIImage(named:iconName)?.withPadding(padding: icon_padding)) - icon!.backgroundColor = VoipTheme.primary_color - icon!.layer.cornerRadius = CGFloat(icon_size/2) - icon!.clipsToBounds = true - icon!.contentMode = .scaleAspectFit - centeredView.addSubview(icon!) - icon!.square(icon_size).centerX().done() - icon!.accessibilityIdentifier = "paused_call_view_icon" - - title.numberOfLines = 0 - centeredView.addSubview(title) - title.alignUnder(view:icon!, withMargin:title_margin_top).matchParentSideBorders().done() - title.text = titleText - - subtitle.numberOfLines = 0 - centeredView.addSubview(subtitle) - subtitle.alignUnder(view: title).matchParentSideBorders().done() - subtitle.text = subTitleText - - self.addSubview(centeredView) - centeredView.center().matchParentSideBorders().wrapContentY().done() - - self.onClickAction = onClickAction - icon!.onClick { - self.onClickAction?() - } - - self.onClickAction = onClickAction - icon!.onClick { - self.onClickAction?() - } - - self.onClickAction = onClickAction - icon!.onClick { - self.onClickAction?() - } - - } - -} diff --git a/Classes/Swift/Voip/Views/Fragments/RemotelyRecording.swift b/Classes/Swift/Voip/Views/Fragments/RemotelyRecording.swift deleted file mode 100644 index ff9eb55eb..000000000 --- a/Classes/Swift/Voip/Views/Fragments/RemotelyRecording.swift +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import SnapKit -import linphonesw - -class RemotelyRecordingView: UIView { - - let label = StyledLabel(VoipTheme.call_remote_recording) - let icon = UIImageView(image: UIImage(named:"voip_remote_recording")) - - var isRemotelyRecorded: MutableLiveData? = nil { - didSet { - isRemotelyRecorded?.readCurrentAndObserve(onChange: { (isRemotelyRecording) in - self.isHidden = isRemotelyRecording != true - }) - } - } - - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - init (height:Int, text:String) { - super.init(frame: .zero) - backgroundColor = VoipTheme.dark_grey_color - layer.cornerRadius = CGFloat(height/2) - clipsToBounds = true - - addSubview(label) - label.center().height(CGFloat(height)).done() - label.text = text - - addSubview(icon) - icon.square(height).toLeftOf(label).done() - - isHidden = true - - } - -} diff --git a/Classes/Swift/Voip/Views/Fragments/SpeakersList/SpeakersListView.swift b/Classes/Swift/Voip/Views/Fragments/SpeakersList/SpeakersListView.swift deleted file mode 100644 index 621cf771a..000000000 --- a/Classes/Swift/Voip/Views/Fragments/SpeakersList/SpeakersListView.swift +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import linphonesw - -@objc class SpeakersListView: DismissableView, UITableViewDataSource { - - // Layout constants - let side_margin = 10.0 - - let speakersListTableView = UITableView() - let noSpeakersLabel = StyledLabel(VoipTheme.empty_list_font,VoipTexts.conference_empty) - - - var callsDataObserver : MutableLiveDataOnChangeClosure<[CallData]>? = nil - - init() { - super.init(title: VoipTexts.call_action_speakers_list) - - - let edit = CallControlButton(buttonTheme: VoipTheme.voip_edit, onClickAction: { - self.removeFromSuperview() - self.gotoSpeakersListSelection() - }) - super.headerView.addSubview(edit) - edit.centerY().done() - super.dismiss?.toRightOf(edit,withLeftMargin: dismiss_right_margin).centerY().done() - - - // SpeakersList - super.contentView.addSubview(speakersListTableView) - speakersListTableView.matchParentDimmensions().done() - speakersListTableView.dataSource = self - speakersListTableView.register(VoipSpeakerCell.self, forCellReuseIdentifier: "VoipSpeakerCell") - speakersListTableView.allowsSelection = false - if #available(iOS 15.0, *) { - speakersListTableView.allowsFocus = false - } - speakersListTableView.separatorStyle = .singleLine - speakersListTableView.separatorColor = .white - - - ConferenceViewModel.shared.conferenceSpeakers.readCurrentAndObserve{ _ in - self.speakersListTableView.reloadData() - self.noSpeakersLabel.isHidden = ConferenceViewModel.shared.conferenceSpeakers.value?.count ?? 0 > 0 - } - - ConferenceViewModel.shared.isMeAdmin.readCurrentAndObserve { (meAdmin) in - edit.isHidden = meAdmin != true - } - - super.contentView.addSubview(noSpeakersLabel) - noSpeakersLabel.center().matchParentSideBorders(insetedByDx: side_margin).done() - noSpeakersLabel.isHidden = ConferenceViewModel.shared.conferenceSpeakers.value?.count ?? 0 > 0 - noSpeakersLabel.numberOfLines = 2 - self.speakersListTableView.backgroundColor = VoipTheme.voipBackgroundBWColor.get() - - UIDeviceBridge.displayModeSwitched.observe { _ in - self.speakersListTableView.backgroundColor = VoipTheme.voipBackgroundBWColor.get() - self.speakersListTableView.reloadData() - } - } - - - // TableView datasource delegate - - func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - guard let speakers = ConferenceViewModel.shared.conferenceSpeakers.value else { - return 0 - } - return speakers.count - } - - func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - let cell:VoipSpeakerCell = tableView.dequeueReusableCell(withIdentifier: "VoipSpeakerCell") as! VoipSpeakerCell - guard let speakerData = ConferenceViewModel.shared.conferenceSpeakers.value?[indexPath.row] else { - return cell - } - cell.selectionStyle = .none - cell.speakerData = speakerData - cell.owningParticpantsListView = self - return cell - } - - // View controller - - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - - func gotoSpeakersListSelection() { - let view: ChatConversationCreateView = self.VIEW(ChatConversationCreateView.compositeViewDescription()) - view.unfragmentCompositeDescription() - let addresses = ConferenceViewModel.shared.conferenceSpeakers.value!.map { (data) in String(data.speaker.address!.asStringUriOnly()) } - view.tableController.contactsGroup = (addresses as NSArray).mutableCopy() as? NSMutableArray - view.isForEditing = false - view.isForVoipConference = true - view.isForOngoingVoipConference = true - view.tableController.notFirstTime = true - view.isGroupChat = true - PhoneMainView.instance().changeCurrentView(view.compositeViewDescription()) - } - - - - -} diff --git a/Classes/Swift/Voip/Views/Fragments/SpeakersList/VoipSpeakerCell.swift b/Classes/Swift/Voip/Views/Fragments/SpeakersList/VoipSpeakerCell.swift deleted file mode 100644 index 04651983a..000000000 --- a/Classes/Swift/Voip/Views/Fragments/SpeakersList/VoipSpeakerCell.swift +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import SnapKit -import linphonesw - -class VoipSpeakerCell: UITableViewCell { - - // Layout Constants - - static let dismiss_icon_inset = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10) - let dismiss_right_margin = 10 - let check_box_size = 15 - static let cell_height = 80.0 - let avatar_left_margin = 15.0 - let texts_left_margin = 20.0 - let lime_badge_width = 18.0 - let lime_badge_offset = -10.0 - - let avatar = Avatar(color:VoipTheme.primaryTextColor, textStyle: VoipTheme.call_generated_avatar_small) - let limeBadge = UIImageView(image: UIImage(named: "security_toggle_icon_green")) - let displayName = StyledLabel(VoipTheme.conference_participant_name_font) - let sipAddress = StyledLabel(VoipTheme.conference_participant_sip_uri_font) - let isAdminView = UIStackView() - let isAdminLabel = StyledLabel(VoipTheme.conference_participant_admin_label,VoipTexts.chat_room_group_info_admin) - let isAdminCheck = UIImageView(image: UIImage(named:("check_unselected"))) - let removePart = CallControlButton(imageInset:dismiss_icon_inset,buttonTheme: VoipTheme.voip_cancel, onClickAction: {}) - - let deleteButton = CallControlButton(buttonTheme:VoipTheme.nav_color_button("delete_field_default")) - - var owningParticpantsListView : SpeakersListView? = nil - - var speakerData: ConferenceSpeakerData? = nil { - didSet { - if let data = speakerData { - limeBadge.isHidden = true - avatar.fillFromAddress(address: data.speaker.address!) - displayName.text = data.speaker.address?.addressBookEnhancedDisplayName() - sipAddress.text = data.speaker.address?.asStringUriOnly() - data.isAdmin.readCurrentAndObserve { _ in - self.setAdminStatus(data: data) - } - data.isMeAdmin.readCurrentAndObserve { _ in - self.setAdminStatus(data: data) - } - self.isAdminView.onClick { - data.conference.setParticipantAdminStatus(participant: data.speaker, isAdmin: data.isAdmin.value != true) - self.owningParticpantsListView?.speakersListTableView.reloadData() - } - self.removePart.onClick { - try?data.conference.removeParticipant(participant: data.speaker) - self.owningParticpantsListView?.speakersListTableView.reloadData() - } - } - } - } - - func setAdminStatus(data:ConferenceSpeakerData) { - let isAdmin = data.isAdmin.value! - let isMeAdmin = data.isMeAdmin.value! - self.removePart.isHidden = !isMeAdmin - self.isAdminView.isUserInteractionEnabled = isMeAdmin - self.isAdminLabel.textColor = !isAdmin ? VoipTheme.primarySubtextLightColor.get() : VoipTheme.primaryTextColor.get() - self.isAdminView.isHidden = !isAdmin && !isMeAdmin // Non admin don't see status of others non admin (they just see admins) - } - - var scheduleConfSpeakerAddress: Address? = nil { - didSet { - if let address = scheduleConfSpeakerAddress { - avatar.fillFromAddress(address: address) - displayName.text = address.addressBookEnhancedDisplayName() - sipAddress.text = address.asStringUriOnly() - self.isAdminView.isHidden = true - self.removePart.isHidden = true - } - } - } - - - override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { - super.init(style: style, reuseIdentifier: reuseIdentifier) - contentView.height(VoipSpeakerCell.cell_height).matchParentSideBorders().done() - - addSubview(avatar) - avatar.size(w: VoipCallCell.avatar_size, h: VoipCallCell.avatar_size).centerY().alignParentLeft(withMargin: avatar_left_margin).done() - - limeBadge.contentMode = .scaleAspectFit - addSubview(limeBadge) - limeBadge.toRightOf(avatar,withLeftMargin: lime_badge_offset).width(lime_badge_width).done() - - // Name Address - - let nameAddress = UIStackView() - nameAddress.addArrangedSubview(displayName) - nameAddress.addArrangedSubview(sipAddress) - nameAddress.axis = .vertical - addSubview(nameAddress) - nameAddress.toRightOf(avatar,withLeftMargin:texts_left_margin).centerY().done() - - // Admin section - isAdminView.spacing = 5 - - isAdminView.addArrangedSubview(isAdminCheck) - isAdminCheck.square(check_box_size).done() - isAdminCheck.contentMode = .scaleAspectFit - isAdminCheck.setContentHuggingPriority(.defaultHigh, for: .horizontal) - - isAdminView.addArrangedSubview(isAdminLabel) - isAdminLabel.setContentHuggingPriority(.defaultHigh, for: .horizontal) - - isAdminView.addArrangedSubview(removePart) - removePart.setContentHuggingPriority(.defaultHigh, for: .horizontal) - - addSubview(isAdminView) - isAdminView.leadingAnchor.constraint(greaterThanOrEqualTo: leadingAnchor).isActive = true - isAdminView.trailingAnchor.constraint(equalTo: trailingAnchor).isActive = true - isAdminView.matchParentHeight().toRightOf(nameAddress).alignParentRight(withMargin: dismiss_right_margin).done() - contentView.backgroundColor = .clear - backgroundColor = .clear - - // Delete button for broadcast mode - addSubview(deleteButton) - deleteButton.alignParentRight(withMargin: 10).matchParentHeight().done() - deleteButton.isEnabled = true - } - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } -} diff --git a/Classes/Swift/Voip/Views/Fragments/VoipExtraButtonsView.swift b/Classes/Swift/Voip/Views/Fragments/VoipExtraButtonsView.swift deleted file mode 100644 index 3db0ae930..000000000 --- a/Classes/Swift/Voip/Views/Fragments/VoipExtraButtonsView.swift +++ /dev/null @@ -1,191 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import UIKit -import Foundation -import SnapKit -import linphonesw - -class VoipExtraButtonsView: UIStackView { - - //Layout constants - let height = 200.0 - let corner_radius = 20.0 - - required init(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - - init () { - super.init(frame: .zero) - - axis = .vertical - distribution = .fillEqually - alignment = .center - layer.cornerRadius = corner_radius - clipsToBounds = true - accessibilityIdentifier = "active_call_extra_buttons_view" - accessibilityViewIsModal = true - - let background = UIView() - background.backgroundColor = VoipTheme.voipExtraButtonsBackgroundColor.get() - addSubview(background) - background.layer.cornerRadius = corner_radius - background.clipsToBounds = true - background.matchParentDimmensions().done() - - height(height).done() - - let row1 = UIStackView() - row1.axis = .horizontal - row1.distribution = .fillEqually - row1.alignment = .center - - - // First row - let numpad = VoipExtraButton(text: VoipTexts.call_action_numpad, buttonTheme: VoipTheme.call_action("voip_call_numpad"),onClickAction: { - ControlsViewModel.shared.numpadVisible.value = true - }) - row1.addArrangedSubview(numpad) - numpad.accessibilityIdentifier = "active_call_extra_buttons_numpad" - - let stats = VoipExtraButton(text: VoipTexts.call_action_statistics, buttonTheme: VoipTheme.call_action("voip_call_stats"),onClickAction: { - ControlsViewModel.shared.callStatsVisible.value = true - }) - row1.addArrangedSubview(stats) - stats.accessibilityIdentifier = "active_call_extra_buttons_stats" - - let chats = VoipExtraButton(text: VoipTexts.call_action_chat, buttonTheme: VoipTheme.call_action("voip_call_chat"),withbBoucinCounterDataSource:CallsViewModel.shared.currentCallUnreadChatMessageCount, onClickAction: { - ControlsViewModel.shared.goToChatEvent.notifyAllObservers(with: true) - }) - row1.addArrangedSubview(chats) - chats.accessibilityIdentifier = "active_call_extra_buttons_chats" - - addArrangedSubview(row1) - row1.matchParentSideBorders().done() - - // Second row - - let row2 = UIStackView() - row2.axis = .horizontal - row2.distribution = .fillEqually - row2.alignment = .center - - var transfer = VoipExtraButton(text: CallsViewModel.shared.inactiveCallsCount.value! < 1 ? VoipTexts.call_action_transfer_call : VoipTexts.call_context_action_attended_transfer, buttonTheme: VoipTheme.call_action("voip_call_forward"),onClickAction: { - if CallsViewModel.shared.inactiveCallsCount.value! < 1 { - let view: DialerView = self.VIEW(DialerView.compositeViewDescription()); - view.setAddress("") - CallManager.instance().nextCallIsTransfer = true - PhoneMainView.instance().changeCurrentView(view.compositeViewDescription()) - }else{ - self.attendedTransfer() - } - }) - row2.addArrangedSubview(transfer) - transfer.accessibilityIdentifier = "active_call_extra_buttons_transfer" - - let participants = VoipExtraButton(text: VoipTexts.call_action_participants_list, buttonTheme: VoipTheme.call_action("voip_call_participants"),onClickAction: { - ControlsViewModel.shared.goToConferenceParticipantsListEvent.value = true - }) - row2.addArrangedSubview(participants) - participants.accessibilityIdentifier = "active_call_extra_buttons_participants" - - let addcall = VoipExtraButton(text: VoipTexts.call_action_add_call, buttonTheme: VoipTheme.call_action("voip_call_add"),onClickAction: { - let view: DialerView = self.VIEW(DialerView.compositeViewDescription()); - view.setAddress("") - CallManager.instance().nextCallIsTransfer = false - PhoneMainView.instance().changeCurrentView(view.compositeViewDescription()) - }) - row2.addArrangedSubview(addcall) - addcall.accessibilityIdentifier = "active_call_extra_buttons_add_call" - - let layoutselect = VoipExtraButton(text: VoipTexts.call_action_change_conf_layout, buttonTheme: VoipTheme.call_action("voip_conference_mosaic"),onClickAction: { - ControlsViewModel.shared.goToConferenceLayoutSettings.notifyAllObservers(with: true) - }) - row2.addArrangedSubview(layoutselect) - - if (Core.get().config?.getBool(section: "app", key: "disable_video_feature", defaultValue: false) == true) { - layoutselect.isEnabled = false - layoutselect.setTitleColor(.gray, for: .disabled) - if #available(iOS 13.0, *) { - layoutselect.setImage(UIImage(named: "voip_conference_mosaic")!.withTintColor(.gray), for: .disabled) - } - } - - let calls = VoipExtraButton(text: VoipTexts.call_action_calls_list, buttonTheme: VoipTheme.call_action("voip_calls_list"), withbBoucinCounterDataSource: CallsViewModel.shared.inactiveCallsCount, onClickAction: { - ControlsViewModel.shared.goToCallsListEvent.notifyAllObservers(with: true) - }) - row2.addArrangedSubview(calls) - calls.accessibilityIdentifier = "active_call_extra_buttons_calls" - - addArrangedSubview(row2) - row2.matchParentSideBorders().done() - - ConferenceViewModel.shared.conferenceExists.readCurrentAndObserve { (isIn) in - participants.isHidden = isIn != true - layoutselect.isHidden = isIn != true - transfer.isHidden = isIn == true - addcall.isHidden = isIn == true - } - - CallsViewModel.shared.inactiveCallsCount.readCurrentAndObserve { title in - transfer.setTitle(title! < 1 ? VoipTexts.call_action_transfer_call : VoipTexts.call_context_action_attended_transfer, for: .normal) - } - } - - func refresh() { - CallsViewModel.shared.currentCallUnreadChatMessageCount.notifyValue() - CallsViewModel.shared.inactiveCallsCount.notifyValue() - } - - func attendedTransfer() { - var core = CallManager.instance().lc - var currentCall = core?.currentCall - - if (currentCall == nil) { - Log.e("[Call Controls] Can't do an attended transfer without a current call") - return - } - - if let callsNb = core?.callsNb, callsNb <= 1 { - Log.e("[Call Controls] Need at least two calls to do an attended transfer") - return - } - - var callToTransferTo = core!.calls.last { call in - call.state == Call.State.Paused - } - - if (callToTransferTo == nil) { - Log.e("[Call Controls] Couldn't find a call in Paused state to transfer current call to") - return - } - - Log.i( - "[Call Controls] Doing an attended transfer between active call [${currentCall.remoteAddress.asStringUriOnly()}] and paused call [${callToTransferTo.remoteAddress.asStringUriOnly()}]" - ) - - do{ - try callToTransferTo?.transferToAnother(dest: currentCall!) - }catch{ - Log.e("[Call Controls] Attended transfer failed!") - } - } -} diff --git a/Classes/Swift/Voip/Views/SharedLayoutConstants.swift b/Classes/Swift/Voip/Views/SharedLayoutConstants.swift deleted file mode 100644 index ccb45a9e0..000000000 --- a/Classes/Swift/Voip/Views/SharedLayoutConstants.swift +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import Foundation - -class SharedLayoutConstants { - static var buttons_bottom_margin : Int { - get { UIDevice.hasNotch() && UIDevice.current.orientation == .portrait ? 30 : 15 } - } - static let margin_call_view_side_controls_buttons = 12 - static let bottom_margin_notch_clearance = UIDevice.hasNotch() ? 30.0 : 0.0 - static let content_inset = 12.0 -} diff --git a/Classes/Swift/Voip/VoipDialog.swift b/Classes/Swift/Voip/VoipDialog.swift deleted file mode 100644 index 8aa53ed30..000000000 --- a/Classes/Swift/Voip/VoipDialog.swift +++ /dev/null @@ -1,128 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit - -class VoipDialog : UIView{ - - // Layout constants - let center_corner_radius = 7.0 - let title_margin_top = 20 - let title_margin_sides = 10.0 - let button_margin = 20.0 - let button_width = 135.0 - let button_height = 40.0 - let button_radius = 3.0 - let button_spacing = 15.0 - let center_view_sides_margin = 13.0 - - - let title = StyledLabel(VoipTheme.basic_popup_title) - - init(message:String, givenButtons:[ButtonAttributes]? = nil) { - - super.init(frame: .zero) - backgroundColor = VoipTheme.voip_translucent_popup_background - - let centerView = UIView() - centerView.backgroundColor = VoipTheme.dark_grey_color.withAlphaComponent(0.8) - centerView.layer.cornerRadius = center_corner_radius - centerView.clipsToBounds = true - addSubview(centerView) - - title.numberOfLines = 0 - centerView.addSubview(title) - title.alignParentTop(withMargin:title_margin_top).matchParentSideBorders(insetedByDx: title_margin_sides).done() - title.text = message - - let buttonsView = UIStackView() - buttonsView.axis = .horizontal - buttonsView.spacing = button_spacing - - var buttons = givenButtons - - if (buttons == nil) { // assuming info popup, just putting an ok button - let ok = ButtonAttributes(text:VoipTexts.ok, action: {}, isDestructive:false) - buttons = [ok] - } - - buttons?.forEach { - let b = ButtonWithStateBackgrounds(backgroundStateColors: $0.isDestructive ? VoipTheme.primary_colors_background_gray : VoipTheme.primary_colors_background) - b.setTitle($0.text, for: .normal) - b.layer.cornerRadius = button_radius - b.clipsToBounds = true - buttonsView.addArrangedSubview(b) - b.applyTitleStyle(VoipTheme.form_button_bold) - let action = $0.action - b.onClick { - self.removeFromSuperview() - action() - } - b.size(w: button_width,h: button_height).done() - } - centerView.addSubview(buttonsView) - buttonsView.alignUnder(view:title,withMargin:button_margin).alignParentBottom(withMargin:button_margin).centerX().done() - - - - centerView.matchParentSideBorders(insetedByDx: center_view_sides_margin).center().done() - } - - func show() { - VoipDialog.rootVC()?.view.addSubview(self) - matchParentDimmensions().done() - } - - private static func rootVC() -> UIViewController? { - return PhoneMainView.instance().mainViewController - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - static var toastQueue: [String] = [] - - static func toast(message:String, timeout:CGFloat = 1.5) { - if (toastQueue.count > 0) { - toastQueue.append(message) - return - } - let rooVc = rootVC() - let alert = UIAlertController(title: nil, message: message, preferredStyle: .actionSheet) - alert.popoverPresentationController?.sourceView = PhoneMainView.instance().mainViewController.statusBarView - rooVc?.present(alert, animated: true) - DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + timeout) { - alert.dismiss(animated: true) - if (toastQueue.count > 0) { - let message = toastQueue.first - toastQueue.remove(at: 0) - self.toast(message: message!) - } - } - } - -} - -struct ButtonAttributes { - let text:String - let action: (()->Void) - let isDestructive: Bool -} diff --git a/Classes/Swift/Voip/VoipDialog_BACKUP_1064.swift b/Classes/Swift/Voip/VoipDialog_BACKUP_1064.swift deleted file mode 100644 index 47c1bd059..000000000 --- a/Classes/Swift/Voip/VoipDialog_BACKUP_1064.swift +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit - -class VoipDialog : UIView{ - - // Layout constants - let center_corner_radius = 7.0 - let title_margin_top = 20 -<<<<<<< HEAD - let title_margin_sides = 10.0 -======= - let title_side_margin = 10 ->>>>>>> 4b91fc131 (all) - let button_margin = 20.0 - let button_width = 135.0 - let button_height = 40.0 - let button_radius = 3.0 - let button_spacing = 15.0 - let center_view_sides_margin = 13.0 - - - let title = StyledLabel(VoipTheme.basic_popup_title) - - init(message:String, givenButtons:[ButtonAttributes]? = nil) { - - super.init(frame: .zero) - backgroundColor = VoipTheme.voip_translucent_popup_background - - let centerView = UIView() - centerView.backgroundColor = VoipTheme.dark_grey_color.withAlphaComponent(0.8) - centerView.layer.cornerRadius = center_corner_radius - centerView.clipsToBounds = true - addSubview(centerView) - - title.numberOfLines = 0 - centerView.addSubview(title) -<<<<<<< HEAD - title.alignParentTop(withMargin:title_margin_top).matchParentSideBorders(insetedByDx: title_margin_sides).done() -======= - title.alignParentTop(withMargin:title_margin_top).matchParentSideBorders(insetedByDx: CGFloat(title_side_margin)).done() ->>>>>>> 4b91fc131 (all) - title.text = message - - let buttonsView = UIStackView() - buttonsView.axis = .horizontal - buttonsView.spacing = button_spacing - - var buttons = givenButtons - - if (buttons == nil) { // assuming info popup, just putting an ok button - let ok = ButtonAttributes(text:VoipTexts.ok, action: {}, isDestructive:false) - buttons = [ok] - } - - buttons?.forEach { - let b = ButtonWithStateBackgrounds(backgroundStateColors: $0.isDestructive ? VoipTheme.primary_colors_background_gray : VoipTheme.primary_colors_background) - b.setTitle($0.text, for: .normal) - b.layer.cornerRadius = button_radius - b.clipsToBounds = true - buttonsView.addArrangedSubview(b) - b.applyTitleStyle(VoipTheme.form_button_bold) - let action = $0.action - b.onClick { - self.removeFromSuperview() - action() - } - b.size(w: button_width,h: button_height).done() - } - centerView.addSubview(buttonsView) - buttonsView.alignUnder(view:title,withMargin:button_margin).alignParentBottom(withMargin:button_margin).centerX().done() - - - - centerView.matchParentSideBorders(insetedByDx: center_view_sides_margin).center().done() - } - - func show() { - VoipDialog.rootVC()?.view.addSubview(self) - matchParentDimmensions().done() - } - - private static func rootVC() -> UIViewController? { - return PhoneMainView.instance().mainViewController - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - static var toastQueue: [String] = [] - - static func toast(message:String, timeout:CGFloat = 1.5) { - if (toastQueue.count > 0) { - toastQueue.append(message) - return - } - let alert = UIAlertController(title: nil, message: message, preferredStyle: .actionSheet) - rootVC()?.present(alert, animated: true) - DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + timeout) { - alert.dismiss(animated: true) - if (toastQueue.count > 0) { - let message = toastQueue.first - toastQueue.remove(at: 0) - self.toast(message: message!) - } - } - } - -} - -struct ButtonAttributes { - let text:String - let action: (()->Void) - let isDestructive: Bool -} diff --git a/Classes/Swift/Voip/VoipDialog_BACKUP_1156.swift b/Classes/Swift/Voip/VoipDialog_BACKUP_1156.swift deleted file mode 100644 index 47c1bd059..000000000 --- a/Classes/Swift/Voip/VoipDialog_BACKUP_1156.swift +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit - -class VoipDialog : UIView{ - - // Layout constants - let center_corner_radius = 7.0 - let title_margin_top = 20 -<<<<<<< HEAD - let title_margin_sides = 10.0 -======= - let title_side_margin = 10 ->>>>>>> 4b91fc131 (all) - let button_margin = 20.0 - let button_width = 135.0 - let button_height = 40.0 - let button_radius = 3.0 - let button_spacing = 15.0 - let center_view_sides_margin = 13.0 - - - let title = StyledLabel(VoipTheme.basic_popup_title) - - init(message:String, givenButtons:[ButtonAttributes]? = nil) { - - super.init(frame: .zero) - backgroundColor = VoipTheme.voip_translucent_popup_background - - let centerView = UIView() - centerView.backgroundColor = VoipTheme.dark_grey_color.withAlphaComponent(0.8) - centerView.layer.cornerRadius = center_corner_radius - centerView.clipsToBounds = true - addSubview(centerView) - - title.numberOfLines = 0 - centerView.addSubview(title) -<<<<<<< HEAD - title.alignParentTop(withMargin:title_margin_top).matchParentSideBorders(insetedByDx: title_margin_sides).done() -======= - title.alignParentTop(withMargin:title_margin_top).matchParentSideBorders(insetedByDx: CGFloat(title_side_margin)).done() ->>>>>>> 4b91fc131 (all) - title.text = message - - let buttonsView = UIStackView() - buttonsView.axis = .horizontal - buttonsView.spacing = button_spacing - - var buttons = givenButtons - - if (buttons == nil) { // assuming info popup, just putting an ok button - let ok = ButtonAttributes(text:VoipTexts.ok, action: {}, isDestructive:false) - buttons = [ok] - } - - buttons?.forEach { - let b = ButtonWithStateBackgrounds(backgroundStateColors: $0.isDestructive ? VoipTheme.primary_colors_background_gray : VoipTheme.primary_colors_background) - b.setTitle($0.text, for: .normal) - b.layer.cornerRadius = button_radius - b.clipsToBounds = true - buttonsView.addArrangedSubview(b) - b.applyTitleStyle(VoipTheme.form_button_bold) - let action = $0.action - b.onClick { - self.removeFromSuperview() - action() - } - b.size(w: button_width,h: button_height).done() - } - centerView.addSubview(buttonsView) - buttonsView.alignUnder(view:title,withMargin:button_margin).alignParentBottom(withMargin:button_margin).centerX().done() - - - - centerView.matchParentSideBorders(insetedByDx: center_view_sides_margin).center().done() - } - - func show() { - VoipDialog.rootVC()?.view.addSubview(self) - matchParentDimmensions().done() - } - - private static func rootVC() -> UIViewController? { - return PhoneMainView.instance().mainViewController - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - static var toastQueue: [String] = [] - - static func toast(message:String, timeout:CGFloat = 1.5) { - if (toastQueue.count > 0) { - toastQueue.append(message) - return - } - let alert = UIAlertController(title: nil, message: message, preferredStyle: .actionSheet) - rootVC()?.present(alert, animated: true) - DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + timeout) { - alert.dismiss(animated: true) - if (toastQueue.count > 0) { - let message = toastQueue.first - toastQueue.remove(at: 0) - self.toast(message: message!) - } - } - } - -} - -struct ButtonAttributes { - let text:String - let action: (()->Void) - let isDestructive: Bool -} diff --git a/Classes/Swift/Voip/VoipDialog_BACKUP_884.swift b/Classes/Swift/Voip/VoipDialog_BACKUP_884.swift deleted file mode 100644 index 47c1bd059..000000000 --- a/Classes/Swift/Voip/VoipDialog_BACKUP_884.swift +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit - -class VoipDialog : UIView{ - - // Layout constants - let center_corner_radius = 7.0 - let title_margin_top = 20 -<<<<<<< HEAD - let title_margin_sides = 10.0 -======= - let title_side_margin = 10 ->>>>>>> 4b91fc131 (all) - let button_margin = 20.0 - let button_width = 135.0 - let button_height = 40.0 - let button_radius = 3.0 - let button_spacing = 15.0 - let center_view_sides_margin = 13.0 - - - let title = StyledLabel(VoipTheme.basic_popup_title) - - init(message:String, givenButtons:[ButtonAttributes]? = nil) { - - super.init(frame: .zero) - backgroundColor = VoipTheme.voip_translucent_popup_background - - let centerView = UIView() - centerView.backgroundColor = VoipTheme.dark_grey_color.withAlphaComponent(0.8) - centerView.layer.cornerRadius = center_corner_radius - centerView.clipsToBounds = true - addSubview(centerView) - - title.numberOfLines = 0 - centerView.addSubview(title) -<<<<<<< HEAD - title.alignParentTop(withMargin:title_margin_top).matchParentSideBorders(insetedByDx: title_margin_sides).done() -======= - title.alignParentTop(withMargin:title_margin_top).matchParentSideBorders(insetedByDx: CGFloat(title_side_margin)).done() ->>>>>>> 4b91fc131 (all) - title.text = message - - let buttonsView = UIStackView() - buttonsView.axis = .horizontal - buttonsView.spacing = button_spacing - - var buttons = givenButtons - - if (buttons == nil) { // assuming info popup, just putting an ok button - let ok = ButtonAttributes(text:VoipTexts.ok, action: {}, isDestructive:false) - buttons = [ok] - } - - buttons?.forEach { - let b = ButtonWithStateBackgrounds(backgroundStateColors: $0.isDestructive ? VoipTheme.primary_colors_background_gray : VoipTheme.primary_colors_background) - b.setTitle($0.text, for: .normal) - b.layer.cornerRadius = button_radius - b.clipsToBounds = true - buttonsView.addArrangedSubview(b) - b.applyTitleStyle(VoipTheme.form_button_bold) - let action = $0.action - b.onClick { - self.removeFromSuperview() - action() - } - b.size(w: button_width,h: button_height).done() - } - centerView.addSubview(buttonsView) - buttonsView.alignUnder(view:title,withMargin:button_margin).alignParentBottom(withMargin:button_margin).centerX().done() - - - - centerView.matchParentSideBorders(insetedByDx: center_view_sides_margin).center().done() - } - - func show() { - VoipDialog.rootVC()?.view.addSubview(self) - matchParentDimmensions().done() - } - - private static func rootVC() -> UIViewController? { - return PhoneMainView.instance().mainViewController - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - static var toastQueue: [String] = [] - - static func toast(message:String, timeout:CGFloat = 1.5) { - if (toastQueue.count > 0) { - toastQueue.append(message) - return - } - let alert = UIAlertController(title: nil, message: message, preferredStyle: .actionSheet) - rootVC()?.present(alert, animated: true) - DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + timeout) { - alert.dismiss(animated: true) - if (toastQueue.count > 0) { - let message = toastQueue.first - toastQueue.remove(at: 0) - self.toast(message: message!) - } - } - } - -} - -struct ButtonAttributes { - let text:String - let action: (()->Void) - let isDestructive: Bool -} diff --git a/Classes/Swift/Voip/VoipDialog_BACKUP_973.swift b/Classes/Swift/Voip/VoipDialog_BACKUP_973.swift deleted file mode 100644 index 47c1bd059..000000000 --- a/Classes/Swift/Voip/VoipDialog_BACKUP_973.swift +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit - -class VoipDialog : UIView{ - - // Layout constants - let center_corner_radius = 7.0 - let title_margin_top = 20 -<<<<<<< HEAD - let title_margin_sides = 10.0 -======= - let title_side_margin = 10 ->>>>>>> 4b91fc131 (all) - let button_margin = 20.0 - let button_width = 135.0 - let button_height = 40.0 - let button_radius = 3.0 - let button_spacing = 15.0 - let center_view_sides_margin = 13.0 - - - let title = StyledLabel(VoipTheme.basic_popup_title) - - init(message:String, givenButtons:[ButtonAttributes]? = nil) { - - super.init(frame: .zero) - backgroundColor = VoipTheme.voip_translucent_popup_background - - let centerView = UIView() - centerView.backgroundColor = VoipTheme.dark_grey_color.withAlphaComponent(0.8) - centerView.layer.cornerRadius = center_corner_radius - centerView.clipsToBounds = true - addSubview(centerView) - - title.numberOfLines = 0 - centerView.addSubview(title) -<<<<<<< HEAD - title.alignParentTop(withMargin:title_margin_top).matchParentSideBorders(insetedByDx: title_margin_sides).done() -======= - title.alignParentTop(withMargin:title_margin_top).matchParentSideBorders(insetedByDx: CGFloat(title_side_margin)).done() ->>>>>>> 4b91fc131 (all) - title.text = message - - let buttonsView = UIStackView() - buttonsView.axis = .horizontal - buttonsView.spacing = button_spacing - - var buttons = givenButtons - - if (buttons == nil) { // assuming info popup, just putting an ok button - let ok = ButtonAttributes(text:VoipTexts.ok, action: {}, isDestructive:false) - buttons = [ok] - } - - buttons?.forEach { - let b = ButtonWithStateBackgrounds(backgroundStateColors: $0.isDestructive ? VoipTheme.primary_colors_background_gray : VoipTheme.primary_colors_background) - b.setTitle($0.text, for: .normal) - b.layer.cornerRadius = button_radius - b.clipsToBounds = true - buttonsView.addArrangedSubview(b) - b.applyTitleStyle(VoipTheme.form_button_bold) - let action = $0.action - b.onClick { - self.removeFromSuperview() - action() - } - b.size(w: button_width,h: button_height).done() - } - centerView.addSubview(buttonsView) - buttonsView.alignUnder(view:title,withMargin:button_margin).alignParentBottom(withMargin:button_margin).centerX().done() - - - - centerView.matchParentSideBorders(insetedByDx: center_view_sides_margin).center().done() - } - - func show() { - VoipDialog.rootVC()?.view.addSubview(self) - matchParentDimmensions().done() - } - - private static func rootVC() -> UIViewController? { - return PhoneMainView.instance().mainViewController - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - static var toastQueue: [String] = [] - - static func toast(message:String, timeout:CGFloat = 1.5) { - if (toastQueue.count > 0) { - toastQueue.append(message) - return - } - let alert = UIAlertController(title: nil, message: message, preferredStyle: .actionSheet) - rootVC()?.present(alert, animated: true) - DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + timeout) { - alert.dismiss(animated: true) - if (toastQueue.count > 0) { - let message = toastQueue.first - toastQueue.remove(at: 0) - self.toast(message: message!) - } - } - } - -} - -struct ButtonAttributes { - let text:String - let action: (()->Void) - let isDestructive: Bool -} diff --git a/Classes/Swift/Voip/VoipDialog_BASE_1064.swift b/Classes/Swift/Voip/VoipDialog_BASE_1064.swift deleted file mode 100644 index 055ded827..000000000 --- a/Classes/Swift/Voip/VoipDialog_BASE_1064.swift +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit - -class VoipDialog : UIView{ - - // Layout constants - let center_corner_radius = 7.0 - let title_margin_top = 20 - let button_margin = 20.0 - let button_width = 135.0 - let button_height = 40.0 - let button_radius = 3.0 - let button_spacing = 15.0 - - let center_view_sides_margin = 13.0 - - - let title = StyledLabel(VoipTheme.basic_popup_title) - - init(message:String, givenButtons:[ButtonAttributes]? = nil) { - - super.init(frame: .zero) - backgroundColor = VoipTheme.voip_translucent_popup_background - - let centerView = UIView() - centerView.backgroundColor = VoipTheme.dark_grey_color.withAlphaComponent(0.8) - centerView.layer.cornerRadius = center_corner_radius - centerView.clipsToBounds = true - addSubview(centerView) - - title.numberOfLines = 0 - centerView.addSubview(title) - title.alignParentTop(withMargin:title_margin_top).matchParentSideBorders().done() - title.text = message - - let buttonsView = UIStackView() - buttonsView.axis = .horizontal - buttonsView.spacing = button_spacing - - var buttons = givenButtons - - if (buttons == nil) { // assuming info popup, just putting an ok button - let ok = ButtonAttributes(text:VoipTexts.ok, action: {}, isDestructive:false) - buttons = [ok] - } - - buttons?.forEach { - let b = ButtonWithStateBackgrounds(backgroundStateColors: $0.isDestructive ? VoipTheme.primary_colors_background_gray : VoipTheme.primary_colors_background) - b.setTitle($0.text, for: .normal) - b.layer.cornerRadius = button_radius - b.clipsToBounds = true - buttonsView.addArrangedSubview(b) - b.applyTitleStyle(VoipTheme.form_button_bold) - let action = $0.action - b.onClick { - self.removeFromSuperview() - action() - } - b.size(w: button_width,h: button_height).done() - } - centerView.addSubview(buttonsView) - buttonsView.alignUnder(view:title,withMargin:button_margin).alignParentBottom(withMargin:button_margin).centerX().done() - - - - centerView.matchParentSideBorders(insetedByDx: center_view_sides_margin).center().done() - } - - func show() { - VoipDialog.rootVC()?.view.addSubview(self) - matchParentDimmensions().done() - } - - private static func rootVC() -> UIViewController? { - return PhoneMainView.instance().mainViewController - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - static var toastQueue: [String] = [] - - static func toast(message:String, timeout:CGFloat = 1.5) { - if (toastQueue.count > 0) { - toastQueue.append(message) - return - } - let alert = UIAlertController(title: nil, message: message, preferredStyle: .actionSheet) - rootVC()?.present(alert, animated: true) - DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + timeout) { - alert.dismiss(animated: true) - if (toastQueue.count > 0) { - let message = toastQueue.first - toastQueue.remove(at: 0) - self.toast(message: message!) - } - } - } - -} - -struct ButtonAttributes { - let text:String - let action: (()->Void) - let isDestructive: Bool -} diff --git a/Classes/Swift/Voip/VoipDialog_BASE_1156.swift b/Classes/Swift/Voip/VoipDialog_BASE_1156.swift deleted file mode 100644 index 055ded827..000000000 --- a/Classes/Swift/Voip/VoipDialog_BASE_1156.swift +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit - -class VoipDialog : UIView{ - - // Layout constants - let center_corner_radius = 7.0 - let title_margin_top = 20 - let button_margin = 20.0 - let button_width = 135.0 - let button_height = 40.0 - let button_radius = 3.0 - let button_spacing = 15.0 - - let center_view_sides_margin = 13.0 - - - let title = StyledLabel(VoipTheme.basic_popup_title) - - init(message:String, givenButtons:[ButtonAttributes]? = nil) { - - super.init(frame: .zero) - backgroundColor = VoipTheme.voip_translucent_popup_background - - let centerView = UIView() - centerView.backgroundColor = VoipTheme.dark_grey_color.withAlphaComponent(0.8) - centerView.layer.cornerRadius = center_corner_radius - centerView.clipsToBounds = true - addSubview(centerView) - - title.numberOfLines = 0 - centerView.addSubview(title) - title.alignParentTop(withMargin:title_margin_top).matchParentSideBorders().done() - title.text = message - - let buttonsView = UIStackView() - buttonsView.axis = .horizontal - buttonsView.spacing = button_spacing - - var buttons = givenButtons - - if (buttons == nil) { // assuming info popup, just putting an ok button - let ok = ButtonAttributes(text:VoipTexts.ok, action: {}, isDestructive:false) - buttons = [ok] - } - - buttons?.forEach { - let b = ButtonWithStateBackgrounds(backgroundStateColors: $0.isDestructive ? VoipTheme.primary_colors_background_gray : VoipTheme.primary_colors_background) - b.setTitle($0.text, for: .normal) - b.layer.cornerRadius = button_radius - b.clipsToBounds = true - buttonsView.addArrangedSubview(b) - b.applyTitleStyle(VoipTheme.form_button_bold) - let action = $0.action - b.onClick { - self.removeFromSuperview() - action() - } - b.size(w: button_width,h: button_height).done() - } - centerView.addSubview(buttonsView) - buttonsView.alignUnder(view:title,withMargin:button_margin).alignParentBottom(withMargin:button_margin).centerX().done() - - - - centerView.matchParentSideBorders(insetedByDx: center_view_sides_margin).center().done() - } - - func show() { - VoipDialog.rootVC()?.view.addSubview(self) - matchParentDimmensions().done() - } - - private static func rootVC() -> UIViewController? { - return PhoneMainView.instance().mainViewController - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - static var toastQueue: [String] = [] - - static func toast(message:String, timeout:CGFloat = 1.5) { - if (toastQueue.count > 0) { - toastQueue.append(message) - return - } - let alert = UIAlertController(title: nil, message: message, preferredStyle: .actionSheet) - rootVC()?.present(alert, animated: true) - DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + timeout) { - alert.dismiss(animated: true) - if (toastQueue.count > 0) { - let message = toastQueue.first - toastQueue.remove(at: 0) - self.toast(message: message!) - } - } - } - -} - -struct ButtonAttributes { - let text:String - let action: (()->Void) - let isDestructive: Bool -} diff --git a/Classes/Swift/Voip/VoipDialog_BASE_884.swift b/Classes/Swift/Voip/VoipDialog_BASE_884.swift deleted file mode 100644 index 055ded827..000000000 --- a/Classes/Swift/Voip/VoipDialog_BASE_884.swift +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit - -class VoipDialog : UIView{ - - // Layout constants - let center_corner_radius = 7.0 - let title_margin_top = 20 - let button_margin = 20.0 - let button_width = 135.0 - let button_height = 40.0 - let button_radius = 3.0 - let button_spacing = 15.0 - - let center_view_sides_margin = 13.0 - - - let title = StyledLabel(VoipTheme.basic_popup_title) - - init(message:String, givenButtons:[ButtonAttributes]? = nil) { - - super.init(frame: .zero) - backgroundColor = VoipTheme.voip_translucent_popup_background - - let centerView = UIView() - centerView.backgroundColor = VoipTheme.dark_grey_color.withAlphaComponent(0.8) - centerView.layer.cornerRadius = center_corner_radius - centerView.clipsToBounds = true - addSubview(centerView) - - title.numberOfLines = 0 - centerView.addSubview(title) - title.alignParentTop(withMargin:title_margin_top).matchParentSideBorders().done() - title.text = message - - let buttonsView = UIStackView() - buttonsView.axis = .horizontal - buttonsView.spacing = button_spacing - - var buttons = givenButtons - - if (buttons == nil) { // assuming info popup, just putting an ok button - let ok = ButtonAttributes(text:VoipTexts.ok, action: {}, isDestructive:false) - buttons = [ok] - } - - buttons?.forEach { - let b = ButtonWithStateBackgrounds(backgroundStateColors: $0.isDestructive ? VoipTheme.primary_colors_background_gray : VoipTheme.primary_colors_background) - b.setTitle($0.text, for: .normal) - b.layer.cornerRadius = button_radius - b.clipsToBounds = true - buttonsView.addArrangedSubview(b) - b.applyTitleStyle(VoipTheme.form_button_bold) - let action = $0.action - b.onClick { - self.removeFromSuperview() - action() - } - b.size(w: button_width,h: button_height).done() - } - centerView.addSubview(buttonsView) - buttonsView.alignUnder(view:title,withMargin:button_margin).alignParentBottom(withMargin:button_margin).centerX().done() - - - - centerView.matchParentSideBorders(insetedByDx: center_view_sides_margin).center().done() - } - - func show() { - VoipDialog.rootVC()?.view.addSubview(self) - matchParentDimmensions().done() - } - - private static func rootVC() -> UIViewController? { - return PhoneMainView.instance().mainViewController - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - static var toastQueue: [String] = [] - - static func toast(message:String, timeout:CGFloat = 1.5) { - if (toastQueue.count > 0) { - toastQueue.append(message) - return - } - let alert = UIAlertController(title: nil, message: message, preferredStyle: .actionSheet) - rootVC()?.present(alert, animated: true) - DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + timeout) { - alert.dismiss(animated: true) - if (toastQueue.count > 0) { - let message = toastQueue.first - toastQueue.remove(at: 0) - self.toast(message: message!) - } - } - } - -} - -struct ButtonAttributes { - let text:String - let action: (()->Void) - let isDestructive: Bool -} diff --git a/Classes/Swift/Voip/VoipDialog_BASE_973.swift b/Classes/Swift/Voip/VoipDialog_BASE_973.swift deleted file mode 100644 index 055ded827..000000000 --- a/Classes/Swift/Voip/VoipDialog_BASE_973.swift +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit - -class VoipDialog : UIView{ - - // Layout constants - let center_corner_radius = 7.0 - let title_margin_top = 20 - let button_margin = 20.0 - let button_width = 135.0 - let button_height = 40.0 - let button_radius = 3.0 - let button_spacing = 15.0 - - let center_view_sides_margin = 13.0 - - - let title = StyledLabel(VoipTheme.basic_popup_title) - - init(message:String, givenButtons:[ButtonAttributes]? = nil) { - - super.init(frame: .zero) - backgroundColor = VoipTheme.voip_translucent_popup_background - - let centerView = UIView() - centerView.backgroundColor = VoipTheme.dark_grey_color.withAlphaComponent(0.8) - centerView.layer.cornerRadius = center_corner_radius - centerView.clipsToBounds = true - addSubview(centerView) - - title.numberOfLines = 0 - centerView.addSubview(title) - title.alignParentTop(withMargin:title_margin_top).matchParentSideBorders().done() - title.text = message - - let buttonsView = UIStackView() - buttonsView.axis = .horizontal - buttonsView.spacing = button_spacing - - var buttons = givenButtons - - if (buttons == nil) { // assuming info popup, just putting an ok button - let ok = ButtonAttributes(text:VoipTexts.ok, action: {}, isDestructive:false) - buttons = [ok] - } - - buttons?.forEach { - let b = ButtonWithStateBackgrounds(backgroundStateColors: $0.isDestructive ? VoipTheme.primary_colors_background_gray : VoipTheme.primary_colors_background) - b.setTitle($0.text, for: .normal) - b.layer.cornerRadius = button_radius - b.clipsToBounds = true - buttonsView.addArrangedSubview(b) - b.applyTitleStyle(VoipTheme.form_button_bold) - let action = $0.action - b.onClick { - self.removeFromSuperview() - action() - } - b.size(w: button_width,h: button_height).done() - } - centerView.addSubview(buttonsView) - buttonsView.alignUnder(view:title,withMargin:button_margin).alignParentBottom(withMargin:button_margin).centerX().done() - - - - centerView.matchParentSideBorders(insetedByDx: center_view_sides_margin).center().done() - } - - func show() { - VoipDialog.rootVC()?.view.addSubview(self) - matchParentDimmensions().done() - } - - private static func rootVC() -> UIViewController? { - return PhoneMainView.instance().mainViewController - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - static var toastQueue: [String] = [] - - static func toast(message:String, timeout:CGFloat = 1.5) { - if (toastQueue.count > 0) { - toastQueue.append(message) - return - } - let alert = UIAlertController(title: nil, message: message, preferredStyle: .actionSheet) - rootVC()?.present(alert, animated: true) - DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + timeout) { - alert.dismiss(animated: true) - if (toastQueue.count > 0) { - let message = toastQueue.first - toastQueue.remove(at: 0) - self.toast(message: message!) - } - } - } - -} - -struct ButtonAttributes { - let text:String - let action: (()->Void) - let isDestructive: Bool -} diff --git a/Classes/Swift/Voip/VoipDialog_LOCAL_1064.swift b/Classes/Swift/Voip/VoipDialog_LOCAL_1064.swift deleted file mode 100644 index 84231fc65..000000000 --- a/Classes/Swift/Voip/VoipDialog_LOCAL_1064.swift +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit - -class VoipDialog : UIView{ - - // Layout constants - let center_corner_radius = 7.0 - let title_margin_top = 20 - let title_margin_sides = 10.0 - let button_margin = 20.0 - let button_width = 135.0 - let button_height = 40.0 - let button_radius = 3.0 - let button_spacing = 15.0 - let center_view_sides_margin = 13.0 - - - let title = StyledLabel(VoipTheme.basic_popup_title) - - init(message:String, givenButtons:[ButtonAttributes]? = nil) { - - super.init(frame: .zero) - backgroundColor = VoipTheme.voip_translucent_popup_background - - let centerView = UIView() - centerView.backgroundColor = VoipTheme.dark_grey_color.withAlphaComponent(0.8) - centerView.layer.cornerRadius = center_corner_radius - centerView.clipsToBounds = true - addSubview(centerView) - - title.numberOfLines = 0 - centerView.addSubview(title) - title.alignParentTop(withMargin:title_margin_top).matchParentSideBorders(insetedByDx: title_margin_sides).done() - title.text = message - - let buttonsView = UIStackView() - buttonsView.axis = .horizontal - buttonsView.spacing = button_spacing - - var buttons = givenButtons - - if (buttons == nil) { // assuming info popup, just putting an ok button - let ok = ButtonAttributes(text:VoipTexts.ok, action: {}, isDestructive:false) - buttons = [ok] - } - - buttons?.forEach { - let b = ButtonWithStateBackgrounds(backgroundStateColors: $0.isDestructive ? VoipTheme.primary_colors_background_gray : VoipTheme.primary_colors_background) - b.setTitle($0.text, for: .normal) - b.layer.cornerRadius = button_radius - b.clipsToBounds = true - buttonsView.addArrangedSubview(b) - b.applyTitleStyle(VoipTheme.form_button_bold) - let action = $0.action - b.onClick { - self.removeFromSuperview() - action() - } - b.size(w: button_width,h: button_height).done() - } - centerView.addSubview(buttonsView) - buttonsView.alignUnder(view:title,withMargin:button_margin).alignParentBottom(withMargin:button_margin).centerX().done() - - - - centerView.matchParentSideBorders(insetedByDx: center_view_sides_margin).center().done() - } - - func show() { - VoipDialog.rootVC()?.view.addSubview(self) - matchParentDimmensions().done() - } - - private static func rootVC() -> UIViewController? { - return PhoneMainView.instance().mainViewController - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - static var toastQueue: [String] = [] - - static func toast(message:String, timeout:CGFloat = 1.5) { - if (toastQueue.count > 0) { - toastQueue.append(message) - return - } - let alert = UIAlertController(title: nil, message: message, preferredStyle: .actionSheet) - rootVC()?.present(alert, animated: true) - DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + timeout) { - alert.dismiss(animated: true) - if (toastQueue.count > 0) { - let message = toastQueue.first - toastQueue.remove(at: 0) - self.toast(message: message!) - } - } - } - -} - -struct ButtonAttributes { - let text:String - let action: (()->Void) - let isDestructive: Bool -} diff --git a/Classes/Swift/Voip/VoipDialog_LOCAL_1156.swift b/Classes/Swift/Voip/VoipDialog_LOCAL_1156.swift deleted file mode 100644 index 84231fc65..000000000 --- a/Classes/Swift/Voip/VoipDialog_LOCAL_1156.swift +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit - -class VoipDialog : UIView{ - - // Layout constants - let center_corner_radius = 7.0 - let title_margin_top = 20 - let title_margin_sides = 10.0 - let button_margin = 20.0 - let button_width = 135.0 - let button_height = 40.0 - let button_radius = 3.0 - let button_spacing = 15.0 - let center_view_sides_margin = 13.0 - - - let title = StyledLabel(VoipTheme.basic_popup_title) - - init(message:String, givenButtons:[ButtonAttributes]? = nil) { - - super.init(frame: .zero) - backgroundColor = VoipTheme.voip_translucent_popup_background - - let centerView = UIView() - centerView.backgroundColor = VoipTheme.dark_grey_color.withAlphaComponent(0.8) - centerView.layer.cornerRadius = center_corner_radius - centerView.clipsToBounds = true - addSubview(centerView) - - title.numberOfLines = 0 - centerView.addSubview(title) - title.alignParentTop(withMargin:title_margin_top).matchParentSideBorders(insetedByDx: title_margin_sides).done() - title.text = message - - let buttonsView = UIStackView() - buttonsView.axis = .horizontal - buttonsView.spacing = button_spacing - - var buttons = givenButtons - - if (buttons == nil) { // assuming info popup, just putting an ok button - let ok = ButtonAttributes(text:VoipTexts.ok, action: {}, isDestructive:false) - buttons = [ok] - } - - buttons?.forEach { - let b = ButtonWithStateBackgrounds(backgroundStateColors: $0.isDestructive ? VoipTheme.primary_colors_background_gray : VoipTheme.primary_colors_background) - b.setTitle($0.text, for: .normal) - b.layer.cornerRadius = button_radius - b.clipsToBounds = true - buttonsView.addArrangedSubview(b) - b.applyTitleStyle(VoipTheme.form_button_bold) - let action = $0.action - b.onClick { - self.removeFromSuperview() - action() - } - b.size(w: button_width,h: button_height).done() - } - centerView.addSubview(buttonsView) - buttonsView.alignUnder(view:title,withMargin:button_margin).alignParentBottom(withMargin:button_margin).centerX().done() - - - - centerView.matchParentSideBorders(insetedByDx: center_view_sides_margin).center().done() - } - - func show() { - VoipDialog.rootVC()?.view.addSubview(self) - matchParentDimmensions().done() - } - - private static func rootVC() -> UIViewController? { - return PhoneMainView.instance().mainViewController - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - static var toastQueue: [String] = [] - - static func toast(message:String, timeout:CGFloat = 1.5) { - if (toastQueue.count > 0) { - toastQueue.append(message) - return - } - let alert = UIAlertController(title: nil, message: message, preferredStyle: .actionSheet) - rootVC()?.present(alert, animated: true) - DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + timeout) { - alert.dismiss(animated: true) - if (toastQueue.count > 0) { - let message = toastQueue.first - toastQueue.remove(at: 0) - self.toast(message: message!) - } - } - } - -} - -struct ButtonAttributes { - let text:String - let action: (()->Void) - let isDestructive: Bool -} diff --git a/Classes/Swift/Voip/VoipDialog_LOCAL_884.swift b/Classes/Swift/Voip/VoipDialog_LOCAL_884.swift deleted file mode 100644 index 84231fc65..000000000 --- a/Classes/Swift/Voip/VoipDialog_LOCAL_884.swift +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit - -class VoipDialog : UIView{ - - // Layout constants - let center_corner_radius = 7.0 - let title_margin_top = 20 - let title_margin_sides = 10.0 - let button_margin = 20.0 - let button_width = 135.0 - let button_height = 40.0 - let button_radius = 3.0 - let button_spacing = 15.0 - let center_view_sides_margin = 13.0 - - - let title = StyledLabel(VoipTheme.basic_popup_title) - - init(message:String, givenButtons:[ButtonAttributes]? = nil) { - - super.init(frame: .zero) - backgroundColor = VoipTheme.voip_translucent_popup_background - - let centerView = UIView() - centerView.backgroundColor = VoipTheme.dark_grey_color.withAlphaComponent(0.8) - centerView.layer.cornerRadius = center_corner_radius - centerView.clipsToBounds = true - addSubview(centerView) - - title.numberOfLines = 0 - centerView.addSubview(title) - title.alignParentTop(withMargin:title_margin_top).matchParentSideBorders(insetedByDx: title_margin_sides).done() - title.text = message - - let buttonsView = UIStackView() - buttonsView.axis = .horizontal - buttonsView.spacing = button_spacing - - var buttons = givenButtons - - if (buttons == nil) { // assuming info popup, just putting an ok button - let ok = ButtonAttributes(text:VoipTexts.ok, action: {}, isDestructive:false) - buttons = [ok] - } - - buttons?.forEach { - let b = ButtonWithStateBackgrounds(backgroundStateColors: $0.isDestructive ? VoipTheme.primary_colors_background_gray : VoipTheme.primary_colors_background) - b.setTitle($0.text, for: .normal) - b.layer.cornerRadius = button_radius - b.clipsToBounds = true - buttonsView.addArrangedSubview(b) - b.applyTitleStyle(VoipTheme.form_button_bold) - let action = $0.action - b.onClick { - self.removeFromSuperview() - action() - } - b.size(w: button_width,h: button_height).done() - } - centerView.addSubview(buttonsView) - buttonsView.alignUnder(view:title,withMargin:button_margin).alignParentBottom(withMargin:button_margin).centerX().done() - - - - centerView.matchParentSideBorders(insetedByDx: center_view_sides_margin).center().done() - } - - func show() { - VoipDialog.rootVC()?.view.addSubview(self) - matchParentDimmensions().done() - } - - private static func rootVC() -> UIViewController? { - return PhoneMainView.instance().mainViewController - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - static var toastQueue: [String] = [] - - static func toast(message:String, timeout:CGFloat = 1.5) { - if (toastQueue.count > 0) { - toastQueue.append(message) - return - } - let alert = UIAlertController(title: nil, message: message, preferredStyle: .actionSheet) - rootVC()?.present(alert, animated: true) - DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + timeout) { - alert.dismiss(animated: true) - if (toastQueue.count > 0) { - let message = toastQueue.first - toastQueue.remove(at: 0) - self.toast(message: message!) - } - } - } - -} - -struct ButtonAttributes { - let text:String - let action: (()->Void) - let isDestructive: Bool -} diff --git a/Classes/Swift/Voip/VoipDialog_LOCAL_973.swift b/Classes/Swift/Voip/VoipDialog_LOCAL_973.swift deleted file mode 100644 index 84231fc65..000000000 --- a/Classes/Swift/Voip/VoipDialog_LOCAL_973.swift +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit - -class VoipDialog : UIView{ - - // Layout constants - let center_corner_radius = 7.0 - let title_margin_top = 20 - let title_margin_sides = 10.0 - let button_margin = 20.0 - let button_width = 135.0 - let button_height = 40.0 - let button_radius = 3.0 - let button_spacing = 15.0 - let center_view_sides_margin = 13.0 - - - let title = StyledLabel(VoipTheme.basic_popup_title) - - init(message:String, givenButtons:[ButtonAttributes]? = nil) { - - super.init(frame: .zero) - backgroundColor = VoipTheme.voip_translucent_popup_background - - let centerView = UIView() - centerView.backgroundColor = VoipTheme.dark_grey_color.withAlphaComponent(0.8) - centerView.layer.cornerRadius = center_corner_radius - centerView.clipsToBounds = true - addSubview(centerView) - - title.numberOfLines = 0 - centerView.addSubview(title) - title.alignParentTop(withMargin:title_margin_top).matchParentSideBorders(insetedByDx: title_margin_sides).done() - title.text = message - - let buttonsView = UIStackView() - buttonsView.axis = .horizontal - buttonsView.spacing = button_spacing - - var buttons = givenButtons - - if (buttons == nil) { // assuming info popup, just putting an ok button - let ok = ButtonAttributes(text:VoipTexts.ok, action: {}, isDestructive:false) - buttons = [ok] - } - - buttons?.forEach { - let b = ButtonWithStateBackgrounds(backgroundStateColors: $0.isDestructive ? VoipTheme.primary_colors_background_gray : VoipTheme.primary_colors_background) - b.setTitle($0.text, for: .normal) - b.layer.cornerRadius = button_radius - b.clipsToBounds = true - buttonsView.addArrangedSubview(b) - b.applyTitleStyle(VoipTheme.form_button_bold) - let action = $0.action - b.onClick { - self.removeFromSuperview() - action() - } - b.size(w: button_width,h: button_height).done() - } - centerView.addSubview(buttonsView) - buttonsView.alignUnder(view:title,withMargin:button_margin).alignParentBottom(withMargin:button_margin).centerX().done() - - - - centerView.matchParentSideBorders(insetedByDx: center_view_sides_margin).center().done() - } - - func show() { - VoipDialog.rootVC()?.view.addSubview(self) - matchParentDimmensions().done() - } - - private static func rootVC() -> UIViewController? { - return PhoneMainView.instance().mainViewController - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - static var toastQueue: [String] = [] - - static func toast(message:String, timeout:CGFloat = 1.5) { - if (toastQueue.count > 0) { - toastQueue.append(message) - return - } - let alert = UIAlertController(title: nil, message: message, preferredStyle: .actionSheet) - rootVC()?.present(alert, animated: true) - DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + timeout) { - alert.dismiss(animated: true) - if (toastQueue.count > 0) { - let message = toastQueue.first - toastQueue.remove(at: 0) - self.toast(message: message!) - } - } - } - -} - -struct ButtonAttributes { - let text:String - let action: (()->Void) - let isDestructive: Bool -} diff --git a/Classes/Swift/Voip/VoipDialog_REMOTE_1064.swift b/Classes/Swift/Voip/VoipDialog_REMOTE_1064.swift deleted file mode 100644 index 1ab6afcc4..000000000 --- a/Classes/Swift/Voip/VoipDialog_REMOTE_1064.swift +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit - -class VoipDialog : UIView{ - - // Layout constants - let center_corner_radius = 7.0 - let title_margin_top = 20 - let title_side_margin = 10 - let button_margin = 20.0 - let button_width = 135.0 - let button_height = 40.0 - let button_radius = 3.0 - let button_spacing = 15.0 - - let center_view_sides_margin = 13.0 - - - let title = StyledLabel(VoipTheme.basic_popup_title) - - init(message:String, givenButtons:[ButtonAttributes]? = nil) { - - super.init(frame: .zero) - backgroundColor = VoipTheme.voip_translucent_popup_background - - let centerView = UIView() - centerView.backgroundColor = VoipTheme.dark_grey_color.withAlphaComponent(0.8) - centerView.layer.cornerRadius = center_corner_radius - centerView.clipsToBounds = true - addSubview(centerView) - - title.numberOfLines = 0 - centerView.addSubview(title) - title.alignParentTop(withMargin:title_margin_top).matchParentSideBorders(insetedByDx: CGFloat(title_side_margin)).done() - title.text = message - - let buttonsView = UIStackView() - buttonsView.axis = .horizontal - buttonsView.spacing = button_spacing - - var buttons = givenButtons - - if (buttons == nil) { // assuming info popup, just putting an ok button - let ok = ButtonAttributes(text:VoipTexts.ok, action: {}, isDestructive:false) - buttons = [ok] - } - - buttons?.forEach { - let b = ButtonWithStateBackgrounds(backgroundStateColors: $0.isDestructive ? VoipTheme.primary_colors_background_gray : VoipTheme.primary_colors_background) - b.setTitle($0.text, for: .normal) - b.layer.cornerRadius = button_radius - b.clipsToBounds = true - buttonsView.addArrangedSubview(b) - b.applyTitleStyle(VoipTheme.form_button_bold) - let action = $0.action - b.onClick { - self.removeFromSuperview() - action() - } - b.size(w: button_width,h: button_height).done() - } - centerView.addSubview(buttonsView) - buttonsView.alignUnder(view:title,withMargin:button_margin).alignParentBottom(withMargin:button_margin).centerX().done() - - - - centerView.matchParentSideBorders(insetedByDx: center_view_sides_margin).center().done() - } - - func show() { - VoipDialog.rootVC()?.view.addSubview(self) - matchParentDimmensions().done() - } - - private static func rootVC() -> UIViewController? { - return PhoneMainView.instance().mainViewController - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - static var toastQueue: [String] = [] - - static func toast(message:String, timeout:CGFloat = 1.5) { - if (toastQueue.count > 0) { - toastQueue.append(message) - return - } - let alert = UIAlertController(title: nil, message: message, preferredStyle: .actionSheet) - rootVC()?.present(alert, animated: true) - DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + timeout) { - alert.dismiss(animated: true) - if (toastQueue.count > 0) { - let message = toastQueue.first - toastQueue.remove(at: 0) - self.toast(message: message!) - } - } - } - -} - -struct ButtonAttributes { - let text:String - let action: (()->Void) - let isDestructive: Bool -} diff --git a/Classes/Swift/Voip/VoipDialog_REMOTE_1156.swift b/Classes/Swift/Voip/VoipDialog_REMOTE_1156.swift deleted file mode 100644 index 1ab6afcc4..000000000 --- a/Classes/Swift/Voip/VoipDialog_REMOTE_1156.swift +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit - -class VoipDialog : UIView{ - - // Layout constants - let center_corner_radius = 7.0 - let title_margin_top = 20 - let title_side_margin = 10 - let button_margin = 20.0 - let button_width = 135.0 - let button_height = 40.0 - let button_radius = 3.0 - let button_spacing = 15.0 - - let center_view_sides_margin = 13.0 - - - let title = StyledLabel(VoipTheme.basic_popup_title) - - init(message:String, givenButtons:[ButtonAttributes]? = nil) { - - super.init(frame: .zero) - backgroundColor = VoipTheme.voip_translucent_popup_background - - let centerView = UIView() - centerView.backgroundColor = VoipTheme.dark_grey_color.withAlphaComponent(0.8) - centerView.layer.cornerRadius = center_corner_radius - centerView.clipsToBounds = true - addSubview(centerView) - - title.numberOfLines = 0 - centerView.addSubview(title) - title.alignParentTop(withMargin:title_margin_top).matchParentSideBorders(insetedByDx: CGFloat(title_side_margin)).done() - title.text = message - - let buttonsView = UIStackView() - buttonsView.axis = .horizontal - buttonsView.spacing = button_spacing - - var buttons = givenButtons - - if (buttons == nil) { // assuming info popup, just putting an ok button - let ok = ButtonAttributes(text:VoipTexts.ok, action: {}, isDestructive:false) - buttons = [ok] - } - - buttons?.forEach { - let b = ButtonWithStateBackgrounds(backgroundStateColors: $0.isDestructive ? VoipTheme.primary_colors_background_gray : VoipTheme.primary_colors_background) - b.setTitle($0.text, for: .normal) - b.layer.cornerRadius = button_radius - b.clipsToBounds = true - buttonsView.addArrangedSubview(b) - b.applyTitleStyle(VoipTheme.form_button_bold) - let action = $0.action - b.onClick { - self.removeFromSuperview() - action() - } - b.size(w: button_width,h: button_height).done() - } - centerView.addSubview(buttonsView) - buttonsView.alignUnder(view:title,withMargin:button_margin).alignParentBottom(withMargin:button_margin).centerX().done() - - - - centerView.matchParentSideBorders(insetedByDx: center_view_sides_margin).center().done() - } - - func show() { - VoipDialog.rootVC()?.view.addSubview(self) - matchParentDimmensions().done() - } - - private static func rootVC() -> UIViewController? { - return PhoneMainView.instance().mainViewController - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - static var toastQueue: [String] = [] - - static func toast(message:String, timeout:CGFloat = 1.5) { - if (toastQueue.count > 0) { - toastQueue.append(message) - return - } - let alert = UIAlertController(title: nil, message: message, preferredStyle: .actionSheet) - rootVC()?.present(alert, animated: true) - DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + timeout) { - alert.dismiss(animated: true) - if (toastQueue.count > 0) { - let message = toastQueue.first - toastQueue.remove(at: 0) - self.toast(message: message!) - } - } - } - -} - -struct ButtonAttributes { - let text:String - let action: (()->Void) - let isDestructive: Bool -} diff --git a/Classes/Swift/Voip/VoipDialog_REMOTE_884.swift b/Classes/Swift/Voip/VoipDialog_REMOTE_884.swift deleted file mode 100644 index 1ab6afcc4..000000000 --- a/Classes/Swift/Voip/VoipDialog_REMOTE_884.swift +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit - -class VoipDialog : UIView{ - - // Layout constants - let center_corner_radius = 7.0 - let title_margin_top = 20 - let title_side_margin = 10 - let button_margin = 20.0 - let button_width = 135.0 - let button_height = 40.0 - let button_radius = 3.0 - let button_spacing = 15.0 - - let center_view_sides_margin = 13.0 - - - let title = StyledLabel(VoipTheme.basic_popup_title) - - init(message:String, givenButtons:[ButtonAttributes]? = nil) { - - super.init(frame: .zero) - backgroundColor = VoipTheme.voip_translucent_popup_background - - let centerView = UIView() - centerView.backgroundColor = VoipTheme.dark_grey_color.withAlphaComponent(0.8) - centerView.layer.cornerRadius = center_corner_radius - centerView.clipsToBounds = true - addSubview(centerView) - - title.numberOfLines = 0 - centerView.addSubview(title) - title.alignParentTop(withMargin:title_margin_top).matchParentSideBorders(insetedByDx: CGFloat(title_side_margin)).done() - title.text = message - - let buttonsView = UIStackView() - buttonsView.axis = .horizontal - buttonsView.spacing = button_spacing - - var buttons = givenButtons - - if (buttons == nil) { // assuming info popup, just putting an ok button - let ok = ButtonAttributes(text:VoipTexts.ok, action: {}, isDestructive:false) - buttons = [ok] - } - - buttons?.forEach { - let b = ButtonWithStateBackgrounds(backgroundStateColors: $0.isDestructive ? VoipTheme.primary_colors_background_gray : VoipTheme.primary_colors_background) - b.setTitle($0.text, for: .normal) - b.layer.cornerRadius = button_radius - b.clipsToBounds = true - buttonsView.addArrangedSubview(b) - b.applyTitleStyle(VoipTheme.form_button_bold) - let action = $0.action - b.onClick { - self.removeFromSuperview() - action() - } - b.size(w: button_width,h: button_height).done() - } - centerView.addSubview(buttonsView) - buttonsView.alignUnder(view:title,withMargin:button_margin).alignParentBottom(withMargin:button_margin).centerX().done() - - - - centerView.matchParentSideBorders(insetedByDx: center_view_sides_margin).center().done() - } - - func show() { - VoipDialog.rootVC()?.view.addSubview(self) - matchParentDimmensions().done() - } - - private static func rootVC() -> UIViewController? { - return PhoneMainView.instance().mainViewController - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - static var toastQueue: [String] = [] - - static func toast(message:String, timeout:CGFloat = 1.5) { - if (toastQueue.count > 0) { - toastQueue.append(message) - return - } - let alert = UIAlertController(title: nil, message: message, preferredStyle: .actionSheet) - rootVC()?.present(alert, animated: true) - DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + timeout) { - alert.dismiss(animated: true) - if (toastQueue.count > 0) { - let message = toastQueue.first - toastQueue.remove(at: 0) - self.toast(message: message!) - } - } - } - -} - -struct ButtonAttributes { - let text:String - let action: (()->Void) - let isDestructive: Bool -} diff --git a/Classes/Swift/Voip/VoipDialog_REMOTE_973.swift b/Classes/Swift/Voip/VoipDialog_REMOTE_973.swift deleted file mode 100644 index 1ab6afcc4..000000000 --- a/Classes/Swift/Voip/VoipDialog_REMOTE_973.swift +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit - -class VoipDialog : UIView{ - - // Layout constants - let center_corner_radius = 7.0 - let title_margin_top = 20 - let title_side_margin = 10 - let button_margin = 20.0 - let button_width = 135.0 - let button_height = 40.0 - let button_radius = 3.0 - let button_spacing = 15.0 - - let center_view_sides_margin = 13.0 - - - let title = StyledLabel(VoipTheme.basic_popup_title) - - init(message:String, givenButtons:[ButtonAttributes]? = nil) { - - super.init(frame: .zero) - backgroundColor = VoipTheme.voip_translucent_popup_background - - let centerView = UIView() - centerView.backgroundColor = VoipTheme.dark_grey_color.withAlphaComponent(0.8) - centerView.layer.cornerRadius = center_corner_radius - centerView.clipsToBounds = true - addSubview(centerView) - - title.numberOfLines = 0 - centerView.addSubview(title) - title.alignParentTop(withMargin:title_margin_top).matchParentSideBorders(insetedByDx: CGFloat(title_side_margin)).done() - title.text = message - - let buttonsView = UIStackView() - buttonsView.axis = .horizontal - buttonsView.spacing = button_spacing - - var buttons = givenButtons - - if (buttons == nil) { // assuming info popup, just putting an ok button - let ok = ButtonAttributes(text:VoipTexts.ok, action: {}, isDestructive:false) - buttons = [ok] - } - - buttons?.forEach { - let b = ButtonWithStateBackgrounds(backgroundStateColors: $0.isDestructive ? VoipTheme.primary_colors_background_gray : VoipTheme.primary_colors_background) - b.setTitle($0.text, for: .normal) - b.layer.cornerRadius = button_radius - b.clipsToBounds = true - buttonsView.addArrangedSubview(b) - b.applyTitleStyle(VoipTheme.form_button_bold) - let action = $0.action - b.onClick { - self.removeFromSuperview() - action() - } - b.size(w: button_width,h: button_height).done() - } - centerView.addSubview(buttonsView) - buttonsView.alignUnder(view:title,withMargin:button_margin).alignParentBottom(withMargin:button_margin).centerX().done() - - - - centerView.matchParentSideBorders(insetedByDx: center_view_sides_margin).center().done() - } - - func show() { - VoipDialog.rootVC()?.view.addSubview(self) - matchParentDimmensions().done() - } - - private static func rootVC() -> UIViewController? { - return PhoneMainView.instance().mainViewController - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - static var toastQueue: [String] = [] - - static func toast(message:String, timeout:CGFloat = 1.5) { - if (toastQueue.count > 0) { - toastQueue.append(message) - return - } - let alert = UIAlertController(title: nil, message: message, preferredStyle: .actionSheet) - rootVC()?.present(alert, animated: true) - DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + timeout) { - alert.dismiss(animated: true) - if (toastQueue.count > 0) { - let message = toastQueue.first - toastQueue.remove(at: 0) - self.toast(message: message!) - } - } - } - -} - -struct ButtonAttributes { - let text:String - let action: (()->Void) - let isDestructive: Bool -} diff --git a/Classes/Swift/Voip/Widgets/Avatar.swift b/Classes/Swift/Voip/Widgets/Avatar.swift deleted file mode 100644 index 65ab908eb..000000000 --- a/Classes/Swift/Voip/Widgets/Avatar.swift +++ /dev/null @@ -1,278 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import linphonesw -import SnapKit - -class Avatar : UIView { - - static let diameter_for_call_views = 191 - static let diameter_for_call_views_land = 130 - static let groupAvatar = UIImage(named:"voip_multiple_contacts_avatar") - static let singleAvatar = UIImage(named:"avatar") - - var friend: [Friend] = [] - var friendDelegate: [FriendDelegate] = [] - - required init?(coder: NSCoder) { - initialsLabel = StyledLabel(VoipTheme.call_generated_avatar_large) - super.init(coder: coder) - } - - let initialsLabel: StyledLabel - let iconImageView = UIImageView() - - init (color:LightDarkColor,textStyle:TextStyle) { - initialsLabel = StyledLabel(textStyle) - super.init(frame: .zero) - clipsToBounds = false - self.backgroundColor = color.get() - addSubview(initialsLabel) - addSubview(iconImageView) - iconImageView.backgroundColor = .white - initialsLabel.matchParentSideBorders().matchParentHeight().done() - iconImageView.matchParentDimmensions().done() - UIDeviceBridge.displayModeSwitched.observe { _ in - self.initialsLabel.applyStyle(textStyle) - self.backgroundColor = color.get() - } - } - - - func fillFromAddress(address:Address, isGroup:Bool = false, withPresence:Bool = false) { - if (isGroup) { - iconImageView.image = Avatar.groupAvatar - iconImageView.isHidden = false - initialsLabel.isHidden = true - } else if let image = address.contact()?.avatar() { - iconImageView.image = image - initialsLabel.isHidden = true - iconImageView.isHidden = false - } else { - if (Core.get().defaultAccount != nil && address.username != nil && Core.get().defaultAccount!.isPhoneNumber(username: address.username!) == true) { - iconImageView.image = Avatar.singleAvatar - initialsLabel.isHidden = true - iconImageView.isHidden = false - } else { - initialsLabel.text = address.initials() - initialsLabel.isHidden = false - iconImageView.isHidden = true - } - } - - if withPresence { - imageWithPresence(address: address) - } - } - - func imageWithPresence(address:Address){ - var iconPresenceView = UIImageView() - if (address.contact() != nil) { - - addDelegate(contactAddress: address.contact()!) - - iconPresenceView = updatePresenceImage(contact: address.contact()!) - - addSubview(iconPresenceView) - - iconPresenceView.alignParentBottom().alignParentRight().size(w: 8, h: 8).done() - - bringSubviewToFront(iconPresenceView) - } - } - - func updatePresenceImage(contact:Contact) -> UIImageView { - - let friend = Friend.getSwiftObject(cObject: contact.friend) - - var presenceModel : PresenceModel? - var hasPresence : Bool? = false - - var imageName = ""; - - if friend.address?.asStringUriOnly() != nil { - presenceModel = friend.getPresenceModelForUriOrTel(uriOrTel: (friend.address?.asStringUriOnly())!) - hasPresence = presenceModel != nil && presenceModel!.basicStatus == PresenceBasicStatus.Open - } - - if (hasPresence! && presenceModel?.consolidatedPresence == ConsolidatedPresence.Online) { - imageName = "led_connected"; - } else if (hasPresence! && presenceModel?.consolidatedPresence == ConsolidatedPresence.Busy){ - imageName = "led_inprogress"; - } else { - imageName = ""; - } - - return UIImageView(image: UIImage(named:imageName)) - } - - func showAsAvatarIcon() { - iconImageView.image = Avatar.singleAvatar - initialsLabel.isHidden = true - iconImageView.isHidden = false - } - - override func layoutSubviews() { - super.layoutSubviews() - layer.cornerRadius = self.frame.width / 2.0 - - initialsLabel.layer.cornerRadius = self.frame.width / 2.0 - iconImageView.layer.cornerRadius = self.frame.width / 2.0 - iconImageView.clipsToBounds = true - } - - func addDelegate(contactAddress: Contact){ - var delegatePresence = false - - friend.forEach { friendForEach in - if friendForEach.address?.asStringUriOnly() == Friend.getSwiftObject(cObject: (contactAddress.friend)!).address?.asStringUriOnly() { - delegatePresence = true - } - } - if delegatePresence == false { - if contactAddress.friend != nil { - friend.append(Friend.getSwiftObject(cObject: (contactAddress.friend)!)) - let newFriendDelegate = FriendDelegateStub( - onPresenceReceived: { (linphoneFriend: Friend) -> Void in - if (linphoneFriend.address?.asStringUriOnly()) != nil { - let presenceModel = linphoneFriend.getPresenceModelForUriOrTel(uriOrTel: (linphoneFriend.address?.asStringUriOnly())!) - if(presenceModel != nil && presenceModel?.consolidatedPresence != nil){ - NotificationCenter.default.post(name: Notification.Name("LinphoneFriendPresenceUpdate"), object: nil, userInfo: ["friend": linphoneFriend.address?.asStringUriOnly() ?? "", "isOnline": presenceModel!.consolidatedPresence.rawValue == LinphoneConsolidatedPresenceOnline.rawValue]) - } - } - } - ) - friendDelegate.append(newFriendDelegate) - friend.last?.addDelegate(delegate: friendDelegate.last!) - } - } - } - - func removeAllDelegate(){ - var i = 0 - self.friend.forEach { friendForEach in - self.friend[i].removeDelegate(delegate: self.friendDelegate[i]) - i += 1; - } - - self.friendDelegate = [] - self.friend = [] - } -} - - -@objc class AvatarBridge : NSObject { // Ugly work around to tap into the swift Avatars, until rest of the app is reworked in Swift. - static var shared : Avatar? = nil - static let size = 50.0 - - @objc static func prepareIt() { - if (shared != nil) { - shared?.removeFromSuperview() - } - shared = Avatar(color:VoipTheme.primaryTextColor, textStyle: VoipTheme.call_generated_avatar_small) - PhoneMainView.instance().mainViewController.view.addSubview(shared!) - PhoneMainView.instance().mainViewController.view.sendSubviewToBack(shared!) - shared?.bounds.size = CGSize(width: size, height: size) - } - - @objc static func imageForAddress(address:OpaquePointer) -> UIImage? { - if (shared == nil) { - prepareIt() - } - let sAddr = Address.getSwiftObject(cObject: address) - shared?.fillFromAddress(address: sAddr) - - let avatarWithPresence = UIView(frame: CGRect(x: 0, y: 0, width: size, height: size)) - let avatarImageWihtoutPresence = UIImageView(image: shared?.toImage()) - let contactAddress = Address.getSwiftObject(cObject: address).contact() - var iconPresenceView = UIImageView() - if (contactAddress != nil) { - shared?.addDelegate(contactAddress: contactAddress!) - iconPresenceView = updatePresenceImage(contact: contactAddress!) - avatarWithPresence.addSubview(avatarImageWihtoutPresence) - avatarWithPresence.addSubview(iconPresenceView) - iconPresenceView.frame = CGRect(x: 36, y: 36, width: 14, height: 14) - }else{ - avatarWithPresence.addSubview(avatarImageWihtoutPresence) - } - return avatarWithPresence.toImage() - } - - @objc static func imageForInitials(contact:Contact, displayName:String) -> UIImage? { - if (shared == nil) { - prepareIt() - } - if (displayName.replacingOccurrences(of: " ", with: "").count == 0) { - return Avatar.singleAvatar - } - shared?.initialsLabel.text = Address.initials(displayName: displayName) - shared?.initialsLabel.isHidden = false - shared?.iconImageView.isHidden = true - - let avatarWithPresence = UIView(frame: CGRect(x: 0, y: 0, width: size, height: size)) - let avatarImageWihtoutPresence = UIImageView(image: shared?.toImage()) - - avatarWithPresence.addSubview(avatarImageWihtoutPresence) - - return avatarWithPresence.toImage() - } - - @objc static func updatePresenceImage(contact:Contact) -> UIImageView { - if contact.friend != nil { - let friend = Friend.getSwiftObject(cObject: contact.friend) - - var presenceModel : PresenceModel? - var hasPresence : Bool? = false - - var imageName = ""; - - if friend.address?.asStringUriOnly() != nil { - presenceModel = friend.getPresenceModelForUriOrTel(uriOrTel: (friend.address?.asStringUriOnly())!) - hasPresence = presenceModel != nil && presenceModel!.basicStatus == PresenceBasicStatus.Open - } - - if (hasPresence! && presenceModel?.consolidatedPresence == ConsolidatedPresence.Online) { - imageName = "led_connected"; - } else if (hasPresence! && presenceModel?.consolidatedPresence == ConsolidatedPresence.Busy){ - imageName = "led_inprogress"; - } else { - imageName = ""; - } - - return UIImageView(image: UIImage(named:imageName)) - } else { - return UIImageView(image: UIImage(named:"")) - } - - } - - @objc static func clearFriends(){ - if shared != nil { - shared!.friend = [] - shared!.friendDelegate = [] - } - } - - @objc static func removeAllObserver(){ - if shared != nil { - shared!.removeAllDelegate() - } - } -} diff --git a/Classes/Swift/Voip/Widgets/BouncingCounter.swift b/Classes/Swift/Voip/Widgets/BouncingCounter.swift deleted file mode 100644 index a07f5124b..000000000 --- a/Classes/Swift/Voip/Widgets/BouncingCounter.swift +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import Foundation -import UIKit -import SwiftUI - -class BouncingCounter : UIBouncingView { - - // Layout constants - let size = 20.0 - let center_offset = 20 - - let owningButton : UIButton - let label : StyledLabel - - var dataSource : MutableLiveData? { - didSet { - if let dataSource = dataSource { - self.size(w:self.size,h:self.size).matchCenterXOf(view: self.owningButton, withDx: self.center_offset).matchCenterYOf(view: self.owningButton, withDy: -self.center_offset).done() - dataSource.readCurrentAndObserve { (value) in - if (value! > 0) { - self.label.text = value! < 100 ? String(value!) : "99+" - self.isHidden = true // to force legacy startAnimating to unhide and animate - self.startAnimating(true) - } else { - self.isHidden = false // to force legacy startAnimating to hide and animate - self.stopAnimating(true) - } - } - } else { - self.isHidden = false - self.stopAnimating(true) - } - } - } - - - init (inButton:UIButton) { - owningButton = inButton - label = StyledLabel(VoipTheme.unread_count_font) - super.init(frame:.zero) - addSubview(label) - label.matchParentDimmensions().done() - backgroundColor = VoipTheme.primary_color - layer.masksToBounds = true - layer.cornerRadius = size/2 - self.isHidden = true - } - - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - - - -} diff --git a/Classes/Swift/Voip/Widgets/ButtonWithStateBackgrounds.swift b/Classes/Swift/Voip/Widgets/ButtonWithStateBackgrounds.swift deleted file mode 100644 index 5e0221c15..000000000 --- a/Classes/Swift/Voip/Widgets/ButtonWithStateBackgrounds.swift +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import Foundation -import UIKit -import SwiftUI - -class ButtonWithStateBackgrounds : UIButton { - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - init (backgroundStateColors: [UInt: LightDarkColor], iconName:String? = nil) { - super.init(frame: .zero) - backgroundStateColors.keys.forEach { (stateRawValue) in - setBackgroundColor(color: backgroundStateColors[stateRawValue]!.get(), forState: UIButton.State(rawValue: stateRawValue)) - } - iconName.map { setImage(UIImage(named: $0), for: .normal) } - } - - func setBackgroundColor(color: UIColor, forState: UIControl.State) { - UIGraphicsBeginImageContext(CGSize(width: 1, height: 1)) - UIGraphicsGetCurrentContext()!.setFillColor(color.cgColor) - UIGraphicsGetCurrentContext()!.fill(CGRect(x: 0, y: 0, width: 1, height: 1)) - let colorImage = UIGraphicsGetImageFromCurrentImageContext() - UIGraphicsEndImageContext() - self.setBackgroundImage(colorImage, for: forState) - } - - - -} diff --git a/Classes/Swift/Voip/Widgets/CallControlButton.swift b/Classes/Swift/Voip/Widgets/CallControlButton.swift deleted file mode 100644 index 595a4a548..000000000 --- a/Classes/Swift/Voip/Widgets/CallControlButton.swift +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import Foundation -import UIKit -import SwiftUI - -class CallControlButton : ButtonWithStateBackgrounds { - - // Layout constants - static let default_size = 50 - static let hungup_width = 65 - - var showActivityIndicatorDataSource : MutableLiveData? = nil { - didSet { - if let showActivityIndicatorDataSource = self.showActivityIndicatorDataSource { - let spinner = UIActivityIndicatorView(style: .white) - spinner.color = VoipTheme.primary_color - self.addSubview(spinner) - spinner.matchParentDimmensions().center().done() - - showActivityIndicatorDataSource.readCurrentAndObserve { (show) in - if (show == true) { - spinner.startAnimating() - spinner.isHidden = false - self.isEnabled = false - } else { - spinner.stopAnimating() - spinner.isHidden = true - self.isEnabled = true - } - } - } - } - } - - var onClickAction : (()->Void)? = nil - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - init (width:Int = CallControlButton.default_size, height:Int = CallControlButton.default_size, imageInset:UIEdgeInsets = UIEdgeInsets(top: 2, left: 2, bottom: 2, right: 2), buttonTheme: ButtonTheme, onClickAction : (()->Void)? = nil ) { - super.init(backgroundStateColors: buttonTheme.backgroundStateColors) - - layer.cornerRadius = CGFloat(height/2) - clipsToBounds = true - contentMode = .scaleAspectFit - - applyTintedIcons(tintedIcons: buttonTheme.tintableStateIcons) - - imageView?.contentMode = .scaleAspectFit - - imageEdgeInsets = imageInset - - size(w: CGFloat(width), h: CGFloat(height)).done() - - self.onClickAction = onClickAction - onClick { - self.onClickAction?() - } - UIDeviceBridge.displayModeSwitched.observe { _ in - self.applyTintedIcons(tintedIcons: buttonTheme.tintableStateIcons) - } - - } - - - - -} diff --git a/Classes/Swift/Voip/Widgets/FormButton.swift b/Classes/Swift/Voip/Widgets/FormButton.swift deleted file mode 100644 index 65a63f7b8..000000000 --- a/Classes/Swift/Voip/Widgets/FormButton.swift +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import Foundation -import UIKit -import SwiftUI - -class FormButton : ButtonWithStateBackgrounds { - - let button_radius = 3.0 - let button_height = 40.0 - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - var title: String? { - didSet { - setTitle(title, for: .normal) - addSidePadding() - } - } - - init (backgroundStateColors: [UInt: LightDarkColor], bold:Bool = true) { - super.init(backgroundStateColors: backgroundStateColors) - layer.cornerRadius = button_radius - clipsToBounds = true - height(button_height).done() - addSidePadding() - UIDeviceBridge.displayModeSwitched.readCurrentAndObserve { _ in - self.applyTitleStyle(bold ? VoipTheme.form_button_bold : VoipTheme.form_button_light) - } - } - - convenience init (title:String, backgroundStateColors: [UInt: LightDarkColor], bold:Bool = true, fixedSize:Bool = true) { - self.init(backgroundStateColors: backgroundStateColors,bold:bold) - self.title = title - setTitle(title, for: .normal) - if (!fixedSize) { - addSidePadding() - } - } - - -} diff --git a/Classes/Swift/Voip/Widgets/RotatingSpinner.swift b/Classes/Swift/Voip/Widgets/RotatingSpinner.swift deleted file mode 100644 index 72c262d8b..000000000 --- a/Classes/Swift/Voip/Widgets/RotatingSpinner.swift +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation - -class RotatingSpinner : UIImageView { - - init (color:UIColor = .white) { - super.init(frame: .zero) - self.image = UIImage(named: "voip_spinner") - self.tint(color) - self.contentMode = .scaleAspectFit - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - func startRotation() { - let rotation : CABasicAnimation = CABasicAnimation(keyPath: "transform.rotation.z") - rotation.toValue = NSNumber(value: Double.pi * 2) - rotation.duration = 2.2 - rotation.isCumulative = true - rotation.repeatCount = Float.greatestFiniteMagnitude - self.layer.add(rotation, forKey: "rotationAnimation") - } - - func stopRotation() { - self.layer.removeAllAnimations() - } -} - diff --git a/Classes/Swift/Voip/Widgets/StyledCheckBox.swift b/Classes/Swift/Voip/Widgets/StyledCheckBox.swift deleted file mode 100644 index dd1f2a7a7..000000000 --- a/Classes/Swift/Voip/Widgets/StyledCheckBox.swift +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit -import DropDown - - -class StyledCheckBox: UIButton { - - // layout constants - let button_size = 25.0 - - var liveValue : MutableLiveData? = nil { - didSet { - liveValue?.readCurrentAndObserve { (value) in - self.isSelected = value! - } - } - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - init () { - super.init(frame: .zero) - setBackgroundImage(UIImage(named:"voip_checkbox_unchecked")/*?.tinted(with: VoipTheme.light_grey_color)*/,for: .normal) // tinting not working with those icons - setBackgroundImage(UIImage(named:"voip_checkbox_checked")/*?.tinted(with: VoipTheme.primary_color)*/,for: .selected) - onClick { - self.liveValue?.value = self.liveValue?.value != true - self.isSelected = self.liveValue?.value == true - } - size(w: button_size,h: button_size).done() - } - - -} diff --git a/Classes/Swift/Voip/Widgets/StyledDatePicker.swift b/Classes/Swift/Voip/Widgets/StyledDatePicker.swift deleted file mode 100644 index 4ad0b2e1e..000000000 --- a/Classes/Swift/Voip/Widgets/StyledDatePicker.swift +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit - -class StyledDatePicker: UIView { - - // layout constants - let chevron_margin = 10 - let form_input_height = 38.0 - - let datePicker = UIDatePicker() - - var liveValue:MutableLiveData? { - didSet { - if let liveValue = liveValue?.value { - datePicker.date = liveValue - self.valueChanged(datePicker: datePicker) - } else { - formattedLabel.text = nil - datePicker.date = pickerMode == .date ? Date() : Calendar.current.startOfDay(for: Date()) - } - } - - } - let formattedLabel = StyledLabel(VoipTheme.conference_scheduling_font) - var pickerMode:UIDatePicker.Mode = .date - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - init (liveValue:MutableLiveData? = nil, pickerMode:UIDatePicker.Mode, readOnly:Bool = false) { - super.init(frame: .zero) - self.pickerMode = pickerMode - - if #available(iOS 14.0, *) { - addSubview(datePicker) - datePicker.datePickerMode = pickerMode - datePicker.addTarget(self, action: #selector(valueChanged), for: .valueChanged) - datePicker.matchParentDimmensions().done() - datePicker.preferredDatePickerStyle = .compact - onClick { - self.valueChanged(datePicker: self.datePicker) - } - } else { - onClick { - self.showPickerPreIOS14() - } - } - - formattedLabel.isUserInteractionEnabled = false - addSubview(formattedLabel) - formattedLabel.matchParentDimmensions().done() - - let chevron = UIImageView() - - - addSubview(chevron) - chevron.alignParentRight(withMargin: chevron_margin).centerY().done() - chevron.isHidden = readOnly - - height(form_input_height).done() - - isUserInteractionEnabled = !readOnly - self.liveValue = liveValue - - UIDeviceBridge.displayModeSwitched.readCurrentAndObserve { _ in - self.setFormInputBackground(readOnly:readOnly) - self.formattedLabel.backgroundColor = VoipTheme.voipFormBackgroundColor.get() - chevron.image = UIImage(named: "chevron_list_close")?.tinted(with: VoipTheme.voipDrawableColor.get()) - if (readOnly) { - self.formattedLabel.textColor = self.formattedLabel.textColor.withAlphaComponent(0.5) - } - } - - } - - - @objc func valueChanged(datePicker: UIDatePicker) { - liveValue!.value = datePicker.date - formattedLabel.text = " "+(pickerMode == .date ? TimestampUtils.dateToString(date: datePicker.date) : TimestampUtils.timeToString(date: datePicker.date)) - } - - - func showPickerPreIOS14() { - let alertController = UIAlertController(title: "", message: nil, preferredStyle: .alert) - alertController.view.height(200).done() - let picker = UIDatePicker() - if #available(iOS 13.4, *) { - picker.preferredDatePickerStyle = .wheels - } - liveValue?.value.map {picker.date = $0} - picker.datePickerMode = pickerMode - alertController.view.addSubview(picker) - picker.matchParentDimmensions(insetedBy: UIEdgeInsets(top: 30, left: 50, bottom: 30, right: 50)).done() - let ok = UIAlertAction(title: VoipTexts.ok, style: .default, handler: { (action) -> Void in - self.valueChanged(datePicker: picker) - }) - let cancel = UIAlertAction(title: VoipTexts.cancel, style: .cancel) { (action) -> Void in - } - - alertController.addAction(cancel) - alertController.addAction(ok) - - alertController.popoverPresentationController?.sourceView = PhoneMainView.instance().mainViewController.statusBarView - PhoneMainView.instance().mainViewController.present(alertController, animated: true) - } - -} diff --git a/Classes/Swift/Voip/Widgets/StyledLabel.swift b/Classes/Swift/Voip/Widgets/StyledLabel.swift deleted file mode 100644 index 634af1e42..000000000 --- a/Classes/Swift/Voip/Widgets/StyledLabel.swift +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation - -class StyledLabel: UILabel { - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - init (_ style:TextStyle, _ text:String? = nil) { - super.init(frame: .zero) - self.text = text - applyStyle(style) - UIDeviceBridge.displayModeSwitched.observe { _ in - self.applyStyleColors(style) - } - } - -} diff --git a/Classes/Swift/Voip/Widgets/StyledSwitch.swift b/Classes/Swift/Voip/Widgets/StyledSwitch.swift deleted file mode 100644 index cc96c80d9..000000000 --- a/Classes/Swift/Voip/Widgets/StyledSwitch.swift +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit - -class StyledSwitch: UISwitch { - - var liveValue:MutableLiveData? - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - init (liveValue:MutableLiveData) { - super.init(frame: .zero) - self.liveValue = liveValue - tintColor = VoipTheme.light_grey_color - onTintColor = VoipTheme.green_color - addTarget(self, action: #selector(valueChanged), for: .valueChanged) - liveValue.readCurrentAndObserve { (value) in - self.isOn = value == true - } - transform = CGAffineTransform(scaleX: 0.75, y: 0.75) - } - - @objc func valueChanged(mySwitch: UISwitch) { - liveValue!.value = mySwitch.isOn - } -} diff --git a/Classes/Swift/Voip/Widgets/StyledTextView.swift b/Classes/Swift/Voip/Widgets/StyledTextView.swift deleted file mode 100644 index cd2888166..000000000 --- a/Classes/Swift/Voip/Widgets/StyledTextView.swift +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation - -class StyledTextView: UITextView, UITextViewDelegate { - - var placeholder:String? - var style:TextStyle? - var liveValue: MutableLiveData? = nil - var maxLines:Int - var isEditing = false - - required init?(coder: NSCoder) { - maxLines = 0 - super.init(coder: coder) - } - - override var text: String?{ - didSet{ - textColor = text?.count ?? 0 > 0 && text != placeholder ? style?.fgColor.get().withAlphaComponent(1.0) : style?.fgColor.get().withAlphaComponent(0.5) - if !isEditing && text == "" { - showPlaceHolder() - } - } - } - - init (_ style:TextStyle, placeHolder:String? = nil, liveValue: MutableLiveData, readOnly:Bool = false, maxLines:Int = 999) { - self.maxLines = maxLines - self.style = style - self.liveValue = liveValue - super.init(frame:.zero, textContainer: nil) - textContainer.maximumNumberOfLines = maxLines - applyStyle(style) - placeHolder.map { - self.placeholder = $0 - } - delegate = self - liveValue.readCurrentAndObserve { (value) in - self.text = value - if (value == nil || value?.count == 0) { - self.showPlaceHolder() - self.resignFirstResponder() - } - } - if (readOnly) { - textColor = textColor?.withAlphaComponent(0.5) - } - isUserInteractionEnabled = !readOnly - - UIDeviceBridge.displayModeSwitched.readCurrentAndObserve { _ in - self.applyStyleColors(style) - self.setFormInputBackground(readOnly:readOnly) - } - } - - func textViewDidBeginEditing(_ textView: UITextView) { - isEditing = true - if text == placeholder { - placeholder = textView.text - text = "" - textColor = style?.fgColor.get().withAlphaComponent(1.0) - } - } - - func textViewDidEndEditing(_ textView: UITextView) { - isEditing = false - if text == "" { - showPlaceHolder() - } - } - - private func showPlaceHolder() { - text = placeholder - textColor = style?.fgColor.get().withAlphaComponent(0.5) - } - - func textViewDidChange(_ textView: UITextView) { - textView.removeTextUntilSatisfying(maxNumberOfLines: self.maxLines) - liveValue?.value = textView.text - } - - func setPlaceHolder(phText:String) { - if text == "" || text == placeholder { - self.placeholder = phText - showPlaceHolder() - } else { - self.placeholder = phText - } - } - -} diff --git a/Classes/Swift/Voip/Widgets/StyledValuePicker.swift b/Classes/Swift/Voip/Widgets/StyledValuePicker.swift deleted file mode 100644 index 4a498c187..000000000 --- a/Classes/Swift/Voip/Widgets/StyledValuePicker.swift +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import UIKit -import DropDown - - -class StyledValuePicker: UIView { - - // layout constants - let chevron_margin = 10.0 - let form_input_height = 38.0 - let dropdown_width = 250.0 - let dropDown = DropDown() - - - let formattedLabel = StyledLabel(VoipTheme.conference_scheduling_font) - var pickerMode:UIDatePicker.Mode = .date - var options : [String] - - required init?(coder: NSCoder) { - self.options = [] - super.init(coder: coder) - } - - init (liveIndex:MutableLiveData, options:[String], readOnly:Bool = false) { - self.options = options - super.init(frame: .zero) - - formattedLabel.isUserInteractionEnabled = false - liveIndex.value.map { formattedLabel.text = " "+options[$0] } - - if (readOnly) { - formattedLabel.textColor = formattedLabel.textColor.withAlphaComponent(0.5) - } - - addSubview(formattedLabel) - formattedLabel.alignParentLeft().alignParentRight(withMargin: (readOnly ? chevron_margin : form_input_height)).matchParentHeight().done() - - let chevron = UIImageView() - - addSubview(chevron) - chevron.alignParentRight(withMargin: chevron_margin).centerY().done() - chevron.isHidden = readOnly - - - - dropDown.textFont = formattedLabel.font - dropDown.cellHeight = form_input_height - - dropDown.anchorView = self - dropDown.bottomOffset = CGPoint(x: 0, y:(dropDown.anchorView?.plainView.bounds.height)!) - dropDown.dataSource = options - dropDown.width = dropdown_width - - dropDown.selectionAction = { [unowned self] (index: Int, item: String) in - liveIndex.value = index - dropDown.selectRow(at: index) - formattedLabel.text = " "+options[liveIndex.value!] - dropDown.hide() - } - - onClick { - self.dropDown.anchorView = self.superview - self.dropDown.tableView.scrollToRow(at: IndexPath(row: liveIndex.value!, section: 0), at: .top, animated: true) // Change visibility to public instead of fileprivate in DropDown.swift - self.dropDown.show() - } - - height(form_input_height).done() - - liveIndex.readCurrentAndObserve { (value) in - self.dropDown.selectRow(value!) - } - isUserInteractionEnabled = !readOnly - - UIDeviceBridge.displayModeSwitched.readCurrentAndObserve { _ in - chevron.image = UIImage(named: "chevron_list_close")?.tinted(with: VoipTheme.voipDrawableColor.get()) - self.formattedLabel.backgroundColor = VoipTheme.voipFormBackgroundColor.get() - self.dropDown.textColor = VoipTheme.conference_scheduling_font.fgColor.get() - self.dropDown.selectedTextColor = VoipTheme.conference_scheduling_font.fgColor.get() - self.dropDown.backgroundColor = VoipTheme.voipFormBackgroundColor.get() - self.dropDown.selectionBackgroundColor = VoipTheme.backgroundWhiteBlack.get() - self.dropDown.backgroundColor = VoipTheme.backgroundWhiteBlack.get() - self.setFormInputBackground(readOnly:readOnly) - } - - } - - func setIndex(index: Int) { - self.dropDown.selectRow(index) - formattedLabel.text = " "+options[index] - } - -} diff --git a/Classes/Swift/Voip/Widgets/UICallTimer.swift b/Classes/Swift/Voip/Widgets/UICallTimer.swift deleted file mode 100644 index 9dc683f1f..000000000 --- a/Classes/Swift/Voip/Widgets/UICallTimer.swift +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import linphonesw - -class CallTimer : StyledLabel { - - let min_width = 50.0 - - let formatter = DateComponentsFormatter() - var startDate = Date() - var call:Call? = nil { - didSet { - self.format() - } - } - - var conference:Conference? = nil { - didSet { - self.format() - } - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - init (_ text:String?, _ style:TextStyle, _ call:Call? = nil) { - super.init(style,text) - self.call = call - formatter.unitsStyle = .positional - formatter.allowedUnits = [.minute, .second ] - formatter.zeroFormattingBehavior = [ .pad ] - Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { timer in - var elapsedTime: TimeInterval = 0 - if (self.call != nil || self.conference != nil) { - elapsedTime = Date().timeIntervalSince(self.startDate) - } - self.formatter.string(from: elapsedTime).map { - self.text = $0.hasPrefix("0:") ? "0" + $0 : $0 - } - } - minWidth(min_width).done() - - } - - - func format() { - guard let duration = self.call != nil ? self.call!.duration : self.conference != nil ? self.conference!.duration: nil else { - return - } - startDate = Date().advanced(by: -TimeInterval(duration)) - } -} diff --git a/Classes/Swift/Voip/Widgets/VoipExtraButton.swift b/Classes/Swift/Voip/Widgets/VoipExtraButton.swift deleted file mode 100644 index 67fce96c1..000000000 --- a/Classes/Swift/Voip/Widgets/VoipExtraButton.swift +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import Foundation -import UIKit -import SwiftUI - -class VoipExtraButton : UIButton { - - // Layout constants - let width = 60.0 - let image_size = 50.0 - let bouncing_label_size = 17.0 - - var boucingCounter : BouncingCounter? = nil - - - required init?(coder: NSCoder) { - super.init(coder: coder) - } - - init ( text:String, buttonTheme: ButtonTheme, withbBoucinCounterDataSource:MutableLiveData? = nil, onClickAction : @escaping ()->Void ) { - super.init(frame: .zero) - - - contentMode = .scaleToFill - - buttonTheme.tintableStateIcons.keys.forEach { (stateRawValue) in - let tintedIcon = buttonTheme.tintableStateIcons[stateRawValue]! - UIImage(named:tintedIcon.name).map { - setImage($0.tinted(with: tintedIcon.tintColor?.get()),for: UIButton.State(rawValue: stateRawValue)) - } - setTitleColor(tintedIcon.tintColor?.get(), for: UIButton.State(rawValue: stateRawValue)) - } - imageView?.contentMode = .scaleAspectFit - imageView?.size(w: image_size,h: image_size).centerX().alignParentTop().done() - titleLabel?.alignUnder(view: imageView!).centerX().done() - - - size(w: width,h: image_size).done() - setTitle(text, for: .normal) - applyTitleStyle(VoipTheme.voip_extra_button) - - onClick { - ControlsViewModel.shared.hideExtraButtons.value = true - onClickAction() - } - - if (withbBoucinCounterDataSource != nil) { - boucingCounter = BouncingCounter(inButton:self) - addSubview(boucingCounter!) - boucingCounter?.dataSource = withbBoucinCounterDataSource - } - - } - - -} diff --git a/Classes/Utils/CAAnimationBlocks/CAAnimation+Blocks.h b/Classes/Utils/CAAnimationBlocks/CAAnimation+Blocks.h deleted file mode 100755 index 47fc08713..000000000 --- a/Classes/Utils/CAAnimationBlocks/CAAnimation+Blocks.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// CAAnimation+Blocks.h -// CAAnimationBlocks -// -// Created by xissburg on 7/7/11. -// Copyright 2011 xissburg. All rights reserved. -// - -#import -#import - - -@interface CAAnimation (BlocksAddition) - -@property (nonatomic, copy) void (^completion)(BOOL finished); -@property (nonatomic, copy) void (^start)(void); - -- (void)setCompletion:(void (^)(BOOL finished))completion; // Forces auto-complete of setCompletion: to add the name 'finished' in the block parameter - -@end diff --git a/Classes/Utils/CAAnimationBlocks/CAAnimation+Blocks.m b/Classes/Utils/CAAnimationBlocks/CAAnimation+Blocks.m deleted file mode 100755 index 34ee9cfb9..000000000 --- a/Classes/Utils/CAAnimationBlocks/CAAnimation+Blocks.m +++ /dev/null @@ -1,99 +0,0 @@ -// -// CAAnimation+Blocks.m -// CAAnimationBlocks -// -// Created by xissburg on 7/7/11. -// Copyright 2011 xissburg. All rights reserved. -// - -#import "CAAnimation+Blocks.h" - - -@interface CAAnimationDelegate : NSObject - -@property (nonatomic, copy) void (^completion)(BOOL); -@property (nonatomic, copy) void (^start)(void); - -- (void)animationDidStart:(CAAnimation *)anim; -- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag; - -@end - -@implementation CAAnimationDelegate - -@synthesize completion=_completion; -@synthesize start=_start; - -- (id)init -{ - self = [super init]; - if (self) { - self.completion = nil; - self.start = nil; - } - return self; -} - - -- (void)animationDidStart:(CAAnimation *)anim -{ - if (self.start != nil) { - self.start(); - } -} - -- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag -{ - if (self.completion != nil) { - self.completion(flag); - } -} - -@end - - -@implementation CAAnimation (BlocksAddition) - -- (void)setCompletion:(void (^)(BOOL))completion -{ - if ([self.delegate isKindOfClass:[CAAnimationDelegate class]]) { - ((CAAnimationDelegate *)self.delegate).completion = completion; - } - else { - CAAnimationDelegate *delegate = [[CAAnimationDelegate alloc] init]; - delegate.completion = completion; -#if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_10_0 - self.delegate = delegate; -#else - self.delegate = (id)delegate; -#endif - } -} - -- (void (^)(BOOL))completion -{ - return [self.delegate isKindOfClass:[CAAnimationDelegate class]]? ((CAAnimationDelegate *)self.delegate).completion: nil; -} - -- (void)setStart:(void (^)(void))start -{ - if ([self.delegate isKindOfClass:[CAAnimationDelegate class]]) { - ((CAAnimationDelegate *)self.delegate).start = start; - } - else { - CAAnimationDelegate *delegate = [[CAAnimationDelegate alloc] init]; - delegate.start = start; -#if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_10_0 - self.delegate = delegate; -#else - self.delegate = (id)delegate; -#endif - } -} - -- (void (^)(void))start -{ - return [self.delegate isKindOfClass:[CAAnimationDelegate class]]? ((CAAnimationDelegate *)self.delegate).start: nil; -} - -@end diff --git a/Classes/Utils/ColorSpaceUtilites.m b/Classes/Utils/ColorSpaceUtilites.m deleted file mode 100644 index b6370e731..000000000 --- a/Classes/Utils/ColorSpaceUtilites.m +++ /dev/null @@ -1,135 +0,0 @@ -/* - ColorConverter - - you can use it to convert color from RGB space to HSL space and back. - - HSL2RGB copied from GLPaint Apple sample: - http://developer.apple.com/library/ios/#samplecode/GLPaint/Introduction/Intro.html - - RGB2HSL translated from http://www.geekymonkey.com/Programming/CSharp/RGB2HSL_HSL2RGB.htm - - From: https://github.com/alessani/ColorConverter - */ - -void HSL2RGB(float h, float s, float l, float *outR, float *outG, float *outB) { - float temp1, temp2; - float temp[3]; - int i; - - // Check for saturation. If there isn't any just return the luminance value for each, which results in gray. - if (s == 0.0) { - if (outR) - *outR = l; - if (outG) - *outG = l; - if (outB) - *outB = l; - return; - } - - // Test for luminance and compute temporary values based on luminance and saturation - if (l < 0.5) - temp2 = l * (1.0 + s); - else - temp2 = l + s - l * s; - temp1 = 2.0 * l - temp2; - - // Compute intermediate values based on hue - temp[0] = h + 1.0 / 3.0; - temp[1] = h; - temp[2] = h - 1.0 / 3.0; - - for (i = 0; i < 3; ++i) { - - // Adjust the range - if (temp[i] < 0.0) - temp[i] += 1.0; - if (temp[i] > 1.0) - temp[i] -= 1.0; - - if (6.0 * temp[i] < 1.0) - temp[i] = temp1 + (temp2 - temp1) * 6.0 * temp[i]; - else { - if (2.0 * temp[i] < 1.0) - temp[i] = temp2; - else { - if (3.0 * temp[i] < 2.0) - temp[i] = temp1 + (temp2 - temp1) * ((2.0 / 3.0) - temp[i]) * 6.0; - else - temp[i] = temp1; - } - } - } - - // Assign temporary values to R, G, B - if (outR) - *outR = temp[0]; - if (outG) - *outG = temp[1]; - if (outB) - *outB = temp[2]; -} - -void RGB2HSL(float r, float g, float b, float *outH, float *outS, float *outL) { - /*r = r/255.0f; - g = g/255.0f; - b = b/255.0f;*/ - - float h, s, l, v, m, vm, r2, g2, b2; - - h = 0; - s = 0; - - v = MAX(r, g); - v = MAX(v, b); - m = MIN(r, g); - m = MIN(m, b); - - l = (m + v) / 2.0f; - - if (l <= 0.0) { - if (outH) - *outH = h; - if (outS) - *outS = s; - if (outL) - *outL = l; - return; - } - - vm = v - m; - s = vm; - - if (s > 0.0f) { - s /= (l <= 0.5f) ? (v + m) : (2.0 - v - m); - } else { - if (outH) - *outH = h; - if (outS) - *outS = s; - if (outL) - *outL = l; - return; - } - - r2 = (v - r) / vm; - g2 = (v - g) / vm; - b2 = (v - b) / vm; - - if (r == v) { - h = (g == m ? 5.0f + b2 : 1.0f - g2); - } else if (g == v) { - h = (b == m ? 1.0f + r2 : 3.0 - b2); - } else { - h = (r == m ? 3.0f + g2 : 5.0f - r2); - } - - h /= 6.0f; - - if (outH) - *outH = h; - if (outS) - *outS = s; - if (outL) - *outL = l; -} \ No newline at end of file diff --git a/Classes/Utils/ColorSpaceUtilities.h b/Classes/Utils/ColorSpaceUtilities.h deleted file mode 100644 index 7f2ff1b70..000000000 --- a/Classes/Utils/ColorSpaceUtilities.h +++ /dev/null @@ -1,14 +0,0 @@ -/* - ColorConverter - - you can use it to convert color from RGB space to HSL space and back. - - HSL2RGB copied from GLPaint Apple sample: http://developer.apple.com/library/ios/#samplecode/GLPaint/Introduction/Intro.html - - RGB2HSL translated from http://www.geekymonkey.com/Programming/CSharp/RGB2HSL_HSL2RGB.htm - - From: https://github.com/alessani/ColorConverter -*/ - -void HSL2RGB(float h, float s, float l, float* outR, float* outG, float* outB); -void RGB2HSL(float r, float g, float b, float* outH, float* outS, float* outL); \ No newline at end of file diff --git a/Classes/Utils/DCRoundSwitch/DCRoundSwitch.h b/Classes/Utils/DCRoundSwitch/DCRoundSwitch.h deleted file mode 100755 index 8c3aa100c..000000000 --- a/Classes/Utils/DCRoundSwitch/DCRoundSwitch.h +++ /dev/null @@ -1,33 +0,0 @@ -// -// DCRoundSwitch.h -// -// Created by Patrick Richards on 28/06/11. -// MIT License. -// -// http://twitter.com/patr -// http://domesticcat.com.au/projects -// http://github.com/domesticcatsoftware/DCRoundSwitch -// - -#import -#import - -@class DCRoundSwitchToggleLayer; -@class DCRoundSwitchOutlineLayer; -@class DCRoundSwitchKnobLayer; - -@interface DCRoundSwitch : UIControl - -@property(nonatomic, strong) UIColor *onTintColor; // default: blue (matches normal UISwitch) -@property (nonatomic, getter=isOn) BOOL on; // default: NO -@property (nonatomic, copy) NSString *onText; // default: 'ON' - automatically localized -@property (nonatomic, copy) NSString *offText; // default: 'OFF' - automatically localized - -+ (Class)knobLayerClass; -+ (Class)outlineLayerClass; -+ (Class)toggleLayerClass; - -- (void)setOn:(BOOL)newOn animated:(BOOL)animated; -- (void)setOn:(BOOL)newOn animated:(BOOL)animated ignoreControlEvents:(BOOL)ignoreControlEvents; - -@end diff --git a/Classes/Utils/DCRoundSwitch/DCRoundSwitch.m b/Classes/Utils/DCRoundSwitch/DCRoundSwitch.m deleted file mode 100755 index 556d8150c..000000000 --- a/Classes/Utils/DCRoundSwitch/DCRoundSwitch.m +++ /dev/null @@ -1,453 +0,0 @@ -// -// DCRoundSwitch.m -// -// Created by Patrick Richards on 28/06/11. -// MIT License. -// -// http://twitter.com/patr -// http://domesticcat.com.au/projects -// http://github.com/domesticcatsoftware/DCRoundSwitch -// - -#import "DCRoundSwitch.h" -#import "DCRoundSwitchToggleLayer.h" -#import "DCRoundSwitchOutlineLayer.h" -#import "DCRoundSwitchKnobLayer.h" - -@interface DCRoundSwitch () - -@property(nonatomic, strong) DCRoundSwitchOutlineLayer *outlineLayer; -@property(nonatomic, strong) DCRoundSwitchToggleLayer *toggleLayer; -@property(nonatomic, strong) DCRoundSwitchKnobLayer *knobLayer; -@property(nonatomic, strong) CAShapeLayer *clipLayer; -@property (nonatomic, assign) BOOL ignoreTap; - -- (void)setup; -- (void)useLayerMasking; -- (void)removeLayerMask; -- (void)positionLayersAndMask; - -@end - -@implementation DCRoundSwitch -@synthesize outlineLayer, toggleLayer, knobLayer, clipLayer, ignoreTap; -@synthesize on, onText, offText; -@synthesize onTintColor; - -#pragma mark - -#pragma mark Init & Memory Managment - - -- (id)init -{ - if ((self = [super init])) - { - self.frame = CGRectMake(0, 0, 77, 27); - [self setup]; - } - - return self; -} - -- (id)initWithCoder:(NSCoder *)aDecoder -{ - if ((self = [super initWithCoder:aDecoder])) - { - [self setup]; - } - - return self; -} - -- (id)initWithFrame:(CGRect)frame -{ - if ((self = [super initWithFrame:frame])) - { - [self setup]; - } - - return self; -} - -+ (Class)knobLayerClass { - return [DCRoundSwitchKnobLayer class]; -} - -+ (Class)outlineLayerClass { - return [DCRoundSwitchOutlineLayer class]; -} - -+ (Class)toggleLayerClass { - return [DCRoundSwitchToggleLayer class]; -} - -- (void)setup -{ - // this way you can set the background color to black or something similar so it can be seen in IB - self.backgroundColor = [UIColor clearColor]; - - // remove the flexible width/height autoresizing masks if they have been set - UIViewAutoresizing mask = (int)self.autoresizingMask; - if (mask & UIViewAutoresizingFlexibleHeight) - self.autoresizingMask ^= UIViewAutoresizingFlexibleHeight; - - if (mask & UIViewAutoresizingFlexibleWidth) - self.autoresizingMask ^= UIViewAutoresizingFlexibleWidth; - - // setup default texts - NSBundle *uiKitBundle = [NSBundle bundleWithIdentifier:@"com.apple.UIKit"]; - self.onText = uiKitBundle ? [uiKitBundle localizedStringForKey:@"ON" value:nil table:nil] : @"ON"; - self.offText = uiKitBundle ? [uiKitBundle localizedStringForKey:@"OFF" value:nil table:nil] : @"OFF"; - - // the switch has three layers, (ordered from bottom to top): - // - // * toggleLayer * (bottom of the layer stack) - // this layer contains the onTintColor (blue by default), the text, and the shadown for the knob. the knob shadow is - // on this layer because it needs to go under the outlineLayer so it doesn't bleed out over the edge of the control. - // this layer moves when the switch moves - - // * outlineLayer * (middle of the layer stack) - // this is the outline of the control, it's inner shadow, and the inner gloss. the inner shadow is on this layer - // because it must stay still while the switch animates. the inner gloss is also here because it doesn't move, and also - // because it needs to go uner the knobLayer. - // this layer appears to always stay in the same spot. - - // * knobLayer * (top of the layer stack) - // this is the knob, and sits on top of the layer stack. note that the knob shadow is NOT drawn here, it is drawn on the - // toggleLayer so it doesn't bleed out over the outlineLayer. - - self.toggleLayer = [[[[self class] toggleLayerClass] alloc] - initWithOnString:self.onText - offString:self.offText - onTintColor:[UIColor colorWithRed:0.000 green:0.478 blue:0.882 alpha:1.0]]; - self.toggleLayer.drawOnTint = NO; - self.toggleLayer.clip = YES; - [self.layer addSublayer:self.toggleLayer]; - [self.toggleLayer setNeedsDisplay]; - - self.outlineLayer = [[[self class] outlineLayerClass] layer]; - [self.toggleLayer addSublayer:self.outlineLayer]; - [self.outlineLayer setNeedsDisplay]; - - self.knobLayer = [[[self class] knobLayerClass] layer]; - [self.layer addSublayer:self.knobLayer]; - [self.knobLayer setNeedsDisplay]; - - self.toggleLayer.contentsScale = self.outlineLayer.contentsScale = self.knobLayer.contentsScale = [[UIScreen mainScreen] scale]; - - // tap gesture for toggling the switch - UITapGestureRecognizer *tapGestureRecognizer = - [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped:)]; - [tapGestureRecognizer setDelegate:self]; - [self addGestureRecognizer:tapGestureRecognizer]; - - // pan gesture for moving the switch knob manually - UIPanGestureRecognizer *panGestureRecognizer = - [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(toggleDragged:)]; - [panGestureRecognizer setDelegate:self]; - [self addGestureRecognizer:panGestureRecognizer]; - - [self setNeedsLayout]; - - // setup the layer positions - [self positionLayersAndMask]; -} - -#pragma mark - -#pragma mark Setup Frame/Layout - -- (void)sizeToFit -{ - [super sizeToFit]; - - NSString *onString = self.toggleLayer.onString; - NSString *offString = self.toggleLayer.offString; - - CGFloat width = [onString sizeWithFont:self.toggleLayer.labelFont].width; - CGFloat offWidth = [offString sizeWithFont:self.toggleLayer.labelFont].width; - - if(offWidth > width) - width = offWidth; - - width += self.toggleLayer.bounds.size.width * 2.;//add 2x the knob for padding - - CGRect newFrame = self.frame; - CGFloat currentWidth = newFrame.size.width; - newFrame.size.width = width; - newFrame.origin.x += currentWidth - width; - self.frame = newFrame; - - //old values for sizeToFit; keep these around for reference -// newFrame.size.width = 77.0; -// newFrame.size.height = 27.0; -} - -- (void)useLayerMasking -{ - // turn of the manual clipping (done in toggleLayer's drawInContext:) - self.toggleLayer.clip = NO; - self.toggleLayer.drawOnTint = YES; - [self.toggleLayer setNeedsDisplay]; - - // create the layer mask and add that to the toggleLayer - self.clipLayer = [CAShapeLayer layer]; - UIBezierPath *clipPath = [UIBezierPath bezierPathWithRoundedRect:self.bounds - cornerRadius:self.bounds.size.height / 2.0]; - self.clipLayer.path = clipPath.CGPath; - self.toggleLayer.mask = self.clipLayer; -} - -- (void)removeLayerMask -{ - // turn off the animations so the user doesn't see the changing of mask/clipping - [CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions]; - - // remove the layer mask (put on in useLayerMasking) - self.toggleLayer.mask = nil; - - // renable manual clipping (done in toggleLayer's drawInContext:) - self.toggleLayer.clip = YES; - self.toggleLayer.drawOnTint = self.on; - [self.toggleLayer setNeedsDisplay]; -} - -- (void)positionLayersAndMask -{ - // repositions the underlying toggle and the layer mask, plus the knob - self.toggleLayer.mask.position = CGPointMake(-self.toggleLayer.frame.origin.x, 0.0); - self.outlineLayer.frame = CGRectMake(-self.toggleLayer.frame.origin.x, 0, self.bounds.size.width, self.bounds.size.height); - self.knobLayer.frame = CGRectMake(self.toggleLayer.frame.origin.x + self.toggleLayer.frame.size.width / 2.0 - self.knobLayer.frame.size.width / 2.0, - -1, - self.knobLayer.frame.size.width, - self.knobLayer.frame.size.height); -} - -#pragma mark - -#pragma mark Interaction - -- (void)tapped:(UITapGestureRecognizer *)gesture -{ - if (self.ignoreTap) return; - - if (gesture.state == UIGestureRecognizerStateEnded) - [self setOn:!self.on animated:YES]; -} - -- (void)toggleDragged:(UIPanGestureRecognizer *)gesture -{ - CGFloat minToggleX = -self.toggleLayer.frame.size.width / 2.0 + self.toggleLayer.frame.size.height / 2.0; - CGFloat maxToggleX = -1; - - if (gesture.state == UIGestureRecognizerStateBegan) - { - // setup by turning off the manual clipping of the toggleLayer and setting up a layer mask. - [CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions]; - [self useLayerMasking]; - [self positionLayersAndMask]; - self.knobLayer.gripped = YES; - } - else if (gesture.state == UIGestureRecognizerStateChanged) - { - CGPoint translation = [gesture translationInView:self]; - - // disable the animations before moving the layers - [CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions]; - - // darken the knob - if (!self.knobLayer.gripped) - self.knobLayer.gripped = YES; - - // move the toggleLayer using the translation of the gesture, keeping it inside the outline. - CGFloat newX = self.toggleLayer.frame.origin.x + translation.x; - if (newX < minToggleX) newX = minToggleX; - if (newX > maxToggleX) newX = maxToggleX; - self.toggleLayer.frame = CGRectMake(newX, - self.toggleLayer.frame.origin.y, - self.toggleLayer.frame.size.width, - self.toggleLayer.frame.size.height); - - // this will re-position the layer mask and knob - [self positionLayersAndMask]; - - [gesture setTranslation:CGPointZero inView:self]; - } - else if (gesture.state == UIGestureRecognizerStateEnded) - { - // flip the switch to on or off depending on which half it ends at - CGFloat toggleCenter = CGRectGetMidX(self.toggleLayer.frame); - [self setOn:(toggleCenter > CGRectGetMidX(self.bounds)) animated:YES]; - } - - // send off the appropriate actions (not fully tested yet) - CGPoint locationOfTouch = [gesture locationInView:self]; - if (CGRectContainsPoint(self.bounds, locationOfTouch)) - [self sendActionsForControlEvents:UIControlEventTouchDragInside]; - else - [self sendActionsForControlEvents:UIControlEventTouchDragOutside]; -} - -- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event -{ - if (self.ignoreTap) return; - - [super touchesBegan:touches withEvent:event]; - - self.knobLayer.gripped = YES; - [self sendActionsForControlEvents:UIControlEventTouchDown]; -} - -- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event -{ - [super touchesEnded:touches withEvent:event]; - - [self sendActionsForControlEvents:UIControlEventTouchUpInside]; -} - -- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event -{ - [super touchesCancelled:touches withEvent:event]; - - [self sendActionsForControlEvents:UIControlEventTouchUpOutside]; -} - -#pragma mark UIGestureRecognizerDelegate - -- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer; -{ - return !self.ignoreTap; -} - -#pragma mark Setters/Getters - -- (void)setOn:(BOOL)newOn -{ - [self setOn:newOn animated:NO]; -} - -- (void)setOn:(BOOL)newOn animated:(BOOL)animated -{ - [self setOn:newOn animated:animated ignoreControlEvents:NO]; -} - -- (void)setOn:(BOOL)newOn animated:(BOOL)animated ignoreControlEvents:(BOOL)ignoreControlEvents -{ - BOOL previousOn = self.on; - on = newOn; - self.ignoreTap = YES; - - [CATransaction setAnimationDuration:0.014]; - self.knobLayer.gripped = YES; - - // setup by turning off the manual clipping of the toggleLayer and setting up a layer mask. - [self useLayerMasking]; - [self positionLayersAndMask]; - - // retain all our targets so they don't disappear before the actions get sent at the end of the animation - - [CATransaction setCompletionBlock:^{ - [CATransaction begin]; - if (!animated) - [CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions]; - else - [CATransaction setValue:(id)kCFBooleanFalse forKey:kCATransactionDisableActions]; - - CGFloat minToggleX = -self.toggleLayer.frame.size.width / 2.0 + self.toggleLayer.frame.size.height / 2.0; - CGFloat maxToggleX = -1; - - - if (self.on) - { - self.toggleLayer.frame = CGRectMake(maxToggleX, - self.toggleLayer.frame.origin.y, - self.toggleLayer.frame.size.width, - self.toggleLayer.frame.size.height); - } - else - { - self.toggleLayer.frame = CGRectMake(minToggleX, - self.toggleLayer.frame.origin.y, - self.toggleLayer.frame.size.width, - self.toggleLayer.frame.size.height); - } - - if (!self.toggleLayer.mask) - { - [self useLayerMasking]; - [self.toggleLayer setNeedsDisplay]; - } - - [self positionLayersAndMask]; - - self.knobLayer.gripped = NO; - - [CATransaction setCompletionBlock:^{ - [self removeLayerMask]; - self.ignoreTap = NO; - - // send the action here so it get's sent at the end of the animations - if (previousOn != on && !ignoreControlEvents) - [self sendActionsForControlEvents:UIControlEventValueChanged]; - - }]; - - [CATransaction commit]; - }]; -} - -- (void)setOnTintColor:(UIColor *)anOnTintColor -{ - if (anOnTintColor != onTintColor) - { - onTintColor = anOnTintColor; - self.toggleLayer.onTintColor = anOnTintColor; - [self.toggleLayer setNeedsDisplay]; - } -} - -- (void)layoutSubviews; -{ - CGFloat knobRadius = self.bounds.size.height + 2.0; - self.knobLayer.frame = CGRectMake(0, 0, knobRadius, knobRadius); - CGSize toggleSize = CGSizeMake(self.bounds.size.width * 2 - (knobRadius - 4), self.bounds.size.height); - CGFloat minToggleX = -toggleSize.width / 2.0 + knobRadius / 2.0 - 1; - CGFloat maxToggleX = -1; - - if (self.on) - { - self.toggleLayer.frame = CGRectMake(maxToggleX, - self.toggleLayer.frame.origin.y, - toggleSize.width, - toggleSize.height); - } - else - { - self.toggleLayer.frame = CGRectMake(minToggleX, - self.toggleLayer.frame.origin.y, - toggleSize.width, - toggleSize.height); - } - - [self positionLayersAndMask]; -} - -- (void)setOnText:(NSString *)newOnText -{ - if (newOnText != onText) - { - onText = [newOnText copy]; - self.toggleLayer.onString = onText; - [self.toggleLayer setNeedsDisplay]; - } -} - -- (void)setOffText:(NSString *)newOffText -{ - if (newOffText != offText) - { - offText = [newOffText copy]; - self.toggleLayer.offString = offText; - [self.toggleLayer setNeedsDisplay]; - } -} - -@end diff --git a/Classes/Utils/DCRoundSwitch/DCRoundSwitchKnobLayer.h b/Classes/Utils/DCRoundSwitch/DCRoundSwitchKnobLayer.h deleted file mode 100755 index 55141f72e..000000000 --- a/Classes/Utils/DCRoundSwitch/DCRoundSwitchKnobLayer.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// DCRoundSwitchKnobLayer.h -// -// Created by Patrick Richards on 29/06/11. -// MIT License. -// -// http://twitter.com/patr -// http://domesticcat.com.au/projects -// http://github.com/domesticcatsoftware/DCRoundSwitch -// - -#import - -@interface DCRoundSwitchKnobLayer : CALayer - -@property (nonatomic) BOOL gripped; - -@end diff --git a/Classes/Utils/DCRoundSwitch/DCRoundSwitchKnobLayer.m b/Classes/Utils/DCRoundSwitch/DCRoundSwitchKnobLayer.m deleted file mode 100755 index d64f2f468..000000000 --- a/Classes/Utils/DCRoundSwitch/DCRoundSwitchKnobLayer.m +++ /dev/null @@ -1,69 +0,0 @@ -// -// DCRoundSwitchKnobLayer.m -// -// Created by Patrick Richards on 29/06/11. -// MIT License. -// -// http://twitter.com/patr -// http://domesticcat.com.au/projects -// http://github.com/domesticcatsoftware/DCRoundSwitch -// - -#import "DCRoundSwitchKnobLayer.h" - -CGGradientRef CreateGradientRefWithColors(CGColorSpaceRef colorSpace, CGColorRef startColor, CGColorRef endColor); - -@implementation DCRoundSwitchKnobLayer -@synthesize gripped; - -- (void)drawInContext:(CGContextRef)context -{ - CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceGray(); - CGRect knobRect = CGRectInset(self.bounds, 2, 2); - CGFloat knobRadius = self.bounds.size.height - 2; - - // knob outline (shadow is drawn in the toggle layer) - CGContextSetStrokeColorWithColor(context, [UIColor colorWithWhite:0.62 alpha:1.0].CGColor); - CGContextSetLineWidth(context, 1.5); - CGContextStrokeEllipseInRect(context, knobRect); - CGContextSetShadowWithColor(context, CGSizeMake(0, 0), 0, NULL); - - // knob inner gradient - CGContextAddEllipseInRect(context, knobRect); - CGContextClip(context); - CGColorRef knobStartColor = [UIColor colorWithWhite:0.82 alpha:1.0].CGColor; - CGColorRef knobEndColor = (self.gripped) ? [UIColor colorWithWhite:0.894 alpha:1.0].CGColor : [UIColor colorWithWhite:0.996 alpha:1.0].CGColor; - CGPoint topPoint = CGPointMake(0, 0); - CGPoint bottomPoint = CGPointMake(0, knobRadius + 2); - CGGradientRef knobGradient = CreateGradientRefWithColors(colorSpace, knobStartColor, knobEndColor); - CGContextDrawLinearGradient(context, knobGradient, topPoint, bottomPoint, 0); - CGGradientRelease(knobGradient); - - // knob inner highlight - CGContextAddEllipseInRect(context, CGRectInset(knobRect, 0.5, 0.5)); - CGContextAddEllipseInRect(context, CGRectInset(knobRect, 1.5, 1.5)); - CGContextEOClip(context); - CGGradientRef knobHighlightGradient = CreateGradientRefWithColors(colorSpace, [UIColor whiteColor].CGColor, [UIColor colorWithWhite:1.0 alpha:0.5].CGColor); - CGContextDrawLinearGradient(context, knobHighlightGradient, topPoint, bottomPoint, 0); - CGGradientRelease(knobHighlightGradient); - - CGColorSpaceRelease(colorSpace); -} - -CGGradientRef CreateGradientRefWithColors(CGColorSpaceRef colorSpace, CGColorRef startColor, CGColorRef endColor) -{ - CGFloat colorStops[2] = {0.0, 1.0}; - CGColorRef colors[] = {startColor, endColor}; - CFArrayRef colorsArray = CFArrayCreate(NULL, (const void**)colors, sizeof(colors) / sizeof(CGColorRef), &kCFTypeArrayCallBacks); - CGGradientRef gradient = CGGradientCreateWithColors(colorSpace, colorsArray, colorStops); - CFRelease(colorsArray); - return gradient; -} - -- (void)setGripped:(BOOL)newGripped -{ - gripped = newGripped; - [self setNeedsDisplay]; -} - -@end diff --git a/Classes/Utils/DCRoundSwitch/DCRoundSwitchOutlineLayer.h b/Classes/Utils/DCRoundSwitch/DCRoundSwitchOutlineLayer.h deleted file mode 100755 index e9e82bf3f..000000000 --- a/Classes/Utils/DCRoundSwitch/DCRoundSwitchOutlineLayer.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// DCRoundSwitchOutlineLayer.h -// -// Created by Patrick Richards on 29/06/11. -// MIT License. -// -// http://twitter.com/patr -// http://domesticcat.com.au/projects -// http://github.com/domesticcatsoftware/DCRoundSwitch -// - -#import - -@interface DCRoundSwitchOutlineLayer : CALayer - -@end diff --git a/Classes/Utils/DCRoundSwitch/DCRoundSwitchOutlineLayer.m b/Classes/Utils/DCRoundSwitch/DCRoundSwitchOutlineLayer.m deleted file mode 100755 index 4cbb658e6..000000000 --- a/Classes/Utils/DCRoundSwitch/DCRoundSwitchOutlineLayer.m +++ /dev/null @@ -1,66 +0,0 @@ -// -// DCRoundSwitchOutlineLayer.m -// -// Created by Patrick Richards on 29/06/11. -// MIT License. -// -// http://twitter.com/patr -// http://domesticcat.com.au/projects -// http://github.com/domesticcatsoftware/DCRoundSwitch -// - -#import "DCRoundSwitchOutlineLayer.h" - -@implementation DCRoundSwitchOutlineLayer - -- (void)drawInContext:(CGContextRef)context -{ - // calculate the outline clip - CGContextSaveGState(context); - UIBezierPath *switchOutline = [UIBezierPath bezierPathWithRoundedRect:self.bounds cornerRadius:self.bounds.size.height / 2.0]; - CGContextAddPath(context, switchOutline.CGPath); - CGContextClip(context); - - // inner gloss - CGContextSaveGState(context); - CGRect innerGlossPathRect = CGRectMake(self.frame.size.width * 0.05, - self.frame.size.height / 2.0, - self.bounds.size.width - (self.frame.size.width * 0.1), - self.bounds.size.height / 2.0); - UIBezierPath *innerGlossPath = [UIBezierPath bezierPathWithRoundedRect:innerGlossPathRect - byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight - cornerRadii:CGSizeMake(self.bounds.size.height * 0.3, self.bounds.size.height * 0.3)]; - CGContextAddPath(context, innerGlossPath.CGPath); - CGContextClip(context); - - CGFloat colorStops[2] = {0.0, 1.0}; - CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); - CGFloat innerGlossStartColorComponents[] = {1.0, 1.0, 1.0, 0.14}; - CGFloat innerGlossEndColorComponents[] = {1.0, 1.0, 1.0, 0.50}; - CGColorRef topColor = CGColorCreate(colorSpace, innerGlossStartColorComponents); - CGColorRef bottomColor = CGColorCreate(colorSpace, innerGlossEndColorComponents); - CGColorRef colors[] = { topColor, bottomColor }; - CFArrayRef colorsArray = CFArrayCreate(NULL, (const void**)colors, sizeof(colors) / sizeof(CGColorRef), &kCFTypeArrayCallBacks); - CGGradientRef innerGlossGradient = CGGradientCreateWithColors(colorSpace, colorsArray, colorStops); - CFRelease(colorsArray); - - CGContextDrawLinearGradient(context, innerGlossGradient, CGPointMake(0, CGRectGetMinY(innerGlossPathRect)), CGPointMake(0, CGRectGetMaxY(innerGlossPathRect)), 0); - CGContextRestoreGState(context); - CGColorSpaceRelease(colorSpace); - CGColorRelease(topColor); - CGColorRelease(bottomColor); - CGGradientRelease(innerGlossGradient); - - // outline and inner shadow - CGContextSetShadowWithColor(context, CGSizeMake(0.0, 1), 2.0, [UIColor colorWithRed:0.1 green:0.1 blue:0.1 alpha:1.0].CGColor); - CGContextSetLineWidth(context, 0.5); - UIBezierPath *outlinePath = [UIBezierPath bezierPathWithRoundedRect:CGRectOffset(self.bounds, -0.5, 0.0) cornerRadius:self.bounds.size.height / 2.0]; - CGContextAddPath(context, outlinePath.CGPath); - CGContextSetStrokeColorWithColor(context, [UIColor colorWithWhite:0.60 alpha:1.0].CGColor); - CGContextStrokePath(context); - - CGContextAddPath(context, outlinePath.CGPath); - CGContextStrokePath(context); -} - -@end diff --git a/Classes/Utils/DCRoundSwitch/DCRoundSwitchToggleLayer.h b/Classes/Utils/DCRoundSwitch/DCRoundSwitchToggleLayer.h deleted file mode 100755 index a04f171ca..000000000 --- a/Classes/Utils/DCRoundSwitch/DCRoundSwitchToggleLayer.h +++ /dev/null @@ -1,26 +0,0 @@ -// -// DCRoundSwitchToggleLayer.h -// -// Created by Patrick Richards on 29/06/11. -// MIT License. -// -// http://twitter.com/patr -// http://domesticcat.com.au/projects -// http://github.com/domesticcatsoftware/DCRoundSwitch -// - -#import -#import - -@interface DCRoundSwitchToggleLayer : CALayer - -@property(nonatomic, strong) UIColor *onTintColor; -@property(nonatomic, strong) NSString *onString; -@property(nonatomic, strong) NSString *offString; -@property(weak, nonatomic, readonly) UIFont *labelFont; -@property (nonatomic) BOOL drawOnTint; -@property (nonatomic) BOOL clip; - -- (id)initWithOnString:(NSString *)anOnString offString:(NSString *)anOffString onTintColor:(UIColor *)anOnTintColor; - -@end diff --git a/Classes/Utils/DCRoundSwitch/DCRoundSwitchToggleLayer.m b/Classes/Utils/DCRoundSwitch/DCRoundSwitchToggleLayer.m deleted file mode 100755 index 4c884b6f6..000000000 --- a/Classes/Utils/DCRoundSwitch/DCRoundSwitchToggleLayer.m +++ /dev/null @@ -1,94 +0,0 @@ -// -// DCRoundSwitchToggleLayer.m -// -// Created by Patrick Richards on 29/06/11. -// MIT License. -// -// http://twitter.com/patr -// http://domesticcat.com.au/projects -// http://github.com/domesticcatsoftware/DCRoundSwitch -// - -#import "DCRoundSwitchToggleLayer.h" - -@implementation DCRoundSwitchToggleLayer -@synthesize onString, offString, onTintColor; -@synthesize drawOnTint; -@synthesize clip; -@synthesize labelFont; - - -- (id)initWithOnString:(NSString *)anOnString offString:(NSString *)anOffString onTintColor:(UIColor *)anOnTintColor -{ - if ((self = [super init])) - { - self.onString = anOnString; - self.offString = anOffString; - self.onTintColor = anOnTintColor; - } - - return self; -} - -- (UIFont *)labelFont -{ - return [UIFont boldSystemFontOfSize:ceilf(self.bounds.size.height * .6)]; -} - -- (void)drawInContext:(CGContextRef)context -{ - CGFloat knobRadius = self.bounds.size.height - 2.0; - CGFloat knobCenter = self.bounds.size.width / 2.0; - CGRect knobRect = CGRectMake(knobCenter - knobRadius / 2.0, 1.0, knobRadius, knobRadius); - - if (self.clip) - { - UIBezierPath *bezierPath = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(-self.frame.origin.x + 0.5, 0, self.bounds.size.width / 2.0 + self.bounds.size.height / 2.0 - 1.5, self.bounds.size.height) cornerRadius:self.bounds.size.height / 2.0]; - CGContextAddPath(context, bezierPath.CGPath); - CGContextClip(context); - } - - // on tint color - if (self.drawOnTint) - { - CGContextSetFillColorWithColor(context, self.onTintColor.CGColor); - CGContextFillRect(context, CGRectMake(0, 0, knobCenter, self.bounds.size.height)); - } - - // off tint color (white) - CGContextSetFillColorWithColor(context, [UIColor colorWithWhite:0.963 alpha:1.0].CGColor); - CGContextFillRect(context, CGRectMake(knobCenter, 0, self.bounds.size.width - knobCenter, self.bounds.size.height)); - - // knob shadow - CGContextSetShadowWithColor(context, CGSizeMake(0, 0), 1.5, [UIColor colorWithWhite:0.2 alpha:1.0].CGColor); - CGContextSetStrokeColorWithColor(context, [UIColor colorWithWhite:0.42 alpha:1.0].CGColor); - CGContextSetLineWidth(context, 1.0); - CGContextStrokeEllipseInRect(context, knobRect); - CGContextSetShadowWithColor(context, CGSizeMake(0, 0), 0, NULL); - - - // strings - CGFloat textSpaceWidth = (self.bounds.size.width / 2) - (knobRadius / 2); - - UIGraphicsPushContext(context); - - // 'ON' state label (self.onString) - CGSize onTextSize = [self.onString sizeWithFont:self.labelFont]; - CGPoint onTextPoint = CGPointMake((textSpaceWidth - onTextSize.width) / 2.0 + knobRadius * .15, floorf((self.bounds.size.height - onTextSize.height) / 2.0) + 1.0); - [[UIColor colorWithWhite:0.45 alpha:1.0] set]; // .2 & .4 - [self.onString drawAtPoint:CGPointMake(onTextPoint.x, onTextPoint.y - 1.0) withFont:self.labelFont]; - [[UIColor whiteColor] set]; - [self.onString drawAtPoint:onTextPoint withFont:self.labelFont]; - - // 'OFF' state label (self.offString) - CGSize offTextSize = [self.offString sizeWithFont:self.labelFont]; - CGPoint offTextPoint = CGPointMake(textSpaceWidth + (textSpaceWidth - offTextSize.width) / 2.0 + knobRadius * .86, floorf((self.bounds.size.height - offTextSize.height) / 2.0) + 1.0); - [[UIColor whiteColor] set]; - [self.offString drawAtPoint:CGPointMake(offTextPoint.x, offTextPoint.y + 1.0) withFont:self.labelFont]; - [[UIColor colorWithWhite:0.52 alpha:1.0] set]; - [self.offString drawAtPoint:offTextPoint withFont:self.labelFont]; - - UIGraphicsPopContext(); -} - -@end diff --git a/Classes/Utils/DTFoundation/DTActionSheet.h b/Classes/Utils/DTFoundation/DTActionSheet.h deleted file mode 100755 index b08744656..000000000 --- a/Classes/Utils/DTFoundation/DTActionSheet.h +++ /dev/null @@ -1,68 +0,0 @@ -// -// DTActionSheet.h -// DTFoundation -// -// Created by Oliver Drobnik on 08.06.12. -// Copyright (c) 2012 Cocoanetics. All rights reserved. -// - -#import "DTWeakSupport.h" - -// the block to execute when an option button is tapped -typedef void (^DTActionSheetBlock)(void); - -/** - Extends UIActionSheet with support for blocks. - */ - -@interface DTActionSheet : UIActionSheet - -/** - Initializes the action sheet using the specified title. - @param title The title - */ -- (instancetype)initWithTitle:(NSString *)title; - -/** - Adds a custom button to the action sheet. - @param title The title of the new button. - @param block The block to execute when the button is tapped. - @returns The index of the new button. Button indices start at 0 and increase in the order they are added. - */ -- (NSInteger)addButtonWithTitle:(NSString *)title block:(DTActionSheetBlock)block; - -/** - Adds a custom destructive button to the action sheet. - - Since there can only be one destructive button a previously marked destructive button becomes a normal button. - @param title The title of the new button. - @param block The block to execute when the button is tapped. - @returns The index of the new button. Button indices start at 0 and increase in the order they are added. - */ -- (NSInteger)addDestructiveButtonWithTitle:(NSString *)title block:(DTActionSheetBlock)block; - -/** - Adds a custom cancel button to the action sheet. - - Since there can only be one cancel button a previously marked cancel button becomes a normal button. - @param title The title of the new button. - @param block The block to execute when the button is tapped. - @returns The index of the new button. Button indices start at 0 and increase in the order they are added. - */ -- (NSInteger)addCancelButtonWithTitle:(NSString *)title block:(DTActionSheetBlock)block; - -/** - Adds a custom cancel button to the action sheet. - - Since there can only be one cancel button a previously marked cancel button becomes a normal button. - @param title The title of the new button. - @returns The index of the new button. Button indices start at 0 and increase in the order they are added. - */ -- (NSInteger)addCancelButtonWithTitle:(NSString *)title; - -/** - * Use the actionSheetDelegate when you want to to receive UIActionSheetDelegate messages. - */ -@property (nonatomic, DT_WEAK_PROPERTY) id actionSheetDelegate; - -@end \ No newline at end of file diff --git a/Classes/Utils/DTFoundation/DTActionSheet.m b/Classes/Utils/DTFoundation/DTActionSheet.m deleted file mode 100755 index 48124e36b..000000000 --- a/Classes/Utils/DTFoundation/DTActionSheet.m +++ /dev/null @@ -1,179 +0,0 @@ -// -// DTActionSheet.m -// DTFoundation -// -// Created by Oliver Drobnik on 08.06.12. -// Copyright (c) 2012 Cocoanetics. All rights reserved. -// - -#import "DTActionSheet.h" -#import "DTWeakSupport.h" - -@interface DTActionSheet () - -@end - -@implementation DTActionSheet -{ - NSMutableDictionary *_actionsPerIndex; -} - -// designated initializer -- (instancetype)init -{ - self = [super init]; - if (self) - { - _actionsPerIndex = [[NSMutableDictionary alloc] init]; - [super setDelegate:self]; - - } - return self; -} - -- (instancetype)initWithTitle:(NSString *)title -{ - return [self initWithTitle:title delegate:nil cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:nil]; -} - -- (instancetype)initWithTitle:(NSString *)title delegate:(id)delegate cancelButtonTitle:(NSString *)cancelButtonTitle destructiveButtonTitle:(NSString *)destructiveButtonTitle otherButtonTitles:(NSString *)otherButtonTitles, ... -{ - self = [self init]; - if (self) - { - self.title = title; - - if (otherButtonTitles != nil) { - [self addButtonWithTitle:otherButtonTitles]; - va_list args; - va_start(args, otherButtonTitles); - NSString *title = nil; - while( (title = va_arg(args, NSString *)) ) { - [self addButtonWithTitle:title]; - } - va_end(args); - } - - if (destructiveButtonTitle) { - [self addDestructiveButtonWithTitle:destructiveButtonTitle block:nil]; - } - if (cancelButtonTitle) { - [self addCancelButtonWithTitle:cancelButtonTitle block:nil]; - } - - self.actionSheetDelegate = delegate; - } - - return self; -} - -- (void)dealloc -{ - [super setDelegate:nil]; - self.actionSheetDelegate = nil; -} - -- (NSInteger)addButtonWithTitle:(NSString *)title block:(DTActionSheetBlock)block -{ - NSInteger retIndex = [self addButtonWithTitle:title]; - - if (block) - { - NSNumber *key = [NSNumber numberWithInteger:retIndex]; - [_actionsPerIndex setObject:[block copy] forKey:key]; - } - - return retIndex; -} - -- (NSInteger)addDestructiveButtonWithTitle:(NSString *)title block:(DTActionSheetBlock)block -{ - NSInteger retIndex = [self addButtonWithTitle:title block:block]; - [self setDestructiveButtonIndex:retIndex]; - - return retIndex; -} - -- (NSInteger)addCancelButtonWithTitle:(NSString *)title -{ - return [self addCancelButtonWithTitle:title block:nil]; -} - -- (NSInteger)addCancelButtonWithTitle:(NSString *)title block:(DTActionSheetBlock)block -{ - NSInteger retIndex = [self addButtonWithTitle:title block:block]; - [self setCancelButtonIndex:retIndex]; - - return retIndex; -} - -#pragma mark - UIActionSheetDelegate (forwarded) - -- (void)actionSheetCancel:(UIActionSheet *)actionSheet -{ - if ([self.actionSheetDelegate respondsToSelector:@selector(actionSheetCancel:)]) - { - [self.actionSheetDelegate actionSheetCancel:actionSheet]; - } -} - -- (void)willPresentActionSheet:(UIActionSheet *)actionSheet -{ - if ([self.actionSheetDelegate respondsToSelector:@selector(willPresentActionSheet:)]) - { - [self.actionSheetDelegate willPresentActionSheet:actionSheet]; - } -} - -- (void)didPresentActionSheet:(UIActionSheet *)actionSheet -{ - if ([self.actionSheetDelegate respondsToSelector:@selector(didPresentActionSheet:)]) - { - [self.actionSheetDelegate didPresentActionSheet:actionSheet]; - } -} - -- (void)actionSheet:(UIActionSheet *)actionSheet willDismissWithButtonIndex:(NSInteger)buttonIndex -{ - if ([self.actionSheetDelegate respondsToSelector:@selector(actionSheet:willDismissWithButtonIndex:)]) - { - [self.actionSheetDelegate actionSheet:actionSheet willDismissWithButtonIndex:buttonIndex]; - } -} - -- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex -{ - if ([self.actionSheetDelegate respondsToSelector:@selector(actionSheet:didDismissWithButtonIndex:)]) - { - [self.actionSheetDelegate actionSheet:actionSheet didDismissWithButtonIndex:buttonIndex]; - } -} - -- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex -{ - NSNumber *key = [NSNumber numberWithInteger:buttonIndex]; - - DTActionSheetBlock block = [_actionsPerIndex objectForKey:key]; - - if (block) - { - block(); - } - - if ([self.actionSheetDelegate respondsToSelector:@selector(actionSheet:clickedButtonAtIndex:)]) - { - [self.actionSheetDelegate actionSheet:actionSheet clickedButtonAtIndex:buttonIndex]; - } -} - -#pragma mark - Properties - -- (void)setDelegate:(id )delegate -{ - if (delegate) - { - NSLog(@"Calling setDelegate is not supported! Use setActionSheetDelegate instead"); - } -} - -@end diff --git a/Classes/Utils/DTFoundation/DTAlertView.h b/Classes/Utils/DTFoundation/DTAlertView.h deleted file mode 100644 index 69a4461c1..000000000 --- a/Classes/Utils/DTFoundation/DTAlertView.h +++ /dev/null @@ -1,57 +0,0 @@ -// -// DTAlertView.h -// DTFoundation -// -// Created by Oliver Drobnik on 11/22/12. -// Copyright (c) 2012 Cocoanetics. All rights reserved. -// - -#import "DTWeakSupport.h" - - -// the block to execute when an alert button is tapped -typedef void (^DTAlertViewBlock)(void); - -/** - Extends UIAlertView with support for blocks. - */ - -@interface DTAlertView : UIAlertView - -/** -* Initializes the alert view. Add buttons and their blocks afterwards. - @param title The alert title - @param message The alert message -*/ -- (id)initWithTitle:(NSString *)title message:(NSString *)message; - -/** - Adds a button to the alert view - - @param title The title of the new button. - @param block The block to execute when the button is tapped. - @returns The index of the new button. Button indices start at 0 and increase in the order they are added. - */ -- (NSInteger)addButtonWithTitle:(NSString *)title block:(DTAlertViewBlock)block; - -/** - Same as above, but for a cancel button. - @param title The title of the cancel button. - @param block The block to execute when the button is tapped. - @returns The index of the new button. Button indices start at 0 and increase in the order they are added. - */ -- (NSInteger)addCancelButtonWithTitle:(NSString *)title block:(DTAlertViewBlock)block; - -/** - Set a block to be run on alertViewCancel:. - @param block The block to execute. - */ -- (void)setCancelBlock:(DTAlertViewBlock)block; - - -/** - * Use the alertViewDelegate when you want to to receive UIAlertViewDelegate messages. - */ -@property (nonatomic, DT_WEAK_PROPERTY) id alertViewDelegate; - -@end diff --git a/Classes/Utils/DTFoundation/DTAlertView.m b/Classes/Utils/DTFoundation/DTAlertView.m deleted file mode 100644 index 9bf0211f1..000000000 --- a/Classes/Utils/DTFoundation/DTAlertView.m +++ /dev/null @@ -1,183 +0,0 @@ -// -// DTAlertView.m -// DTFoundation -// -// Created by Oliver Drobnik on 11/22/12. -// Copyright (c) 2012 Cocoanetics. All rights reserved. -// - -#import "DTAlertView.h" - -@interface DTAlertView() - -@end - -@implementation DTAlertView -{ - NSMutableDictionary *_actionsPerIndex; - - DTAlertViewBlock _cancelBlock; -} - -- (void)dealloc -{ - [super setDelegate:nil]; - self.alertViewDelegate = nil; -} - -// designated initializer -- (id)init -{ - self = [super init]; - if (self) - { - _actionsPerIndex = [[NSMutableDictionary alloc] init]; - [super setDelegate:self]; - } - return self; -} - -- (id)initWithTitle:(NSString *)title message:(NSString *)message -{ - return [self initWithTitle:title message:message delegate:nil cancelButtonTitle:nil otherButtonTitles:nil]; -} - -- (id)initWithTitle:(NSString *)title message:(NSString *)message delegate:(id)delegate cancelButtonTitle:(NSString *)cancelButtonTitle otherButtonTitles:(NSString *)otherButtonTitles, ... -{ - self = [self init]; - if (self) - { - self.title = title; - self.message = message; - - if (otherButtonTitles != nil) { - [self addButtonWithTitle:otherButtonTitles]; - va_list args; - va_start(args, otherButtonTitles); - NSString *title = nil; - while( (title = va_arg(args, NSString *)) ) { - [self addButtonWithTitle:title]; - } - va_end(args); - } - if (cancelButtonTitle) { - [self addCancelButtonWithTitle:cancelButtonTitle block:nil]; - } - - self.alertViewDelegate = delegate; - } - return self; -} - -- (NSInteger)addButtonWithTitle:(NSString *)title block:(DTAlertViewBlock)block -{ - NSInteger retIndex = [self addButtonWithTitle:title]; - - if (block) - { - NSNumber *key = [NSNumber numberWithInteger:retIndex]; - [_actionsPerIndex setObject:[block copy] forKey:key]; - } - - return retIndex; -} - -- (NSInteger)addCancelButtonWithTitle:(NSString *)title block:(DTAlertViewBlock)block -{ - NSInteger retIndex = [self addButtonWithTitle:title block:block]; - [self setCancelButtonIndex:retIndex]; - - return retIndex; -} - -- (void)setCancelBlock:(DTAlertViewBlock)block -{ - _cancelBlock = block; -} - -# pragma mark - UIAlertViewDelegate - -- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex -{ - NSNumber *key = [NSNumber numberWithInteger:buttonIndex]; - - DTAlertViewBlock block = [_actionsPerIndex objectForKey:key]; - if (block) - { - block(); - } - - if ([self.alertViewDelegate respondsToSelector:@selector(alertView:clickedButtonAtIndex:)]) - { - [self.alertViewDelegate alertView:self clickedButtonAtIndex:buttonIndex]; - } -} - -- (void)alertViewCancel:(UIAlertView *)alertView -{ - if (_cancelBlock) - { - _cancelBlock(); - } - - if ([self.alertViewDelegate respondsToSelector:@selector(alertViewCancel:)]) - { - [self.alertViewDelegate alertViewCancel:self]; - } -} - -- (void)willPresentAlertView:(UIAlertView *)alertView -{ - if ([self.alertViewDelegate respondsToSelector:@selector(willPresentAlertView:)]) - { - [self.alertViewDelegate willPresentAlertView:self]; - } -} - -- (void)didPresentAlertView:(UIAlertView *)alertView -{ - if ([self.alertViewDelegate respondsToSelector:@selector(didPresentAlertView:)]) - { - [self.alertViewDelegate didPresentAlertView:self]; - } -} - -- (void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex -{ - if ([self.alertViewDelegate respondsToSelector:@selector(alertView:willDismissWithButtonIndex:)]) - { - [self.alertViewDelegate alertView:self willDismissWithButtonIndex:buttonIndex]; - } -} - -- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex -{ - if ([self.alertViewDelegate respondsToSelector:@selector(alertView:didDismissWithButtonIndex:)]) - { - [self.alertViewDelegate alertView:self didDismissWithButtonIndex:buttonIndex]; - } -} - -- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView -{ - if ([self.alertViewDelegate respondsToSelector:@selector(alertViewShouldEnableFirstOtherButton:)]) - { - return [self.alertViewDelegate alertViewShouldEnableFirstOtherButton:self]; - } - - return YES; -} - - -#pragma mark - Properties - - -- (void)setDelegate:(id )delegate -{ - if (delegate) - { - NSLog(@"Calling setDelegate is not supported! Use setAlertViewDelegate instead"); - } -} - -@end diff --git a/Classes/Utils/DTFoundation/DTWeakSupport.h b/Classes/Utils/DTFoundation/DTWeakSupport.h deleted file mode 100644 index a74444baf..000000000 --- a/Classes/Utils/DTFoundation/DTWeakSupport.h +++ /dev/null @@ -1,33 +0,0 @@ -// -// DTWeakSupport.h -// DTFoundation -// -// Created by Oliver Drobnik on 6/3/13. -// Copyright (c) 2013 Cocoanetics. All rights reserved. -// - -/** - Useful defines for building code the compiles with zeroing weak references if the deployment target allows it. This is possible from minimum supported iOS 5.0 and OS X 10.7 and above. Note that on OS X 10.7 some AppKit classes do not support having a weak ref, e.g. NSWindowController or NSViewController. - */ - -#import - -#if __has_feature(objc_arc_weak) - -// zeroing weak refs are supported for ivars and properties -#define DT_WEAK_VARIABLE __weak -#define DT_WEAK_PROPERTY weak - -#elif __has_feature(objc_arc) - -/// zeroing weak refs not supported, fall back to unsafe unretained and assigning -#define DT_WEAK_VARIABLE __unsafe_unretained -#define DT_WEAK_PROPERTY assign - -#else - -// define something, as this header might be included in a non-ARC project for using compiled code from an ARC static lib -#define DT_WEAK_VARIABLE -#define DT_WEAK_PROPERTY assign - -#endif \ No newline at end of file diff --git a/Classes/Utils/FastAddressBook.h b/Classes/Utils/FastAddressBook.h deleted file mode 100644 index a51d824ae..000000000 --- a/Classes/Utils/FastAddressBook.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import - -#include "linphone/linphonecore.h" -#include "Contact.h" - -@interface FastAddressBook : NSObject - -@property(readonly, nonatomic) NSMutableDictionary *addressBookMap; -@property BOOL needToUpdate; - -- (void)fetchContactsInBackGroundThread; -- (BOOL)deleteContact:(Contact *)contact; -- (BOOL)deleteCNContact:(CNContact *)CNContact; -- (BOOL)deleteAllContacts; -- (BOOL)saveContact:(Contact *)contact; -- (BOOL)saveCNContact:(CNContact *)CNContact contact:(Contact *)Contact; -- (void)reloadFriends; -- (void)clearFriends; - -- (void)dumpContactsDisplayNamesToUserDefaults; -- (void)removeContactFromUserDefaults:(Contact *)contact; - -+ (BOOL)isAuthorized; - -// TOOLS - -+ (Contact *)getContactWithAddress:(const LinphoneAddress *)address; -- (CNContact *)getCNContactFromContact:(Contact *)acontact; - -+ (UIImage *)imageForContact:(Contact *)contact; -+ (UIImage *)imageForAddress:(const LinphoneAddress *)addr; -+ (UIImage *)imageForSecurityLevel:(LinphoneChatRoomSecurityLevel)level; - -+ (BOOL)contactHasValidSipDomain:(Contact *)person; -+ (BOOL)isSipURIValid:(NSString*)addr; - -+ (NSString *)displayNameForContact:(Contact *)person; -+ (NSString *)ogrganizationForContact:(Contact *)person; -+ (NSString *)displayNameForAddress:(const LinphoneAddress *)addr; - -+ (BOOL)isSipURI:(NSString *)address; -+ (BOOL)isSipAddress:(CNLabeledValue *)sipAddr; -+ (NSString *)normalizeSipURI:(NSString *)address use_prefix:(BOOL)use_prefix; - -+ (NSString *)localizedLabel:(NSString *)label; -- (void)registerAddrsFor:(Contact *)contact; - -@end diff --git a/Classes/Utils/FastAddressBook.m b/Classes/Utils/FastAddressBook.m deleted file mode 100644 index 1fc2639d5..000000000 --- a/Classes/Utils/FastAddressBook.m +++ /dev/null @@ -1,650 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifdef __IPHONE_9_0 -#import -#endif -#import "FastAddressBook.h" -#import "LinphoneManager.h" -#import "ContactsListView.h" -#import "Utils.h" -#import "linphoneapp-Swift.h" - -@implementation FastAddressBook { - CNContactStore* store; -} - -+ (UIImage *)imageForContact:(Contact *)contact { - @synchronized(LinphoneManager.instance.fastAddressBook.addressBookMap) { - UIImage *retImage = nil; - if (retImage == nil) { - retImage = contact.friend && linphone_friend_get_addresses(contact.friend) ? - [AvatarBridge imageForAddressWithAddress:linphone_friend_get_addresses(contact.friend)->data] : - [AvatarBridge imageForInitialsWithContact:contact displayName:[contact displayName]]; - } - if (retImage.size.width != retImage.size.height) { - retImage = [retImage squareCrop]; - } - return retImage; - } -} - -+ (UIImage *)imageForAddress:(const LinphoneAddress *)addr { - if ([LinphoneManager isMyself:addr] && [LinphoneUtils hasSelfAvatar]) { - return [LinphoneUtils selfAvatar]; - } - return [AvatarBridge imageForAddressWithAddress:addr]; -} - -+ (UIImage *)imageForSecurityLevel:(LinphoneChatRoomSecurityLevel)level { - switch (level) { - case LinphoneChatRoomSecurityLevelUnsafe: - return [UIImage imageNamed:@"security_alert_indicator.png"]; - case LinphoneChatRoomSecurityLevelEncrypted: - return [UIImage imageNamed:@"security_1_indicator.png.png"]; - case LinphoneChatRoomSecurityLevelSafe: - return [UIImage imageNamed:@"security_2_indicator.png.png"]; - - default: - return nil; - } -} - -+ (Contact *)getContact:(NSString *)address { - if (LinphoneManager.instance.fastAddressBook != nil) { - @synchronized(LinphoneManager.instance.fastAddressBook.addressBookMap) { - return [LinphoneManager.instance.fastAddressBook.addressBookMap objectForKey:address]; - } - } - return nil; -} - -+ (Contact *)getContactWithAddress:(const LinphoneAddress *)address { - Contact *contact = nil; - if (address) { - char *uri = linphone_address_as_string_uri_only(address); - NSString *normalizedSipAddress = [FastAddressBook normalizeSipURI:[NSString stringWithUTF8String:uri] use_prefix:TRUE]; - contact = [FastAddressBook getContact:normalizedSipAddress]; - ms_free(uri); - - if (!contact) { - LinphoneFriend *friend = linphone_core_find_friend(LC, address); - bctbx_list_t *number_list = linphone_friend_get_phone_numbers(friend); - bctbx_list_t *it; - for (it = number_list ; it != NULL; it = it->next) { - NSString *phone = [NSString stringWithUTF8String:it->data]; - LinphoneAccount *account = linphone_core_get_default_account(LC); - - if (account) { - char *normvalue = linphone_account_normalize_phone_number(account, phone.UTF8String); - LinphoneAddress *addr = linphone_account_normalize_sip_uri(account, normvalue); - char *phone_addr = linphone_address_as_string_uri_only(addr); - contact = [FastAddressBook getContact:[NSString stringWithUTF8String:phone_addr]]; - ms_free(phone_addr); - linphone_address_unref(addr); - bctbx_free(normvalue); - } else { - contact = [FastAddressBook getContact:phone]; - } - - if (contact) { - break; - } - } - bctbx_list_free(number_list); - } - } - - return contact; -} - -+ (BOOL)isSipURI:(NSString *)address { - return [address hasPrefix:@"sip:"] || [address hasPrefix:@"sips:"]; -} - -+ (BOOL)isSipAddress:(CNLabeledValue *)sipAddr { - NSString *username = sipAddr.value.username; - NSString *service = sipAddr.value.service; - LOGI(@"Parsing contact with username : %@ and service : %@", username, service); - if (!username || [username isEqualToString:@""]) - return FALSE; - - if (!service || [service isEqualToString:@""]) - return [FastAddressBook isSipURI:username]; - - // use caseInsensitiveCompare, because ios13 saves "SIP" by "Sip" - if ([service caseInsensitiveCompare:LinphoneManager.instance.contactSipField] == NSOrderedSame) - return TRUE; - - return FALSE; -} - -+ (NSString *)normalizeSipURI:(NSString *)address use_prefix:(BOOL)use_prefix { - // replace all whitespaces (non-breakable, utf8 nbsp etc.) by the "classical" whitespace - NSString *normalizedSipAddress = nil; - LinphoneAddress *addr = linphone_core_interpret_url_2(LC, [address UTF8String], use_prefix); - if (addr != NULL) { - linphone_address_clean(addr); - char *tmp = linphone_address_as_string(addr); - normalizedSipAddress = [NSString stringWithUTF8String:tmp]; - ms_free(tmp); - linphone_address_destroy(addr); - return normalizedSipAddress; - }else { - normalizedSipAddress = [[address componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] componentsJoinedByString:@" "]; - return normalizedSipAddress; - } -} - -+ (BOOL)isAuthorized { - return ![LinphoneManager.instance lpConfigBoolForKey:@"enable_native_address_book"] || [CNContactStore authorizationStatusForEntityType:CNEntityTypeContacts] == CNAuthorizationStatusAuthorized; -} - -- (FastAddressBook *)init { - if ((self = [super init]) != nil) { - store = [[CNContactStore alloc] init]; - _addressBookMap = [NSMutableDictionary dictionary]; - - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(onPresenceChanged:) - name:kLinphoneNotifyPresenceReceivedForUriOrTel - object:nil]; - } - self.needToUpdate = FALSE; - if (floor(NSFoundationVersionNumber) >= NSFoundationVersionNumber_iOS_9_x_Max) { - if ([CNContactStore class]) { - // ios9 or later - if (store == NULL) - store = [[CNContactStore alloc] init]; - [self fetchContactsInBackGroundThread]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateAddressBook:) name:CNContactStoreDidChangeNotification object:nil]; - } - } - return self; -} - -- (void) loadLinphoneFriends { - // load Linphone friends - const MSList *lists = linphone_core_get_friends_lists(LC); - while (lists) { - LinphoneFriendList *fl = lists->data; - const MSList *friends = linphone_friend_list_get_friends(fl); - while (friends) { - LinphoneFriend *f = friends->data; - // only append friends that are not native contacts (already added - // above) - if (linphone_friend_get_ref_key(f) == NULL) { - Contact *contact = [[Contact alloc] initWithFriend:f]; - contact.createdFromLdapOrProvisioning = true; - [self registerAddrsFor:contact]; - } - friends = friends->next; - } - linphone_friend_list_update_subscriptions(fl); - lists = lists->next; - } - [self dumpContactsDisplayNamesToUserDefaults]; - - [NSNotificationCenter.defaultCenter - postNotificationName:kLinphoneAddressBookUpdate - object:self]; -} - -- (void) fetchContactsInBackGroundThread{ - [_addressBookMap removeAllObjects]; - _addressBookMap = [NSMutableDictionary dictionary]; - - if ([LinphoneManager.instance lpConfigBoolForKey:@"enable_native_address_book"]) { - CNEntityType entityType = CNEntityTypeContacts; - [store requestAccessForEntityType:entityType completionHandler:^(BOOL granted, NSError *_Nullable error) { - BOOL success = FALSE; - if(granted){ - LOGD(@"CNContactStore authorization granted"); - - NSError *contactError; - CNContactStore* store = [[CNContactStore alloc] init]; - [store containersMatchingPredicate:[CNContainer predicateForContainersWithIdentifiers:@[ store.defaultContainerIdentifier]] error:&contactError]; - NSArray *keysToFetch = @[ - CNContactEmailAddressesKey, CNContactPhoneNumbersKey, - CNContactFamilyNameKey, CNContactGivenNameKey, CNContactNicknameKey, - CNContactPostalAddressesKey, CNContactIdentifierKey, - CNInstantMessageAddressUsernameKey, CNContactInstantMessageAddressesKey, - CNInstantMessageAddressUsernameKey, CNContactImageDataKey, CNContactOrganizationNameKey - ]; - CNContactFetchRequest *request = [[CNContactFetchRequest alloc] initWithKeysToFetch:keysToFetch]; - - success = [store enumerateContactsWithFetchRequest:request error:&contactError usingBlock:^(CNContact *__nonnull contact, BOOL *__nonnull stop) { - if (contactError) { - NSLog(@"error fetching contacts %@", - contactError); - } else { - Contact *newContact = [[Contact alloc] initWithCNContact:contact]; - [self registerAddrsFor:newContact]; - } - }]; - } - [self loadLinphoneFriends]; - }]; - } else { - [self loadLinphoneFriends]; - } - - -} - --(void) updateAddressBook:(NSNotification*) notif { - LOGD(@"address book has changed"); - self.needToUpdate = TRUE; -} - -- (void)registerAddrsFor:(Contact *)contact { - if (!contact) - return; - - Contact* mContact = contact; - if (!_addressBookMap) - return; - - LinphoneAccount *account = linphone_core_get_default_account(LC); - - for (NSString *phone in mContact.phones) { - char *normalizedPhone = account? linphone_account_normalize_phone_number(account, phone.UTF8String) : nil; - NSString *name = [FastAddressBook normalizeSipURI:(normalizedPhone ? [NSString stringWithUTF8String:normalizedPhone] : phone) use_prefix:TRUE]; - if (phone != NULL) - [_addressBookMap setObject:mContact forKey:(name ?: [FastAddressBook localizedLabel:phone])]; - - if (normalizedPhone) - ms_free(normalizedPhone); - } - - for (NSString *sip in mContact.sipAddresses) - [_addressBookMap setObject:mContact forKey:([FastAddressBook normalizeSipURI:sip use_prefix:TRUE] ?: sip)]; -} - -#pragma mark - Tools - -+ (NSString *)localizedLabel:(NSString *)label { - if (label) - return [CNLabeledValue localizedStringForLabel:label]; - - return @""; -} - -+ (BOOL)contactHasValidSipDomain:(Contact *)contact { - if (!contact) - return NO; - - // Check if one of the contact' sip URI matches the expected SIP filter - NSString *domain = LinphoneManager.instance.contactFilter; - - for (NSString *sip in contact.sipAddresses) { - // check domain - LinphoneAddress *address = linphone_core_interpret_url_2(LC, sip.UTF8String, true); - if (address) { - const char *dom = linphone_address_get_domain(address); - BOOL match = false; - if (dom != NULL) { - NSString *contactDomain = [NSString stringWithCString:dom encoding:[NSString defaultCStringEncoding]]; - match = (([domain compare:@"*" options:NSCaseInsensitiveSearch] == NSOrderedSame) || - ([domain compare:contactDomain options:NSCaseInsensitiveSearch] == NSOrderedSame)); - } - linphone_address_destroy(address); - if (match) - return YES; - } - } - return NO; -} - -+ (BOOL) isSipURIValid:(NSString*)addr { - NSString *domain = LinphoneManager.instance.contactFilter; - LinphoneAddress* address = linphone_core_interpret_url_2(LC, addr.UTF8String, true); - if (address) { - const char *dom = linphone_address_get_domain(address); - BOOL match = false; - if (dom != NULL) { - NSString *contactDomain = [NSString stringWithCString:dom encoding:[NSString defaultCStringEncoding]]; - match = (([domain compare:@"*" options:NSCaseInsensitiveSearch] == NSOrderedSame) || - ([domain compare:contactDomain options:NSCaseInsensitiveSearch] == NSOrderedSame)); - } - linphone_address_destroy(address); - if (match) { - return YES; - } - } - return NO; -} - -+ (NSString *)displayNameForContact:(Contact *)contact { - return contact.displayName; -} -+ (NSString *)ogrganizationForContact:(Contact *)contact { - return contact.organizationName; -} - -+ (NSString *)displayNameForAddress:(const LinphoneAddress *)addr { - Contact *contact = [FastAddressBook getContactWithAddress:addr]; - if (contact && ![contact.displayName isEqualToString:NSLocalizedString(@"Unknown", nil)]) - return [FastAddressBook displayNameForContact:contact]; - - LinphoneFriend *friend = linphone_core_find_friend(LC, addr); - if (friend) - return [NSString stringWithUTF8String:linphone_friend_get_name(friend)]; - - const char *displayName = linphone_address_get_display_name(addr); - if (displayName) - return [NSString stringWithUTF8String:displayName]; - - const char *userName = linphone_address_get_username(addr); - if (userName) - return [NSString stringWithUTF8String:userName]; - - return NSLocalizedString(@"Unknown", nil); -} - - -- (CNContact *)getCNContactFromContact:(Contact *)acontact { - NSArray *keysToFetch = @[ - CNContactEmailAddressesKey, CNContactPhoneNumbersKey, - CNContactFamilyNameKey, CNContactGivenNameKey, CNContactPostalAddressesKey, - CNContactIdentifierKey, CNContactInstantMessageAddressesKey, - CNInstantMessageAddressUsernameKey, CNContactImageDataKey, CNContactOrganizationNameKey - ]; - CNMutableContact *mCNContact = - [[store unifiedContactWithIdentifier:acontact.identifier - keysToFetch:keysToFetch - error:nil] mutableCopy]; - return mCNContact; -} - -- (BOOL)deleteCNContact:(CNContact *)contact { - return TRUE;//[self deleteContact:] ; -} - -- (BOOL)deleteContact:(Contact *)contact { - [self removeContactFromUserDefaults:contact]; - - CNSaveRequest *saveRequest = [[CNSaveRequest alloc] init]; - NSArray *keysToFetch = @[ - CNContactEmailAddressesKey, CNContactPhoneNumbersKey, - CNContactInstantMessageAddressesKey, CNInstantMessageAddressUsernameKey, - CNContactFamilyNameKey, CNContactGivenNameKey, CNContactPostalAddressesKey, - CNContactIdentifierKey, CNContactImageDataKey, CNContactNicknameKey - ]; - CNMutableContact *mCNContact = - [[store unifiedContactWithIdentifier:contact.identifier - keysToFetch:keysToFetch - error:nil] mutableCopy]; - if(mCNContact != nil){ - [saveRequest deleteContact:mCNContact]; - @try { - [self removeFriend:contact ]; - [LinphoneManager.instance setContactsUpdated:TRUE]; - if([contact.sipAddresses count] > 0){ - for (NSString *sip in contact.sipAddresses) { - [_addressBookMap removeObjectForKey:([FastAddressBook normalizeSipURI:sip use_prefix:TRUE] ?: sip)]; - } - } - if([contact.phones count] > 0){ - for (NSString *phone in contact.phones) { - [_addressBookMap removeObjectForKey:([FastAddressBook normalizeSipURI:phone use_prefix:TRUE] ?: phone)]; - } - } - BOOL success = [store executeSaveRequest:saveRequest error:nil]; - NSLog(@"Success %d", success); - } @catch (NSException *exception) { - NSLog(@"description = %@", [exception description]); - return FALSE; - } - } - return TRUE; -} - - -- (BOOL)deleteAllContacts { - NSArray *keys = @[ CNContactPhoneNumbersKey ]; - NSString *containerId = store.defaultContainerIdentifier; - NSPredicate *predicate = [CNContact predicateForContactsInContainerWithIdentifier:containerId]; - NSError *error; - NSArray *cnContacts = [store unifiedContactsMatchingPredicate:predicate - keysToFetch:keys - error:&error]; - if (error) { - NSLog(@"error fetching contacts %@", error); - return FALSE; - } else { - CNSaveRequest *saveRequest = [[CNSaveRequest alloc] init]; - for (CNContact *contact in cnContacts) { - [saveRequest deleteContact:[contact mutableCopy]]; - } - @try { - NSLog(@"Success %d", [store executeSaveRequest:saveRequest error:nil]); - } @catch (NSException *exception) { - NSLog(@"description = %@", [exception description]); - return FALSE; - } - NSLog(@"Deleted contacts %lu", (unsigned long)cnContacts.count); - } - return TRUE; -} - -- (BOOL)saveContact:(Contact *)contact { - return [self saveCNContact:contact.person contact:contact]; -} - -- (BOOL)saveCNContact:(CNContact *)cNContact contact:(Contact *)contact { - CNSaveRequest *saveRequest = [[CNSaveRequest alloc] init]; - NSArray *keysToFetch = @[ - CNContactEmailAddressesKey, CNContactPhoneNumbersKey, - CNContactInstantMessageAddressesKey, CNInstantMessageAddressUsernameKey, - CNContactFamilyNameKey, CNContactGivenNameKey, CNContactPostalAddressesKey, - CNContactIdentifierKey, CNContactImageDataKey, CNContactNicknameKey, CNContactOrganizationNameKey - ]; - CNMutableContact *mCNContact = - [[store unifiedContactWithIdentifier:contact.identifier - keysToFetch:keysToFetch - error:nil] mutableCopy]; - if(mCNContact == NULL){ - [saveRequest addContact:[cNContact mutableCopy] toContainerWithIdentifier:nil]; - }else{ - [mCNContact setGivenName:contact.firstName]; - [mCNContact setFamilyName:contact.lastName]; - [mCNContact setNickname:contact.displayName]; - [mCNContact setOrganizationName:contact.organizationName]; - [mCNContact setPhoneNumbers:contact.person.phoneNumbers]; - [mCNContact setEmailAddresses:contact.person.emailAddresses]; - [mCNContact setInstantMessageAddresses:contact.person.instantMessageAddresses]; - [mCNContact setImageData:UIImageJPEGRepresentation(contact.avatar, 0.9f)]; - - [saveRequest updateContact:mCNContact]; - } - NSError *saveError; - @try { - [self updateFriend:contact]; - [LinphoneManager.instance setContactsUpdated:TRUE]; - NSLog(@"Success %d", [store executeSaveRequest:saveRequest error:&saveError]); - } @catch (NSException *exception) { - NSLog(@"=====>>>>> CNContact SaveRequest failed : description = %@", [exception description]); - return FALSE; - } - [self fetchContactsInBackGroundThread]; - return TRUE; -} - --(void)updateFriend:(Contact*) contact{ - bctbx_list_t *phonesList = linphone_friend_get_phone_numbers(contact.friend); - for (NSString *phone in contact.phones) { - if(!(bctbx_list_find(phonesList, [phone UTF8String]))){ - linphone_friend_edit(contact.friend); - linphone_friend_add_phone_number(contact.friend, [phone UTF8String]); - linphone_friend_enable_subscribes(contact.friend, TRUE); - linphone_friend_done(contact.friend); - } - } - - BOOL enabled = [LinphoneManager.instance lpConfigBoolForKey:@"use_rls_presence"]; - const MSList *lists = linphone_core_get_friends_lists(LC); - while (lists) { - linphone_friend_list_enable_subscriptions(lists->data, FALSE); - linphone_friend_list_enable_subscriptions(lists->data, enabled); - linphone_friend_list_update_subscriptions(lists->data); - lists = lists->next; - } -} - --(void)removeFriend:(Contact*) contact{ - BOOL enabled = [LinphoneManager.instance lpConfigBoolForKey:@"use_rls_presence"]; - const MSList *lists = linphone_core_get_friends_lists(LC); - while (lists) { - linphone_friend_list_remove_friend(lists->data, contact.friend); - linphone_friend_list_enable_subscriptions(lists->data, FALSE); - linphone_friend_list_enable_subscriptions(lists->data, enabled); - linphone_friend_list_update_subscriptions(lists->data); - lists = lists->next; - } -} - -- (void)reloadFriends { - dispatch_async(dispatch_get_main_queue(), ^{ - [_addressBookMap enumerateKeysAndObjectsUsingBlock:^(NSString *name, Contact *contact, BOOL *stop) { - [contact reloadFriend]; - }]; - }); -} - -- (void)clearFriends { - [_addressBookMap enumerateKeysAndObjectsUsingBlock:^(NSString *name, Contact *contact, BOOL *stop) { - [contact clearFriend]; - }]; -} - -- (void)dumpContactsDisplayNamesToUserDefaults { - LOGD(@"dumpContactsDisplayNamesToUserDefaults"); - NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:kLinphoneMsgNotificationAppGroupId]; - __block NSDictionary *oldDisplayNames = [defaults dictionaryForKey:@"addressBook"]; - LinphoneAccount *account = linphone_core_get_default_account(LC); - - __block NSMutableDictionary *displayNames = [[NSMutableDictionary dictionary] init]; - [_addressBookMap enumerateKeysAndObjectsUsingBlock:^(NSString *name, Contact *contact, BOOL *stop) { - if ([FastAddressBook isSipURIValid:name]) { - NSString *key = name; - LinphoneAddress *addr = linphone_address_new(name.UTF8String); - - if (addr && linphone_account_is_phone_number(account, linphone_address_get_username(addr))) { - if (oldDisplayNames[name] != nil && [FastAddressBook isSipURI:oldDisplayNames[name]]) { - NSString *addrForTel = [NSString stringWithString:oldDisplayNames[name]]; - /* we keep the link between tel number and sip addr to have the information quickly. - If we don't do that, between the startup and presence callback we don't have the dispay name for this address */ - LOGD(@"add %s -> %s link to userdefaults", name.UTF8String, addrForTel.UTF8String); - [displayNames setObject:addrForTel forKey:name]; - key = addrForTel; - } - } - LOGD(@"add %s to userdefaults", key.UTF8String); - [displayNames setObject:[contact displayName] forKey:key]; - linphone_address_unref(addr); - } else { - LOGD(@"cannot add %s to userdefaults: bad sip address", name.UTF8String); - } - }]; - - [defaults setObject:displayNames forKey:@"addressBook"]; -} - -- (void)removeContactFromUserDefaults:(Contact *)contact { - LOGD(@"removeContactFromUserDefaults contact: [%p]", contact); - NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:kLinphoneMsgNotificationAppGroupId]; - NSMutableDictionary *displayNames = [[NSMutableDictionary alloc] initWithDictionary:[defaults dictionaryForKey:@"addressBook"]]; - if (displayNames == nil) return; - - - LinphoneAccount *account = linphone_core_get_default_account(LC); - for (NSString *phone in contact.phones) { - char *normalizedPhone = account? linphone_account_normalize_phone_number(account, phone.UTF8String) : nil; - NSString *name = [FastAddressBook normalizeSipURI:(normalizedPhone ? [NSString stringWithUTF8String:normalizedPhone] : phone) use_prefix:TRUE]; - if (phone != NULL) { - if ([FastAddressBook isSipURI:displayNames[name]]) { - LOGD(@"removed %s from userdefaults addressBook", ((NSString *)displayNames[name]).UTF8String); - [displayNames removeObjectForKey:displayNames[name]]; - } - [displayNames removeObjectForKey:name]; - LOGD(@"removed %s from userdefaults addressBook", ((NSString *)name).UTF8String); - } - - if (normalizedPhone) - ms_free(normalizedPhone); - } - - NSMutableArray *addresses = contact.sipAddresses; - for (id addr in addresses) { - [displayNames removeObjectForKey:addr]; - LOGD(@"removed %s from userdefaults addressBook", ((NSString *)addr).UTF8String); - } - - [defaults setObject:displayNames forKey:@"addressBook"]; -} - -- (void)onPresenceChanged:(NSNotification *)k { - NSString *uri = [NSString stringWithUTF8String:[[k.userInfo valueForKey:@"uri"] pointerValue]]; - NSString *telAddr; - - if ([FastAddressBook isSipURI:uri]) { - LinphoneAddress *addr = linphone_address_new(uri.UTF8String); - if (linphone_account_is_phone_number(linphone_core_get_default_account(LC), linphone_address_get_username(addr))) { - telAddr = uri; - } - linphone_address_unref(addr); - } else { - telAddr = [FastAddressBook normalizeSipURI:uri use_prefix:TRUE]; - } - - if (telAddr) { - LOGD(@"presence changed for tel [%s]", telAddr.UTF8String); - - NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:kLinphoneMsgNotificationAppGroupId]; - NSMutableDictionary *displayNames = [[NSMutableDictionary alloc] initWithDictionary:[defaults dictionaryForKey:@"addressBook"]]; - if (displayNames == nil) return; - - id displayName = [displayNames objectForKey:telAddr]; - if (displayName == nil) return; - - const LinphonePresenceModel *m = [[k.userInfo valueForKey:@"presence_model"] pointerValue]; - char *str = linphone_presence_model_get_contact(m); - if (str == nil) { - return; - } - - NSString *contact = [NSString stringWithUTF8String:str]; - ms_free(str); - NSString *sipAddr = [FastAddressBook normalizeSipURI:contact use_prefix:TRUE]; - - if (sipAddr != nil && [displayNames objectForKey:sipAddr] == nil) { - [displayNames setObject:displayName forKey:sipAddr]; - [displayNames removeObjectForKey:telAddr]; - [displayNames setObject:sipAddr forKey:telAddr]; - LOGD(@"add %s -> %s link to userdefaults", telAddr.UTF8String, sipAddr.UTF8String); - /* we keep the link between tel number and sip addr to have the information on the next startup. - If we don't do that, between the startup and this callback we don't have the dispay name for this address */ - LOGD(@"Replaced %s by %s in userdefaults addressBook", telAddr.UTF8String, sipAddr.UTF8String); - [defaults setObject:displayNames forKey:@"addressBook"]; - } - } -} - -@end diff --git a/Classes/Utils/FileTransferDelegate.h b/Classes/Utils/FileTransferDelegate.h deleted file mode 100644 index a3823f947..000000000 --- a/Classes/Utils/FileTransferDelegate.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "LinphoneManager.h" -#import "ChatConversationView.h" - -@interface FileTransferDelegate : NSObject - -- (void)uploadFileContent: (FileContext *)context forChatRoom:(LinphoneChatRoom *)chatRoom rootMessage:(LinphoneChatMessage *)rootMessage; -- (void)uploadFileContentForSwift: (NSArray*)context urlList:(NSArray*)urls forChatRoom:(LinphoneChatRoom *)chatRoom rootMessage:(LinphoneChatMessage *)rootMessage; -- (void)uploadData:(NSData *)data forChatRoom:(LinphoneChatRoom *)chatRoom type:(NSString *)type subtype:(NSString *)subtype name:(NSString *)name key:(NSString *)key rootMessage:(LinphoneChatMessage *)rootMessage; -- (void)uploadImage:(UIImage *)image forChatRoom:(LinphoneChatRoom *)chatRoom withQuality:(float)quality; -- (void)uploadFile:(NSData *)data forChatRoom:(LinphoneChatRoom *)chatRoom withName:(NSString *)name rootMessage:(LinphoneChatMessage *)rootMessage; -- (void)cancel; -- (BOOL)download:(LinphoneChatMessage *)message; -- (void)stopAndDestroy; -- (void)stopAndDestroyAndRemove:(BOOL)remove; -+ (FileTransferDelegate *)messageDelegate:(LinphoneChatMessage *)message; - -@property() LinphoneChatMessage *message; -@property() NSString *text; -@end diff --git a/Classes/Utils/FileTransferDelegate.m b/Classes/Utils/FileTransferDelegate.m deleted file mode 100644 index c5c2fe0ea..000000000 --- a/Classes/Utils/FileTransferDelegate.m +++ /dev/null @@ -1,315 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "linphoneapp-Swift.h" -#import "FileTransferDelegate.h" -#import "LinphoneManager.h" -#import "PhoneMainView.h" -#import "Utils.h" -#import "linphoneapp-Swift.h" - -@interface FileTransferDelegate () -@property(strong) NSMutableData *data; -@end - -@implementation FileTransferDelegate - -- (void)dealloc { - if (_message != nil) { - [self cancel]; - } -} - -+ (FileTransferDelegate *)messageDelegate:(LinphoneChatMessage *)message { - for (FileTransferDelegate *ftd in [LinphoneManager.instance fileTransferDelegates]) { - if (ftd.message == message) { - return ftd; - } - } - return nil; -} - -static void file_transfer_progress_indication_recv(LinphoneChatMessage *message, LinphoneContent* content, size_t offset, size_t total) { - FileTransferDelegate *thiz = [FileTransferDelegate messageDelegate:message]; - - if (offset == total) { - NSString *name = [NSString stringWithUTF8String: linphone_content_get_name(content) ? : ""]; - LOGI(@"Transfer of %@ (%d bytes): download finished", name, total); - NSString *fileType = [NSString stringWithUTF8String:linphone_content_get_type(content)]; - NSString *key = [ChatConversationViewSwift getKeyFromFileType:fileType fileName:name]; - - dispatch_async(dispatch_get_main_queue(), ^{ - [LinphoneManager setValueInMessageAppData:name - forKey:key - inMessage:message]; - dispatch_async(dispatch_get_main_queue(), ^{ - if (![VFSUtil vfsEnabledWithGroupName:kLinphoneMsgNotificationAppGroupId] && [ConfigManager.instance lpConfigBoolForKeyWithKey:@"auto_write_to_gallery_preference"]) { - [ChatConversationViewSwift writeMediaToGalleryFromName:name fileType:fileType]; - } - }); - }); - } else { - LOGD(@"Transfer of %s (%d bytes): already %ld recv", linphone_content_get_name(content), - total, offset); - [NSNotificationCenter.defaultCenter - postNotificationName:kLinphoneFileTransferRecvUpdate - object:thiz - userInfo:@{ - @"state" : @(linphone_chat_message_get_state(message)), - @"progress" : @(offset * 1.f / total), - }]; - } -} - -static void file_transfer_progress_indication_send(LinphoneChatMessage *message, LinphoneContent* content, size_t offset, size_t total) { - FileTransferDelegate *thiz = [FileTransferDelegate messageDelegate:message]; - if (total) { - size_t remaining = total - offset; - - NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithDictionary:@{ - @"state" : @(linphone_chat_message_get_state(message)), - @"progress" : @(offset * 1.f / total), - }]; - LOGD(@"Transfer of %s (%d bytes): already sent %ld (%f%%), remaining %ld", linphone_content_get_name(content), - total, offset, offset * 100.f / total, remaining); - [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneFileTransferSendUpdate - object:thiz - userInfo:dict]; - // this is the last time we will be notified, so destroy ourselve - if (offset == total) { - LOGI(@"Upload ended"); - - thiz.message = NULL; - [thiz stopAndDestroy]; - } - } else { - LOGE(@"Transfer of %s (%d bytes): %d Error - no upload data in progress!", linphone_content_get_name(content), - total, offset); - } -} - -- (void)uploadData:(NSData *)data forChatRoom:(LinphoneChatRoom *)chatRoom type:(NSString *)type subtype:(NSString *)subtype name:(NSString *)name key:(NSString *)key rootMessage:(LinphoneChatMessage *)rootMessage{ - if ([[LinphoneManager.instance fileTransferDelegates] containsObject:self]) { - LOGW(@"fileTransferDelegates has already added %p", self); - return; - } - [LinphoneManager.instance.fileTransferDelegates addObject:self]; - [ChatConversationViewSwift writeFileInImagesDirectory:data name:name]; - - LinphoneContent *content = linphone_core_create_content(linphone_chat_room_get_core(chatRoom)); - linphone_content_set_type(content, [type UTF8String]); - linphone_content_set_subtype(content, [subtype UTF8String]); - linphone_content_set_name(content, [name UTF8String]); - linphone_content_set_file_path(content, [[LinphoneManager imagesDirectory] stringByAppendingPathComponent:name].UTF8String); - _message = rootMessage? : linphone_chat_room_create_empty_message(chatRoom); - linphone_chat_message_add_file_content(_message, content); - const LinphoneAccountParams *params = linphone_account_get_params(linphone_core_get_default_account(LC)); - BOOL cpimEnabled = linphone_account_params_cpim_in_basic_chat_room_enabled(params); - BOOL basic = [ChatConversationViewSwift isBasicChatRoom:linphone_chat_message_get_chat_room(_message)]; - - if ((!basic || cpimEnabled) && (_text!=nil && ![_text isEqualToString:@""])) - linphone_chat_message_add_utf8_text_content(_message, [_text UTF8String]); - linphone_content_unref(content); - - linphone_chat_message_cbs_set_file_transfer_progress_indication(linphone_chat_message_get_callbacks(_message), file_transfer_progress_indication_send); - - [LinphoneManager setValueInMessageAppData:name forKey:key inMessage:_message]; - - - - LOGI(@"%p Uploading content from message %p", self, _message); - linphone_chat_message_send(_message); - if (basic && !cpimEnabled && (_text!=nil && ![_text isEqualToString:@""])) { - linphone_chat_message_send(linphone_chat_room_create_message_from_utf8(linphone_chat_message_get_chat_room(rootMessage), _text.UTF8String)); - } -} - -- (void)uploadFileContent: (FileContext *)context forChatRoom:(LinphoneChatRoom *)chatRoom rootMessage:(LinphoneChatMessage *)rootMessage{ - [LinphoneManager.instance.fileTransferDelegates addObject:self]; - - _message = rootMessage; - NSMutableArray *names = [[NSMutableArray alloc] init]; - NSMutableArray *types = [[NSMutableArray alloc] init]; - - int i = 0; - for (i = 0; i < [context count]; ++i) { - LinphoneContent *content = linphone_core_create_content(linphone_chat_room_get_core(chatRoom)); - NSString *type = [context.typesArray objectAtIndex:i]; - NSString *name = [context.namesArray objectAtIndex:i]; - NSData *data = [context.datasArray objectAtIndex:i]; - - [ChatConversationView writeFileInImagesDirectory:data name:name]; - - linphone_content_set_type(content, [type UTF8String]); - - linphone_content_set_subtype(content, [name.pathExtension UTF8String]); - linphone_content_set_name(content, [name UTF8String]); - linphone_content_set_file_path(content, [[LinphoneManager imagesDirectory] stringByAppendingPathComponent:name].UTF8String); - [names addObject:name]; - [types addObject:type]; - linphone_chat_message_add_file_content(_message, content); - linphone_content_unref(content); - } - - BOOL basic = [ChatConversationViewSwift isBasicChatRoom:linphone_chat_message_get_chat_room(rootMessage)]; - const LinphoneAccountParams *params = linphone_account_get_params(linphone_core_get_default_account(LC)); - BOOL cpimEnabled = linphone_account_params_cpim_in_basic_chat_room_enabled(params); - - if ((!basic || cpimEnabled) && _text!=nil && ![_text isEqualToString:@""]) - linphone_chat_message_add_utf8_text_content(_message, [_text UTF8String]); - - // todo indication progress - [LinphoneManager setValueInMessageAppData:names forKey:@"multiparts" inMessage:_message]; - [LinphoneManager setValueInMessageAppData:types forKey:@"multipartstypes" inMessage:_message]; - - LOGI(@"%p Uploading content from message %p", self, _message); - linphone_chat_message_send(_message); - if (basic && !cpimEnabled && _text!=nil && ![_text isEqualToString:@""]) { - linphone_chat_message_send(linphone_chat_room_create_message_from_utf8(linphone_chat_message_get_chat_room(rootMessage), _text.UTF8String)); - } -} - -- (void)uploadFileContentForSwift: (NSArray*)context urlList:(NSArray*)urls forChatRoom:(LinphoneChatRoom *)chatRoom rootMessage:(LinphoneChatMessage *)rootMessage{ - [LinphoneManager.instance.fileTransferDelegates addObject:self]; - - _message = rootMessage; - NSMutableArray *names = [[NSMutableArray alloc] init]; - NSMutableArray *types = [[NSMutableArray alloc] init]; - - int i = 0; - for (i = 0; i < [context count]; ++i) { - LinphoneContent *content = linphone_core_create_content(linphone_chat_room_get_core(chatRoom)); - //NSString *type = @"image";//[urls objectAtIndex:i].pathExtension; - - NSString *type = [self getTypeForFileTransferDelegate:[urls objectAtIndex:i].pathExtension.localizedLowercaseString]; - NSString *name = [urls objectAtIndex:i].lastPathComponent; - NSData *data = [context objectAtIndex:i]; - [ChatConversationViewSwift writeFileInImagesDirectory:data name:name]; - - linphone_content_set_type(content, [type UTF8String]); - linphone_content_set_subtype(content, [name.pathExtension UTF8String]); - linphone_content_set_name(content, [name UTF8String]); - linphone_content_set_file_path(content, [[LinphoneManager imagesDirectory] stringByAppendingPathComponent:name].UTF8String); - [names addObject:name]; - [types addObject:type]; - linphone_chat_message_add_file_content(_message, content); - linphone_content_unref(content); - } - - BOOL basic = [ChatConversationViewSwift isBasicChatRoom:linphone_chat_message_get_chat_room(rootMessage)]; - const LinphoneAccountParams *params = linphone_account_get_params(linphone_core_get_default_account(LC)); - BOOL cpimEnabled = linphone_account_params_cpim_in_basic_chat_room_enabled(params); - - if ((!basic || cpimEnabled) && _text!=nil && ![_text isEqualToString:@""]) - linphone_chat_message_add_utf8_text_content(_message, [_text UTF8String]); - - // todo indication progress - [LinphoneManager setValueInMessageAppData:names forKey:@"multiparts" inMessage:_message]; - [LinphoneManager setValueInMessageAppData:types forKey:@"multipartstypes" inMessage:_message]; - - LOGI(@"%p Uploading content from message %p", self, _message); - linphone_chat_message_send(_message); - if (basic && !cpimEnabled && _text!=nil && ![_text isEqualToString:@""]) { - linphone_chat_message_send(linphone_chat_room_create_message_from_utf8(linphone_chat_message_get_chat_room(rootMessage), _text.UTF8String)); - } -} - -- (NSString*)getTypeForFileTransferDelegate:(NSString *)type { - if([type isEqual:@"png"] || [type isEqual:@"jpg"] || [type isEqual:@"jpeg"] || [type isEqual:@"bmp"] || [type isEqual:@"heic"] || [type isEqual:@"file_picture_default"]){ - return @"image"; - }else if([type isEqual:@"mkv"] || [type isEqual:@"avi"] || [type isEqual:@"mov"] || [type isEqual:@"mp4"] || [type isEqual:@"file_video_default"]){ - return @"video"; - }else{ - return @"file"; - } -} - - -- (void)uploadImage:(UIImage *)image forChatRoom:(LinphoneChatRoom *)chatRoom withQuality:(float)quality { - NSString *name = [NSString stringWithFormat:@"%li-%f.jpg", (long)image.hash, [NSDate timeIntervalSinceReferenceDate]]; - NSData *data = UIImageJPEGRepresentation(image, quality); - [self uploadData:data forChatRoom:chatRoom type:@"image" subtype:@"jpg" name:name key:@"localimage" rootMessage:nil]; -} - - -- (void)uploadFile:(NSData *)data forChatRoom:(LinphoneChatRoom *)chatRoom withName:(NSString *)name rootMessage:(LinphoneChatMessage *)rootMessage { - NSURL *url = [ChatConversationViewSwift getFileUrl:name]; - - AVAsset *asset = [AVURLAsset URLAssetWithURL:url options:nil]; - - NSString *extensionFile = [[name lowercaseString] componentsSeparatedByString:@"."].lastObject; - NSString *fileType = @""; - if ([extensionFile containsString:@"png"] || [extensionFile containsString:@"jpg"] || [extensionFile containsString:@"jpeg"] || [extensionFile containsString:@"bmp"] || [extensionFile containsString:@"heic"]) { - fileType = @"image"; - } else { - fileType = [[asset tracksWithMediaType:AVMediaTypeVideo] count] > 0 ? @"video" : @"file"; - } - - NSString *key = [ChatConversationViewSwift getKeyFromFileType:fileType fileName:name]; - - [self uploadData:data forChatRoom:chatRoom type:fileType subtype:name.pathExtension name:name key:key rootMessage:rootMessage]; -} - -- (BOOL)download:(LinphoneChatMessage *)message { - if ([[LinphoneManager.instance fileTransferDelegates] containsObject:self]) { - LOGW(@"fileTransferDelegates has already added %p", self); - return FALSE; - } - [[LinphoneManager.instance fileTransferDelegates] addObject:self]; - - _message = message; - - LinphoneContent *content = linphone_chat_message_get_file_transfer_information(_message); - if (content == nil) return FALSE; - - LOGI(@"%p Downloading content in %p ", self, message); - - linphone_chat_message_cbs_set_file_transfer_progress_indication(linphone_chat_message_get_callbacks(_message), file_transfer_progress_indication_recv); - linphone_content_set_file_path(content, [[LinphoneManager imagesDirectory] stringByAppendingPathComponent:[NSString stringWithUTF8String:linphone_content_get_name(content)]].UTF8String); - linphone_chat_message_download_content(_message, content); - - return TRUE; -} - -- (void)stopAndDestroy { - [self stopAndDestroyAndRemove:TRUE]; -} - -- (void)stopAndDestroyAndRemove:(BOOL)remove { - if (remove) - [[LinphoneManager.instance fileTransferDelegates] removeObject:self]; - - if (_message != NULL) { - LinphoneChatMessage *msg = _message; - _message = NULL; - LOGI(@"%p Cancelling transfer from %p", self, msg); - linphone_chat_message_cbs_set_file_transfer_progress_indication(linphone_chat_message_get_callbacks(msg), NULL); - // when we cancel file transfer, this will automatically trigger NotDelivered callback... recalling ourself a - // second time so we have to unset message BEFORE calling this - linphone_chat_message_cancel_file_transfer(msg); - } - _data = nil; - LOGD(@"%p Destroying", self); -} - -- (void)cancel { - [self stopAndDestroy]; -} - -@end diff --git a/Classes/Utils/HPGrowingTextView/HPGrowingTextView.h b/Classes/Utils/HPGrowingTextView/HPGrowingTextView.h deleted file mode 100755 index aea96e69b..000000000 --- a/Classes/Utils/HPGrowingTextView/HPGrowingTextView.h +++ /dev/null @@ -1,124 +0,0 @@ -// -// HPTextView.h -// -// Created by Hans Pinckaers on 29-06-10. -// -// MIT License -// -// Copyright (c) 2011 Hans Pinckaers -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -#import - -#if __IPHONE_OS_VERSION_MAX_ALLOWED < 60000 -// UITextAlignment is deprecated in iOS 6.0+, use NSTextAlignment instead. -// Reference: -// https://developer.apple.com/library/ios/documentation/uikit/reference/NSString_UIKit_Additions/Reference/Reference.html -#define NSTextAlignment UITextAlignment -#endif - -@class HPGrowingTextView; -@class HPTextViewInternal; - -@protocol HPGrowingTextViewDelegate - -@optional -- (BOOL)growingTextViewShouldBeginEditing:(HPGrowingTextView *)growingTextView; -- (BOOL)growingTextViewShouldEndEditing:(HPGrowingTextView *)growingTextView; - -- (void)growingTextViewDidBeginEditing:(HPGrowingTextView *)growingTextView; -- (void)growingTextViewDidEndEditing:(HPGrowingTextView *)growingTextView; - -- (void)growingTextChanged:(HPGrowingTextView *)growingTextView text:(NSString *)text; - -- (BOOL)growingTextView:(HPGrowingTextView *)growingTextView -shouldChangeTextInRange:(NSRange)range - replacementText:(NSString *)text; -- (void)growingTextViewDidChange:(HPGrowingTextView *)growingTextView; - -- (void)growingTextView:(HPGrowingTextView *)growingTextView willChangeHeight:(float)height; -- (void)growingTextView:(HPGrowingTextView *)growingTextView didChangeHeight:(float)height; - -- (void)growingTextViewDidChangeSelection:(HPGrowingTextView *)growingTextView; -- (BOOL)growingTextViewShouldReturn:(HPGrowingTextView *)growingTextView; -@end - -@interface HPGrowingTextView : UIView { - HPTextViewInternal *internalTextView; - - int minHeight; - int maxHeight; - - // class properties - int maxNumberOfLines; - int minNumberOfLines; - - BOOL animateHeightChange; - NSTimeInterval animationDuration; - - // uitextview properties - NSObject *__unsafe_unretained delegate; - NSTextAlignment textAlignment; - NSRange selectedRange; - BOOL editable; - UIDataDetectorTypes dataDetectorTypes; - UIReturnKeyType returnKeyType; - - UIEdgeInsets contentInset; -} - -// real class properties -@property int maxNumberOfLines; -@property int minNumberOfLines; -@property(nonatomic) int maxHeight; -@property(nonatomic) int minHeight; -@property BOOL animateHeightChange; -@property NSTimeInterval animationDuration; -@property(nonatomic, strong) NSString *placeholder; -@property(nonatomic, strong) UIColor *placeholderColor; -@property(nonatomic, strong) UITextView *internalTextView; - -// uitextview properties -@property(unsafe_unretained) NSObject *delegate; -@property(nonatomic, strong) NSString *text; -@property(nonatomic, strong) UIFont *font; -@property(nonatomic, strong) UIColor *textColor; -@property(nonatomic) NSTextAlignment textAlignment; // default is NSTextAlignmentLeft -@property(nonatomic) NSRange selectedRange; // only ranges of length 0 are supported -@property(nonatomic, getter=isEditable) BOOL editable; -@property(nonatomic) UIDataDetectorTypes dataDetectorTypes __OSX_AVAILABLE_STARTING(__MAC_NA, __IPHONE_3_0); -@property(nonatomic) UIReturnKeyType returnKeyType; -@property(assign) UIEdgeInsets contentInset; -@property(nonatomic) BOOL isScrollable; -@property(nonatomic) BOOL enablesReturnKeyAutomatically; - -// uitextview methods -// need others? use .internalTextView -- (BOOL)becomeFirstResponder; -- (BOOL)resignFirstResponder; -- (BOOL)isFirstResponder; - -- (BOOL)hasText; -- (void)scrollRangeToVisible:(NSRange)range; - -// call to force a height change (e.g. after you change max/min lines) -- (void)refreshHeight; - -@end diff --git a/Classes/Utils/HPGrowingTextView/HPGrowingTextView.m b/Classes/Utils/HPGrowingTextView/HPGrowingTextView.m deleted file mode 100755 index 21e69560c..000000000 --- a/Classes/Utils/HPGrowingTextView/HPGrowingTextView.m +++ /dev/null @@ -1,602 +0,0 @@ -// -// HPTextView.m -// -// Created by Hans Pinckaers on 29-06-10. -// -// MIT License -// -// Copyright (c) 2011 Hans Pinckaers -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -#import "HPGrowingTextView.h" -#import "HPTextViewInternal.h" - -@interface HPGrowingTextView (private) -- (void)commonInitialiser; -- (void)resizeTextView:(NSInteger)newSizeH; -- (void)growDidStop; -@end - -@implementation HPGrowingTextView -@synthesize internalTextView; -@synthesize delegate; -@synthesize maxHeight; -@synthesize minHeight; -@synthesize font; -@synthesize textColor; -@synthesize textAlignment; -@synthesize selectedRange; -@synthesize editable; -@synthesize dataDetectorTypes; -@synthesize animateHeightChange; -@synthesize animationDuration; -@synthesize returnKeyType; -@dynamic placeholder; -@dynamic placeholderColor; - -// having initwithcoder allows us to use HPGrowingTextView in a Nib. -- aob, 9/2011 -- (id)initWithCoder:(NSCoder *)aDecoder { - if ((self = [super initWithCoder:aDecoder])) { - [self commonInitialiser]; - } - return self; -} - -- (id)initWithFrame:(CGRect)frame { - if ((self = [super initWithFrame:frame])) { - [self commonInitialiser]; - } - return self; -} - -- (void)commonInitialiser { - // Initialization code - CGRect r = self.frame; - r.origin.y = 0; - r.origin.x = 0; - internalTextView = [[HPTextViewInternal alloc] initWithFrame:r]; - internalTextView.delegate = self; - internalTextView.scrollEnabled = NO; - internalTextView.font = [UIFont systemFontOfSize:13]; - internalTextView.contentInset = UIEdgeInsetsZero; - internalTextView.showsHorizontalScrollIndicator = NO; - internalTextView.text = @"-"; - [self addSubview:internalTextView]; - - minHeight = internalTextView.frame.size.height; - minNumberOfLines = 1; - - animateHeightChange = YES; - animationDuration = 0.1f; - - internalTextView.text = @""; - - [self setMaxNumberOfLines:3]; - - [self setPlaceholderColor:[UIColor lightGrayColor]]; - internalTextView.displayPlaceHolder = YES; -} - -- (CGSize)sizeThatFits:(CGSize)size { - if (self.text.length == 0) { - size.height = minHeight; - } - return size; -} - -- (void)layoutSubviews { - [super layoutSubviews]; - - CGRect r = self.bounds; - r.origin.y = 0; - r.origin.x = contentInset.left; - r.size.width -= contentInset.left + contentInset.right; - - internalTextView.frame = r; -} - -- (void)setContentInset:(UIEdgeInsets)inset { - contentInset = inset; - - CGRect r = self.frame; - r.origin.y = inset.top - inset.bottom; - r.origin.x = inset.left; - r.size.width -= inset.left + inset.right; - - internalTextView.frame = r; - - [self setMaxNumberOfLines:maxNumberOfLines]; - [self setMinNumberOfLines:minNumberOfLines]; -} - -- (UIEdgeInsets)contentInset { - return contentInset; -} - -- (void)setMaxNumberOfLines:(int)n { - if (n == 0 && maxHeight > 0) - return; // the user specified a maxHeight themselves. - - // Use internalTextView for height calculations, thanks to Gwynne - NSString *saveText = internalTextView.text, *newText = @"-"; - - internalTextView.delegate = nil; - internalTextView.hidden = YES; - - for (int i = 1; i < n; ++i) - newText = [newText stringByAppendingString:@"\n|W|"]; - - internalTextView.text = newText; - - maxHeight = [self measureHeight]; - - internalTextView.text = saveText; - internalTextView.hidden = NO; - internalTextView.delegate = self; - - [self sizeToFit]; - - maxNumberOfLines = n; -} - -- (int)maxNumberOfLines { - return maxNumberOfLines; -} - -- (void)setMaxHeight:(int)height { - maxHeight = height; - maxNumberOfLines = 0; -} - -- (void)setMinNumberOfLines:(int)m { - if (m == 0 && minHeight > 0) - return; // the user specified a minHeight themselves. - - // Use internalTextView for height calculations, thanks to Gwynne - NSString *saveText = internalTextView.text, *newText = @"-"; - - internalTextView.delegate = nil; - internalTextView.hidden = YES; - - for (int i = 1; i < m; ++i) - newText = [newText stringByAppendingString:@"\n|W|"]; - - internalTextView.text = newText; - - minHeight = [self measureHeight]; - - internalTextView.text = saveText; - internalTextView.hidden = NO; - internalTextView.delegate = self; - - [self sizeToFit]; - - minNumberOfLines = m; -} - -- (int)minNumberOfLines { - return minNumberOfLines; -} - -- (void)setMinHeight:(int)height { - minHeight = height; - minNumberOfLines = 0; -} - -- (NSString *)placeholder { - return internalTextView.placeholder; -} - -- (void)setPlaceholder:(NSString *)placeholder { - [internalTextView setPlaceholder:placeholder]; -} - -- (UIColor *)placeholderColor { - return internalTextView.placeholderColor; -} - -- (void)setPlaceholderColor:(UIColor *)placeholderColor { - [internalTextView setPlaceholderColor:placeholderColor]; -} - -- (void)textViewDidChange:(UITextView *)textView { - [self refreshHeight]; - if ([delegate respondsToSelector:@selector(growingTextChanged:text:)]) - [delegate growingTextChanged:self text:[textView text]]; -} - -- (void)refreshHeight { - // size of content, so we can set the frame of self - NSInteger newSizeH = [self measureHeight]; - if (newSizeH < minHeight || !internalTextView.hasText) - newSizeH = minHeight; // not smalles than minHeight - if (internalTextView.frame.size.height > maxHeight) - newSizeH = maxHeight; // not taller than maxHeight - - if (internalTextView.frame.size.height != newSizeH) { - // [fixed] Pasting too much text into the view failed to fire the height change, - // thanks to Gwynne - - if (newSizeH > maxHeight && internalTextView.frame.size.height <= maxHeight) { - newSizeH = maxHeight; - } - - if (newSizeH <= maxHeight) { - if (animateHeightChange) { - - if ([UIView resolveClassMethod:@selector(animateWithDuration:animations:)]) { -#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 40000 - [UIView animateWithDuration:animationDuration - delay:0 - options:(UIViewAnimationOptionAllowUserInteraction | UIViewAnimationOptionBeginFromCurrentState) - animations:^(void) { - [self resizeTextView:newSizeH]; - } - completion:^(BOOL finished) { - if ([delegate respondsToSelector:@selector(growingTextView:didChangeHeight:)]) { - [delegate growingTextView:self didChangeHeight:newSizeH]; - } - }]; -#endif - } else { - [UIView beginAnimations:@"" context:nil]; - [UIView setAnimationDuration:animationDuration]; - [UIView setAnimationDelegate:self]; - [UIView setAnimationDidStopSelector:@selector(growDidStop)]; - [UIView setAnimationBeginsFromCurrentState:YES]; - [self resizeTextView:newSizeH]; - [UIView commitAnimations]; - } - } else { - [self resizeTextView:newSizeH]; - // [fixed] The growingTextView:didChangeHeight: delegate method was not called at all when not animating - // height changes. - // thanks to Gwynne - - if ([delegate respondsToSelector:@selector(growingTextView:didChangeHeight:)]) { - [delegate growingTextView:self didChangeHeight:newSizeH]; - } - } - } - - // if our new height is greater than the maxHeight - // sets not set the height or move things - // around and enable scrolling - if (newSizeH >= maxHeight) { - if (!internalTextView.scrollEnabled) { - internalTextView.scrollEnabled = YES; - [internalTextView flashScrollIndicators]; - } - - } else { - internalTextView.scrollEnabled = NO; - } - - // scroll to caret (needed on iOS7) - if ([self respondsToSelector:@selector(snapshotViewAfterScreenUpdates:)]) { - CGRect r = [internalTextView caretRectForPosition:internalTextView.selectedTextRange.end]; - CGFloat caretY = MAX(r.origin.y - internalTextView.frame.size.height + r.size.height + 8, 0); - if (internalTextView.contentOffset.y < caretY && r.origin.y != INFINITY) - internalTextView.contentOffset = CGPointMake(0, MIN(caretY, internalTextView.contentSize.height)); - } - } - // Display (or not) the placeholder string - - BOOL wasDisplayingPlaceholder = internalTextView.displayPlaceHolder; - internalTextView.displayPlaceHolder = self.internalTextView.text.length == 0; - - if (wasDisplayingPlaceholder != internalTextView.displayPlaceHolder) { - [internalTextView setNeedsDisplay]; - } - - // Tell the delegate that the text view changed - - if ([delegate respondsToSelector:@selector(growingTextViewDidChange:)]) { - [delegate growingTextViewDidChange:self]; - } -} - -// Code from apple developer forum - @Steve Krulewitz, @Mark Marszal, @Eric Silverberg -- (CGFloat)measureHeight { -#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000 - if ([self respondsToSelector:@selector(snapshotViewAfterScreenUpdates:)]) { - CGRect frame = internalTextView.bounds; - CGSize fudgeFactor; - // The padding added around the text on iOS6 and iOS7 is different. - fudgeFactor = CGSizeMake(10.0, 16.0); - - frame.size.height -= fudgeFactor.height; - frame.size.width -= fudgeFactor.width; - - NSMutableAttributedString *textToMeasure; - if (internalTextView.attributedText && internalTextView.attributedText.length > 0) { - textToMeasure = - [[NSMutableAttributedString alloc] initWithAttributedString:internalTextView.attributedText]; - } else { - textToMeasure = [[NSMutableAttributedString alloc] initWithString:internalTextView.text]; - [textToMeasure addAttribute:NSFontAttributeName - value:internalTextView.font - range:NSMakeRange(0, textToMeasure.length)]; - } - - if ([textToMeasure.string hasSuffix:@"\n"]) { - [textToMeasure appendAttributedString:[[NSAttributedString alloc] - initWithString:@"-" - attributes:@{NSFontAttributeName : internalTextView.font}]]; - } - - // NSAttributedString class method: boundingRectWithSize:options:context is - // available only on ios7.0 sdk. - CGRect size = [textToMeasure boundingRectWithSize:CGSizeMake(CGRectGetWidth(frame), MAXFLOAT) - options:NSStringDrawingUsesLineFragmentOrigin - context:nil]; - - return ceil(CGRectGetHeight(size) + fudgeFactor.height); - } else { - return self.internalTextView.contentSize.height; - } -#else - return self.internalTextView.contentSize.height; -#endif -} - -- (void)resizeTextView:(NSInteger)newSizeH { - if ([delegate respondsToSelector:@selector(growingTextView:willChangeHeight:)]) { - [delegate growingTextView:self willChangeHeight:newSizeH]; - } - - CGRect internalTextViewFrame = self.frame; - internalTextViewFrame.size.height = newSizeH; // + padding - self.frame = internalTextViewFrame; - - internalTextViewFrame.origin.y = contentInset.top - contentInset.bottom; - internalTextViewFrame.origin.x = contentInset.left; - internalTextViewFrame.size.width = internalTextView.contentSize.width; - - if (!CGRectEqualToRect(internalTextView.frame, internalTextViewFrame)) - internalTextView.frame = internalTextViewFrame; -} - -- (void)growDidStop { - if ([delegate respondsToSelector:@selector(growingTextView:didChangeHeight:)]) { - [delegate growingTextView:self didChangeHeight:self.frame.size.height]; - } -} - -- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { - [internalTextView becomeFirstResponder]; -} - -- (BOOL)becomeFirstResponder { - [super becomeFirstResponder]; - return [self.internalTextView becomeFirstResponder]; -} - -- (BOOL)resignFirstResponder { - [super resignFirstResponder]; - return [internalTextView resignFirstResponder]; -} - -- (BOOL)isFirstResponder { - return [self.internalTextView isFirstResponder]; -} - -/////////////////////////////////////////////////////////////////////////////////////////////////// -#pragma mark UITextView properties -/////////////////////////////////////////////////////////////////////////////////////////////////// - -- (void)setText:(NSString *)newText { - internalTextView.text = newText; - - // include this line to analyze the height of the textview. - // fix from Ankit Thakur - [self performSelector:@selector(textViewDidChange:) withObject:internalTextView]; -} - -- (NSString *)text { - return internalTextView.text; -} - -/////////////////////////////////////////////////////////////////////////////////////////////////// - -- (void)setFont:(UIFont *)afont { - internalTextView.font = afont; - - [self setMaxNumberOfLines:maxNumberOfLines]; - [self setMinNumberOfLines:minNumberOfLines]; -} - -- (UIFont *)font { - return internalTextView.font; -} - -/////////////////////////////////////////////////////////////////////////////////////////////////// - -- (void)setTextColor:(UIColor *)color { - internalTextView.textColor = color; -} - -- (UIColor *)textColor { - return internalTextView.textColor; -} - -/////////////////////////////////////////////////////////////////////////////////////////////////// - -- (void)setBackgroundColor:(UIColor *)backgroundColor { - [super setBackgroundColor:backgroundColor]; - internalTextView.backgroundColor = backgroundColor; -} - -- (UIColor *)backgroundColor { - return internalTextView.backgroundColor; -} - -/////////////////////////////////////////////////////////////////////////////////////////////////// - -- (void)setTextAlignment:(NSTextAlignment)aligment { - internalTextView.textAlignment = aligment; -} - -- (NSTextAlignment)textAlignment { - return internalTextView.textAlignment; -} - -/////////////////////////////////////////////////////////////////////////////////////////////////// - -- (void)setSelectedRange:(NSRange)range { - internalTextView.selectedRange = range; -} - -- (NSRange)selectedRange { - return internalTextView.selectedRange; -} - -/////////////////////////////////////////////////////////////////////////////////////////////////// - -- (void)setIsScrollable:(BOOL)isScrollable { - internalTextView.scrollEnabled = isScrollable; -} - -- (BOOL)isScrollable { - return internalTextView.scrollEnabled; -} - -/////////////////////////////////////////////////////////////////////////////////////////////////// - -- (void)setEditable:(BOOL)beditable { - internalTextView.editable = beditable; -} - -- (BOOL)isEditable { - return internalTextView.editable; -} - -/////////////////////////////////////////////////////////////////////////////////////////////////// - -- (void)setReturnKeyType:(UIReturnKeyType)keyType { - internalTextView.returnKeyType = keyType; -} - -- (UIReturnKeyType)returnKeyType { - return internalTextView.returnKeyType; -} - -/////////////////////////////////////////////////////////////////////////////////////////////////// - -- (void)setEnablesReturnKeyAutomatically:(BOOL)enablesReturnKeyAutomatically { - internalTextView.enablesReturnKeyAutomatically = enablesReturnKeyAutomatically; -} - -- (BOOL)enablesReturnKeyAutomatically { - return internalTextView.enablesReturnKeyAutomatically; -} - -/////////////////////////////////////////////////////////////////////////////////////////////////// - -- (void)setDataDetectorTypes:(UIDataDetectorTypes)datadetector { - internalTextView.dataDetectorTypes = datadetector; -} - -- (UIDataDetectorTypes)dataDetectorTypes { - return internalTextView.dataDetectorTypes; -} - -/////////////////////////////////////////////////////////////////////////////////////////////////// - -- (BOOL)hasText { - return [internalTextView hasText]; -} - -- (void)scrollRangeToVisible:(NSRange)range { - [internalTextView scrollRangeToVisible:range]; -} - -///////////////////////////////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////////////////////////////// -#pragma mark - -#pragma mark UITextViewDelegate - -/////////////////////////////////////////////////////////////////////////////////////////////////// -- (BOOL)textViewShouldBeginEditing:(UITextView *)textView { - if ([delegate respondsToSelector:@selector(growingTextViewShouldBeginEditing:)]) { - return [delegate growingTextViewShouldBeginEditing:self]; - - } else { - return YES; - } -} - -/////////////////////////////////////////////////////////////////////////////////////////////////// -- (BOOL)textViewShouldEndEditing:(UITextView *)textView { - if ([delegate respondsToSelector:@selector(growingTextViewShouldEndEditing:)]) { - return [delegate growingTextViewShouldEndEditing:self]; - - } else { - return YES; - } -} - -/////////////////////////////////////////////////////////////////////////////////////////////////// -- (void)textViewDidBeginEditing:(UITextView *)textView { - if ([delegate respondsToSelector:@selector(growingTextViewDidBeginEditing:)]) { - [delegate growingTextViewDidBeginEditing:self]; - } -} - -/////////////////////////////////////////////////////////////////////////////////////////////////// -- (void)textViewDidEndEditing:(UITextView *)textView { - if ([delegate respondsToSelector:@selector(growingTextViewDidEndEditing:)]) { - [delegate growingTextViewDidEndEditing:self]; - } -} - -/////////////////////////////////////////////////////////////////////////////////////////////////// -- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)atext { - - // weird 1 pixel bug when clicking backspace when textView is empty - if (![textView hasText] && [atext isEqualToString:@""]) - return NO; - - // Added by bretdabaker: sometimes we want to handle this ourselves - if ([delegate respondsToSelector:@selector(growingTextView:shouldChangeTextInRange:replacementText:)]) - return [delegate growingTextView:self shouldChangeTextInRange:range replacementText:atext]; - - if ([atext isEqualToString:@"\n"]) { - if ([delegate respondsToSelector:@selector(growingTextViewShouldReturn:)]) { - if (![delegate performSelector:@selector(growingTextViewShouldReturn:) withObject:self]) { - return YES; - } else { - [textView resignFirstResponder]; - return NO; - } - } - } - - return YES; -} - -/////////////////////////////////////////////////////////////////////////////////////////////////// -- (void)textViewDidChangeSelection:(UITextView *)textView { - if ([delegate respondsToSelector:@selector(growingTextViewDidChangeSelection:)]) { - [delegate growingTextViewDidChangeSelection:self]; - } -} - -@end diff --git a/Classes/Utils/HPGrowingTextView/HPTextViewInternal.h b/Classes/Utils/HPGrowingTextView/HPTextViewInternal.h deleted file mode 100755 index 712265f06..000000000 --- a/Classes/Utils/HPGrowingTextView/HPTextViewInternal.h +++ /dev/null @@ -1,36 +0,0 @@ -// -// HPTextViewInternal.h -// -// Created by Hans Pinckaers on 29-06-10. -// -// MIT License -// -// Copyright (c) 2011 Hans Pinckaers -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -#import - -@interface HPTextViewInternal : UITextView - -@property(nonatomic, strong) NSString *placeholder; -@property(nonatomic, strong) UIColor *placeholderColor; -@property(nonatomic) BOOL displayPlaceHolder; - -@end diff --git a/Classes/Utils/HPGrowingTextView/HPTextViewInternal.m b/Classes/Utils/HPGrowingTextView/HPTextViewInternal.m deleted file mode 100755 index 70366b87c..000000000 --- a/Classes/Utils/HPGrowingTextView/HPTextViewInternal.m +++ /dev/null @@ -1,105 +0,0 @@ -// -// HPTextViewInternal.m -// -// Created by Hans Pinckaers on 29-06-10. -// -// MIT License -// -// Copyright (c) 2011 Hans Pinckaers -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -#import "HPTextViewInternal.h" - -@implementation HPTextViewInternal - -@synthesize placeholder; -@synthesize placeholderColor; -@synthesize displayPlaceHolder; - -- (void)setText:(NSString *)text { - BOOL originalValue = self.scrollEnabled; - // If one of GrowingTextView's superviews is a scrollView, and self.scrollEnabled == NO, - // setting the text programatically will cause UIKit to search upwards until it finds a scrollView with - // scrollEnabled==yes - // then scroll it erratically. Setting scrollEnabled temporarily to YES prevents this. - [self setScrollEnabled:YES]; - [super setText:text]; - [self setScrollEnabled:originalValue]; -} - -- (void)setScrollable:(BOOL)isScrollable { - [super setScrollEnabled:isScrollable]; -} - -- (void)setContentOffset:(CGPoint)s { - if (self.tracking || self.decelerating) { - // initiated by user... - - UIEdgeInsets insets = self.contentInset; - insets.bottom = 0; - insets.top = 0; - self.contentInset = insets; - - } else { - - float bottomOffset = (self.contentSize.height - self.frame.size.height + self.contentInset.bottom); - if (s.y < bottomOffset && self.scrollEnabled) { - UIEdgeInsets insets = self.contentInset; - insets.bottom = 8; - insets.top = 0; - self.contentInset = insets; - } - } - - [super setContentOffset:s]; -} - -- (void)setContentInset:(UIEdgeInsets)s { - UIEdgeInsets insets = s; - - if (s.bottom > 8) - insets.bottom = 0; - insets.top = 0; - - [super setContentInset:insets]; -} - -- (void)setContentSize:(CGSize)contentSize { - // is this an iOS5 bug? Need testing! - if (self.contentSize.height > contentSize.height) { - UIEdgeInsets insets = self.contentInset; - insets.bottom = 0; - insets.top = 0; - self.contentInset = insets; - } - - [super setContentSize:contentSize]; -} - -- (void)drawRect:(CGRect)rect { - [super drawRect:rect]; - if (displayPlaceHolder && placeholder && placeholderColor) { - [placeholderColor set]; - [placeholder drawInRect:CGRectMake(8.0f, 8.0f, self.frame.size.width - 16.0f, self.frame.size.height - 16.0f) - withFont:self.font]; - } -} - -@end diff --git a/Classes/Utils/InAppSettingsKit/Controllers/IASKAppSettingsViewController.h b/Classes/Utils/InAppSettingsKit/Controllers/IASKAppSettingsViewController.h deleted file mode 100755 index 961a92bcb..000000000 --- a/Classes/Utils/InAppSettingsKit/Controllers/IASKAppSettingsViewController.h +++ /dev/null @@ -1,89 +0,0 @@ -// -// IASKAppSettingsViewController.h -// http://www.inappsettingskit.com -// -// Copyright (c) 2009: -// Luc Vandal, Edovia Inc., http://www.edovia.com -// Ortwin Gentz, FutureTap GmbH, http://www.futuretap.com -// All rights reserved. -// -// It is appreciated but not required that you give credit to Luc Vandal and Ortwin Gentz, -// as the original authors of this code. You can give credit in a blog post, a tweet or on -// a info page of your app. Also, the original authors appreciate letting them know if you use this code. -// -// This code is licensed under the BSD license that is available at: http://www.opensource.org/licenses/bsd-license.php -// - -#import -#import - -#import "IASKSettingsStore.h" -#import "IASKViewController.h" - -@class IASKSettingsReader; -@class IASKAppSettingsViewController; -@class IASKSpecifier; - -@protocol IASKSettingsDelegate -- (void)settingsViewControllerDidEnd:(IASKAppSettingsViewController*)sender; -- (void)settingsViewControllerWillAppear:(IASKAppSettingsViewController *)sender; - -@optional -#pragma mark - UITableView header customization -- (CGFloat) settingsViewController:(id)settingsViewController - tableView:(UITableView *)tableView - heightForHeaderForSection:(NSInteger)section; -- (UIView *) settingsViewController:(id)settingsViewController - tableView:(UITableView *)tableView - viewForHeaderForSection:(NSInteger)section; - -#pragma mark - UITableView cell customization -- (CGFloat)tableView:(UITableView*)tableView heightForSpecifier:(IASKSpecifier*)specifier; -- (UITableViewCell*)tableView:(UITableView*)tableView cellForSpecifier:(IASKSpecifier*)specifier; - -#pragma mark - mail composing customization -- (NSString*) settingsViewController:(id)settingsViewController - mailComposeBodyForSpecifier:(IASKSpecifier*) specifier; - -- (UIViewController*) settingsViewController:(id)settingsViewController - viewControllerForMailComposeViewForSpecifier:(IASKSpecifier*) specifier; - -- (void) settingsViewController:(id) settingsViewController - mailComposeController:(MFMailComposeViewController*)controller - didFinishWithResult:(MFMailComposeResult)result - error:(NSError*)error; - -#pragma mark - respond to button taps -- (void)settingsViewController:(IASKAppSettingsViewController*)sender buttonTappedForKey:(NSString*)key __attribute__((deprecated)); // use the method below with specifier instead -- (void)settingsViewController:(IASKAppSettingsViewController*)sender buttonTappedForSpecifier:(IASKSpecifier*)specifier; -- (void)settingsViewController:(IASKAppSettingsViewController*)sender tableView:(UITableView *)tableView didSelectCustomViewSpecifier:(IASKSpecifier*)specifier; -@end - - -@interface IASKAppSettingsViewController : UITableViewController { - id __weak _delegate; - - NSMutableArray *_viewList; - - IASKSettingsReader *_settingsReader; - id _settingsStore; - NSString *_file; - - id _currentFirstResponder; - - BOOL _showCreditsFooter; - BOOL _showDoneButton; - - NSSet *_hiddenKeys; -} - -@property(nonatomic, weak) IBOutlet id delegate; -@property (nonatomic, copy) NSString *file; -@property (nonatomic, assign) BOOL showCreditsFooter; -@property (nonatomic, assign) BOOL showDoneButton; -@property(nonatomic, strong) NSSet *hiddenKeys; - -- (void)synchronizeSettings; -- (void)dismiss:(id)sender; -- (void)setHiddenKeys:(NSSet*)hiddenKeys animated:(BOOL)animated; -@end diff --git a/Classes/Utils/InAppSettingsKit/Controllers/IASKAppSettingsViewController.m b/Classes/Utils/InAppSettingsKit/Controllers/IASKAppSettingsViewController.m deleted file mode 100755 index 84c780265..000000000 --- a/Classes/Utils/InAppSettingsKit/Controllers/IASKAppSettingsViewController.m +++ /dev/null @@ -1,914 +0,0 @@ -// -// IASKAppSettingsViewController.m -// http://www.inappsettingskit.com -// -// Copyright (c) 2009-2010: -// Luc Vandal, Edovia Inc., http://www.edovia.com -// Ortwin Gentz, FutureTap GmbH, http://www.futuretap.com -// All rights reserved. -// -// It is appreciated but not required that you give credit to Luc Vandal and Ortwin Gentz, -// as the original authors of this code. You can give credit in a blog post, a tweet or on -// a info page of your app. Also, the original authors appreciate letting them know if you use this code. -// -// This code is licensed under the BSD license that is available at: http://www.opensource.org/licenses/bsd-license.php -// - -#pragma deploymate push "ignored-api-availability" - -#import "IASKAppSettingsViewController.h" -#import "IASKSettingsReader.h" -#import "IASKSettingsStoreUserDefaults.h" -#import "IASKPSSliderSpecifierViewCell.h" -#import "IASKPSTextFieldSpecifierViewCell.h" -#import "IASKSwitch.h" -#import "IASKSlider.h" -#import "IASKSpecifier.h" -#import "IASKSpecifierValuesViewController.h" -#import "IASKTextField.h" - -//static const CGFloat KEYBOARD_ANIMATION_DURATION = 0.3; -//static const CGFloat MINIMUM_SCROLL_FRACTION = 0.2; -//static const CGFloat MAXIMUM_SCROLL_FRACTION = 0.8; - -static NSString *kIASKCredits = @"Powered by InAppSettingsKit"; // Leave this as-is!!! - -#define kIASKSpecifierValuesViewControllerIndex 0 -#define kIASKSpecifierChildViewControllerIndex 1 - -#define kIASKCreditsViewWidth 285 - -CGRect IASKCGRectSwap(CGRect rect); - -@interface IASKAppSettingsViewController () -@property(nonatomic, strong) NSMutableArray *viewList; -@property(nonatomic, strong) id currentFirstResponder; - -- (void)_textChanged:(id)sender; -- (void)synchronizeSettings; -- (void)userDefaultsDidChange; -- (void)reload; -@end - -@implementation IASKAppSettingsViewController - -@synthesize delegate = _delegate; -@synthesize viewList = _viewList; -@synthesize settingsReader = _settingsReader; -@synthesize file = _file; -@synthesize currentFirstResponder = _currentFirstResponder; -@synthesize showCreditsFooter = _showCreditsFooter; -@synthesize showDoneButton = _showDoneButton; -@synthesize settingsStore = _settingsStore; -@synthesize hiddenKeys = _hiddenKeys; - -#pragma mark accessors -- (IASKSettingsReader*)settingsReader { - if (!_settingsReader) { - _settingsReader = [[IASKSettingsReader alloc] initWithFile:self.file]; - } - return _settingsReader; -} - -- (id)settingsStore { - if (!_settingsStore) { - _settingsStore = [[IASKSettingsStoreUserDefaults alloc] init]; - } - return _settingsStore; -} - -- (NSString*)file { - if (!_file) { - return @"Root"; - } - return _file; -} - -- (void)setFile:(NSString *)file { - if (file != _file) { - - _file = [file copy]; - } - - self.tableView.contentOffset = CGPointMake(0, 0); - self.settingsReader = nil; // automatically initializes itself - _hiddenKeys = nil; - [self.tableView reloadData]; -} - -- (BOOL)isPad { - BOOL isPad = NO; -#if (__IPHONE_OS_VERSION_MAX_ALLOWED >= 30200) - isPad = UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad; -#endif - return isPad; -} - -#pragma mark standard view controller methods -- (id)init { - return [self initWithStyle:UITableViewStyleGrouped]; -} - -- (id)initWithStyle:(UITableViewStyle)style -{ - if (style != UITableViewStyleGrouped) { - NSLog(@"only UITableViewStyleGrouped style is supported, forcing it."); - } - self = [super initWithStyle:UITableViewStyleGrouped]; - if (self) { - self.tableView.delegate = self; - self.tableView.dataSource = self; - _showDoneButton = YES; - // If set to YES, will display credits for InAppSettingsKit creators - _showCreditsFooter = YES; - } - return self; -} - -- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil -{ - if (!nibNameOrNil) { - return [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; - } - NSLog (@"%@ is now deprecated, we are moving away from nibs.", NSStringFromSelector(_cmd)); - return [self initWithStyle:UITableViewStyleGrouped]; -} - -- (id)initWithCoder:(NSCoder *)aDecoder { - self = [super initWithCoder:aDecoder]; - if (self) { - if (!(self = [self initWithStyle:UITableViewStyleGrouped])) - return nil; - } - return self; -} - -- (NSMutableArray *)viewList { - if (!_viewList) { - _viewList = [[NSMutableArray alloc] init]; - [_viewList addObject:[NSDictionary dictionaryWithObjectsAndKeys:@"IASKSpecifierValuesView", @"ViewName",nil]]; - [_viewList addObject:[NSDictionary dictionaryWithObjectsAndKeys:@"IASKAppSettingsView", @"ViewName",nil]]; - } - return _viewList; -} - -- (void) viewDidLoad { - [super viewDidLoad]; - if ([self isPad]) { - // patch for iOS7 from https://github.com/futuretap/InAppSettingsKit/commit/66d95030cfac84f17f800056140523742b49957e -#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000 - if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) // don't use etched style on iOS 7 -#endif - self.tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLineEtched; - } - UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleTapToEndEdit:)]; - tapGesture.cancelsTouchesInView = NO; - [self.tableView addGestureRecognizer:tapGesture]; - self.tableView.cellLayoutMarginsFollowReadableWidth = NO; -} - -- (void)viewDidUnload { - [super viewDidUnload]; - - // Release any retained subviews of the main view. - // e.g. self.myOutlet = nil; - self.view = nil; - self.viewList = nil; -} - -- (void)viewWillAppear:(BOOL)animated { - // if there's something selected, the value might have changed - // so reload that row - NSIndexPath *selectedIndexPath = [self.tableView indexPathForSelectedRow]; - if(selectedIndexPath) { - [self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:selectedIndexPath] - withRowAnimation:UITableViewRowAnimationNone]; - // and reselect it, so we get the nice default deselect animation from UITableViewController - [self.tableView selectRowAtIndexPath:selectedIndexPath animated:NO scrollPosition:UITableViewScrollPositionNone]; - } - - self.navigationItem.rightBarButtonItem = nil; - if (_showDoneButton) { - UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone - target:self - action:@selector(dismiss:)]; - self.navigationItem.rightBarButtonItem = buttonItem; - } - if (!self.title) { - self.title = NSLocalizedString(@"Settings", @""); - } - - if ([self.settingsStore isKindOfClass:[IASKSettingsStoreUserDefaults class]]) { - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(userDefaultsDidChange) - name:NSUserDefaultsDidChangeNotification - object:[NSUserDefaults standardUserDefaults]]; - [self userDefaultsDidChange]; // force update in case of changes while we were hidden - } - - // hack gautier: be notified when changing page - if (self.delegate && [self.delegate conformsToProtocol:@protocol(IASKSettingsDelegate)]) { - [self.delegate settingsViewControllerWillAppear:self]; - } - - [super viewWillAppear:animated]; -} - -- (CGSize)contentSizeForViewInPopover { - return [[self view] sizeThatFits:CGSizeMake(320, 2000)]; -} - -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; - - NSNotificationCenter *dc = [NSNotificationCenter defaultCenter]; - IASK_IF_IOS4_OR_GREATER([dc addObserver:self selector:@selector(synchronizeSettings) name:UIApplicationWillResignActiveNotification object:[UIApplication sharedApplication]];); - IASK_IF_IOS4_OR_GREATER([dc addObserver:self selector:@selector(reload) name:UIApplicationWillEnterForegroundNotification object:[UIApplication sharedApplication]];); - [dc addObserver:self selector:@selector(synchronizeSettings) name:UIApplicationWillTerminateNotification object:[UIApplication sharedApplication]]; -} - -- (void)viewWillDisappear:(BOOL)animated { - [NSObject cancelPreviousPerformRequestsWithTarget:self]; - [super viewWillDisappear:animated]; -} - -- (void)viewDidDisappear:(BOOL)animated { - [[NSNotificationCenter defaultCenter] removeObserver:self]; - [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationWillTerminateNotification object:[UIApplication sharedApplication]]; - - // hide the keyboard - [self.currentFirstResponder resignFirstResponder]; - - [super viewDidDisappear:animated]; -} - -- (BOOL)shouldAutorotate { - return YES; -} - -- (void)didReceiveMemoryWarning { - // Releases the view if it doesn't have a superview. - [super didReceiveMemoryWarning]; - - // Release any cached data, images, etc that aren't in use. -} - -- (void)setHiddenKeys:(NSSet *)theHiddenKeys { - [self setHiddenKeys:theHiddenKeys animated:NO]; -} - - -- (void)setHiddenKeys:(NSSet*)theHiddenKeys animated:(BOOL)animated { - if (_hiddenKeys != theHiddenKeys) { - NSSet *oldHiddenKeys = _hiddenKeys; - _hiddenKeys = theHiddenKeys; - - if (animated) { - [self.tableView beginUpdates]; - - NSMutableSet *showKeys = [NSMutableSet setWithSet:oldHiddenKeys]; - [showKeys minusSet:theHiddenKeys]; - - NSMutableSet *hideKeys = [NSMutableSet setWithSet:theHiddenKeys]; - [hideKeys minusSet:oldHiddenKeys]; - - // calculate rows to be deleted - NSMutableArray *hideIndexPaths = [NSMutableArray array]; - for (NSString *key in hideKeys) { - NSIndexPath *indexPath = [self.settingsReader indexPathForKey:key]; - if (indexPath) { - [hideIndexPaths addObject:indexPath]; - } - } - - // calculate sections to be deleted - NSMutableIndexSet *hideSections = [NSMutableIndexSet indexSet]; - for (NSInteger section = 0; section < [self numberOfSectionsInTableView:self.tableView ]; section++) { - NSUInteger rowsInSection = 0; - for (NSIndexPath *indexPath in hideIndexPaths) { - if (indexPath.section == section) { - rowsInSection++; - } - } - if (rowsInSection >= [self.settingsReader numberOfRowsForSection:section]) { - [hideSections addIndex:section]; - } - } - - // set the datasource - self.settingsReader.hiddenKeys = theHiddenKeys; - - - // calculate rows to be inserted - NSMutableArray *showIndexPaths = [NSMutableArray array]; - for (NSString *key in showKeys) { - NSIndexPath *indexPath = [self.settingsReader indexPathForKey:key]; - if (indexPath) { - [showIndexPaths addObject:indexPath]; - } - } - - // calculate sections to be inserted - NSMutableIndexSet *showSections = [NSMutableIndexSet indexSet]; - for (NSInteger section = 0; section < [self.settingsReader numberOfSections]; section++) { - NSUInteger rowsInSection = 0; - for (NSIndexPath *indexPath in showIndexPaths) { - if (indexPath.section == section) { - rowsInSection++; - } - } - if (rowsInSection >= [self.settingsReader numberOfRowsForSection:section]) { - [showSections addIndex:section]; - } - } - - UITableViewRowAnimation animation = animated ? UITableViewRowAnimationTop : UITableViewRowAnimationNone; - [self.tableView deleteSections:hideSections withRowAnimation:animation]; - [self.tableView deleteRowsAtIndexPaths:hideIndexPaths withRowAnimation:animation]; - [self.tableView insertSections:showSections withRowAnimation:animation]; - [self.tableView insertRowsAtIndexPaths:showIndexPaths withRowAnimation:animation]; - [self.tableView endUpdates]; - } else { - self.settingsReader.hiddenKeys = theHiddenKeys; - [self.tableView reloadData]; - } - - IASKAppSettingsViewController *targetViewController = [[self.viewList objectAtIndex:kIASKSpecifierChildViewControllerIndex] objectForKey:@"viewController"]; - if(targetViewController != nil) { - [targetViewController setHiddenKeys:theHiddenKeys animated:animated]; - } - } -} - - -- (void)dealloc { - [[NSNotificationCenter defaultCenter] removeObserver:self]; - - _viewList = nil; - _file = nil; - _currentFirstResponder = nil; - _settingsReader = nil; - _settingsStore = nil; - _hiddenKeys = nil; - - _delegate = nil; - -} - - -#pragma mark - -#pragma mark Actions - -- (void)dismiss:(id)sender { - [self.settingsStore synchronize]; - - if (self.delegate && [self.delegate conformsToProtocol:@protocol(IASKSettingsDelegate)]) { - [self.delegate settingsViewControllerDidEnd:self]; - } -} - -- (void)toggledValue:(id)sender { - IASKSwitch *toggle = (IASKSwitch *)sender; - IASKSpecifier *spec = [_settingsReader specifierForKey:[toggle key]]; - - if ([toggle isOn]) { - if ([spec trueValue] != nil) { - [self.settingsStore setObject:[spec trueValue] forKey:[toggle key]]; - } - else { - [self.settingsStore setBool:YES forKey:[toggle key]]; - } - } - else { - if ([spec falseValue] != nil) { - [self.settingsStore setObject:[spec falseValue] forKey:[toggle key]]; - } - else { - [self.settingsStore setBool:NO forKey:[toggle key]]; - } - } - [[NSNotificationCenter defaultCenter] postNotificationName:kIASKAppSettingChanged - object:[toggle key] - userInfo:[NSDictionary dictionaryWithObject:[self.settingsStore objectForKey:[toggle key]] - forKey:[toggle key]]]; -} - -- (void)sliderChangedValue:(id)sender { - IASKSlider *slider = (IASKSlider *)sender; - [self.settingsStore setFloat:[slider value] forKey:[slider key]]; - [[NSNotificationCenter defaultCenter] - postNotificationName:kIASKAppSettingChanged - object:[slider key] - userInfo:[NSDictionary dictionaryWithObject:[NSNumber numberWithFloat:[slider value]] - forKey:[slider key]]]; -} - - -#pragma mark - -#pragma mark UITableView Functions - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return [self.settingsReader numberOfSections]; -} - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - return [self.settingsReader numberOfRowsForSection:section]; -} - -- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { - IASKSpecifier *specifier = [self.settingsReader specifierForIndexPath:indexPath]; - if ([[specifier type] isEqualToString:kIASKCustomViewSpecifier]) { - if ([self.delegate respondsToSelector:@selector(tableView:heightForSpecifier:)]) { - return [self.delegate tableView:tableView heightForSpecifier:specifier]; - } else { - return 0; - } - } - return tableView.rowHeight; -} - -- (NSString *)tableView:(UITableView*)tableView titleForHeaderInSection:(NSInteger)section { - NSString *header = [self.settingsReader titleForSection:section]; - if (0 == header.length) { - return nil; - } - return header; -} - -- (UIView *)tableView:(UITableView*)tableView viewForHeaderInSection:(NSInteger)section { - if ([self.delegate respondsToSelector:@selector(settingsViewController:tableView:viewForHeaderForSection:)]) { - return [self.delegate settingsViewController:self tableView:tableView viewForHeaderForSection:section]; - } else { - return nil; - } -} - -- (CGFloat)tableView:(UITableView*)tableView heightForHeaderInSection:(NSInteger)section { - if ([self tableView:tableView viewForHeaderInSection:section] && [self.delegate respondsToSelector:@selector(settingsViewController:tableView:heightForHeaderForSection:)]) { - CGFloat result; - if ((result = [self.delegate settingsViewController:self tableView:tableView heightForHeaderForSection:section])) { - return result; - } - - } - NSString *title; - if ((title = [self tableView:tableView titleForHeaderInSection:section])) { - CGSize size = [title sizeWithFont:[UIFont boldSystemFontOfSize:[UIFont labelFontSize]] - constrainedToSize:CGSizeMake(tableView.frame.size.width - 2*kIASKHorizontalPaddingGroupTitles, INFINITY) - lineBreakMode:NSLineBreakByWordWrapping]; - return size.height+kIASKVerticalPaddingGroupTitles; - } - return 0; -} - -- (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section -{ - NSString *footerText = [self.settingsReader footerTextForSection:section]; - if (_showCreditsFooter && (section == [self.settingsReader numberOfSections]-1)) { - // show credits since this is the last section - if ((footerText == nil) || ([footerText length] == 0)) { - // show the credits on their own - return kIASKCredits; - } else { - // show the credits below the app's FooterText - return [NSString stringWithFormat:@"%@\n\n%@", footerText, kIASKCredits]; - } - } else { - if ([footerText length] == 0) { - return nil; - } - return [self.settingsReader footerTextForSection:section]; - } -} - -- (UITableViewCell*)newCellForIdentifier:(NSString*)identifier { - UITableViewCell *cell = nil; - if ([identifier isEqualToString:kIASKPSToggleSwitchSpecifier]) { - cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kIASKPSToggleSwitchSpecifier]; - cell.accessoryView = [[IASKSwitch alloc] initWithFrame:CGRectMake(0, 0, 79, 27)]; - [((IASKSwitch*)cell.accessoryView) addTarget:self action:@selector(toggledValue:) forControlEvents:UIControlEventValueChanged]; - cell.selectionStyle = UITableViewCellSelectionStyleNone; - } - else if ([identifier isEqualToString:kIASKPSMultiValueSpecifier] || [identifier isEqualToString:kIASKPSTitleValueSpecifier]) { - cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:identifier]; - cell.accessoryType = [identifier isEqualToString:kIASKPSMultiValueSpecifier] ? UITableViewCellAccessoryDisclosureIndicator : UITableViewCellAccessoryNone; - } - else if ([identifier isEqualToString:kIASKPSTextFieldSpecifier]) { - cell = [[IASKPSTextFieldSpecifierViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kIASKPSTextFieldSpecifier]; - [((IASKPSTextFieldSpecifierViewCell*)cell).textField addTarget:self action:@selector(_textChanged:) forControlEvents:UIControlEventEditingChanged]; - } - else if ([identifier isEqualToString:kIASKPSSliderSpecifier]) { - cell = [[IASKPSSliderSpecifierViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kIASKPSSliderSpecifier]; - } else if ([identifier isEqualToString:kIASKPSChildPaneSpecifier]) { - cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:identifier]; - cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; - } else if ([identifier isEqualToString:kIASKMailComposeSpecifier]) { - cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:identifier]; - [cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator]; - } else { - cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier]; - } - cell.textLabel.minimumFontSize = kIASKMinimumFontSize; - cell.detailTextLabel.minimumFontSize = kIASKMinimumFontSize; - return cell; -} - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - IASKSpecifier *specifier = [self.settingsReader specifierForIndexPath:indexPath]; - if ([specifier.type isEqualToString:kIASKCustomViewSpecifier] && [self.delegate respondsToSelector:@selector(tableView:cellForSpecifier:)]) { - UITableViewCell* cell = [self.delegate tableView:tableView cellForSpecifier:specifier]; - assert(nil != cell && "delegate must return a UITableViewCell for custom cell types"); - return cell; - } - - UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:specifier.type]; - if(nil == cell) { - cell = [self newCellForIdentifier:specifier.type]; - } - - if ([specifier.type isEqualToString:kIASKPSToggleSwitchSpecifier]) { - cell.textLabel.text = specifier.title; - - id currentValue = [self.settingsStore objectForKey:specifier.key]; - BOOL toggleState; - if (currentValue) { - if ([currentValue isEqual:specifier.trueValue]) { - toggleState = YES; - } else if ([currentValue isEqual:specifier.falseValue]) { - toggleState = NO; - } else { - toggleState = [currentValue boolValue]; - } - } else { - toggleState = specifier.defaultBoolValue; - } - IASKSwitch *toggle = (IASKSwitch*)cell.accessoryView; - toggle.on = toggleState; - toggle.key = specifier.key; - } - else if ([specifier.type isEqualToString:kIASKPSMultiValueSpecifier]) { - cell.textLabel.text = specifier.title; - cell.detailTextLabel.text = [[specifier titleForCurrentValue:[self.settingsStore objectForKey:specifier.key] != nil ? - [self.settingsStore objectForKey:specifier.key] : specifier.defaultValue] description]; - } - else if ([specifier.type isEqualToString:kIASKPSTitleValueSpecifier]) { - cell.textLabel.text = specifier.title; - id value = [self.settingsStore objectForKey:specifier.key] ? : specifier.defaultValue; - - NSString *stringValue; - if (specifier.multipleValues || specifier.multipleTitles) { - stringValue = [specifier titleForCurrentValue:value]; - } else { - stringValue = [value description]; - } - - cell.detailTextLabel.text = stringValue; - cell.userInteractionEnabled = NO; - } - else if ([specifier.type isEqualToString:kIASKPSTextFieldSpecifier]) { - cell.textLabel.text = specifier.title; - - NSString *textValue = [self.settingsStore objectForKey:specifier.key] != nil ? [self.settingsStore objectForKey:specifier.key] : specifier.defaultStringValue; - if (textValue && ![textValue isMemberOfClass:[NSString class]]) { - textValue = [NSString stringWithFormat:@"%@", textValue]; - } - IASKTextField *textField = ((IASKPSTextFieldSpecifierViewCell*)cell).textField; - textField.text = textValue; - textField.key = specifier.key; - textField.delegate = self; - textField.secureTextEntry = [specifier isSecure]; - textField.keyboardType = specifier.keyboardType; - textField.autocapitalizationType = specifier.autocapitalizationType; - if([specifier isSecure]){ - textField.autocorrectionType = UITextAutocorrectionTypeNo; - } else { - textField.autocorrectionType = specifier.autoCorrectionType; - } - textField.textAlignment = (NSTextAlignment)specifier.textAlignment; - textField.adjustsFontSizeToFitWidth = specifier.adjustsFontSizeToFitWidth; - } - else if ([specifier.type isEqualToString:kIASKPSSliderSpecifier]) { - if (specifier.minimumValueImage.length > 0) { - ((IASKPSSliderSpecifierViewCell*)cell).minImage.image = [UIImage imageWithContentsOfFile:[_settingsReader pathForImageNamed:specifier.minimumValueImage]]; - } - - if (specifier.maximumValueImage.length > 0) { - ((IASKPSSliderSpecifierViewCell*)cell).maxImage.image = [UIImage imageWithContentsOfFile:[_settingsReader pathForImageNamed:specifier.maximumValueImage]]; - } - - IASKSlider *slider = ((IASKPSSliderSpecifierViewCell*)cell).slider; - slider.minimumValue = specifier.minimumValue; - slider.maximumValue = specifier.maximumValue; - slider.value = [self.settingsStore objectForKey:specifier.key] != nil ? [[self.settingsStore objectForKey:specifier.key] floatValue] : [specifier.defaultValue floatValue]; - [slider addTarget:self action:@selector(sliderChangedValue:) forControlEvents:UIControlEventValueChanged]; - slider.key = specifier.key; - [cell setNeedsLayout]; - } - else if ([specifier.type isEqualToString:kIASKPSChildPaneSpecifier]) { - cell.textLabel.text = specifier.title; - } else if ([specifier.type isEqualToString:kIASKOpenURLSpecifier] || [specifier.type isEqualToString:kIASKMailComposeSpecifier]) { - cell.textLabel.text = specifier.title; - cell.detailTextLabel.text = [specifier.defaultValue description]; - } else if ([specifier.type isEqualToString:kIASKButtonSpecifier]) { - NSString *value = [self.settingsStore objectForKey:specifier.key]; - cell.textLabel.text = [value isKindOfClass:[NSString class]] ? [self.settingsReader titleForStringId:value] : specifier.title; - } else { - cell.textLabel.text = specifier.title; - } - - cell.imageView.image = specifier.cellImage; - cell.imageView.highlightedImage = specifier.highlightedCellImage; - - if (![specifier.type isEqualToString:kIASKPSMultiValueSpecifier] && ![specifier.type isEqualToString:kIASKPSTitleValueSpecifier] && ![specifier.type isEqualToString:kIASKPSTextFieldSpecifier]) { - cell.textLabel.textAlignment = (NSTextAlignment)specifier.textAlignment; - } - cell.detailTextLabel.textAlignment = (NSTextAlignment)specifier.textAlignment; - cell.textLabel.adjustsFontSizeToFitWidth = specifier.adjustsFontSizeToFitWidth; - cell.detailTextLabel.adjustsFontSizeToFitWidth = specifier.adjustsFontSizeToFitWidth; - return cell; -} - -- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath { - //create a set of specifier types that can't be selected - static NSSet* noSelectionTypes = nil; - if(nil == noSelectionTypes) { - noSelectionTypes = [NSSet setWithObjects:kIASKPSToggleSwitchSpecifier, kIASKPSSliderSpecifier, nil]; - } - - IASKSpecifier *specifier = [self.settingsReader specifierForIndexPath:indexPath]; - if([noSelectionTypes containsObject:specifier.type]) { - return nil; - } else { - return indexPath; - } -} - -- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - IASKSpecifier *specifier = [self.settingsReader specifierForIndexPath:indexPath]; - - //switches and sliders can't be selected (should be captured by tableView:willSelectRowAtIndexPath: delegate method) - assert(![[specifier type] isEqualToString:kIASKPSToggleSwitchSpecifier]); - assert(![[specifier type] isEqualToString:kIASKPSSliderSpecifier]); - - if ([[specifier type] isEqualToString:kIASKPSMultiValueSpecifier]) { - IASKSpecifierValuesViewController *targetViewController = [[self.viewList objectAtIndex:kIASKSpecifierValuesViewControllerIndex] objectForKey:@"viewController"]; - - if (targetViewController == nil) { - // the view controller has not been created yet, create it and set it to our viewList array - // create a new dictionary with the new view controller - NSMutableDictionary *newItemDict = [NSMutableDictionary dictionaryWithCapacity:3]; - [newItemDict addEntriesFromDictionary: [self.viewList objectAtIndex:kIASKSpecifierValuesViewControllerIndex]]; // copy the title and explain strings - - targetViewController = [[IASKSpecifierValuesViewController alloc] init]; - // add the new view controller to the dictionary and then to the 'viewList' array - [newItemDict setObject:targetViewController forKey:@"viewController"]; - [self.viewList replaceObjectAtIndex:kIASKSpecifierValuesViewControllerIndex withObject:newItemDict]; - - // load the view controll back in to push it - targetViewController = [[self.viewList objectAtIndex:kIASKSpecifierValuesViewControllerIndex] objectForKey:@"viewController"]; - } - [targetViewController setCurrentSpecifier:specifier]; - targetViewController.settingsReader = self.settingsReader; - targetViewController.settingsStore = self.settingsStore; - [[self navigationController] pushViewController:targetViewController animated:YES]; - } - else if ([[specifier type] isEqualToString:kIASKPSTextFieldSpecifier]) { - IASKPSTextFieldSpecifierViewCell *textFieldCell = (id)[tableView cellForRowAtIndexPath:indexPath]; - [textFieldCell.textField becomeFirstResponder]; - } - else if ([[specifier type] isEqualToString:kIASKPSChildPaneSpecifier]) { - - - Class vcClass = [specifier viewControllerClass]; - if (vcClass) { - SEL initSelector = [specifier viewControllerSelector]; - if (!initSelector) { - initSelector = @selector(init); - } - UIViewController *vc = [vcClass alloc]; -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-performSelector-leaks" - vc = [vc performSelector:initSelector withObject:[specifier file] withObject:specifier]; -#pragma clang diagnostic pop - if ([vc respondsToSelector:@selector(setDelegate:)]) { - [vc performSelector:@selector(setDelegate:) withObject:self.delegate]; - } - if ([vc respondsToSelector:@selector(setSettingsStore:)]) { - [vc performSelector:@selector(setSettingsStore:) withObject:self.settingsStore]; - } - [self.navigationController pushViewController:vc animated:YES]; - return; - } - - if (nil == [specifier file]) { - [tableView deselectRowAtIndexPath:indexPath animated:YES]; - return; - } - - IASKAppSettingsViewController *targetViewController = [[self.viewList objectAtIndex:kIASKSpecifierChildViewControllerIndex] objectForKey:@"viewController"]; - - if (targetViewController == nil) { - // the view controller has not been created yet, create it and set it to our viewList array - // create a new dictionary with the new view controller - NSMutableDictionary *newItemDict = [NSMutableDictionary dictionaryWithCapacity:3]; - [newItemDict addEntriesFromDictionary: [self.viewList objectAtIndex:kIASKSpecifierChildViewControllerIndex]]; // copy the title and explain strings - - targetViewController = [[[self class] alloc] init]; - targetViewController.showDoneButton = NO; - targetViewController.settingsStore = self.settingsStore; - targetViewController.delegate = self.delegate; - - // add the new view controller to the dictionary and then to the 'viewList' array - [newItemDict setObject:targetViewController forKey:@"viewController"]; - [self.viewList replaceObjectAtIndex:kIASKSpecifierChildViewControllerIndex withObject:newItemDict]; - - // load the view controll back in to push it - targetViewController = [[self.viewList objectAtIndex:kIASKSpecifierChildViewControllerIndex] objectForKey:@"viewController"]; - } - targetViewController.file = specifier.file; - targetViewController.hiddenKeys = self.hiddenKeys; - targetViewController.title = specifier.title; - targetViewController.showCreditsFooter = NO; - [[self navigationController] pushViewController:targetViewController animated:YES]; - } else if ([[specifier type] isEqualToString:kIASKOpenURLSpecifier]) { - [tableView deselectRowAtIndexPath:indexPath animated:YES]; - [[UIApplication sharedApplication] openURL:[NSURL URLWithString:specifier.file]]; - } else if ([[specifier type] isEqualToString:kIASKButtonSpecifier]) { - [tableView deselectRowAtIndexPath:indexPath animated:YES]; - if ([self.delegate respondsToSelector:@selector(settingsViewController:buttonTappedForSpecifier:)]) { - [self.delegate settingsViewController:self buttonTappedForSpecifier:specifier]; - } else if ([self.delegate respondsToSelector:@selector(settingsViewController:buttonTappedForKey:)]) { - // deprecated, provided for backward compatibility - NSLog(@"InAppSettingsKit Warning: -settingsViewController:buttonTappedForKey: is deprecated. Please use -settingsViewController:buttonTappedForSpecifier:"); - [self.delegate settingsViewController:self buttonTappedForKey:[specifier key]]; - } else { - // legacy code, provided for backward compatibility - // the delegate mechanism above is much cleaner and doesn't leak - Class buttonClass = [specifier buttonClass]; - SEL buttonAction = [specifier buttonAction]; - if ([buttonClass respondsToSelector:buttonAction]) { -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-performSelector-leaks" - [buttonClass performSelector:buttonAction withObject:self withObject:[specifier key]]; -#pragma clang diagnostic pop - NSLog(@"InAppSettingsKit Warning: Using IASKButtonSpecifier without implementing the delegate method is deprecated"); - } - } - } else if ([[specifier type] isEqualToString:kIASKMailComposeSpecifier]) { - [tableView deselectRowAtIndexPath:indexPath animated:YES]; - if ([MFMailComposeViewController canSendMail]) { - MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init]; - mailViewController.navigationBar.barStyle = self.navigationController.navigationBar.barStyle; - mailViewController.navigationBar.tintColor = self.navigationController.navigationBar.tintColor; - - if ([specifier localizedObjectForKey:kIASKMailComposeSubject]) { - [mailViewController setSubject:[specifier localizedObjectForKey:kIASKMailComposeSubject]]; - } - if ([[specifier specifierDict] objectForKey:kIASKMailComposeToRecipents]) { - [mailViewController setToRecipients:[[specifier specifierDict] objectForKey:kIASKMailComposeToRecipents]]; - } - if ([[specifier specifierDict] objectForKey:kIASKMailComposeCcRecipents]) { - [mailViewController setCcRecipients:[[specifier specifierDict] objectForKey:kIASKMailComposeCcRecipents]]; - } - if ([[specifier specifierDict] objectForKey:kIASKMailComposeBccRecipents]) { - [mailViewController setBccRecipients:[[specifier specifierDict] objectForKey:kIASKMailComposeBccRecipents]]; - } - if ([specifier localizedObjectForKey:kIASKMailComposeBody]) { - BOOL isHTML = NO; - if ([[specifier specifierDict] objectForKey:kIASKMailComposeBodyIsHTML]) { - isHTML = [[[specifier specifierDict] objectForKey:kIASKMailComposeBodyIsHTML] boolValue]; - } - - if ([self.delegate respondsToSelector:@selector(settingsViewController:mailComposeBodyForSpecifier:)]) { - [mailViewController setMessageBody:[self.delegate settingsViewController:self - mailComposeBodyForSpecifier:specifier] isHTML:isHTML]; - } - else { - [mailViewController setMessageBody:[specifier localizedObjectForKey:kIASKMailComposeBody] isHTML:isHTML]; - } - } - - UIViewController *vc = nil; - - if ([self.delegate respondsToSelector:@selector(settingsViewController:viewControllerForMailComposeViewForSpecifier:)]) { - vc = [self.delegate settingsViewController:self viewControllerForMailComposeViewForSpecifier:specifier]; - } - - if (vc == nil) { - vc = self; - } - - mailViewController.mailComposeDelegate = vc; - [vc presentModalViewController:mailViewController animated:YES]; - } else { - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Mail not configured", @"InAppSettingKit") - message:NSLocalizedString(@"This device is not configured for sending Email. Please configure the Mail settings in the Settings app.", @"InAppSettingsKit") - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"OK", @"InAppSettingsKit") - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [self presentViewController:errView animated:YES completion:nil]; - } - - } else if ([[specifier type] isEqualToString:kIASKCustomViewSpecifier] && [self.delegate respondsToSelector:@selector(settingsViewController:tableView:didSelectCustomViewSpecifier:)]) { - [self.delegate settingsViewController:self tableView:tableView didSelectCustomViewSpecifier:specifier]; - } else { - [tableView deselectRowAtIndexPath:indexPath animated:NO]; - } -} - - -#pragma mark - -#pragma mark MFMailComposeViewControllerDelegate Function - --(void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error { - - // Forward the mail compose delegate - if ([self.delegate respondsToSelector:@selector(settingsViewController:mailComposeController:didFinishWithResult:error:)]) { - [self.delegate settingsViewController:self - mailComposeController:controller - didFinishWithResult:result - error:error]; - } - - // NOTE: No error handling is done here - [self dismissModalViewControllerAnimated:YES]; -} - -#pragma mark - -#pragma mark UITextFieldDelegate Functions - -- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField { - self.currentFirstResponder = textField; - return YES; -} - -- (void)_textChanged:(id)sender { - IASKTextField *text = (IASKTextField *)sender; - [_settingsStore setObject:[text text] forKey:[text key]]; - [[NSNotificationCenter defaultCenter] - postNotificationName:kIASKAppSettingChanged - object:[text key] - userInfo:[NSDictionary dictionaryWithObject:[text text] forKey:[text key]]]; -} - -- (BOOL)textFieldShouldReturn:(UITextField *)textField{ - [textField resignFirstResponder]; - self.currentFirstResponder = nil; - return YES; -} - -- (void)singleTapToEndEdit:(UIGestureRecognizer *)sender { - [self.tableView endEditing:NO]; -} - -#pragma mark Notifications - -- (void)synchronizeSettings { - [_settingsStore synchronize]; -} - -static NSDictionary *oldUserDefaults = nil; -- (void)userDefaultsDidChange { - NSDictionary *currentDict = [NSUserDefaults standardUserDefaults].dictionaryRepresentation; - NSMutableArray *indexPathsToUpdate = [NSMutableArray array]; - for (NSString *key in currentDict.allKeys) { - if (![[oldUserDefaults valueForKey:key] isEqual:[currentDict valueForKey:key]]) { - NSIndexPath *path = [self.settingsReader indexPathForKey:key]; - if (path && ![[self.settingsReader specifierForKey:key].type isEqualToString:kIASKCustomViewSpecifier]) { - [indexPathsToUpdate addObject:path]; - } - } - } - oldUserDefaults = currentDict; - - for (UITableViewCell *cell in self.tableView.visibleCells) { - if ([cell isKindOfClass:[IASKPSTextFieldSpecifierViewCell class]] && [((IASKPSTextFieldSpecifierViewCell*)cell).textField isFirstResponder]) { - [indexPathsToUpdate removeObject:[self.tableView indexPathForCell:cell]]; - } - } - if (indexPathsToUpdate.count) { - [self.tableView reloadRowsAtIndexPaths:indexPathsToUpdate withRowAnimation:UITableViewRowAnimationNone]; - } -} - -- (void)reload { - // wait 0.5 sec until UI is available after applicationWillEnterForeground - [self.tableView performSelector:@selector(reloadData) withObject:nil afterDelay:0.5]; -} - -#pragma mark CGRect Utility function -CGRect IASKCGRectSwap(CGRect rect) { - CGRect newRect; - newRect.origin.x = rect.origin.y; - newRect.origin.y = rect.origin.x; - newRect.size.width = rect.size.height; - newRect.size.height = rect.size.width; - return newRect; -} -@end - -#pragma deploymate pop diff --git a/Classes/Utils/InAppSettingsKit/Controllers/IASKSpecifierValuesViewController.h b/Classes/Utils/InAppSettingsKit/Controllers/IASKSpecifierValuesViewController.h deleted file mode 100755 index 99b2ef14d..000000000 --- a/Classes/Utils/InAppSettingsKit/Controllers/IASKSpecifierValuesViewController.h +++ /dev/null @@ -1,36 +0,0 @@ -// -// IASKSpecifierValuesViewController.h -// http://www.inappsettingskit.com -// -// Copyright (c) 2009: -// Luc Vandal, Edovia Inc., http://www.edovia.com -// Ortwin Gentz, FutureTap GmbH, http://www.futuretap.com -// All rights reserved. -// -// It is appreciated but not required that you give credit to Luc Vandal and Ortwin Gentz, -// as the original authors of this code. You can give credit in a blog post, a tweet or on -// a info page of your app. Also, the original authors appreciate letting them know if you use this code. -// -// This code is licensed under the BSD license that is available at: http://www.opensource.org/licenses/bsd-license.php -// - -#import -#import "IASKSettingsStore.h" -#import "IASKViewController.h" -@class IASKSpecifier; -@class IASKSettingsReader; - -@interface IASKSpecifierValuesViewController : UIViewController { - UITableView *_tableView; - - IASKSpecifier *_currentSpecifier; - NSIndexPath *_checkedItem; - IASKSettingsReader *_settingsReader; - id _settingsStore; -} - -@property(nonatomic, strong) UITableView *tableView; -@property(nonatomic, strong) NSIndexPath *checkedItem; -@property(nonatomic, strong) IASKSpecifier *currentSpecifier; - -@end diff --git a/Classes/Utils/InAppSettingsKit/Controllers/IASKSpecifierValuesViewController.m b/Classes/Utils/InAppSettingsKit/Controllers/IASKSpecifierValuesViewController.m deleted file mode 100755 index 309ce30e6..000000000 --- a/Classes/Utils/InAppSettingsKit/Controllers/IASKSpecifierValuesViewController.m +++ /dev/null @@ -1,200 +0,0 @@ -// -// IASKSpecifierValuesViewController.m -// http://www.inappsettingskit.com -// -// Copyright (c) 2009: -// Luc Vandal, Edovia Inc., http://www.edovia.com -// Ortwin Gentz, FutureTap GmbH, http://www.futuretap.com -// All rights reserved. -// -// It is appreciated but not required that you give credit to Luc Vandal and Ortwin Gentz, -// as the original authors of this code. You can give credit in a blog post, a tweet or on -// a info page of your app. Also, the original authors appreciate letting them know if you use this code. -// -// This code is licensed under the BSD license that is available at: http://www.opensource.org/licenses/bsd-license.php -// - -#import "IASKSpecifierValuesViewController.h" -#import "IASKSpecifier.h" -#import "IASKSettingsReader.h" -#import "IASKSettingsStoreUserDefaults.h" - -#define kCellValue @"kCellValue" - -@interface IASKSpecifierValuesViewController() -- (void)userDefaultsDidChange; -@end - -@implementation IASKSpecifierValuesViewController - -@synthesize tableView=_tableView; -@synthesize currentSpecifier=_currentSpecifier; -@synthesize checkedItem=_checkedItem; -@synthesize settingsReader = _settingsReader; -@synthesize settingsStore = _settingsStore; - -- (void) updateCheckedItem { - NSInteger index; - - // Find the currently checked item - if([self.settingsStore objectForKey:[_currentSpecifier key]]) { - index = [[_currentSpecifier multipleValues] indexOfObject:[self.settingsStore objectForKey:[_currentSpecifier key]]]; - } else { - index = [[_currentSpecifier multipleValues] indexOfObject:[_currentSpecifier defaultValue]]; - } - [self setCheckedItem:[NSIndexPath indexPathForRow:index inSection:0]]; -} - -- (id)settingsStore { - if(_settingsStore == nil) { - _settingsStore = [[IASKSettingsStoreUserDefaults alloc] init]; - } - return _settingsStore; -} - -- (void)loadView -{ - _tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped]; - _tableView.autoresizingMask = UIViewAutoresizingFlexibleWidth | - UIViewAutoresizingFlexibleHeight; - _tableView.delegate = self; - _tableView.dataSource = self; - - self.view = _tableView; -} - -- (void)viewWillAppear:(BOOL)animated { - if (_currentSpecifier) { - [self setTitle:[_currentSpecifier title]]; - [self updateCheckedItem]; - } - - if (_tableView) { - [_tableView reloadData]; - - // Make sure the currently checked item is visible - [_tableView scrollToRowAtIndexPath:[self checkedItem] atScrollPosition:UITableViewScrollPositionMiddle animated:NO]; - } - [super viewWillAppear:animated]; -} - -- (void)viewDidAppear:(BOOL)animated { - [_tableView flashScrollIndicators]; - [super viewDidAppear:animated]; - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(userDefaultsDidChange) - name:NSUserDefaultsDidChangeNotification - object:[NSUserDefaults standardUserDefaults]]; -} - -- (void)viewDidDisappear:(BOOL)animated { - [[NSNotificationCenter defaultCenter] removeObserver:self name:NSUserDefaultsDidChangeNotification object:nil]; - [super viewDidDisappear:animated]; -} - - -- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { - return YES; -} - -- (void)dealloc { - _currentSpecifier = nil; - _checkedItem = nil; - _settingsReader = nil; - _settingsStore = nil; - _tableView = nil; -} - - -#pragma mark - -#pragma mark UITableView delegates - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return 1; -} - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - return [_currentSpecifier multipleValuesCount]; -} - -- (void)selectCell:(UITableViewCell *)cell { - [cell setAccessoryType:UITableViewCellAccessoryCheckmark]; - [[cell textLabel] setTextColor:kIASKgrayBlueColor]; -} - -- (void)deselectCell:(UITableViewCell *)cell { - [cell setAccessoryType:UITableViewCellAccessoryNone]; - if (@available(iOS 13.0, *)) { - [[cell textLabel] setTextColor:[UIColor labelColor]]; - } else { - [[cell textLabel] setTextColor:[UIColor darkGrayColor]]; - } -} - -- (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section { - return [_currentSpecifier footerText]; -} - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellValue]; - NSArray *titles = [_currentSpecifier multipleTitles]; - - if (!cell) { - cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kCellValue]; - } - - if ([indexPath isEqual:[self checkedItem]]) { - [self selectCell:cell]; - } else { - [self deselectCell:cell]; - } - - @try { - [[cell textLabel] setText:[self.settingsReader titleForStringId:[titles objectAtIndex:indexPath.row]]]; - } - @catch (NSException * e) {} - return cell; -} - -- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - - if (indexPath == [self checkedItem]) { - [tableView deselectRowAtIndexPath:indexPath animated:YES]; - return; - } - - NSArray *values = [_currentSpecifier multipleValues]; - - [tableView deselectRowAtIndexPath:indexPath animated:YES]; - [self deselectCell:[tableView cellForRowAtIndexPath:[self checkedItem]]]; - [self selectCell:[tableView cellForRowAtIndexPath:indexPath]]; - [self setCheckedItem:indexPath]; - - [self.settingsStore setObject:[values objectAtIndex:indexPath.row] forKey:[_currentSpecifier key]]; - [self.settingsStore synchronize]; - [[NSNotificationCenter defaultCenter] postNotificationName:kIASKAppSettingChanged - object:[_currentSpecifier key] - userInfo:[NSDictionary dictionaryWithObject:[values objectAtIndex:indexPath.row] - forKey:[_currentSpecifier key]]]; -} - -- (CGSize)contentSizeForViewInPopover { - return [[self view] sizeThatFits:CGSizeMake(320, 2000)]; -} - - -#pragma mark Notifications - -- (void)userDefaultsDidChange { - NSIndexPath *oldCheckedItem = self.checkedItem; - if(_currentSpecifier) { - [self updateCheckedItem]; - } - - // only reload the table if it had changed; prevents animation cancellation - if (![self.checkedItem isEqual:oldCheckedItem]) { - [_tableView reloadData]; - } -} - -@end diff --git a/Classes/Utils/InAppSettingsKit/Controllers/IASKViewController.h b/Classes/Utils/InAppSettingsKit/Controllers/IASKViewController.h deleted file mode 100755 index 40e450415..000000000 --- a/Classes/Utils/InAppSettingsKit/Controllers/IASKViewController.h +++ /dev/null @@ -1,26 +0,0 @@ -// -// IASKAppSettingsViewController.h -// http://www.inappsettingskit.com -// -// Copyright (c) 2009: -// Luc Vandal, Edovia Inc., http://www.edovia.com -// Ortwin Gentz, FutureTap GmbH, http://www.futuretap.com -// All rights reserved. -// -// It is appreciated but not required that you give credit to Luc Vandal and Ortwin Gentz, -// as the original authors of this code. You can give credit in a blog post, a tweet or on -// a info page of your app. Also, the original authors appreciate letting them know if you use this code. -// -// This code is licensed under the BSD license that is available at: http://www.opensource.org/licenses/bsd-license.php -// - -@class IASKSettingsReader; -@protocol IASKSettingsStore; - -// protocol all IASK view controllers implement -@protocol IASKViewController - -@property (nonatomic, retain) IASKSettingsReader* settingsReader; -@property (nonatomic, retain) id settingsStore; - -@end diff --git a/Classes/Utils/InAppSettingsKit/Models/IASKSettingsReader.h b/Classes/Utils/InAppSettingsKit/Models/IASKSettingsReader.h deleted file mode 100755 index 628320900..000000000 --- a/Classes/Utils/InAppSettingsKit/Models/IASKSettingsReader.h +++ /dev/null @@ -1,162 +0,0 @@ -// -// IASKSettingsReader.h -// http://www.inappsettingskit.com -// -// Copyright (c) 2009: -// Luc Vandal, Edovia Inc., http://www.edovia.com -// Ortwin Gentz, FutureTap GmbH, http://www.futuretap.com -// All rights reserved. -// -// It is appreciated but not required that you give credit to Luc Vandal and Ortwin Gentz, -// as the original authors of this code. You can give credit in a blog post, a tweet or on -// a info page of your app. Also, the original authors appreciate letting them know if you use this code. -// -// This code is licensed under the BSD license that is available at: http://www.opensource.org/licenses/bsd-license.php -// - -#import - -#define kIASKPreferenceSpecifiers @"PreferenceSpecifiers" -#define kIASKCellImage @"IASKCellImage" - -#define kIASKType @"Type" -#define kIASKTitle @"Title" -#define kIASKFooterText @"FooterText" -#define kIASKKey @"Key" -#define kIASKFile @"File" -#define kIASKDefaultValue @"DefaultValue" -#define kIASKMinimumValue @"MinimumValue" -#define kIASKMaximumValue @"MaximumValue" -#define kIASKTrueValue @"TrueValue" -#define kIASKFalseValue @"FalseValue" -#define kIASKIsSecure @"IsSecure" -#define KIASKKeyboardType @"KeyboardType" -#define kIASKAutocapitalizationType @"AutocapitalizationType" -#define kIASKAutoCorrectionType @"AutocorrectionType" -#define kIASKValues @"Values" -#define kIASKTitles @"Titles" -#define kIASKViewControllerClass @"IASKViewControllerClass" -#define kIASKViewControllerSelector @"IASKViewControllerSelector" -#define kIASKButtonClass @"IASKButtonClass" -#define kIASKButtonAction @"IASKButtonAction" -#define kIASKMailComposeToRecipents @"IASKMailComposeToRecipents" -#define kIASKMailComposeCcRecipents @"IASKMailComposeCcRecipents" -#define kIASKMailComposeBccRecipents @"IASKMailComposeBccRecipents" -#define kIASKMailComposeSubject @"IASKMailComposeSubject" -#define kIASKMailComposeBody @"IASKMailComposeBody" -#define kIASKMailComposeBodyIsHTML @"IASKMailComposeBodyIsHTML" -#define kIASKKeyboardAlphabet @"Alphabet" -#define kIASKKeyboardNumbersAndPunctuation @"NumbersAndPunctuation" -#define kIASKKeyboardNumberPad @"NumberPad" -#define kIASKKeyboardDecimalPad @"DecimalPad" - -#define KIASKKeyboardURL @"URL" -#define kIASKKeyboardEmailAddress @"EmailAddress" -#define kIASKAutoCapNone @"None" -#define kIASKAutoCapSentences @"Sentences" -#define kIASKAutoCapWords @"Words" -#define kIASKAutoCapAllCharacters @"AllCharacters" -#define kIASKAutoCorrDefault @"Default" -#define kIASKAutoCorrNo @"No" -#define kIASKAutoCorrYes @"Yes" -#define kIASKMinimumValueImage @"MinimumValueImage" -#define kIASKMaximumValueImage @"MaximumValueImage" -#define kIASKAdjustsFontSizeToFitWidth @"IASKAdjustsFontSizeToFitWidth" -#define kIASKTextLabelAlignment @"IASKTextAlignment" -#define kIASKTextLabelAlignmentLeft @"IASKUITextAlignmentLeft" -#define kIASKTextLabelAlignmentCenter @"IASKUITextAlignmentCenter" -#define kIASKTextLabelAlignmentRight @"IASKUITextAlignmentRight" - -#define kIASKPSGroupSpecifier @"PSGroupSpecifier" -#define kIASKPSToggleSwitchSpecifier @"PSToggleSwitchSpecifier" -#define kIASKPSMultiValueSpecifier @"PSMultiValueSpecifier" -#define kIASKPSSliderSpecifier @"PSSliderSpecifier" -#define kIASKPSTitleValueSpecifier @"PSTitleValueSpecifier" -#define kIASKPSTextFieldSpecifier @"PSTextFieldSpecifier" -#define kIASKPSChildPaneSpecifier @"PSChildPaneSpecifier" -#define kIASKOpenURLSpecifier @"IASKOpenURLSpecifier" -#define kIASKButtonSpecifier @"IASKButtonSpecifier" -#define kIASKMailComposeSpecifier @"IASKMailComposeSpecifier" -#define kIASKCustomViewSpecifier @"IASKCustomViewSpecifier" - -#define kIASKBundleFolder @"Settings.bundle" -#define kIASKBundleFolderAlt @"InAppSettings.bundle" -#define kIASKBundleFilename @"Root.plist" -#define KIASKBundleLocaleFolderExtension @".lproj" - -#define kIASKAppSettingChanged @"kAppSettingChanged" - -#define kIASKSectionHeaderIndex 0 - -#define kIASKSliderNoImagesPadding 11 -#define kIASKSliderImagesPadding 43 - - -#define kIASKTableWidth 320 -#define kIASKSpacing 5 -#define kIASKMinLabelWidth 97 -#define kIASKMaxLabelWidth 240 -#define kIASKMinValueWidth 35 - -#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000 - #define kIASKPaddingLeft (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1 ? 14 : 9) -#else - #define kIASKPaddingLeft 9 -#endif - -#define kIASKPaddingRight 10 -#define kIASKHorizontalPaddingGroupTitles 19 -#define kIASKVerticalPaddingGroupTitles 15 - -#define kIASKLabelFontSize 17 -#define kIASKgrayBlueColor [UIColor colorWithRed:0.318 green:0.4 blue:0.569 alpha:1.0] - -#define kIASKMinimumFontSize 12.0f - -#ifndef kCFCoreFoundationVersionNumber_iPhoneOS_4_0 -#define kCFCoreFoundationVersionNumber_iPhoneOS_4_0 550.32 -#endif - -#ifndef kCFCoreFoundationVersionNumber_iPhoneOS_4_1 -#define kCFCoreFoundationVersionNumber_iPhoneOS_4_1 550.38 -#endif - - -#define IASK_IF_IOS4_OR_GREATER(...) \ -if (kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iPhoneOS_4_0) \ -{ \ -__VA_ARGS__ \ -} - -@class IASKSpecifier; - -@interface IASKSettingsReader : NSObject { - NSString *_path; - NSString *_localizationTable; - NSString *_bundlePath; - NSDictionary *_settingsBundle; - NSArray *_dataSource; - NSBundle *_bundle; - NSSet *_hiddenKeys; -} - -- (id)initWithFile:(NSString*)file; -- (NSInteger)numberOfSections; -- (NSInteger)numberOfRowsForSection:(NSInteger)section; -- (IASKSpecifier*)specifierForIndexPath:(NSIndexPath*)indexPath; -- (NSIndexPath*)indexPathForKey:(NSString*)key; -- (IASKSpecifier*)specifierForKey:(NSString*)key; -- (NSString*)titleForSection:(NSInteger)section; -- (NSString*)keyForSection:(NSInteger)section; -- (NSString*)footerTextForSection:(NSInteger)section; -- (NSString*)titleForStringId:(NSString*)stringId; -- (NSString*)pathForImageNamed:(NSString*)image; - -@property(nonatomic, strong) NSString *path; -@property(nonatomic, strong) NSString *localizationTable; -@property(nonatomic, strong) NSString *bundlePath; -@property(nonatomic, strong) NSDictionary *settingsBundle; -@property(nonatomic, strong) NSArray *dataSource; -@property(nonatomic, strong) NSSet *hiddenKeys; - -@end diff --git a/Classes/Utils/InAppSettingsKit/Models/IASKSettingsReader.m b/Classes/Utils/InAppSettingsKit/Models/IASKSettingsReader.m deleted file mode 100755 index 028ef72bc..000000000 --- a/Classes/Utils/InAppSettingsKit/Models/IASKSettingsReader.m +++ /dev/null @@ -1,282 +0,0 @@ -// -// IASKSettingsReader.m -// http://www.inappsettingskit.com -// -// Copyright (c) 2009: -// Luc Vandal, Edovia Inc., http://www.edovia.com -// Ortwin Gentz, FutureTap GmbH, http://www.futuretap.com -// All rights reserved. -// -// It is appreciated but not required that you give credit to Luc Vandal and Ortwin Gentz, -// as the original authors of this code. You can give credit in a blog post, a tweet or on -// a info page of your app. Also, the original authors appreciate letting them know if you use this code. -// -// This code is licensed under the BSD license that is available at: http://www.opensource.org/licenses/bsd-license.php -// - -#import "IASKSettingsReader.h" -#import "IASKSpecifier.h" - -@interface IASKSettingsReader (private) -- (void)_reinterpretBundle:(NSDictionary*)settingsBundle; -- (BOOL)_sectionHasHeading:(NSInteger)section; -- (NSString *)platformSuffix; -- (NSString *)locateSettingsFile:(NSString *)file; - -@end - -@implementation IASKSettingsReader - -@synthesize path=_path, -localizationTable=_localizationTable, -bundlePath=_bundlePath, -settingsBundle=_settingsBundle, -dataSource=_dataSource, -hiddenKeys = _hiddenKeys; - -- (id)init { - return [self initWithFile:@"Root"]; -} - -- (id)initWithFile:(NSString*)file { - if ((self=[super init])) { - - - self.path = [self locateSettingsFile: file]; - [self setSettingsBundle:[NSDictionary dictionaryWithContentsOfFile:self.path]]; - self.bundlePath = [self.path stringByDeletingLastPathComponent]; - _bundle = [NSBundle bundleWithPath:[self bundlePath]]; - - // Look for localization file - self.localizationTable = [self.settingsBundle objectForKey:@"StringsTable"]; - if (!self.localizationTable) - { - // Look for localization file using filename - self.localizationTable = [[[[self.path stringByDeletingPathExtension] // removes '.plist' - stringByDeletingPathExtension] // removes potential '.inApp' - lastPathComponent] // strip absolute path - stringByReplacingOccurrencesOfString:[self platformSuffix] withString:@""]; // removes potential '~device' (~ipad, ~iphone) - if([_bundle pathForResource:self.localizationTable ofType:@"strings"] == nil){ - // Could not find the specified localization: use default - self.localizationTable = @"Root"; - } - } - - if (_settingsBundle) { - [self _reinterpretBundle:_settingsBundle]; - } - } - return self; -} - -- (void)dealloc { - _path = nil; - _localizationTable = nil; - _bundlePath = nil; - _settingsBundle = nil; - _dataSource = nil; - _bundle = nil; - _hiddenKeys = nil; -} - - -- (void)setHiddenKeys:(NSSet *)anHiddenKeys { - if (_hiddenKeys != anHiddenKeys) { - _hiddenKeys = anHiddenKeys; - - if (_settingsBundle) { - [self _reinterpretBundle:_settingsBundle]; - } - } -} - - -- (void)_reinterpretBundle:(NSDictionary*)settingsBundle { - NSArray *preferenceSpecifiers = [settingsBundle objectForKey:kIASKPreferenceSpecifiers]; - NSInteger sectionCount = -1; - NSMutableArray *dataSource = [[NSMutableArray alloc] init]; - - for (NSDictionary *specifier in preferenceSpecifiers) { - if ([self.hiddenKeys containsObject:[specifier objectForKey:kIASKKey]]) { - continue; - } - if ([(NSString*)[specifier objectForKey:kIASKType] isEqualToString:kIASKPSGroupSpecifier]) { - NSMutableArray *newArray = [[NSMutableArray alloc] init]; - - [newArray addObject:specifier]; - [dataSource addObject:newArray]; - sectionCount++; - } - else { - if (sectionCount == -1) { - NSMutableArray *newArray = [[NSMutableArray alloc] init]; - [dataSource addObject:newArray]; - sectionCount++; - } - - IASKSpecifier *newSpecifier = [[IASKSpecifier alloc] initWithSpecifier:specifier]; - [(NSMutableArray*)[dataSource objectAtIndex:sectionCount] addObject:newSpecifier]; - } - } - [self setDataSource:dataSource]; -} - -- (BOOL)_sectionHasHeading:(NSInteger)section { - return [[[[self dataSource] objectAtIndex:section] objectAtIndex:0] isKindOfClass:[NSDictionary class]]; -} - -- (NSInteger)numberOfSections { - return [[self dataSource] count]; -} - -- (NSInteger)numberOfRowsForSection:(NSInteger)section { - int headingCorrection = [self _sectionHasHeading:section] ? 1 : 0; - return [(NSArray*)[[self dataSource] objectAtIndex:section] count] - headingCorrection; -} - -- (IASKSpecifier*)specifierForIndexPath:(NSIndexPath*)indexPath { - int headingCorrection = [self _sectionHasHeading:indexPath.section] ? 1 : 0; - - IASKSpecifier *specifier = [[[self dataSource] objectAtIndex:indexPath.section] objectAtIndex:(indexPath.row+headingCorrection)]; - specifier.settingsReader = self; - return specifier; -} - -- (NSIndexPath*)indexPathForKey:(NSString *)key { - for (NSUInteger sectionIndex = 0; sectionIndex < self.dataSource.count; sectionIndex++) { - NSArray *section = [self.dataSource objectAtIndex:sectionIndex]; - for (NSUInteger rowIndex = 0; rowIndex < section.count; rowIndex++) { - IASKSpecifier *specifier = (IASKSpecifier*)[section objectAtIndex:rowIndex]; - if ([specifier isKindOfClass:[IASKSpecifier class]] && [specifier.key isEqualToString:key]) { - NSUInteger correctedRowIndex = rowIndex - [self _sectionHasHeading:sectionIndex]; - return [NSIndexPath indexPathForRow:correctedRowIndex inSection:sectionIndex]; - } - } - } - return nil; -} - -- (IASKSpecifier*)specifierForKey:(NSString*)key { - for (NSArray *specifiers in _dataSource) { - for (id sp in specifiers) { - if ([sp isKindOfClass:[IASKSpecifier class]]) { - if ([[(IASKSpecifier*)sp key] isEqualToString:key]) { - return sp; - } - } - } - } - return nil; -} - -- (NSString*)titleForSection:(NSInteger)section { - if ([self _sectionHasHeading:section]) { - NSDictionary *dict = [[[self dataSource] objectAtIndex:section] objectAtIndex:kIASKSectionHeaderIndex]; - return [self titleForStringId:[dict objectForKey:kIASKTitle]]; - } - return nil; -} - -- (NSString*)keyForSection:(NSInteger)section { - if ([self _sectionHasHeading:section]) { - return [[[[self dataSource] objectAtIndex:section] objectAtIndex:kIASKSectionHeaderIndex] objectForKey:kIASKKey]; - } - return nil; -} - -- (NSString*)footerTextForSection:(NSInteger)section { - if ([self _sectionHasHeading:section]) { - NSDictionary *dict = [[[self dataSource] objectAtIndex:section] objectAtIndex:kIASKSectionHeaderIndex]; - return [self titleForStringId:[dict objectForKey:kIASKFooterText]]; - } - return nil; -} - -- (NSString*)titleForStringId:(NSString*)stringId { - return [_bundle localizedStringForKey:stringId value:stringId table:self.localizationTable]; -} - -- (NSString*)pathForImageNamed:(NSString*)image { - return [[self bundlePath] stringByAppendingPathComponent:image]; -} - -- (NSString *)platformSuffix { - BOOL isPad = NO; -#if (__IPHONE_OS_VERSION_MAX_ALLOWED >= 30200) - isPad = UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad; -#endif - return isPad ? @"~ipad" : @"~iphone"; -} - -- (NSString *)file:(NSString *)file - withBundle:(NSString *)bundle - suffix:(NSString *)suffix - extension:(NSString *)extension { - - NSString *appBundle = [[NSBundle mainBundle] bundlePath]; - bundle = [appBundle stringByAppendingPathComponent:bundle]; - file = [file stringByAppendingFormat:@"%@%@", suffix, extension]; - return [bundle stringByAppendingPathComponent:file]; - -} - -- (NSString *)locateSettingsFile: (NSString *)file { - - // The file is searched in the following order: - // - // InAppSettings.bundle/FILE~DEVICE.inApp.plist - // InAppSettings.bundle/FILE.inApp.plist - // InAppSettings.bundle/FILE~DEVICE.plist - // InAppSettings.bundle/FILE.plist - // Settings.bundle/FILE~DEVICE.inApp.plist - // Settings.bundle/FILE.inApp.plist - // Settings.bundle/FILE~DEVICE.plist - // Settings.bundle/FILE.plist - // - // where DEVICE is either "iphone" or "ipad" depending on the current - // interface idiom. - // - // Settings.app uses the ~DEVICE suffixes since iOS 4.0. There are some - // differences from this implementation: - // - For an iPhone-only app running on iPad, Settings.app will not use the - // ~iphone suffix. There is no point in using these suffixes outside - // of universal apps anyway. - // - This implementation uses the device suffixes on iOS 3.x as well. - // - also check current locale (short only) - - NSArray *bundles = - [NSArray arrayWithObjects:kIASKBundleFolderAlt, kIASKBundleFolder, nil]; - - NSArray *extensions = - [NSArray arrayWithObjects:@".inApp.plist", @".plist", nil]; - - NSArray *suffixes = - [NSArray arrayWithObjects:[self platformSuffix], @"", nil]; - - NSArray *languages = - [NSArray arrayWithObjects:[[[NSLocale preferredLanguages] objectAtIndex:0] stringByAppendingString:KIASKBundleLocaleFolderExtension], @"", nil]; - - NSString *path = nil; - NSFileManager *fileManager = [NSFileManager defaultManager]; - - for (NSString *bundle in bundles) { - for (NSString *extension in extensions) { - for (NSString *suffix in suffixes) { - for (NSString *language in languages) { - path = [self file:file - withBundle:[bundle stringByAppendingPathComponent:language] - suffix:suffix - extension:extension]; - if ([fileManager fileExistsAtPath:path]) { - goto exitFromNestedLoop; - } - } - } - } - } - -exitFromNestedLoop: - return path; -} - -@end diff --git a/Classes/Utils/InAppSettingsKit/Models/IASKSettingsStore.h b/Classes/Utils/InAppSettingsKit/Models/IASKSettingsStore.h deleted file mode 100755 index c1b53ba2b..000000000 --- a/Classes/Utils/InAppSettingsKit/Models/IASKSettingsStore.h +++ /dev/null @@ -1,39 +0,0 @@ -// -// IASKSettingsStore.h -// http://www.inappsettingskit.com -// -// Copyright (c) 2010: -// Luc Vandal, Edovia Inc., http://www.edovia.com -// Ortwin Gentz, FutureTap GmbH, http://www.futuretap.com -// Marc-Etienne M.Léveillé, Edovia Inc., http://www.edovia.com -// All rights reserved. -// -// It is appreciated but not required that you give credit to Luc Vandal and Ortwin Gentz, -// as the original authors of this code. You can give credit in a blog post, a tweet or on -// a info page of your app. Also, the original authors appreciate letting them know if you use this code. -// -// This code is licensed under the BSD license that is available at: http://www.opensource.org/licenses/bsd-license.php -// - -#import - -@protocol IASKSettingsStore -@required -- (void)setBool:(BOOL)value forKey:(NSString*)key; -- (void)setFloat:(float)value forKey:(NSString*)key; -- (void)setDouble:(double)value forKey:(NSString*)key; -- (void)setInteger:(int)value forKey:(NSString*)key; -- (void)setObject:(id)value forKey:(NSString*)key; -- (BOOL)boolForKey:(NSString*)key; -- (float)floatForKey:(NSString*)key; -- (double)doubleForKey:(NSString*)key; -- (int)integerForKey:(NSString*)key; -- (id)objectForKey:(NSString*)key; -- (BOOL)synchronize; // Write settings to a permanant storage. Returns YES on success, NO otherwise -@end - - -@interface IASKAbstractSettingsStore : NSObject { -} - -@end diff --git a/Classes/Utils/InAppSettingsKit/Models/IASKSettingsStore.m b/Classes/Utils/InAppSettingsKit/Models/IASKSettingsStore.m deleted file mode 100755 index db858fa7c..000000000 --- a/Classes/Utils/InAppSettingsKit/Models/IASKSettingsStore.m +++ /dev/null @@ -1,68 +0,0 @@ -// -// IASKSettingsStore.m -// http://www.inappsettingskit.com -// -// Copyright (c) 2010: -// Luc Vandal, Edovia Inc., http://www.edovia.com -// Ortwin Gentz, FutureTap GmbH, http://www.futuretap.com -// Marc-Etienne M.Léveillé, Edovia Inc., http://www.edovia.com -// All rights reserved. -// -// It is appreciated but not required that you give credit to Luc Vandal and Ortwin Gentz, -// as the original authors of this code. You can give credit in a blog post, a tweet or on -// a info page of your app. Also, the original authors appreciate letting them know if you use this code. -// -// This code is licensed under the BSD license that is available at: http://www.opensource.org/licenses/bsd-license.php -// - -#import "IASKSettingsStore.h" - -@implementation IASKAbstractSettingsStore - -- (void)setObject:(id)value forKey:(NSString*)key { - [NSException raise:@"Unimplemented" - format:@"setObject:forKey: must be implemented in subclasses of IASKAbstractSettingsStore"]; -} - -- (id)objectForKey:(NSString*)key { - [NSException raise:@"Unimplemented" - format:@"objectForKey: must be implemented in subclasses of IASKAbstractSettingsStore"]; - return nil; -} - -- (void)setBool:(BOOL)value forKey:(NSString*)key { - [self setObject:[NSNumber numberWithBool:value] forKey:key]; -} - -- (void)setFloat:(float)value forKey:(NSString*)key { - [self setObject:[NSNumber numberWithFloat:value] forKey:key]; -} - -- (void)setInteger:(int)value forKey:(NSString*)key { - [self setObject:[NSNumber numberWithInt:value] forKey:key]; -} - -- (void)setDouble:(double)value forKey:(NSString*)key { - [self setObject:[NSNumber numberWithDouble:value] forKey:key]; -} - -- (BOOL)boolForKey:(NSString*)key { - return [[self objectForKey:key] boolValue]; -} - -- (float)floatForKey:(NSString*)key { - return [[self objectForKey:key] floatValue]; -} -- (int)integerForKey:(NSString*)key { - return [[self objectForKey:key] intValue]; -} - -- (double)doubleForKey:(NSString*)key { - return [[self objectForKey:key] doubleValue]; -} - -- (BOOL)synchronize { - return NO; -} - -@end diff --git a/Classes/Utils/InAppSettingsKit/Models/IASKSettingsStoreFile.h b/Classes/Utils/InAppSettingsKit/Models/IASKSettingsStoreFile.h deleted file mode 100755 index 6d4fe2993..000000000 --- a/Classes/Utils/InAppSettingsKit/Models/IASKSettingsStoreFile.h +++ /dev/null @@ -1,28 +0,0 @@ -// -// IASKSettingsStoreFile.h -// http://www.inappsettingskit.com -// -// Copyright (c) 2010: -// Luc Vandal, Edovia Inc., http://www.edovia.com -// Ortwin Gentz, FutureTap GmbH, http://www.futuretap.com -// Marc-Etienne M.Léveillé, Edovia Inc., http://www.edovia.com -// All rights reserved. -// -// It is appreciated but not required that you give credit to Luc Vandal and Ortwin Gentz, -// as the original authors of this code. You can give credit in a blog post, a tweet or on -// a info page of your app. Also, the original authors appreciate letting them know if you use this code. -// -// This code is licensed under the BSD license that is available at: http://www.opensource.org/licenses/bsd-license.php -// - -#import -#import "IASKSettingsStore.h" - -@interface IASKSettingsStoreFile : IASKAbstractSettingsStore { - NSString * _filePath; - NSMutableDictionary * _dict; -} - -- (id)initWithPath:(NSString*)path; - -@end diff --git a/Classes/Utils/InAppSettingsKit/Models/IASKSettingsStoreFile.m b/Classes/Utils/InAppSettingsKit/Models/IASKSettingsStoreFile.m deleted file mode 100755 index a5fc41933..000000000 --- a/Classes/Utils/InAppSettingsKit/Models/IASKSettingsStoreFile.m +++ /dev/null @@ -1,52 +0,0 @@ -// -// IASKSettingsStoreFile.m -// http://www.inappsettingskit.com -// -// Copyright (c) 2010: -// Luc Vandal, Edovia Inc., http://www.edovia.com -// Ortwin Gentz, FutureTap GmbH, http://www.futuretap.com -// Marc-Etienne M.Léveillé, Edovia Inc., http://www.edovia.com -// All rights reserved. -// -// It is appreciated but not required that you give credit to Luc Vandal and Ortwin Gentz, -// as the original authors of this code. You can give credit in a blog post, a tweet or on -// a info page of your app. Also, the original authors appreciate letting them know if you use this code. -// -// This code is licensed under the BSD license that is available at: http://www.opensource.org/licenses/bsd-license.php -// - -#import "IASKSettingsStoreFile.h" - - -@implementation IASKSettingsStoreFile - -- (id)initWithPath:(NSString*)path { - if((self = [super init])) { - _filePath = path; - _dict = [[NSMutableDictionary alloc] initWithContentsOfFile:path]; - if (_dict == nil) { - _dict = [[NSMutableDictionary alloc] init]; - } - } - return self; -} - -- (void)dealloc { - _dict = nil; - _filePath = nil; -} - - -- (void)setObject:(id)value forKey:(NSString *)key { - [_dict setObject:value forKey:key]; -} - -- (id)objectForKey:(NSString *)key { - return [_dict objectForKey:key]; -} - -- (BOOL)synchronize { - return [_dict writeToFile:_filePath atomically:YES]; -} - -@end diff --git a/Classes/Utils/InAppSettingsKit/Models/IASKSettingsStoreUserDefaults.h b/Classes/Utils/InAppSettingsKit/Models/IASKSettingsStoreUserDefaults.h deleted file mode 100755 index 3731f5e3b..000000000 --- a/Classes/Utils/InAppSettingsKit/Models/IASKSettingsStoreUserDefaults.h +++ /dev/null @@ -1,25 +0,0 @@ -// -// IASKSettingsStoreUserDefaults.h -// http://www.inappsettingskit.com -// -// Copyright (c) 2010: -// Luc Vandal, Edovia Inc., http://www.edovia.com -// Ortwin Gentz, FutureTap GmbH, http://www.futuretap.com -// Marc-Etienne M.Léveillé, Edovia Inc., http://www.edovia.com -// All rights reserved. -// -// It is appreciated but not required that you give credit to Luc Vandal and Ortwin Gentz, -// as the original authors of this code. You can give credit in a blog post, a tweet or on -// a info page of your app. Also, the original authors appreciate letting them know if you use this code. -// -// This code is licensed under the BSD license that is available at: http://www.opensource.org/licenses/bsd-license.php -// - -#import -#import "IASKSettingsStore.h" - -@interface IASKSettingsStoreUserDefaults : IASKAbstractSettingsStore { - -} - -@end diff --git a/Classes/Utils/InAppSettingsKit/Models/IASKSettingsStoreUserDefaults.m b/Classes/Utils/InAppSettingsKit/Models/IASKSettingsStoreUserDefaults.m deleted file mode 100755 index 8b85b3cc2..000000000 --- a/Classes/Utils/InAppSettingsKit/Models/IASKSettingsStoreUserDefaults.m +++ /dev/null @@ -1,67 +0,0 @@ -// -// IASKSettingsStoreUserDefaults.m -// http://www.inappsettingskit.com -// -// Copyright (c) 2010: -// Luc Vandal, Edovia Inc., http://www.edovia.com -// Ortwin Gentz, FutureTap GmbH, http://www.futuretap.com -// Marc-Etienne M.Léveillé, Edovia Inc., http://www.edovia.com -// All rights reserved. -// -// It is appreciated but not required that you give credit to Luc Vandal and Ortwin Gentz, -// as the original authors of this code. You can give credit in a blog post, a tweet or on -// a info page of your app. Also, the original authors appreciate letting them know if you use this code. -// -// This code is licensed under the BSD license that is available at: http://www.opensource.org/licenses/bsd-license.php -// - -#import "IASKSettingsStoreUserDefaults.h" - - -@implementation IASKSettingsStoreUserDefaults - -- (void)setBool:(BOOL)value forKey:(NSString*)key { - [[NSUserDefaults standardUserDefaults] setBool:value forKey:key]; -} - -- (void)setFloat:(float)value forKey:(NSString*)key { - [[NSUserDefaults standardUserDefaults] setFloat:value forKey:key]; -} - -- (void)setDouble:(double)value forKey:(NSString*)key { - [[NSUserDefaults standardUserDefaults] setDouble:value forKey:key]; -} - -- (void)setInteger:(int)value forKey:(NSString*)key { - [[NSUserDefaults standardUserDefaults] setInteger:value forKey:key]; -} - -- (void)setObject:(id)value forKey:(NSString*)key { - [[NSUserDefaults standardUserDefaults] setObject:value forKey:key]; -} - -- (BOOL)boolForKey:(NSString*)key { - return [[NSUserDefaults standardUserDefaults] boolForKey:key]; -} - -- (float)floatForKey:(NSString*)key { - return [[NSUserDefaults standardUserDefaults] floatForKey:key]; -} - -- (double)doubleForKey:(NSString*)key { - return [[NSUserDefaults standardUserDefaults] doubleForKey:key]; -} - -- (int)integerForKey:(NSString*)key { - return (int)[[NSUserDefaults standardUserDefaults] integerForKey:key]; -} - -- (id)objectForKey:(NSString*)key { - return [[NSUserDefaults standardUserDefaults] objectForKey:key]; -} - -- (BOOL)synchronize { - return [[NSUserDefaults standardUserDefaults] synchronize]; -} - -@end diff --git a/Classes/Utils/InAppSettingsKit/Models/IASKSpecifier.h b/Classes/Utils/InAppSettingsKit/Models/IASKSpecifier.h deleted file mode 100755 index cec727d9f..000000000 --- a/Classes/Utils/InAppSettingsKit/Models/IASKSpecifier.h +++ /dev/null @@ -1,62 +0,0 @@ -// -// IASKSpecifier.h -// http://www.inappsettingskit.com -// -// Copyright (c) 2009: -// Luc Vandal, Edovia Inc., http://www.edovia.com -// Ortwin Gentz, FutureTap GmbH, http://www.futuretap.com -// All rights reserved. -// -// It is appreciated but not required that you give credit to Luc Vandal and Ortwin Gentz, -// as the original authors of this code. You can give credit in a blog post, a tweet or on -// a info page of your app. Also, the original authors appreciate letting them know if you use this code. -// -// This code is licensed under the BSD license that is available at: http://www.opensource.org/licenses/bsd-license.php -// - -#import -#import - -@class IASKSettingsReader; - -@interface IASKSpecifier : NSObject { - NSDictionary *_specifierDict; - NSDictionary *_multipleValuesDict; - IASKSettingsReader *__weak _settingsReader; -} -@property(nonatomic, strong) NSDictionary *specifierDict; -@property(nonatomic, weak) IASKSettingsReader *settingsReader; - -- (id)initWithSpecifier:(NSDictionary*)specifier; -- (NSString*)localizedObjectForKey:(NSString*)key; -- (NSString*)title; -- (NSString*)key; -- (NSString*)type; -- (NSString*)titleForCurrentValue:(id)currentValue; -- (NSInteger)multipleValuesCount; -- (NSArray*)multipleValues; -- (NSArray*)multipleTitles; -- (NSString*)file; -- (id)defaultValue; -- (id)defaultStringValue; -- (BOOL)defaultBoolValue; -- (id)trueValue; -- (id)falseValue; -- (float)minimumValue; -- (float)maximumValue; -- (NSString*)minimumValueImage; -- (NSString*)maximumValueImage; -- (BOOL)isSecure; -- (UIKeyboardType)keyboardType; -- (UITextAutocapitalizationType)autocapitalizationType; -- (UITextAutocorrectionType)autoCorrectionType; -- (NSString*)footerText; -- (Class)viewControllerClass; -- (SEL)viewControllerSelector; --(Class)buttonClass; --(SEL)buttonAction; -- (UIImage *)cellImage; -- (UIImage *)highlightedCellImage; -- (BOOL)adjustsFontSizeToFitWidth; -- (NSTextAlignment)textAlignment; -@end diff --git a/Classes/Utils/InAppSettingsKit/Models/IASKSpecifier.m b/Classes/Utils/InAppSettingsKit/Models/IASKSpecifier.m deleted file mode 100755 index 503b71a8b..000000000 --- a/Classes/Utils/InAppSettingsKit/Models/IASKSpecifier.m +++ /dev/null @@ -1,269 +0,0 @@ -// -// IASKSpecifier.m -// http://www.inappsettingskit.com -// -// Copyright (c) 2009: -// Luc Vandal, Edovia Inc., http://www.edovia.com -// Ortwin Gentz, FutureTap GmbH, http://www.futuretap.com -// All rights reserved. -// -// It is appreciated but not required that you give credit to Luc Vandal and Ortwin Gentz, -// as the original authors of this code. You can give credit in a blog post, a tweet or on -// a info page of your app. Also, the original authors appreciate letting them know if you use this code. -// -// This code is licensed under the BSD license that is available at: http://www.opensource.org/licenses/bsd-license.php -// - -#import "IASKSpecifier.h" -#import "IASKSettingsReader.h" - -@interface IASKSpecifier () -@property(nonatomic, strong) NSDictionary *multipleValuesDict; -- (void)_reinterpretValues:(NSDictionary*)specifierDict; -@end - -@implementation IASKSpecifier - -@synthesize specifierDict=_specifierDict; -@synthesize multipleValuesDict=_multipleValuesDict; -@synthesize settingsReader = _settingsReader; - -- (id)initWithSpecifier:(NSDictionary*)specifier { - if ((self = [super init])) { - [self setSpecifierDict:specifier]; - - if ([[self type] isEqualToString:kIASKPSMultiValueSpecifier] || - [[self type] isEqualToString:kIASKPSTitleValueSpecifier]) { - [self _reinterpretValues:[self specifierDict]]; - } - } - return self; -} - -- (void)dealloc { - _specifierDict = nil; - _multipleValuesDict = nil; - - _settingsReader = nil; - -} - -- (void)_reinterpretValues:(NSDictionary*)specifierDict { - NSArray *values = [_specifierDict objectForKey:kIASKValues]; - NSArray *titles = [_specifierDict objectForKey:kIASKTitles]; - - NSMutableDictionary *multipleValuesDict = [[NSMutableDictionary alloc] init]; - - if (values) { - [multipleValuesDict setObject:values forKey:kIASKValues]; - } - - if (titles) { - [multipleValuesDict setObject:titles forKey:kIASKTitles]; - } - - [self setMultipleValuesDict:multipleValuesDict]; -} -- (NSString*)localizedObjectForKey:(NSString*)key { - return [self.settingsReader titleForStringId:[_specifierDict objectForKey:key]]; -} - -- (NSString*)title { - return [self localizedObjectForKey:kIASKTitle]; -} - -- (NSString*)footerText { - return [self localizedObjectForKey:kIASKFooterText]; -} - --(Class) viewControllerClass { - return NSClassFromString([_specifierDict objectForKey:kIASKViewControllerClass]); -} - --(SEL) viewControllerSelector { - return NSSelectorFromString([_specifierDict objectForKey:kIASKViewControllerSelector]); -} - --(Class)buttonClass { - return NSClassFromString([_specifierDict objectForKey:kIASKButtonClass]); -} - --(SEL)buttonAction { - return NSSelectorFromString([_specifierDict objectForKey:kIASKButtonAction]); -} - -- (NSString*)key { - return [_specifierDict objectForKey:kIASKKey]; -} - -- (NSString*)type { - return [_specifierDict objectForKey:kIASKType]; -} - -- (NSString*)titleForCurrentValue:(id)currentValue { - NSArray *values = [self multipleValues]; - NSArray *titles = [self multipleTitles]; - if (values.count != titles.count) { - return nil; - } - NSInteger keyIndex = [values indexOfObject:currentValue]; - if (keyIndex == NSNotFound) { - return nil; - } - @try { - return [self.settingsReader titleForStringId:[titles objectAtIndex:keyIndex]]; - } - @catch (NSException * e) {} - return nil; -} - -- (NSInteger)multipleValuesCount { - return [[_multipleValuesDict objectForKey:kIASKValues] count]; -} - -- (NSArray*)multipleValues { - return [_multipleValuesDict objectForKey:kIASKValues]; -} - -- (NSArray*)multipleTitles { - return [_multipleValuesDict objectForKey:kIASKTitles]; -} - -- (NSString*)file { - return [_specifierDict objectForKey:kIASKFile]; -} - -- (id)defaultValue { - return [_specifierDict objectForKey:kIASKDefaultValue]; -} - -- (id)defaultStringValue { - return [[_specifierDict objectForKey:kIASKDefaultValue] description]; -} - -- (BOOL)defaultBoolValue { - id defaultValue = [self defaultValue]; - if ([defaultValue isEqual:[self trueValue]]) { - return YES; - } - if ([defaultValue isEqual:[self falseValue]]) { - return NO; - } - return [defaultValue boolValue]; -} - -- (id)trueValue { - return [_specifierDict objectForKey:kIASKTrueValue]; -} - -- (id)falseValue { - return [_specifierDict objectForKey:kIASKFalseValue]; -} - -- (float)minimumValue { - return [[_specifierDict objectForKey:kIASKMinimumValue] floatValue]; -} - -- (float)maximumValue { - return [[_specifierDict objectForKey:kIASKMaximumValue] floatValue]; -} - -- (NSString*)minimumValueImage { - return [_specifierDict objectForKey:kIASKMinimumValueImage]; -} - -- (NSString*)maximumValueImage { - return [_specifierDict objectForKey:kIASKMaximumValueImage]; -} - -- (BOOL)isSecure { - return [[_specifierDict objectForKey:kIASKIsSecure] boolValue]; -} - -- (UIKeyboardType)keyboardType { - if ([[_specifierDict objectForKey:KIASKKeyboardType] isEqualToString:kIASKKeyboardAlphabet]) { - return UIKeyboardTypeDefault; - } - else if ([[_specifierDict objectForKey:KIASKKeyboardType] isEqualToString:kIASKKeyboardNumbersAndPunctuation]) { - return UIKeyboardTypeNumbersAndPunctuation; - } - else if ([[_specifierDict objectForKey:KIASKKeyboardType] isEqualToString:kIASKKeyboardNumberPad]) { - return UIKeyboardTypeNumberPad; - } - else if ([[_specifierDict objectForKey:KIASKKeyboardType] isEqualToString:kIASKKeyboardDecimalPad]) { - if (kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iPhoneOS_4_1) { - return UIKeyboardTypeDecimalPad; - } - else { - return UIKeyboardTypeNumbersAndPunctuation; - } - } - else if ([[_specifierDict objectForKey:KIASKKeyboardType] isEqualToString:KIASKKeyboardURL]) { - return UIKeyboardTypeURL; - } - else if ([[_specifierDict objectForKey:KIASKKeyboardType] isEqualToString:kIASKKeyboardEmailAddress]) { - return UIKeyboardTypeEmailAddress; - } - return UIKeyboardTypeDefault; -} - -- (UITextAutocapitalizationType)autocapitalizationType { - if ([[_specifierDict objectForKey:kIASKAutocapitalizationType] isEqualToString:kIASKAutoCapNone]) { - return UITextAutocapitalizationTypeNone; - } - else if ([[_specifierDict objectForKey:kIASKAutocapitalizationType] isEqualToString:kIASKAutoCapSentences]) { - return UITextAutocapitalizationTypeSentences; - } - else if ([[_specifierDict objectForKey:kIASKAutocapitalizationType] isEqualToString:kIASKAutoCapWords]) { - return UITextAutocapitalizationTypeWords; - } - else if ([[_specifierDict objectForKey:kIASKAutocapitalizationType] isEqualToString:kIASKAutoCapAllCharacters]) { - return UITextAutocapitalizationTypeAllCharacters; - } - return UITextAutocapitalizationTypeNone; -} - -- (UITextAutocorrectionType)autoCorrectionType { - if ([[_specifierDict objectForKey:kIASKAutoCorrectionType] isEqualToString:kIASKAutoCorrDefault]) { - return UITextAutocorrectionTypeDefault; - } - else if ([[_specifierDict objectForKey:kIASKAutoCorrectionType] isEqualToString:kIASKAutoCorrNo]) { - return UITextAutocorrectionTypeNo; - } - else if ([[_specifierDict objectForKey:kIASKAutoCorrectionType] isEqualToString:kIASKAutoCorrYes]) { - return UITextAutocorrectionTypeYes; - } - return UITextAutocorrectionTypeDefault; -} - -- (UIImage *)cellImage -{ - return [UIImage imageNamed:[_specifierDict objectForKey:kIASKCellImage]]; -} - -- (UIImage *)highlightedCellImage -{ - return [UIImage imageNamed:[[_specifierDict objectForKey:kIASKCellImage ] stringByAppendingString:@"Highlighted"]]; -} - -- (BOOL)adjustsFontSizeToFitWidth { - NSNumber *boxedResult = [_specifierDict objectForKey:kIASKAdjustsFontSizeToFitWidth]; - return !boxedResult || [boxedResult boolValue]; -} - -- (NSTextAlignment)textAlignment { - if ([[_specifierDict objectForKey:kIASKTextLabelAlignment] isEqualToString:kIASKTextLabelAlignmentLeft]) { - return NSTextAlignmentLeft; - } else if ([[_specifierDict objectForKey:kIASKTextLabelAlignment] isEqualToString:kIASKTextLabelAlignmentCenter]) { - return NSTextAlignmentCenter; - } else if ([[_specifierDict objectForKey:kIASKTextLabelAlignment] isEqualToString:kIASKTextLabelAlignmentRight]) { - return NSTextAlignmentRight; - } - if ([self.type isEqualToString:kIASKButtonSpecifier] && !self.cellImage) { - return NSTextAlignmentCenter; - } else if ([self.type isEqualToString:kIASKPSMultiValueSpecifier] || [self.type isEqualToString:kIASKPSTitleValueSpecifier]) { - return NSTextAlignmentRight; - } - return NSTextAlignmentLeft; -} -@end diff --git a/Classes/Utils/InAppSettingsKit/Views/IASKPSSliderSpecifierViewCell.h b/Classes/Utils/InAppSettingsKit/Views/IASKPSSliderSpecifierViewCell.h deleted file mode 100755 index ed2f606a6..000000000 --- a/Classes/Utils/InAppSettingsKit/Views/IASKPSSliderSpecifierViewCell.h +++ /dev/null @@ -1,27 +0,0 @@ -// -// IASKPSSliderSpecifierViewCell.h -// http://www.inappsettingskit.com -// -// Copyright (c) 2009: -// Luc Vandal, Edovia Inc., http://www.edovia.com -// Ortwin Gentz, FutureTap GmbH, http://www.futuretap.com -// All rights reserved. -// -// It is appreciated but not required that you give credit to Luc Vandal and Ortwin Gentz, -// as the original authors of this code. You can give credit in a blog post, a tweet or on -// a info page of your app. Also, the original authors appreciate letting them know if you use this code. -// -// This code is licensed under the BSD license that is available at: http://www.opensource.org/licenses/bsd-license.php -// - -#import - -@class IASKSlider; - -@interface IASKPSSliderSpecifierViewCell : UITableViewCell - -@property(nonatomic, strong) IASKSlider *slider; -@property(nonatomic, strong) UIImageView *minImage; -@property(nonatomic, strong) UIImageView *maxImage; - -@end diff --git a/Classes/Utils/InAppSettingsKit/Views/IASKPSSliderSpecifierViewCell.m b/Classes/Utils/InAppSettingsKit/Views/IASKPSSliderSpecifierViewCell.m deleted file mode 100755 index cf320dfaa..000000000 --- a/Classes/Utils/InAppSettingsKit/Views/IASKPSSliderSpecifierViewCell.m +++ /dev/null @@ -1,92 +0,0 @@ -// -// IASKPSSliderSpecifierViewCell.m -// http://www.inappsettingskit.com -// -// Copyright (c) 2009-2010: -// Luc Vandal, Edovia Inc., http://www.edovia.com -// Ortwin Gentz, FutureTap GmbH, http://www.futuretap.com -// All rights reserved. -// -// It is appreciated but not required that you give credit to Luc Vandal and Ortwin Gentz, -// as the original authors of this code. You can give credit in a blog post, a tweet or on -// a info page of your app. Also, the original authors appreciate letting them know if you use this code. -// -// This code is licensed under the BSD license that is available at: http://www.opensource.org/licenses/bsd-license.php -// - -#import "IASKPSSliderSpecifierViewCell.h" -#import "IASKSlider.h" -#import "IASKSettingsReader.h" - -@implementation IASKPSSliderSpecifierViewCell -- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier -{ - self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; - if (self) { - // Setting only frame data that will not be overwritten by layoutSubviews - // Slider - _slider = [[IASKSlider alloc] initWithFrame:CGRectMake(0, 0, 0, 23)]; - _slider.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleWidth; - _slider.continuous = NO; - [self.contentView addSubview:_slider]; - - // MinImage - _minImage = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 21, 21)]; - _minImage.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin; - [self.contentView addSubview:_minImage]; - - // MaxImage - _maxImage = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 21, 21)]; - _maxImage.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleBottomMargin; - [self.contentView addSubview:_maxImage]; - - self.selectionStyle = UITableViewCellSelectionStyleNone; - } - return self; -} - -- (void)layoutSubviews { - [super layoutSubviews]; - CGRect sliderBounds = _slider.bounds; - CGPoint sliderCenter = _slider.center; - const double superViewWidth = _slider.superview.frame.size.width; - - sliderCenter.x = superViewWidth / 2; - sliderCenter.y = self.contentView.center.y; - sliderBounds.size.width = superViewWidth - kIASKSliderNoImagesPadding * 2; - _minImage.hidden = YES; - _maxImage.hidden = YES; - - // Check if there are min and max images. If so, change the layout accordingly. - if (_minImage.image) { - // Min image - _minImage.hidden = NO; - sliderCenter.x += (kIASKSliderImagesPadding - kIASKSliderNoImagesPadding) / 2; - sliderBounds.size.width -= (kIASKSliderImagesPadding - kIASKSliderNoImagesPadding); - _minImage.center = CGPointMake(_minImage.frame.size.width / 2 + kIASKPaddingLeft, - self.contentView.center.y); - } - if (_maxImage.image) { - // Max image - _maxImage.hidden = NO; - sliderCenter.x -= (kIASKSliderImagesPadding - kIASKSliderNoImagesPadding) / 2; - sliderBounds.size.width -= (kIASKSliderImagesPadding - kIASKSliderNoImagesPadding); - _maxImage.center = CGPointMake(self.contentView.bounds.size.width - _maxImage.frame.size.width / 2 - kIASKPaddingRight, - self.contentView.center.y); - } - - _slider.bounds = sliderBounds; - _slider.center = sliderCenter; -} - -- (void)dealloc { - _minImage.image = nil; - _maxImage.image = nil; -} - -- (void)prepareForReuse { - [super prepareForReuse]; - _minImage.image = nil; - _maxImage.image = nil; -} -@end diff --git a/Classes/Utils/InAppSettingsKit/Views/IASKPSTextFieldSpecifierViewCell.h b/Classes/Utils/InAppSettingsKit/Views/IASKPSTextFieldSpecifierViewCell.h deleted file mode 100755 index 8958ee26a..000000000 --- a/Classes/Utils/InAppSettingsKit/Views/IASKPSTextFieldSpecifierViewCell.h +++ /dev/null @@ -1,25 +0,0 @@ -// -// IASKPSTextFieldSpecifierViewCell.h -// http://www.inappsettingskit.com -// -// Copyright (c) 2009: -// Luc Vandal, Edovia Inc., http://www.edovia.com -// Ortwin Gentz, FutureTap GmbH, http://www.futuretap.com -// All rights reserved. -// -// It is appreciated but not required that you give credit to Luc Vandal and Ortwin Gentz, -// as the original authors of this code. You can give credit in a blog post, a tweet or on -// a info page of your app. Also, the original authors appreciate letting them know if you use this code. -// -// This code is licensed under the BSD license that is available at: http://www.opensource.org/licenses/bsd-license.php -// - -#import - -@class IASKTextField; - -@interface IASKPSTextFieldSpecifierViewCell : UITableViewCell - -@property(nonatomic, strong) IASKTextField *textField; - -@end diff --git a/Classes/Utils/InAppSettingsKit/Views/IASKPSTextFieldSpecifierViewCell.m b/Classes/Utils/InAppSettingsKit/Views/IASKPSTextFieldSpecifierViewCell.m deleted file mode 100755 index 63b8ab43a..000000000 --- a/Classes/Utils/InAppSettingsKit/Views/IASKPSTextFieldSpecifierViewCell.m +++ /dev/null @@ -1,72 +0,0 @@ -// -// IASKPSTextFieldSpecifierViewCell.m -// http://www.inappsettingskit.com -// -// Copyright (c) 2009-2010: -// Luc Vandal, Edovia Inc., http://www.edovia.com -// Ortwin Gentz, FutureTap GmbH, http://www.futuretap.com -// All rights reserved. -// -// It is appreciated but not required that you give credit to Luc Vandal and Ortwin Gentz, -// as the original authors of this code. You can give credit in a blog post, a tweet or on -// a info page of your app. Also, the original authors appreciate letting them know if you use this code. -// -// This code is licensed under the BSD license that is available at: http://www.opensource.org/licenses/bsd-license.php -// - -#pragma deploymate push "ignored-api-availability" -#import "IASKPSTextFieldSpecifierViewCell.h" -#import "IASKTextField.h" -#import "IASKSettingsReader.h" - -@implementation IASKPSTextFieldSpecifierViewCell - -@synthesize textField=_textField; - -- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier -{ - self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; - if (self) { - self.textLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleRightMargin; - - // TextField - _textField = [[IASKTextField alloc] initWithFrame:CGRectMake(0, 0, 200, 21)]; - _textField.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin | - UIViewAutoresizingFlexibleLeftMargin; - _textField.font = [UIFont systemFontOfSize:17.0f]; - _textField.minimumFontSize = kIASKMinimumFontSize; - _textField.textColor = [UIColor colorWithRed:0.275 green:0.376 blue:0.522 alpha:1.000]; - [self.contentView addSubview:_textField]; - - self.selectionStyle = UITableViewCellSelectionStyleNone; - } - return self; -} - -- (void)layoutSubviews { - [super layoutSubviews]; - - // Label - CGFloat imageOffset = self.imageView.image ? self.imageView.bounds.size.width + kIASKPaddingLeft : 0; - CGSize labelSize = [self.textLabel sizeThatFits:CGSizeZero]; - labelSize.width = MAX(labelSize.width, kIASKMinLabelWidth - imageOffset); - self.textLabel.frame = (CGRect){self.textLabel.frame.origin, {MIN(kIASKMaxLabelWidth, labelSize.width), self.textLabel.frame.size.height}} ; - - // TextField - _textField.center = CGPointMake(_textField.center.x, self.contentView.center.y); - CGRect textFieldFrame = _textField.frame; - textFieldFrame.origin.x = self.textLabel.frame.origin.x + MAX(kIASKMinLabelWidth - imageOffset, self.textLabel.frame.size.width) + kIASKSpacing; - textFieldFrame.size.width = _textField.superview.frame.size.width - textFieldFrame.origin.x - kIASKPaddingRight; - - if (!self.textLabel.text.length) { - textFieldFrame.origin.x = kIASKPaddingLeft + imageOffset; - textFieldFrame.size.width = self.contentView.bounds.size.width - 2* kIASKPaddingLeft - imageOffset; - } else if (_textField.textAlignment == UITextAlignmentRight) { - textFieldFrame.origin.x = self.textLabel.frame.origin.x + labelSize.width + kIASKSpacing; - textFieldFrame.size.width = _textField.superview.frame.size.width - textFieldFrame.origin.x - kIASKPaddingRight; - } - _textField.frame = textFieldFrame; -} -#pragma deploymate pop - -@end diff --git a/Classes/Utils/InAppSettingsKit/Views/IASKSlider.h b/Classes/Utils/InAppSettingsKit/Views/IASKSlider.h deleted file mode 100755 index ddaa5c4df..000000000 --- a/Classes/Utils/InAppSettingsKit/Views/IASKSlider.h +++ /dev/null @@ -1,26 +0,0 @@ -// -// IASKSlider.h -// http://www.inappsettingskit.com -// -// Copyright (c) 2009: -// Luc Vandal, Edovia Inc., http://www.edovia.com -// Ortwin Gentz, FutureTap GmbH, http://www.futuretap.com -// All rights reserved. -// -// It is appreciated but not required that you give credit to Luc Vandal and Ortwin Gentz, -// as the original authors of this code. You can give credit in a blog post, a tweet or on -// a info page of your app. Also, the original authors appreciate letting them know if you use this code. -// -// This code is licensed under the BSD license that is available at: http://www.opensource.org/licenses/bsd-license.php -// - -#import - - -@interface IASKSlider : UISlider { - NSString *_key; -} - -@property(nonatomic, strong) NSString *key; - -@end diff --git a/Classes/Utils/InAppSettingsKit/Views/IASKSlider.m b/Classes/Utils/InAppSettingsKit/Views/IASKSlider.m deleted file mode 100755 index 3c4ca4567..000000000 --- a/Classes/Utils/InAppSettingsKit/Views/IASKSlider.m +++ /dev/null @@ -1,28 +0,0 @@ -// -// IASKSlider.m -// http://www.inappsettingskit.com -// -// Copyright (c) 2009: -// Luc Vandal, Edovia Inc., http://www.edovia.com -// Ortwin Gentz, FutureTap GmbH, http://www.futuretap.com -// All rights reserved. -// -// It is appreciated but not required that you give credit to Luc Vandal and Ortwin Gentz, -// as the original authors of this code. You can give credit in a blog post, a tweet or on -// a info page of your app. Also, the original authors appreciate letting them know if you use this code. -// -// This code is licensed under the BSD license that is available at: http://www.opensource.org/licenses/bsd-license.php -// - -#import "IASKSlider.h" - - -@implementation IASKSlider - -@synthesize key=_key; - -- (void)dealloc { - _key = nil; -} - -@end diff --git a/Classes/Utils/InAppSettingsKit/Views/IASKSwitch.h b/Classes/Utils/InAppSettingsKit/Views/IASKSwitch.h deleted file mode 100755 index 7124c2ec8..000000000 --- a/Classes/Utils/InAppSettingsKit/Views/IASKSwitch.h +++ /dev/null @@ -1,26 +0,0 @@ -// -// IASKSwitch.h -// http://www.inappsettingskit.com -// -// Copyright (c) 2009: -// Luc Vandal, Edovia Inc., http://www.edovia.com -// Ortwin Gentz, FutureTap GmbH, http://www.futuretap.com -// All rights reserved. -// -// It is appreciated but not required that you give credit to Luc Vandal and Ortwin Gentz, -// as the original authors of this code. You can give credit in a blog post, a tweet or on -// a info page of your app. Also, the original authors appreciate letting them know if you use this code. -// -// This code is licensed under the BSD license that is available at: http://www.opensource.org/licenses/bsd-license.php -// - -#import - - -@interface IASKSwitch : UISwitch { - NSString *_key; -} - -@property(nonatomic, strong) NSString *key; - -@end diff --git a/Classes/Utils/InAppSettingsKit/Views/IASKSwitch.m b/Classes/Utils/InAppSettingsKit/Views/IASKSwitch.m deleted file mode 100755 index 2a0ce5f21..000000000 --- a/Classes/Utils/InAppSettingsKit/Views/IASKSwitch.m +++ /dev/null @@ -1,29 +0,0 @@ -// -// IASKSwitch.m -// http://www.inappsettingskit.com -// -// Copyright (c) 2009: -// Luc Vandal, Edovia Inc., http://www.edovia.com -// Ortwin Gentz, FutureTap GmbH, http://www.futuretap.com -// All rights reserved. -// -// It is appreciated but not required that you give credit to Luc Vandal and Ortwin Gentz, -// as the original authors of this code. You can give credit in a blog post, a tweet or on -// a info page of your app. Also, the original authors appreciate letting them know if you use this code. -// -// This code is licensed under the BSD license that is available at: http://www.opensource.org/licenses/bsd-license.php -// - -#import "IASKSwitch.h" - - -@implementation IASKSwitch - -@synthesize key=_key; - -- (void)dealloc { - _key = nil; -} - - -@end diff --git a/Classes/Utils/InAppSettingsKit/Views/IASKTextField.h b/Classes/Utils/InAppSettingsKit/Views/IASKTextField.h deleted file mode 100755 index 7fb2467d2..000000000 --- a/Classes/Utils/InAppSettingsKit/Views/IASKTextField.h +++ /dev/null @@ -1,26 +0,0 @@ -// -// IASKTextField.h -// http://www.inappsettingskit.com -// -// Copyright (c) 2009: -// Luc Vandal, Edovia Inc., http://www.edovia.com -// Ortwin Gentz, FutureTap GmbH, http://www.futuretap.com -// All rights reserved. -// -// It is appreciated but not required that you give credit to Luc Vandal and Ortwin Gentz, -// as the original authors of this code. You can give credit in a blog post, a tweet or on -// a info page of your app. Also, the original authors appreciate letting them know if you use this code. -// -// This code is licensed under the BSD license that is available at: http://www.opensource.org/licenses/bsd-license.php -// - -#import - - -@interface IASKTextField : UITextField { - NSString *_key; -} - -@property(nonatomic, strong) NSString *key; - -@end diff --git a/Classes/Utils/InAppSettingsKit/Views/IASKTextField.m b/Classes/Utils/InAppSettingsKit/Views/IASKTextField.m deleted file mode 100755 index b4792b6b4..000000000 --- a/Classes/Utils/InAppSettingsKit/Views/IASKTextField.m +++ /dev/null @@ -1,28 +0,0 @@ -// -// IASKTextField.m -// http://www.inappsettingskit.com -// -// Copyright (c) 2009: -// Luc Vandal, Edovia Inc., http://www.edovia.com -// Ortwin Gentz, FutureTap GmbH, http://www.futuretap.com -// All rights reserved. -// -// It is appreciated but not required that you give credit to Luc Vandal and Ortwin Gentz, -// as the original authors of this code. You can give credit in a blog post, a tweet or on -// a info page of your app. Also, the original authors appreciate letting them know if you use this code. -// -// This code is licensed under the BSD license that is available at: http://www.opensource.org/licenses/bsd-license.php -// - -#import "IASKTextField.h" - - -@implementation IASKTextField - -@synthesize key=_key; - -- (void)dealloc { - _key = nil; -} - -@end diff --git a/Classes/Utils/Log.m b/Classes/Utils/Log.m deleted file mode 100644 index a156f66fb..000000000 --- a/Classes/Utils/Log.m +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "Log.h" -#import -#import - -#ifdef USE_CRASHLYTICS -@import FirebaseCrashlytics; -#endif - -@implementation Log - -#define FILE_SIZE 17 -#define DOMAIN_SIZE 3 - - -+ (void)log:(OrtpLogLevel)severity file:(const char *)file line:(int)line format:(NSString *)format, ... { - va_list args; - va_start(args, format); - NSString *str = [[NSString alloc] initWithFormat:format arguments:args]; - const char *utf8str = [str cStringUsingEncoding:NSString.defaultCStringEncoding]; - const char *filename = strchr(file, '/') ? strrchr(file, '/') + 1 : file; - ortp_log(severity, "(%*s:%-4d) %s", FILE_SIZE, filename + MAX((int)strlen(filename) - FILE_SIZE, 0), line, utf8str); - va_end(args); -} - -+ (void)enableLogs:(OrtpLogLevel)level { - BOOL enabled = (level >= ORTP_DEBUG && level < ORTP_ERROR); - static BOOL stderrInUse = NO; - if (!stderrInUse) { - asl_add_log_file(NULL, STDERR_FILENO); - stderrInUse = YES; - } - LinphoneFactory *factory = linphone_factory_get(); - linphone_core_set_log_collection_path(linphone_factory_get_data_dir(factory, kLinphoneMsgNotificationAppGroupId.UTF8String)); - linphone_core_set_log_handler(linphone_iphone_log_handler); - linphone_core_enable_log_collection(enabled); - if (level == 0) { - linphone_core_set_log_level(ORTP_FATAL); - ortp_set_log_level("ios", ORTP_FATAL); - NSLog(@"I/%s/Disabling all logs", ORTP_LOG_DOMAIN); - } else { - NSLog(@"I/%s/Enabling %s logs", ORTP_LOG_DOMAIN, (enabled ? "all" : "application only")); - linphone_core_set_log_level(level); - ortp_set_log_level("ios", level == ORTP_DEBUG ? ORTP_DEBUG : ORTP_MESSAGE); - } -} - -+ (void)directLog:(OrtpLogLevel)level text:(NSString *)text { - bctbx_log(BCTBX_LOG_DOMAIN, level, "%s", [text cStringUsingEncoding:NSUTF8StringEncoding]); -} - -+(void)d:(NSString *)text { - [Log directLog:BCTBX_LOG_DEBUG text:text]; -} -+(void)i:(NSString *)text { - [Log directLog:BCTBX_LOG_MESSAGE text:text]; -} -+(void)w:(NSString *)text { - [Log directLog:BCTBX_LOG_WARNING text:text]; -} -+(void)e:(NSString *)text { - [Log directLog:BCTBX_LOG_ERROR text:text]; -} -+(void)f:(NSString *)text { - [Log directLog:BCTBX_LOG_FATAL text:text]; -} - -#pragma mark - Logs Functions callbacks - -void linphone_iphone_log_handler(const char *domain, OrtpLogLevel lev, const char *fmt, va_list args) { - NSString *format = [[NSString alloc] initWithUTF8String:fmt]; - NSString *formatedString = [[NSString alloc] initWithFormat:format arguments:args]; - NSString *lvl; - - if (!domain) - domain = "lib"; - // since \r are interpreted like \n, avoid double new lines when logging network packets (belle-sip) - // output format is like: I/ios/some logs. We truncate domain to **exactly** DOMAIN_SIZE characters to have - // fixed-length aligned logs - switch (lev) { - case ORTP_FATAL: - lvl = @"Fatal"; - break; - case ORTP_ERROR: - lvl = @"Error"; - break; - case ORTP_WARNING: - lvl = @"Warning"; - break; - case ORTP_MESSAGE: - lvl = @"Message"; - break; - case ORTP_DEBUG: - lvl = @"Debug"; - break; - case ORTP_TRACE: - lvl = @"Trace"; - break; - case ORTP_LOGLEV_END: - return; - } - if ([formatedString containsString:@"\n"]) { - NSArray *myWords = [[formatedString stringByReplacingOccurrencesOfString:@"\r\n" withString:@"\n"] - componentsSeparatedByString:@"\n"]; - for (int i = 0; i < myWords.count; i++) { - NSString *tab = i > 0 ? @"\t" : @""; - if (((NSString *)myWords[i]).length > 0) { -#ifdef USE_CRASHLYTICS - [[FIRCrashlytics crashlytics] logWithFormat:@"[%@] %@%@", lvl, tab, (NSString *)myWords[i]]; -#endif - NSLog(@"[%@] %@%@", lvl, tab, (NSString *)myWords[i]); - } - } - } else { -#ifdef USE_CRASHLYTICS - [[FIRCrashlytics crashlytics] logWithFormat:@"[%@] %@", lvl, [formatedString stringByReplacingOccurrencesOfString:@"\r\n" withString:@"\n"]]; -#endif - NSLog(@"[%@] %@", lvl, [formatedString stringByReplacingOccurrencesOfString:@"\r\n" withString:@"\n"]); - } -} - -@end diff --git a/Classes/Utils/OrderedDictionary.h b/Classes/Utils/OrderedDictionary.h deleted file mode 100644 index 2a3ecaa9d..000000000 --- a/Classes/Utils/OrderedDictionary.h +++ /dev/null @@ -1,37 +0,0 @@ -// -// OrderedDictionary.h -// OrderedDictionary -// -// Created by Matt Gallagher on 19/12/08. -// Copyright 2008 Matt Gallagher. All rights reserved. -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. Permission is granted to anyone to -// use this software for any purpose, including commercial applications, and to -// alter it and redistribute it freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// 2. Altered source versions must be plainly marked as such, and must not be -// misrepresented as being the original software. -// 3. This notice may not be removed or altered from any source -// distribution. -// - -@interface OrderedDictionary : NSMutableDictionary -{ - NSMutableDictionary *dictionary; - NSMutableArray *array; -} - -- (void)insertObject:(id)anObject forKey:(id)aKey atIndex:(NSUInteger)anIndex; -// Added by Diorcet Yann -- (void)insertObject:(id)anObject forKey:(id)aKey selector:(SEL) sel; -// -- (id)keyAtIndex:(NSUInteger)anIndex; -- (NSEnumerator *)reverseKeyEnumerator; - -@end diff --git a/Classes/Utils/OrderedDictionary.m b/Classes/Utils/OrderedDictionary.m deleted file mode 100644 index d644d0001..000000000 --- a/Classes/Utils/OrderedDictionary.m +++ /dev/null @@ -1,142 +0,0 @@ -// -// OrderedDictionary.m -// OrderedDictionary -// -// Created by Matt Gallagher on 19/12/08. -// Copyright 2008 Matt Gallagher. All rights reserved. -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. Permission is granted to anyone to -// use this software for any purpose, including commercial applications, and to -// alter it and redistribute it freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// 2. Altered source versions must be plainly marked as such, and must not be -// misrepresented as being the original software. -// 3. This notice may not be removed or altered from any source -// distribution. -// - -#import "OrderedDictionary.h" - -NSString *DescriptionForObject(NSObject *object, id locale, NSUInteger indent) { - NSString *objectString; - if ([object isKindOfClass:[NSString class]]) { - objectString = (NSString *)object; - } else if ([object respondsToSelector:@selector(descriptionWithLocale:indent:)]) { - objectString = [(NSDictionary *)object descriptionWithLocale:locale indent:indent]; - } else if ([object respondsToSelector:@selector(descriptionWithLocale:)]) { - objectString = [(NSSet *)object descriptionWithLocale:locale]; - } else { - objectString = [object description]; - } - return objectString; -} - -@implementation OrderedDictionary - -- (void)initObjectsWithCapacity:(NSUInteger)capacity { - if (self != nil) { - dictionary = [[NSMutableDictionary alloc] initWithCapacity:capacity]; - array = [[NSMutableArray alloc] initWithCapacity:capacity]; - } -} - -- (id)init { - self = [super init]; - [self initObjectsWithCapacity:0]; - return self; -} - -- (id)initWithCapacity:(NSUInteger)capacity { - self = [super init]; - [self initObjectsWithCapacity:0]; - return self; -} - -- (id)copy { - return [self mutableCopy]; -} - -- (void)setObject:(id)anObject forKey:(id)aKey { - if (![dictionary objectForKey:aKey]) { - [array addObject:aKey]; - } - [dictionary setObject:anObject forKey:aKey]; -} - -- (void)removeObjectForKey:(id)aKey { - [dictionary removeObjectForKey:aKey]; - [array removeObject:aKey]; -} - -- (NSUInteger)count { - return [dictionary count]; -} - -- (id)objectForKey:(id)aKey { - return [dictionary objectForKey:aKey]; -} - -- (NSEnumerator *)keyEnumerator { - return [array objectEnumerator]; -} - -- (NSEnumerator *)reverseKeyEnumerator { - return [array reverseObjectEnumerator]; -} - -// Added by Diorcet Yann -- (void)insertObject:(id)anObject forKey:(id)aKey selector:(SEL)comparator { - if ([dictionary objectForKey:aKey]) { - [self removeObjectForKey:aKey]; - } - NSUInteger anIndex; - IMP imp = [aKey methodForSelector:comparator]; - NSComparisonResult (*func)(id, SEL, id) = (void *)imp; - - for (anIndex = 0; anIndex < [array count]; ++anIndex) { - NSComparisonResult result = (NSComparisonResult)func(aKey, comparator, [array objectAtIndex:anIndex]); - if (result <= 0) { - break; - } - } - [array insertObject:aKey atIndex:anIndex]; - [dictionary setObject:anObject forKey:aKey]; -} -// - -- (void)insertObject:(id)anObject forKey:(id)aKey atIndex:(NSUInteger)anIndex { - if ([dictionary objectForKey:aKey]) { - [self removeObjectForKey:aKey]; - } - [array insertObject:aKey atIndex:anIndex]; - [dictionary setObject:anObject forKey:aKey]; -} - -- (id)keyAtIndex:(NSUInteger)anIndex { - return [array objectAtIndex:anIndex]; -} - -- (NSString *)descriptionWithLocale:(id)locale indent:(NSUInteger)level { - NSMutableString *indentString = [NSMutableString string]; - NSUInteger i, count = level; - for (i = 0; i < count; i++) { - [indentString appendFormat:@" "]; - } - - NSMutableString *description = [NSMutableString string]; - [description appendFormat:@"%@{\n", indentString]; - for (NSObject *key in self) { - [description appendFormat:@"%@ %@ = %@;\n", indentString, DescriptionForObject(key, locale, level), - DescriptionForObject([self objectForKey:key], locale, level)]; - } - [description appendFormat:@"%@}\n", indentString]; - return description; -} - -@end diff --git a/Classes/Utils/TPKeyboardAvoiding/LICENSE.txt b/Classes/Utils/TPKeyboardAvoiding/LICENSE.txt deleted file mode 100755 index b2071e3e3..000000000 --- a/Classes/Utils/TPKeyboardAvoiding/LICENSE.txt +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2013 Michael Tyson - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - -3. This notice may not be removed or altered from any source - distribution. \ No newline at end of file diff --git a/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingCollectionView.h b/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingCollectionView.h deleted file mode 100755 index b870e97fd..000000000 --- a/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingCollectionView.h +++ /dev/null @@ -1,14 +0,0 @@ -// -// TPKeyboardAvoidingCollectionView.h -// -// Created by Michael Tyson on 30/09/2013. -// Copyright 2013 A Tasty Pixel & The CocoaBots. All rights reserved. -// - -#import -#import "UIScrollView+TPKeyboardAvoidingAdditions.h" - -@interface TPKeyboardAvoidingCollectionView : UICollectionView -- (BOOL)focusNextTextField; -- (void)scrollToActiveTextField; -@end diff --git a/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingCollectionView.m b/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingCollectionView.m deleted file mode 100755 index 59cfffe62..000000000 --- a/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingCollectionView.m +++ /dev/null @@ -1,109 +0,0 @@ -// -// TPKeyboardAvoidingCollectionView.m -// -// Created by Michael Tyson on 30/09/2013. -// Copyright 2013 A Tasty Pixel & The CocoaBots. All rights reserved. -// - -#import "TPKeyboardAvoidingCollectionView.h" - -@interface TPKeyboardAvoidingCollectionView () -@end - -@implementation TPKeyboardAvoidingCollectionView - -#pragma mark - Setup/Teardown - -- (void)setup { - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(TPKeyboardAvoiding_keyboardWillShow:) - name:UIKeyboardWillShowNotification - object:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(TPKeyboardAvoiding_keyboardWillHide:) - name:UIKeyboardWillHideNotification - object:nil]; -} - -- (id)initWithFrame:(CGRect)frame { - if (!(self = [super initWithFrame:frame])) - return nil; - [self setup]; - return self; -} - -- (id)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout { - if (!(self = [super initWithFrame:frame collectionViewLayout:layout])) - return nil; - [self setup]; - return self; -} - -- (void)awakeFromNib { - [super awakeFromNib]; - [self setup]; -} - -- (void)dealloc { - [[NSNotificationCenter defaultCenter] removeObserver:self]; -#if !__has_feature(objc_arc) - [super dealloc]; -#endif -} - -- (void)setFrame:(CGRect)frame { - [super setFrame:frame]; - [self TPKeyboardAvoiding_updateContentInset]; -} - -- (void)setContentSize:(CGSize)contentSize { - if (CGSizeEqualToSize(contentSize, self.contentSize)) { - // Prevent triggering contentSize when it's already the same that - // cause weird infinte scrolling and locking bug - return; - } - [super setContentSize:contentSize]; - [self TPKeyboardAvoiding_updateContentInset]; -} - -- (BOOL)focusNextTextField { - return [self TPKeyboardAvoiding_focusNextTextField]; -} -- (void)scrollToActiveTextField { - return [self TPKeyboardAvoiding_scrollToActiveTextField]; -} - -#pragma mark - Responders, events - -- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { - [[self TPKeyboardAvoiding_findFirstResponderBeneathView:self] resignFirstResponder]; - [super touchesEnded:touches withEvent:event]; -} - -- (BOOL)textFieldShouldReturn:(UITextField *)textField { - if (![self focusNextTextField]) { - [textField resignFirstResponder]; - } - return YES; -} - -- (void)textFieldDidBeginEditing:(UITextField *)textField { - [self scrollToActiveTextField]; -} - -- (void)textViewDidBeginEditing:(UITextView *)textView { - [self scrollToActiveTextField]; -} - -- (void)layoutSubviews { - [super layoutSubviews]; - [NSObject - cancelPreviousPerformRequestsWithTarget:self - selector:@selector(TPKeyboardAvoiding_assignTextDelegateForViewsBeneathView:) - object:self]; - [self performSelector:@selector(TPKeyboardAvoiding_assignTextDelegateForViewsBeneathView:) - withObject:self - afterDelay:0.1]; -} - -@end diff --git a/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingScrollView.h b/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingScrollView.h deleted file mode 100755 index 4d38de93c..000000000 --- a/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingScrollView.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// TPKeyboardAvoidingScrollView.h -// -// Created by Michael Tyson on 30/09/2013. -// Copyright 2013 A Tasty Pixel. All rights reserved. -// - -#import -#import "UIScrollView+TPKeyboardAvoidingAdditions.h" - -@interface TPKeyboardAvoidingScrollView : UIScrollView -- (void)contentSizeToFit; -- (BOOL)focusNextTextField; -- (void)scrollToActiveTextField; -@end diff --git a/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingScrollView.m b/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingScrollView.m deleted file mode 100755 index 7b1f3fc37..000000000 --- a/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingScrollView.m +++ /dev/null @@ -1,101 +0,0 @@ -// -// TPKeyboardAvoidingScrollView.m -// -// Created by Michael Tyson on 30/09/2013. -// Copyright 2013 A Tasty Pixel. All rights reserved. -// - -#import "TPKeyboardAvoidingScrollView.h" - -@interface TPKeyboardAvoidingScrollView () -@end - -@implementation TPKeyboardAvoidingScrollView - -#pragma mark - Setup/Teardown - -- (void)setup { - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(TPKeyboardAvoiding_keyboardWillShow:) - name:UIKeyboardWillShowNotification - object:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(TPKeyboardAvoiding_keyboardWillHide:) - name:UIKeyboardWillHideNotification - object:nil]; -} - -- (id)initWithFrame:(CGRect)frame { - if (!(self = [super initWithFrame:frame])) - return nil; - [self setup]; - return self; -} - -- (void)awakeFromNib { - [super awakeFromNib]; - [self setup]; -} - -- (void)dealloc { - [[NSNotificationCenter defaultCenter] removeObserver:self]; -#if !__has_feature(objc_arc) - [super dealloc]; -#endif -} - -- (void)setFrame:(CGRect)frame { - [super setFrame:frame]; - [self TPKeyboardAvoiding_updateContentInset]; -} - -- (void)setContentSize:(CGSize)contentSize { - [super setContentSize:contentSize]; - [self TPKeyboardAvoiding_updateFromContentSizeChange]; -} - -- (void)contentSizeToFit { - self.contentSize = [self TPKeyboardAvoiding_calculatedContentSizeFromSubviewFrames]; -} - -- (BOOL)focusNextTextField { - return [self TPKeyboardAvoiding_focusNextTextField]; -} -- (void)scrollToActiveTextField { - return [self TPKeyboardAvoiding_scrollToActiveTextField]; -} - -#pragma mark - Responders, events - -- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { - [[self TPKeyboardAvoiding_findFirstResponderBeneathView:self] resignFirstResponder]; - [super touchesEnded:touches withEvent:event]; -} - -- (BOOL)textFieldShouldReturn:(UITextField *)textField { - if (![self focusNextTextField]) { - [textField resignFirstResponder]; - } - return YES; -} - -- (void)textFieldDidBeginEditing:(UITextField *)textField { - [self scrollToActiveTextField]; -} - -- (void)textViewDidBeginEditing:(UITextView *)textView { - [self scrollToActiveTextField]; -} - -- (void)layoutSubviews { - [super layoutSubviews]; - [NSObject - cancelPreviousPerformRequestsWithTarget:self - selector:@selector(TPKeyboardAvoiding_assignTextDelegateForViewsBeneathView:) - object:self]; - [self performSelector:@selector(TPKeyboardAvoiding_assignTextDelegateForViewsBeneathView:) - withObject:self - afterDelay:0.1]; -} - -@end diff --git a/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingTableView.h b/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingTableView.h deleted file mode 100755 index 83cde3204..000000000 --- a/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingTableView.h +++ /dev/null @@ -1,14 +0,0 @@ -// -// TPKeyboardAvoidingTableView.h -// -// Created by Michael Tyson on 30/09/2013. -// Copyright 2013 A Tasty Pixel. All rights reserved. -// - -#import -#import "UIScrollView+TPKeyboardAvoidingAdditions.h" - -@interface TPKeyboardAvoidingTableView : UITableView -- (BOOL)focusNextTextField; -- (void)scrollToActiveTextField; -@end diff --git a/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingTableView.m b/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingTableView.m deleted file mode 100755 index 3f2777018..000000000 --- a/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingTableView.m +++ /dev/null @@ -1,104 +0,0 @@ -// -// TPKeyboardAvoidingTableView.m -// -// Created by Michael Tyson on 30/09/2013. -// Copyright 2013 A Tasty Pixel. All rights reserved. -// - -#import "TPKeyboardAvoidingTableView.h" - -@interface TPKeyboardAvoidingTableView () -@end - -@implementation TPKeyboardAvoidingTableView - -#pragma mark - Setup/Teardown - -- (void)setup { - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(TPKeyboardAvoiding_keyboardWillShow:) - name:UIKeyboardWillShowNotification - object:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(TPKeyboardAvoiding_keyboardWillHide:) - name:UIKeyboardWillHideNotification - object:nil]; -} - -- (id)initWithFrame:(CGRect)frame { - if (!(self = [super initWithFrame:frame])) - return nil; - [self setup]; - return self; -} - -- (id)initWithFrame:(CGRect)frame style:(UITableViewStyle)withStyle { - if (!(self = [super initWithFrame:frame style:withStyle])) - return nil; - [self setup]; - return self; -} - -- (void)awakeFromNib { - [super awakeFromNib]; - [self setup]; -} - -- (void)dealloc { - [[NSNotificationCenter defaultCenter] removeObserver:self]; -#if !__has_feature(objc_arc) - [super dealloc]; -#endif -} - -- (void)setFrame:(CGRect)frame { - [super setFrame:frame]; - [self TPKeyboardAvoiding_updateContentInset]; -} - -- (void)setContentSize:(CGSize)contentSize { - [super setContentSize:contentSize]; - [self TPKeyboardAvoiding_updateContentInset]; -} - -- (BOOL)focusNextTextField { - return [self TPKeyboardAvoiding_focusNextTextField]; -} -- (void)scrollToActiveTextField { - return [self TPKeyboardAvoiding_scrollToActiveTextField]; -} - -#pragma mark - Responders, events - -- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { - [[self TPKeyboardAvoiding_findFirstResponderBeneathView:self] resignFirstResponder]; - [super touchesEnded:touches withEvent:event]; -} - -- (BOOL)textFieldShouldReturn:(UITextField *)textField { - if (![self focusNextTextField]) { - [textField resignFirstResponder]; - } - return YES; -} - -- (void)textFieldDidBeginEditing:(UITextField *)textField { - [self scrollToActiveTextField]; -} - -- (void)textViewDidBeginEditing:(UITextView *)textView { - [self scrollToActiveTextField]; -} - -- (void)layoutSubviews { - [super layoutSubviews]; - [NSObject - cancelPreviousPerformRequestsWithTarget:self - selector:@selector(TPKeyboardAvoiding_assignTextDelegateForViewsBeneathView:) - object:self]; - [self performSelector:@selector(TPKeyboardAvoiding_assignTextDelegateForViewsBeneathView:) - withObject:self - afterDelay:0.1]; -} - -@end diff --git a/Classes/Utils/TPKeyboardAvoiding/UIScrollView+TPKeyboardAvoidingAdditions.h b/Classes/Utils/TPKeyboardAvoiding/UIScrollView+TPKeyboardAvoidingAdditions.h deleted file mode 100755 index 103b5cb25..000000000 --- a/Classes/Utils/TPKeyboardAvoiding/UIScrollView+TPKeyboardAvoidingAdditions.h +++ /dev/null @@ -1,22 +0,0 @@ -// -// UIScrollView+TPKeyboardAvoidingAdditions.h -// TPKeyboardAvoidingSample -// -// Created by Michael Tyson on 30/09/2013. -// Copyright 2013 A Tasty Pixel. All rights reserved. -// - -#import - -@interface UIScrollView (TPKeyboardAvoidingAdditions) -- (BOOL)TPKeyboardAvoiding_focusNextTextField; -- (void)TPKeyboardAvoiding_scrollToActiveTextField; - -- (void)TPKeyboardAvoiding_keyboardWillShow:(NSNotification *)notification; -- (void)TPKeyboardAvoiding_keyboardWillHide:(NSNotification *)notification; -- (void)TPKeyboardAvoiding_updateContentInset; -- (void)TPKeyboardAvoiding_updateFromContentSizeChange; -- (void)TPKeyboardAvoiding_assignTextDelegateForViewsBeneathView:(UIView *)view; -- (UIView *)TPKeyboardAvoiding_findFirstResponderBeneathView:(UIView *)view; -- (CGSize)TPKeyboardAvoiding_calculatedContentSizeFromSubviewFrames; -@end diff --git a/Classes/Utils/TPKeyboardAvoiding/UIScrollView+TPKeyboardAvoidingAdditions.m b/Classes/Utils/TPKeyboardAvoiding/UIScrollView+TPKeyboardAvoidingAdditions.m deleted file mode 100755 index de9279d55..000000000 --- a/Classes/Utils/TPKeyboardAvoiding/UIScrollView+TPKeyboardAvoidingAdditions.m +++ /dev/null @@ -1,301 +0,0 @@ -// -// UIScrollView+TPKeyboardAvoidingAdditions.m -// TPKeyboardAvoidingSample -// -// Created by Michael Tyson on 30/09/2013. -// Copyright 2013 A Tasty Pixel. All rights reserved. -// - -#import "UIScrollView+TPKeyboardAvoidingAdditions.h" -#import "TPKeyboardAvoidingScrollView.h" -#import - -static const CGFloat kCalculatedContentPadding = 10; -static const CGFloat kMinimumScrollOffsetPadding = 20; - -static const int kStateKey; - -#define _UIKeyboardFrameEndUserInfoKey \ - (&UIKeyboardFrameEndUserInfoKey != NULL ? UIKeyboardFrameEndUserInfoKey : @"UIKeyboardBoundsUserInfoKey") - -@interface TPKeyboardAvoidingState : NSObject -@property(nonatomic, assign) UIEdgeInsets priorInset; -@property(nonatomic, assign) UIEdgeInsets priorScrollIndicatorInsets; -@property(nonatomic, assign) BOOL keyboardVisible; -@property(nonatomic, assign) CGRect keyboardRect; -@property(nonatomic, assign) CGSize priorContentSize; -@end - -@implementation UIScrollView (TPKeyboardAvoidingAdditions) - -- (TPKeyboardAvoidingState *)keyboardAvoidingState { - TPKeyboardAvoidingState *state = objc_getAssociatedObject(self, &kStateKey); - if (!state) { - state = [[TPKeyboardAvoidingState alloc] init]; - objc_setAssociatedObject(self, &kStateKey, state, OBJC_ASSOCIATION_RETAIN_NONATOMIC); -#if !__has_feature(objc_arc) - [state release]; -#endif - } - return state; -} - -- (void)TPKeyboardAvoiding_keyboardWillShow:(NSNotification *)notification { - TPKeyboardAvoidingState *state = self.keyboardAvoidingState; - - if (state.keyboardVisible) { - return; - } - - UIView *firstResponder = [self TPKeyboardAvoiding_findFirstResponderBeneathView:self]; - - state.keyboardRect = - [self convertRect:[[[notification userInfo] objectForKey:_UIKeyboardFrameEndUserInfoKey] CGRectValue] - fromView:nil]; - state.keyboardVisible = YES; - state.priorInset = self.contentInset; - state.priorScrollIndicatorInsets = self.scrollIndicatorInsets; - - if ([self isKindOfClass:[TPKeyboardAvoidingScrollView class]]) { - state.priorContentSize = self.contentSize; - - if (CGSizeEqualToSize(self.contentSize, CGSizeZero)) { - // Set the content size, if it's not set. Do not set content size explicitly if auto-layout - // is being used to manage subviews - self.contentSize = [self TPKeyboardAvoiding_calculatedContentSizeFromSubviewFrames]; - } - } - - // Shrink view's inset by the keyboard's height, and scroll to show the text field/view being edited - [UIView beginAnimations:nil context:NULL]; - [UIView setAnimationCurve:[[[notification userInfo] objectForKey:UIKeyboardAnimationCurveUserInfoKey] intValue]]; - [UIView setAnimationDuration:[[[notification userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] - floatValue]]; - - self.contentInset = [self TPKeyboardAvoiding_contentInsetForKeyboard]; - - if (firstResponder) { - CGFloat viewableHeight = self.bounds.size.height - self.contentInset.top - self.contentInset.bottom; - [self setContentOffset:CGPointMake(self.contentOffset.x, - [self TPKeyboardAvoiding_idealOffsetForView:firstResponder - withViewingAreaHeight:viewableHeight]) - animated:NO]; - } - - self.scrollIndicatorInsets = self.contentInset; - - [UIView commitAnimations]; -} - -- (void)TPKeyboardAvoiding_keyboardWillHide:(NSNotification *)notification { - TPKeyboardAvoidingState *state = self.keyboardAvoidingState; - - if (!state.keyboardVisible) { - return; - } - - state.keyboardRect = CGRectZero; - state.keyboardVisible = NO; - - // Restore dimensions to prior size - [UIView beginAnimations:nil context:NULL]; - [UIView setAnimationCurve:[[[notification userInfo] objectForKey:UIKeyboardAnimationCurveUserInfoKey] intValue]]; - [UIView setAnimationDuration:[[[notification userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] - floatValue]]; - - if ([self isKindOfClass:[TPKeyboardAvoidingScrollView class]]) { - self.contentSize = state.priorContentSize; - } - - self.contentInset = state.priorInset; - self.scrollIndicatorInsets = state.priorScrollIndicatorInsets; - [UIView commitAnimations]; -} - -- (void)TPKeyboardAvoiding_updateContentInset { - TPKeyboardAvoidingState *state = self.keyboardAvoidingState; - if (state.keyboardVisible) { - self.contentInset = [self TPKeyboardAvoiding_contentInsetForKeyboard]; - } -} - -- (void)TPKeyboardAvoiding_updateFromContentSizeChange { - TPKeyboardAvoidingState *state = self.keyboardAvoidingState; - if (state.keyboardVisible) { - state.priorContentSize = self.contentSize; - self.contentInset = [self TPKeyboardAvoiding_contentInsetForKeyboard]; - } -} - -#pragma mark - Utilities - -- (BOOL)TPKeyboardAvoiding_focusNextTextField { - UIView *firstResponder = [self TPKeyboardAvoiding_findFirstResponderBeneathView:self]; - if (!firstResponder) { - return NO; - } - - CGFloat minY = CGFLOAT_MAX; - UIView *view = nil; - [self TPKeyboardAvoiding_findTextFieldAfterTextField:firstResponder beneathView:self minY:&minY foundView:&view]; - - if (view) { - [view performSelector:@selector(becomeFirstResponder) withObject:nil afterDelay:0.0]; - return YES; - } - - return NO; -} - -- (void)TPKeyboardAvoiding_scrollToActiveTextField { - TPKeyboardAvoidingState *state = self.keyboardAvoidingState; - - if (!state.keyboardVisible) - return; - - CGFloat visibleSpace = self.bounds.size.height - self.contentInset.top - self.contentInset.bottom; - - CGPoint idealOffset = CGPointMake( - 0, [self TPKeyboardAvoiding_idealOffsetForView:[self TPKeyboardAvoiding_findFirstResponderBeneathView:self] - withViewingAreaHeight:visibleSpace]); - - // Ordinarily we'd use -setContentOffset:animated:YES here, but it does not appear to - // scroll to the desired content offset. So we wrap in our own animation block. - [UIView animateWithDuration:0.25 - animations:^{ - [self setContentOffset:idealOffset animated:NO]; - }]; -} - -#pragma mark - Helpers - -- (UIView *)TPKeyboardAvoiding_findFirstResponderBeneathView:(UIView *)view { - // Search recursively for first responder - for (UIView *childView in view.subviews) { - if ([childView respondsToSelector:@selector(isFirstResponder)] && [childView isFirstResponder]) - return childView; - UIView *result = [self TPKeyboardAvoiding_findFirstResponderBeneathView:childView]; - if (result) - return result; - } - return nil; -} - -- (void)TPKeyboardAvoiding_findTextFieldAfterTextField:(UIView *)priorTextField - beneathView:(UIView *)view - minY:(CGFloat *)minY - foundView:(UIView **)foundView { - // Search recursively for text field or text view below priorTextField - CGFloat priorFieldOffset = CGRectGetMinY([self convertRect:priorTextField.frame fromView:priorTextField.superview]); - for (UIView *childView in view.subviews) { - if (childView.hidden) - continue; - if (([childView isKindOfClass:[UITextField class]] || [childView isKindOfClass:[UITextView class]]) && - childView.isUserInteractionEnabled) { - CGRect frame = [self convertRect:childView.frame fromView:view]; - if (childView != priorTextField && CGRectGetMinY(frame) >= priorFieldOffset && - CGRectGetMinY(frame) < *minY && - !(frame.origin.y == priorTextField.frame.origin.y && frame.origin.x < priorTextField.frame.origin.x)) { - *minY = CGRectGetMinY(frame); - *foundView = childView; - } - } else { - [self TPKeyboardAvoiding_findTextFieldAfterTextField:priorTextField - beneathView:childView - minY:minY - foundView:foundView]; - } - } -} - -- (void)TPKeyboardAvoiding_assignTextDelegateForViewsBeneathView:(UIView *)view { - for (UIView *childView in view.subviews) { - if (([childView isKindOfClass:[UITextField class]] || [childView isKindOfClass:[UITextView class]])) { - [self TPKeyboardAvoiding_initializeView:childView]; - } else { - [self TPKeyboardAvoiding_assignTextDelegateForViewsBeneathView:childView]; - } - } -} - -- (CGSize)TPKeyboardAvoiding_calculatedContentSizeFromSubviewFrames { - - BOOL wasShowingVerticalScrollIndicator = self.showsVerticalScrollIndicator; - BOOL wasShowingHorizontalScrollIndicator = self.showsHorizontalScrollIndicator; - - self.showsVerticalScrollIndicator = NO; - self.showsHorizontalScrollIndicator = NO; - - CGRect rect = CGRectZero; - for (UIView *view in self.subviews) { - rect = CGRectUnion(rect, view.frame); - } - rect.size.height += kCalculatedContentPadding; - - self.showsVerticalScrollIndicator = wasShowingVerticalScrollIndicator; - self.showsHorizontalScrollIndicator = wasShowingHorizontalScrollIndicator; - - return rect.size; -} - -- (UIEdgeInsets)TPKeyboardAvoiding_contentInsetForKeyboard { - TPKeyboardAvoidingState *state = self.keyboardAvoidingState; - UIEdgeInsets newInset = self.contentInset; - CGRect keyboardRect = state.keyboardRect; - newInset.bottom = keyboardRect.size.height - (CGRectGetMaxY(keyboardRect) - CGRectGetMaxY(self.bounds)); - return newInset; -} - -- (CGFloat)TPKeyboardAvoiding_idealOffsetForView:(UIView *)view withViewingAreaHeight:(CGFloat)viewAreaHeight { - CGSize contentSize = self.contentSize; - CGFloat offset = 0.0; - - CGRect subviewRect = [view convertRect:view.bounds toView:self]; - - // Attempt to center the subview in the visible space, but if that means there will be less than - // kMinimumScrollOffsetPadding - // pixels above the view, then substitute kMinimumScrollOffsetPadding - CGFloat padding = (viewAreaHeight - subviewRect.size.height) / 2; - if (padding < kMinimumScrollOffsetPadding) { - padding = kMinimumScrollOffsetPadding; - } - - // Ideal offset places the subview rectangle origin "padding" points from the top of the scrollview. - // If there is a top contentInset, also compensate for this so that subviewRect will not be placed under - // things like navigation bars. - offset = subviewRect.origin.y - padding - self.contentInset.top; - - // Constrain the new contentOffset so we can't scroll past the bottom. Note that we don't take the bottom - // inset into account, as this is manipulated to make space for the keyboard. - if (offset > (contentSize.height - viewAreaHeight)) { - offset = contentSize.height - viewAreaHeight; - } - - // Constrain the new contentOffset so we can't scroll past the top, taking contentInsets into account - if (offset < -self.contentInset.top) { - offset = -self.contentInset.top; - } - - return offset; -} - -- (void)TPKeyboardAvoiding_initializeView:(UIView *)view { - if ([view isKindOfClass:[UITextField class]] && ((UITextField *)view).returnKeyType == UIReturnKeyDefault && - (![(id)view delegate] || [(UIScrollView *)view delegate] == (id)self)) { - [(UIScrollView *)view setDelegate:(id)self]; - UIView *otherView = nil; - CGFloat minY = CGFLOAT_MAX; - [self TPKeyboardAvoiding_findTextFieldAfterTextField:view beneathView:self minY:&minY foundView:&otherView]; - - if (otherView) { - ((UITextField *)view).returnKeyType = UIReturnKeyNext; - } else { - ((UITextField *)view).returnKeyType = UIReturnKeyDone; - } - } -} - -@end - -@implementation TPKeyboardAvoidingState -@end diff --git a/Classes/Utils/TPMultiLayoutViewController/TPMultiLayoutViewController.h b/Classes/Utils/TPMultiLayoutViewController/TPMultiLayoutViewController.h deleted file mode 100755 index acce76b5a..000000000 --- a/Classes/Utils/TPMultiLayoutViewController/TPMultiLayoutViewController.h +++ /dev/null @@ -1,27 +0,0 @@ -// -// TPMultiLayoutViewController.h -// -// Created by Michael Tyson on 14/08/2011. -// Copyright 2011 A Tasty Pixel. All rights reserved. -// - -#import - -@interface TPMultiLayoutViewController : UIViewController { - UIView *portraitView; - UIView *landscapeView; - - @private - NSDictionary *portraitAttributes; - NSDictionary *landscapeAttributes; - BOOL viewIsCurrentlyPortrait; -} - -// Call directly to use with custom animation (override willRotateToInterfaceOrientation to disable the switch there) -- (void)applyLayoutForInterfaceOrientation:(UIInterfaceOrientation)newOrientation; - -@property(nonatomic, strong) IBOutlet UIView *landscapeView; -@property(nonatomic, strong) IBOutlet UIView *portraitView; -@property (assign) BOOL viewIsCurrentlyPortrait; - -@end diff --git a/Classes/Utils/TPMultiLayoutViewController/TPMultiLayoutViewController.m b/Classes/Utils/TPMultiLayoutViewController/TPMultiLayoutViewController.m deleted file mode 100755 index 90c966ba7..000000000 --- a/Classes/Utils/TPMultiLayoutViewController/TPMultiLayoutViewController.m +++ /dev/null @@ -1,227 +0,0 @@ -// -// TPMultiLayoutViewController.m -// -// Created by Michael Tyson on 14/08/2011. -// Copyright 2011 A Tasty Pixel. All rights reserved. -// - -#import "TPMultiLayoutViewController.h" - -#define VERBOSE_MATCH_FAIL 1 // Comment this out to be less verbose when associated views can't be found - -@interface TPMultiLayoutViewController () -- (NSDictionary*)attributeTableForViewHierarchy:(UIView*)rootView associateWithViewHierarchy:(UIView*)associatedRootView; -- (void)addAttributesForSubviewHierarchy:(UIView*)view associatedWithSubviewHierarchy:(UIView*)associatedView toTable:(NSMutableDictionary*)table; -- (UIView*)findAssociatedViewForView:(UIView*)view amongViews:(NSArray*)views; -- (void)applyAttributeTable:(NSDictionary*)table toViewHierarchy:(UIView*)view; -- (NSDictionary*)attributesForView:(UIView*)view; -- (void)applyAttributes:(NSDictionary*)attributes toView:(UIView*)view; -- (BOOL)shouldDescendIntoSubviewsOfView:(UIView*)view; -@end - -@implementation TPMultiLayoutViewController -@synthesize portraitView, landscapeView, viewIsCurrentlyPortrait; - -#pragma mark - View lifecycle - -- (void)viewDidLoad { - [super viewDidLoad]; - - // Construct attribute tables - portraitAttributes = [self attributeTableForViewHierarchy:portraitView associateWithViewHierarchy:self.view]; - landscapeAttributes = [self attributeTableForViewHierarchy:landscapeView associateWithViewHierarchy:self.view]; - viewIsCurrentlyPortrait = (self.view == portraitView); - - // Don't need to retain the original template view hierarchies any more - self.portraitView = nil; - self.landscapeView = nil; -} - -- (void)dealloc { - portraitAttributes = nil; - landscapeAttributes = nil; - -} - -- (void)viewWillAppear:(BOOL)animated { - // Display correct layout for orientation - /*if ( (UIInterfaceOrientationIsPortrait(self.interfaceOrientation) && !viewIsCurrentlyPortrait) || - (UIInterfaceOrientationIsLandscape(self.interfaceOrientation) && viewIsCurrentlyPortrait) ) { - [self applyLayoutForInterfaceOrientation:self.interfaceOrientation]; - }*/ - [super viewWillAppear:animated]; -} - -#pragma mark - Rotation - -- (void)applyLayoutForInterfaceOrientation:(UIInterfaceOrientation)newOrientation { - NSDictionary *table = UIInterfaceOrientationIsPortrait(newOrientation) ? portraitAttributes : landscapeAttributes; - [self applyAttributeTable:table toViewHierarchy:self.view]; - viewIsCurrentlyPortrait = UIInterfaceOrientationIsPortrait(newOrientation); -} - -- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { - [super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration]; - //if ( (UIInterfaceOrientationIsPortrait(toInterfaceOrientation) && !viewIsCurrentlyPortrait) || - // (UIInterfaceOrientationIsLandscape(toInterfaceOrientation) && viewIsCurrentlyPortrait) ) { - [self applyLayoutForInterfaceOrientation:toInterfaceOrientation]; - //} -} - -#pragma mark - Helpers - -- (NSDictionary*)attributeTableForViewHierarchy:(UIView*)rootView associateWithViewHierarchy:(UIView*)associatedRootView { - NSMutableDictionary *table = [NSMutableDictionary dictionary]; - [self addAttributesForSubviewHierarchy:rootView associatedWithSubviewHierarchy:associatedRootView toTable:table]; - return table; -} - -- (void)addAttributesForSubviewHierarchy:(UIView*)view associatedWithSubviewHierarchy:(UIView*)associatedView toTable:(NSMutableDictionary*)table { - [table setObject:[self attributesForView:view] - forKey:[NSValue valueWithPointer:(__bridge const void *)(associatedView)]]; - - if (![self shouldDescendIntoSubviewsOfView:view]) - return; - - for (UIView *subview in view.subviews) { - UIView *associatedSubView = (view == associatedView ? subview : [self findAssociatedViewForView:subview amongViews:associatedView.subviews]); - if ( associatedSubView ) { - [self addAttributesForSubviewHierarchy:subview associatedWithSubviewHierarchy:associatedSubView toTable:table]; - } - } -} - -- (UIView*)findAssociatedViewForView:(UIView*)view amongViews:(NSArray*)views { - // First try to match tag - if ( view.tag != 0 ) { - UIView *associatedView = [[views filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"tag = %d", view.tag]] lastObject]; - if ( associatedView ) return associatedView; - } - - // Next, try to match class, targets and actions, if it's a control - if ( [view isKindOfClass:[UIControl class]] && [[(UIControl*)view allTargets] count] > 0 ) { - for ( UIView *otherView in views ) { - if ( [otherView isKindOfClass:[view class]] - && [[(UIControl*)otherView allTargets] isEqualToSet:[(UIControl*)view allTargets]] - && [(UIControl*)otherView allControlEvents] == [(UIControl*)view allControlEvents] ) { - // Try to match all actions and targets for each associated control event - BOOL allActionsMatch = YES; - UIControlEvents controlEvents = [(UIControl*)otherView allControlEvents]; - for ( id target in [(UIControl*)otherView allTargets] ) { - // Iterate over each bit in the UIControlEvents bitfield - for ( NSInteger i=0; i ", NSStringFromClass([v class])] atIndex:0]; - } - NSLog(@"Couldn't find match for %@%@", path, NSStringFromClass([view class])); - -#endif - - return nil; -} - -- (void)applyAttributeTable:(NSDictionary*)table toViewHierarchy:(UIView*)view { - NSDictionary *attributes = [table objectForKey:[NSValue valueWithPointer:(__bridge const void *)(view)]]; - if (attributes) { - [self applyAttributes:attributes toView:view]; - } - - //if ( view.hidden ) return; - - if ( ![self shouldDescendIntoSubviewsOfView:view] ) return; - - for ( UIView *subview in view.subviews ) { - [self applyAttributeTable:table toViewHierarchy:subview]; - } -} - -- (NSDictionary*)attributesForView:(UIView*)view { - NSMutableDictionary *attributes = [NSMutableDictionary dictionary]; - - [attributes setObject:[NSValue valueWithCGRect:view.frame] forKey:@"frame"]; - [attributes setObject:[NSValue valueWithCGRect:view.bounds] forKey:@"bounds"]; - [attributes setObject:[NSNumber numberWithBool:view.hidden] forKey:@"hidden"]; - [attributes setObject:[NSNumber numberWithInteger:view.autoresizingMask] forKey:@"autoresizingMask"]; - - return attributes; -} - -- (void)applyAttributes:(NSDictionary*)attributes toView:(UIView*)view { - view.frame = [[attributes objectForKey:@"frame"] CGRectValue]; - view.bounds = [[attributes objectForKey:@"bounds"] CGRectValue]; - view.hidden = [[attributes objectForKey:@"hidden"] boolValue]; - view.autoresizingMask = [[attributes objectForKey:@"autoresizingMask"] integerValue]; -} - -- (BOOL)shouldDescendIntoSubviewsOfView:(UIView*)view { - if ( [view isKindOfClass:[UISlider class]] || - [view isKindOfClass:[UISwitch class]] || - [view isKindOfClass:[UITextField class]] || - [view isKindOfClass:[UITableView class]] || - [view isKindOfClass:[UIPickerView class]] || - [view isKindOfClass:[UIDatePicker class]] || - [view isKindOfClass:[UITextView class]] || - [view isKindOfClass:[UIProgressView class]] || - [view isKindOfClass:[UISegmentedControl class]] ) return NO; - return YES; -} - -@end \ No newline at end of file diff --git a/Classes/Utils/UIAlertView+Blocks/UIAlertView+Blocks.h b/Classes/Utils/UIAlertView+Blocks/UIAlertView+Blocks.h deleted file mode 100644 index 63f5d0e45..000000000 --- a/Classes/Utils/UIAlertView+Blocks/UIAlertView+Blocks.h +++ /dev/null @@ -1,59 +0,0 @@ -// -// UIAlertView+Blocks.h -// UIAlertViewBlocks -// -// Created by Ryan Maxwell on 29/08/13. -// -// The MIT License (MIT) -// -// Copyright (c) 2013 Ryan Maxwell -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of -// this software and associated documentation files (the "Software"), to deal in -// the Software without restriction, including without limitation the rights to -// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -// the Software, and to permit persons to whom the Software is furnished to do so, -// subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// - -#import - -typedef void (^UIAlertViewBlock)(UIAlertView *alertView); -typedef void (^UIAlertViewCompletionBlock)(UIAlertView *alertView, NSInteger buttonIndex); - -@interface UIAlertView (Blocks) - -+ (instancetype)showWithTitle:(NSString *)title - message:(NSString *)message - style:(UIAlertViewStyle)style - cancelButtonTitle:(NSString *)cancelButtonTitle - otherButtonTitles:(NSArray *)otherButtonTitles - tapBlock:(UIAlertViewCompletionBlock)tapBlock; - -+ (instancetype)showWithTitle:(NSString *)title - message:(NSString *)message - cancelButtonTitle:(NSString *)cancelButtonTitle - otherButtonTitles:(NSArray *)otherButtonTitles - tapBlock:(UIAlertViewCompletionBlock)tapBlock; - -@property(copy, nonatomic) UIAlertViewCompletionBlock tapBlock; -@property(copy, nonatomic) UIAlertViewCompletionBlock willDismissBlock; -@property(copy, nonatomic) UIAlertViewCompletionBlock didDismissBlock; - -@property(copy, nonatomic) UIAlertViewBlock willPresentBlock; -@property(copy, nonatomic) UIAlertViewBlock didPresentBlock; -@property(copy, nonatomic) UIAlertViewBlock cancelBlock; - -@property(copy, nonatomic) BOOL (^shouldEnableFirstOtherButtonBlock)(UIAlertView *alertView); - -@end diff --git a/Classes/Utils/UIAlertView+Blocks/UIAlertView+Blocks.m b/Classes/Utils/UIAlertView+Blocks/UIAlertView+Blocks.m deleted file mode 100644 index 1a0041b83..000000000 --- a/Classes/Utils/UIAlertView+Blocks/UIAlertView+Blocks.m +++ /dev/null @@ -1,264 +0,0 @@ -// -// UIAlertView+Blocks.m -// UIAlertViewBlocks -// -// Created by Ryan Maxwell on 29/08/13. -// -// The MIT License (MIT) -// -// Copyright (c) 2013 Ryan Maxwell -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of -// this software and associated documentation files (the "Software"), to deal in -// the Software without restriction, including without limitation the rights to -// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -// the Software, and to permit persons to whom the Software is furnished to do so, -// subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// - -#import "UIAlertView+Blocks.h" - -#import - -static const void *UIAlertViewOriginalDelegateKey = &UIAlertViewOriginalDelegateKey; - -static const void *UIAlertViewTapBlockKey = &UIAlertViewTapBlockKey; -static const void *UIAlertViewWillPresentBlockKey = &UIAlertViewWillPresentBlockKey; -static const void *UIAlertViewDidPresentBlockKey = &UIAlertViewDidPresentBlockKey; -static const void *UIAlertViewWillDismissBlockKey = &UIAlertViewWillDismissBlockKey; -static const void *UIAlertViewDidDismissBlockKey = &UIAlertViewDidDismissBlockKey; -static const void *UIAlertViewCancelBlockKey = &UIAlertViewCancelBlockKey; -static const void *UIAlertViewShouldEnableFirstOtherButtonBlockKey = &UIAlertViewShouldEnableFirstOtherButtonBlockKey; - -@implementation UIAlertView (Blocks) - -+ (instancetype)showWithTitle:(NSString *)title - message:(NSString *)message - style:(UIAlertViewStyle)style - cancelButtonTitle:(NSString *)cancelButtonTitle - otherButtonTitles:(NSArray *)otherButtonTitles - tapBlock:(UIAlertViewCompletionBlock)tapBlock { - - NSString *firstObject = otherButtonTitles.count ? otherButtonTitles[0] : nil; - - UIAlertView *alertView = [[self alloc] initWithTitle:title - message:message - delegate:nil - cancelButtonTitle:cancelButtonTitle - otherButtonTitles:firstObject, nil]; - - alertView.alertViewStyle = style; - - if (otherButtonTitles.count > 1) { - for (NSString *buttonTitle in - [otherButtonTitles subarrayWithRange:NSMakeRange(1, otherButtonTitles.count - 1)]) { - [alertView addButtonWithTitle:buttonTitle]; - } - } - - if (tapBlock) { - alertView.tapBlock = tapBlock; - } - - [alertView show]; - -#if !__has_feature(objc_arc) - return [alertView autorelease]; -#else - return alertView; -#endif -} - -+ (instancetype)showWithTitle:(NSString *)title - message:(NSString *)message - cancelButtonTitle:(NSString *)cancelButtonTitle - otherButtonTitles:(NSArray *)otherButtonTitles - tapBlock:(UIAlertViewCompletionBlock)tapBlock { - - return [self showWithTitle:title - message:message - style:UIAlertViewStyleDefault - cancelButtonTitle:cancelButtonTitle - otherButtonTitles:otherButtonTitles - tapBlock:tapBlock]; -} - -#pragma mark - - -- (void)_checkAlertViewDelegate { - if (self.delegate != (id)self) { - objc_setAssociatedObject(self, UIAlertViewOriginalDelegateKey, self.delegate, OBJC_ASSOCIATION_ASSIGN); - self.delegate = (id)self; - } -} - -- (UIAlertViewCompletionBlock)tapBlock { - return objc_getAssociatedObject(self, UIAlertViewTapBlockKey); -} - -- (void)setTapBlock:(UIAlertViewCompletionBlock)tapBlock { - [self _checkAlertViewDelegate]; - objc_setAssociatedObject(self, UIAlertViewTapBlockKey, tapBlock, OBJC_ASSOCIATION_COPY); -} - -- (UIAlertViewCompletionBlock)willDismissBlock { - return objc_getAssociatedObject(self, UIAlertViewWillDismissBlockKey); -} - -- (void)setWillDismissBlock:(UIAlertViewCompletionBlock)willDismissBlock { - [self _checkAlertViewDelegate]; - objc_setAssociatedObject(self, UIAlertViewWillDismissBlockKey, willDismissBlock, OBJC_ASSOCIATION_COPY); -} - -- (UIAlertViewCompletionBlock)didDismissBlock { - return objc_getAssociatedObject(self, UIAlertViewDidDismissBlockKey); -} - -- (void)setDidDismissBlock:(UIAlertViewCompletionBlock)didDismissBlock { - [self _checkAlertViewDelegate]; - objc_setAssociatedObject(self, UIAlertViewDidDismissBlockKey, didDismissBlock, OBJC_ASSOCIATION_COPY); -} - -- (UIAlertViewBlock)willPresentBlock { - return objc_getAssociatedObject(self, UIAlertViewWillPresentBlockKey); -} - -- (void)setWillPresentBlock:(UIAlertViewBlock)willPresentBlock { - [self _checkAlertViewDelegate]; - objc_setAssociatedObject(self, UIAlertViewWillPresentBlockKey, willPresentBlock, OBJC_ASSOCIATION_COPY); -} - -- (UIAlertViewBlock)didPresentBlock { - return objc_getAssociatedObject(self, UIAlertViewDidPresentBlockKey); -} - -- (void)setDidPresentBlock:(UIAlertViewBlock)didPresentBlock { - [self _checkAlertViewDelegate]; - objc_setAssociatedObject(self, UIAlertViewDidPresentBlockKey, didPresentBlock, OBJC_ASSOCIATION_COPY); -} - -- (UIAlertViewBlock)cancelBlock { - return objc_getAssociatedObject(self, UIAlertViewCancelBlockKey); -} - -- (void)setCancelBlock:(UIAlertViewBlock)cancelBlock { - [self _checkAlertViewDelegate]; - objc_setAssociatedObject(self, UIAlertViewCancelBlockKey, cancelBlock, OBJC_ASSOCIATION_COPY); -} - -- (void)setShouldEnableFirstOtherButtonBlock:(BOOL (^)(UIAlertView *alertView))shouldEnableFirstOtherButtonBlock { - [self _checkAlertViewDelegate]; - objc_setAssociatedObject(self, UIAlertViewShouldEnableFirstOtherButtonBlockKey, shouldEnableFirstOtherButtonBlock, - OBJC_ASSOCIATION_COPY); -} - -- (BOOL (^)(UIAlertView *alertView))shouldEnableFirstOtherButtonBlock { - return objc_getAssociatedObject(self, UIAlertViewShouldEnableFirstOtherButtonBlockKey); -} - -#pragma mark - UIAlertViewDelegate - -- (void)willPresentAlertView:(UIAlertView *)alertView { - UIAlertViewBlock block = alertView.willPresentBlock; - - if (block) { - block(alertView); - } - - id originalDelegate = objc_getAssociatedObject(self, UIAlertViewOriginalDelegateKey); - if (originalDelegate && [originalDelegate respondsToSelector:@selector(willPresentAlertView:)]) { - [originalDelegate willPresentAlertView:alertView]; - } -} - -- (void)didPresentAlertView:(UIAlertView *)alertView { - UIAlertViewBlock block = alertView.didPresentBlock; - - if (block) { - block(alertView); - } - - id originalDelegate = objc_getAssociatedObject(self, UIAlertViewOriginalDelegateKey); - if (originalDelegate && [originalDelegate respondsToSelector:@selector(didPresentAlertView:)]) { - [originalDelegate didPresentAlertView:alertView]; - } -} - -- (void)alertViewCancel:(UIAlertView *)alertView { - UIAlertViewBlock block = alertView.cancelBlock; - - if (block) { - block(alertView); - } - - id originalDelegate = objc_getAssociatedObject(self, UIAlertViewOriginalDelegateKey); - if (originalDelegate && [originalDelegate respondsToSelector:@selector(alertViewCancel:)]) { - [originalDelegate alertViewCancel:alertView]; - } -} - -- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { - UIAlertViewCompletionBlock completion = alertView.tapBlock; - - if (completion) { - completion(alertView, buttonIndex); - } - - id originalDelegate = objc_getAssociatedObject(self, UIAlertViewOriginalDelegateKey); - if (originalDelegate && [originalDelegate respondsToSelector:@selector(alertView:clickedButtonAtIndex:)]) { - [originalDelegate alertView:alertView clickedButtonAtIndex:buttonIndex]; - } -} - -- (void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex { - UIAlertViewCompletionBlock completion = alertView.willDismissBlock; - - if (completion) { - completion(alertView, buttonIndex); - } - - id originalDelegate = objc_getAssociatedObject(self, UIAlertViewOriginalDelegateKey); - if (originalDelegate && [originalDelegate respondsToSelector:@selector(alertView:willDismissWithButtonIndex:)]) { - [originalDelegate alertView:alertView willDismissWithButtonIndex:buttonIndex]; - } -} - -- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex { - UIAlertViewCompletionBlock completion = alertView.didDismissBlock; - - if (completion) { - completion(alertView, buttonIndex); - } - - id originalDelegate = objc_getAssociatedObject(self, UIAlertViewOriginalDelegateKey); - if (originalDelegate && [originalDelegate respondsToSelector:@selector(alertView:didDismissWithButtonIndex:)]) { - [originalDelegate alertView:alertView didDismissWithButtonIndex:buttonIndex]; - } -} - -- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView { - BOOL (^shouldEnableFirstOtherButtonBlock)(UIAlertView *alertView) = alertView.shouldEnableFirstOtherButtonBlock; - - if (shouldEnableFirstOtherButtonBlock) { - return shouldEnableFirstOtherButtonBlock(alertView); - } - - id originalDelegate = objc_getAssociatedObject(self, UIAlertViewOriginalDelegateKey); - if (originalDelegate && [originalDelegate respondsToSelector:@selector(alertViewShouldEnableFirstOtherButton:)]) { - return [originalDelegate alertViewShouldEnableFirstOtherButton:alertView]; - } - - return YES; -} - -@end diff --git a/Classes/Utils/Utils.h b/Classes/Utils/Utils.h deleted file mode 100644 index 75614f956..000000000 --- a/Classes/Utils/Utils.h +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "LinphoneManager.h" - -#define IPAD (LinphoneManager.runningOnIpad) -#define ANIMATED ([LinphoneManager.instance lpConfigBoolForKey:@"animations_preference"]) -#define LC ([LinphoneManager getLc]) -#define UIColorFromRGB(rgbValue) \ -[UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \ - green:((float)((rgbValue & 0x00FF00) >> 8))/255.0 \ - blue:((float)((rgbValue & 0x0000FF) >> 0))/255.0 \ - alpha:1.0] - -@interface LinphoneUtils : NSObject - -+ (BOOL)findAndResignFirstResponder:(UIView*)view; -+ (void)adjustFontSize:(UIView*)view mult:(float)mult; -+ (void)buttonFixStates:(UIButton*)button; -+ (void)buttonMultiViewAddAttributes:(NSMutableDictionary*)attributes button:(UIButton*)button; -+ (void)buttonMultiViewApplyAttributes:(NSDictionary*)attributes button:(UIButton*)button; -+ (NSString *)deviceModelIdentifier; -+ (UIImage *)resizeImage:(UIImage *)imageToResize newSize:(CGSize)newSize; - -+ (LinphoneAddress *)normalizeSipOrPhoneAddress:(NSString *)addr; -+ (UIAlertController *)networkErrorView:(NSString *)action; - -typedef enum { - LinphoneDateHistoryList, - LinphoneDateHistoryDetails, - LinphoneDateChatList, - LinphoneDateChatBubble, -} LinphoneDateFormat; - -+ (NSString *)timeToString:(time_t)time withFormat:(LinphoneDateFormat)format; - -+ (BOOL)hasSelfAvatar; -+ (UIImage *)selfAvatar; - -+ (NSString *)durationToString:(int)duration; -+ (NSString *)intervalToString:(NSTimeInterval)interval ; - -+ (NSMutableDictionary *)photoAssetsDictionary; - -+ (NSArray *)parseRecordingName:(NSString *)filename; - -@end - -@interface NSNumber (HumanReadableSize) - -- (NSString*)toHumanReadableSize; - -@end - -@interface UIImage (systemIcons) - -+ (UIImage *)imageFromSystemBarButton:(UIBarButtonSystemItem)systemItem :(UIColor *) color; - -@end - -@interface UIImageView (ImageWithTint) - -- (void)setImageNamed:(NSString *)name tintColor:(UIColor *)color; -- (void)setImageNamed:(NSString *)name tintColorLetter:(NSString *)letter; - -@end - -@interface NSString (linphoneExt) - -- (NSString *)md5; -- (BOOL)containsSubstring:(NSString *)str; - -@end - -@interface UIImage (squareCrop) - -- (UIImage *)squareCrop; -- (UIImage *)scaleToSize:(CGSize)size squared:(BOOL)squared; -+ (UIImage *)resizeImage:(UIImage *)image withMaxWidth:(float)maxWidth andMaxHeight:(float)maxHeight; - -@end - -@interface ContactDisplay : NSObject -+ (void)setDisplayNameLabel:(UILabel *)label forContact:(Contact *)contact; -+ (void)setDisplayNameLabel:(UILabel *)label forAddress:(const LinphoneAddress *)addr; -+ (void)setDisplayNameLabel:(UILabel *)label forAddress:(const LinphoneAddress *)addr withAddressLabel:(UILabel*)addressLabel; -@end - -#import -#import - -#define LINPHONE_MAIN_COLOR [UIColor colorWithRed:207.0f / 255.0f green:76.0f / 255.0f blue:41.0f / 255.0f alpha:1.0f] -#define LINPHONE_SETTINGS_BG_IOS7 [UIColor colorWithRed:164 / 255. green:175 / 255. blue:183 / 255. alpha:1.0] - -@interface UIColor (LightAndDark) - -- (UIColor *)adjustHue:(float)hm saturation:(float)sm brightness:(float)bm alpha:(float)am; - -- (UIColor *)lumColor:(float)mult; - -- (UIColor *)lighterColor; - -- (UIColor *)darkerColor; - -+(UIColor *)color:(NSString *)letter; - -@end - -//@interface UIImage (ForceDecode) - -//+ (UIImage *)decodedImageWithImage:(UIImage *)image; - -//@end - -@interface UIImage (ResizeAndThumbnail) - -+ (UIImage *)UIImageThumbnail:(UIImage *)image thumbSize:(CGFloat) tbSize; - -+ (UIImage *)UIImageResize:(UIImage *)image toSize:(CGSize) newSize; - -+ (CGImageRef)resizeCGImage:(CGImageRef)image toWidth:(int)width andHeight:(int)height; - -@end - -/* Use that macro when you want to invoke a custom initialisation method on your class, - whatever is using it (xib, source code, etc., tableview cell) */ -#define INIT_WITH_COMMON_C \ - -(instancetype)init { \ - return [[super init] commonInit]; \ - } \ - -(instancetype)initWithCoder : (NSCoder *)aDecoder { \ - return [[super initWithCoder:aDecoder] commonInit]; \ - } \ - -(instancetype)commonInit - -#define INIT_WITH_COMMON_CF \ - -(instancetype)initWithFrame : (CGRect)frame { \ - return [[super initWithFrame:frame] commonInit]; \ - } \ - INIT_WITH_COMMON_C diff --git a/Classes/Utils/Utils.m b/Classes/Utils/Utils.m deleted file mode 100644 index 7073b1950..000000000 --- a/Classes/Utils/Utils.m +++ /dev/null @@ -1,979 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import -#import -#import - -#import "Utils.h" -#import "linphone/linphonecore.h" -#import "UILabel+Boldify.h" -#import "FastAddressBook.h" -#import "ColorSpaceUtilities.h" - -@implementation LinphoneUtils - - -+ (UIImage *)resizeImage:(UIImage *)imageToResize newSize:(CGSize)newSize { - UIGraphicsImageRenderer *renderer = [[UIGraphicsImageRenderer alloc] initWithSize:newSize]; - UIImage *image = [renderer imageWithActions:^(UIGraphicsImageRendererContext*_Nonnull myContext) { - [imageToResize drawInRect:(CGRect) {.origin = CGPointZero, .size = newSize}]; - }]; - return [image imageWithRenderingMode:imageToResize.renderingMode]; -} - -+ (BOOL)hasSelfAvatar { - return [LinphoneManager.instance lpConfigStringForKey:@"avatar"] != nil; -} -+ (UIImage *)selfAvatar { - return [LinphoneManager.instance avatar]; -} - -+ (NSString *)durationToString:(int)duration { - NSMutableString *result = [[NSMutableString alloc] init]; - if (duration / 3600 > 0) { - [result appendString:[NSString stringWithFormat:@"%02i:", duration / 3600]]; - duration = duration % 3600; - } - return [result stringByAppendingString:[NSString stringWithFormat:@"%02i:%02i", (duration / 60), (duration % 60)]]; -} - -+ (NSString *) intervalToString:(NSTimeInterval)interval { - NSDateComponentsFormatter *formatter = [[NSDateComponentsFormatter alloc] init]; - formatter.allowedUnits = NSCalendarUnitSecond; - formatter.unitsStyle = NSDateComponentsFormatterUnitsStyleAbbreviated; - formatter.zeroFormattingBehavior = NSDateComponentsFormatterZeroFormattingBehaviorDropAll; - return [formatter stringFromTimeInterval:interval]; -} - - -+ (NSMutableDictionary *)photoAssetsDictionary { - NSMutableDictionary *assetDict = [NSMutableDictionary dictionary]; - - PHFetchOptions *options = [[PHFetchOptions alloc] init]; - [options setIncludeHiddenAssets:YES]; - [options setIncludeAllBurstAssets:YES]; - - PHFetchResult *fetchRes = [PHAsset fetchAssetsWithOptions:options]; - - for (PHAsset *asset in fetchRes) { - NSString *key = [asset valueForKey:@"filename"]; - [assetDict setObject:asset forKey:[[key componentsSeparatedByString:@"."] firstObject]]; - } - - return assetDict; -} - -+ (NSString *)timeToString:(time_t)time withFormat:(LinphoneDateFormat)format { - NSString *formatstr; - NSDate *todayDate = [[NSDate alloc] init]; - NSDate *messageDate = (time == 0) ? todayDate : [NSDate dateWithTimeIntervalSince1970:time]; - NSDateComponents *todayComponents = - [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear - fromDate:todayDate]; - NSDateComponents *dateComponents = - [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear - fromDate:messageDate]; - BOOL sameYear = (todayComponents.year == dateComponents.year); - BOOL sameMonth = (sameYear && (todayComponents.month == dateComponents.month)); - BOOL sameDay = (sameMonth && (todayComponents.day == dateComponents.day)); - - switch (format) { - case LinphoneDateHistoryList: - if (sameYear) { - formatstr = NSLocalizedString(@"EEE dd MMMM", - @"Date formatting in History List, for current year (also see " - @"http://cybersam.com/ios-dev/quick-guide-to-ios-dateformatting)"); - } else { - formatstr = NSLocalizedString(@"EEE dd MMMM yyyy", - @"Date formatting in History List, for previous years (also see " - @"http://cybersam.com/ios-dev/quick-guide-to-ios-dateformatting)"); - } - break; - case LinphoneDateHistoryDetails: - formatstr = NSLocalizedString(@"EEE dd MMM 'at' HH'h'mm", @"Date formatting in History Details (also see " - @"http://cybersam.com/ios-dev/" - @"quick-guide-to-ios-dateformatting)"); - break; - case LinphoneDateChatList: - if (sameDay) { - formatstr = NSLocalizedString( - @"HH:mm", @"Date formatting in Chat List and Conversation bubbles, for current day (also see " - @"http://cybersam.com/ios-dev/quick-guide-to-ios-dateformatting)"); - } else { - formatstr = - NSLocalizedString(@"MM/dd", @"Date formatting in Chat List, for all but current day (also see " - @"http://cybersam.com/ios-dev/quick-guide-to-ios-dateformatting)"); - } - break; - case LinphoneDateChatBubble: - if (sameDay) { - formatstr = NSLocalizedString( - @"HH:mm", @"Date formatting in Chat List and Conversation bubbles, for current day (also see " - @"http://cybersam.com/ios-dev/quick-guide-to-ios-dateformatting)"); - } else { - formatstr = NSLocalizedString(@"MM/dd - HH:mm", - @"Date formatting in Conversation bubbles, for all but current day (also " - @"see http://cybersam.com/ios-dev/quick-guide-to-ios-dateformatting)"); - } - break; - } - NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; - [dateFormatter setDateFormat:formatstr]; - return [dateFormatter stringFromDate:messageDate]; -} - -+ (BOOL)findAndResignFirstResponder:(UIView *)view { - if (view.isFirstResponder) { - [view resignFirstResponder]; - return YES; - } - for (UIView *subView in view.subviews) { - if ([LinphoneUtils findAndResignFirstResponder:subView]) - return YES; - } - return NO; -} - -+ (void)adjustFontSize:(UIView *)view mult:(float)mult { - if ([view isKindOfClass:[UILabel class]]) { - UILabel *label = (UILabel *)view; - UIFont *font = [label font]; - [label setFont:[UIFont fontWithName:font.fontName size:font.pointSize * mult]]; - } else if ([view isKindOfClass:[UITextField class]]) { - UITextField *label = (UITextField *)view; - UIFont *font = [label font]; - [label setFont:[UIFont fontWithName:font.fontName size:font.pointSize * mult]]; - } else if ([view isKindOfClass:[UIButton class]]) { - UIButton *button = (UIButton *)view; - UIFont *font = button.titleLabel.font; - [button.titleLabel setFont:[UIFont fontWithName:font.fontName size:font.pointSize * mult]]; - } else { - for (UIView *subView in [view subviews]) { - [LinphoneUtils adjustFontSize:subView mult:mult]; - } - } -} - -+ (void)buttonFixStates:(UIButton *)button { - // Interface builder lack fixes - [button setTitle:[button titleForState:UIControlStateSelected] - forState:(UIControlStateHighlighted | UIControlStateSelected)]; - [button setTitleColor:[button titleColorForState:UIControlStateHighlighted] - forState:(UIControlStateHighlighted | UIControlStateSelected)]; - [button setTitle:[button titleForState:UIControlStateSelected] - forState:(UIControlStateDisabled | UIControlStateSelected)]; - [button setTitleColor:[button titleColorForState:UIControlStateDisabled] - forState:(UIControlStateDisabled | UIControlStateSelected)]; -} - -+ (void)buttonMultiViewAddAttributes:(NSMutableDictionary *)attributes button:(UIButton *)button { - [LinphoneUtils addDictEntry:attributes item:[button titleForState:UIControlStateNormal] key:@"title-normal"]; - [LinphoneUtils addDictEntry:attributes - item:[button titleForState:UIControlStateHighlighted] - key:@"title-highlighted"]; - [LinphoneUtils addDictEntry:attributes item:[button titleForState:UIControlStateDisabled] key:@"title-disabled"]; - [LinphoneUtils addDictEntry:attributes item:[button titleForState:UIControlStateSelected] key:@"title-selected"]; - [LinphoneUtils addDictEntry:attributes - item:[button titleForState:UIControlStateDisabled | UIControlStateHighlighted] - key:@"title-disabled-highlighted"]; - [LinphoneUtils addDictEntry:attributes - item:[button titleForState:UIControlStateSelected | UIControlStateHighlighted] - key:@"title-selected-highlighted"]; - [LinphoneUtils addDictEntry:attributes - item:[button titleForState:UIControlStateSelected | UIControlStateDisabled] - key:@"title-selected-disabled"]; - - [LinphoneUtils addDictEntry:attributes - item:[button titleColorForState:UIControlStateNormal] - key:@"title-color-normal"]; - [LinphoneUtils addDictEntry:attributes - item:[button titleColorForState:UIControlStateHighlighted] - key:@"title-color-highlighted"]; - [LinphoneUtils addDictEntry:attributes - item:[button titleColorForState:UIControlStateDisabled] - key:@"title-color-disabled"]; - [LinphoneUtils addDictEntry:attributes - item:[button titleColorForState:UIControlStateSelected] - key:@"title-color-selected"]; - [LinphoneUtils addDictEntry:attributes - item:[button titleColorForState:UIControlStateDisabled | UIControlStateHighlighted] - key:@"title-color-disabled-highlighted"]; - [LinphoneUtils addDictEntry:attributes - item:[button titleColorForState:UIControlStateSelected | UIControlStateHighlighted] - key:@"title-color-selected-highlighted"]; - [LinphoneUtils addDictEntry:attributes - item:[button titleColorForState:UIControlStateSelected | UIControlStateDisabled] - key:@"title-color-selected-disabled"]; - - [LinphoneUtils addDictEntry:attributes item:NSStringFromUIEdgeInsets([button titleEdgeInsets]) key:@"title-edge"]; - [LinphoneUtils addDictEntry:attributes - item:NSStringFromUIEdgeInsets([button contentEdgeInsets]) - key:@"content-edge"]; - [LinphoneUtils addDictEntry:attributes item:NSStringFromUIEdgeInsets([button imageEdgeInsets]) key:@"image-edge"]; - - [LinphoneUtils addDictEntry:attributes item:[button imageForState:UIControlStateNormal] key:@"image-normal"]; - [LinphoneUtils addDictEntry:attributes - item:[button imageForState:UIControlStateHighlighted] - key:@"image-highlighted"]; - [LinphoneUtils addDictEntry:attributes item:[button imageForState:UIControlStateDisabled] key:@"image-disabled"]; - [LinphoneUtils addDictEntry:attributes item:[button imageForState:UIControlStateSelected] key:@"image-selected"]; - [LinphoneUtils addDictEntry:attributes - item:[button imageForState:UIControlStateDisabled | UIControlStateHighlighted] - key:@"image-disabled-highlighted"]; - [LinphoneUtils addDictEntry:attributes - item:[button imageForState:UIControlStateSelected | UIControlStateHighlighted] - key:@"image-selected-highlighted"]; - [LinphoneUtils addDictEntry:attributes - item:[button imageForState:UIControlStateSelected | UIControlStateDisabled] - key:@"image-selected-disabled"]; - - [LinphoneUtils addDictEntry:attributes - item:[button backgroundImageForState:UIControlStateNormal] - key:@"background-normal"]; - [LinphoneUtils addDictEntry:attributes - item:[button backgroundImageForState:UIControlStateHighlighted] - key:@"background-highlighted"]; - [LinphoneUtils addDictEntry:attributes - item:[button backgroundImageForState:UIControlStateDisabled] - key:@"background-disabled"]; - [LinphoneUtils addDictEntry:attributes - item:[button backgroundImageForState:UIControlStateSelected] - key:@"background-selected"]; - [LinphoneUtils addDictEntry:attributes - item:[button backgroundImageForState:UIControlStateDisabled | UIControlStateHighlighted] - key:@"background-disabled-highlighted"]; - [LinphoneUtils addDictEntry:attributes - item:[button backgroundImageForState:UIControlStateSelected | UIControlStateHighlighted] - key:@"background-selected-highlighted"]; - [LinphoneUtils addDictEntry:attributes - item:[button backgroundImageForState:UIControlStateSelected | UIControlStateDisabled] - key:@"background-selected-disabled"]; -} - -+ (void)buttonMultiViewApplyAttributes:(NSDictionary *)attributes button:(UIButton *)button { - [button setTitle:[LinphoneUtils getDictEntry:attributes key:@"title-normal"] forState:UIControlStateNormal]; - [button setTitle:[LinphoneUtils getDictEntry:attributes key:@"title-highlighted"] - forState:UIControlStateHighlighted]; - [button setTitle:[LinphoneUtils getDictEntry:attributes key:@"title-disabled"] forState:UIControlStateDisabled]; - [button setTitle:[LinphoneUtils getDictEntry:attributes key:@"title-selected"] forState:UIControlStateSelected]; - [button setTitle:[LinphoneUtils getDictEntry:attributes key:@"title-disabled-highlighted"] - forState:UIControlStateDisabled | UIControlStateHighlighted]; - [button setTitle:[LinphoneUtils getDictEntry:attributes key:@"title-selected-highlighted"] - forState:UIControlStateSelected | UIControlStateHighlighted]; - [button setTitle:[LinphoneUtils getDictEntry:attributes key:@"title-selected-disabled"] - forState:UIControlStateSelected | UIControlStateDisabled]; - - [button setTitleColor:[LinphoneUtils getDictEntry:attributes key:@"title-color-normal"] - forState:UIControlStateNormal]; - [button setTitleColor:[LinphoneUtils getDictEntry:attributes key:@"title-color-highlighted"] - forState:UIControlStateHighlighted]; - [button setTitleColor:[LinphoneUtils getDictEntry:attributes key:@"title-color-disabled"] - forState:UIControlStateDisabled]; - [button setTitleColor:[LinphoneUtils getDictEntry:attributes key:@"title-color-selected"] - forState:UIControlStateSelected]; - [button setTitleColor:[LinphoneUtils getDictEntry:attributes key:@"title-color-disabled-highlighted"] - forState:UIControlStateDisabled | UIControlStateHighlighted]; - [button setTitleColor:[LinphoneUtils getDictEntry:attributes key:@"title-color-selected-highlighted"] - forState:UIControlStateSelected | UIControlStateHighlighted]; - [button setTitleColor:[LinphoneUtils getDictEntry:attributes key:@"title-color-selected-disabled"] - forState:UIControlStateSelected | UIControlStateDisabled]; - - [button setTitleEdgeInsets:UIEdgeInsetsFromString([LinphoneUtils getDictEntry:attributes key:@"title-edge"])]; - [button setContentEdgeInsets:UIEdgeInsetsFromString([LinphoneUtils getDictEntry:attributes key:@"content-edge"])]; - [button setImageEdgeInsets:UIEdgeInsetsFromString([LinphoneUtils getDictEntry:attributes key:@"image-edge"])]; - - [button setImage:[LinphoneUtils getDictEntry:attributes key:@"image-normal"] forState:UIControlStateNormal]; - [button setImage:[LinphoneUtils getDictEntry:attributes key:@"image-highlighted"] - forState:UIControlStateHighlighted]; - [button setImage:[LinphoneUtils getDictEntry:attributes key:@"image-disabled"] forState:UIControlStateDisabled]; - [button setImage:[LinphoneUtils getDictEntry:attributes key:@"image-selected"] forState:UIControlStateSelected]; - [button setImage:[LinphoneUtils getDictEntry:attributes key:@"image-disabled-highlighted"] - forState:UIControlStateDisabled | UIControlStateHighlighted]; - [button setImage:[LinphoneUtils getDictEntry:attributes key:@"image-selected-highlighted"] - forState:UIControlStateSelected | UIControlStateHighlighted]; - [button setImage:[LinphoneUtils getDictEntry:attributes key:@"image-selected-disabled"] - forState:UIControlStateSelected | UIControlStateDisabled]; - - [button setBackgroundImage:[LinphoneUtils getDictEntry:attributes key:@"background-normal"] - forState:UIControlStateNormal]; - [button setBackgroundImage:[LinphoneUtils getDictEntry:attributes key:@"background-highlighted"] - forState:UIControlStateHighlighted]; - [button setBackgroundImage:[LinphoneUtils getDictEntry:attributes key:@"background-disabled"] - forState:UIControlStateDisabled]; - [button setBackgroundImage:[LinphoneUtils getDictEntry:attributes key:@"background-selected"] - forState:UIControlStateSelected]; - [button setBackgroundImage:[LinphoneUtils getDictEntry:attributes key:@"background-disabled-highlighted"] - forState:UIControlStateDisabled | UIControlStateHighlighted]; - [button setBackgroundImage:[LinphoneUtils getDictEntry:attributes key:@"background-selected-highlighted"] - forState:UIControlStateSelected | UIControlStateHighlighted]; - [button setBackgroundImage:[LinphoneUtils getDictEntry:attributes key:@"background-selected-disabled"] - forState:UIControlStateSelected | UIControlStateDisabled]; -} - -+ (void)addDictEntry:(NSMutableDictionary *)dict item:(id)item key:(id)key { - if (item != nil && key != nil) { - [dict setObject:item forKey:key]; - } -} - -+ (id)getDictEntry:(NSDictionary *)dict key:(id)key { - if (key != nil) { - return [dict objectForKey:key]; - } - return nil; -} - -+ (NSString *)deviceModelIdentifier { - struct utsname systemInfo; - uname(&systemInfo); - - NSString *machine = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding]; - - if ([machine isEqual:@"iPad1,1"]) - return @"iPad"; - else if ([machine isEqual:@"iPad2,1"]) - return @"iPad 2"; - else if ([machine isEqual:@"iPad2,2"]) - return @"iPad 2"; - else if ([machine isEqual:@"iPad2,3"]) - return @"iPad 2"; - else if ([machine isEqual:@"iPad2,4"]) - return @"iPad 2"; - else if ([machine isEqual:@"iPad3,1"]) - return @"iPad 3"; - else if ([machine isEqual:@"iPad3,2"]) - return @"iPad 3"; - else if ([machine isEqual:@"iPad3,3"]) - return @"iPad 3"; - else if ([machine isEqual:@"iPad3,4"]) - return @"iPad 4"; - else if ([machine isEqual:@"iPad3,5"]) - return @"iPad 4"; - else if ([machine isEqual:@"iPad3,6"]) - return @"iPad 4"; - else if ([machine isEqual:@"iPad4,1"]) - return @"iPad Air"; - else if ([machine isEqual:@"iPad4,2"]) - return @"iPad Air"; - else if ([machine isEqual:@"iPad4,3"]) - return @"iPad Air"; - else if ([machine isEqual:@"iPad5,3"]) - return @"iPad Air 2"; - else if ([machine isEqual:@"iPad5,4"]) - return @"iPad Air 2"; - else if ([machine isEqual:@"iPad6,7"]) - return @"iPad Pro 12.9"; - else if ([machine isEqual:@"iPad6,8"]) - return @"iPad Pro 12.9"; - else if ([machine isEqual:@"iPad6,3"]) - return @"iPad Pro 9.7"; - else if ([machine isEqual:@"iPad6,4"]) - return @"iPad Pro 9.7"; - else if ([machine isEqual:@"iPad2,5"]) - return @"iPad mini"; - else if ([machine isEqual:@"iPad2,6"]) - return @"iPad mini"; - else if ([machine isEqual:@"iPad2,7"]) - return @"iPad mini"; - else if ([machine isEqual:@"iPad4,4"]) - return @"iPad mini 2"; - else if ([machine isEqual:@"iPad4,5"]) - return @"iPad mini 2"; - else if ([machine isEqual:@"iPad4,6"]) - return @"iPad mini 2"; - else if ([machine isEqual:@"iPad4,7"]) - return @"iPad mini 3"; - else if ([machine isEqual:@"iPad4,8"]) - return @"iPad mini 3"; - else if ([machine isEqual:@"iPad4,9"]) - return @"iPad mini 3"; - else if ([machine isEqual:@"iPad5,1"]) - return @"iPad mini 4"; - else if ([machine isEqual:@"iPad5,2"]) - return @"iPad mini 4"; - - else if ([machine isEqual:@"iPhone1,1"]) - return @"iPhone"; - else if ([machine isEqual:@"iPhone1,2"]) - return @"iPhone 3G"; - else if ([machine isEqual:@"iPhone2,1"]) - return @"iPhone 3GS"; - else if ([machine isEqual:@"iPhone3,1"]) - return @"iPhone 4"; - else if ([machine isEqual:@"iPhone3,2"]) - return @"iPhone 4"; - else if ([machine isEqual:@"iPhone3,3"]) - return @"iPhone 4"; - else if ([machine isEqual:@"iPhone4,1"]) - return @"iPhone 4S"; - else if ([machine isEqual:@"iPhone5,1"]) - return @"iPhone5,2 iPhone 5"; - else if ([machine isEqual:@"iPhone5,3"]) - return @"iPhone5,4 iPhone 5c"; - else if ([machine isEqual:@"iPhone6,1"]) - return @"iPhone6,2 iPhone 5s"; - else if ([machine isEqual:@"iPhone7,2"]) - return @"iPhone 6"; - else if ([machine isEqual:@"iPhone7,1"]) - return @"iPhone 6 Plus"; - else if ([machine isEqual:@"iPhone8,1"]) - return @"iPhone 6s"; - else if ([machine isEqual:@"iPhone8,2"]) - return @"iPhone 6s Plus"; - else if ([machine isEqual:@"iPhone8,4"]) - return @"iPhone SE"; - - else if ([machine isEqual:@"iPod1,1"]) - return @"iPod touch"; - else if ([machine isEqual:@"iPod2,1"]) - return @"iPod touch 2G"; - else if ([machine isEqual:@"iPod3,1"]) - return @"iPod touch 3G"; - else if ([machine isEqual:@"iPod4,1"]) - return @"iPod touch 4G"; - else if ([machine isEqual:@"iPod5,1"]) - return @"iPod touch 5G"; - else if ([machine isEqual:@"iPod7,1"]) - return @"iPod touch 6G"; - - else if ([machine isEqual:@"x86_64"]) - return @"simulator 64bits"; - - // none matched: cf https://www.theiphonewiki.com/wiki/Models for the whole list - LOGW(@"%s: Oops, unknown machine %@... consider completing me!", __FUNCTION__, machine); - return machine; -} - -+ (LinphoneAddress *)normalizeSipOrPhoneAddress:(NSString *)value { - if (!value || [value isEqualToString:@""]) - return NULL; - - LinphoneAccount *account = linphone_core_get_default_account(LC); - bool dial_escape_plus_enabled = account && linphone_account_get_params(account) && linphone_account_params_get_dial_escape_plus_enabled(linphone_account_get_params(account)); - char *normvalue; - normvalue = linphone_account_is_phone_number(account, value.UTF8String) && dial_escape_plus_enabled - ? linphone_account_normalize_phone_number(account, value.UTF8String) - : bctbx_strdup(value.UTF8String); - - LinphoneAddress *addr = linphone_account_normalize_sip_uri(account, normvalue); - // first try to find a friend with the given address - Contact *c = [FastAddressBook getContactWithAddress:addr]; - bctbx_free(normvalue); - - if (c && c.friend) { - LinphoneFriend *f = c.friend; - const LinphonePresenceModel *m = f - ? linphone_friend_get_presence_model_for_uri_or_tel(f, value.UTF8String) - : NULL; - char *contact = m ? linphone_presence_model_get_contact(m) : NULL; - if (contact) { - LinphoneAddress *contact_addr = linphone_address_new(contact); - ms_free(contact); - if (contact_addr) { - linphone_address_unref(addr); - return contact_addr; - } - } - } - - // since user wants to escape plus, we assume it expects to have phone - // numbers by default - if (addr && account) { - const char *username = dial_escape_plus_enabled ? normvalue : value.UTF8String; - if (linphone_account_is_phone_number(account, username) && dial_escape_plus_enabled){ - char *normalized = linphone_account_normalize_phone_number(account, username); - linphone_address_set_username(addr, normalized); - bctbx_free(normalized); - } - } - return addr; -} - -+ (NSArray *)parseRecordingName:(NSString *)filename { - NSString *rec = @"recording_"; //key that helps find recordings - NSString *subName = [filename substringFromIndex:[filename rangeOfString:rec].location]; //We remove the parent folders if they exist in the filename - NSArray *splitString = [subName componentsSeparatedByString:@"_"]; - //splitString: first element is the 'recording' prefix, last element is the date with the "E-d-MMM-yyyy-HH-mm-ss" format. - NSString *name = [[splitString subarrayWithRange:NSMakeRange(1, [splitString count] -2)] componentsJoinedByString:@""]; - NSDateFormatter *format = [[NSDateFormatter alloc] init]; - [format setDateFormat:@"E-d-MMM-yyyy-HH-mm-ss"]; - NSString *dateWithMkv = [splitString objectAtIndex:[splitString count]-1]; //this will be in the form "E-d-MMM-yyyy-HH-mm-ss.mkv", we have to delete the extension - NSDate *date = [format dateFromString:[dateWithMkv substringToIndex:[dateWithMkv length] - 4]]; - NSArray *res = [NSArray arrayWithObjects:name, date, nil]; - return res; -} - -+ (UIAlertController *)networkErrorView:(NSString *)action { - UIAlertController *errView = - [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Network Error", nil) - message:NSLocalizedString([@"There is no network connection available, enable WIFI or WWAN prior to " stringByAppendingString:action],nil) - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction *defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"OK", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction *action){ - }]; - - [errView addAction:defaultAction]; - return errView; -} - -@end - -@implementation NSNumber (HumanReadableSize) - -- (NSString *)toHumanReadableSize { - float floatSize = [self floatValue]; - if (floatSize < 1023) - return ([NSString stringWithFormat:@"%1.0f bytes", floatSize]); - floatSize = floatSize / 1024; - if (floatSize < 1023) - return ([NSString stringWithFormat:@"%1.1f KB", floatSize]); - floatSize = floatSize / 1024; - if (floatSize < 1023) - return ([NSString stringWithFormat:@"%1.1f MB", floatSize]); - floatSize = floatSize / 1024; - - return ([NSString stringWithFormat:@"%1.1f GB", floatSize]); -} - -@end - -@implementation UIImage (systemIcons) - -+ (UIImage *)imageFromSystemBarButton:(UIBarButtonSystemItem)systemItem :(UIColor *) color { - // thanks to Renetik https://stackoverflow.com/a/49822488 - UIToolbar *bar = UIToolbar.new; - UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:systemItem target:nil action:nil]; - [bar setItems:@[buttonItem] animated:NO]; - [bar snapshotViewAfterScreenUpdates:YES]; - for (UIView *view in [(id) buttonItem view].subviews) - if ([view isKindOfClass:UIButton.class]) { - UIImage *image = [((UIButton *) view).imageView.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; - UIGraphicsBeginImageContextWithOptions(image.size, NO, image.scale); - //[color set]; - [image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)]; - image = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - return image; - } - return nil; -} - -@end - - - -@implementation UIImageView (ImageWithTint) - -- (void)setImageNamed:(NSString *)name tintColor:(UIColor *)color { - self.image = [[UIImage imageNamed:name] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; - self.tintColor = color; -} - -- (void)setImageNamed:(NSString *)name tintColorLetter:(NSString *)letter { - UIColor *color = [UIColor color:letter]; - self.image = [[UIImage imageNamed:name] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; - self.tintColor = color; -} - -@end - -@implementation NSString (md5) - -- (NSString *)md5 { - const char *ptr = [self UTF8String]; - unsigned char md5Buffer[CC_MD5_DIGEST_LENGTH]; - CC_MD5(ptr, (unsigned int)strlen(ptr), md5Buffer); - NSMutableString *output = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2]; - for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) { - [output appendFormat:@"%02x", md5Buffer[i]]; - } - - return output; -} - -- (BOOL)containsSubstring:(NSString *)str { - if (UIDevice.currentDevice.systemVersion.doubleValue >= 8.0) { -#pragma deploymate push "ignored-api-availability" - return [self containsString:str]; -#pragma deploymate pop - } - return ([self rangeOfString:str].location != NSNotFound); -} - -@end - -@implementation ContactDisplay - -+ (void)setDisplayNameLabel:(UILabel *)label forContact:(Contact *)contact { - label.text = [FastAddressBook displayNameForContact:contact]; -#if 0 - NSString *lLastName = CFBridgingRelease(ABRecordCopyValue(contact, kABPersonLastNameProperty)); - NSString *lLocalizedLastName = [FastAddressBook localizedLabel:lLastName]; - if (lLocalizedLastName) { - [label boldSubstring:lLocalizedLastName]; - } -#endif -} - -+ (void)setDisplayNameLabel:(UILabel *)label forAddress:(const LinphoneAddress *)addr { - - const LinphoneConferenceInfo * ci = linphone_core_find_conference_information_from_uri(LC, (LinphoneAddress *)addr); - if (ci != nil) { - label.text = [NSString stringWithUTF8String:linphone_conference_info_get_subject(ci)]; - return; - } - - Contact *contact = [FastAddressBook getContactWithAddress:addr]; - if (contact) { - [ContactDisplay setDisplayNameLabel:label forContact:contact]; - } else { - label.text = [FastAddressBook displayNameForAddress:addr]; - } -} - -+ (void)setDisplayNameLabel:(UILabel *)label forAddress:(const LinphoneAddress *)addr withAddressLabel:(UILabel*)addressLabel{ - - const LinphoneConferenceInfo * ci = linphone_core_find_conference_information_from_uri(LC, (LinphoneAddress *)addr); - if (ci != nil) { - label.text = [NSString stringWithUTF8String:linphone_conference_info_get_subject(ci)]; - addressLabel.text = NSLocalizedString(@"Conference",nil); - return; - } - - Contact *contact = [FastAddressBook getContactWithAddress:addr]; - NSString *tmpAddress = nil; - char *uri = linphone_address_as_string_uri_only(addr); - if (contact) { - [ContactDisplay setDisplayNameLabel:label forContact:contact]; - tmpAddress = [NSString stringWithUTF8String:uri]; - addressLabel.hidden = FALSE; - } else { - label.text = [FastAddressBook displayNameForAddress:addr]; - if([LinphoneManager.instance lpConfigBoolForKey:@"display_phone_only" inSection:@"app"]) - addressLabel.hidden = TRUE; - else - tmpAddress = [NSString stringWithUTF8String:uri]; - } - ms_free(uri); - NSRange range = [tmpAddress rangeOfString:@";"]; - if (range.location != NSNotFound) { - tmpAddress = [tmpAddress substringToIndex:range.location]; - } - addressLabel.text = tmpAddress; -} - - -@end - -@implementation UIImage (squareCrop) - -- (UIImage *)squareCrop { - // This calculates the crop area. - - size_t originalWidth = CGImageGetWidth(self.CGImage); - size_t originalHeight = CGImageGetHeight(self.CGImage); - - size_t edge = MIN(originalWidth, originalHeight); - - float posX = (originalWidth - edge) / 2.0f; - float posY = (originalHeight - edge) / 2.0f; - - CGRect rect = CGRectMake(posX, posY, edge, edge); - - // Create bitmap image from original image data, - // using rectangle to specify desired crop area - CGImageRef imageRef = CGImageCreateWithImageInRect([self CGImage], rect); - UIImage *img = [UIImage imageWithCGImage:imageRef]; - CGImageRelease(imageRef); - - return img; /* - UIImage *ret = nil; - - - - CGRect cropSquare = CGRectMake(posX, posY, edge, edge); - - // CGImageRef imageRef = CGImageCreateWithImageInRect([self CGImage], cropSquare); - // ret = [UIImage imageWithCGImage:imageRef scale:self.scale orientation:self.imageOrientation]; - // - // CGImageRelease(imageRef); - - CGImageRef imageRef = CGImageCreateWithImageInRect(self.CGImage, cropSquare); - ret = [UIImage imageWithCGImage:imageRef scale:self.scale orientation:self.imageOrientation]; - CGImageRelease(imageRef); - - - return ret;*/ -} - -- (UIImage *)scaleToSize:(CGSize)size squared:(BOOL)squared { - UIImage *scaledImage = self; - if (squared) { - // scaledImage = [self squareCrop]; - size.width = size.height = MAX(size.width, size.height); - } - - UIGraphicsBeginImageContext(size); - - [scaledImage drawInRect:CGRectMake(0, 0, size.width, size.height)]; - scaledImage = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - - return scaledImage; -} - -+ (UIImage *)resizeImage:(UIImage *)image withMaxWidth:(float)maxWidth andMaxHeight:(float)maxHeight { - float actualHeight = image.size.height; - float actualWidth = image.size.width; - float imgRatio = actualWidth / actualHeight; - float maxRatio = maxWidth / maxHeight; - float compressionQuality = 1; - if (actualHeight > maxHeight || actualWidth > maxWidth) - { - if (imgRatio < maxRatio) { - imgRatio = maxHeight / actualHeight; - actualWidth = imgRatio * actualWidth; - actualHeight = maxHeight; - } else if (imgRatio > maxRatio) { - imgRatio = maxWidth / actualWidth; - actualHeight = imgRatio * actualHeight; - actualWidth = maxWidth; - } else { - actualHeight = maxHeight; - actualWidth = maxWidth; - } - } - CGRect rect = CGRectMake(0.0, 0.0, actualWidth, actualHeight); - UIGraphicsBeginImageContext(rect.size); - [image drawInRect:rect]; - UIImage *img = UIGraphicsGetImageFromCurrentImageContext(); - NSData *imageData = UIImageJPEGRepresentation(img, compressionQuality); - UIGraphicsEndImageContext(); - return [UIImage imageWithData:imageData]; -} - -@end - -@implementation UIColor (LightAndDark) - -- (UIColor *)lumColor:(float)mult { - float hsbH, hsbS, hsbB; - float rgbaR, rgbaG, rgbaB, rgbaA; - - // Get RGB - CGColorRef cgColor = [self CGColor]; - CGColorSpaceRef cgColorSpace = CGColorGetColorSpace(cgColor); - if (CGColorSpaceGetModel(cgColorSpace) != kCGColorSpaceModelRGB) { - LOGW(@"Can't convert not RGB color"); - return self; - } else { - const CGFloat *colors = CGColorGetComponents(cgColor); - rgbaR = colors[0]; - rgbaG = colors[1]; - rgbaB = colors[2]; - rgbaA = CGColorGetAlpha(cgColor); - } - - RGB2HSL(rgbaR, rgbaG, rgbaB, &hsbH, &hsbS, &hsbB); - - hsbB = MIN(MAX(hsbB * mult, 0.0), 1.0); - - HSL2RGB(hsbH, hsbS, hsbB, &rgbaR, &rgbaG, &rgbaB); - - return [UIColor colorWithRed:rgbaR green:rgbaG blue:rgbaB alpha:rgbaA]; -} - -- (UIColor *)adjustHue:(float)hm saturation:(float)sm brightness:(float)bm alpha:(float)am { - float hsbH, hsbS, hsbB; - float rgbaR, rgbaG, rgbaB, rgbaA; - - // Get RGB - CGColorRef cgColor = [self CGColor]; - CGColorSpaceRef cgColorSpace = CGColorGetColorSpace(cgColor); - if (CGColorSpaceGetModel(cgColorSpace) != kCGColorSpaceModelRGB) { - LOGW(@"Can't convert not RGB color"); - return self; - } else { - const CGFloat *colors = CGColorGetComponents(cgColor); - rgbaR = colors[0]; - rgbaG = colors[1]; - rgbaB = colors[2]; - rgbaA = CGColorGetAlpha(cgColor); - } - - RGB2HSL(rgbaR, rgbaG, rgbaB, &hsbH, &hsbS, &hsbB); - - hsbH = MIN(MAX(hsbH + hm, 0.0), 1.0); - hsbS = MIN(MAX(hsbS + sm, 0.0), 1.0); - hsbB = MIN(MAX(hsbB + bm, 0.0), 1.0); - rgbaA = MIN(MAX(rgbaA + am, 0.0), 1.0); - - HSL2RGB(hsbH, hsbS, hsbB, &rgbaR, &rgbaG, &rgbaB); - - return [UIColor colorWithRed:rgbaR green:rgbaG blue:rgbaB alpha:rgbaA]; -} - -- (UIColor *)lighterColor { - return [self lumColor:1.3]; -} - -- (UIColor *)darkerColor { - return [self lumColor:0.75]; -} - - -static NSMutableDictionary *letterColors = nil; - -+(UIColor *)color:(NSString *)letter { - if (letterColors == nil) - letterColors = [[NSMutableDictionary alloc] init]; - if (![letterColors objectForKey:letter]) { - UIImage *colorImage = [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/color_%@.png",[[NSBundle mainBundle] bundlePath],letter]]; - [letterColors setObject:[UIColor colorWithPatternImage:colorImage] forKey:letter]; - } - return [letterColors objectForKey:letter]; -} - -@end - -@implementation UIImage (ForceDecode) - -+ (UIImage *)decodedImageWithImage:(UIImage *)image { - CGImageRef imageRef = image.CGImage; - CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); - CGContextRef context = CGBitmapContextCreate( - NULL, CGImageGetWidth(imageRef), CGImageGetHeight(imageRef), 8, - // Just always return width * 4 will be enough - CGImageGetWidth(imageRef) * 4, - // System only supports RGB, set explicitly - colorSpace, - // Makes system don't need to do extra conversion when displayed. - // NOTE: here we remove the alpha channel for performance. Most of the time, images loaded - // from the network are jpeg with no alpha channel. As a TODO, finding a way to detect - // if alpha channel is necessary would be nice. - kCGImageAlphaNoneSkipLast | kCGBitmapByteOrder32Little); - CGColorSpaceRelease(colorSpace); - if (!context) - return nil; - - CGRect rect = (CGRect){CGPointZero, {CGImageGetWidth(imageRef), CGImageGetHeight(imageRef)}}; - CGContextDrawImage(context, rect, imageRef); - CGImageRef decompressedImageRef = CGBitmapContextCreateImage(context); - CGContextRelease(context); - - UIImage *decompressedImage = - [[UIImage alloc] initWithCGImage:decompressedImageRef scale:image.scale orientation:image.imageOrientation]; - CGImageRelease(decompressedImageRef); - return decompressedImage; -} - -@end - -@implementation UIImage (ResizeAndThumbnail) - -+ (UIImage *)UIImageThumbnail:(UIImage *)image thumbSize:(CGFloat) tbSize { - // Create a thumbnail version of the image for the event object. - CGSize size = image.size; - CGSize croppedSize; - CGFloat offsetX = 0.0; - CGFloat offsetY = 0.0; - CGFloat actualTbSize = MAX(tbSize, MAX(size.height, size.width)); - // check the size of the image, we want to make it - // a square with sides the size of the smallest end - if (size.width > size.height) { - offsetX = (size.height - size.width) / 2; - croppedSize = CGSizeMake(size.height, size.height); - } else { - offsetY = (size.width - size.height) / 2; - croppedSize = CGSizeMake(size.width, size.width); - } - - // Crop the image before resize - CGRect clippedRect = CGRectMake(offsetX * -1, - offsetY * -1, - croppedSize.width, - croppedSize.height); - CGImageRef imageRef = CGImageCreateWithImageInRect([image CGImage], - clippedRect); - - UIImage *cropped = [UIImage imageWithCGImage:imageRef]; - CGImageRelease(imageRef); - // Done cropping - - // Resize the image - CGRect rect = CGRectMake(0, 0, actualTbSize, actualTbSize); - - UIGraphicsBeginImageContext(rect.size); - [cropped drawInRect:rect]; - UIImage *thumbnail = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - // Done Resizing - - return thumbnail; -} - - -+ (UIImage *)UIImageResize:(UIImage *)image toSize:(CGSize) newSize { - CGImageRef newImage = [image CGImage]; - CGSize originalSize = [image size]; - float originalAspectRatio = originalSize.width / originalSize.height; - // We resize in width and crop in height - if (originalSize.width > newSize.width) { - int height = newSize.width / originalAspectRatio; - newImage = [UIImage resizeCGImage:newImage toWidth:newSize.width andHeight:height]; - originalSize.height = height; - } - CGRect cropRect = CGRectMake(0, 0, newSize.width, newSize.height); - if (newSize.height < originalSize.height) cropRect.origin.y = (originalSize.height - newSize.height)/2; - newImage = CGImageCreateWithImageInRect(newImage, cropRect); - - - UIImage *cropped = [UIImage imageWithCGImage:newImage]; - CGImageRelease(newImage); - return cropped; -} - -+ (CGImageRef)resizeCGImage:(CGImageRef)image toWidth:(int)width andHeight:(int)height { - // create context, keeping original image properties - CGColorSpaceRef colorspace = CGImageGetColorSpace(image); - CGContextRef context = CGBitmapContextCreate(NULL, width, height, - CGImageGetBitsPerComponent(image), - CGImageGetBytesPerRow(image), - colorspace, - CGImageGetAlphaInfo(image)); - CGColorSpaceRelease(colorspace); - - if(context == NULL) - return nil; - - // draw image to context (resizing it) - CGContextDrawImage(context, CGRectMake(0, 0, width, height), image); - // extract resulting image from context - CGImageRef imgRef = CGBitmapContextCreateImage(context); - CGContextRelease(context); - - return imgRef; -} - - -@end diff --git a/Classes/Utils/XMLRPC/XMLRPCConnectionDelegate.h b/Classes/Utils/XMLRPC/XMLRPCConnectionDelegate.h deleted file mode 100755 index 4c1e7d2c3..000000000 --- a/Classes/Utils/XMLRPC/XMLRPCConnectionDelegate.h +++ /dev/null @@ -1,27 +0,0 @@ -#import - -@class XMLRPCConnection, XMLRPCRequest, XMLRPCResponse; - -@protocol XMLRPCConnectionDelegate - -@required -- (void)request: (XMLRPCRequest *)request didReceiveResponse: (XMLRPCResponse *)response; - -@optional -- (void)request: (XMLRPCRequest *)request didSendBodyData: (float)percent; - -@required -- (void)request: (XMLRPCRequest *)request didFailWithError: (NSError *)error; - -#pragma mark - - -@required -- (BOOL)request: (XMLRPCRequest *)request canAuthenticateAgainstProtectionSpace: (NSURLProtectionSpace *)protectionSpace; - -@required -- (void)request: (XMLRPCRequest *)request didReceiveAuthenticationChallenge: (NSURLAuthenticationChallenge *)challenge; - -@required -- (void)request: (XMLRPCRequest *)request didCancelAuthenticationChallenge: (NSURLAuthenticationChallenge *)challenge; - -@end diff --git a/Classes/Utils/XMLRPCHelper.h b/Classes/Utils/XMLRPCHelper.h deleted file mode 100644 index 44fdbe542..000000000 --- a/Classes/Utils/XMLRPCHelper.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -@interface XMLRPCHelper : NSObject -/* This class is only here to handle - * - * All the rest is implemented to do nothing - */ - -@property(nonatomic, strong) NSMutableArray *personsArray; - -+ (void)sendXMLRPCRequest:(NSString *)method; -+ (void)sendXMLRPCRequestWithParams:(NSString *)method withParams:(NSArray *)params; -+ (void)sendXMLRPCRequestWithParams:(NSString *)method - withParams:(NSArray *)params - onSuccess:(void (^)(NSString *response))block; -+ (void)sendXMLRPCRequestWithParams:(NSString *)method - withParams:(NSArray *)params - onSuccess:(void (^)(NSString *response))successBlock - onError:(void (^)(NSString *response))errorBlock; - -- (void)dealWithXmlRpcResponse:(LinphoneXmlRpcRequest *)request; -- (void)displayErrorPopup:(NSString *)error; -+ (void)initArray; - -@end diff --git a/Classes/Utils/XMLRPCHelper.m b/Classes/Utils/XMLRPCHelper.m deleted file mode 100644 index d48107f9d..000000000 --- a/Classes/Utils/XMLRPCHelper.m +++ /dev/null @@ -1,158 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import - -#import "LinphoneManager.h" -#import "XMLRPCHelper.h" -#import "Utils.h" -#import "PhoneMainView.h" - -/* This subclass allows use to store the block to execute on success */ -@interface XMLRPCRequestObject : NSObject -@property(copy, nonatomic) void (^XMLRPCHelperBlockSuccess)(NSString *something); -@property(copy, nonatomic) void (^XMLRPCHelperBlockError)(NSString *something); -@property LinphoneXmlRpcRequest *xmlRpcRequest; -@end - -@implementation XMLRPCRequestObject -@end - -@implementation XMLRPCHelper - -#pragma mark - API - -// typedef void (^XMLRPCHelperBlock)(NSString *something); - -// XMLRPCHelperBlock successBlock = nil; -// XMLRPCHelperBlock errorBlock = nil; - -NSMutableArray *personsArray; - -/*****************************************************************************************/ -+ (void)initArray { - personsArray = [[NSMutableArray alloc] init]; -} - -+ (void)sendXMLRPCRequest:(NSString *)method { - [self sendXMLRPCRequestWithParams:method withParams:nil onSuccess:nil onError:nil]; -} - -+ (void)sendXMLRPCRequestWithParams:(NSString *)method withParams:(NSArray *)params { - [self sendXMLRPCRequestWithParams:method withParams:params onSuccess:nil onError:nil]; -} - -+ (void)sendXMLRPCRequestWithParams:(NSString *)method - withParams:(NSArray *)params - onSuccess:(void (^)(NSString *))successBk { - [self sendXMLRPCRequestWithParams:method withParams:params onSuccess:successBk onError:nil]; -} - -// change block by callback and implement callback with different behavior if success (: call InAppManager) or error (: -// manage error here) -+ (void)sendXMLRPCRequestWithParams:(NSString *)method - withParams:(NSArray *)params - onSuccess:(void (^)(NSString *))successBk - onError:(void (^)(NSString *req))errorBk { - LOGI(@"XMLRPC %@ - %@", method, params); - XMLRPCRequestObject *requestObject = [XMLRPCRequestObject alloc]; - const char *URL = - [LinphoneManager.instance lpConfigStringForKey:@"receipt_validation_url" inSection:@"in_app_purchase"] - .UTF8String; - - requestObject.XMLRPCHelperBlockSuccess = successBk; - requestObject.XMLRPCHelperBlockError = errorBk; - - // Create LinphoneXMLRPCRequest - LinphoneXmlRpcSession *requestSession = linphone_xml_rpc_session_new(LC, URL); - // LinphoneXmlRpcRequest *request = linphone_xml_rpc_request_new(method.UTF8String, LinphoneXmlRpcArgString); - requestObject.xmlRpcRequest = linphone_xml_rpc_request_new(LinphoneXmlRpcArgString, method.UTF8String); - - [personsArray addObject:requestObject]; - // Set argument to this LinphoneXMLRPCRequest - for (NSString *item in params) { - NSLog(@"Linphone XMLRPC Request with argument: %@", item); - linphone_xml_rpc_request_add_string_arg(requestObject.xmlRpcRequest, item.UTF8String); - } - - // Ref and send the LinphoneXMLRPCRequest - requestSession = linphone_xml_rpc_session_ref(requestSession); - linphone_xml_rpc_session_send_request(requestSession, requestObject.xmlRpcRequest); - - // Set the callbacks to this LinphoneXMLRPCRequest - LinphoneXmlRpcRequestCbs *cbs = linphone_xml_rpc_request_get_callbacks(requestObject.xmlRpcRequest); - - // Register XMLRPCHelper in user data to get it back on Callback rised - XMLRPCHelper *xMLRPCHelper = [[XMLRPCHelper alloc] init]; - linphone_xml_rpc_request_set_user_data(requestObject.xmlRpcRequest, ((void *)CFBridgingRetain(xMLRPCHelper))); - - // Set the response Callback - linphone_xml_rpc_request_cbs_set_response(cbs, linphone_xmlrpc_call_back_received); -} - -static void linphone_xmlrpc_call_back_received(LinphoneXmlRpcRequest *request) { - [(__bridge XMLRPCHelper *)linphone_xml_rpc_request_get_user_data(request) dealWithXmlRpcResponse:request]; -} - -- (void)dealWithXmlRpcResponse:(LinphoneXmlRpcRequest *)request { - XMLRPCRequestObject *xmlrpcObject; - NSInteger index = 0; - for (int i = 0; i < [personsArray count]; i++) { - xmlrpcObject = [personsArray objectAtIndex:i]; - if (xmlrpcObject.xmlRpcRequest == request) - break; - index++; - } - - NSString *responseString = - [NSString stringWithFormat:@"%s", (linphone_xml_rpc_request_get_string_response(request))]; - LOGI(@"XMLRPC query: %@", responseString); - if (linphone_xml_rpc_request_get_status(request) == LinphoneXmlRpcStatusOk) { - // Call success block - xmlrpcObject.XMLRPCHelperBlockSuccess(responseString); - } else if (linphone_xml_rpc_request_get_status(request) == LinphoneXmlRpcStatusFailed) { - if (xmlrpcObject.XMLRPCHelperBlockError != nil) { - LOGI(@"XMLRPC query ErrorBlock rised"); - xmlrpcObject.XMLRPCHelperBlockError(responseString); - } - // Display Error alert - [self displayErrorPopup:@"LinphoneXMLRPC Request Failed"]; - } - linphone_xml_rpc_request_unref(request); - [personsArray removeObjectAtIndex:index]; -} - -#pragma mark - Error alerts - -- (void)displayErrorPopup:(NSString *)error { - UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Server request error", nil) - message:error - preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"OK", nil) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction * action) {}]; - - [errView addAction:defaultAction]; - [PhoneMainView.instance presentViewController:errView animated:YES completion:nil]; -} - -@end - -/*****************************************************************************************/ diff --git a/Classes/ar.lproj/AboutView.strings b/Classes/ar.lproj/AboutView.strings deleted file mode 100644 index f9531d29d6ed4b1e8c8a6951f49a7b324d615c9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3886 zcmd6qT~pdX6o${$Uid3A%ygJK4HhX?+UW&|Ak=BBU#(7W6e-3cC`7FNNBxs+pWPTC zvYj9>4wK1dvz$HI_dTEd{j(%1vMi2lNLx;%&*jJm?vxxzO}1G(l_tNX>1*;AA)};KPEz6FkxbjQBGdAQi z`@`=pqkDP1Brfi7(8;#UYsc+?t)P+oMymt*Z`YlBE zKQ8j}2}xHf=yYMOg`PMUHVGRSX|<-xs-PSx@T~F7sk%z5oO;PTqw;EtyRMd1g;o8H zBqmCr({|Uk4bPZUbiHy;mbgrS-yijjpplEn`rK;wchO;!>&+hjK+qJJsllQ zILQ$yS$V_wI)Ra6IWmk4kay8=1S@eyY!WvAc*=Q_JY!bug$a)Mjsq~qZQUZybbO3TOon*;9J6Ar5}gMi ztK!i*_xFgxHt#!F?DRhSIh@xw8KXnS(4K#Y?|(!7H}h4zKg;c!nSOIXrmIk!@yz56 ztvQUGOSwdI$LKpDL-^+RenR}T_~J*t@YQg-hc6YzI31U;ak@x&XSH1so;|F$pTM4v zjRV*#U=3H+OxBNkq)o!co=f$aPhOp-<~yLZ_aYbg?*Z7#cu43a-Xs68N!SohbFNwK zINx5RL)>XQH)NNw31cUZxUfmsxR`%0^7M-1lZm3fG_1HuwYGa-Ykl_V99tsC#J$}n zVZ&cmJ9JqdJ%)$hSJW;YSc=}OXx>IoljH%<--8W^gmv)W5;M97+aw3XS+GegW)C)f z&UT)yLJj1as^*egYm8-lZext^aS5B(Ee_fwuTF~QN$b-swfzd#eA!~`@^7>Lh&!8v Jjl0qM^ba0JI;sEw diff --git a/Classes/ar.lproj/AssistantLinkView.strings b/Classes/ar.lproj/AssistantLinkView.strings deleted file mode 100644 index 4cdde4b179e4f52a27b8c3c8917fb35cfe918e76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6248 zcmds*Sy$Ug5QXchANUmt9Ad^nCTv+|&OFEq37)V7oMdL+jP0<*7~&WL`SHno)k2YF zwJqcf8O|IZS*=#}Qq{L^-`2OUGqNN_@uVVMY04*lp8U==D{o{|UQu@-9p25#Z`3xW z#jj)Sj(Ky;n`0Ts^^j%MKCrfDav?n|Jlb@)U&y)bM@Ks58qlY{5BuMt&lBug)ND!> z%Wy7_ef z5C1Dvth2r+;9*&w^4}(cDdY7^H;n0BpO?Hf{)Ox2aO6)tXabrKDk@NC<9+U_8-NNgCV^6HgC205M zGtu;ARX)hGR2WbRf349B|AlhdtiyE6wp>K}yyQtOYG#GIS{2P4t?Klq@vWM9YHGBv zeShyWR+*<7qiEZ*efI*Jq6uiL?doQSQ5MZ67W3Mdok2K)&aphyqdqU7%5;8n%r#&Z zFDQr6%gWj5xJa{A5v2%ABWp5C?aH5MV%4f${uSAOk7TFIBAca>s}K;8I+4)1WX0gV zX!$*q{1;*}ATND(?n|;SiD#F^{p77(RySq<&F-FM3f`6cH3KCCm$1A6*tQ!~sS z*}OCvd#?E1Cc}4JJ!iAH>dg4tU^K0i^6jo|8_RGV^kk{| zJ2_TwS;1{^SYyTXB=MFrW-?YTi@a!@H&5WQz_QmOyrnFrJgRKCZdvc{qoX>k$MwnX zoH14p+3)&83^zGm2Pm#BB6UD7zPzOE^+>#27J1{PYP(3BiZ^l6a@{;6Zqvodt#KpG z8K21W=xvvuN#wXJ?oMyt7k)qBo5nM+(EuC1Jm;&%S_&a)i@XT=Il6R(FFnyWg>mQ4 zY5h&JZ9H1mUOrCG7Nr45>W%j`h@C`y=~y674RFysKJ3*+m+% zM!AS4T%u;WtUrS74&f<19q3&n-gca~E4(}77wY(U_f78Fp||5u&`0g5p1A=1s`~1j zRFd&=S(F%g@*LyyX@OW2QNf->yY6&RnaqXz#7H%b?wsQl%-zJoJ+mK;z$h<9c^9$& zF1y$c*skI4HmkQKWy*UQ`EUs@=oje|^qxDsSQpps)Y7rcf=!?h07!LB;x1LlYan?U5GaT diff --git a/Classes/ar.lproj/AssistantView.strings b/Classes/ar.lproj/AssistantView.strings deleted file mode 100644 index 33607735eafc20b1c61443a9f2a5773c23a3271c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 722 zcmcJNK}*9x5QX1q4*3-!mttsIf?lL}NKLB|sfX4cyrnTnR1|6p`sdXzO%oM@!GjDl zEHiK4%$wbhcSl3{a&@XlrFy|!o#39XmFSY(N;x%8BeEOLuf!S?X^tiMLXl>~3U|e= zd$1YUL~(-;HPM*@9qMiuw{)p)_{`yOZbJ;3zFx!Bv)CpU+K~;dWN@(Gl#I27Wus?3 z?K`GSmoa0hxnSM`l?8~mZ>npZF_n~hu62jPg{I&Fm}kULOPGHuY(orS@1EvMeQf6z z*nzpK_7GXme7hj`|GOCPW_{?`L#|u?RDhT7o$IFAT>a8*h`;WkR3BQOZ5;2Fe*z4o BXygC@ diff --git a/Classes/ar.lproj/AssistantViewScreens.strings b/Classes/ar.lproj/AssistantViewScreens.strings deleted file mode 100644 index 2becf0ea13c6505bfd4ebfd14c897e62b49b40fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34156 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 diff --git a/Classes/ar.lproj/ChatConversationCreateView.strings b/Classes/ar.lproj/ChatConversationCreateView.strings deleted file mode 100644 index 1fbf2317c8040834346934ce4294b395e3305dc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1424 zcmbu9Pfx-?5XIkV4t$D+i%A0-V*EplheAawD1y;@DJ2#wYN;Ch@apRpF}4L;o5^mb zyR)<1-@e(;j|z66Lqi)rY|LpIj@hcXfrS=c5Yiqo za)r(_ROn|#Z0Gvp>S~v!G-O{i)Z|pQM5h<^d-P5Erd&x!hGIxx&XlLYkd_=sM5jXA zMDvzsb@BEOk~YRPm#v*37~je|W?c*wvko4}Y?n+231(RlMVW2>yT7QE(^yO0@BQ*r z>o`oPmXHJ%)K;B0FsF)Qa^Kp?iYUq<(nv#UR7NwG9?G5EU_C^&R;H!`YT}(lu5rQM zXaAhwk`+;u%TG<6$T`{kt}av6SzKXxs;C^be0mA^@;M|jR@LM3wV9^4q$7%QN$cec Do_5+^ diff --git a/Classes/ar.lproj/ChatConversationImdnView.strings b/Classes/ar.lproj/ChatConversationImdnView.strings deleted file mode 100644 index 6d3aee378ea52e26179b846d458bfe9ee6a2d793..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1804 zcmd6oPfx-?5XIkV5B(Gk7b3AJA_p~IphO`g{wMKh5fv3NSW&;c`fH&On#GF7#7w$v zcW1h9-n`jo)P>;AC9&c)~ z7O-+Z{X#YNzMDiIuzJgS2k(absaI3yI+4d-UB)YHe-cpuo5QosqxdZ(x#=!>kU1AFAJNV;>=t7i zt7?%p+S*VF1~!QC_(nkFI3m%8&7%mOF{)Yp69oMQ7_#&*Q}^)Zo6 zWu2^#=qQitQ1w*qHjiaBkT+#h|CIvL%p}|=wfD(1IwMBhhny2GwTyZoq?S*A#6f~# zR{v}i|4#w8uvDk^o4RBSut7=zHjn?OfD%2tt+FcAzDW)@{7qc`0E5gPu;n-3|27X> J|7T%v^a%&%2zKJY6teLDp3e6jUDyJtKV)4*tjM{ z2dA?`He~N+?>+aNd-LOaMLVh~(7q-b>Y5SgIlnEPsH>(vD`CtO^W+)NhdO7BoMogl zMeK{P_^LzJ&RCf&-_Uf{pKf;^vHFqqbF8~+Ev+8uM!O1i#T>G`ulKh*YWP;+-e*x? z%ag6;DOJ-lyJp*T%$~84R2X@Y5AgI0p1veH8`Hw4GV$+gjF*YtfZt40_4qgCZ7Gs} z!sChdz$XO%nClB2>stm7pG8?b@_hSSY%amc;xi)dnZs(r0m5sKmZ z9N&jza^Py_#G#N@+e00o^;50^s~tDDsT@btf&PXt@q4t=N3l=$K_Ty4Rzj-g07mp+ z(Ax|nd=}*yQLcZix?#%Ba(%=0+r;T2fe$fv#eE~8HrS5QbA7ahnyxZ9_$S8z zEj}HCw0EVy#co#a1t{H-Sd4~(xw7kRdwYgH)0QDCWx3j5*x8WUM5nd?xu-bkqo^YpSa3v@^V-m z6E)fL@^eGB#lmHq>|fxYH1;Xm%*uI-SZ`Q!m#vq#wSu*JIZxC;-|{@1=Ya+JA_rh! zmP7Ux(0&WzuUW);U>wwssMc$RvS6Eh-S0m~Ohcdt zOd1OtJm*z}55kU>GHlA*?T@&EgK;>~)X<*Y}>~xv9~aZkoZp%Vqguv3w%Q0Lr z?YIt7$7`n^{R}-n%xTRc7I&<^46{0h;j&7ls194F7kt4F?|HYd+x>I#*DT`wP_|C1 z!%ZK&ig7IOxc=hm)=*{hUbE1uTfcL;wY>;Jr)M136w@;s%uPE)_<`S7;P5v=oog1c zakl23nIEa1iC1>pLz{*GXv=U&~EVM3gH5$)F+pQ?YP4b5*S*Q6vq59l> z_fB2~s5Oh&h+o~LpTEY|Vz!?H`x&~&G8b$z-(-7$W-+`6+_m!*L0-16^PC9`}F*sqZZ;Tmk4 zP7qp@n*$-@@+ThmkHZ%DcX+o{(OQ32NOM55h|PiWSElv3BZ15He@iq}S*uL7l3r!MfE||3?wGV&A2w XyNZ78``jU2GW>r~vxtqhu48`#PR>C_ diff --git a/Classes/ar.lproj/ChatsListView.strings b/Classes/ar.lproj/ChatsListView.strings deleted file mode 100644 index 1d2ec408164729660ddb7469a56e66ab01ad464f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1854 zcmdUwPfx-?5XIkV4}6LS4@9IO8l#EvpcVyGB>s)u08wiy1QC@lul}|u2&p15!I;es zW#?@>@9oU&>q|@-CFN*afvV~-9BnY;I#oei>gs{fQj?W+)~l*B8X?kGO+Nd45IybV ztKkU-Z}7r@4ZMwTXMnH&mP3%Ytk&@rU0ct;`9p|UoLAvez?V3s#2lQ$WjJTqsC{N{{{Cu0`Oyh(-cp2T?8XMcpA zE!Z#W9P6u%7Nch$g_ya-_(d|4~)^l`_|Kk}EW6qN%lQG#<^BD8&C!CKqOlt!vwJzse8G`VRgV zbPJcRv#PZ*6`~N+s*t2}WXXx_3^L*vMgh~_3-+#=d}DMuds`z*I>DZyRdq~*D8#fH MxKxDgrlU8;8|O0>Bme*a diff --git a/Classes/ar.lproj/ContactDetailsView.strings b/Classes/ar.lproj/ContactDetailsView.strings deleted file mode 100644 index 863d6c8ef388a79e3687641799aea97e11c6844e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2874 zcmd6pOHbQC6ot=f7Wowxn+PjI`Yu-01;Hsv#G@^(h`LKsR04rWB|zZEw|usfK-?*| zNvNuk$B%n#&$;K^YybXLQdPb@ZEB#7&KaKGv#sc>nyTqSBgRl?TzSX!j(Uv47}-}> zeeUanxYjnYE|J0P33YvsW67O+M30I0KsOc6Q0tQ?`>dqI@w(P>y=7(g1m9Tm+_c!D zH^#;h(c}=d9#(1x#IdYC>W29YZ@fzJbRpJwU$T}v#X?gyo_yFga ziG>{3QMJlg&BcE)r-qX}L@Uk8!39-e@%uINX9Z+5xnt_z9rBV!6m_&U&&)WhSf_jXU4NM&$H*#@VOv8MY+13YGS-nIh zs{_uODTXdYQT>Wm?_$jFyEp341IEKHZfh&{Z%qWh+7VCV&7w|I0(}h@8N6X@}jIZ*L9<~9)eQMgqe^%*Qb|G90|F^Gl czW>J&J|4sTKtGwk#MzjyWEY~Slhgm0w@xplmjD0& diff --git a/Classes/ar.lproj/ContactsListView.strings b/Classes/ar.lproj/ContactsListView.strings deleted file mode 100644 index 9d6d02520de5f661bf478b6cf4dfc1f704b989aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2196 zcmchZ-EPxB5QWdxT;wUNA{1e8Lq(G+LR`3U(E+Jbvn!y#YJpd4?FCG#A+)BTWhRZ4q)k3VQCElttC*~@wF#aDR$JBkHANuAIIa?E(dI6jI z8rUol2`xt>P+~o6+o{ENVn^Nz6x+V-Z2+lQUl>L1E}~02-JiD9qy07#A)lH?-{46Gxdo5PK|B~rx9&>>xk91wU$D0y{}I~4P!1>%W{46 z8YcBXE9F}hfq%vu`IAXy9;-4bvgcs3$v#>giA-(2{SkZ_GLQK$@UehIna96D;ttl# BMWp}$ diff --git a/Classes/ar.lproj/CountryListView.strings b/Classes/ar.lproj/CountryListView.strings deleted file mode 100644 index 75501c4962302414398fca19a8f40cf863f45327..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 472 zcmaiwOAo<76ot=f7X1}XH>6P_Rw5Q&iMPZfVo4(uVWATKJibbmh>)9^&fK1J=A3)G zTFS|lt(tb4>qyxuvm8y-QkULBOa3`3(G5AD*`Jt^8ekf*$MhIu6CHq5ZT0qlPGy6N7+i7I^UFu+*;JHY*n353U$yv zeszvRAD___0z3!g4nSPq=I~5jWir0De-f@qwjo;wrD!i|`jPM(BKy$(=j4?>Me4lC Jn5HSl$?yEsLz(~p diff --git a/Classes/ar.lproj/DialerView.strings b/Classes/ar.lproj/DialerView.strings deleted file mode 100644 index 62fda9295e7e360bf60c06f0ffccfed294ad2816..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3682 zcmchaT~F#j5Qg8Yz2H|g8q;HA)KWl*@j}E8jLEq;`U6l%{6H~^iRaHBeRqeo0Zu8S zuGzGd*^k+0X1X(d`&Yph5=1z_5IsDzMcCuDf(vwUjsadV#u0A#G(?~BUH0~H#Wrx` zZ*a-pA+It1;*5QlZmeJD5D)Ab;K|K_X#_8Iy|XDiEpjghm8(8-Rcc_Y%l;NIE9 zT43~zcKH83a`M#=^3=4=A*my*(gJ!*w8=1L8<9pI0oi0uk&mlr&3M^Lw0;&XWj_5H ziI2u2k__83Bvzs&5iMa!>LotOkj{~$Y7)^BmZVWi;^WVsAsI3?iD(H+vQtXp<1Z)C zpNFC)EJ?GJ#K&JwQdj##w1g$`CsXko@8d5gX{bp=OIVU>sZV_T_5644Tt#Gg#X zKJoFFlQh*Nq9rWJALi5^D}u!}P&Stztwftu5~n3BkI#NZo~g~{M=Q~ih?cM$}CCsm*0cE79^KtWJNKQ&wy1OVy=ct6|!%e!eRqOVMPO6ng&_iA+lulP)zItUFsj zK)25?i$3dYTdPL=ny?kCeaGx~#bRGpVcRsZ$h5?3romc!pWckHM*1#)H_Wm7Z>PtEW5tCm}PqhnZX*g diff --git a/Classes/ar.lproj/DialerView~ipad.strings b/Classes/ar.lproj/DialerView~ipad.strings deleted file mode 100644 index 155fe8c535d56d6251824878ea5d125b8744b321..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8486 zcmds+ZByDn5Xbk`z2H+YIu0#klqV6U(-(*cD3w;LrF{p8Z51EtLtFdd+x|Dl$&g%3 z7Ms|1G6o3?m*4K*?*A^oex_)ZvXrJejj2!9IMVbIe+zU#ZF);1`c5~rMW6BCn2vD$ z1wQT55XZ>1|4ajXI>z4(-BAah4P0CEI}JL=CnLIYzjyAQkMK)Zlke+a?BZJ|xH5!o zn>Jyk@1isrF^l_5;r|k?L>hhJ{ueT8RjsH^m8PoNQZ1FiIiq;g6pnf5FI`_T|0lX| zy`t nbQnL4QkUu20wl7k|(X_WPKUFW!^q)rM+-I!%l4fZP)sV7S3?0UCJ*6er&a zigAIeo+$GbX`J;aVKIFiiOI$wk|O0iBz#3mqDP6BWGy5nMaug~@?sJ_O1vcHP!f}W zriK)$C??UP#7nXsN@DVFN+Pd^dX#ucDxoAM|E45s;+W`B;w3SaDR{=4{F{=L#Uy%^ zcu5MOF){f!C0Q4f=uzS&F_kGeCMN%;Bo#4<9wlCqee~2m6v4w9sOamDd_~$-vhFDH z@|f-y6q%B*Kk^kRi5?|hk{04}4Sn};WJI1RJm>gUrC zvOHDLB{jX7Mf#eQE(5x}T88edCO}ui%Hjw*o3&~hs|i-DJjZxl@o+2)#K$bLzBUi> zk}5-Q*AUS(Ex`kAye_Mz`<^|LQCYQy^JW4*se^xvBb?u>FPLAhFp}mocO6u9a`ctf z$)WdjjPo95=*Sain}sy$`Yz(FN@hj|krwC>YiEbvVAbwm{+{E#H>3R)Qqm+=TBd^s zk(THSow}q~I9J@ggIQ9Wg_JZ2g=uO|5NQP+@(zqYFc%%fbr);#SyG#Ylr#z57N(^e z)WeRGgZ&?lX^y_pYY(Z-LQ0y1){ds@ny5rokk+V-^B!V5@bKC!q`XP!zG!Nxi9F7M z^rOprjQMN!6OF>KS%`VjQ0*X zq7q!fD?M~-$K7SEdwgTFn8!ECDO0mg5LD;8=wdsd<$2+tix02^KU?Q*7EPckBC zMjc=-owzx~{q+tRKb^T$17)SyeopR9hV+dBlnjx zbX^B)zys9O*?DBMkoq8r9htCQzaDBu3yiO*f%6c&X7|RZ3!8KioXzTR>dPEPT zhhSyuns1lTW+CNGdM$7Epo8Z00JN+jJ6Qj5l)KdQ}z!BgU16l3#kX5wyK$@LqS<^3%%R{eGzqy^`as`Bihctc(B;|y diff --git a/Classes/ar.lproj/FirstLoginView.strings b/Classes/ar.lproj/FirstLoginView.strings deleted file mode 100644 index dec26bac5a9417da71ecbd6d3ae8dd08fbbed43f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7182 zcmds*UsKaS6vgk;KJY0z`cOr;id6v}A8cs_N3=G$*s*o zildWhnkF~Ro_p?|dp19ROvxjemV#8JD=q1>733A4JJOUTS(CP$$w2DT;ixOyoPWvH zmTa-LeSAkYx!UD3kaKy*wM`#8{GUF*kL7?X`y5^V!v~_i@oS5_mSo}gQyv*t%qITy9)8tXvRn;iWF~sobO^!gKSGtlTrJ5_%0KHkX(c|#4npAdTe>3S_Jf_%|D%!G4T>6fexz~tsi zgsVn{cU#U{r%w%HZ@2Sz8ETTUa z9-Us#$``ahUX@zJ|Dr}3wk+r;rAB#l>IQ1$9Kfm9>!{a{>eLmf;2JEt<|@C=oL^4x zuSJCNf4x~TZjLXZzTds}c6MW&bBNPihr=%3>M(=PT%_kT z!L}!J?4R>}mO!XQgjR124lVAfmEdJ%8LvE~%H3(wc41xlXxHpK$*DNy;f{ z5&w?XXrqtMOf5oVGheOAZw0oC)7^)=Ro@Ti=`l|e+M`8i2yeOqyM3S6p=v*Y{TQd? zRyfOa**LpeL}>L+#^;5t<@R_ZWNS~v^KU2`c-)*{055w><4m4oD*@1v|eDX~^_uD{2-aQ7~~%^CNe zc;|}QQQlEQ7Ow>@LYoCy#xc%Aj=~(`CA0H>hI_2RxO3S~2X=8KaqL>e|G~S4EDQFi o`i3joJa|v89ipe?)7LI|8@>UirS+Wpu9Rh(#jETGnMTMx*48QTV!8Tyo*mVB!>hG2nLb(Dh zgOMBB(w>%kp7Y%2Jmv47h{Po(mK5YlnsUpq}Od4Vn`MFLP7Gwlm+oR+U&Oc@Vfm7c>qIj<&GD4%f;_a6b=Y_19hvmynpLd(_K>5Vs|a1rjObnGE7nC=RJ>WulrYS^R;`cc z?d)Y%P93f^z|=-Ren`&87*j-0#%!bWd)4tcQ-cc@3>m=(3&v>A;NowI_h`>4jJlbgUHF$ReQeP6cGlEr}YxM?<=1{N3Vn$-7<6=BNeRmH%xp&{V3i1^cYVwJ9 quX%=;B1{Z1y9e{xbv(uMddmSyQUj43uHA+yU*yz>iz#9|?Dz*RlJlql diff --git a/Classes/ar.lproj/HistoryListView.strings b/Classes/ar.lproj/HistoryListView.strings deleted file mode 100644 index de3c0d52f1c5e05eace352756be88780084af89f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1822 zcmd5-T}uK%6g^M(!Cx`hgS5D6q#F`Ftgfc!M<4Xkn{FE!Vqq)fpRdl$h{9sxB1#Mn zckax+&OP_c*`MzWig2J%#{@%sawuH!m&GI6s9}zn;~i6aF6kd4$3^iH}WeZ2sZJ#Kk;4Tjm`w_KoY1x!MR;Im*j@hxg3TE~Bv19kQzo zRXGz+6!OxLj#Q0xEje*$jxg>xXf!VJgZ5b3dQjd6tMJ#ncdaH;Hp%Nh+wED{QV z+)7jK#g~D!jHTd9O)idrQiJGdPFcqN#SAZjfR`EpM_h8F!{6aMADEXBv8srjADWl3 zy}olKd#pWa+3!k;J+w@(ABE%TD=ndf8@T9Eb6oT}hl$>9I`RLJcv$vaYuau-pW>DE zyVT1T=PvG0O(3!9M0zBOQcTH-wYpo@Y94=?y6o4Y&pT_Sx6D?2zf-Ok^v9wO^~dLQC@0FkNvVCw%V;4XGQ&Z^$WE PzVSKqXf-Hs&+5T1wIdAR diff --git a/Classes/ar.lproj/ImageView.strings b/Classes/ar.lproj/ImageView.strings deleted file mode 100644 index fb1a6a8645044a1b9722bf8696e2cec315785f7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcma)%I}3tf6o#Ma4E_pn2`!VRhG^+B7*P;Jvr2;{6_`kWzIqF@r6CUI<6Pd$`5t$N zhya%<1qr3XWvukr5;LLVsyK7fWTbgQrr5ucIVrh#xezy&+NIhQt-?xOt!^enDOT06 zzG`bR4nk#8h=u!jZ`d&)s=gK~h-W>KIVC^Rgt+(0Tw~?3O*6!5&mvz}n4bKMfDu9Ya;LZ0bWS1>>5kUM8` zFDu8IyiU=fURiZR=lXBjiFF}yC)$bTf4lDc4LojPoHC6WbW2Y+d2i-D z9|jt*U}A_P0$d0aeSRgZFoAl^*K>HpDJwDuhtfDKhSu@-5`cG3zkEmN3bW z^g7n+w2x2jp6m_l6S$ei!x9J7Sao==F=M}EvPGu`|BD#)zkHRlDP?I(MFvt86Sj=v zyCN=Ymb7@f63sM-Z`;WeCk{39-01wh!3D9U5S-H<@)e=Sf-Nl`6cK!at%9c(uRe;klqx>JuUDru?Wtarkj-YYJK34{ zOTmQ=jVW?$apTe$a$ATHU`1?)gl`rGMDNU>jCD)cO*ND;j;7izf>ySrk4DW=5R= diff --git a/Classes/ar.lproj/SideMenuView~ipad.strings b/Classes/ar.lproj/SideMenuView~ipad.strings deleted file mode 100644 index edf1890ddb526e664d7766ca12b911a653314eb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 478 zcmbu5PYZ%T5XIkV4*MwL0ga9+v)`)p#q0j1x@rAzDgvhbOf%$|{T&d=~lQG*+8Stc5 zFIkV!frkO{VYw83ad@ diff --git a/Classes/cs.lproj/AboutView.strings b/Classes/cs.lproj/AboutView.strings deleted file mode 100644 index 7fa3d5394f9d57fe12060e54f67f6c92c408f4c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3986 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 diff --git a/Classes/cs.lproj/AssistantViewScreens.strings b/Classes/cs.lproj/AssistantViewScreens.strings deleted file mode 100644 index 068c8d0660bd9703a4300f2bcdef73441e4e30db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35000 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 diff --git a/Classes/cs.lproj/CallIncomingView.strings b/Classes/cs.lproj/CallIncomingView.strings deleted file mode 100644 index fa8f86e4484e38cc318d6effd94f52a53534ce68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4530 zcmd6r-%{E@6vhv?zCv#pFP&LRrxtWNooPU)rCO9uTMKt06rvPVBGA6Guh90l%fBJn zHd#P)GKS6OWV7En-}%moe|~StbJ>x!6s05Q(&tFa8~(QCi)q|3}}=FjDV zqiHOCsf*8ZJ{CXan0s~ZbY?3YaCKqscNvYJKf&hG%m=K0Ftg1~?(eXlEyg*?Bzo8O zY=s*319_I}oBimwZE-vtI&b2MYta86TRwy>zXY}cK5Gz#o{2~jbS3$LM_N4h6^}G! zIN60u1dAr}fr&(5qCa4)uWw^8zmWY9YCYo`Q;&#F-0{hCsRqhFlXgBMgg7} z@${7Cm#o>wuNl1C+N_jpzF z@|WDRA3Yiv3`sI#Q}_?bcbx+_a9iQG0;5IzHjBr=@1lqlp>R=@+rg%n}w@aR<9hUSm)AVt=c8;_AUme~Vm9+pu&*(vuoEU^~+AM69(e~cBy0=~| zI-@IK*_Bhybvfd9QQK@5>%y`cGhGzSr<>6l-k_E#Dp(bcF55X2IT+L(UDD z@G8Uro5dzP5T|L&eLhuZN<08AkkIvse!!{sN-qx{v?> diff --git a/Classes/cs.lproj/CallOutgoingView.strings b/Classes/cs.lproj/CallOutgoingView.strings deleted file mode 100644 index c5ee0df1fc9073f5368351401fd67c5e6c6e87a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5686 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 Q&{;^b)(}?K>F=5U52!spzW@LL diff --git a/Classes/cs.lproj/CallView~ipad.strings b/Classes/cs.lproj/CallView~ipad.strings deleted file mode 100644 index 5028d10aad0d55fb0f54e498451e7d1b4030831e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18918 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 diff --git a/Classes/cs.lproj/ChatConversationImdnView.strings b/Classes/cs.lproj/ChatConversationImdnView.strings deleted file mode 100644 index 21dbb2a165ab96548e2da4aaa23c31859dc91659..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1788 zcmd6nOHaZ;6on645`Tf4#wAHnd~7r>M2SL3e1Ignql(JgU_t%KF8mAX*J(>5R%kUQ zX3|n-?!9yFIcMhmEvr@KWNBYLHTA%-w9B)ibCp%pST19z0W&+yH+98mnaH*rwaIG} z@vJIq4lBKBg`$b>2ARjKc38h6x~zj~R7Dr6$!4z>?;FNZkdXshmhZTTd?F+((_Jog zujPzuDrc!Wuj{hvj*qGi8MeAGVyjNZ zS&$L(5f_n`k3B_rEcWsg_Rw{Cj}x&}hnXj$KXc>;v!RQsR30&B!Q?%z8N+Sf4Bt=R zvCz=E3iQ8Dj!g|GKxN@p-xYBYdGPqCBIV~JSmcGs)#?2|>wy9M_Q5y5bB7bMM$f05 zB%9|%r5XL>BGT$#0m%!R4^ieP>d*2L@*e7bK%d^tFyVK^?O>s!=P%D)4}Zi!h#}Ix zX7-%0`?c}mSWB4}UB4!B_-v2AIseJD@4!$A)i=Rw<9P?vzFR`q$3^@%?F*dTZEa`^ b-Yax)2jdnu{&1o9AH24f~LFz>#5&pr3t`{u{@qV8#1fy(NurAw|r&-iTVSXGrYR>Bo4;>lB< zw{*tUww7I;s>{AE79VxM+9@mj%tOgq_oh4RtbSnq4C|_PGpqZ$(gTIM;2yHOp?A|A z+h8m5+hwt{7Lu(j%3BR}w~$!RMZ7M{x(Ui_P`)HHlg|u~Pwr)PK$z$i+{GHG#=imH zQWk&5#Unj|n-K0JzMtzzpK@HdEPT1B=?i|_@EuT%6lcsoli!4Am+DdXA=yXN)gb;; z#)hzGytauFTPE8YWi^>`62Majn?Ubbjcx4B@Z`obSIKQ={8{)H-BQsBy%XvXHbeBW zuf3c?To%3x@#&Vo%la6#naUrb`v&*4$BYIdRIywI6>J8u@R;cp(xoL>Nq5X9hs(m3 zi-uL?=fVU$bDZCFr_i1vT-6=FG8Ex+1ojqHY})zRw=ATS_dqY`{S&?eRx9?t$0VsU z7aAMl#Eod)8Fl8tm|7(k?c$6WTTK2e_{`Jw&XPA)MxnP5(jnmtc-&6zuU`>5jk9KXvafGd;53E;BWAx;`?uJ7CNRw+4;ee*TFf{Al#+Ckaoy`ZLt zxth8x{)ZQgMc;!Z3Ez(&W09I(I&B zKaf+dvX-n!Nh_lYq8$6L%UJ@V1z9#QsXMNy4p>L&S=nVUY&{FO+bW}N+|-(H zqS-p%u2?^ush{nZzu$YzsqT zie~Nk-EM5Jo`f?e?RK=7iagN6=PNpvT5_9crxjT=?4<6v+9~dl9_UM~{U{HtA4d83 zvDa8jF^FQK8ds8k9!WubxGcxG%Wfm1gsT=#&_E09DjO)PB%v?hzvb>uT=L33zf+ki08bf> zpX-@wiM*VFo6=eXw~TH1hDU_{6M2J8!c`B4#D(%wkGN>)_-NxFgJ@(lX4nLOqX|un+n?(mwLb^4`#aO~O?Nd5t_k$I*_GydjChU&|*nTEXfbK7UQdXfWP!r;Zn- z^z}R!?7(!(k3x}`;LZvuu3uuTE%c}t${^q0MoZ^60X=?s!h|YU05z&wG3L3Wr>a(ba29_ z55v8CVt<>2s}9Cpu?4Wx8QdB2yc(a6Z5yVz*V`m)vAxz^cM_bv0Ya546vqr!(Hzk^ z6|wA!9@FsmS0lb{60Y{m!LI@NYqAxMs%_osy8^ymLK}IqfDgOh6Z>(y+az4IF`fF( z-8YK5BJw4R9(*eDGonAP4V#3kHm2hngIBvHn6CoMlyQKb8{oXNsK%4<=60TN%3FiRGr*L&T|5dbbPc7urE9B^V;<~U& zjHU}Ue^M8a6|`$yvYjRA=xBenuX*2eZ(&A!um eYvI<}waDHoeh+mvyC4sl?+I-Zt~Typzy1e{|9AQT diff --git a/Classes/cs.lproj/ContactDetailsView.strings b/Classes/cs.lproj/ContactDetailsView.strings deleted file mode 100644 index e0827c1d1c19f88199b4c1b010c50e531e02c193..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2902 zcmd6p%TB^T6o!Acyn-9z(xkf3sKmGs@q+P=M&b_8D00zgMPT8(`T#zHm#30F3RE1MYCIk=`$u30Av(HHwZ+b&FZV0sYEePWn_doPl%@!uPJ zF!AzZa!Is)kJKI(H*$2S9(@aKEQB!HEN0oy_vI^M`}}F?6%X1dr$Y2z_|E7#^}-%4 zz42ZTe66#B=UEg7qp3CD=fd+giibxs!@=_|{jsum>dzQxcn@yE7D-iIRFgRMc;cat zQos&gUK^J4yhUL=VCOdIu60h|(Kg@17;P4|SljlUY$W65XGxo&ax_n@9G&r12qCmt zB#mN{93G#3y*k~X{jTGZwv2+SdV+x^GH;-YfsSn!Ng4RAV=v#!DSwyAY9M|#msCXM zj;?49ifE$vVWrzFMq$BQ{qNAn(?W%+egyuqcIbDhzKbCiY!;)ikVFgPt!+)}pI6m# zCgMF##dZj*&0<`&EegvxPU>5#*%}CoWVmB)Tj9*MS=bQ%$CEnVz0yU`9nha~yKr=3 P7#YrMn?+JZ+wPv9IGn#1 diff --git a/Classes/cs.lproj/ContactsListView.strings b/Classes/cs.lproj/ContactsListView.strings deleted file mode 100644 index a90ed875b9a6e02412ff3dc5513a0dc11b288602..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2166 zcmc&#O;5r=5Pe+v6%9ucFh;)un!L=9yko_a^}!R9eWreiBZ%dt8h8qC(mJrM|x&Mz4$#~3N6W@H}E`Z=lMiX*NKt+DU4 zP>E$;NuBu#Z(xMyITfs411(h1y*|58geV(>U6kL7CV zm`ZArDVzBeh&tqLd{t7CMOr1ba7UINIoDZB>DdTz$Ul35dg<}$@lSsdV~?;og7LM} z*36#Z(?ub83lCL~^d23Tx7P^smzd~kWyo(i7vx)#u#Qr&=QK1#nDbLd`l*E=Rym#g1`h9kB&pT~Ax^?&NKju!4>3ZGqh^uaCX>slWb~sDDsHcka z^s~(CIu?GUJ~!OqoW6DOQWF2fbFVybJD0iZZzAyE;w3S-=I#<1B~-6RnJbLI0Cz4f z5{2$R#^QTF^5|zuZ_Js*Lwst}Be}B1WQ#O?jxP7G*F%)9$;)^RYv~N1bFo;nt|~>@ z{Tqp|%{-C_OJgKrv684tSd!&}oJ6QjkW|eisuGrDrI5tepRcY6k(oqQ!jh~OlKA?| zNbGM%RS8SdC?xUqmys-+bD}C?N&K5B|B3hYmyxWPNmL~)Nv$v^zWy?jRWpgIgeCEB zru>}v`pZZfW)f8iOLD?9waMOKdPfvZoR4C$o+@9p!czG&FfTv#iBnQ6RvuLeOR~@G z^w{rB&rf~gtQ3ot=c`s&sx4Br&?%s*qQP@g$^CPrHY?dB9xz+#yS>7aZL%wm+22a1 zS|OwKtMY`&H^%fF)*xe)R&7?=V_fjdBc`f+eZF9Y RwY{r2Ct-qD#``VJ^CxvADCYnG diff --git a/Classes/cs.lproj/DialerView~ipad.strings b/Classes/cs.lproj/DialerView~ipad.strings deleted file mode 100644 index d20c6122b122a7d6bc15c8d3bd0b3db8861fc972..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8526 zcmds+%~Bdc5XYM6%LTt{%wh=WJ3J-?V5D{H`0^n|RV-^n3NhGJbWA zkp^V9={2O(Eb=3b3z%mbpY!y5D(&-kPpDvSJ^G&F`SHxP=BwbzX*_in3-kkfu?;@q z>1-KAsAfIMoPh-v^tW|KIajs*Oity@BSHyj!hehPuUO&k4QKA55&4n&$RpCKQlu~R zEOmpv<&5T1ZRlmKZuxXIw0SBYsh2z=B~x15k`!UDOLTq@dnzBPnmi)qxv$GD)jFse z)Q+KAqyj3YBG)TQjY-K)sE-&NCJ=dRi1Q{oUG7;kVC2q~*Bb9O9`<35_?o0uV^Z3E zI>sKP39Y;jX$CWC-_4}Wb4#%vw?5v0{tm8q>Tq|#)bjqK0>TdcfW2=M@Uxz?EyHAy z^;XEEV>-qC0IRVT@~ufi>S;9#w|>+s&_3>E(JDySXc_kd__iM6HAzT$AEW2H-@RnW z7TH^f>nzAW2K=X3&-$cMcNiuKIsdq8bDN!K?>BZ32Zyl4HY$~e+Ic}ALXlvSkXqtt z^di&sn|sIweb}OkTI~g=ts5bWm?WeYNv;>wCj_>&P(}^g1u3rr4>i1wllaLjZ<3Jm zPIrR!_~-v+tN`v{_Fx6BdAq27VQWMsq}KR<-Vw}duYd17!Xdf>ey7twPT)OV4Uxj{ zVAM&5z1AFIWt|5R#kKYt@f40IlY}&)IK#G(x4OvT{I(`<&hn?CH^6cdLGD%3Sk;Iuy+&N$sIiv{2x3r0S1HAhDM)w#d2`On3 z=Y-Sk;p?a!RghM|%G7I-b3>DalsDP^y*`t+)y_ItxsNPiPslzl(^e>&O%hV(B;J|K zn%&O9&e?4T(eB}_qeLem3z#IN7I-SzO}{s?#lscyZ3%Ypk>9v?EJn_IOcGLSs9B`x EH%vne?*IS* diff --git a/Classes/cs.lproj/FirstLoginView.strings b/Classes/cs.lproj/FirstLoginView.strings deleted file mode 100644 index 8e3a3c900f1ade81436dae94ebe78557741d4763..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7270 zcmds*OHMV9wrO*c@4V;op7+boACvMx?#qXG3Z5YC8M2>~XfkyDt~A!nr+XJGf88@1ArybHq`6hjpwD_|@R5Wm&jc^`Y#@ z2MJi|5uc0PcjNks`*=FZv1Kt`$fJ8VtJLMoL|Z;{Rp0p<$)SAZ>;WEr#nVr2%}Lh# zU34mP%JqG$yVpMY#HGs0eekzjJi8#)xE}NB5XZbIX zhksZ2r}0pv>faPA>aQ;o-}pzp^pBF>uScXqkZ!uV=@5&gURGpXUQ-imV~T;j`k*#y zvO{gO@a>BF)~YUoa!~hi=CrP~a}rdGL{b0i@y~^epdK~&-6Zo(ced>!66NAPAvS@$ z;o5*$y(fn8nuFXATTHvv)uRE@UDngJ58OG;Y=S(LaN?8ekA{51&+piUu3yWD#R6Wh z%Buo7o}m&pL0O|e0~qP;5LU~=!n#1r9YQ>8VfFbMtEv)Eh0=A}L}%{pHA^1;;@n&%J{3@&%M70#kjIm93OyMs zHOs=ndRuPxQC-`_wZq)iX^^KymzX$pupP=ApHKNd&t%iG@U7o1CafxhcnX&>U+)5A zqHhLjqI?|LUfg$C3+c>6Z;xW0w`6OZoXsZ+EX0+f?-yG3lY1bbqvZGn_xXpx0*S2M0WxZS!e(Za~Q@aTN=N$VU!$I2_6qbdBVm$1dsFLKVOLn#% zd+lE$tQ(-+a}&1ZoOLCjV zIBb!R@lTXe8N5^X+OO$O?+n~0RC0h0nTM6r=q(Fh-YKWn%ZN_A(<-8%&!~e-Vxmt7 z1Jv`}5F=X_zLAOjDXyhQ#UR@c`rP(drrj>S%TWsiT@Xz3-J{;)9FNkN7P53zSQb`K z6!9bP`S~c!K1#EA-p|pNi)38YxUxbEt&+xWS^OV)w~!UVo>bppFI-06eL3H6wq5ch YeTNKxa1$;>jdU`3wk)g~&!26-0RJ0Tr~m)} diff --git a/Classes/cs.lproj/HistoryDetailsView.strings b/Classes/cs.lproj/HistoryDetailsView.strings deleted file mode 100644 index debe7ca37d80cd9decc123e2d5821c21168e3660..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5150 zcmd6rOH&#_6on64{z5iWF0C4pm{MbP1?61)}VqMVo&}wTizltYmuD6t#=_xD2 z6%O@94^q8woiuAqLR3(j)j#9MC;YDK>)`1wxbh(%z0k{E$jJrQ=683n+HF|Z^kiTW zp*16}c(WQk&r@sYO$#5+XJTO#EBC0z(Ffpe!(@M@+mWx2Azyb!UgSwX&|(MH?*exZ zzrVp+r1>H%H(1|8pPjieMXQb!YFl@jQvYx7WmV(wz-G9rat=a;n%y@!QtNsYiJ`u?-h4!X>N{+ujeIM~+a7zg7Pt{fztwN5}`vX&rVhF}tLJdJR9dvHD`OaOEfI z`eN%|J@TOaea?ocpHU)B*eq=M!S>u~_2K?wd_XohBD%-y0$+Rd%9pWhV6#}Z7|&Cy zZ`Xhg@l6fbENmK>$FFG`S!@qc;~x%_4R%qAugCPB@&5#D7Or|(?jE8+#W(L-d41qq p(i`5oZtBBkVbezvJ;Y-5(I%6WU?ocz@1vFXI*4&&vq(Z8e*u}wAISg! diff --git a/Classes/cs.lproj/SettingsView.strings b/Classes/cs.lproj/SettingsView.strings deleted file mode 100644 index 4a936400319e9c49ae5f4d97d8123cdfd7bee7af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 728 zcmbu6ON+ul5QNKX{=!~@M?nRz;$d|~0&6@(FW!9N#>nbo67dup$;nc~tt){+0f>=v*| z;?V++GP(P_CKBRek2cHAQ&&Ua$W>2XfnQI5>f`iB4NjlDwl_uQH;++c-gWBTQ{LPn mFYmo?J54<(aJVFk72e|1=ZMXF{~YEqUVYIqxqXzf7rX$cd2nC= diff --git a/Classes/cs.lproj/ShopView.strings b/Classes/cs.lproj/ShopView.strings deleted file mode 100644 index 9bd4733ca6bcb7324669b41fac4e39ec6267a704..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 466 zcma)&PY=OB6vXGepQ3S;l%t3^C=wEBCAhe0IjlAuEaAiZ^P`lAAd}s+Z)e`TdFPW+ zRb_cr0)w`S4 z-TOpvm#`D+eRT>=S7W8}sRrCrh4jmv%S>wc{=}&KHCL%{37Kf8BmZeJTZ-q^$$)P= tdFIULa-`U!ee7+do+1r@eW072?)xtvpX|)XXotW zZc&(rgUy5^Yc4XIftDe_XQAANNHs%W*<9zFe5IL@a^R$Rs#8>|mb#ND+DhrGQmI$U z2ejxgmcPxH2;nuI3x>M7;FPeW?l9I(`_huRDFJdxW(Z^!UM4D=klu0?W b|3VwmVu^Vw diff --git a/Classes/de.lproj/AboutView.strings b/Classes/de.lproj/AboutView.strings deleted file mode 100644 index f77f8d9ce4bacd31c23ddf5d18c992833e951d5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3918 zcmd6q-EI;=6vxjsPqE>$$x^8{g2szdup&g%mTDVsV5M~X0TmXoypiwZrH^6M- zg)vK^He|!>%@SX-9jR9lu6EpcTmXSANY zV|}>q7P?dPZ4w!@gjS`enpUwZ#SZImaSY}@KV_#Y1MoWF=`k~eMNe+cxNEr4QHbnc zT_9<46^%_e)p7ssm0K~IsisENaKJz%pYn%jzryzluk{n^Vi*$kZ)bJE% z#wL+5x|8ghMNnmG(Iq=M@TL(x2JM;ryaPWo%%P1@tVRq}jow+NXeMf|wAk}8d6ShV zw2u-vIh7N`$q;!L4JYst=foyqiX}c zQI&~mhD~A>7FzSGfZ?;I-dPE{Nbd=!(Qh7$>#42(d}n zFs@?Px?J4v-K0b2si!?W<&t?#ayssBn}m&v|9dyN`}yNjm!dmsc-|$Qyxqyk>$6TP zZh?vu=fWmo<6{2g)oN_FCMg;o{!TU|D{|l;kw1DTD^U^REZ8JA^-i{W4R;>w#2U&M zPC1uaTc#}%EBgzKFG|?rZgbEk#dT6XFMD2%IO}g<&6iiSUH*%{p5x9YVdE}-Ui|^{ C#Z>A5 diff --git a/Classes/de.lproj/AssistantLinkView.strings b/Classes/de.lproj/AssistantLinkView.strings deleted file mode 100644 index d0d2758faafff063884e653ea253b2ebaae1fe75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6696 zcmd^^+j3$>6o%Jzo`TBdD5zsbM=dXaBpP!xVG{L@QwR}AhLB7q&uZ1&%wt&U_jl9T zY<3SDDA8CJwP7FD?p}v~{cCme=O1hKi9NG|Rjp@ryWvx?Z#mZOmF?Ib_Zrsb*}8qh z-MTgTw4Gd+CtaR&ZDemJB*Xh2iezL#LZ8?>P%PTzmg` zt=o@UuQC53J{&RnJ@y6L_OSH8cDer94)OXiXJz71byo*gTaj;q9*O;@w#DqbX!DyL z*)~@P=yHO7Tm0_W_fEH6^paMGPOn9+|F;nIg6Lg>ozLt`zFTOV_|(fstl6~JQY9pob{ed6TVr5Wn#9bF%pv~VM9!p1ThJl6fDL+ z^LU_!bz;e#3=bt%4I zc?)K49cQQp?sF9IfU@ageD}^}SQlK0U%JQ-c+%uoNGow(o$jANC@7@Bi&CR8^q z{0h%m9M9&+Bm0ToUp;w`Z^ieQDQ<{K9 za~_Xte&tV6t1A;sF`c!Z3j(Kz&wSjXrVSbNik9^goA>Im1I@@Cn>fk=UYA{NX74|LIPkSsTv7E=$Nla_!`vD=@ z*TLod7Vq*yr@h>YBWCwJo{8&{Wc1&$;&>{RrNMsDOK?*IH%0r3J(-ORda@GBp+_rl zv2)T7t+q3N&aPV6qxsOj;Ij5-c|MtK*&b^VZheIpeJ5CVJ>hJQXu6%aqMZ?6^$)M9 zD(Os!Nh})W3L2?P9l@m2y5;#KTWQ3}9ar=GuRPuYr_;L;Rb;OC_?1jj_tX8tZ2t`D zK-F2@k`3xae_*Ya_D@Wr#LTmGOgQ6=HHYeVtl}5k-nXynb#%CKb1&|(IBx|GJz;Lm zuNpkrAN>=4ifgt??@aS+$k*VFBPykKp||kG0a4#)ZK%EL**Lj_PxLRsC4EAXH(Eq4 zjgy!}Y&~0Jwmpt*r-j#G|51ay*ymYS2EW>MKLOQc?92NH-~m?F-gb?(n7XcGcJI@6 R#Ux^OP0p;{e?Rk@{RM8l8NvVn diff --git a/Classes/de.lproj/AssistantView.strings b/Classes/de.lproj/AssistantView.strings deleted file mode 100644 index 35ec5f8294280747bb347ed64e06d97e8060c40e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 720 zcmcJN!AiqG6h+TEUs19wq*7dpi`KRhkh-ucbQf!=siII@(EsgchBjwwxxx&%aK*-q0aJ5{JNMQ~ z>_TkJsK)mhb4tV^%OY=ODQ|Su5x8$c^lIL)?zGQ5u9*XS{N`uK)?OQ)c>Ll`)VNS- z?mSaz?<@?Z`@EJ!ReEbH+qmWap{5&y}5j`fNh=wHO^CnxpZl6?-ke#fC*Tt$_icIr diff --git a/Classes/de.lproj/AssistantViewScreens.strings b/Classes/de.lproj/AssistantViewScreens.strings deleted file mode 100644 index 939955561bf2e8e15697a5b006b20f3d70363b04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35586 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

ieuWA+6XKN6e^an>> F{{=t(a3BBx diff --git a/Classes/de.lproj/AssistantViews.strings b/Classes/de.lproj/AssistantViews.strings deleted file mode 100644 index 135adbe94ad86a0eb68b0849e1bf4ca11ae6fe1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19138 zcmd^HTT>f16xMTog(r`hLW@)Eq@6x+3nd|GN=&9{rw;~Spf!fEO=$9a^D{DSzfZEz zN-J5bwRd5XVOSfjc6H8oE;{E(;=g|%h;PLs(GWXgB)VdXpN9AezYoQ+IKa;ZT8E-9 z-imWvZ_xfD?sml~e)_Wixj4bS5q@XlgE+*!6WkfyzUL5k#^OqxiA#L;(LTj>Ca%%O zH*w5!{Lb)wjB5jboyxvytY7fHzwpE_ z*pu{5Bo$|p&M^>}T9o!BrBm>G0qQQnEops#pG9aIY!qiRaP^PmSRvj4MnuAo$_?&~ zB(7(8ZY0tBfU&R9e}>Nnz7bhI-4Jhp)ob~kl437~?Ev2=Xjf12+bR0( zBggIHd5%u|$Xda=lmmHD@6-}nEP=+20kordJuSVYvfXo?m@x7EJb&}qp3xD%LYF^d2#q{m~ z{`hQ8BYmOLEYe8Jp}$kUFHC3FitE=p|GX2^F?S|^Tw*5A&jZx-`=C*)#AJ2)lgF!w zw!~tXJs{3G!;UdjWHQ0MuC#C^nI5$H3N4HdZsaV%7REU9vK^4s)_G)JkOjw#8WmG*O~i$jqh8ze2Fcou|*YeuwU=BZKY)~ zAuj!67#&)Muj*~gmoxY0nKD;mSl{Z&N*8nOm}RxaW5=@CQlDil%AEJans_NI03&?c z%5Zi6Gw8N(BMr8EX%-gZvPui9A_CzWDAzheIdofW=B#8hS(;_$>=3tpgtecvM~cND zA@2NR7(Z!`QY;1u@v}_)NS`;9eqtPzqZ>=MR}f38I%a=fi&Ax|qH7u{uKp=5_r1 z`NuGF%Z`%DQAi(C>~rrn8j11et_8JARGG6;0>>*`P4`=amfW&D`QL72mdZt5^HL#&xbDADLXZYmKip6rgT_8dY1W?d@ad#z>Aj1TA{q^9q*n8JQ&4 zTZWRBm`w9%_-#Z>vpW9$;~F`yisO)-`t?lnot8gQrfw9g+Saj_=Uay{d{&u5y@QTk zLr2^y0(X-!LqC-sT0Xpq1IZd(_nMzR8$>-pJLT2((UgYDdW{FDLm!TIS zEWSp)a4S}fFTT#WlYFZI^ zYiE|R9F}MGenwtCzE_w6>T0q!La%E@C|0#y6(%8@NztUV8tzL}D372meeoNv zzru@j9i8#@NY$BTs=Xmh{5GupNIfX{X)u0d8NS~@CPVlH)=X(#Jy^6l)k@!>P8m1g z?I-XPYdA&n64w!~15|5R9W>9Hla^EQ2Wp;w!o%qE5WA>-FRm8)MzFn#uSc8)gVHfh zaw{rgRpF{I*~nnh0nT@U3288x7%J`xlct5qAvCOhJs}NQOf(fSOkx#eo~~DC($%T6 z3A`RHjdsR5Hg|0B8|PwPXSj0ZpC?7RqB6kWJblI$Ce_7uRsz#`O)T zKXG)#*CSO&?%R11A5XUAeLdD;NnA1KI(qiMKN$aBhELa9P-C)dg?sbpsq7i##WrvS zukch#eh1g5@O1AS`TKhKY@nKR3F`j?6tS5Yjt9~Y>YYGpk3<*Jq{mRR<_~kuLwjVe zF`r!krB`xR+eeQ2*1^ix!-v%|Xc=a91}Pu$yYwJx@5WdtYGR(EGuM`7>NUmBHr^o9 oQhwqLIJ`iu=DCA_uScr4NIeM|!oZ)~=**#duKnX1Z;|Kof2c#sxc~qF diff --git a/Classes/de.lproj/AssistantView~ipad.strings b/Classes/de.lproj/AssistantView~ipad.strings deleted file mode 100644 index a7bd70f9dcf7ee1a10649c0a6b18b58644398f22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2514 zcmcJQL2JT55QX14zan__(9$SXC?2Z42tp5SFTEvFFuF!a_27RO+n1z?ELpo5c4f&D zW@l&i?U$MSoCDmWj}S8`#Q5e2G2zq02j-aKfIY_!87)t=$5?WFm7XaQq}-R%< z60WEw!W-=|a?aJ>SFW$=v7}{=m&We_kAEJ0o+jXXVY%y+tJg%)vjvPJQjxDn) zyqB63&syJx9zBFqi#fW#(@VHa%bVR;sf=1wMq({S#s?&Ha%1D~s5|?D;PH$uKTRZl$$$7BhIv z+-K$# zJ~X)qP5$p0>(6&7n4il*47I-Fn$`MZ{VTI-boI3SE;TvLPY4SW=9z2!lG(Lha?)Ys z%NukZ$PJ&hst1gEW__PKLlAdUFc)QCzKLR{Hm?(Aoy0h>MdaAgbYDv~>O^_mJC zndf&Vn_2~{?J|v<^=f-{?eD|F7ua|~wJ0#OK{n0Cyw+_It~&AHMc2JceIywem@I4V z`|{EFns$`AT58h3Cr{)U=W571?w7^G_l{CjQARmKu#dSEwOHeOQ3h-gIq+!B#dovR zNOiW4svJs{9aVTeWmg{KQ~dj_S;buk_I1}~p-T1Zs<=hX3ie8jqAb`Vo{j|5e+h;Ga%?XY{rb2tDHoJ{55v z!)c4K^~+<^FSB@avR~>wq`BZ`ap~G_f@@Dc@YSw_| diff --git a/Classes/de.lproj/CallOutgoingView.strings b/Classes/de.lproj/CallOutgoingView.strings deleted file mode 100644 index 88483e79f6804d1dbd069ffba4693c8ca3437d94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5786 zcmds*Z%-OQ5XR@VpMv<(75>zv!*^v* zi>sQ+qkv!9crdtYg0r^sV_klLgeN|hp1hYGIg4Quw@8}!)UPKFD9azX>kVho9mcP} zX*SH}<;!Nt>^#{($<9rN*3`MRgsJLv|Rsm~Q_ zreo-#ju(-LZ5FO)yZBDprGIRYbvt0NOHK69>O!n*vRSxe;NCyRv%p@7=BmS-d^Hb2;Na?`8BEDKPJtuDI?+VzyZ<@{HrGcj*J& bYWpKu_`zgApD{~579wcaEL_o;RNMaotU7zA diff --git a/Classes/de.lproj/CallView.strings b/Classes/de.lproj/CallView.strings deleted file mode 100644 index a965ca76ca3a9b32cb7e2942ccdcb71f73092e79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19110 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 diff --git a/Classes/de.lproj/CallView~ipad.strings b/Classes/de.lproj/CallView~ipad.strings deleted file mode 100644 index 3395287b735bb34f6f5ea7e1413f03417648f142..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19110 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 diff --git a/Classes/de.lproj/ChatConversationCreateView.strings b/Classes/de.lproj/ChatConversationCreateView.strings deleted file mode 100644 index 4274a47c24c2d5fdbb0ad49949accf10dbfab942..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1412 zcmd6nK~IA)7>3_7zk=+z1U+~$F&^BE3E9+4qX%z{fn&p|fST>M8}*^vH~X` zX}^Bo*Qam$`C(~aUD@g@mZy|r>zLZnja>EgqKxvW1tUj{d-5rPv5YiU#JUKJrH0In znTZPzLuM9w($uUE823#tGhQ+iD>NQ5)+L(=mw1`+@8i|gY2ob<&m%bs^-AmNLW9kU zE_<-(*IDfSDC15MrJS=vlzjJj&U4ywz7~Vp!SOlawcg5r-7~v zr!zgk=>U$S5~n(gww$KsY**;xo*YBH^UY7uF7XOX>?TUP>8xkYc;3JzL@^memgvjj zL{hR|YkI4nI*Ybk?jVvt!$&Q-_rKlw33npDZ@b*91dXg9a;0R?rVal<7FLcAe~?kJ*iH>DuHyHUTEwm_|5F(&4urOceu z`7dXtAMXk6C?!J$_0`mvFm%k7)Q!r@Ya*K%X~@VC<4v`Qwwu|JsSb4=GG0|>&Sa(^ zydm#q_q@t;X1mO{$S$iGWL0#lYo%GM&HaHm^(sz`W#P! zH?Lz})_@fr!PJ0XTQ6JiFSxqdE>hdoZpyRs-`b!_RVPFmtaSKGOeiv0)!(z-p#b>%^g02}i=Kb_tS2UDU7VbG}(!9f@a$ezg zMN~!xJabeF=hq|H#B$Nq@%umQ{}3Ms;9Jk!q(^t*e92Bqb6uzuVjh+8JMWi~#Z|;t z+;_YPL+4DG@@sJ}7&z$kyp4n7KjQ9VSh()&cV}G(OaBXkxE$l0dfU0)MWGUY@9Uns zNsL0SM`ipU*R$-_L+$ARzbjyW;)`K$%8xeodlawLogS4DwbPd|)X;MVf?CiAmV2TP Iy)RippYdW4{Qv*} diff --git a/Classes/de.lproj/ChatConversationInfoView.strings b/Classes/de.lproj/ChatConversationInfoView.strings deleted file mode 100644 index 21814eb946c72a1d9f72bf882d5ab5105602857f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2816 zcmd6pL2uJQ5QX14zryOVk_!k4gb)XkLKCQ5)1(D)bK8^{5<3kh6n;AbzFo&LF-w{) z3PM)wBs;tF=FOWK|M=e09qlSmM`I=W$Q9@bpBkV`aQNp>3@{EOs8T`kwW3tb5vDTHV!L_Y~@iXUOhY7mFRcU~BQ+WwEyr zlAWcOw?s12H@ug4TAaKt@&QP%LHeBNOiUFfpZGf(fwIss{NL}rt`y_nc#ka_ zgYB4pZ+cUo@6j!J@ad(S&5}1(Q6U|4fHorX_PU`BmxZr3d~2nijHOO};_fW;XZ92* zBHL(&6m$tQJt8|(_o=I^1`jR^UmmL3NSLX`3bLDOqRB{s{>`+lW<`(FE{S}7Cve5E z+6i11d-y56)%yO`pD*_9XLAk{mt=E$B^MX*Ihp3s-i{yPSDX&3KON8`#YHZs{j^v98Gg diff --git a/Classes/de.lproj/ChatConversationView.strings b/Classes/de.lproj/ChatConversationView.strings deleted file mode 100644 index 5a77de52ace2d553e65af74d424e729556c31662..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7534 zcmd6s-A>y;5QXQOr$9)(K{71?N>Np*B>WTs0YQPnofG~7A*3Mz%JcRadR4XkX2T|U zS+EzEfGnI~PrN&4&d!`!|NS#0Z)H@5r6hHU<$_~aKJhmqTe2iY=}4R7TpC>Y$n{vN z90$g-CKajiyBZchWQBVb?$movC>rb2+h4A6_k{aZte0f2XEk$sf0UUF@qI?dGL16Q zd%_;GY{_q)+#PF(=RBWRoA}U>{S>dpWybDLi#<-SEI9!KkWgiybIQsMx02ZmZ1egX`ApnvW(8KM9%p35bN;J=^bz?@kH`IAA`edD zd5m(2&@UY_Mv@CYi!tMaR+xS*=+5QhHsA9fYyP>*SXJ|B=db1zI8sE7&n_D&&TXJ{8LS# z7-Z8w8+2AX#C6)73uN`L&N}y5ghuzS{;A6^Vh~dI^I@VoI7}06!}ki9Y*8B`a{e_r zAjtrqMIKCELKB8_WrtO%8LlgXT(hom_#zHBgv95k@l0e~S(l zK8tWHo}!Zny?X|M{WW?iqQlsv zXG$`_XAz2ljnDt;j>^n*m>j12wwJ8278N>%y)|*W!7(;ClT0J(IrQ*uwuEJ|h^s((5`b7kn0> zTzEY_lh2!E*7I5TqW+YgY4GvwP~nwX*T`S-hV3CU*jCwtncHjn9{4 qbbS`S=q4FEsJ9?t-Cu_auB&$4)U+dNj{C;ZXAv6PyB+aE-QPbJFNTZ& diff --git a/Classes/de.lproj/ChatRoomView.strings b/Classes/de.lproj/ChatRoomView.strings deleted file mode 100644 index 52f33c128d2da1fb4f5d5a511416ac9da6c01f77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2830 zcmcIm+fKqj6r5+iqA~Hs1QZpGF(wAogm~e>OQLUFwNlW~di!^y&N=N;p}?|;X&TDz z={YkyvuFGLmBTvL;Gu#5b%eY;9PnPjHL57%1re_&^f|K6@j9Bk+8XJj0iW;rjQGGA z=Ng;|h8fBl-A&%CarTk(O-5I7G>qCy=GTZM$LBp1=BlzX%y37P1AH=bTr0;sZmjxb zI6#ke16(PefJn_sEY4$c-en?p(c>5`+`8crDikR&h!BpaqR=A!`fXs z|954Z6UQ0LzIkU3)0IbA6&GY5Ak=YOtMLspY@^w80j6hyOq zx`VAG!myVSSD#+6ZW9k&YhQok6RSfc27!(F-@cVhKk)FZ2qOKavF*{_40joE<(?`Z zl5b!2kH7b9oNaq_6^B&PS2s23rXJZn@t@Bs_rxjJY;`+);}&_Ga5vaRUJ{3bIJC5&3PcWs4@jE`0>MQ|BjEq|E@0Mi;;JNoqsodD zukG2L*|EPqJ?vu$ALqyrq2Taw#&3W-%rQZUHOC5ykyFMaEIAUrGsOZa&!yb)j%%(h zxRNypGsJqWIvH^Fk?TwDo@3hV8X4pvEAjY0!rs5K3>t(FRu>aFH&uGXabu;(Fvm0V zW(al78S!c*`txYVwUtkpC1PgLO;k*JGbnggY8G`9s_~OWfG4B0ODDQ0hf-?8lC0ckuT=Ri6`&W@2|=cj<gkPdg}Bub#t?CqaWcg@%*@cefMd*C4z|MVXq-J`YqP(D-Sst{6%1Uc zz`B_7Dj^4|X=jdsAdk4uv1KtunI*Q%UdDZqujSbWrvv6L=h{#m&G1}TVcv8dT)}7) z{M))kx@y73Y#ju7Y_<-5$4L(E`<%=@=&b&F$j+!nmfw-G_H+g-8J!~Y+|hY%f;`sc z#`5d&F0LKR@^90*i6_=cPS9Zy1C5~n@_8!Opki78y;5QWcmp2Ff1$@HSA5Fsu|LrWmxw-qRNPKZb#1Sv5Pc)mVLpMfg`{dS$7 z#%!@y2~xGn%JGh8=bSk^v#&1&ebTZ5eN|VH28=+P{Fd}n6_s?Wm~o>XZ#H-zsmW+r z%Z?iA@LdOs2US^Xu+p7)*w(pSOTIi{^^)}_))kc}R_i0r%S2M(d0i{Hc3GNu_(gQ* zc-YMtHhPNf9$EP3(`tFdgNZbYgImr;h~giZk5wf8bWQdOqZTE85iUF5`V=pXs~Rbd!@8YR%Tv*_^v9d|BAC zk(dq=@Z_uV#c`6w#R=LEsY4gcJ1DmPMiFl4r)XG`6k`Nj7#AR#AgHL(sJpgOL@F4l5qVypft69uo&FFe6KCKs}zL6pk0DGso{G6jN!) z$1?;fI(%-%I{I9tqh`)=*7Xr+ai0S`;!dqB8dhOZ)>xD?v(WXJ8Wa6o)=Q^~TV6Vo zz-M3ip`tOUWM;7F0)uBGXEdeLUA&=7Uj$xX@7~Y3ju-k}s!A$l`OeFXxPeKX+q_>h zccQUKiuh@@NFT7c))>!tB_q-L7hLw~2+!ZXR_$3q=>Apihhrz!aU4)qC)7uGVyW1 We*q@FazoKDDqHF+7j0+wc0tp-4xPw}xP^u|)A-~M~5TS$b3>?^oBFLkHfyJA10)(FE|qg~E7nPpa$s5{q&`Rb2%#s^r)(ixhX_J*8GvH5<*=O5@3|dg#I^>vPsno6u8+7c8Y(#@Q+S zIu5^%nxC7`g~QQ3OZw{gYhMv{;~!`1^Xu2&v-L&LyU;N1;gQWHd)!&qA=y=v{C@vJ zo-lLLc6?(Nc*hfOk$q+K-u)G>2%gKWKgyot|M}Cf?aTYPE@}Pr23_OI;b}&+Z|eiu ToEH-sdE|^ diff --git a/Classes/de.lproj/CountryListView.strings b/Classes/de.lproj/CountryListView.strings deleted file mode 100644 index 3091c70c60418a0109fd018de36c89cfc9db5e9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 502 zcmaiw%MQU{6ohBpr;sisSXhZzxHM6hN|XpY8leaYmGFKZOYpV%TN{@&|Lt^U&dhl} zER~d3PEGAJ*NHEu8q3yLu6ooKTJq0Um1@NO!k%J$Iba;vBWiV4Qv;YD@1drKH9%tn zGl1!;m9hJ9BNeoQQ&3-JbqphqD~tOlL@{$=XG#;@)J~ju)O@-)oDOIF?%~W!`quI0 zCp|3me0BCA0&NZRTmCh&H Y3?t3|2~kY6|2cWjW=4{u?wKD;FY$#+C;$Ke diff --git a/Classes/de.lproj/DialerView.strings b/Classes/de.lproj/DialerView.strings deleted file mode 100644 index 06dc438f52b14922bc899896122c12a0cc4f6b15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3764 zcmchaO;5r=5Qg7#e?{Zbg9=5&7!TlgG!oIc{YvylM|=v{eiNHV6G@5A4F)D=%C0=q(Fp0qGwzLl z5}&~Wqx8KWKaI<&@#~%x>Q^_pT14a;oO{GJAiaA&MaeUH8B@mQOwNeKHEUF*CB*NMZiCA1oRK+jJdcm4RC}l`W&Lpbhm!w)qV)M_wks?ISB&y< z{+ihQOG#?ZB&y<(_0VqG|Yg({iTQY@}KlUjbM8m1z@E1)W&#*LM$06SNt)QBI>EsKc z%i3J()sUJ}waPw|FO~W0ScbG|VzvE-IK=T-`;OWn^GLp8-WZK5M&p|M@jrIs4%z!` V#q6{7g|NF<7AWVsQ!1M-n+QdaP)tD$2$IXhLH|rx9JU} z^el=ajfEmc?tLwfH45k;%Q|jsJ~FR>UM) zi(isL>Y5n;8}tU$k&foRMAv^#CzZ$7u|RyqiS^h#!~sG~yCO}VzS1g%^cfZp zX%D-ymsnq$gmks_Ec}w1o#-Mh&;d^2A$`F4Kg7Ph!1tslPfJKivxvDSd%H-B^aXK* zNr!kZsV+pE)FvS%&7!(AvBpJOLRP#3<309ah;`*New@@MAtlYCW=pH1H>ruLnnTM_1s_c@Q5f z?j!7D)1fpKhD}1sJvkS@QF;DaV+ZTsfF-t(p+eLN1NxNk0Gou=5?p!xEp^CjRp%}u z!4)jhM5Yc^M|LA&7n{U9cFC?HH9Z2?uBao6RYA-9Aw(8$qn96#^EL@7^K3n==YN7w z$6nwXW*1iAtXD<;OIl-ELTZiw;VHwsmi$+rL^M!W@Kdi2;tHP(TktgQiL^%k<=UV7 z*qLX_BRN~&!5@NwgY zq`X=71xzp7wWHf0b@ttlci*G`{#}tL@>puJF0u4v!cmhy_&k!1Y{`N2WhPT;$$+a^ zPPqR&-}dB~qwnkoa>TbWpQ+r+Hs2jN+xc@Q{6Cf<-&}H)JYf&3zxnT&Uv0_8{i?sn zp`1#@O3yeqdG7w_Up&Us6|OCd)lwckx?iQi%0szk?Yo?BE3ERRm^9q)rt*O&gh!*r zdQ(uJyC@F9snHy9#6+(sHX4lxpGTZ$WaU*ZHhGKC*sPJ6F&Ix>jA~q^UJm8P-8*q- z^))XWluJ#huw-IVXr=~i#1l>q3X7&$PU+=&W|FL^O{fc zHwBS)O^T{X1ohsSJGbD!c2~!o`{Z9MaY`gKB9lVgS9lf4pZqo=R(}!0WX*YZgv%P=_c!HpAPZqEvst|wx~+=sU~aO*Iw0*S08)s32NKNHmUoEMr8y4cUY-7+fT{E z0eIVT!MP)Ea;Pl}3$?%ILou}R|1C!sEc?{Vm;3j*i*rO5ZMYm>$qO%gmW72QyKYhg zMOeNcZ`I{BOcjwuW%ifyp8m>Kt!42u@|K0OOeCt|tz}I2Hr$}9;l}ZLst*=T_l7i3 z8W9Yr9nhlpcf3llEJ7yxrx@uVu^@GV&HqvPm-o7vZ3F0X1Da>lPCSoAsP_jE!l zhdXa!b$$mw&g37MS!c$X^Pxsmzh2K2A@@162G`lztwm%S;G4-)&N1F4v9F;p6YXYM zSSbB9i@43l5TZ}J#4bjWeJG($Uo(9=V7rhy=im4{^YUm}gw}7D%*GrS&L^G2%bB>} z0%@v!=1QX~G=4{(xM=n6^~vHoeM9EDvhxnqLvxa7jGD z7FJ%XVxlJeyqx{rIXd~0eD1pm`iiOatH(^1g@v{H{oS`$j{|D`9nl%nm%0buVKQbb z!LkUg`6|?7cE6S~@FFI=;LVt-j5hDOBCZF_t1M2-!m5Joy5;tXzLxUmQ5Y*5Ra7pv(T@_$DpdMJ_z?OV^WvSkq(kHnu()Lz2*MLKLz4E)ZYz^)@%Ww$lp*(2V7 z>U;e@cl15=+2_nIVrmOnwiYZ4s~5`n@wJ#kG-&y}&rqFBGOp@e+29=IlErRW{2Y0= tkd?unR^NPgyo|gTO>Cd*!=~FE`=CQIeClRg4=oaVdA2O98V{Ln{{zoGO6&jt diff --git a/Classes/de.lproj/HistoryDetailsView.strings b/Classes/de.lproj/HistoryDetailsView.strings deleted file mode 100644 index 9aece229f7bb20674eba0f9276b88e07c00173f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5182 zcmds*ZByDn6ov0+enrNQ&cs?eXq`@H3Xxj0LSLpG@f$Buke74-EA{vGXLQ;=8%U64 zOGpCBbTUTFUUu&}d+ymA|NPF#GuahO9O+6;hFq4s=4VH~NJ$EEDRd{9QR9ds)|kQJ@+EM=x98cBI5G$FqdsW zU6d?)V57{p+=uW~(omZsHi`Q29jZum6hMDVy($il<#2(6#fZ2Z%-2F6rUUPc(t*xM z;5C7R-H^X>uqMA{vBe4}F3`P}DI%ddWyCmtSj9Z?5K*$A?lIiPa8F(?=PZ?znw zczN2>{DjJ>pqDEA+IYvM*J>a4hvpK#rs zI(d{j(w(2Hb+BbQB_Ep(xX#_7b3V{GFh#`GK-?}j9rEOzLj~U)z{3GMWW&f|*k1=7 zz9}LJ8|&*VbZ?FGmXoX>{s=RwVp=$(VyU@s+L$8Zvb4F=CSJd6!ZPudKoh12lS`!S zryqZ(FK~w%dwfMj*!05tyerRRH$`mEPOrDGFkxMVjo{3hofrRiU(w|MAj%m|(2Fh4 zIsNqi8ki!|sb-t{iWWVNdINLhGxsv@&qb|jOc5r>*i2vXv|VQpHz~tQo{q^zDWBv* LW5*P+Zguu=H@Fh@+?kL{h^@60 zl_6o~&V8OabLaidz!9o2(L)Fa3l0-!{3^JCg)WvzIbuYVoKo(<i^|{aZOyat}HS zkLzKc$Ba=t<=LRu!yzzcor0-{yFGDe6>wI~+@RPq#5egmg- z;v+259Q%q3?E(hvoiXULK8JM+PbHq0@%peV=rc~pPowLoTd}#)V-(L@BtK=o-02W6 zJYN^nKU;GH4c^ci#_T*b*!;VN^Dfi)PncY1JdhqIom9HxW*$U5FPmt@xZr<;E1VQC zDbv^o6Neptfk!+uvT#=S{cZPS-TQSt!t^IqrG86nRv_i@07Q|gN{Muz zn5)$mOvG%#rhNOOONcSxx9e^ IW-69}4|E_TJpcdz diff --git a/Classes/de.lproj/HistoryView.strings b/Classes/de.lproj/HistoryView.strings deleted file mode 100644 index b1ce4a4ea72e53b50385b3c052078db66a8286d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1988 zcmcgt%TB{E5S(+qBI>aRIP`Hr9B2zt1t=Hbo(5N>H3fx$#E)}Az^t95Rhl+9q{xaC zKX$ycv%CKO@^FkUe2k$H;)TProvLqr_PoQyF;OuLvT-f_jf z8FzGnaK?X`MaDigwyC*cZtPN?PBPqpwhPW9VofnAF#6ekmwtNu@8jrKK6DBM>xJU{ zvhZWcTa-cei0T%B6;TpA(hH3n!(9_AkD9&B#>$0LHR?7CL3a1qMYU^kk~~njC#%0` zHz;X0aMtc(BTszH@yW>hc%yF#o~eNNDN6p2wwsaJuW%LfI)(2_tPZdAITe=L-OpuM zQgP_4;)u*bDkj}Q?o(MeanIxG80NLtoKH3Gy87Bvk9GcwXniRKEr5tT|NQ|761qG*v$nH)R^;;t3DjE(OV)^rWs5=0FvbgZx1 z2F3|gjzR+NaRXeqR+5Qormh(O{5cQ*tYNCOJy_4B~kwUc6rI<7#LBWJyy z-Pu|D>odYW`iL<@34v#h7$=-PTp`6NULZLhQPFZtyFkW~YtI4;6g*eZ;{zAmTX3gr z5a#^L^nS(F`urt*?zLSKf8O|x&3>QxL|l)t*C|%7K}d*P5_!p7bCYjGtpDSem|8rM z|8{m0huvfcc9rI}#Hus9R*`V+W?FNpHIS@v#g&S@o#)iyISuA{-o$-iRX3yhv~<}@ zX8TSI+s^|GF~9-mi1U#1Xa_bHwe7p#aDDlvtf#;ov%KaF%JF8h3AtgeN&>IMRI1e; zZbP_QDNE>``>B>2-B$ruu@L4ddn047tXR8>RgC#3c>hZe?-9FT-NW{!QI=5NXC|t8 jZPZ(H!*9(T60U2$nYTJdD1X~qwqyUAqs4D~w=0itEcWf~ diff --git a/Classes/de.lproj/IncomingCallView~ipad.strings b/Classes/de.lproj/IncomingCallView~ipad.strings deleted file mode 100644 index b50cb2ccec507bcbcf7760fe8d3c1bd0d9254295..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3166 zcmc&$O;5r=5PfHUMZ=MUf@ldb9uPbbO+4wn6cn^ngZ1mrt8bTXfo;k%w1zZGwzJ!r zdGqFj-=7+e(SV0OA_REjSuFM&`m{Iij7O?&!2kthrV41_F(6WBKX- E2kdU!vj6}9 diff --git a/Classes/de.lproj/SettingsView.strings b/Classes/de.lproj/SettingsView.strings deleted file mode 100644 index fc08329239acb054bbe5c434f35f8dee42cd655c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 754 zcmbu6Piw+J6vXG8PZ2x{Rq$FoR1FfedPu$Wrtx1?wACo;XD@Ak*`zB-Fco?19^TIE zym|BU?Wn4+1om0|4z8cyqrZ!sBd8R*9NKFhf(nt}!2*gQU-bTEv><=#* zQ!e;~9~*9*{nH1#03Fiz)v}x>oxPqkgOl6`t6XMM2X-E!@~^o{R;6PnTB7f2j)%3* zC{Oi;>LgQjP`tIDi|2GZG0da+G2LMxPj8g3p4tiuya)Q!E3W6NaYyX#BV+t|&qGwu zOI0uaJfj$(?2${CEE9c?JDIb{)nlnQOcu)muQO&_;PPM`5Ae{w@|uUZH|KW}-I8di HbRI{)laqD# diff --git a/Classes/de.lproj/ShopView.strings b/Classes/de.lproj/ShopView.strings deleted file mode 100644 index f0903290a0a1bf107ece5f3e3b0d0c713518cc39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 486 zcma)&K}$kG6otR_`xOtDg1VH57HN`VWKeC|sijVeE*wGqz5R@+zTU(WLP{<(40q1C z_nhh7ir@|vWT5O2cilv=%`$NXoOMwiG2=ao69XI}s{8^L}E_t?c z@!$MdaO2OMf!J5kWBWa>N=}Cd=G5%Ayq~yrUfNt$Y3BPFqJEODO1Y(9Dw?|~XQqcG zd)-cWXR5B`H*@1(`5ZhajZx;dn3yuWr^|r5e>?|WM%|v7R*k0FhF_kKA?k9{wu7&0 OJ8LtY@uriMb;cJ#(M&%8 diff --git a/Classes/de.lproj/SideMenuView.strings b/Classes/de.lproj/SideMenuView.strings deleted file mode 100644 index e8c385f6ad53e468eddd9a75933ba94fda5e76ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 502 zcmbu5OACTP6ot>)Um-4qjG{#lL9a~@X{EHak}S%?68!bmXFgU2K@4-}&YgSDoO51J zLv7hIHPu;x?krP7wk1zT9eP)g`e9hF?zD@HEJqI-Hu9RU=(sp7HBNDV%cN33&jQ z_(zro|NZ05qV&c@U+zue;5X$P9P!ZH)r6R;!@ZcOls9!WDR)20O}P!qb3{XL1@cVF diff --git a/Classes/de.lproj/SideMenuView~ipad.strings b/Classes/de.lproj/SideMenuView~ipad.strings deleted file mode 100644 index d23f8ecb2f5e3fa5f27e69e431e32ebdd4c2805b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 502 zcmbu5OACTf5QWd$Um-4qj9LW|M3040)Fx=#LrlpBSzv#@`Yd%3LO~37?#!8UXXf0; z-B4S$OpSHYRvBh$z_GNJt2x+C9yLpS&b>ddvJ!*6+c&TPQ_ zH^#`O$9*6dy!8w}8!|SZ0`{H^nD2?tcSj0*52ZWt(!l2#vo7z}q&oGs$r~MUiBX6-yD2~%#2Xcm230t8*TI{ zWHwKWZP~}tk(c;%P_B!gq!u;{n-(#y4hRMy>)@`clgK^hT3ot* zmP!@;Yffm~L%hn}HEXImZ7$7@00rXgit?$c6sWVp?aI;0)Y{RQJf@B|t%s2Y6q} zHsduNE9yK^AF)~3*k?r}MsxSPJ!!}Rnim&hTsQHq5G(DUBRD7H-6eKfCATdWW1PmZ zD%U+~vW^-x9I5=??BB*R(zdbSusNBcl3=rytyJQ30D=&g8DhTm`GX z$<$Mmo$5KPo^v_J^T5<^i#`$7@MT5~by@KZD||GX9*|3=l%{D5o2C(8&8Co%_7Uy1 zX$5Yk3h3|m!+F*CmC?FE1P?P5^oVnSf+c#VBTvoln9NF>g-yY-(QU}6s#J-r`dO97 zGN*(b%Gx zEn-|+&G&tJ`TO0;qiaQ{+;BI{+ME5!-t6(7_Tvh@AXybQ3!66S-Dw`0tn7IBQ`?9t zDZ+nDJ?W`!mtK)n!DjKVp4y@gpYG>bJ6i6+_Op?ErG6Z`aE-A_*6pMePg~gXE@Jz? d?Pp`o0~cuL$ty;m|FExT6tr2`6r8u8{Q*5OUhV(@ diff --git a/Classes/es.lproj/AssistantLinkView.strings b/Classes/es.lproj/AssistantLinkView.strings deleted file mode 100644 index 2582a58ce572ab15b286dbf6558a99f8c5a0a235..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7218 zcmd^^%~Kmk5XJk8T>!{TJ(!Yy&Jx^y%<9wxJtGGxfO68B@>w_8x)0sgP>J!Vl^%HP$iS*lk)b(~Kfp0x2s=#2PO^ga8) zv!s1YyZmoBe^&6N2%hKkzMyxAbDOAl?RWlvWqYi^0pF_3UUUELTKzNO6#PiA*d!`3 zLaVK{8*{I5|2NTUw7X!>BjPxLH{aQh+}p(QaE?7Oi~k>cVko4uEM`%Gzn;an%bs=E zcFx}!Of0TGA!FrR(5;|Fi?wD0c06)gbHx2MIoO?JOU$AuTY`V1tL$nO%&sgx1F#y| zDQxef6w>9si{5K!qAf)fB^GO%6ETYlYZmk6b{SHi^6m+-YL9A9*J*gAT*r8!_71oN zjr|H8$Ya1d_GOf~%6*GH=_12`tVM;LEhy&fyh+Sq=AygAUFqhAP2hjo-omJ|eQ$r+ z;|va2i=vru_q*;(mnFwUIdR`qsrZ`Z68>oCYj7Rf4p#{@lv&5q)``ou9vo}X+QVMe zL5okZuEO^^-+jxeV~DCCX_6mXyc{x``l)rme5bDF(i8bJV$>t9*31lFyI#s})okkL zJ@!18cWPVXYSXjJr5Yo6RdVC^ne(mvoSO^T6`s%ktVL{3*mge2vr}ePohhFu_}0Kn zVWdh?UVfN*tu|kO`AFVRBk{e5^btmWU4-;LBaOJ`(N=4yVdfD{Dmtx-5Iu4gp2yqc z?B_XRW^UD&;e_c}?v;4Gd-Ic8CuYvI!hkNU*8UQ- zbTML0D#snLYBEaMexvW@9AYtxqKJ8PR38NIf`XRJ$Dz|e4}H=uyWCrfEW6^>e5j~z zcCv^?pJr6d;>(;Y?#s^7ps*i(l+W&4S@Kx-KeWi5(w=kI7lMkv%pHlUwQHfbp zm|41by^qP>zv<#Q0h6%9hu!>U=qy&uL$K0WL;LRamDA_JB<@*)MB-c6hm)$O2qyCy z8uBpg8vE>tdvJXd1a?{19b4!7K~8>5&U@oRjeGe0Dg4@_-=yX(ifZ6}sGN4-#4E@966~wGRm#hN hSnO$r#4Pgbrf1~f7N>mirbIUSPqFrZU*ZCL{sB=tYC`}3 diff --git a/Classes/es.lproj/AssistantView.strings b/Classes/es.lproj/AssistantView.strings deleted file mode 100644 index a62ff726165b72b068913ba5e12d20f1f9c26814..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 716 zcmcJML2JT55QX14zd~{hXbC-*9+H@rK#d2jhu)%wlD1Tc3ijvvN7OGH6Dvf62U&Jl zcHX>sZ)U%<^dLta1^Q8B4GoV4$2C8`)^M$~(C@Kt zg2ow23+EZCGrVRX{{DHd-1f;NPtSydI8skIVQTAzQ{I>Y9XcZI1VX6sP$AI$qtne&;bh zv5RNq(-!cKeZ2Y+&%7!ouiyE&_}vx6kHGH-JmxbawN`&{{VBTsDV{mQx-G18fz`PF zy8HYe@Y#9vcfpI(;t20QES4SRhmJbo*+lWSm?}DWWeTfxz}1Oj0i2x2GtDTr*DKQ~ zE55~g6If}=t<`BrU5<2Dz*EX~7F_5SC&jMQl6*;zUvb7udOTaw#AO|FArHKSQ`{(n zLCbulSaQ;yg$B{RWKJwnW_Wmr< zf@cHM0>P*m2WNPN`RBbyY{D}}Z)%I`{5$xz zSr^yl@JRUDOYZ&X*3b2t{T!Zy@oUxnWLy zp5<8diw0@*w;)EKeWHV2R}_ah@(n`6S0KgN3eA29oK7L-9q4Nt);$3XV@gs8i;_v$ zD=n9KwOX#npekF5J)Ck%tyQzMuke@`EcTNw9{h;@2s7L~Z+u--pn*ICmI@L}LhxUsKmBw%~1v%}-a@)T8ib72z!SxZ|{{ zKfSc4T~PWOux;SDj~q9&E(;>plal@&XM0jTaD^&+OX;`sHMPH4#IP4G7ymvK+pBv& z$tvK5t4gI#XhvgBW;hM4K8MBZLci6sti!jQK+nEb==mem$}dZgM|yJ|X*C0|AS_SDI%oxJzJ+x)%M+`-GkJC9G-KVx z5sjFlk-c)>$M7mEppZQPW`PH=hfs$t2#dmb$cYh^*+C0gF|lE6qo#ht-%Te+N}cg6 z&yUAa&9U%7Rz_ox;6C`oNYsY)f4!1r3tdU+{8=|2W>OQ>V5 z@-tp%4lQ+xW^(?0gURWavBFKeWs{(gdj_nh`g8aR;srC`cX&q|5pJ$ni}c%q$klJb zhuGBZqz#4(P2%ZO)B>y$sVQwdUMrqN9I+sBITFU&OYkL)wUk^{eQ;Oe>Nxa>8note zks0`eIFq&@a=CUF;wpDrrjY}_0Hxdu%iDLexDdt@3&M`BAtvdr%ze_IXUNOg+1f!) z)&_T0*v0ai*mAv%a(`DO)~i~bz>Ei@>pS>P?p!eVeBQV)l*lfWt2Mcxv8wlW3Ipz*~2Q!xmElU>z-Wu3HqjARap2WJP|v}3ohs6 zzUW56g%rZ#f?_6i9A;Bu$FY70w&V`|rpNZCJeq<}=pbTM?chuyracGk9cTi3>gUD# zh;|FYqCH&kruZ)cBkml&gH+yLN8MibI|Z!SPy2+LOzL5!Tl*&#ghj;!IM#7{uY=Ik zNl0J`7RJw9gSKjSkXpKc=a=z1^Q8_TsWaB3S8XoGXF@e}%V3*!FeZk)EE9<4%h z(pOu9{8$C#)c_VZ>hMdW(*vw0^M7TGhy^>;;bc}F+ggTSziG!o{ITEV6?%Gkk!k42 zD0JmLydZP_r%4uILF8&o7y;^VBCe*DMrzHWX3pu@4})#v@8q4vaFlzT@1o@{M(ntE&`0t=Y?z z$W#(fV9DH775}O%OwRk%op+iAUs;QXbYm3?o7dA(tbplKFjhPI#Jvb;(xo5B$~WsaYiV zI^$Cm^-sjb`mES$jI5tk&4H!~=;D^!Tj1{F<0z}LAS|2B&#IQN>JB8S`@x&QL^*ei zPKC&69yoE(4Drr7<@#rCPgf?t%6MgsCHc|-7KP9-(qBld0VH01Qi77(@B72Jj|Z6kWI=8maOAuOrOJsmP< z(4ThnhZlG!Pj{^(G17v_)d7ipW$b))Ep*8A zmYk%h*I`V#XVhuE2}f+{bLzFR@7;Iz*X*^7g(_ii-%{hRPCZx;r zp6Vm(*nO-4Igx~Gvi~V(S8mo{TEU(ZPu%UhJ+~7)j;Gixh+JnPzqt$P`YxxUTPXIb97`d*~WYDj1~DMIviufZq(sdRj!fZTO@zTb0v4GKtUI0WOgHvD?d&HS#R88#%M9)v)g`OKYD(aBz!=Lb|5)Za%gr{XMR+^eu4EPp3!az##6v;O5g)HMFb zC`E5LOe$F`aqfY=@Gdf>hmoz)&&LqokIH5h#;>othrOh^jxNhMD4cZJ&qL4|&w^VJ z)pdlfT;-d4(Us$)<5NHV^_O?KjDg}WPKzfHr(*rJAacF1P-vIr8o$a9Hk-;MqxH#7Q!Fu8z-(E8@5^ z;QcS%;unbe+L!0aY0la-J3+OLcQfbW$xQl(DP&zCFDwWvCeGvCo&M}06wg`42zL4t}QGGiyQI!+9hg1Q@NX%cV>4Gxi~dPXT?Oqz3gKL z9W%y>88@3Z242M75DOyLYY0BFD=nX2RguKDF{})H7ZPMg@x9yUSqHa1MK)tWxM<0$e)4Yd|Gx;Bo z{e*n5AabQYeD5=gTSRrguUDk9D6PW_&8i;2H^`2^U#%(%_0sR0XcXIfxxX&w;p&}! zIzVrb=QAF=9^o;5&qcamLFDR!-ys#;bkaaQX;V)TTa-#gWfIS!#1oq$>0Y|Q`DpH; zv#;OAqp@VRz=E)%ibY>Mc~fr+Ev7g}X9n3rWFAPaj3Sb>p*6GMPiQw5M6TWp--kS^ z;X^D+>+nLg)%y^?T9psEJ9@C;=F+|(?_rl<25~i}J%zY`dawpC#0IM=_ z-dWB$#aw+zZD9$k5_f+>oLKYp4|8qO=ef@PSGft0{mJ-dVN&tQeGaLSOr9r)c_%OT zsu>mJ{y=}1p6t;cy7kI9j5waJfIq}Uzez+so%a#TH>R|%w4r=kJ0(Gmm(M+|JG_3z zD{|I}@E%iE5&TTzxB+_4G40>2SyRORLHXM|GWzfED}S3y{|HI#<5>o3cN_7MGa{k& zTM$-+oDaT(WstY$#GDW-y8Z6~>taT66I@z$_VEqbcYGSyg1CR4a@lzep4Ib~Mejom zJawM#vwOtXX%E~-WyMTe;;b+`NAy=RNkNDsr~C4GalNg50;$9~@lUT?<)ti6$9kJe z%hFq!6VaPV={0_GzLr$Uv%(3|K|gYWzw|YHmDVkqE;lF2YeIv*Qr%+^E((w8b{x`u zF;4aDKyvgz{7Y$VLQ@%2$Wiqh{BE9OM;V{n(>En54JTa@vty1pv-!{wxT~{;avmIx>#w8CFy{K_8Bs;7z;C zpLwfT%!w4@{zU~}+4SzuHRXlsqSt!AT9vIY!)|Z)6yzuP*G0(sDRjP#c)*$0P~sLu zuEg)}B<*R@ffevBs#W|xLq2>N@yCM5<|pjmS_I|`j(eP z{R)~h?r?g;0d#u2soeTB#H~H{02+qEmJ<1>as2USPjWZg=EF!!u;xn%V2LqXl78nBLH$d#NIUpIpYyK29C| zOf&SV+CVjT5cSIiWX<~J5Ibj-{5&d|Q1TYU|91UiQCx>7cc*?ScWd>ehn(8b&Tq5% zs7v?>-Vyvem*lwS<(8u;&-v`gdud2jzRQ?nBtxz|<9b`V9KNv( zq$2^(1z7x$6Yh1mGgz!}#9v)=f5=(*{3$k9=K7fRj~2F-+5KJODR5qqQZ8RRixr~Y z+Vah;S75FC!{^O%aSi@IquWoQ+jmB%efgq2<;B*Juh{l^>H`(>WipGwrGhn6dF``{ zXI=d}KFb)2vZ|hs!KX9s5-4pJwkc`zo27r- z#iIMV1(rQ|%XdeP`Hl0~X0a_SoAENL8d)_9*x6_`?=hbg^XvkK#&Oy#T$ve-D6ft^ zTn=v788$&5fL`xyJh&dufz9II&q02Dx`hKhus6{r#lGlMYJY39aLs^@$L*bGGY;g( zKW0~32D#5(OZP$`PZJEVS=>MVEKOVQZDRFX-WUbfYEYpg6xH(NODYd(3!Cb#7g?6Z aKNKG(D1qMR>;Ho&b}*Av9&8rd;KOggaJDD_ diff --git a/Classes/es.lproj/CallOutgoingView.strings b/Classes/es.lproj/CallOutgoingView.strings deleted file mode 100644 index b10453591e221e0abbbda88b5c015b8d1ace1ce3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5686 zcmds*Z&TVp5XSelpMvqFGoflLw$tfMBNYGCf`YZxcc4+E)Ho_s{P1mmdvJou(QtM| z+hI5(x0mcbd;2_l`So*7UdV#vq$nL}$Q7TQyyH7BpJkKJcYZyUNcQE7@dv-ZWws$l zd?I6iCQar#e6OW1+srkY>D=9?D6yO~r)#dw+8)>X|K;#*RaUfFqw||mx?8y~{I@tEi#jS?P~b zI7IYo$eYG+LnOA2+C+&UqK-wa2uvNcCJO5#xW#KWaI#{7f56m8@FjiomuL&Gn z7QQ<{>+(6)K>_YtBkq!^hBn+-NJQ_l@QvQ54*o9hB~U&ZRzwyDgzW!M#C~Md;R60n zR)EXGH}-Llrscp{b3qvmcnuOe@Rf363;i6hkX1;R#s9|z>#|CxqMX=c++`ot5;(Xl ze0RjGxnPYry3~dC6fvXK`AMBY1r)A`|G?D6v220F{oUZQ@I}GxmA@*S8@1E^vLkz@ zd+ZRaRn02>=N{TtWk*-|t36o=$8QfKnv6l2`vu_8WL)GP`zZ|47J2kpwKwU_NGtWp zA*>U^xFO!u8MpE61K#a1D$f2GXiuEgsaizbxaUB~-96XY1xsLXgU5qz!FKPK8(bE% z*$q#7u4t087)+|N!dOB*Y-L$wTo%5_Jdbll&FE@Gef7A?I&n4WDObUyXn0i5bJaxk zxGa2;u|DbPLaT0?+R0MZE$*aUc8+{%mp$OUNwslI=9MY?C})6z?hh+C$60uAvUFLv zbkp_R$K`?PPl|0AO3w&OraS1ui-(D9x-5LNIcrrM@5{3C+?ErxBY+9F7|Uck*&n$q zd=VJ;XxdIO-7UKn$g=-K^)N=Kv?nUctwErX>Wo|#|AHRYIXOpk58tNXwU|?q#$RAf zK&^+Vw+1c?-+d5LVfwzL2Ls(c0jqWC1a^t<5Peg{Z_%0D@BdsD&x6%`vf1ZNik^BR x^A6~g>uw@Wm&M~}GhNd@{hd|C>6H2w{d#3`-DfPLqB{u;To%35$!W5)mh diff --git a/Classes/es.lproj/CallView.strings b/Classes/es.lproj/CallView.strings deleted file mode 100644 index 9d9fdd31e04e3d410c205d7c6d4f7bfe9505ecfe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19034 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 Aa{vGU diff --git a/Classes/es.lproj/CallView~ipad.strings b/Classes/es.lproj/CallView~ipad.strings deleted file mode 100644 index 088cb5445307929805a6510f796e71eabab47c12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19034 zcmd5^TUQfF5bkGxMUGFqd(OCA6ma+KLj(~-1c?Fhjf8}RaFZkm{9FIX?tWi44NOms zJw=>>!*K#hB~xGBtGeQU|2{K+nm{=;w@Eaxhb6HG57JDW!19O3E&zzaBfn+2Ky_`<1Zcfa#<&`oDIi(EAYq`>z zi^`)5t4v^*16d)4oA@DC2ZMy(0jZSWmie(BO_?MYAFC+SSY2L%j67$Y{#`PGsz7(L4 zC?pi=JI45*EKkkH1>zK5F)rV;kwch309u4qK)dk8Gv#5})O(PH)o^g@m|ic>f+gp$7f+ z@z*JS^W5#-{Jn2^?&7s`+jrdOwV02`KK$3-lbO{U|8h-ELCEqEq7=QgfQ zbNKu=?c8(1W|bmAN{#EF9Gok(DqTaQ^z0CE2p(9QD`wU&L4pvMq_?@ z`RIqy>V3(4L+6>G9%E$h!Jl_C$g>n$Zu4RCc*u9-ZaUIyj{P!C|^ zjACoZ0BNmD6k6V%z1qO^bBkX_w&?C3I#9Y=1K|X^|+j$kW`EYx6!&#@~X@4(~Jo-R>nk*B#SSLeR+&a?7W#Pw5P z9RM?9+XbvWjaZ`4B6eJqi}W)h2=n+5k%}?horuIM^!Gr%4(!V|#e-{Gvf}bt{QyQoeS^5 zk~`)%JpcO*g1qRyi5`V>#g0AGy9WO7bW@_xYIPl-&$zp1Pn#WIHAEIh;eA_eo#NGB zq3hS?bxDY`r+ofiTK)P@@~4#9sa>r8+C+r<1g$M2MkUbScl@L+RicnAHGA)(6T``3 z5AC)M?fcnBzI`4b?y&A)jr|4Pg+D*@F?kcV9#ZJ-^FB8*eNKkF_$-0hb_=Mx_B?tD zJ*MmWYSGoofUsT-1E~o?++4%Rx)+O z6V~`{x)#pSi{z-uWKwME(m-TjHMVc__Bp0*K4;v?B1@r{#R#$}I&}#+#bW|5t!Flx zBnmCw`@EEknwx<xLKoab|UuQCzM4^?((>f*mf;`0?(>h{af(-r@Hj%agi9(CH+RENf>wO)Pr|&&r z<$2Lt)GnMWe#mTaNfcV_o|`Jp4r05j+ydcTaSi<&b-tb1Ym_Loh^yFLjqNtHpi4%z zCB!sF`jw0?OB7n9#daIQYBZd>JbYuPg?Pn@!w@k%!EY^eC28-KD5T2kDQ)b;=4Px? zIE|P`Z_YjJ71(o#I!mF|t>dDa{O!2Ui&Jf6BH|qaH|L`Vm_?-VN)%eW%kUDO=bvL9 z#)&uYP&WGFdkyrz&}^p{@geCO^YkY!)6fhbORC;`ejYRe?mIMV#iQ+{orLo zi2EBd8gWk{TZg!_6k6QXcgV2}_6-)znZU8FfZqUj7|A3GE$%8ZnAh{ePBOR`%o?y` zt6_dm-NoIz{S=8pD~G33+32EDV|1W|3lh83xGgi*nsoFGntp^cPqR`4f=BnI`5j*p~f-ms& xV+}EaXZ)|=59wSXQD~7@aptZ07W*|emAK8uEhnDzAL2YVjas76qL#nK{y#0mOSb?3 diff --git a/Classes/es.lproj/ChatConversationCreateView.strings b/Classes/es.lproj/ChatConversationCreateView.strings deleted file mode 100644 index a30f760fd73e3d00321aa16d707b511d07558a38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1446 zcmd6nO;5r=5Qg7#e?`NQ1U+~$F&>JBqyaT(^bY;dB7&Bx!GG%?QJ>vb2&EV*i7^{C zWp{Sw-DhU@^TW};nsRlbu?CtkTpjak=vuzodRE4mYQoA9>jMRh$XX^ED&bs$#auo1 zhU|_fhwmzjy{!~C7EwBdo)o37LUfc>Pp$6q-3%Rv@e|D(d`Eiy1<3(QjFyl*nOrOh z=2_XqtgB1QtfL2*9l*3-Vpe5Qm)WW&!^hJt`HYy2aN>y)} mwPjn+7=Th!%LuAVQ8Jm~8H diff --git a/Classes/es.lproj/ChatConversationImdnView.strings b/Classes/es.lproj/ChatConversationImdnView.strings deleted file mode 100644 index b8fa0a1325680530ccb3a315b2c1f3993f48d3a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1816 zcmd6o$xZ@M5Jm60zoNsEq)|{e8W%D|A;bwJaY-X;Gl;h6Ie?dJxfsn`0u1uw& zd9SM8ty{Mq-(Qw?l$EWL25RdCvvtgq(T%DqY9b#S>4}vi*4ye}-O$sMD~~u2k9XDC zbJ-cpG89AaejIthZjb#A-c^-nUNzmSA&0ZNeBNVcaYPnu7VjpH+*U|3vr|qub*v9? z2X$E3y1J_xlK%ljEvoD4HAa-C`clZ6AL8^w=BB&{zsGU5RgBbiiaF}TiK8YF*KtI` zh{+>8BXc~q?x-?QLD1<0^Jpusnnb=4v&fVmuO@1$lX)DT;pv$!Okg+{TBNI0T(neB z9u^A3IOK4Nj3N>)OddJ#M5yKpSdU_2%y?Smr0;Kk0v&dV`x{%J-Pt!ls{r&V2eA&7`eW8Zgzlr~#9Q zNdt{vXC|7j(2uD;;UUQR|8&rUr3wnzXGR@5<;F;D?(OJ)GP#_=?8A|6Wag) diff --git a/Classes/es.lproj/ChatConversationInfoView.strings b/Classes/es.lproj/ChatConversationInfoView.strings deleted file mode 100644 index 87be8225041abad419a7dc75f96174cd15fe2d85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2840 zcmd6pUr!TJ5XH}PKgEVel0}S(#uy)H5n4l*Dg}An)6x|_siBcledCDqmUBy|YN@X8$~h*=`0|GDsd^lJXE{_? zL*@;!_^Bhtx{QqGf2cd_ud|uQjDBIfhjmN)bE{q5=(%EDagUkZ*5}!bZLrmN4q5E1 zg=A~)We=~{`VDT2qsDPx+#PWKV8#KlSwsb*D$zGI0AsF?us6|I32$Tm=6Sq}jhA{2 zJ2C8MT=#UMUnMp|7FF3u9HK6a^zo1qVTuAg-pBAWb$>E_4DevQ_3=?Cs$d|3l>sA> zE*YJmvFV0b3FBF)Vws1?p*8g$g32&W*3!!VsF9}5sF+wE;4~&<@4@JGRMbewqN*yY z)yU)GKBW>(0Vk-v&D~d)X(2-$_t!`hn=w4RLbEYhtHVo~ja7@PY#74SskZ^DzQdKy z5wBAvs|;mm>Kg1;aUIt;M~(&GagX$lia+BTG1_$ZL;A-t-Jrc8PQr*572>`84UAE>Ht3``gE@nMAq6WgdhfqYfdqK!z2S481 zLg~x?9@-z2v2Q-NH!yKQZU<=G_63PvlyV!gc&fQ=yUv=^0ehTN-c0R&Z+3UCLlNH2 Qb;u%=>#%>@)%w2v4`x%c=Kufz diff --git a/Classes/es.lproj/ChatConversationView.strings b/Classes/es.lproj/ChatConversationView.strings deleted file mode 100644 index 0fe13d54ff0c60eafafbe2a232526d4289d70d11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7610 zcmd6s+fExX5QgWPr-+bxgS2T0r=qG-AsmW0ieu?rI5rTH5E4px+df0@+kWH4*{o}l zbmHCdFFG`VV0<;e%0m*kY| z+*p?7M9TbM8H*pX!MhXQRN5mf8tdz)|J>&774J{6UX!J^)%?@@2|O9&_j$=@nq|B_ z!U7{Ucw7MyJP|>@zkyYQn$t zxHXAK9t{t3QimbBrdkHS?)jRNDJNh0Bs5>0yv)f3+0zP? z@lMOG97;qj+vC0tLN@ER+W0I&@ksnSB^O#Nb;afkDrX}>rpSy{Qf!s289Oqd-(!G zVm?`R_$>Ot;)YdP!?U=yslQd@ulB>?ubXA&)gIk_t*pR|O>j8CI>LTN-aBacEJD$+ zzGP*E+tY0IwKe^Xd;-@pXy)L*_7O$;jwe;vkT+NNxYwwF(?ncC!9?ho7PTVH0-r@5 zJmc+or~9l|2rJ^FS0(zut=W)a$}z-KyopT)4V zK3Jc~raQNYRcqkAiGK>E;PTyP5gK`zHg(w^QU%j0B&&kkf}yvd@RiSq3OM^u{(Tmq zD2z(sm8e~3Mh9s>(Dm1y{l3`J?Dtvt*1lF))vvlciZy_peYmT9i8)mhX*J5GiFVn0 z9g*ufb1zWm_nj5*vk1-jB2~D-6)T~A{u+%EO0-y3jd%$EPr&1VjuFub9;gUu4)`oW z@kso#{1~-H3}?!bQB;v^fk`CSWN_9&#%B?V%u6w)Q=@jT5+`O&N9crga9H54RR;&3 zMJNuP{$y20gZ0UTlUdiwDGK2c3`(YF6j(Dm4iY|#P$Uw+`d=$HAcoOT_#1pLnzjzaS(kt50pCZ($g(YHdn%%?9HTMnp;GPZF=^d`c@R;C6JN&(rehYFy>_>b?tfP(g z{=+iCXA#PT*SeST#g?vqJ_}#|``=5AKIbj^U7c*-u&auwo@Lmdj@oDOT63O0L$H3K)@4NBOz2`&1&uIwGt@h<5}?su0yi_lzWQ@?)!ctww9 diff --git a/Classes/es.lproj/ChatsListView.strings b/Classes/es.lproj/ChatsListView.strings deleted file mode 100644 index aa6e38c83a809c4cc6425e969249e6d030126e0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1896 zcmdUwTTjA35QWb(zoOxhq^KC9iSdPthNwuyOW>_Q(V7YYMCEt;u72ABm8J;9h%uYp zv^%rA=bW9H{diAlOBq=z$d{ub&C(G)t!tH)*GNyap1RB&GViEGa|2ILO?j;I@EGe1 zTN8^v+o2fzxmev`rH?J#Ru(;%Xs@EB@Mab54r(ogNX#5S3x}3Wup?751?}Z}fV`Hb5r_yBEw1m#{xqjdixF zsxyw&(N2tgl1Dbs*Pw_P);O^Xl0pngYl6hwUv?$Nn~s1>^z6ZYTepm!`e-p90ZAU4 zi-4c$Q6VN?xR*A}hQ!Hel1EW~Ey|3B_H=?GWgRnC$;`MeNgnI!QUQ@mip5k>gXec6qXs9RZe9%Y3N3$2M#O;0m>d<})(vVoF%^R?GHLb1Tt76{F H=vDayoeL^H diff --git a/Classes/es.lproj/ContactDetailsView.strings b/Classes/es.lproj/ContactDetailsView.strings deleted file mode 100644 index 8c5f8daa4f98eb59d3f3567e92caef585b08b173..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2958 zcmdUx%TD7!5Jm4gUtzI~WLV4yh!6`xW*~_7LqzPH3`znakwSpL-|`zQfYa?b57QId zau{jUa?5s?tLxsnRqc=Wf>ul0y&fO(q8xfmyq^ z`3iG#O}6G|>Hv!y`8w7Ma~Ey=jG=T{EVEx2%OqoAG-h{CEuxu@q=9BklmWY$n7cf8 z)zlkv96=9O)3B3I$CVLF21gP@57dlLH9Rw)ssw`Yi%8uEuokz-s`oNp`;4@DPtwL7 z{#usZ3U^5ukI4Qb=vumB9%`58S&S|VmkM0_Ch0t1Cezh!O}|0q>j$~=b;(mThR|h^ zHH+EmJ0I?81)Cn;Va!)@O*>Y@4L!lZ8nqbdB2u!;A}a^eO7?V)`b^E6$i7zx(|jcH zaE8)-`cIR2S9hp>R_!%?waCN6zeS%;4Rw0{3HSr;G4JbEt1%W_7I|36riR6KxH~jx zdRy7%{Do8VF^1M&u#V0=)K1mgv-QQu0rSZ%;SNzk9}gZj-bg|t>_Bals( zz0B^OIXiQfug`*P%7!>{B!RdxqBye8SCm_6$f1lSqzt6b$R6Xac$AK@^ra;}>wGNU zRJedaBQz_~w3GqE$0RvmuJ+!5X6E+GLf@4b4E! zs=qz2VDTs=vUivIf%TIF7ikuGGi#13&XDSbX4mSY;@I3zxPXlsTzK&CE?3lBatSMz zzerWmEb_7uVbLhb;`v-JEf!V732_za?>P)6^+45Nz^(R8E~s`mD6fuaWV(#DX<2o4 zP}BkCWdS=Uu(Ay=FD6!cawp9MJ82eWkXpQRrL~Ahj5{crOWgrsq#r|rPkrhe)$7TJ z!5_`*%c7BESE)viY3u9KGCpa>Mf$B-sebBPWOGw}E@$HXe{WiiQv*KrK3guH5q(Yg z_3)#F$02tZkG?dEywP_Eb3=;Ns2h6g$-w-4gi_~!MTt1;QV0CcxKHqrX0c2@z5(@_ BZ36%R diff --git a/Classes/es.lproj/CountryListView.strings b/Classes/es.lproj/CountryListView.strings deleted file mode 100644 index 81c3daff6f40f8f67f086864f65b46c03db7f0fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 490 zcmaix%MQUn7=_QePtkNK!NN+!g6g7f6_I_E{`Ra1E(2_exHBJ-OXXdPCB##;o^_a5;!&QK?&wi+xQ3ZI! zC_|LKTDiK1Hc?S4G)47PQQIgAP+6=$Rg`iHCwF>rxV#YXzQ&Fh~0U diff --git a/Classes/es.lproj/DialerView.strings b/Classes/es.lproj/DialerView.strings deleted file mode 100644 index f6e5cfefb3e559293f295b46ccdb75a8a0b575a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3736 zcmcha%T5A85Jm5ruOKX0s4$=y<3dm(iHQsK1CSwz0%Ld>{anAnoeT9=*R-SH%+O++ z&hV&t+&Wb?-PP}J1#F{?B3c-siy21|hdfHSLI;=V;}LVTG32iiLfQ{_wu>G|-&{Y$ zHP4QC%<+UXp1U^J+UJ~L!ZUqL&3zN|8S+Wf_$5|!u=WAn2g+0hVxUg?i`92tK$jZ%|*bB-vEs$0bban93fqKf^cst}87U8qW4 zzBePW)tg2VU}uR$EUqM~;+LeJlam0I6_ScGiK_S|+07-f^=Idt0D&`!s`w?@%O$b( zmyo#6pQ_@Qq>)Qv>n|axJLg1I{F2z2DgBMN^_P(BI+Li1Uy^EWPHg=pBzw*zs^XW# z&P?e!vGtdbG@MCP#V^SP*VHao>Fk~jNOc#V0NBrD{H1$TzS4~`K4--s)xHAstOuhFO}TBPik`|J7V2U@ytlB z)0uD9sU2}Y5VH4`N-vU9I#+quWIvLf#VTZc=T)0KukKR@?4IpTW!abicn@3T9&zMz VFZUP1?cQOWnZ47Psyee3@Bu*oGG71y diff --git a/Classes/es.lproj/DialerView~ipad.strings b/Classes/es.lproj/DialerView~ipad.strings deleted file mode 100644 index 5b82d187cc4a2b5296d8133ab300261d97f4ea62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8590 zcmds+%~Bdc5Xbw>Q&1kQ+5}lttW*wY{6J9>jfUjLmj(l3P?MOq^%-)@A<4gIc7n{# zvNUGal(of*L&Nm1r>DE8_xGU$UJ-oY=8qVMZptm9kf7->Vc zO0OWLwJ1e1E<(>7-k0dvOtUZi{e>##KZ|DTV)O?8H}SUvjadgK>Cq32vL-oP^H}6k z*^h1Vk%r1rnpjgz+8~d)ZfKzF#8w&pL)*CZm~IW$=O^@GjfYB~hgxYJeAl>!kyT|L z6Gm&Ewq<*1iNn7uSkr?kyA_=Krk?@F=M9<=vWI1I`LRyNEEQv|`OzcIynVJwbsHfso8}|q(wTxNjso7IO7M{vlsZ^_T#vOlvHcsm(=9%B+?Rn zM%-f35$VNg^#HBi@4XJ9c7#bv-~VnIv^dNJ+I8e%CaulHQ~S z`cnbAMZBg3`bw`YQkR63G>b}mwyJI$k!TI16iaZsdP8rZU%MV-n#X zx>%3@l%S4Xz%|SPtiV}s5BblwMqEN_ji>u0VP5+^g{KWis2sS%(MH_h(^fNj64H!3 zC}{^CWAB|SpW}Rd3y-sX&LtuBIX;W=lcJtF9p%+YiM71LD4&cB+Y-juyGD`!b zCtzjjO02W!l92Ldd;T|F>!f|%0xMUVHJllFjq9{+d9zDG%ACbhm3brEIoLU}?ZVpw u^g?R%!Loo$LTZ8kA+njLN=d$OgZjD#8-$2$TvzVIdOU#{gH*A89m@HsyJ_oT~}Q_g}XyeH}t|24R4L)LCbeJuNO zEFL30;aKFk+k-n6nCTqnR>Wee8O`60Qf20!xu?gh&)oCpc=n$%Q6Rq0=L{U#b5H_l zAFM5xyDsQ7hv$4cBcI5S-&XO<=>pNhr4<211 zA*Lerp}z%LJR_@m*5KHL^`^VpcKPrVQC~1WPu_B`N2WfI!C=fG@1qfmZgic|?>M{i z(ak_tV$RjRuJhk#)qovkN!N55u9Nbx#*E8kHJRNdIM@YYMNT+YWorbd6=C5F#?%ov z7=0QjDj?Y5Q{#Ets8o>uaoV*^4x3=OBvN_1kY|HCLdL8J3&|?uZIXv=H-1sR@|_0H z-&3i)yg`>dxK#CiAqRAVAX_1JE8-!kl!Y%%24Ut$H8WBgkYS@~ae{kM;n>D-#~o$oa3B1x?_(B&^q|JtrMYcEXiSqiA@7f|ac3PI2Mj*|F9w~HfNvtdCd`7FJb0Rs7&XJa&JXst@2ssF?EzD+blHL{hPDwnlR>1s>H;DNdk5+_*cFj4l z$z0JiG)Nsw`hA)1=q^EiK?QqM;wtJKW!s9#szFf~rO!`#hd7N)1dOEd#+R^u1O7U` z!-L2Ch!R^7S+fwWkV&!-U-3SAdM=A@58UOf1%@sd7WwYcDFa5w?F=kz(HgKKtTm8k z9{(2eSGda}oU8X%6=>m5qS&p7hr+ytEe-mx{^oD@yVGDksY6fJ*KT-Mybs66uDjLo PADtM}R)kgMS^C;9S1CJU diff --git a/Classes/es.lproj/HistoryDetailsView.strings b/Classes/es.lproj/HistoryDetailsView.strings deleted file mode 100644 index 51fb27ebd56d2bb15280866075b6c02c9aa591af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5278 zcmdUzZ*S626voeMK1H*aOFDIi&Bd4q9Zse~)M$q93Ut6WhG9&d-`20;3-xzO3sNqW zTSn0|D_whf?|Gi{oImjUS3w@gt~lb!mH2YQ;m9-ocI1Opr7X8H;uy#^cb;KhKaVM{N*5t|6WQB5QeHp!3=jjE{TUb}+cw%)FJ>SKX0@p{fx6&>D&I%EU5^Kkcxt9D$NWUjr6Df1-#J&vEib`=$-u)#HCNrRCIs9Wkg1)N49UvPd@ao4S6ZHIx5uB5L3I?J$zqTCJnqBO zjyd*1cXwdbpYf!Hg0-Ldp|*7rQAKy;Cub+>Iz2qsDKU>8v)bHSlT(;@!B4$~uIF17hUD$KhlukEdjlg*_MdHG|~ei{8SD=1`ZutPHj1 zdXdS(mZ7|Qk!k*QsF~((h$dv?x)ZCzWMQfzrhU_TN&c}uqcZqJ`J8-kYwO~R%s|AyVNefy0O4G`A=Z-eNooID9K{2j8Vs1_T)?l)*)y@AfcXXMJ w^qZR}?>X1x4d3BrRbsL*sU+XIW4rq4Q*mnWRbqZ}(b79POR#3L*qna;0IiKL$LQH!M*n!d-OHObn9bOuJ?)4;`a!HMi_cq53};D zlqeK@o}qL^KF1PmT>gJVDQgn3#nv4|OJWnw1LFD}PvaU-<3Hi)Gbaj9I%__W8wR^) z>69ml#*6~LQi@Y!z-i6E`#El@%5HN%C66(?RDsl$)XMh}?xUV%nQ2=O6Y4!>lPDFg zIg&hfpT+j^4l%?zY%F;f*;w({tL1o?#ed=Bs?5LKc+K*kAS4SmvvtPb1uk(=<71aa zTRtjW9;;4nexnq51)3_QdJBxAMdQypPV=^`=u7T9qk6@25{?VbZnP>x&SbO~r4~O_ zh4@X$$BZ|V4TqY!t+BGpV!&MnQ}t39R3T9nL?iX+;(^^~mzN^YC^KSI%tVDS;<~9_ F3vXB5CaC}b diff --git a/Classes/es.lproj/ImageView.strings b/Classes/es.lproj/ImageView.strings deleted file mode 100644 index 2575a4289d1f036a3ac90e3203b4d86c7eb3de16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 290 zcma)%y9&ZU5JgX&uLvmvDpnR^qc#DFAc(bw6w#nU)Zlm9s|Se@!9s>zc4qEtANPPB zF(DI5)>Kx=$P=+7Va%D6bztvg=zL9Pyh3#!cBOq;|F4R754~+^{}s ya~WGvnF@)xxA%e-eLCzode^!S8voe5f$v|4?qBJm)+IGj&PCRD#)4b(-+(9odoWA@ diff --git a/Classes/es.lproj/SettingsView.strings b/Classes/es.lproj/SettingsView.strings deleted file mode 100644 index 64c8718bc3eadc0080e9dca2eca69a666dd9556d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 752 zcmbu7-D<)>6oltGPZ7KfXrZ^o3r*V)Xce0J0MUxBis{cP?Q{ABzKHhAMk6huvB)8N zadu{B=A7(zo~{(gSEz+jeNevId<_j0tE-hPm1#-mhJLCMHFij&p$t3&;!6+Q4Y^sA zFLd-m`QUTDbzFORrw?`pdPG0gZOIAgtkl#5PJXUS?%a-EMJXMC3j{}GR|45 zcW%NTE;HxTL-DWqoH7^Fu_XE=(Q$@}?(|H>>M2rElReR!9!WjbHK)Pj>w$61UWI6( zSE!!yh3cbtk8Z>spVT2;tPQ=~XI-kxw%&ESnAc>TFqIi8*DmpZ4AHNwRfzxZ*|OU$ Ie`}HZ8*0aN^Z)<= diff --git a/Classes/es.lproj/ShopView.strings b/Classes/es.lproj/ShopView.strings deleted file mode 100644 index 736605c95f103f1e6cce151775383c09dcdec93b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 484 zcma)&-wVNT6vfZ;{))9nWgaDYU=*cMc=0wr(w9Z?Rs8e#Y-5WSx@~>C_ndpqx%Zo+ znksS?C|0Bs<*LQ!X{LcXI?GZA?dde>M_N+r6lt`OfoDKmHDtD666YJ*T2U_egl|)> zeeM~7-GW}yAE=vidYWpdD%}qMxkC13$`zbCyvq>&U%tFtC2?lZHmS2nM<&6W%R{Q_ zp!n@RMdr+-CD8@%uNzL(*GS_ZnGGo|X&bnzs?KfAN9Hnw4<}PAa)op@@ D=jlp% diff --git a/Classes/es.lproj/SideMenuView.strings b/Classes/es.lproj/SideMenuView.strings deleted file mode 100644 index a1f126d9b960d8d3673c431bdc4bdf9cb135263f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 478 zcmbu5OAEp<5QOKPUr~B2SW!F(BKW#g1y3zreH3dcReXTIUj3wLPw}FJY&MhK$oh d*S@J;<3fzit|r90I^3&{TCJ9U5Jm4gUs19wSkaXrg7{ce1l<(e`Y5$UY_SUZ^Xfs{E+il*A(NTO&CHxU z?nZ6-@-)^#Yn3cd1GZJ9P;+t{#oSr-$)54A*jh7FuDy=L6TG-mEqId=ZBd5Y)an)a zNG)|W!d}!Ne%JMx!r;3ULDSVXm0W!d75-t#DwaUI7t4^pNL46+K83M>H0O-TAY<0WkD{?0CG z2-!{$u;VaUvdh`C=l?%n%kN(WS(OzjN?rQWmMcC*dBIbXLup8pwT^W8tt8J`jd=gc z7|WdT9?2!Uo}p(|Zp^2Qd>{kX&m`o#D`mci(i>}Oq4S(opS=y)y3-<$z`PuAo;xUXfM z@s?^8SDmbUc+BnKS$tB`@Dz$G)pEWT&S}# zn6+b3tUKiBA;@-!EbR_jiTcd<@LI=I2Y(!Inx6xzm1e*Zp8d$|JMU{`L50T~ziqHq zL#l70_0&YDYPK14As1*KkX>5gw9;t=U*+Ucj}zZ;!Ux0YKJm1f;WR68AEy?H&)HgI z_sFamsm`aFP^@t!wrnjQ`J!H|!gvcm9^~*C;Oz(=H>vENJcak^PUezu@mR$Z8ZAkm z(imS9$2@n1BFNo$m~(u22+l3y#>P%-Dr#I3F0}L5wI~sIirN*L?V0I*^ZHHC^5OlOePs`TEAYA9lbB9PzEn>^1k_zSTbxPQi}^i*2G3 zBedFDyAk&q_kR4VkK zE?|2PrI0T7T=ZT;6KyG?D6v@6oQPReShJWfcgv9agm+JfReMxxvQC3rk6xGXs%%CY;VO2yYKH}FS0UxVw|_P9!*q0Bm)w2oc2b>Ucp)-Lv{ z4x0QG>neP&^WC>xIEJVSk|z1F#mfPssh?W=%y;2xEmd8f7wt`kAH*J|_imyhJ_Bog0yKp$b`*F{JlGSZN17HzeL8fF&Jq@vTR2+>nl;d#70 z&VHU#MjlV*?BZ#MQB?_h^m}gBF4n+9`<cr0YhW$1y3>A!^^kXYsC+J`lOxV1Z$RmaTrX2QjLGP9j>IhfdpddO z@*^mY)THl}Nj1l`p6Q7{^$k(EY2DFTuSLtWTIK8DVy4EhT?T#SyUt$8{(Lye?&(ZV zN2y%*XQ7x%4akzW6J;xrcWI6A{rdJdXi2A~ZduK_bj-{bKI+H2cM+bHOH~w;itexwPc^`mD}Ny)$hP)?JYq^ z7o&AT)wl;vCyY|IU+8-?gI3IMvG}Ch97UeZg9*j(ABWkyig^rHI%jClonJM598BU`o*`~Uy| diff --git a/Classes/es_AR.lproj/AssistantView.strings b/Classes/es_AR.lproj/AssistantView.strings deleted file mode 100644 index a62ff726165b72b068913ba5e12d20f1f9c26814..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 716 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 diff --git a/Classes/es_AR.lproj/CallIncomingView.strings b/Classes/es_AR.lproj/CallIncomingView.strings deleted file mode 100644 index 1ab84b0805737fd8e352cf53a85cbe8c987feef0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4546 zcmdUz?Q_yV5XSd2e+AQzojJs@(smqY43tr9rQ%d;{l-hAsR*sbg8#hwy9+OQIZO^{ z)yV*9vbo)7_t|GJ{q?gTk7QShQj>wS<(8u;&-v`gdud2jzRQ?nBtxz|<9b`V9KNv( zq$2^(1z7x$6Yh1mGgz!}#9v)=f5=(*{3$k9=K7fRj~2F-+5KJODR5qqQZ8RRixr~Y z+Vah;S75FC!{^O%aSi@IquWoQ+jmB%efgq2<;B*Juh{l^>H`(>WipGwrGhn6dF``{ zXI=d}KFb)2vZ|hs!KX9s5-4pJwkc`zo27r- z#iIMV1(rQ|%XdeP`Hl0~X0a_SoAENL8d)_9*x6_`?=hbg^XvkK#&Oy#T$ve-D6ft^ zTn=v788$&5fL`xyJh&dufz9II&q02Dx`hKhus6{r#lGlMYJY39aLs^@$L*bGGY;g( zKW0~32D#5(OZP$`PZJEVS=>MVEKOVQZDRFX-WUbfYEYpg6xH(NODYd(3!Cb#7g?6Z aKNKG(D1qMR>;Ho&b}*Av9&8rd;KOggaJDD_ diff --git a/Classes/es_AR.lproj/CallOutgoingView.strings b/Classes/es_AR.lproj/CallOutgoingView.strings deleted file mode 100644 index b10453591e221e0abbbda88b5c015b8d1ace1ce3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5686 zcmds*Z&TVp5XSelpMvqFGoflLw$tfMBNYGCf`YZxcc4+E)Ho_s{P1mmdvJou(QtM| z+hI5(x0mcbd;2_l`So*7UdV#vq$nL}$Q7TQyyH7BpJkKJcYZyUNcQE7@dv-ZWws$l zd?I6iCQar#e6OW1+srkY>D=9?D6yO~r)#dw+8)>X|K;#*RaUfFqw||mx?8y~{I@tEi#jS?P~b zI7IYo$eYG+LnOA2+C+&UqK-wa2uvNcCJO5#xW#KWaI#{7f56m8@FjiomuL&Gn z7QQ<{>+(6)K>_YtBkq!^hBn+-NJQ_l@QvQ54*o9hB~U&ZRzwyDgzW!M#C~Md;R60n zR)EXGH}-Llrscp{b3qvmcnuOe@Rf363;i6hkX1;R#s9|z>#|CxqMX=c++`ot5;(Xl ze0RjGxnPYry3~dC6fvXK`AMBY1r)A`|G?D6v220F{oUZQ@I}GxmA@*S8@1E^vLkz@ zd+ZRaRn02>=N{TtWk*-|t36o=$8QfKnv6l2`vu_8WL)GP`zZ|47J2kpwKwU_NGtWp zA*>U^xFO!u8MpE61K#a1D$f2GXiuEgsaizbxaUB~-96XY1xsLXgU5qz!FKPK8(bE% z*$q#7u4t087)+|N!dOB*Y-L$wTo%5_Jdbll&FE@Gef7A?I&n4WDObUyXn0i5bJaxk zxGa2;u|DbPLaT0?+R0MZE$*aUc8+{%mp$OUNwslI=9MY?C})6z?hh+C$60uAvUFLv zbkp_R$K`?PPl|0AO3w&OraS1ui-(D9x-5LNIcrrM@5{3C+?ErxBY+9F7|Uck*&n$q zd=VJ;XxdIO-7UKn$g=-K^)N=Kv?nUctwErX>Wo|#|AHRYIXOpk58tNXwU|?q#$RAf zK&^+Vw+1c?-+d5LVfwzL2Ls(c0jqWC1a^t<5Peg{Z_%0D@BdsD&x6%`vf1ZNik^BR x^A6~g>uw@Wm&M~}GhNd@{hd|C>6H2w{d#3`-DfPLqB{u;To%35$!W5)mh diff --git a/Classes/es_AR.lproj/CallView.strings b/Classes/es_AR.lproj/CallView.strings deleted file mode 100644 index 9d9fdd31e04e3d410c205d7c6d4f7bfe9505ecfe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19034 zcmd5^+fo}x5S?d#h00G!s@4H)15PRr0?gGi7#T2rLqamLxFd1U@ zcl&qaX3~t^(EI`ZUg2l=+M7c6e|`H&v-Y0katHUVS&Zc57dYW7j+0loLzz+-*n17E z3@FL2l|lzUQIZeKVhpm_F^TD$b6oe#vH2cIMxxNm>B#El&|F(yDWi~6%8 zJi4&T1a{fS_0)Vb&5S&<6k2&WE@DXUEZ*sG0Bv5vmc0ipLxy|Mat*e96xH+uG)qjI z@R|gu2KdQ+uJ-|n;tlBBUGJ=3y6>o1#^8Z}nYZR$L_hD$GQ2D?3+5}X2e9?I0EI*$ zp-A5`#{X!MYATAV3+*I`RxMnq&8-ZoEQQwU92eyxjp=XFyoZ))g+#iIcu)_JN)%e8 zj*D`U&cF_b@C|0KBV6|)I-UeIW9&Sz({eYE(bE1WQD~9NT$L+{$L8TF)36emf@Bgz z+D&Brv_vEdtwdfzj$T7<8v(~;<>3J-@cD{#WbQF z>yK-*g6k%bdl~txBvEJ)J1)xgf>qQ`15|>nYrGxjRiM*|_LsohKwX;P@3OH#qR^ry zN9`MqSW(lrVls%;9J3amrox z?Fc`4?sjf|-?cn<@!qNJJMQyZ%*SK$`E2jY-i#K0Ztur_Yab66vGZlovQqeHZQv68 zg`HO&@?}MLpF)y_3BL~*>h$cp2^O+jq3(- zS0g|wQD~7mF3Lr^2=6&WR35@dANJ-sAf5o)9;$Zg_%nLtw00#5EoR2~eelC*%ug>L z{aLhnpED=uJQLJojO=^x=j{ygEQJ<1HQ{+F7j+Z5?%-~HT%D9_CeNqmfw>9Peb_jo z*a|X0TI&*p7JD5!=OpVK+P|(q?=!ep8<-xp_<3ZTE>QRE^#YlEH-kM(p~pUe7Je11 z(MF4Focz$U9yc#sFkft?K99_nKvSP?t;g3k5`|VCi~yYFKL5OM(^g#_@bj>pEPz|) zy*c!;2_nT>W-cXBXyuaTrrZeOtBP2Svxr>4x#EHCKK$3?kF zzann2>N!JPX9jfVNAZ4U8OR&JK5sK3yT$oH0uqH*0wH%j%VE0bq1ra{W zVw!*2iN`9cb)H{b+A67!$lxbnUOp0qWEoXWJVvvob@)BcR^2QlRzI&IY7QZtK0GGD z-!(IxqC}y!9?uh}kemcPMSMt~k>y8*RaD8W2fv_)VD)o>yqL}l5{0Dy^c`a{A+&PM z_CN#L<32(M6@3j6&FviQz>+)WH@yD)4T8K}xQ70hGwY5$FTMu;@Z?;g&}y}T&u5m} zv6~EzuNvYobJnh{O^@*IQ|S7G`A`z#>QnU9iI*lGJ_RwzI(0;5VS%W2?0OOSHNWP(S^=Gp_CQB50`@GLhOrN76 zFFvPYZL$vRUAyZrhWUk?DBR_1i9(B=7Es-s>TSe3*Ab66k7Vb`bC%EeJ#E<%g%-2p zqFgF|Cb!`kO_3ZmnoNpK^qPnatj2b2-af@d*XN8oS!5~nvKT-X zMJIaCS;sU{Td=D;wv%n{Qif9ui9#!nmsH0{c+!zlqL6BUqIJw@b{&iSUy<2aiEh~* zY!aFNXAt=%3atjKi2Ocd<<;C9z{U=I7BMD4z1l+6oz|R0p+)MrC^yI5Kk3Qut2Pju zn9;WJ%;`fNj}UK`LW}o4FXf^h?d)L--Q^hM&_ZRCK=WJ3erah)6k2IKRc_uN!*(h}Q?=7tgHiYw^fsPoOt&a6bCMO?*RbZl>? z1zj?#%^{{S(l2IwS)$M)Ew(okR-@t6xMO zyCSEUhjHS~JCu#S_|D8O&~smC50e<45WmaRDiVcO237COXtsvBb_*iG&Lgd!IvNI6 zAW@VrfhB0eP5F7U-npIsYR(Sa?3a5q+=%7&={f$ny_$!8gWux0f;`-Y@D-}Ia1tX? z=%sSUPYu-qcbd~YSK%*y-kcXFx{%o-WO0SuM;~b*Bc$VmM4^>M72gHY_{9&zst>^1 zghq({8d)%nTB6XRt~xTrav--$spVyK@Vt&8LxiZa6k629a^UkufFIB~Pf3T?_RnAk z;TDBNp_N4aUPOAn2rz!5&9z*^Kac3#CxU28^ zVj1iN7R@gAz}9p#z#T?1i9(CJiVUVZQRX=>XE;;#Tb?C{i3qR`@g?i1zW8z%!u zf~U&#_XPFbT1Flcg;pNb&ZXu5OCbNWY6#Ty{s}wz7)JyQPpc#ftqf$Y%8h}sbIB|C z0w>ffs5W>G`yT#~j(!q_7I_utlA3R^Ut^nu8%Nwk;c4to?A@eMOB7nv^0(Ok2W+`Y Aa{vGU diff --git a/Classes/es_AR.lproj/CallView~ipad.strings b/Classes/es_AR.lproj/CallView~ipad.strings deleted file mode 100644 index 088cb5445307929805a6510f796e71eabab47c12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19034 zcmd5^TUQfF5bkGxMUGFqd(OCA6ma+KLj(~-1c?Fhjf8}RaFZkm{9FIX?tWi44NOms zJw=>>!*K#hB~xGBtGeQU|2{K+nm{=;w@Eaxhb6HG57JDW!19O3E&zzaBfn+2Ky_`<1Zcfa#<&`oDIi(EAYq`>z zi^`)5t4v^*16d)4oA@DC2ZMy(0jZSWmie(BO_?MYAFC+SSY2L%j67$Y{#`PGsz7(L4 zC?pi=JI45*EKkkH1>zK5F)rV;kwch309u4qK)dk8Gv#5})O(PH)o^g@m|ic>f+gp$7f+ z@z*JS^W5#-{Jn2^?&7s`+jrdOwV02`KK$3-lbO{U|8h-ELCEqEq7=QgfQ zbNKu=?c8(1W|bmAN{#EF9Gok(DqTaQ^z0CE2p(9QD`wU&L4pvMq_?@ z`RIqy>V3(4L+6>G9%E$h!Jl_C$g>n$Zu4RCc*u9-ZaUIyj{P!C|^ zjACoZ0BNmD6k6V%z1qO^bBkX_w&?C3I#9Y=1K|X^|+j$kW`EYx6!&#@~X@4(~Jo-R>nk*B#SSLeR+&a?7W#Pw5P z9RM?9+XbvWjaZ`4B6eJqi}W)h2=n+5k%}?horuIM^!Gr%4(!V|#e-{Gvf}bt{QyQoeS^5 zk~`)%JpcO*g1qRyi5`V>#g0AGy9WO7bW@_xYIPl-&$zp1Pn#WIHAEIh;eA_eo#NGB zq3hS?bxDY`r+ofiTK)P@@~4#9sa>r8+C+r<1g$M2MkUbScl@L+RicnAHGA)(6T``3 z5AC)M?fcnBzI`4b?y&A)jr|4Pg+D*@F?kcV9#ZJ-^FB8*eNKkF_$-0hb_=Mx_B?tD zJ*MmWYSGoofUsT-1E~o?++4%Rx)+O z6V~`{x)#pSi{z-uWKwME(m-TjHMVc__Bp0*K4;v?B1@r{#R#$}I&}#+#bW|5t!Flx zBnmCw`@EEknwx<xLKoab|UuQCzM4^?((>f*mf;`0?(>h{af(-r@Hj%agi9(CH+RENf>wO)Pr|&&r z<$2Lt)GnMWe#mTaNfcV_o|`Jp4r05j+ydcTaSi<&b-tb1Ym_Loh^yFLjqNtHpi4%z zCB!sF`jw0?OB7n9#daIQYBZd>JbYuPg?Pn@!w@k%!EY^eC28-KD5T2kDQ)b;=4Px? zIE|P`Z_YjJ71(o#I!mF|t>dDa{O!2Ui&Jf6BH|qaH|L`Vm_?-VN)%eW%kUDO=bvL9 z#)&uYP&WGFdkyrz&}^p{@geCO^YkY!)6fhbORC;`ejYRe?mIMV#iQ+{orLo zi2EBd8gWk{TZg!_6k6QXcgV2}_6-)znZU8FfZqUj7|A3GE$%8ZnAh{ePBOR`%o?y` zt6_dm-NoIz{S=8pD~G33+32EDV|1W|3lh83xGgi*nsoFGntp^cPqR`4f=BnI`5j*p~f-ms& xV+}EaXZ)|=59wSXQD~7@aptZ07W*|emAK8uEhnDzAL2YVjas76qL#nK{y#0mOSb?3 diff --git a/Classes/es_AR.lproj/ChatConversationCreateView.strings b/Classes/es_AR.lproj/ChatConversationCreateView.strings deleted file mode 100644 index 0616ce3c98be55f3b212103e2765ecbcd465176a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1448 zcmd6n!A`7!RN!X+RAcy_eEzv4WPW!MF8A)Ni*HLMetyV$6n3 z*`1yF_nVph{BX3drd*vUk*^uU)iJ+@uH~ttXJw43CafH>?kiw~)-u*mG3R0|=IXOI zWG7j8=(97?qwehakoCZRW!6h(V@1|O#<{eJaDkUG{{y^wI$d}>#PdKcMS5ZObgo`; zqRAZ`zN;+uwo=?!MClfKQk1$Hp`)yNYIT?IX6QJKpJ?9TJJjnhNct!-T1Mo_BC my5tq&5;w1&)tmgM>PdMM0|azoKDDQWVsU#)S+~2ysLbmlP^8iNS*UbNwUg*9lVcm|T&YLg~Br zy>rezxBUKCI#5=&N*b!Acf!^=S4NMjs;H@aVysu5obkM+HsOVtJ-O;p*CXRgb=F)~ zhVvbYVfG-dykWJ^dYkO3%JZz6p7bDxvphbZiL1CG3pR^;Q$}tpB$@ds7o0lLH@E{H z7O{?ZRU`KAf~W~QPaiR&UD%gG)%*~rA1XKFKKMO}cUz@MU6+KT0h%~!P;nnuB#M|a zc2{J9$5scHfeV68Cz!`uY1N?elbW(S<1r=fa45wMvVo3d*BG zff|QBTq>iAL<>_!4m=U6g#*?j*yMux!_MLV9MB6FXWl%QyuAq9@Jp+LI-UA W5yl&5!o+eL9TGP#-Ugd6So#A5`V<%d diff --git a/Classes/es_AR.lproj/ChatConversationInfoView.strings b/Classes/es_AR.lproj/ChatConversationInfoView.strings deleted file mode 100644 index e24fcd24385f1f56281e27a71838d7abdb3c87fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2866 zcmd6p-EPxB5QXPDPhs`4k_!k4gb)|`DNRu2gfuPOI%!G*iIWyn0dLDQa1VU58zaSYS{_L(mpo%u_vC!FVjpZZ z#+JoFB_w-mFLk_L$v1Fo95t@n;vRtWGb>&an?_V13W>fc6ENn|hrNZ&CE;z(*F2BA z*mxq(U?+zCjC);9}hQ zDtL(CX5u`*V|IbkmiNSsjc22cZ8lWHib^ppDsk~IDy1!F)J-g};WQ>wujHtt4a*`_ z8)21lx42KKM^)enn(y)S^`%E4^Qb`F&b;Yi(gUn4a*{w4Mmtb^)^8@ zcDQ_!;WSgN3ORbdjK=Hzi$I7NNQb ztCG#$=(7mHCdFFG`VV0<;e%0m*kY| z+*p?7M9TbM8H*pX!MhXQRN5mf8tdz)|J>&774J{6UX!J^)%?@@2|O9&_j$=@nq|B_ z!U7{Ucw7MyJP|>@zkyYQn$t zxHXAK9t{t3QimbBrdkHS?)jRNDJNh0Bs5>0yv)f3+0zP? z@lMOG97;qj+vC0tLN@ER+W0I&@ksnSB^O#Nb;afkDrX}>rpSy{Qf!s289Oqd-(!G zVm?`R_$>Ot;)YdP!?U=yslQd@ulB>?ubXA&)gIk_t*pR|O>j8CI>LTN-aBacEJD$+ zzGP*E+tY0IwKe^Xd;-@pXy)L*_7O$;jwe;vkT+NNxYwwF(?ncC!9?ho7PTVH0-r@5 zJmc+or~9l|2rJ^FS0(zut=W)a$}z-KyopT)4V zK3Jc~raQNYRcqkAiGK>E;PTyP5gK`zHg(w^QU%j0B&&kkf}yvd@RiSq3OM^u{(Tmq zD2z(sm8e~3Mh9s>(Dm1y{l3`J?Dtvt*1lF))vvlciZy_peYmT9i8)mhX*J5GiFVn0 z9g*ufb1zWm_nj5*vk1-jB2~D-6)T~A{u+%EO0-y3jd%$EPr&1VjuFub9;gUu4)`oW z@kso#{1~-H3}?!bQB;v^fk`CSWN_9&#%B?V%u6w)Q=@jT5+`O&N9crga9H54RR;&3 zMJNuP{$y20gZ0UTlUdiwDGK2c3`(YF6j(Dm4iY|#P$Uw+`d=$HAcoOT_#1pLnzjzaS(kt50pCZ($g(YHdn%%?9HTMnp;GPZF=^d`c@R;C6JN&(rehYFy>_>b?tfP(g z{=+iCXA#PT*SeST#g?vqJ_}#|``=5AKIbj^U7c*-u&auwo@Lmdj@oDOT63O0L$H3K)@4NBOz2`&1&uIwGt@h<5}?su0yi_lzWQ@?)!ctww9 diff --git a/Classes/es_AR.lproj/ChatsListView.strings b/Classes/es_AR.lproj/ChatsListView.strings deleted file mode 100644 index aa6e38c83a809c4cc6425e969249e6d030126e0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1896 zcmdUwTTjA35QWb(zoOxhq^KC9iSdPthNwuyOW>_Q(V7YYMCEt;u72ABm8J;9h%uYp zv^%rA=bW9H{diAlOBq=z$d{ub&C(G)t!tH)*GNyap1RB&GViEGa|2ILO?j;I@EGe1 zTN8^v+o2fzxmev`rH?J#Ru(;%Xs@EB@Mab54r(ogNX#5S3x}3Wup?751?}Z}fV`Hb5r_yBEw1m#{xqjdixF zsxyw&(N2tgl1Dbs*Pw_P);O^Xl0pngYl6hwUv?$Nn~s1>^z6ZYTepm!`e-p90ZAU4 zi-4c$Q6VN?xR*A}hQ!Hel1EW~Ey|3B_H=?GWgRnC$;`MeNgnI!QUQ@mip5k>gXec6qXs9RZe9%Y3N3$2M#O;0m>d<})(vVoF%^R?GHLb1Tt76{F H=vDayoeL^H diff --git a/Classes/es_AR.lproj/ContactDetailsView.strings b/Classes/es_AR.lproj/ContactDetailsView.strings deleted file mode 100644 index 8c5f8daa4f98eb59d3f3567e92caef585b08b173..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2958 zcmdUx%TD7!5Jm4gUtzI~WLV4yh!6`xW*~_7LqzPH3`znakwSpL-|`zQfYa?b57QId zau{jUa?5s?tLxsnRqc=Wf>ul0y&fO(q8xfmyq^ z`3iG#O}6G|>Hv!y`8w7Ma~Ey=jG=T{EVEx2%OqoAG-h{CEuxu@q=9BklmWY$n7cf8 z)zlkv96=9O)3B3I$CVLF21gP@57dlLH9Rw)ssw`Yi%8uEuokz-s`oNp`;4@DPtwL7 z{#usZ3U^5ukI4Qb=vumB9%`58S&S|VmkM0_Ch0t1Cezh!O}|0q>j$~=b;(mThR|h^ zHH+EmJ0I?81)Cn;Va!)@O*>Y@4L!lZ8nqbdB2u!;A}a^eO7?V)`b^E6$i7zx(|jcH zaE8)-`cIR2S9hp>R_!%?waCN6zeS%;4Rw0{3HSr;G4JbEt1%W_7I|36riR6KxH~jx zdRy7%{Do8VF^1M0U?(4X!>eY4v_S}V2@$cAmZ zJG1-d?aW)gK1k&gwOkm=%N4rO zUI9@UaJYw|B69dG(YnzyiBjey;u72T80r(7hgUo+h6Gs>h2YE2RU^e!VAOhrkY!P{s#dsc=CH7$84|6K%G!QLoN^ygp7m^W$c0TF-f_)-A6H~W zd&G*8Wl@xk7>jU_C-Rk6YAm9J3&s*_?*$o5Yk??%&r|hO9f)oiR9zX7%rrUbs9e<= zZgIxP^bdB<$jSkEnW|hF;~s+)J6RSrBGq_TDytFCIBrnQO!h+}jI|?B_#`GzDc%?# z3V%E=w~Azr_7Z)b^IdKhOT{D=7i+hiy40lHLpt;1Hmc>~{eSmahr3EGO7!_^@toN= zAip-_s50V^XPC^sEQ_Mq*CulTo36lHe(k0Li}Mkp%l{Nr=Gln7%l{Y;DL%3+Hp#~~ DED>xn diff --git a/Classes/es_AR.lproj/CountryListView.strings b/Classes/es_AR.lproj/CountryListView.strings deleted file mode 100644 index 81c3daff6f40f8f67f086864f65b46c03db7f0fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 490 zcmaix%MQUn7=_QePtkNK!NN+!g6g7f6_I_E{`Ra1E(2_exHBJ-OXXdPCB##;o^_a5;!&QK?&wi+xQ3ZI! zC_|LKTDiK1Hc?S4G)47PQQIgAP+6=$Rg`iHCwF>rxV#YXzQ&Fh~0U diff --git a/Classes/es_AR.lproj/DialerView.strings b/Classes/es_AR.lproj/DialerView.strings deleted file mode 100644 index f6e5cfefb3e559293f295b46ccdb75a8a0b575a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3736 zcmcha%T5A85Jm5ruOKX0s4$=y<3dm(iHQsK1CSwz0%Ld>{anAnoeT9=*R-SH%+O++ z&hV&t+&Wb?-PP}J1#F{?B3c-siy21|hdfHSLI;=V;}LVTG32iiLfQ{_wu>G|-&{Y$ zHP4QC%<+UXp1U^J+UJ~L!ZUqL&3zN|8S+Wf_$5|!u=WAn2g+0hVxUg?i`92tK$jZ%|*bB-vEs$0bban93fqKf^cst}87U8qW4 zzBePW)tg2VU}uR$EUqM~;+LeJlam0I6_ScGiK_S|+07-f^=Idt0D&`!s`w?@%O$b( zmyo#6pQ_@Qq>)Qv>n|axJLg1I{F2z2DgBMN^_P(BI+Li1Uy^EWPHg=pBzw*zs^XW# z&P?e!vGtdbG@MCP#V^SP*VHao>Fk~jNOc#V0NBrD{H1$TzS4~`K4--s)xHAstOuhFO}TBPik`|J7V2U@ytlB z)0uD9sU2}Y5VH4`N-vU9I#+quWIvLf#VTZc=T)0KukKR@?4IpTW!abicn@3T9&zMz VFZUP1?cQOWnZ47Psyee3@Bu*oGG71y diff --git a/Classes/es_AR.lproj/DialerView~ipad.strings b/Classes/es_AR.lproj/DialerView~ipad.strings deleted file mode 100644 index 5b82d187cc4a2b5296d8133ab300261d97f4ea62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8590 zcmds+%~Bdc5Xbw>Q&1kQ+5}lttW*wY{6J9>jfUjLmj(l3P?MOq^%-)@A<4gIc7n{# zvNUGal(of*L&Nm1r>DE8_xGU$UJ-oY=8qVMZptm9kf7->Vc zO0OWLwJ1e1E<(>7-k0dvOtUZi{e>##KZ|DTV)O?8H}SUvjadgK>Cq32vL-oP^H}6k z*^h1Vk%r1rnpjgz+8~d)ZfKzF#8w&pL)*CZm~IW$=O^@GjfYB~hgxYJeAl>!kyT|L z6Gm&Ewq<*1iNn7uSkr?kyA_=Krk?@F=M9<=vWI1I`LRyNEEQv|`OzcIynVJwbsHfso8}|q(wTxNjso7IO7M{vlsZ^_T#vOlvHcsm(=9%B+?Rn zM%-f35$VNg^#HBi@4XJ9c7#bv-~VnIv^dNJ+I8e%CaulHQ~S z`cnbAMZBg3`bw`YQkR63G>b}mwyJI$k!TI16iaZsdP8rZU%MV-n#X zx>%3@l%S4Xz%|SPtiV}s5BblwMqEN_ji>u0VP5+^g{KWis2sS%(MH_h(^fNj64H!3 zC}{^CWAB|SpW}Rd3y-sX&LtuBIX;W=lcJtF9p%+YiM71LD4&cB+Y-juyGD`!b zCtzjjO02W!l92Ldd;T|F>!f|%0xMUVHJllFjq9{+d9zDG%ACbhm3brEIoLU}?ZVpw u^g?R%!Loo$LTZ8kA+njLN=d$OgZjD#8-$2$TvzVIdOSpur1blM-c@}IR$%qTOYv}P`|Z9iV3SG z5vYe@2q~;&?|=Pk|LfoB_isz`KvpCtCFw|Ad|o+u$$MF9vMoo_lq(rYMcSNo zBdu~QbKisU6)VhiiE}F=pK34>ZuQG7l#)STp)Q!qbeHTX{Fm_0{b z@->9@IyjG9g>=Y7SQ$IAFPpHxx1bEzqfe?pN8Tj2WjU1fah)Y$oYZ%~+6X+lLPAVs z>O;Q^ve+Z5de-3Bg!QKTwe9lZC!!uOKTlq9tw*NblEGli3GdSpc{jSw=x3Z=`RHb# zD>3J4U)TB1vuePOvZQM|4cAF|*kH!HWHp)HM{sZi!m6BctjX&soK}Q|GZ<4x+-CH7 zps0f2kk>KyJ3ys^{NJTrkI7*Z43|VIZv$ByUlB59MOa8m=;*q>jwMFrFaTsq|r`~6)NUz8%w!9(S=;w!AX z-5CE?L{|PwuIr9aFr8adzVex7T_kDLHfns~RIlwivUb4qPNj&ZUVwTek2$_$4OFJE zPe)j*J?chsWKrk!1vS=rrSm6ASkvoqg)xgDx{^m6JD}8FqOLDo(^iCqYj!=(;xmuo zu0v1jrEr;B^qCsy&ZNNcDW6v{j8;U}x-GhXpj>L-pC6a^fi(0r6Bn^4H1Soa6|au5 zP0oV4yGwmu!`w0amFUhMzTtYjRwk8dMc9?9W9o>yA6U!^jN{CvHYdzab!Hu3;o%H6 zZrw<@Dy;|$>wTzA4bN1@G3_zm-LZ?w!IHh_s}rN^@Y=ZuAJ-K2oe-N9VPiXFU8|S> zT?e=*#d!}V?Ud(q33c_!kw&!V&EsR)odoq7-L-d$bnr_Z&VCT(5ji_jwZQ zBUXfkRn=kMd$jxagKet&4fz=2hja(DOXrJnZ$)IS@PzVrWS_a;8k z4UnC>zS(lm7oz-F5f-xG*{Hg>xHDMHJ|w*Z@||jUAgqFPjc0^~7<*QPg>l2VuGt*W zJoHB0N%}pQ?%pmzKA>(r>aT)14vg%FLG3ou2o)XR@69FS>eDEc#-+;f4$ME2> zFr~UyMAj@sD`b`|#MilxcJ?Lj_PbrqT43mcA zU*ROnaIQXERiK3%iDI`R{ukygY-!Mk^|y?k2mkAu2lGjNdA4qL!&C7SIR4;zS{<*^ Oi7{f diff --git a/Classes/es_AR.lproj/HistoryDetailsView.strings b/Classes/es_AR.lproj/HistoryDetailsView.strings deleted file mode 100644 index 51fb27ebd56d2bb15280866075b6c02c9aa591af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5278 zcmdUzZ*S626voeMK1H*aOFDIi&Bd4q9Zse~)M$q93Ut6WhG9&d-`20;3-xzO3sNqW zTSn0|D_whf?|Gi{oImjUS3w@gt~lb!mH2YQ;m9-ocI1Opr7X8H;uy#^cb;KhKaVM{N*5t|6WQB5QeHp!3=jjE{TUb}+cw%)FJ>SKX0@p{fx6&>D&I%EU5^Kkcxt9D$NWUjr6Df1-#J&vEib`=$-u)#HCNrRCIs9Wkg1)N49UvPd@ao4S6ZHIx5uB5L3I?J$zqTCJnqBO zjyd*1cXwdbpYf!Hg0-Ldp|*7rQAKy;Cub+>Iz2qsDKU>8v)bHSlT(;@!B4$~uIF17hUD$KhlukEdjlg*_MdHG|~ei{8SD=1`ZutPHj1 zdXdS(mZ7|Qk!k*QsF~((h$dv?x)ZCzWMQfzrhU_TN&c}uqcZqJ`J8-kYwO~R%s|AyVNefy0O4G`A=Z-eNooID9K{2j8Vs1_T)?l)*)y@AfcXXMJ w^qZR}?>X1x4d3BrRbsL*sU+XIW4rq4Q*mnWRbqZ}(b79POR#3L*qna;0IiKL$LQH!M*n!d-OHObn9bOuJ?)4;`a!HMi_cq53};D zlqeK@o}qL^KF1PmT>gJVDQgn3#nv4|OJWnw1LFD}PvaU-<3Hi)Gbaj9I%__W8wR^) z>69ml#*6~LQi@Y!z-i6E`#El@%5HN%C66(?RDsl$)XMh}?xUV%nQ2=O6Y4!>lPDFg zIg&hfpT+j^4l%?zY%F;f*;w({tL1o?#ed=Bs?5LKc+K*kAS4SmvvtPb1uk(=<71aa zTRtjW9;;4nexnq51)3_QdJBxAMdQypPV=^`=u7T9qk6@25{?VbZnP>x&SbO~r4~O_ zh4@X$$BZ|V4TqY!t+BGpV!&MnQ}t39R3T9nL?iX+;(^^~mzN^YC^KSI%tVDS;<~9_ F3vXB5CaC}b diff --git a/Classes/es_AR.lproj/ImageView.strings b/Classes/es_AR.lproj/ImageView.strings deleted file mode 100644 index 2575a4289d1f036a3ac90e3203b4d86c7eb3de16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 290 zcma)%y9&ZU5JgX&uLvmvDpnR^qc#DFAc(bw6w#nU)Zlm9s|Se@!9s>zc4qEtANPPB zF(DI5)>Kx=$P=+7Va%D6bztvg=zL9Pyh3#!cBOq;|F4R754~+^{}s ya~WGvnF@)xxA%e-eLCzode^!S8voe5f$v|4?qBJm)+IGj&PCRD#)4b(-+(9odoWA@ diff --git a/Classes/es_AR.lproj/SettingsView.strings b/Classes/es_AR.lproj/SettingsView.strings deleted file mode 100644 index b3f73e55733c47383c92284a05915bb70b5269ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 748 zcmbu7-D<)>5QWcmo+5ZDsL)&SB1RhmR-vg6;2$w6)#@tkbNU3nNZT(PjkE+~DZ}o? z>^XDh% z>;LF*ZF_W3yEU7u-)u65dhfWo%r8<`FGQ%m0!1ahBfaSf$8$Y!C(LbgW?Xz1A?oO5 zs#kBm1}HwF8?eJ?dAJL8B$xJC=IVbNZ`(aAOT5NRWr53sbv(pF@XKov;_o{)?DoV@ H&3u0YEV*GU7vfdfO)xc8K;K#Cq(rxU!_8&tw<^A5xkUc=fz=?DH_zi z?dF*`_ve^*#P?%=6ZJLH_(xt#LPydDo2sbJUhP}nPlzg<7* CCP}FP diff --git a/Classes/es_AR.lproj/SideMenuView.strings b/Classes/es_AR.lproj/SideMenuView.strings deleted file mode 100644 index a1f126d9b960d8d3673c431bdc4bdf9cb135263f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 478 zcmbu5OAEp<5QOKPUr~B2SW!F(BKW#g1y3zreH3dcReXTIUj3wLPw}FJY&MhK$oh d*S@J;<3fzit|r90I^3&{TCJ9U5Jm4gUs19wSkaXrg7{ce1l<(e`Y5$UY_SUZ^Xfs{E+il*A(NTO&CHxU z?nZ6-@-)^#Yn3cd1GZJ9P;+t{#oSr-$)54A*jh7FuDy=L6TG-mEqId=ZBd5Y)an)a zNG)|W!d}!Ne%JMx!r;3ULDSVXm0W!d75-t#DwaUI7t4^pNL46+K83M>H0O-TUUdKzQzn*0i z7KU12NwlaPc7~pw{=WV<{P~@dP1z7fcBL(K>G5&o6;E1fQkDv9=hEc2w7g{1=lvUF zD09iXFE{LZfu2nnnokyaPdcn$N|*1ZWcj|8)>umwomZ^7>@CaQowgi1nv#+4a>3}z z2lfZ&ZlF8GyG6JQ<570H(g&{to?BK1u;|Lj%)5pgodw9| zaj`A$k<7?zbY@_#g`OxEHVGRSyT%7SENUC3)Gqb4S{GR3qx&nrH(6_#(KUN6Sl4-n zeI7g1tG@g)cEqt&M4!fn`aiH+IdIXYG3F5g-dNvgBFe(JDsXNCYXUob!=E3+*uEUg z7r64J$arS>i!x@D$Qs>ocHKu-fyhORvnud2nL(PNnnUWNr{q&k zo-sa&;p9wC4JQNSGiW%4mnbJT30o8`W6wil&o6+yC0p_l%zfEr98tBx>J!!yo5U)} z@2y!sZcnOmgvWOlLR>MvE|N7`LkD1v`npA?X@*QnEQYu|V@Fb~CGxWdvXZGUnoC+= z967*a=cY2a%rxpWH#^h}jrxw8X(be5@%R>OH|elPr!uAgd9B#>ZBel zz;+cM9>;L#;b|WZ^Y|nq&rS7@#-&Zd#^F!H+aaeOn0QnzNl~nFQ*b!leuKHfXEjjn z5ivp3RHx#_CSk+6id{*$Snmy{LmsNfT{&cI!dQKZ3!8+Ei+^*2S-wMi#ASHn4Z3t( zf9{U^v&TNI%SGx^G&gJ#HjZZd^E_+fqU7;!ZUeGq2mC|wN^fraRE#JKHi`fB<`!1% ze-uH_9RfenVhW)r^NP@lrveF^pV z?`G&^rpYi_DA}^6W-`-rru%&U&pDlc{$8@r?1`1EW&_)^cN``Ao^#oDY{Tk|?OTs` z%k~|kd)DFTIl4Y?`n>7e*e<6ilkcmJ_QWPOgrdYZJ$@&4>gLf(eab;+Tn>ml5 z>oBrmYfyS#KDP_|*~<16Z_1pS+kf!{{+GCqQB>~4@AAzm)oZx|S0(GhO^MY`;PL>D z50PNRykqV)HcfGiY-8xf*%C()&FZ@gzD^{rBmb8D#Pe(0#uiQPs#vM!p0=$0KpIQ< z2wD**>u&vB)^2mR4lm+k(;7UlFC_1Oc82$t?HqlU;r(}ekSk$3wdA#iZ=Hl$`zT)!6j-c z*-JQZ>U?(SMu&_YyP8aI#LtM?Rhe|AR`}F?rMXnoX*SQX_xUmNX>5hF%a@0osyq^| zN^brE>z~`Vxp9%Tbs7h<6tV2E<>XcUd3JLrjSJ^BDhc#-2|gy+nCRSFrgJkMBpD^Emqi0u)cb9r

- 0 - 0 - -1 - 3600 - - - - 1 - - - 0 - 0 - 0 - - - 0 -
- - -
- - 1 -
- -
- - -1 - -1 - -1 - -1 - 1 - .* -
-
- -
- diff --git a/Resources/assistant_linphone_create.rc b/Resources/assistant_linphone_create.rc deleted file mode 100644 index 9673fbaa1..000000000 --- a/Resources/assistant_linphone_create.rc +++ /dev/null @@ -1,49 +0,0 @@ - - - -
- 1 - 0 - 1 - 120 - sip:voip-metrics@sip.linphone.org;transport=tls - 1 - 180 - 31536000 - sip:?@sip.linphone.org - <sip:sip.linphone.org;transport=tls> - 1 - sip.linphone.org - nat_policy_default_values - 1 - 1 - 1 - sip:conference-factory@sip.linphone.org - sip:videoconference-factory@sip.linphone.org - 1 -
- -
- stun.linphone.org - stun,ice -
- -
- sips:rls@sip.linphone.org - 1 -
- -
- sip.linphone.org - SHA-256 - -1 - 1 - -1 - 64 - 1 - ^[a-z0-9+_.\-]*$ -
-
- https://lime.linphone.org/lime-server/lime-server.php -
-
diff --git a/Resources/assistant_linphone_existing.rc b/Resources/assistant_linphone_existing.rc deleted file mode 100644 index ec26c381e..000000000 --- a/Resources/assistant_linphone_existing.rc +++ /dev/null @@ -1,45 +0,0 @@ - - -
- 1 - 0 - 1 - 120 - sip:voip-metrics@sip.linphone.org;transport=tls - 1 - 180 - 31536000 - sip:?@sip.linphone.org - <sip:sip.linphone.org;transport=tls> - 1 - sip.linphone.org - nat_policy_default_values - 1 - 1 - 1 - sip:conference-factory@sip.linphone.org - sip:videoconference-factory@sip.linphone.org - 1 -
-
- stun.linphone.org - stun,ice -
-
- sips:rls@sip.linphone.org - 1 -
-
- sip.linphone.org - 34 - 1 - -1 - 64 - 1 - ^[a-z0-9+_.\-]*$ - https://subscribe.linphone.org:444/wizard.php -
-
- https://lime.linphone.org/lime-server/lime-server.php -
-
diff --git a/Resources/assistant_remote.rc b/Resources/assistant_remote.rc deleted file mode 100644 index ded0bf160..000000000 --- a/Resources/assistant_remote.rc +++ /dev/null @@ -1,31 +0,0 @@ - - - -
- 0 - 0 - 3600 - - - - 1 - - -
- - -
- - 1 -
- -
- - -1 - -1 - -1 - -1 - -1 - .* -
-
diff --git a/Resources/cs.lproj/Localizable.strings b/Resources/cs.lproj/Localizable.strings deleted file mode 100644 index e1d3815861c47363acc0780de349d4a7eeb98d01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55580 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
KIy*hzTv*?|vZTWrF*m`;q%s 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 DKpMU4 diff --git a/Resources/fonts/Roboto-Italic.ttf b/Resources/fonts/Roboto-Italic.ttf deleted file mode 100644 index 737244bc032804ace4fcf794d20fdd13b37473e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 329008 zcmcGX1(X%X)~I(^cb_@u3=Y8=!JXjl4k1WzcXxLPuEE_2PH+oO2ohX^6Lba$?hs&R z`h9iIOdgm2=H7q3wH|AI+1=IEC42AEt}_usL}JTOF{N7hGG)tk*xNFbm?uw)xLoC{ zRsHUg?0YQc`3qvW-jx5YR;lifALJ41>Te=h+E)E8N3OYNwww?#>XJ&+7M+@PZ9ls7 z_agc7h$KDPrenX>>%*=U7a30ai^9y5BP4~d!G`Y84i-RRm~1?jOvZX=p7}~jTBW3m6;}$IYh}6X zFZtSz=WMVpNnty-w6~KIza3QKzM^!t$4X(9QYu&##I$Y_o?QyNj_{0dyN-0W?)hXZ z>o=awmo(NAS!KJWzV(u{@5({zhI7GMEvu{*&SMqVam=q}KeE4BOsbkgouR6=oUsZ@ zcFGuR#go!jQ%EI6)E4PQn6k=Ah!G~)jq6TA^SS@pby|X~iV|XVl2TSf=Q8Cjt(I_a zNLDqD_sh$7=0VDSQHGk=oI~bM&T8aSwO9%m_awDi>`b)FOFQG9^TH}F-&(_+57Z}t zl}Jh(H=Mt$gU&^>xLkE5le%U<`Ndo>b**pYdslL)V@{Iy>b^X%(n~sZR~kWQ)kQ8^ zt(|-3N$I8nWV!Lw`Hk>f<`~&+u9LX-PTA#(E8AQNWr4ZQIT29O8D^!GjOZ`enkfaX z1rqG~LE>2xrH0i-%2=%l>*w6Eew5O7SIK8QK|eJl8@f-Ul1W;-spKI}x`5VFH6WIh zF`i0pYrAx@=Sv^!f#lV?wDZX%Z1Mv(Eol#u_SQBjVYiX&_D$m4kWinVTVt-};g=E+x9rd_wE|h*gyZj-2)pUGZ`$#K%y4Cgy}}OhqOR!nVa0RiSp(6-5`5E;l;(BkDR!A=ZkB3xTIZ$9l+4yk zXT7ftr6TTnG1UfVm_3SjXOWJQ)TR=zT~s=mAD!Rv{kqmv{CFz*Xyj`H39S^)PHP73 zbOzz6B(9ZIa-pv*Rw2n~eJz>o5#$kDDyY%U3~LVMXbo$KTbMTURO--Xs_S;6QH#W_ z@=AF%*ZH8%Nub$CN~uv&5q}Ay9o2{?$QtQXwnp;~zT+A$ja|*9HtnmhTH@^Ral{iBXX3YJI?{DX64N7# z%#}t`vxkvEp378o4t+#^S*~)(S$XdCGSfOsR1Rmi%I{1zRyvQ3m9oYNac&riolh!* zD98+nRWc{StZulBFe8qdV~9%btT$K7O?6LxHI_KJRCn1=zxj*Nfil0rf8t3dGl$Gj z%O&Ig;FC;JhvAKL+_Ythx+;rRUFTQmqH1BET22R5!Ffm-L(Cswrt{V;;LI@ENj8;A zeu67174g8#?94QSklmeqB9ZOkAu#?&28u*{f^A$EfiSN3Bi{g{W5g0s^yj(;>=pUQ+$CZY*SxRu`m~w+NH>!C zO2jh8cy!=Q;+nK0Pa-vxGvWy_hl(f%qahql!)wx5gv>zZ{EK)+*%R_^F0T7QNkDg> zM(R9_A7nrGb+|vyJ^4o5K)&FeLP%YQJ4hX81F|O!=UFUdA0XezfzS<_66XN&1n9DE zfnHWU`tn`UjQ*>YIa_)ghh(#{%b96UW87INIcQf2p`@0^Cug@2Wu!Kr%4-#0mRr^7 zEBiT{?F!P^PU8H^SQW^)S;p$(T(>7lCA+covonduYC+f>=Oumh2>Pay^jR4#TZZW| z%jzgS)Cd`>#}V_i4TUbnS-RD zImp>>FLAC|o1O1{@c!h*IANx zjO81g3HB>zh53@X%mDPB3kEtz?O&L~_2-%}bGJ0Hm+;P9?h8tHS9!_d>WB`{NiA1A z;^l{Igw;lta`yZB{A^OmHN!dR+Q2(q>CZ{W^}DpPBhg(x$?ke973~v})mrcDveG+C zT$iK)bAoSO3njh1O)|R=NQHnI^qZD*!rV)Fur*^@aVwlY?;hiR1?xz`X?;hZ59{lnvzu)RM@-ZKLYu}?j=O`OxvEE?UHq75jF_-O4z0jHY zfO$C2T%6y5as*8Cjp6A6BBYdSzobKVt*i}< zr=OT}CUOqB-pN`!kJPs3G7lXj-R*L6h|3>}%Nbcj`NuJn>We zDS4bFk5KBGlsU4VBaNUO%q6Ua&R^yn=OOdv3sxrQ5cSE(c$wL?5uZsfKiQVFwKB;D z^PwyX80Fk@m2s{H?2{s{F3elbNfR@QwlYlSSs!H}{?W?5N#2*8qXFfeQ}%7=NPw4m z-Eb}kRB;}%z1lDF73xwMdo=GCAWE4npl?!Kj%cc645@+IY-S?(#^gt z!_08!1@r76=3eQobiZaNY&$F%2UCx@vWS-qrqG-QuVZAv; zhS&+EpV^S-4P`iE@nGnuo=aP3XV#Gl#%if;rY6l##L@GPDl%9tm12bTfwsJtT_usl zJezHf$HzX&Eant@&B;>E9LQX^6zh-TGSEs!`W+;#v6{JVYUhesL~O?Y%;qR(rCCO@ zn2nsJ%#)v*vuV?(r8(<>_SWxG+BBUv0WFMbpI#R+ zPrkx>ri0~n_PRPdv(-HE*hSm8FDCPI(^|(IPR~uJvCi7!yt5fKDGzf%eAXuXdp&P- zE;CPDsO@3~J59}l)bER_44SD(WZd z65(UE*^M>lF!cVjU-$GoL(~h&WqcG1y)QJUW2c$Yojhlmm1Qov&!V>D&naObWRr~M z1Ytf9u@%$% z0njj-vdEh79WZx@9OI84m6GcOPy{YOb9e^KcOvyWg&{WRvRwyV=DWySz&pNcoqtcz zW$p!ft~Jx&&LbT9f${b<`nPJ%MRmfduYPfAtKZP|YGlt%$^YR*PGmt-)%k&@mcB#!}z4zE^i;ys-vfzbh?a987?v zFaTDW!7@hO@zKNJ85A?iW9Pfh6`p5Bu7TaK2`@|<*^yH_J0$@72}GTgNtIf&=QWM;sA>Ce33c|f3yb{VqW z^^;6-Etkoz(z1^{o~w+EXF*bdy`u{3^;BRkupGJEW5{yvd#+8w9y=ETVmTK)2J?|J zQo&Bf+$G9&;IM;{%K<2b@dnUzE0TvX{_6a+(dC zQ>vTfRNb8Y>Z2rs^w{qXbLyY0(eyK;62SZem9eq)|hknw4T z)73XuT*TZc4fgw%y6OET_Ia2)we#&`CSZ<#OcpW6?Sn1OxxQ!5@F49_uaj!=UT5}O zTvAXS!KXS&3Eq8goOarqh2?~$_d8cOx({vz^nJ<^n0C;!7QsKz>#6onKS}XR|d%3Spm5 zRwmYFnVgwc73oBObyxRU?5Ad6|9OP5R93T>)WjGe{f%whkB}A=ylJKikWtEjj{W1W3gd}*MDus^)kxsQ$R`|Nwo*=udY&f&=U;@gK* z1KBhAfpzC|fJ=tEGyGuw5*ElJz*KB(KJ)o$hXDw9S#U8X>LV^S0NM{#& zr>;HR|H9f&@0E{qe)g@GiaO7H;ZF(ANgve1Ic~3a)>(6%wE@YT@%GQogn$6&guR(L zdtKHMZ&*h(V_&ip`RTp$OOnr%SULv`k>Z}EQj$LDoXCeC>6e}(8=7 zPr16YHaJ6{SBiNy{V9DyC;J6@en>yNL}sw=404T;k<9&yvQM4@U8N1!#GcxEN$p8a zdHY6}pL&=pn7byF7P?%jh;s~9sB*GV6=KXOA|q63=E6ms`Kq)tQk{@}FaQcLzjzB< z)G~?pC1z)d_a%&#bMf)EjHd(5^o&#YWHL-O21_642}P~*GTk~)f6+}6sWtJM{l#dT-5kC!sUJm`FM-KGB;O`1)pUpMEq^;m{j2hq!8`s9Po5a!&k`Q~!je8l>7 z9(&X|*&9#kth6S{MAo*2&5_KN2GJKsI4=TTNRZv0bzCFrk(qf@OY~NZF}I#{WUS3a zAN-y*$7O3j`wIJ=XY8pjxAGaijSJ52c0Ka0NIq4Z*L-Waj9$j-y#e*YS!1-|yUBXV zYow8h(7~=GqgX3e^7YdT$*Z5FB5lXFmot+4pCz8%*m=fxqauf(eFKYqsz>ah47XO$UfIX6 z%d%f_lYNjSto!e?w!bF7*llGn^N(Pw5_7+MGDwdR`umrsG383mdMK~sxb!%hhCP%> z<}aC@_i8Wu?hB+W?X`{>Us9=pQjzs-5Z`lrm`hln@tpv@uMWt@SejOHL2lPPzMX)T zhqgLLiqhu=n>FDo`&Z*37vEL(({B}Wnp@>r5C6#*-IG#{@%AZevGS~~dRWWZbHCv< zvnKJ)V1ZNAuH_W9raIZp>dta?g}r#zoazw!)=l~L)J>MMH}{QoOafII=}n*5m2Vv3 zthIa5H`lY;vRAd(4`XOAS6fL>yI#TkdOUp%`-{TbC8{*n*`wLdUTAIlE!w}+h`5A* zO6G?-{99*@JFhgPUzyGKz}eOgDaqRNA?4}_N!d4O1!em7DJe_i5whnA_QjvPL!F>hn7DB(;kL!2r zNuEMxhx*L1$|74jx6IeH;iROYzYB)pqj9C3t-p1Yr|u)1?XH~UUx9Bs707!w^;tnX z)cNT;Ct{sTz5(H+Rg-ziXy*p=m@?@56TCp*Ngx^I05{|@2gp>l*a$R#@YkytNGVJ39SuLCu#&h{(jx|_|>NR5|ZV@9R({Rt~EaFi# zkGUTKS$D;>vF_08lol`+^m=6p==I7BK4qpsYpf98c z-CkzED9~{yK~LxcLqMmY-!BKXVLU8@t)Sm43~Qk}RDk)>_l4PK8V^gkUy1Ap6S>y$ zbvzwkmqDkkSqVB#T|QkVeXZ*dlTS>XCWOW085396LzlNg$-|M>Qdg}Le{dC!M`dUZnW76YV*K3)+N9uQbN2jmT*7q^x(^99a^V2%*3Hn_f zuG7?Y)8*E2bUAdmE|ZS0b*%H$<<`2>=z4VIUgx39rOT;x&@lR5r>WD><&KG?>!kD4 z>FWAx{rl32zFx}xQrZq{iBHp!Ns(bl`rJ?Ke0d*K6E{d<*}UeZjVT zk8e*O)R6w?IOFgLXO!KP{m>asYikp8clN*aez19sK4CUvEq$(rc1&3!D0Adjp!cNo zoRvPpcdx^Af1#hp$glJ{7{!?u&Mf56u=Xsb=cQ^K-+-BK|08j8WV2&&O)%R`zJY;bjq<_Mt9UFezeRMEwihX z&Uhot>7?&nE!ltFhn_eOq|ZnA=DM5>VJs`G&*}K3vqVeP&wsD>Q%9W#`uS4&!t`1Q zeficzpGoE*oIfCKpL7=eeXrNuob~aozyFi;`4D>gTy93M`g{`h_+Q8dIv(@tgEnW0 zw2%1CE<~Sa^6hQw{RF*-9xe6R9(|UFx&$+R6to&Ko@?}6g|YJ=VSLr&@aO0`%jfvo zm>%oDM9+mjN6(c$&r6TppTl_mc|I}MdT#VDFkd47IDeNR+!>~?^?b@VuVQ|s=U6es z^a202oO+HHgPyZ}j@C^KpV#C6UKjDr`*giDdOjG9ukD<|x1X|(94d+J4*FXz`#VLM zhmWBDiay)sYYW&&`=9n>?YCc^W7B@3ZLH6%`Qqs77QT5;Mr@gm^oHth)4sD3Fnb%2(#|a_M{4 zA-=PDzVhkwbh@9??OuO3*7@l(aP&{UeueXH`k8MnOWW|Bozwjk=jZe{L>(u_pTCs4 z?)tf*&mHRXh{Aa|+PJ}9xh|95n~mwKV#*p*4%Vps^!NIh@5Jt8Qp#hZ8@`t_hYyPB z%Y1ooExm2*0pnD_opTk8m2_;jUZOn(yn?V5RC zV-0B)*Wcrro9EEF_qF9Oq|JAH^xNIVw`kutcD`A~lmQ?s|E-KZ&lhv9?;qut{b$TszW*X){Ofhl+n_H#+y$I!a-#CXD3}g&b)WH{ zu%9~9V2vv{sw_;0rLf8s>|}vpJ)elCGqT@j_x|vq&Kxz=*{C*0Rff5+3f8O5PEJVo zFKY}v4~WL@!2G9!SoVUbMeqzF>;;bLo1f_U%Rj)pX_Vb9>POgNcXP7qIm~~;F6umI zp5?N;L@j|A5M_69Y#0p#{2V2J23;FNusLwqaJqI2!v)fGS50mrECPB_6gWshE~2h^73oWazT_O0FZISIYq zu=uX`(TPxr#jut#-!JdXVQ)E!?-_fCrru}N^LGEbBC}pY=zZG1*9(QY*6V=iySMT@gwGw-|d|USKVe0hRM`qtNu5UlM zK6?%1;oDEu`?h+&mOWpczCD36ee7}g_BY5|uR&t)y%RnD#*7^?s<+jG?W zj{gnzCH3Cqe*_=Ue()Lnx&DtBPonNPd?n@|RTC4^`ma4%xiftCralwFz2$Lps^%L4 z1N4_ie(>ax*fLla%TKb7bIC{KjNIphdz2B^h;O7bG8kVQ-x*DeHpXCMhOx*v!pU_< zB~j^AZq-xuQnS^3wOj2m`Z!NM` zTbrz1)@kdq_0W228+JT9m7OE`zEp36jGzobIf9A?6%QH`G%{#z(4wH1K~C^j!Ks4F z23HBL6I?I2L2#qsLBU&t_XHmbJ{kOb@b%zZ!B2vp2fqo92#yNzgd__2DkMWlk&tpB z6+;?_GzsYz@tol zR%c(^WNoWw>fNuOTv6Gg94FFYm;7&ShM>(QXmh7-Gyc78^&6a3w0KO0V*u&E9H`TA=o*y=H%N1ls(;oM!%LZZdb77tI$|dh2Ve zoK?+gVRg0oTNA9s)*5TGwc9#lU9lcn?`&nqw}X;zOeLuzf>cn(ps$091(gUI8Z;_s zUeMy8SHTjTG&m% zAw@&Vhg3qFT|;_?Ob%Hb@>9rlpElX%54C;TOdJ{%nl3c+-`cDitW zIQizrd);`sTLB6W_zONdNr;`u6N-l?0(aCl_tB`We8<`x&^>CCHjJx^OMAOSjfFu_ z4JtrU$PZsbMt&982YRt{`4(RM+4VlVtWViteOmVM%crFuFMV3{-t@Wcf+oRT@E`Z5_U4|c-Yaf{bB3F)`jK0oh2+& zSjMo>u%NI6ci-K;b@z`u!MFO|XnakszPs}7^2{c4n#^uepjCz@`J3cz{G!pp2ER1e zn=Ey_=CRUyV!Mk3l<>8GUG>lY8HMNr$^hq1j4_{aTt_l4`2KsB&LMHkOPo>i{Zkng zd%Zj2lnF2F)7K97e%Z*bbL~Z$4Hu z7Jb?0|M*J$Z~y&M_`i+(zY27pa-Vjeai4XcbDx)C?qlv7?wjsg?%VD=?z=KvM!3V= z;qH6x`|bxaQbxJ|bU$=IazA!IaX*#OGRFOv`-A(V`;$Au9VugFoIA?xco=X!O2)f? zlL<1>eO!L<N1F_|n=JjFdFJS9D)Jf%Hl zJY{97O!JiUl=oEdRP&7!&BeWz|+{%#M9K%%zeUr(tF?6A8nA0oO9hQTf7gv zjpe%h5oiax0s{iwfu2BbU|?V@xgj^b*#ct+#tDoY7%wos+>+aY2?7(ke|JCg^z-!h z4Dbx})b-T!H1sr*J90NLYhX4BlW@7msPRDl3@mC?F}@8f=Dnvfsmv;i${JW)WmDNb z7gY|=CC_Eg74@~s>AB^(?YX0JdG30`RBlhW=bp;rxv%ni9;ketKRpjse$OLSKo#^n z_B`=C^*r-D_q_1D^t@7~J#Rd3RTvs*2~m=P%C(&qvQE z^{uL^s;TOMB?3#TCaP&*sld{KWmGfOJg{tFxxn&)6;un=Qnga8RU2<^PlRggiB#=8 zQ69%DUPHB49aKlJ>CNM{R41>kI(uE-0M*6oR$Wy$)!pmyD%Hd5^#*!ld1HIyc;kBG z>9Noo-Kzvs&U@0)Oc@VZxS`Zn^aBoCiCX?CRek) zDbyTqN^dG}kT+P(RrAz*Z-_UaH={>_x`SaQ^(YCb;4WJTTGo)r_^b6#(Tkg(OcYG!h6*Fo42I5l=qVNviFP% zQ{moI-qYUF-ZI{@>Ylo<9;iRnL-j~KR!_XgyvNm3^-MkYR`XW%R`=HMe&?;}t)*V5 zm)_dmI^Me8dfxip2Hu9=M&1+Nlim*Aj_Q?qt=_1&-Yed#>YcZf_nPT415CH+F}-G> z8Ow|vSTV3tVCBGXm<^=2GFTbCIlZ~8OjhQ=9)UfrELK*F-@JM=dNX+scz^L8^#1BS z+tv*&?<{JI20p6_EVe5!>)O+3f%{pcsw@z3mty9)%?-A=Qr#E8h<{o#k zztJ1MvB7`s>n|Byd_M)((i4rIS1|(l(0y143&MNgB8&<`KkB}LybM=hIPg0TTCBLkkT>BLjD*{8 zkMKW{_oEq&d;pv~a|3e{KVy(D;T_?Ort%)NWTcc25J`9xG6v3x2(uj{E~-H%Mm#_C zUt+}fLr*69d%uy+KO!6Hxdxet%;1NfPK=E3HF31e=|_G*GR7E;${rn7z>iEq7K9Rn z^UNp-rATu!vNTjAyg0HFFk;gyGS7wTgqK6s0M6UfJBm>gnh>s^H-%DnA20g$onl`kLVqj9VmLyat;nN* z-MoJy!vTBIBa5NadMfrwcy?qS=t=lPBr_>ZU=d_*m`&c9k#qb67Ddj5d4yL%&i4~o42dq)Zo;b~_xSPZ z^!GB4=tFpCWPd+ibjL{-F$eQJ6LN^3z~aaeFp_Ze=9`y{qFxud9_@!;r-(TQ#u0uA ziSKGWSCKyee&o4^oCecL2Y)qZ0QUCWLQ*GBsX3xe8X3Zvo^Q z*hu`x$W5@5@IuI4emt*`=vbplBhj;oem!rH`~0Xf$o+miuaO7f2=U7z@nMYzA7nMm zAN(MkHf0`%(}cfAo`Lg(e~bJbF5nL(klF^?r)nVaYrY_fYJ${dBLBcr$hSb+su@zJ z^^tI$?>Iirvs2qe5cGL|2& zevdY$@nSDd9{KRz{Z zvU6Oq_YjdC(~s^;tXfc)G_`K( zK?CB?MK<)~4M8^Y(%!ALglqf!1eDQB`?S`>2ClIazdjO9_lWlr zax?7W-D}9*e!ORpdtfi&VaR>3pZKSc2jC#r+P1pfv~x~q3n!PwqFml%NFDDq;ZKn| zt;>XKJ74jmo+GdN@m53Xyun))c^z(XT^)HF?vTz4Vr$XB;ZqI1lGGUP;(S5OAhse;T1nTP{HnIQ|| zwDF*F_M51Pmd3IC3bABs?{86wD5N1#L9e;i`M&|Jw*$zJpv#;`Bv{}p(m`**NkP~B88QUQa?N|e6@YrgLN~$Hpbppi zc|AX|NI$rNpIFo}xRIY&)HS#X3?e>t3?2$wxvqrV4)|ZJA;`V(3*{+QU4Y);|Qpnrzgm82e{1l!OPJM#WNicPawGxSc z1Y^HgYmku;MI7o%)g;8jHRTNPLL#nfA<>h@`v)>HU|*{#61{6;Z9-zl5bUq}kC0rD zoA{ZLd7v=iJ&{HHc(H#-Q7A|FKxBESNIIL5I`77WqlXZ5sEM@=*%i7GJ`btW`hn{O zNOTc0pX;BIi(x6(hmk+}@uH)UWw3_u-;itlc+qjlPq2@0^c$k%Q9s=lL;m!`Ne~Hn z;fJr25{iC8@pFDv%>JMsPPFsWKX4KL5Q+XY{Bl7;6Z)~RM<{v=O+q*}2@QfYTw|Ni zbbfT34^8if^_zsEyHI>b_W_~V{pda*6y0icUl593HM&0tt>TAYUrT6J7)yAB@Ut>M zc77yf)F|wfI<6nP05U!#pv{wSYJ6S8FGVFa<UIZ znYtyk;<^M|^wdwoFLWf`aX)rxkqq~NdfR3ATW;S1Wwo`e57^qSCX$u(vJT<8wn(`EgONl>+#Ki@L0wi?FO|4;{EhZ@z!u@!x;PG{VWpz|ICz&7jY%1nprLc8vqPXK5R6fD?dk z*!Y*d6wtRTGwcBB%3s-%fLE-Qu&etZ^Fe&YL)|=sU=>`Tt&*jed)?m#l1Hq3u%7Jz zd^vVepxm(^@(Brlh(o>N41k~E8v6`{#jOsP`P+50?Rfh|;u98s4V)KAkP^zlEFexo z(o9$g&~d_HKs!uG84^AdNfZdw;j6?j6rPJDZU&Sk327vm3a3Pp218?@%t^6bGRl-} zD`OS5NKQV<$u~t4Ang>?J!J~053}J9#;(}V9j3s0#)Zo81AQT73#M)%37`wir7iV< z1NioIku;=}CO6c=zl#BBrp33?(tgvSgLG%%sYrTsmcBDAhU@sef;KP&mH>9mfG=hw zEaNV~Pcose%r2meS9IQluh!s`!UUrHarR2E#(Y zUn-pzsoYKEo2)=uRVZ(j5yGE}fp&0(zwyZXRk2q!{Jk1Btd3r5puZYR;RVeToqmU` zNxYhb)gq1B`C*<&of2>fo`}>f2H2w>VfB{4JCXWv0G-!Ie+|%M1Ip0gB9LFhQ6i1L z0{o%TEFi2g`8Iwo(u6WLO$z9`88&RTQlxoa*dx*+6X26Axo=q(eivyqQlxb-P^UKN zrVV;(Ge@K?dA8jQ*tZ?JX-E0mqwn_AwS8L{3U@_1q=X-UcpdSxP6}E9`s)-W()oLl zE}3ByJYE>|9`kdvq)-N^<9N~@j}FIAfuCR>oCS10 z0sT$L0F-4yXP6E<;Q`x;*kNK3AbjEha72E<=0Eg=4G<cSea!lS1 ze~3&WjVWmW{Y=5;Qz*lfJrKnfVpc$BQ^x}Fr{OQt(Dk(3Pz7cH`Anm%(_XT*m=JOS z?@S*AtKkUT18g|M18D*On$Z>J!y~p5$!BIUz^*fg1L@8r-I>=!W>N21-C-`Qhns-j zXU75Fn_V67t=ZUP_Cfd{GA9_&?Ht~lGZ78};d9A*ZZE*U<~|ddhtJMy545#;&+vlW|x{8w_lavHo4S%uzLEo7cUU00U{{9`qKy84aCnp8l& z*P!1uC*V4~WA5XE2JkD}{T1LmV9Ry*$hsEL11QhB{cQc$0_w4T2iy_aK$;uoz+WO8 zM~iGq3Fv>*ZIR7mM7AUY?6&11TgB*fE4to_Z*Q9qPeryjhZ`b0Y69u(pqxMV1$<*C zy4*>gySj_)jt_l+JoaGgJ>;>sDC`y4R}!>*&1VUo?Z-CzuZkR?t_P^oFL~jV$iZ|l z2!00q{MYhuOXLvw9l9cN82cT*A#$W5ECBR;G$&C0qkoG0)*sdaIy+VrNb|S}-@q_9 zEOH_haD9UOPu2nKbE*=M?rF+%dIV6nGx^{bcqMW+8{o@lsngkTk#n&i51^;>l>Pi* z*aGDH`?rAIFWArzv4U!Dp_M6MKoH6m9N0seF?Jz$4x3?c0?54*I)8Iqs5w*m}PD7lcE6p2-2z0Uh0s z3-th9-Jc7D{mFZOo&e^0)D4dOEs_4|O{ zKE{D@tQow3e|_S){+(RJIX**SpU6q98!`gAjj9Xi(V;xfOyTde!c;N%E@bds#^5`O z!M>ihQ|2Nq4HP}Zm*vm7l17dKR*x&@EVeb{g^&Q+3BcLrH-K<62li;Kno;G5z z4{3NS0`a~3#0Vsvz-}-WRsng%BHvj2dOLP$SP1-W?l>9XqZn}~!do%om4_xU4Ss|h zV#Fuy__ctr_@{ud1mu-qlNbp@V2l`vQUPgy)e*M9CovLN2jV1&3&GG9wu_OJca!dd z<8TcgiIJ=tgo}~9E)Xv{bxXboHi(fT5K;hfQc$LpZLU&jP zXT=Ck0F~i;cr8ZAU?80JxDi?#7QizxQuhJQ^rV>}Mq28c_MjN)asbcMdtj^>8ITz! z1Mg>y4a4Dq7@58S%9ZJk7@5-mWzT$5j4bJ(6WkReYdq*HMm7@)!9_8$lTY@;K)yNR z1MlX@3)mn>Jva(i;W3{e$u}qO<@IEQ76L z6es~t_$+Aw{#TIjLgZEGfEa~q!b35NG!&y~G8hPZ#VAI2u_Iy>M?b|$qXf@Opx=@i zU^HN}QuspYazNS23=^Yl9>6clq33eQ@;!iZRluGVZi`W|9Z;W2)VUJ(m0JL|tsKcG zP;~hX;oo4>Z_r_tgir^57vo!=efuqR6QimEbXfJe7}ZKaPe9Mrm+3;00=n<83(kwtF$qw{j_9&eC-_4Q z{=|XN8NGFG49mpm!uwsYNtcacbd3$wU^=`MqZ_vDMq1r&iqYKwbol>7W!|G4-ASwa zQ@~exkXMgXkQ2&6BNzqi;3A-}o@t>7)C9`Z^MM$>c&8Wk?S;O2?S)f-pZ3O2dS?@( z54P!xUi-cfqaS(nD*!!UF&u-}V)Vym14;w+8!!b(V*olDh(8YeAjY6%PzAmRbTkNE z4vq`dV=(0$yopcqDFNLL!FPr{7Gr377yt`^a(*8l$m4tBe?MA`Vc2n4JHS@MmIGxT z_FjzP9!LR{eRy%G4#Xe+Bb*jv1nG?U4(0;BGXftNaTe~v8!<+@ASq-9bTyJTHnJ(u zpNt#<2O&xf)>XzR{CyN<9z}Z^RUbOSV3-U`;gJ}lYd}lr4X-$|w^od?)SI=HF%JJ6 zN1X9I8~=kC6Ub`ui^gFpRd=g_yXECNy$EkCG{&Bhmlymw*F=ix! zOB`*$Ml;umF)Kgd>$8RfI+}%_&;CP+S;-JF_xzTY_c4iEXO9xsmJomfc;mbfTGX@ zNPh*kSaBF0h_RBotjq#s0smRq2_^#NT}c`%Pr*|$R(%E8fOJ+7Z&fcC2{VAWtG2;m zxB-!3to{np0r6Ki0^+V-0PBEwtM9>EG1k~X+%@R{+pa~=KMeqEwGNxEqYmq1!!0p3 z_JUbrY@+Yl)ByDL7PuqE<{e^eA+0U6xh?q97IeLpK5Q#-SqB(f7XfK)rEJ^M0yf)* zuWZ{5@5R_o{@d}@?bvGjRxx%21LfGEuW1iIX9Cjsc_g5}o%F#w@zb5OmtD=^7*LK~ z=zDi*z<#@rim``yd$7lzcVg_thI^^wKI*d%|JwIVjQuSD8}HvH#)15BQjA~HzzH!9 z8jui5!ArJl%fNmy4&{cLungXaakwK;ro;EdI1&U^p$UuybbbV#AGruTKbj1%$I+?q zyBNO}g85<`qb|n=!A>!bli%?rVw^|}T2il*C15*T72{M2;QmxgSPyT-IGqa64{HsB zwT5wq`kx`KGnW8coLvm)`fQjO=K_KE&*8)89>6Ct&bI=}^m`J(Ru@c|0h{4BF)m`q zi-cd?0q5Yg7?-{RbatsOkp3moy5xv)nKUjJga&}UF7wV6bbp2VU6};b>B=_1K3AyE z)eL~`ul9$HVq8PF*LnhJUPDK$Ta4?(`{R3<1&77BK^`}-+f4<@f%I?wD#oqSFc5fl z>%17Z69DPlp^e=^H+TC1|adN>D;sK6Z13D&_=QL%!dI-C&|yDX4r>|aI2NeKPnlc>0q zJ6;AD1y@AHr#|t26qO(aRE7qyTU5e*q7w0cbNMO{P}aodVS=b68DXfXq`a4Oyr^Ua z;jF0Sji47yggc^A@Lr1f95>_V5Gg5VO8&xXO3IpYq^MNMV1}q5bi{XS6&wg@pfG#~ zCq#v`0_qsLQB-Qmks5uZDFk7n(h@K2B;a|v?yv(QM5S*Flr2LL>=BhQD{K~(2_3WM zP?^wMrYKRF2Lm?Bg3M|HWydso0uE81{VRHdY_N>t@M zPzKP!H{@R>7)FTtHXj@mRh4|I5?=MTsA|-sI%TOr{c7A5_1$byHTwZ&tW^Q}0Q#wo z57&M!s?N7?NmSiz&;$MuRj)G)1ME;Aebq<5^(k)y%GO|^sD`B9usKkVM%b`XPf?8x zs0q78H6iULC*Yo_raW(20II<{QOzu%OwH55Qc*3iWsAe`N>odpwL~W^b3zqp3sYbp zycN|dJCuML(9#cU4b|p`sJ7^_Ep}>`9D2cg;ZQmZ7S$m&R08tpNE#ifU&p^hb*ckH zfa}hg0NZt*3y(x~Ne0xn%UDre6G3+%UN_3s?I?T{)x8KbhIw!WC}R(7*n_-#9OsA` z@Ao_-s#g~H1_p7wEC6x?KG}N~{4T0bMOZ1SZ$=mc??m^^Y~+!OUfDAWhy{_s%Lr0Re^CVPM~PsSf7<40360Og$WNYvEKFc8q! z)bpaIp|feNf%K=5=Je!1y{Gfuj8sq##=&z@GYRKgf#O?%n#ub!cLMQd;y*KaK8ti_ z-4`{xB>X074mzCkJ=_*Gw-j(amom(w-t+nc>C8_GKLPq&P!_^PEhL?Vlx0y0$O71E zQDtZV9RPhS8V~beE$oI9q87)2w18hN#wLrY)8doxho~hyTf(y?^aV@M(~@TJGhmaY z=x6CNK=(@{Mg53Q*z;FEjs@cUNS&7P{xaImvhJ`1$ZuJMsO4D!A6`z}<&R{gP#E1toH&sTTg!Lrvl|z zPZ}HI0&zFcPByH7Yoay=0(#ik6&Aw2c- z+d})@(g4Q80l)@ZlS6qR-L1=kyta|oHuSKqBcQWwCjk3w&j!4|eIn3)x6{6M@cxcU z&gP023r50rK#x0V$2&=PC;q$>TkgbHcYYMLD>KxAF|ZBL*KYK+yC^gV zbhCR0+!D2?yQsZ2V2`MMb>Y0I{p7R%t*8TCME!#9eis!1Igf=_2L0NO>*^ z)C8Vg#_uopj%F0{y{Ic~;h3naZXk`T-@_c(1UeiYU;QBJ8fCba2}(jeK;PHK0%f|k z6VAayQP&Mf205W3G=qLH1y;i^a1~yP`ojaEkRPf*D;NYbU>%^ZKW@NlQ8)0P8^paq z+#BfP2L646xHpJ~689!?ZxZ+BS|IMt>!NOz6?Gfk z-A)HZp%!$2;V=)jz%jT3A4J`W4;cV|yHf|cz-S=PyV&sVGS~&^{qCQlkH4xg>>Ktq zQ~+!lhF!uY!zwrcSKx)HaP%J@0tMh(XbA%WTZjJy_ylVs75+xly;zVIiU78~*AYel zK6Gy@oP=VZH~psWul>w~7y7k&WxiwCsL2bbW9 zs6Q=833=cfXbJscDy)Hna1CCGdgz7JK)oJTgVrz@X2N=)Z9K%+AL6%iC#CKJEx3fI2>=j*m~mUHB;KNdlm~KPd&&@d0lIsR?w-$u z&F~xChQCC;pe`@cLLsODy!(Q8U!eDw0=)Z@cVD9SmrbEBOokOe+?N;NiST1NNDjH6 z5;TYYFcsFoLAVC5M7{PxYA68c{WZFMjox2Rho6ABuZjEmg($wksW(B8559$8fVTAJ zxu~}`q=LLq8Ja;qm;$utx5Rx*+_$uWceJ~A$siLHgo;oP+Ce`U3v*yK?1W=*6&{Lu zZ$L802^E2S-uHotumEV|@AtwfxB>JDe|aDj3PN>g2j7eOK%4$RnLkkG547qL@S*E)LYpVK%JFyfVBYXt3-X3mw_k1TZx(!pa#$qKp*hk0o0TLqyq;5lr`N0 zegI4o<<0===3RlYz#IT|^PNB;fbtyW`D=+*DFDh>p?np}SD}0r%2zD~(t(2j%2z!B zUQ0|;fEqwcpf3;x%m>y3dx7)7Ljd2`O9!|W0Lp4mR$~Crwq__W9aswF0)@b5zz={) zVp?aQ5zrYJ4a@{q0$YF+0Lp4#OU%L=@B!Kag8_`)A{p2WU_7|D$t<1$?5j{C;ND9l)5Z<^rj}Zs06%4|ppvYg@n{$`*vvG4t=$^1l)jnKx?2U zFcO#o!~-jVO91M$|3zXBGT;fc0QvwEfd#-u-~fQK4qpR*O3cv;s139N1^^L2B9H|f z0j>g10rXF20idi7Wpya4Ls=cl>QGjPZ(P-t0p9?BOH6MEGzQQNRl=DD250vvjIS;IxC)N!d0_KTz^TfJ&V%91Y4p;~50nPyrfZrun+XAQ!v;qbI5kMl41snlx1HVdm zXADpi2n6~8;lM&512_ag4!t0UUR+|{DCdoG-YDmda^5KCjdI>7=Z$jSDChmR#C+@k zKcGD@42S}j0eL_Xa0~bmsFYY8C!itF1sDU&2G#&OfD+&?@Uz5xDc}w?2QYSDjNKPw z_gx2I?7kSgFUIcsyTtr3c0Y{W4`cTm0ATEhgEBvi-R}r+6?h7uul|r(f5@zV5CEC= zhs^pzX8m)3N0n^rWjMxBLLQ^Db@+pDAuet&=D99Bm!H3bHG!8ORPD@(L4wk17HlzbAS@y zYoJ_W0j>b%IbaA71FQoM0XG56MGG6CF@S!67sFa$4q6le4}fi|Ij#?*Q$kO-j8)~K^J>THcVTfdW78vTfP` zg8-CmlLTY~DBA{Q+n{V4lx^z(pr37f0BFB0>THWT+nxk&11}{OBmu5K(`uk>5XuI{ zRbvJI-U{HEAUqR8o@v(+7y#gzb~AuPU>&d(I0BplZUaw&-zC;w0vv$4 zKzjh=Z666N0M-CIfaAbT;5h)<>OcV<;0<8h9eM$y0F1rEJYW@o@psqF51NH$IfJeZe66pj=|zbU=Ne6TIe$nAExoW?RzW9UwN6y(9%VdO2EBxX6klVP0e+y=2NJ zl#m~Y&a{Wvd`}s#QjU}lQ0AGo(-2dLX@O#4Q{h14Od&KxqEZ)pNy!_vN)R0h^U<@w zKx3eb)=8uBBX2J3*z+f8+oW+j(r!$Ua-`yw>|DODNe4oL8aHlF+u-?YvYze+-%>`0 z)aL^Xs3d@_8XVPc)oYgq_h#?}NfVM*Ix~umAzAj|%+5 zhc?crNMD!!!j(vg?_G&LGcBtkbA8rD*C&bhUH?eGRKB=^Wb<&6y^2g&O}6s!0;~C! zRXm*5ArmAbb**YD2WWC6m|~*QXth2@KR;uD#>L=*QTqAg9~iDNK7q58w2HBJe^I7YpZ;Uy-hC1a7&|(z@1i4&9VzP{ z98GC-_kO`Kl+IKtGJD7o6@T|lJc`fe^-B~*t`1a-^yuGd21-H{Ti~mA6P2qt(AAe( zU`_qiQD9ot$rS?=6R!`%v}+9n(~IF?a6Wz-W?ly@4BOK4&=*Jlw733ZR)g*un+H1+ zPgrQzjGF&$wCfi4>|E1KZD6gbK_M2Jp~1tZ{p7GDdSFU>{(EG6%u1PkRlK33NAJ8* zJFdxW+wvJ(f(G%V;(+W;R;gkO zdM#v-tkU;c)JG%D;h6+%0x5#mXHJ?(NvAH4PBI!alroLZp!K8vev4?0O++sB%(iN?ZccyOE}PemN~M>05e}IE+f2 zLB{ai)3=W1uZI&a4vH3DxR{1l8x={`=$IEK!b?>|FWH614k#SJ=hPyrdKLB}tLQi$ z08$Fs%ZFn)sr-rbO8Q#TN)qH1gE1Ok8GK77&hd2rI^}t4@Aa#*P`5j+MI9&(sAAAw zM(W_feLd)jEb&4akG{8d%bXqj2N zg~kWUPTsCFpPVY#YG<$WGKinH)hr@|X3byQ)xI8HxHT{)Jb82tKWoaLtD?;+n@e)tl~xxx%Kgwo(|UrY^ARYI5_ZD1XA86u)3?3Qa~s0(!;blSmY z+O*ZX^#yuT^Rs==9Bl7T<(;y!)`BQ;V?p=^ChtokH{Z$ZT0su4n8d+Qk(yP#lxv}W zFw=?A@IPwTXhj>cFgJ#e#t{6#x%1B0Sx=fZCs%jOk+>Bdzh`f`Jv?Hpg*|_M`S=eO z$F=dZl6KqJu9{0XXA!b!anveCSI;D;zGm{HlXLSMH#iz~^|dTNJVj=%WGpLj;UXF9 zqhPQ#v3ypls1mb{H;bCqoz*Veec9tu+rqY{`M;8*$+gHe_M);)7C%G=Wzk!p#7Hst zg2icgz9t6aulLe=u|Pvjs?|thnFCy0J{WTinVEi)-uEzFo-uv#@||6+b^NaXIHaX;EEzXFs0>$y)t5{!9K`Vb705rZ9GAN$dqi5h;|WR{hA{;M<-I zsyL~wP$5fouuu4CB&}#%(R^qYf(FU@S;zVr1yW^9GqVA*IkyLNZJ}~ zYHMK#2~EwhwWv9E_{9813ww+b_l(AzbTZf0oWLaB< zMaUn$&7lF;zz`<$ zKI2u0o#OlLQdt%I9P0uDDNLULtEy4?l_&j9{K-DwwvA8N2EH5|fOG5~nnSgERB9yT zA+2<;OsqqXnD)xu`LgwV$yIznQSZ*GKiN6eYWRqH+f%WFr~;@pyAarEHKaWi?i;Kr z`K!Qg=E;^FY^(>2o3LDe+{v_eSFxS#rSNF}D`^`NM1q<$4kFoP$>Hs-yM&IM&)D=3 za^O6ZukYS)XUJ$?vq=YvBJBtfo?cVlT60+0j1Kn{0)_)PnwKO+mULP>Y>IyVs{i8e zr&If4_-Ji);xj*)iX}F<7=;Vq0u!tk9j9`=)Mxx1e>A#YL!zKB*2IE%4fl7Rd2!vK zS#~W}jh;DPv545TebT^19g-~=^KBEcY>Kou*N?e$rOb;`S&?S~oG>@oyP8 zn8_P|B5ujYUo!atPv;>wPrjjeU!!-IDU7Y|U`5J3sJw&!itzPeDCBA=q*m-)J|uwn zFfRnB*+6F4MQWYuVmfw>c#v=6h0jeAcrx{%yM%t?vF&)w4jKx_7y9YrrB}?pk&6pq zN^^B3^@0Ar;%B+5Bfou}6BD^u_@{$aMtH^VzrQ7oAv-y{KB z*B>RV&dLh^{mWI@BR9WUyfz|k?mk&l0D%!>M(;3D&N!!t(L%wo8|eL+p}7Q$>gU(i z1d@GuxQk5#9?L&}^=;Y7-$@NG8^=aD7!@hyR|<#o2Rwn`a8t3GkQUz!PJErMDvcx` zMb+?H0@MvbYzki5wk8(uY3eeNhIyEBN6{;u%8@+YFxOO>Tm8%qJcDz}KhNNaNKezi zVRV3}>F5km+&&L!5hCGBI~4_!=8Z{Xsx>w50b-i|nKV_P;WNp%hK=O+Q_p`l#KplQ zpSaz;{j2?Ht5wUh$|CiS_Fk(~@6Bt=PkPdOrdRVvQ+AWI-8b_D>2O|_f4i9kPhv~O z!r3uz_cJAmbjvaKRherZA6^bE4pdB>kJ#Bcrq**xO{LRm+4K?<-DVo695JQPnDPO5 z2x>_w9un>r9--7!Vp5NONAMxT9@+&T;>d^%*t|VdpM%)S;=?ugZ?`Ypu`RKj6rZ@& z1t-1t*Wb(X_vd5MnY?{Yb&m$(d6+^k)ng7|Mo2$lTX@pFA?VVA5?cRH(`a&u?l{LW z@ur}oRBxJ7`Plq06Uzlh0N#!m$WhPAU8d6Kxw+`zYjX+B36v0rQ1s77uNQuvI&eR_ z`EOJ4#JQ%(R9-oHLW$`$v6r`%51_%cdqteQ!?fD;1)da^R8r#b6BZcb7gG>G^h%uR zgz4R-Qd1GNx-4cxo>q~L@ukU85Yecrmx>Ek*%8|&3@XeKY}LnwHXAOuV%5r_GX^Sn zvCuC5!?kk{dO6#=?;)OL7asKZ%x3ZWO`pd(T3Fj8rR3a-b+llbF$KK%hAiJB9e0j7 zO1j>Z>O5s&jiY#zCO$iz;o)&H0B!(Em`SMdQ|&fV|nY~#M0)DWX{w)NPt{e(@@y7X%?IvYD%o21l? zvKfBzvKfCNC`^z!G#lsTR_CEw9GtXfF>nF@rxyL&g|YBSR& zTSaGjNK#iPEeBg#^1(rL7krC)m_*o?I&gi2TOs3kBDNZ>2Cw-S8&#cZpO-~ict!9x zC&yb@Z+pGqJRw#k)~lDyz2>0xo%+6bnw9mgzY;F;Z>)>04lIqmOXda*?>8o9bM*4U z(M*1Ql_YOuG&V7CK%XH|yBDrLI)t&8x5=7R%A(Piy_j=L3>Evo-YATdkAAPG+{Kf( zeRlepqRY!G|5X8lT^fyW0F(s+sH!DAT55!Tn72rIe90a!Ui#z1zuoqn-tCx}k#oaC zIZ|2gJN}0(6Whn^VWnS6v8)`;KutT*;sn$rJVoeEfSxE5Opd$xqsw>c0J9mW7=*X3 z5$PhlonVy2*%l?4Km1ArTeMJTy#by|u<6SFg>rq~bpNaqU04@#EN_-oM>0#*oraTU zSA2&q=nD?B-z%j(w;1U2Rd>;J15_x^ka}SheANF*UM1Q0!gP%czQawt_fND7FM?h8 zk~T8=nd;M4rmJ|-FKF@79y}j_=PjzA$7B&Q=Qr}}Gt;cGB@_5*Jmp6pRfd~>rVYf! z*{WZ#wcNrJP<1iA1T$KX7GTnlzVMP@&mP&qU2Wgw2Y4jd!|El?@r?$Bs zGz@nGJ+d?_P)~pQkU5|p)vrS=i;@0hTSESpiTp46klr`d zBTsp4)VR1RftjmLJgucpRS)@qFIel+QF0e?BjsJhfz2IHmm753f!ySXgX*6>a_{^7afOds6FKkM{f?OyYl>`AZx2}H9T9dlIgy+E4OqZ!$W3KGHe)$T-S}T z^Se#I4r$fWaV;I)^IOuV(TIVo>-fmRn*i&e(UDeO*8w^Z! z8Sy>x!Z?Uw;q0sRGMfm7u_;(_wxau^geSKhG!84CXQl6LYj168Zx^#+^!lL7E3@lR zTV_ALBw{L+NvoSJSMhB!%lSQdaN={B4(>?vmFqFYAyNo`ETnCq#!WbEFbX0x8(<6! zG&D!p%ikNb7(fqyn_swNm+LME=NtPQ4Rr}rVc73CN8jg<{&1s;f;JT{aR4Oq`Z{}J)DyZ z)@3!brH-?2Z#py1XJ_S8i?Nf(tOyv^c5Br70k&3#>s-S^M@Ob=RI~-r3{7$?>!*Zfh>)mh=CLP zwjpZVe0@n_i84%_r5ZPGM_d0|QHD$Zv`WvrlCRW9U8)~-wxfPp7=J7@CMuvg&VuSG zZA`mbMV~olZ)n}ovAK7mdv#q+f<#?iR}?Vnm~OM#JTTcE1N-2kVO&OHAcUUczoY~g zLDRNQCyQTkdorB7S;SXsq{?YgWCGzWO=);s#0`GKcb)9Vq5lqOF!HKW%iCVyBd7`cxtRo&*lR;pyb zdrIklEfi{AkxSW6|14A|sIEJDuX=j=4_X9w0H#71hibEA_K5m3$2C9YW|a zw1F^)PUD>A`KG^>MO&@PniCS7IX!K#+@{=*%JXG* zuzW5FOYbAo#3<9f{zb`5NvAF=WjU_cyiD{9d9bPi|44=il}8>3Us_ml*nN7QPjkm6 zYzy65S%tMpNTfx~bRD zDTowo8k?)3%LNG|S4u^L|wd_6Ve@>>0I@irYph1`gv)5u$>C~2X9QIq+o8L zk3R(VOBiVtbhpa@l=pt-DY0y%fuFoVzAIOlLMNlcqU zMvBK+v&zr$=ws$vc@6A00(PFn-s16pTsTxg80op2_Xz-19v#9_VI4)7d-8NPMEEiYUSZo!h@O_uqUxzXX_@RaSb|_l+GiGSNBZa zL#Tb0qJ#`xDEm}CV0BT)ujm2#^lz6g!;{r;H3ibK9+hX^=q0vo)0)bkv(_^QjJOrw z$XqlXkVlhXw*3(bGwOT|8thVPbQ?+y3G_2Qw(c_3;h~pD3o^xXew?F6jnh4wT6)+u zozZyf8XajKw%B5w#hdFSbjs|y7ZzN-9~QWC_~((A8_sO`b|)I~=6@1#WcgqdFYrIp zh#fKyoiu0A>9u?vou+9k`XItuXjw}Yf7QVekyqi08L_dDYt~(+*gx{}Y{@ry&W}eY zt_}?R&_xyq@PePjQ8g)CetlJhyw~);17_ zvO^`7CE77l;@8=G6Qd{pyoU2Idc!k^dgS)KoeQ`2y&~V=Pr{OAb~ut(Z*QF*2;firG+!2^%r}z*58Qey3rp!5Ppn7i=2wqY+%Jyn)ed<$+{`0&Rt%a8?~jq zi)Y%Ll$fI@N>?6=KG@0NzO1s$uG8k&#JejU#NUhVu9}p%a+%B)tysVG$iaKNa~5rk zqjYXoT3SKjwQXedv>W(v>4Ugw*O$s{$$hLr7fggWtq9Q&hfJjJ#D8YZ3lO9CV$u9^ ztCH6Ih6@R(DgIFz$1J-snQnMYM%*qVPD#!#U-P}Uukc?MFLergy88(6Ep>4U`*zn6{`f2{USoGMYg>wq zjqc*!_1W4KrR(UZ8Md|-t*0EMcdn38_hfdTA3lAV=YNG<4jFVRn}2_T$%Vvk_a@>| z#N=cAG5?yR?^EPoHq6R-#n|3dGIS!LJ0{E-x{qlwK^Jgkt1re>Lu7Oa^uk*#^T%T- zjG^eeIEMN*hnkAnbD?usNK9A)lV{}jkFv7x3u-;gKF8+#%mquVS}4?lpYA`>V|@Dr zYi&n*uGerfCwyE)U1Dt6m(u2~Z05yKmNkzTbZ^vnUe^>F(5;z2vN4o998R?0t&G5;Jg;69qtx;Ly(|iR zxR0@WjLV?)QB6J58dSCSpYHNC8Gic;(VG|N^Q%~#WzPR&aa!$ZxoRn)vkqA(!`qFw zu_TPHQkadl>5;mrZD(59j_UOPdyQTZeuxbqEGDUEh*yjBq23)Ged{E2>PD7S5gOE~ zUsHmqc&8ZHW@V?kmx)NjW`k+ALD`v-f>nIMO6dbkg0-+Ddh?oTRIf#YgNUl0-kMh| zCu-sXCTC5bl(;}?8_;TyMq_NzYM6X->MlyN$4||tG$X88ufc&$`;wuk)lVX_B>z>t z$yD1X>@QwSwEu!{3*HgTSGtkd;QU}RA=9<;o+~}eLrGp1$>9@C!I_!p_E>xc)l21! zNR<;2=7Gh9u@I-x58cG3d&*!cb|O9c1z2cXHt96LZnN#Nc@a4pWn;HX%p-9&(f4fL zwuzDSZbuT3M~I1;u)!#fJW(`-{(`#wP&bm1=9<9-Qe_sR3WKgrLI6BZ^DK}aPCbkf zmfB8@XVlEGIUE_bS0j%NidB>w(NSASX7`rHPz%d}E!khQXp8m%O-RVhC_*R2^cd>d zASq!MrL*T4o0HZ-9q^uDBHcrTXBS*Mco%wD)_bphyiZ;;RyuR|tw7ygCKGUftkJYLu zo3#p!%|tt;%2AQG^77I9!>$BM0SY}|G`h!)=g!z19ujA2L6pktPek7kQKVDJQr27e zgpdfh24>T@i?nOrti51qbf8}~>qH268iEmqE??!n@qP(OxD)~4RKac68qJgHx7az6 z(JATO<-j@CmQ(7r@?1WAj4zF3{=scs6*Tq~tBm}M>gYnfv_@Y#W67o|U%Qe}#2a7H zp{-WTfJBwhLu{6EU8PU`pTwyvTF2{o85uSfj#u(BGLKtoTa6kUZjHZ2j-4#)2V{I9 z%ePYoW_&Kox1J8}vy8H(Lk9I;PT3OJ5(jA$8_o)0OXlHJua)PKagv1JpTysLaa+5U14_D8aD}g zUtk+n(xRiS&9Jc0rO5bJ?B9LS-ljC7wGVswi4TXEXZ)_Ct-6MX#8DQ5q;DCMFYiyg zJEG|>^dK4CK>`!Yh{Y5M8!wy%;7$pb3b{_b=1Y&tT}@2i@yeg%!7Sgy6xxBd_b^@W zZn{p6O~}e36YvetN3wYREYq(fj^a%#$U%H2Q+cA0CFHVIQX4^Nf~{YK;7ZO>mA3r&TH z9G?EeQOC;$@|WWXO}?hHPa>@eFH^9E6Xn6huO8FW#Po!ab<5-MmK`<5>VdmMa72Yu z7N~<&5UQpT&J?5qM-J8Rg3~1!0%9)6y3*rk+#X#`KWVG&Kh)Ny*R(;3bD@iPrn$ZfUhk%RQ;q0Lja&5{J-`h)`woenG=8h+ZPZ_6yYo*5&TI2(+iy> zE=D7sfODX{>~kx0>ZMl0Uo1-9XKAti{>*1K*1aZ;$<`eOCu#GTLv?qY|Kfl_XX@lQ zEoXF2?+2@L{ivnJaa3i^)teh!A75%`HE~j>)`ScV84Di3p0vg39mvp8D;Nt6aom^3 zXs=QG6or3#E_V5MjJ0n}uglkCYDev={ER03M##A7190t68jRz6FHJ)PFAa(0yx>vqEZ>F8>|;t>}{(8>c6XXtu?;A~AA0GTv*EhBM`pA7?)7gZTTCC%IO&-=Q4|!IdqkO;x;HUp^(d;9Lda65)HOn4eK6Vd&y` zBRHz+LD#HczJAsEWeg;bLPkzbN*UJ7){C@!G%EqFilUfDcZu4eiBXl-}4K8e$=ISBBE)73#TR@7wLsYC#SZ~nLX;iqG{T# zCUK||>4jt2BmcK(8dAhMwCF0#v54eAt*T@G$o_y5CZa>;L*M@%`)^Stc~rRGNBG)Jib!FTj?FnC})i86v&`TSB&!94|4)mGB|VtULlA zs_|rz4nS)nB}TvIWzho)O9}@LB)5M;Bxp9d#hW8C6iBX{UYSJ3-v`cy$oOOb6dQ;Z zbRV!&wTe0OAG6AJSd;uGzfV!2UJ~ww>a)&qygO+2*qH{K>_RBR5^4 z`W*XNy&0L7%j8v+Un2gQjexgl2dvD1s@K|aI5xY83ByEbwUAq*UMJO}ANSi20b3tG znD-T)mG>TY-Fa`MQ{#qY_}d-gOO9mE@B$~{Or7e zyJMIpn&Nv?BZ%kJU3}Q!V~DZOD;Z}PT$CuYh3BwhEg*K*8h0Uf0oWPQYs3K2GwsXc zH=IiM29EJ=T5o)$y?h|=HYLufwuB^%gi|&H$${aJH$SQSK;eq*sCq{`U}EN0RVfj0 znccBGFo>eUmLEx5f zy3U%`6;!Tbd%MJ`X=W-{-NbY9`Yns0TIAT3*vv-$XQtf$iYU&k_2eerq+@|f>xvDf zA81{x(CL=Y&J3uSA8q=FL^X5)yvTnNusURhr2y4y`;ct#hdmdW8!RC<3u7R5=UT*? z?(yJu13zY9Hy|fV3Xq0vw<9X0kD7)Zt&y_$m``%B$jY)~)p^+XQ)8XfJS>&gp+oo4 zA;EFOE+H6h{)h#teh)GGJpR7&bsfKQ)AVHDT-&0HlSz+~KWr*bdx3ua$>?lddsF5L{@$@H@{A)CTFvn@o@J!l(2KHe zvqkk(yqA}#7~B*k<Khl!&Zy>EA>Ivbl2if71}^@D;KHynBPntnxBqM38ae72?1FhtLP> zjy+M`0q}3grI1W|*EGPLl-8bFD<)Uxh4-ItJlV%qsliJg2Iq90Z0Q+3XM3NhGqS_%>O2TKRkCB>oIuW9L8oI3vn4&)Y*o}-)=yx z;Rnp}Xv{KBlwjg8%&wSWeTgSaHdQY7q$Pt)Ii56Zq@vF)ACN~LGYdc%_bT;uR;N?)C z+BjNdBGxAEW*D?0k|pL$=&~%xX=wOEp!@@I&4o@oSR;M)*NzTH<}d!taN596U%$-1 zceLJ@aKg?y|3AwMsw_`yQ==9=bhO`qoc|UQo3%2Y(zQwC-UB9=JzBk|QRuCWr6ZYq zrXuDrYa43j8$hvwtGMp#v|%S627%clNjYV3Tc6ZwH1YPa$q(A$<+ zu<43U5M}GYxgokOjwGg!2HD)I?#KhS!uE?yHxW70>biu_^a+#1#~T5=Y?sTqjs@ET zJJx8~U_c+6yj?E4?DQpjjAQDwY*1L!MsAZ*QL*VNCHf5x3;M`PN=)8uW>|0Y{a8$3 zRMpR#cFNBBP;jI1u83-4j;uItp|D6 z;NY|sU6N#DfvAOT*+cF{BOo>)lIj~emCSg<~2;k zT>+s)rcsFvs;8>ani($i)Y18{Ka95Tcd6O5qDYS`U#&=KXy<3$amLuS&8rzNa$oi; zkH2rzty_d_Lt4>grsT8yr6MoAGnXh~tJyy^7}#HokZ#9V{iMclMqqzeq8};^cRIvd zWYIq|g@tNi39$5_4CnD>Px^y0oOqV>3tANxGO=%SV~cuxAh}GpJm9U7Sn@9;lR768 z+JA{(J#MT-I8^MrAh)=y@f0{QDzU{!tsixZO^;5_sWt5bzXkaaFkbHIj;{9UVehG| z*A$sneW1Fi+!y)9(nHK4(E`JO9@0aq_cw5;I*jzLkmZwAzu~UMFG7|TXefvq2!i=* zjW`f%5!DQ6ZZP6jBSg-~PSx=W8(~P`VYjK#`Esp9hrkAIw$1#H*S%D0=_SirzI7BU zLS~Pk11jIjj$^v-YZ~Y+lN9THJ@+-MZ0*&IiD2uJs_!*b>ReXS1^iXhE|&7cR{zP* z_)!_*y6DoREW_Ft$%|^)?l0Vrl@00}UE-uYT>bOpV>Qkcn&zi5I)3sO8ad_eboN)J zRjY2@r+^t19sJKf;=<*Afh0`oZ5O9zU5?f} z$#+S|U42fFzPDuByT5JbG?IC{&h;l_j)95Iyl2iAJ4lE#}!$=fUOMmDJfXz}HE zhmVU$0VpDWt;TuKy#Td)RD?TVR`84J9gaN7Ebe1Z_3K{emCc>d$u7kkK)D+}FI)*+U9(aG8G& z{fOk_HA`_2bQWjdf6bIHu9!f~HL@NDEU~?!HwZNN(Xflp2N~==j*>dprabOX>^AY@ zB2s6={!#qNpv*h-ogD4GQ#ag5I?!~F6T42@9++{0w7j%d~!E4A~-C>?0- z`=v8u-@*fqW>>okVrfT2SpLShT{{W)Ni_V)F%VQe9|Y=Dilf>U**S4i+GknEy4fkZ z)h}`fW(SsS=9NV}yXVN{pn-c1>10di39NlL(;6_Pa{ht?_dWx!acVyiw4yq+3H_=G zldIBw1{NfsW#PCLtBxDon`*~R#wp83gik-7v(%OFSG~5%tAv0LU-|&-_>$_wl@;~> zNRIz-r26jmi${Vc|M56wDx+lG29+mo=4UCB;1M8ysU}+V&CJ%y?AQw@2M6zexT}x@ zYI`DLLXpX^Z)N@V7Oe)4vU6E->;qvdXBG%sQ&WfPEy35K34*V+cpss5Nmgupp9oy@ z`$*hUvQ^^NO!El?_hopdd{N^fIY3`DX}ln5gS2|FJ4Z< zuJU92=)8{*ABwy?DDnvqGjW*x;B>(2P$R{4%rol;Av1GK z?I@_cPwjS3N%_&O*x?wjTsiA@f|X^$V={hq2MdSXsjJIeitTp%wQT0~cuR{pkNC#5 z?MOu2B*xZkBxzSBGCFv7(!5=BL;DSD8#|q{wAEzIl?X;h9!QAJi4Pw<8fMQAH0Hes zJz(xXb_iY&93Tx8PWVRE7h>(?=T^(QP0n^NbmZUcSo6w4v+Vr6&c>RuRcyBrsk-A1 zM6+e-bFF6i`TfPjb!Z35BErehLfksco3XfiQ;#~$y$1Fm6GxCehZxIEk6IY)+Y6Wd z9%ENor5wTW89_G4;5;6|YG`W09*8{^{tIYZ>YqX+#10F4Ph5mC5YmB6_MO&EH;%DA z(5J`JEf$vd(pKc#er4g&KbU{ncanvsbN9ZJwc2hx&VkTJ3)wwiLa!vId?~YAOUg|h z7LNS%3#%0Lq*7jxtaQE}0S|01Gk4O)%nihr=y*J*n#Sv!CD zzd31b{hAw?l`f8_*e6?QF1i!#?wKD6YU5h=BsN*3d;C!}7!R560-Xa(4H^fJS0rgM z?INq~x4`DxRMxKs?kp5PE9w!|n9)=#IV}%PiF$p328OlrCc&s>5QuXXnp)rhz##)m z*vyx6F>1{dSnd140icCjYPw%?yEt7jba3oy*P-j;0ajDbx}9}*ELh#Jot=`QDczZ3 zn%{g9C01EFLT^r|$teX(4^ir{2<`0UebieOqPOa;3L(QETB*KY@mlNL)2#<>5sLxpJWo&|(^d?U!eJ@!}sIzE!VY zEY8Tg;kLJ=ZgQk9)A`zUa{oL2mm(7z^A!vn%Z^X+2kR-Wtk#Y^%FFrZF+2IALYb8kugycr;s-1* z-!<(A{%C3E=^#_Dd`9fspgUu6nt82URD-1dnn|I)aFonyBhmT~-?;5LC2q0gUiXNy z1b4itZJTBr=i5%L%}+ahoXcWGK9YgAIY&|p#A3?Q`Tm=GD-w^{2BW4g*ZE}4F%_1Q90Et0-%Xf&1k zB|{U(~iU!gOE*G@h2>z4-_h=2mXH~ZW64QL&V#5%y7~>msC_NKp zLFW1lOPV-oY+$gl!w}DAdm{Hx;;>00hYp=5`<59udt8<{BsYIPBue|Gq^63TjXYwicIk>a#imT z=zNIK{D;cKg%-6kyhw#?^V}I12_PKbOTXWUVJ%vq%7{ z`i+lN!*+;rt9NMvKuDsJuOI#7YQ4Xayzpdq-A(z7X#a5c;0O6{-~0k1UHsM?4_%z% z&cAf0ozcxSQ<==KR`IvISfdc_R~rw@n!nE;eXWoz+6aqi%SS7Im;-k#qE<}ohfPTG z2mJ{#OQNcEj_a*2UmBcdo!x)BQArbi_D5dv(ya!WM%?)<1H0>KV)V;pguJ-5_YH1Q zY$o6Ga=fImLpiBQ8qr>fc^K7uK0|JW2@)-#sed1`MMMTf5?mZQO1#_`WqGwb8Qw()=zlD>8BT3id6ORoN)$d51Gzpo>2r*A?lWjH_E zq7|WwkatWI7E>$EVq)|BI6Cu=CL8Hm>-j;)T*yw-H4oO&na>!vNRfN&<^^*st(J9- z$aX*Oz`xnK=4T7d+KWZ`_9UTSBSff4gRBMoqTBL_fzhM;_Uk*OBl)nmW#`RE>f|3Z z3Nvd5=?a8;K#-9~Q2PNxX5OYgyi-DJgp{x{kIFDN>d60aC#zeIv9_B$ZOvY%0w?10 z+1@9P_DT63xWoQiR#plr&uqJVV0ap`z{&L1JB3|4x;B?)auJn`hTA+3>nMVu>WZoH zS2Y&-iPT_y{q@IdvOTp-WpUG!mgNUqJ3(#=Zz%he$XRLmc6O7N^oVJdo}noF)mJjm z)sN!t@$VG*nRq3G{N>Ww7x7Al2L99^ZMFqf{0!zA2QsxyEr#bJg7DZMKT-|-{m|q% zPu95xw;K`~yK}F#9TJ_X-?F1DdieAV8>^5Bt4D8}&$6~}FYiF<7kOu|$@1=OyHR5) zT@V#AkCJE`as;jUptWh>f(tjm%sv+!AlQaLaY*>M9gCzpo2*%WHGIp@n&YwK`|q%` z8a#WLh08g&vyF=yW2%cC-_hf&2R`AWm&2dj)hkn`VjaiLs`P|%?^(n;Wj4QQr z9!CxL`PC5d-1CNP~v=2u080+^T?f2M}R((|%=V5$E z@4+YX!|Pd)4Z)w~g1S=mH-0bTn)v--3DlMyRmH?b&6b2!x#PL&S4mNgAo1YeNF`Y| z*0w@DxRD7J=^&36^^rKG4KadvhtDm-al*Dh_^GBj8fG+V6(4BP|9V+mRan)?Y1YLa z*iQIQF?VQru((40ezJ>gBR-Gc{s|%5-$+eyg?ux4>cMKbnT*x!@r%l<^o`W%%^!wx zCvm&{48K|!!oT5*X!Y&#Wfcr?zvDs?H zZj0?!IB*L7Gn&ttAFhNkEpDp(YZ}>&SsmZ+i@efq^2FS;QI*`8X<6NcCsH?wt6_6K z&&JiTU1iE#QwuSHlegoVU7nc0y(Ig9%*Kz3UWXhDnZ+z~m#P=MpwpHv5sX zf6jsJ`~}u}!bVSW(6rry^>O0<$IjV1^2^tYpI9HWh>K0UV(+;8Ke)qfkPu;vsZK_`$07_lWWv3P8L^_>f%KDoB0cY0k?rrny1Te_Ic!>NT0xNhFf74Vs%Tg+)wRlPT+-!Q3h=h`s_m)#|EEN%P#DiqGjfjIY zKYtm)`G22Fah)4FmPx!lHE60|g7h8ghPJZ-9(Vvcq8xHM#Tx2?An}6{3JNB$RL0OV= zj46XE{9)jNhvMCTe~I)y?cNp`20)t{+&bu`M27O(6Vzy zyu53N=;ey$RQ%XBV@$*)VS|*mOuw9W~)|>$qRX>Pf|`ZPE_7#(V28<+PF0(^>8Hb ziZ^l8#60+mj5jD9vcHeWk_ciF`X;17#Kg?(Tq8U$RXlwCRPRgOupvgdc87WSx*FH{ zbG_l+kltDwzRz*=VjHV|s}~fM*;x-AWS?=`+A?+e;4YkIyw*AHTj7%ar{3}4GIDCm z&51koi?bwg9${RA<@-cR`Ubs@=Du7ykdRLYy5k?fsg26VgH{K z_7j)eIvh=?yY@FH*MoN3ciA|bhIi+3=5Kn31IrAVZ*-1_)DDMf9(~P|j7P#tzP4Ih zCpkKGIz#+9?@ZUV_RsVFGqXc+G0EDteyu_?wx_KDp{webDyx4TP1Lv(BqPuto@Dj4 zdMYnHY{d+@I>S~I`FOpau$8HS!L;ixOZA?8)vr~)>MbsDW0QQW#!u7(&zPMs1(Mba zPg%-_Or6!>o~D~_^rGn|E_ty-;P}c@)&_Q>-TDVJ-0;HNqHx>3Cp`|ybr7kB{~@=A zPo$HqD&p_Ew}*5p#qncQ>D;Al-pVY1O?s;Wm=e7xjj96peXJ^BjoJ`W7mHOJ3i1#; zQ!Nn}Qxhr3D14$IAJZs8`Jf;|?x2p|T6*&Ee8-qRZK9Vd%IWH67g=|X9Gi-K3ht$* zk{;RsW3#RrrFrAVz2$!5LTa2RO^I5#fsm2oQschIcM>c&Cso9i)h!j4ExHiWwFzV& z9jm$qCzQeobv2uz4+{H9G$;^M1iXvPtfhWhyypLOwQ`0ctkSr!F)k?%?`Mo&&ZmBu zj!}Ip)aIdx-_tf`CzLmLCu^h3YS)I=gGgBN?&Ju(Z7^v>-T_TRP{mDvioz@U<2wR7 z)I{E{AI?4%QJWBkMVcC^_W`O4$qCW&1>H(Fc*mmSqN2TWNt z2&|4#A6OmBW9NWK@QJ0N0o5-Ph`aDFe<_kwRP$M)kEwhQP%ROW-wdIsX =GWZ62rY*AU#`l(Mk4Ph4GYC3+k@+I$+q$Nskud=wKMh0iZ^C9vZG+ARNS<(vJ8p9 zjoVHc(HjQYGSilrk?r!Pqz=T%fjcyND3cdOk@$7^cSXF*5^z_j zfB(^=Kitr_Lgn20ZVO6qn8L2bD=SEge!5el&HWKfY@WPIwwZwf4 z{*Vl(nLAsNx%*6&*YO&wd;M}3#<5uBTH5n(NLgw8t+54O` z14FNafG8qh0Sj#e5euM55flYM6c8(@h$zJdqM%?G6zsjk-mteslV~h4#zakGjEO0C zifN`8=InW|eP*!ae%|kS|N4H3l;M(4N*3OxI`I5f5G60MdND*L zj~pUbMQ&#f|Erd?PWH8?o}|;~A$>lo`E?oHD+aOjpvWBM_#a=h?$Jv8 zv7Sp1q~S{zSWr72oQJ_{%rsRzU*0?z2Rs=eBX;G0;T}8L%-N@VvYU0}dC{4mx8R1! z%iAQMkb7Wrg6SW09nblMLgB#@gtI6t;1VhH1w77+x-u?B6~~3QuOEKE$<*>9Xg`7L z=%MtaWeWSHCRCK>U(9K|r#dc7PD!e>G>@I+KkGenRn67$k%^v8y@SJ3LUYHDEA`${ zk#;$GJMoPjn2N?Sq>?jTxNIN@u#NKr);b*H1;Ov2w665>}pCk zW|M>e5yj7&HlA{2O|V3M!>GSe=)({6!Lt*y7`niibwczXrO5Dza_=Sg{Tkg8rmSF7 zsO~cg1I9!#Y@Zw3##43_R19*#U8-bI@k;-Yj|nqi$_4VJXaYW zMIf!2QlxoM0Om2OgdKSbGZ1ll%5++{h21JV_P+nV`#(>}cOLT3VGDcY66@P+`a5ag z0B8t=Y{YMyGe?LdcbgYe)RVn9#%*zQ0u*Z!RO+o9=OgA$F<`a`ff- z``S>*O9XKq<&ONPmb6U_u$1hUe7nA9)ZLojbNuYA*_g9o14q_Hjvx4$)sih89v<^P zAbBm_Z7<)@s9G&@p*}2${F3%rVdtep*bbjBDP*HknOv5_&bA{YrSI^Gc}Ny|cLoVm zABzb3gA9Dst2q289CMDqc0h5fAa9LtBdIr2VSDGZ7}_AcgX5nx)wsQL4IEk|55bNE z7)9<%?jMqwq2!uk9gwEJe7}vQFA}^ACT~9v42w+->~FQ>Ah!-y;a%%9ZCz`RUw)F} zYTx<@@xFR<0o&7XtE{V}v0GYqyJBzGov3C1BchC|;ccg%%&Ck7j4TP?Uvh%<1Y3-psx%J-Vp~K$X)xIC7~9|cfW7mIo{Jl z-Oaze+S0#5k%s`Cs6RGVeuHC9G!~EQyJjjRAasgeh>5A@SrOsT%pYb6itIC@Pq3(@ zlMr@m06rlJ5Ox?2EHsILFdaC(A&Ch#5>swi=`haUkL0i>UC%3uGypmP+T- zOn^!GrVmlTr265+ctZtiWprXe1vNT}6#Bv$4&qhCEq)^SKonjM9{YPp#1gwD7nZII zvZh^5Ox%`H=ihaGl}Ng^m0N2xnvr8hS9eQv9h+LTBHr4{i_)!oC1J}?C3Ylf`zVnn zCoR?gm>Py|P8mraK2BYGap~G1tH3K`{c@_iC%BHmczD9K^GIi! zl)O}M8s38vX^9slBl_{dx|=xRiA3u*y>=}QsI~l$f&f%1Bs)cpJsrFw|mcmoz z>+}YlF|zKwn?{?PSFpx)Z!01kYi#OoBY3jA_t$Ya`>SnAOje| z33fv*-o*JhW2g{*#YVK}bt+n8EufOU^AdVOrR5Xn!5GjEUl*gFpj+_;Pf4XwJ1%*$ zVc)xepcr4UD#hMam2szPVx1%{zcqI4WO8ln{ysrDgU(u7RusIIk~%CkaK+zs5X-xf zn=DK_GI~i~+A0xkiwoDHEIo-N30r#y(BzSs*p7Z+kkcS1TPfS2aPF6k`xXAk>7~W~ z5iTBMPt={_BQ#yXAFTo^jxC4PV?+;=4_a`a=GGZ$y*9$NqB474+%KD|Dir?sJNKo$ z01|^MMezi0BhTtpumJdI5HIe9;Ji}6#7&devxc!k$ew$RS&PjZ+kUjcw(2YgFza%8 z!n&rMAp66$UBfiZA1L|5d?3IuL%9BIbDPqYa8Wl;Cn+0;!k0tZAX;xXPd{IA>0lVE zC1Lt;48zv&t#Aco;mipGy0=cD3@=4k81smU4~%NmDpvnpK4aw8&F8)4V5^{u`CID` zL|aL%;OtukaJmt5tLvSlTfVT@|E$etGihJH}ywD$c#X;bp-kgIfd1O8~d7LS5 z0)zpid{OjiB)`I_Q1R&_;R3bp+jUkd`o2~9gl&r^4E%KNrY~LIqQoz}k9E)Rf+12@ z%g7I=v0Zi{c9I`DiR*uv-*@Sl1%kLHV|*SJE^P9d7(G=GX0#@ovMoZ`u?@q> zTa!+TQsp~S@*%Z4U@abtNl0-)X(n{k&S3UWfcygX^%^w1G3iIelk$ub0R9!@;q@Z} z+|Q-%wzjMrFl?98am!`zjT?2MP_3>?+HRq4xIb~jpQKKQ|rj7UM7}8CvE)A$qDP z%_37fup02L1s zRW-GutDdh0tofD^MLtoM8wu$@GG(A3tYG>hqw5IG7&S5qiHe5R&?LJzck!)k<#@yWy=^D9opC?yV80IPf&FSrx}&U7*rp%VIIrdi<_PFM z$qPwwO3aJ%3?-&vIranzX|=c7J4Vy|t3~FkP=4ZPs&mc1n(+K^!a1Iw2*aY-mh^8-6~v0Uv$k^PvKr2t zS3&)_c5MV3MDP*eOVCx6;Ri7S?1rZ#DWm7=GB45rdb47ZapHz$q!YVE3}O#TZ~moq z@g%(;9C~Da)Z+1~4_sQ=&0n&=$j5*#7VX*0iE$K`{H^Wxh?OLqJocd^Tv)Pe{#$~S z_+|svYX%!EmSE*y%lg(SIVwR!`&!m_y{4gX!d$f!yo>#Q<~?%wmV7DBja^ZP^Q>g5_XiFk3ZeL->>rLJOkwgB~Y@S*)Kvae=w{fJz_Fq#hmnxQ`F19+tTzVr-8k z8AD6E&vokFA#QedyBKeFO5HozN^S4ex836z^C>BvGHJ}|ap|)F#qB<$SB5~>Z>~+q zr*uT*^fu7OW^U?wdeoFiE8779fmzu|E-@PdkBcJ~M)3!8BsvTgTCtI{IEs!)7M-x{ z^ud{S#Z4t}oQ_%^v_Qd}Yqwq${{u~2?xFZc;{*=y+ZOuwV@NXS`6eX?2hJ24fzH#S z=Fo8|8CE@)o;G3vYWf-7u^-zVtc7Z0)MjAkiY64tMR30k)c@0>&+ylT(Ler$J$Yg0%N#c&kw zufAEyI=3L=F+s@r*Q+&L&$`hFVg{@&U9OmfgG`1-F-$^Y7HjxPamre8)k?`lR4Xfb z|9CZ59V}p4EwBWx+ryXY0ocNGJZ&lV0Oku%oZ#)1V4pYwZ0o-Js)cp#tb_ZCg~GPR zM*W|Sje^E#=+K8yV0_I6PllmGmKp+N^a4f;1T!HEpW7>@mI*`zE@y|g6XMw zstpyJ#>|;gEvYWdjO;h;_>zb2pRupYZN_9!&c#wCQ`!;}Eo=Bo^x-i?*H*A5w@ZPSk9FAC5XV1F^XfO{H z(R`yH1-#wxa`_kQFVEfmMiTY|7%Y?0`YPgvHx5DB?0T##vXzZlet!QVZzG*^dY3}9 zi!P-lk%mOCn;7NOPYnslLEQjHdaZDwCxsARnhZ=D(0mr2q zTS>)Df~x`sh{M$KLZZMr;%xt4Ua3MFcGKAE^LS_D?L#&H!#kB@=1?QxwMRwi|MFVQ z(vuBPU_W_mmLE5;oBuuyzJ6SqBS)sXzX zxwQ&3=*5h6o@;R`zSyBZT6KV;7K5tJ3jJR~fR3#c#EmT|p=9s~FRD5~Y%4XY6XMxd zkwOJY^VPm zr*D+uM^%-g)bgOT+N+&08o`BH5Ik$#yY>QzzzAvm6 z3oE9qan$XZvv5^cYuE2d`b7yTcx^Z6pEY@!i$Y9lW?{HR>pwq!bl@v{F*+r$sttKQ z`;V=HP%&v@jUaCQe(HO~p%&3h^IE3&yb_s|R6=R_k%6D10nyYtwlk$tRBhS}H)I6l zjwiT*BRG|k$qmP@x1-T##t$UigWL`12+7E;4k0vD)VMwSAigQ#)O-i(_WSL@O+!vq zIq3hi?vP(Ux5|+w+jPvYuc)SuH`x2$Y%*EXh4kL%dYuG%lQS$jfL+|@G5+g7p;f?x zatS}^zv=QB$n})r8#)DB40fil2rfnf`TL3BHg$9RKP`va z7G3Vn@vP~72vfw z3wdWR0bT_R=mT*WEHNBdC4at!qbnyCrl&888^^50Idb;FIRb0Hb;xbX#`fKT7rP0{ zPcdA9L~Zm1ifDBO(h%rSYKfWTT5wH z#;{@Bn!v-wn3jhdi{>G=Ap2Zgh}LLD_y|>2?AMK~$GH=62r2b@pKTqMB*#Bb-(aoD zh(oucA&0iZl{W(K>Dg%``;L%NIfGJpRhi*q@UqijmrCY@QTH;QMPxAoI>~6Vyr?pD z(E>qIqAlzuw-%6SxP>Z!TC@p9d0!_cbH&q8^ z#1}JZrC@kLBNCu2Vm3Tw1@0C;8&3H~F91pkz0m^kP*$PcgM-C6IkyYeiPFKDeFnXQ zxgk$JSU*+j8qhOAqY3XGlqk(A9Nuj8<%DJDM4@K-oHf)_EWk|d)>=OQz(11E{<_|N zq#q^+5H^}E4O0pxO<3-bU#P$|(!3Bv2k-=eD?l-p+J?6YvFsByC*7jp5{EG+>Sc6m zP@JaG2|GDO9*xIEVXZhgGS9zPX7WlF0ywFTZ0pK}VAG`*Y~+(T(mmO5g`J2DWc>!j9d3i~XwAbQ#svLe;mMP5uch z^Uk9>Te;L%((QHei)#ih&6XOaNztp;4E*A{NZ-1f9#=mwrH7BuAZE`UJfNX}@}jjE zQ93-NoDK0Reuzr$A5b(4waJIfDG{fTm!%MIwDxRRREi=Fn;_3NJvGxahYeJ#%tPHD z-@CrXIj@PFiHX@RsV_{G>4@dc{n|{YNwnghRdVQT&F9W-=Sx=;CXN0t-nam%m54x-Nc)K?oDQs z+L7j$vGS{QcF^8=-6QOj0LD3?qyC=wW&Uo|`xrwO%@46&Wq{I5&BrDHZ9dAyfnx2dhAB7BnAkZ{$ZAABLuF zMn=l*Yy~V+OqFWh&V90{WGLeyX(hu6FxD0Q8qXGwo%?s6>Dk@|$;T}Q$s^OSeqV!+c;c;!y8EKnp@UCLwy9PjVN!DHeaoZjl1cNf z+O}g~z`VICFGH583$wC4{iYpE8zea0Ix%5BT!ssXn>jaa8q4LMiTRHw?tYE4c!$M8 zs}9H1{4qJM&0(LQ$8-JdwO66;3~bCr=j*GOc`jsB=IIhib)$67jUf(VtA&diOz)0& zVpcY%-f_0-KfEGt!?lIe!?$OLr>d>CfQ$61nlf)GC1t}qY8S5-Um48F!rUo^x#QN8 z_?U9iuV*HAAneE9TcIOGOUT{PmiM<)phQrK`fO3kHTGd!##{9)!W%+V?uu6d#D&?v7DW&gWtNs^ zoro`+-^tp_srKtl`>xWx6UMK5ODlol-~u#5g_?Kj?x+e>ADVQ{R|4p`dQ4Cn4g%j3rserU zzGpO0u#1`=2KF0PZAobxHqCSQ=Xm2k4WN@hfK>GjY!)a*ygHF1Nnjp;E9L~!0>rJ% zgscL}_WoAvr>$#F4X{siUG`|bGMfogR;Jh`T3KqwurFH>S2p~yh}>KG2O>Ypl*DO= zb6A(5>FKkeV87Zq3-Oo#m)=<-=*fg3`oFc&nzvkOqs0UcTu1r)Ky-sDH z>|XwzMm=ZbJT=gH*RR{7v!m>+NAAc5OU>N);+l3ntyM$E4q0w#nHx)eX+8UEyC^nn z&70$$xMbgYLD>9fHI0G0Hf};%k|5NMJ8~{#K5_)oQ_$(0m<1q5R3}#PD7uoN|H4Cw z!^eF~YIS$$2nwy6L?JRLKTBkvmfifz)uj!I{3Pv2ujE~UJ#50ZxmuAER*zPFh}@|8 ziw_j}Fy>C)-Z+7KEp6W4exGOr(k*%)bfa<$@q9KRA4=kt<(pa@n1Z1m1VrI+(%=~Q zVmpKRUMWq$(U8RGJ;usl+0fpb6Bra0tP%B(=+Z5M_XhWFI&jAQn8xLe)l=7_vDvKp z)8PpkyNSWcYE=O5R|53-u1doaeVfK!i;q%TJ01QXwvfc=#tD(3og+cSZ?bIUC$+RN zKua)hB&rdeqi`0!jI{-<;s^38+xrf1yZUhFg)nt0+d^*A$;_&PaBU9al=2=1P^n=Z z<6zN0+~t^aC$_Cw1526*=Au}(Xd>i-jKL&=smQf9pKKkb~gV}FoZ_#Zf&^Bwm)?&sV;BVB)|Uy{z5 zp8w)>@3FgWb4f!Z_bi&29W>#AMorkvj#=Y4M;X3TBTE)`V|yiN$vtQACzxFQoR4T7 zVUoOD7UVj6iN#4md)}S_#VhW}(_D^lw#s?lwPk2{B*&slkCF_oh`zb5?~I)GQ&W#vT9D-WbJr$jPhWzDNr>JK+K_?h zEuRxtL=KOsMYG(L7rTOprAaaKPElny`*bhFa$thkV@5<>tPw!`y=O&#VID+blm0Qxql|-FcNdtg)mIL(GYA zVJ59q20G37Y4gF{UJ?~r^Fbk)a~EqEV%D3}1(pe-i8s*&5tu|bEE26k6h`A5gMPWp z;LXOw2HX}(5+&EZT}F623FeCo2Y713_z4RR``Oz`qrX`&c9zIf8%|9cxG8OZlEyT8 z5@LU73Z$5*w*dHokBjvK=M`^rhnU zDW)kclfMu)1cy^HXe38;C}v9$-F5?|n-OR>ElbRa8QLUYbabh}KjbmBtg<&gRr{zz z#m8k8ewHOhzpb~+2G26f&>|(5emi@zqv^G_V_8$}9LXI|9#)xiaiZ)7KaXuC;wnw_ z%j{jE0#nq|lx+KTZXIJ!O3D0n7-3g{VBAsIisHg-hXfh;%HTu|#1i@%!7%vZze2k% z;(YbOcgL|Ctxh0la6jYglEK?-Y-$H4Z5k)3DtSVzgoN0koMe~BG;QYPo&!kbB$ZjS zf8xm4%#8ky&QT>flU}+&XmVOgPlv8Nc8F|1@ofypT!A|^F<#;bC+E*ef{&|gK^MF0 zEr=#@EW@E9YRScd<%}ob_!rj zd^f#>im`&_*u{gHW-xm+R?v*Cm%HOOg_p<705tQoQ!7^No2SxxIoW%5> zfQDP+=v^Soc+`t@`JFrxmN=QH8*K5y9AxCog~iQt9$rgWG`XkV0D2%69a~27JIq9+w^BQkQ zT1UH_p?)pSRwk@8}-64w0H* z`+yNMt46%~U}1C0N=mewErsZZW#l4%!RNivO3d&FiK33Gub~zq6&uz&R|=u{`9djd zVVyWMWDwDH^4C!zyOYj-SFLT)0`G8pFZ(`SG^+AW2q%Pf9tGT?J^IVj&QRMr^I;q| z0xLl0OXqmqI%%iGj+~)fa-K^aMnz@sT0E@)KH_U!BD^F5caJ`$zBn8Pb*6)J7I-EMkHW3hNf2 zCxy@!P1zmTHQ(tM2n`(&7D(a1H9Joii&yYulS4*_mBNG7@C@-UsL0s47Q^{*UCaR& zvF)eTVWjnGX`lWJ@`H<(x!{qG12f4d%qbz0ARJ+qLHY?bcpBU>$Q<=nA*U4E$I&jJ zXgB%H&Grnp3=Qk8?XdV*0h8K36V**8qn(?pY;#P5#6^YTN^{uLX6k^5}4CLP@K(!q@wL zYfRX*@(eD!CVWGVLOg5uWl9hU)ZqKE=kd1I78X8v(LJTnC(kA)B*w+W-@xSy#Y{3$ zdaO9}AxU7m>2QKns)ZW=D77ZtJYl3DED$p@)L~tR*p84UC5#%2yLREOYUwL}7s1o{ zjkpI1S!rVYXhEnPt_g@zS%{}HRpSPY%9BQz_w1I4+fLxXMyu@=*R&(wQog6YIAx() zyp%sdO*}#)%g5SSS@`G853YASUA=p?t)=6tb=~M!3g+%AaE8b_}F z*6(*b_y8VUsCH18Hvk4uYYXR!Ne6t$(3!infg zzpF1&R$1+zU7weZ-1eI!Y@ZXAgpAgYeevw^bht1>3N`x8(Aif~YbE-JJWWggYQs9F z_a^)4aME=i>2mO>*6{>x@TbW_xD>!|;KeICADy4ie!5I6TeKnf(tER^QUJR%kKH+l zjJeae-jxoZUr3(D>lGKFT5u&h=I&aPEBWg2N8aZ4!?;uyhKn}?{e6P*VlJk*ThURN zz%u9TX~)X&3-0!xYlfySWa@$Jplx) z_!4ttYhqPeHi2;S$kZYSSww{jguzZUXyFZCRc6JvIi$e{_}yRmJ%-?Z!wlwV*59y~ zKMXtP*dNbIWfMsQVh-EbJsM*e3!*P%d!JvzC+Aor(Za>5hGFyL^9%T7B|aIgd{WHL zJxAgq2Z=$3M-M!Z9~KFki7rSBMAVIr?8iFCRIvxSqhJ5whnUA+VXWy&L~PD%Bql6LP39Kh2^Gi2l(C(0tYeDMKC6Z4lld znC&CG37RSKqk@bPoJq1<3j~(R_BHKEx2md}H*r;GTy>kaQpU@(OJJ>bb|p()D?8M7 zBz4u*-+hORT+ABCS(G#)1%)W~tn#!VvZK?5DJ_NL-Ju$SJ9t2f zODE1=ywTqZ{$xd0^lqmjl+H^ZI*lk_bHw0)?un8rxJzJyRF+;*oRTrCFtu~Pf!+M0 z6ELxZ=%nb3x=8R}UX=p1J`mrzUph4Oz4#sr%+-B-BgL4M!6T?}CcIaNg7`kvZB{2T zK6yqRR`GN3Q{k}mt)eyHc1&KaGNpUzLWLfs7Srg@VvJxK%6Li15jYYU+0|W>nA7s9mYa9CFA;4X2O z=={<2mSt%uRW{>v`4sLJhIiaYkNT3x}QQe6T-r5oJU>4@j$rJ*X7isde z5He@{wOj1neJ3a1xkdVIm-ewAi4)6bGe~Rp6L3s$IEe~n@u7mo zV0)2%7Twa*I`48VOgFc@y?w!9;SD;lf9@DDA*nlo~9GN+rS~JQA)+ z!i@{K)Eq;+?7i(fkatc?u8sdBORlf{nR5vI(F>Q5r>EKP#F|%x3C|lzoB#DHx}=dV z`CqRhZ5oB=uUv%z5!3rvxbbz3%8-`B33yFdqBsGaz3hYR={5PCGstUOB6DOm{^vUU znU9#yC&=E5*0B?3&Y(d;Ih!XeVQ7_QxX!Yuk6{j%CtAo8XD&~2AWqnmskf?L3KMF! zP23|)l%AT-5||_a^mM{REtj#A_*d!aym@cWn+L+)B77|b0ZK+Op5QLW!9_I6^qq=s zeiz3SdbB5Bw(W2#x7f`~<+|gKb#ZlzufO$qUEGE`=tqXj@*{G{aEgx#*jh#bN)E9f zGG|TbFKUktWE}~4!0rYGlTNsLDy|-3yjp-072!Lzu!1<@;sJu|5%~*pk1#(H5ERTl z!qs)?FLcOoUXh?aIObecKpQ83JJ>n1bAA0tko@q<@GH}&*;|ABDTApoiHQFU-=P$>5-!-{y7kGhPDjmjjW z2Snuz6FanR7cPn3UhO0Pi5*X}qx$C(lF`3S*U)yJ!95^_z04kw*;K+(#ux_cCF3Xb zQ+(oQ{Dl9->@fd};SaM%0#c#ymtsR(J-?^etODP8wsaz$WXRyEwe(-yG?e^NVmU28 zep2i(ubGxboSk;>xyv$p4IyKwFj+lnBc)@IhmCg!kV>*!x`#J78lICCc!Q(aDv9T| z?}tOJ2-*TCR!BXRfsJ?`P!mn&OS5FcS=E{6qm@nyK z*rPmwyR_A$iz}NGRU5$eRgub;D>95%XyHH91$|Hx&E{zT8P4WHUK$!$1RZPGj6s=6 z0)K#)j*g9#r$*LxBC|W?u#F`5=~Ls2sQ)W35~#nkJUeP}H@2aeRB`}5!v(C@5wkZG z^7GOnfE*-w(GBundMtF&lB>|!(Ao}v z{9gRT@Mg;&wfOy)Z`n28_KvVm4F=gs{K~)+In|`3S zCF=SQ7^3J5RDjOVJ5|vcp9+bCp_u+<#@kae6Q!{t6jf8iD&VjIrG#qW=jgb+59wgyv2s(ul`I-2@5TYtl zEHyu92VCOm;7)_mz{(f9bey6#FKcTXF>i<<|CB!#f4PkBRR5#+#8CEv zJAw}2^%L07wF};ybGiN>=_&h@X!t)fD)$sG87fo@VEb_|mZG0={m57QnvxgFBrH}h z8quXouOC)g9V{=a6IY6%{iFSzRgPFc8Zjz@&~R5$zMKjx%anZ#8h{DfiaQL$q~ly| z6ijYCqv>`KTOSiU#Cnz0;kkI&4$>RyVoEr_@C|#zXwO26hu(syp0BTb(`3+2jCs|d z1tZB8o{%fXXBcJ}pP`?`=EzqK+xbC~uy}I#vgJ2N8qbkFlFebZ#=jA03i?RiK9bEb zwvW`0X8oAPaK(7?5kZ2+%{0-q+F!N5Xd~F%xmCb{)2Fh2vcY(f!lBU3O8)j2Z7r_* zja`~cDsho~70hg+szhNz3YU_vI@2Y6YXekt23uk7m zOOc-$cJj%zm?H8sS61XY52gsaZ!|^pMQjLjHSAEPY%)dkMcfvd=TqzR*mO}23t|$c z{4Y~Pe#%XeO0Dvhoi>>w`UG~0wKha5>km^zKZcyvvi@(uN|9Yz4EqyJZ$MK%*j<$$ zPADP?p*q&LslCJUEn$5e{GEpBj=Eu@PnfW1VHQ1j8lV22+gR=AwoF!4G;G zTXDk2T$|L_5`eHg@#}E8-8~oCxl^fEGK5qS{2C z&AKze@V-%e|KH3YeGZwIkx~RRC?jQBjuaBmJps^9FoW2i|78a08|6>sD~3tRKA99C z`HH6Xw%kl-oBIAY%H!si48f!iuz2||FcLVMyg%qwB!X*VGA_oz5ODD=#=CPDqarn)p1HfZ=o|{Qli7bJUn46E53gGWv<4%S#*6=kWe{Un zq+Dxso`ev&}kCjTg>_! z*7F<5Yb=#TtrS8zPpz{)R9?18hN~5SCi8vWpV|Bl z^JVph8s#jR6g*b{LcuFBDR>l&tSxgfaKul}LqWCzkg4{LUl^;*>%#Mi=i(-dCJEWB=g&Qs=Y=82=4v4Qt>6 z08qa;j(rZ@2e>yJ;TftA|B9smx5QWZZ5xkZwI))K)()`t2vA#w398lNxFVICSGUoD z>0v^V=-j63*zTE;U|u_=56s4@`DS6-e7pG0k9F5qy9vqst9o2R18d;^x(m=iTXD4$ z-npk-u`w*iC)vs;#q5ltK|O#Xy3eSHHa9EE&rR`t_O~h<j{`X8g|is;2%Syfl@8np7c#0r`@)rYV^*4eP!I7ta&ivOpdridyVa>kVn zD6C4U!q^5dEpr1`gR0it^c-!8p|YLCccNd&RID91222%6k@5P4Fh!zj{bi#iqJIJn z>b$C*G1SEO(O2Qzpa|~Lap5}zBZ}Sa({pgzAa~nTSWVOO!Xt(cOLn&l>}geIRV02( zeDnI`sEIg9#m%P<)B21xN2zdU%d7@7LI1v3WZ0z+gNXA`+zu@o^nbI6P*Zl2q9Dqw zMXL@hu`J3<$ma%|W_n)SCwh7L?NTXV2kfw+QDLk)AFa0^bVtcANUN4( zF0u}lIR}22cahw~_wVIT4v<6NeXM-J9(IsFWm>RuXko+;LJK{#wM^O)ni=%DmRP*c zviHKN*LLrM8wdqqg2)?GPggE(arMhZCSU)@8SwS1r?U?#*qsB1UG3q0V2f9^*g@uip zx+8JN)Xc&i2|HN7AuE@US+*i&#qu%BaSZy&57{U+>q=yw`Z7_-?k^JGkF~V%B|m*SLr?$8^KH*ZZ$sWhOLV zXPwvy!+T(VMm$391BK=Qx3dx;1s~>#G%p;`ul~%A)2fWIJ%*&E6j1z>8=jn=QXrQ| zA^w3-$ASX_6G=b((mm1mi@|Kf%(!@3m@;B+;vfK%nH<&KUO245y*C>CRdW<31ls_* zjyLODl6kwnB=ZB+oRjR{Ni63>Hkk$(Hh|;Vu%Dh^0|);_+#&RlK2)ZUlLCnD_J9-< zwJz=H_KgX@v!}C9vu%@>W)hcqtBAjJi%gmyPUx~tLUsz!PC#ruB^A9c)pJovz_97{ zR?Ri7q!kI33f)U50GcW1J1J8RCbKtRm}>8RO?`^6aZ&IQqD> zWL&bhN$jZD(S+_9I?>!RAq04=YXJ=8}um6e5rix(@X^;1Ttgb8>v5jL_U zPo(C{W@XM03dPKUiRM&n8#B0LsqG?hE7_H=oxT$>nh_+2(&@dOL#7jwJZucsU>dgQ zl=>PhAZ!uQz1$-$hG?pf@#Wc5?3NHSqHquvqP%2OkMPnOc7eLYCiHISl@u2Tc$Uy8 zLYqce=O2fQgtXUxN6bUZC>?fl2r21{Nn~S}M&Lcr$Q6JXJY9))VVgpISz~NabXjd# zM4!RqdZ`1;upp|LG@6wOuI#h0)v4?Pi4I5w-CsfR)RJ4EC2g<~ZcImTE^kj1C~QwZC{;LyMw_%ed<5 zaqOq=?jisQHpAWV0{wb7ln)`+cehoRrzxfG%VlE}nslZ{T9?c!16% zIC}e`SAoDLM$g~ysC0g8?fNIvR1XdvBJ3OXds7o3ZHXE_;+{wkOGgNXtL-p0u{B;| zFS(l$$om7{*BjYe%Wz>1R$>csoOp5vzmUhsup-KN7OI$PaML0bIYwG^M!M{+^ z=!gU|vUw35dyXS*wb2Ci91;zgoFuP5gTCha-vw*^52;~PT-p{Kap1sSlPvCg7= z^?*2l2T#lzg(5SRnY}-@m3WIk(|)SniUPoSop-_E{o>CgnQ;sDnfSBtGfXT2GMb0x zae>q_OnAEZ!ofdA14f-+&U(J^wNoGX%P8Ds(mZ0${_gnF-wxM1#VXP;5Zg|gN2-K) zWPp?@#0KIMfsts6z<@HvogVV=$LB!qyb0D}#J7&(l1KPS!0648N=kgZgh4{`ZW7x3 zm(cw~9tzzk`ryx50Eto|L|~5$w0`%kd$BiOYk;`sovFTJi96G{3#t*v+1d9*r5j=<*yT-8{E%IW<=qdr zK5yxMxP=j+x~hTK4qd_Ur(yV}!6UE}A(-tUs<*Dldlg{Mh0SFcJmj~yP?@D#Ip^?t z5!1h4S_?Bh^m!iiGk1N4hp^lO5VV`*6&p9oqc(2D+2RLyDsJU03@gYvgfvw?`&b_M z_`I?0h=a0}q@^7je;J1=LH|&KuR3zcRXFM)2a%zI{1^S%L*K@ohDn{OH_0Ehl5cNn zr12PFJl;}_x7Z_B5s9Tl1*04ha1^tdp+mUZ#Q~Z!FZh?h7*X#pWwl~!{%n7~{g--e zE0X`0&w1a+`sSTZOZF^1_C%QBSi5`q@vrD-jNO-x9MzD3$9mF5JatCHZvC?DhP7a& zdaz~dZ7cmV^ShWKXhm9qcXMjQ?3B_?u1j!18mj0OX7sb@^D&>^a2tLu-640??(;jh zzvn*Ue1Lma8n*u9~j5zTt5Dq6AJQXXV zqmDXbD@_Mb3+0`CP_^a&wGoHdMj$;%>hxBuoyYxcX!*5`ST!BGGuX+_eQVV{57w#G zto7-gBy;Ps%6W$;ceF(3#dq3l-$;pybf30^_%(^*IreD%wB78ZJYnNDx7|MyaZ${q zMp3M|_q+z|Biit_=!0rA1p?7W;k-&214hK<%}ZcLBV&1i%lKDFBw!C0UsQk@?F(;h zZUJWO?j^ee_i)VUs%{Ccxe5-VRa*kw!@Vkwd+4%|*c~$gGp6-Gr>7BsJrsb0NZv}w z7mT=!hF@8Qn1D5Mr@k4eZtNv!&w}~f}|ryz7d5x`||6%1zs+= z&gcWuKuSxp<_ki7zW#DVC=vF}AH5$`QN^+p1W#@VaI)ZemZH0SFS#l8!r@v1?3m_f ztULK$_*MT<@W#US1>mKxsx8R38*YIz&hugU1hDBMxSA;3%{|$@*7jd zpSG?dJ+}3xq+i0oA#Q6~q5U81W0lbGv|77sesx>xLGsy@z0(D8+R;(Y1NM|#+040s ziJ2hflrjn!wZ;K*u?6q|B~wNRRrp`v0#y3Y?OfIoYs<}XBab>Cw_f?-l&o`QYISW^ zWRjp-`u_NpzX?Z$nn5XtZLH?eA_5e-fm24t5i&BDlr{DjNZ;D2lV`Q_Du^vz9!Z6b zTS?krN)od&dSO77tX%Ac^T!j)Ia4x@$h7;g-mpeE8K6%c`O01Btz~%yms~V{14~jD ztJRhLGZXzJbxLu~d^^W)ipW5zRl_`%HBH_Tm*?*15jQ1sYe>e>em-3~w(qoW)gjV% zI_Zsf`mh|}PbMo$Gd7pMLD56i{0s<>&NiL3jw#!pzo_ZlR;StvXXeop&HKcZNvo;2 zSN}8cAZj*IfjfhXP@mojpwv!KoJ~@JpC%|XE$7Ka@(R_V)t@g=0@My%F6g{eqN|5? z`lFKz8ly$g*3D(cqZ5ZW+u6#V)YXX$nVLB_cQ7HBW-g6$m4C1k!cH}^>o+B#;@xQ_ z6OJ~J?pG!8&gwPW=N3Z= zv`Y@L^b2rpWfkaqB;YGkr{p4IqhyCi9d*dTTV{End9SHQat~H4njswD72{I-wG;WV zXxU?aDvW!K@);xX;p`w+OF2A3ihKDECOcUdPmWtPPNkk7Jtn!Mg*r9k&}}=LyY(rB zD)qMS3M*%KoR!(PZi=P-nQ_9JMzZ$U)J9LI4#S3z*c386H6Ws!cdPE#-rjk+oA0um z1?yp}cBu1hmzp?d7|+zsHvBH`z@ouvZbaGQJ{nVOPZ4?9?qWyxH3d?eo?gM4KGAbW zXb{}pdSWX8%h$?7yp6iHBUSvyYEMuw&wDRk#Ux-vie+)JQP zg_=5^9h=j%*RlMghAnRd+XTFo%O>@1+`PllQWS?z8eJK0?JUle{}R5c{(X%o9%j!M zvSZ5zl1__7>FMHvwA|IGR6LBB8?c>ggfH<@?v4Q0GzNCKLW1`xtn}q!!U3m62j8^V zr_P=C1@2#$Xa3dZ+73aPgTO!zpGt8Cq3j_DaYoD z;^XTn`vEU|4>Mi}Yr-D;2HRIrIq)Lvn^wj7h2uhZp}>tbOckAa_=I>48d*8WGGExS zW{o`2f0*mSKuS*)D#>f33{Qlo7(4RaA@W`7nA7TK2a+sgrtCr=KGiq56tiuXqlk(kk0^VwY1Nrje}N3kp+tew;&*T&cLSvr{1n^5B{>6W2Q!=9b=1agv7>h3q1b|3oI-7o2cpSd&J>A=Fs zbuTjV3HgR;8`+<}!V!I9>+cWCgwUClY&wHUk4m_2&}k_`sndRS5#c)2I`DcEK0oCv zYE}5TR;UuK!k;yDH5ULLHDS6=<30RDS4-#7!I#zoXexBi+=f~ke?l+ER%$hZ5Sf{` zpp8J;-QI(M)grF{AQ3J(zTV$4x#p-SR8GoUEQ%Ma$WD?=D&!?S^K!RJstxNgxSni< zG#C;FX|P_z&jC-8DD)_d{Gt^gj>cl>MymU){ zLCV_xQ3o3a+-A83*4AFOBd6A@q^bM5=Hh0eI%5|g-{yWHzGn_FI=jc^Pwm{SU!hS-vA6b zPr6~&R+058NF~4u=(uVN_QREH43cvOfd}X~iZBS$S5dHzxBm0a<+oizn?kMA$`{r; zd0x6>Lv1f_*ivm9(JR(GI*HBI6wK|Z_DoM1Y(b7+VSj+)HD^g8WrwGpkfft!2mFZB z75n;|qV#zk+hlIPMhmxD`57OQ9w!QF*VUA zPZfygY7U1OgR=47=*gj?OJNgIv+)QG^##jt|LCl)Gr8>%WenVOBgiHru}@d zix`fJV}*yb(_@}Gq3gkw1*uk3?gC&emcAw9Kw(42pTY8i`sFC%r_2g##PQvjxOT#Gn+dn+jnpqRcPbbKHg5A zdwa(x>1uiT^#t1YldBP!++^FQUF^)xME3a_)HD8$=Ex4)5< zeUJUK6zf!ob#sAA?gaDR$T$>&0aBa`Z_fZR)?yl%4BkkA?o2qBuyuDg2Wz)I#N(Z} z?#H^QLw=t9i`BdptFKLSu(GkXs$ACaZh9g`LSLxUEqHJz7dTMI zxkCB`xE1O1u{3LHoo0!Bdoa_F9Ap-K6BPpK{U zKiyOOPvZ;fQ>;~1e9w2ORUflO8^umx(e6=!gzWMllyq(JKNTGt-MQdUhoNEH>WlDh z?#SE$4$A$XUK~Y@$C(|y#6|MpRGQqk(U-+eJueHB;8V0^OFow8;96q%2D@g4v-a9u zxc_T;b8l+XbCnmXT6LU=f(u~P8racO`m@p}cv-38M{yfs|6W`ZRbppw4f;9qRrl8E z`1}vYY4I_QYj_uUqu0IX1+8Bz@}j*iGeJ=jLjoBKziM z)shtX4kSsO^&T|<)~{AOrl5s`&RTyhuj4v3*8_*b7y2cJ&T~fLyg(WV{1@~*FyEF) zY~pn?MxLP}jSvfyLxBxc1?h#Gl31Kn3fjPMu`lgmruY%GA_8VT7@CL%-)5i*X#Ut6 zDw5|;ZxgbLuZpeWdT14O`rf{KD&!NwsPd#_OwjfpKWnqEwdu!r}WeGaI} zeLv6h{rP^Nr|p?FZOtmzT5B!QRQ;M^VPS9G>^7iagAdXxq{}Y0Z8cf2?-Mp;H8~s~ zFG#hg5KBXXk)niEZz_aSa6Pa%vLy2NrX|y zk#_9`6fL>CnE1-GITuP$Z&2QIE_6b^Fk~7v#JTUl+(lC)3RLQ-AnOZH1I<(J;P!R* zp!}>UQZD7m!SuQ`KLS0?HD<1)&1dV64Kb$Yj6?h-}WS&7@%D1NpuK5=^k$81 z`d!RK7i^SLh&z~TH?@ux7}!f{H%K;aiU$s@vu96^*-B2N;cFyZX3z6Vnv*;ymTWS1 zNq#;tCM|EZdO}(g6xSw4myrC_lPa8;Q)suHP7#5G;R?tLm<>Q3VES%85*V*w@5sJ+ z$4GRPNy34M`JOsuI9T2^~Y4`Jn9fJ595tk<3P?*mu5 zdI$TtCLL1%W4L$=s&5l6HrMlC>9+P3rl#r3N>8=c zwk3UE9=|)7mknbt&pm!dK3ky`rTiZ=HpZl;l%d{h0eM0UCGje|wk_)ryL3vFh$VJJ zEHrM;i5n~N;HXB19{(dJ<~IUR3UyhFgfCCDW>x5N5W3urN@b5ZKb{GGoT#z2a7bUi z`xMJo%<&waaDzT&Zzb^>>9jTL5b1mhqSnuMIf0x0n7?}JPn9lR#A<_lw&wjqcmmu%^^evL{)RfdxzDuBN zU&prmO&KA-8eIhC3PuPDGgu?De@yGk%4Ewx6-i7H{>s$G0iLo z--MIv{H#6GHZ*T0SP}na=dCT$(^(OC{WT)JzVro3g39;OYYo0$NjD3omoA@?w^F)o zWm>)jt&dyD)wLi&SI0;(8Nk;EB|}Gx+O4i{;aIXfIJrvJ#?zzIv@vAh$-j`}?eZmd zm<*nO8HJ1zSrGy=BGK=1nksK4(#?zaza%AuEMJzI2@R7Nl!No(fg3v0kK z{HAtMZg!9k^2J0p)K}Y+`N~yK>CtCe?$m=@;YUe>F?&NM$ip)hN`3((#c|Pe=m3kq zGUocp7N=|2rEBuz8euYgFaBhp_E*!I&BT8RCU`+AD<&tucnWt68%o66pR#+D(rYoHyWyrVQ8E-d)#e;o3gmHwJ_}2$*@Y_8k3$UN5^j3&^(hKxxie* zTdv?_%8X2A8!006$a1aRRe-h^a+WOtKirG;nyH&Z7mX|KdFX;X<{$sUe+A}9uO{cq z)qm0$cJ3B2**WcGd^Y*!m3)N+J!a3gB+&vnS}>+1$|CWF8Ymm`&#*j=k)dP*N`LWm z6+S#fpDznIBDep*>ZLPiE3g_ED(n==9@q3S=e&%YRu(&F%shkI$A#a`tt8e~#=B#q z#~YgNXSK^tvucw{!-ABB-&Sy}sO&Dt|a@-apni7IfR)us3uLg?^7 z6kZ{^3df1h`bX!82~%pSo-$+Q(5&sR92yiYMqHuph&)|Ewg{%@FWf@k>ydQ27n*{F z2A3l)ZNTi6!^qPX(7C<$Wp(nl@8CWx%)K*vbomi^@buSISdWb$k45wzFSe{H7luIl z4y`>WeTl-|wy?88A92H(ZVI*!(FzU=bw^x`)Bs2wjVtCCWnmDZuAFs2<5AK4(02(| zPGmNrO*#ByVl@l<`e?M(pXm_cmfo(P&f>#%12ixrB=Pzs~hFc&82NQDR#uoN= zGyIAU9L2k@s@k@6HU z`5zL^A6I=lb$gF@tw4DF^Uv~`Q9bp%iSKacS6~G5(XpwX`@HA1f~4E(ZY!MVplH(b z%->eXU3pFZ>Y1tju%}?o9P;G@ggm&0Gw)EnxbCc@U@OA(IWMX63S)M7nk`NmIA}dH zQRT_n8nzQ0<+}V>)+*i9tRjP#p0~1G$lK?e@L-KGXDPg+&zZw}hN3Vmu9%qU;3M_T ztLxjZXI53w|AkSZ)sOiU02J^HOAv%``AF{6qfQp$Qrmx!hN%D7KdVowGYZ$8h;@{2 zIMWtZ78Z+FY(LSmvJLV2w(8+_;1s7=E5}NEEjGltu~@Qf6+KByBc%Oe`ef zGP_=~ZV$V77ArES_B+)VxPI+*t}`484&VSM`@q8}Dyj&yX5A(13;F-}y&&@&30hg3 ze9@WLZRN_ksbdLB#QVODun zG~?>}0rvT|@X1iurS0!(mw$GOf+QhJ#t%SyGescw(736#X{;MU#2sg-%U>NXSHuL6SEzVzY9l}6iPPy?7{U|IJOqe{&sSL0%wVVGlNe(g3wfcNh z>9roaFJ3=xDOjxdwo&duD{9nuYSgw;Yic&dR>=Eh>7)Z>=uZQC_dGnKk<01L`yc~8 zIBCD`j~pRWytB+MWKRn8fmL>MZ)4YXz<^P_!@v?^78gQzIyH?X@`!iN@QI+m2>2cC z#sLq)J!#RoDa=YsW)O8;SG9U};P6rMey_(NRpw@!29%nn4Q8lV+9uq7b+6pP|u)Lw)|J}?9KHvnZqiE zCzJ4(Y!I<}@Y%v3@_@CVU8w=)3Uto{ncnue}7LZb7jn_j363v)(}EH*Wr8b}^) zK^*Y75O^v>N01#`sj#+)mucENGuMv_drQa|;LAsckL}B^QP>L==+ej6r~{4EYL70H zH=ooVAsqxGXir8pe_L#J3;Kw?SP@vREe}W_2VToE8B1=kj>rP< zO|Hnl%J(pxmui{V1&?x2pCa@qS1>n!_)=m$o?g^e6tm5N4uQKj^|p44k8K0w%Pn+W z#MaJZHT!8XRd2oz60k3&OdSay=zSVbT1@_YsXe-swa&P?rd<1>+E;VGo_HU;;u4`k zf$pB6=L1<|PJ1AE5`>ibz@dTgR^*;i2B(jT)BFvU+B@%{=w@PJDRpS8ZK)L z4Tnaw@3OYFXZV~Ddf2o3ns%L|mkczeu$2x)Mj8}_E^SC?$>#sKb9DTH`)sS)Y-?&Z8}zXn)XkM zT|I%%Fqqsu*?nPbCLb0-( zZtRpKBIa@`fgGGlvL3@7^5*Il#7RrIbaHTS|`yT`b z^iY4HOJ&*$Ejw+>YIm}>+VbAD1()PrgiOdXGZ~Hc`EAc=UXY+qY1& zW$UiXhWk{Lqb4m4abVM&$YOQaf(ZpSdo79C&YVMjW|GzN7q;S)og^HK98(;a7k^h2 z(!$BcdxE&_j|FhdZpK~N0pfuQkVRWw%mCtvkEG*6dOI5WskkM&)t^VyYhn(61 z+QmNP$XrqU_CmQPmY;HV;pb`hU&|>qr1KSA-tx$vpAr5EkgyDcMqwdcDl>IVL?DJe1hN_{< z4F>?1PXEHNc^Ea4DBy0?)&H4qQ@-81Ph-z^fx}D}8TW}*>VDlRax7|G(U{mdvG2Xs zh(iTb0(zEziE45z<_;EI#-r$xQU~Zn{(%Getd<{bf51Y2#vF6(G!(lJaG^S57<$wx zdO~Rf_EQlMp=Pu(Y4rtie3p_aQ}VaDk+n`N-6VV!(tDGU+pogA`NvWSz{Fc6KHfcH zjUatCFF)8M8io`QxItJX5w~vLzn}1nWO>bQp_r-)Zy{EV zL`@hGh^izM0Nz?vAbS6or9)2zoXy@kE6e#X)?_TU(E##vz|ny$>n_3^-WJtj&Cugy z-lK_(l+P@h6!3nx6{26H=!lvS62$AD@H3*UDfbV4yn4JVe4;EY30qQeceT^1Mios+ z8z*+V!x~=EEd|xN`o@i0BdAca>684jvV8WgK*UumUTx0R2}%dE?*ju>~3P0i9s2df{CF9yJNs@S6XtID55IwI`2N_w+LY+C(z^lnMo zI0HQnto=sf6>Ri002wEYC z%fjdva`Upg67?GjXyBs)`nl{e7)2ZBkHr!Lq9dGD+3A)Ta4d+jI6C~=z|q0n*KaQ2 znEAUstd&;lRN1+r3+dv-E_G#FKb5-?GG(=yNx)bX#h!oUhS)Wq^kdq5c92M?SP~-V zri7-$Y=(+);7;XGom%jdqqpSpm90}>-n-UdLaehOs)F0Gs_!Zu3~4A`NQDLychX}w zu{izsxl}177p$pDY)Cau@>>Tp(~Kp%Pq!hrp0dBWDc5tW6Oluq#AKC{7Dr)D{N?US ztthU0o|aEC=cK}>dj!#x$n5@|v>K;bv1f|h#a2hrhgk3WGcEOZU_WfTcEkE~K!vs< z=&%=2KizYYmQIN-z`5S<#KxJ9dw;G;)6<0E@UpfS3G&7(srjY5^WPtC#HxxRijE4f z0`SNjj?Xv0KwO0W^xf{aC;WB|IWaWnDd|KOkKy_*IR-Hre{>8T2<}jf#oLJOVgg;{ z;|Aci^9ZL?H~)UHPfDlqPD#7S?!Clqph}S$TCfKMfAkM_oec2DCJ2K-KN5s!l$2D0 z%LkiX3SH5FshE~aRyh2+|nEC?y7t-+gcjjcOd_!nW7s+Yl*`dRPqIPUJ(Hc>by^0*>njmZf zNJt!pk-I1rj4-?ZVeHKWOaXjLe6IQE>2$%5{lO=|{>B~q?%E!f<5$jV9AA~Bp2wba z>Rr{VNhFI)(#qmMWfE|V=J08tPwS__P2NCfX{d-xJcVQ)juzxt{3>0U46qc{510%$ z<*4gq5Lk45{>yyu`EkRX&>d{e@N#WM2t9LdA)$qQX0kPy8B4#V?`OubqETa-fY~V^ zmju=gd!Q-#icgXGANnb>X90YQXwJ$#$M*iMOj7MN)J<_w^E?Y);6C>HOkv2)pufN1 zZqsY;ywH$NL;)fNW(;pnT>z&C9hZD?8+)E`LvAw$f_NX6Ekt;j06GRI`PcOj7_auADD6X z2_eL*Z@&=dv^IrPbCa?cFPnvmW3`vqKp|h{38FjyXQJ()^{5q_17t{7ojLSls-Yl% z#?zraOSlo>lrid@x#{}e?1uB-zbE!kt5ydL2^Uq_cc*md9%F12R7ZA;kw?vq17^2Z zbpYMw$i``9UcD7`_lOzg1E3xu>3!nIPjA{Vam1{w-n7$uy8S2n^|9sh`up$+Cq+o( zzHnTbb)Gu~HKkH37Bdt<;TTyvJ6-6+x0gQ(onUr3XA+$S150y@MXWgclNrvkVCK5$ zzeG-uWNFLq=?SSRCDn;i?(5lc-|zy1z2LfR04ZD_ZJ^P^NVp}TEvip*I^20F77#H^ zWw-9TO?fB%%{h={%ZAD!v{O!5b2?Ntg?*n_<{=+4noNz`tbMy4Qa9w^Y_>@d3*S&L z>2CVWn>DwkhncAeH8j}A86M!TV9GAK{HYw`WRKi_DmCr1>!)9uP_5ASK%P!LAM z+E&u*1Qsf~HdINPIka~EnvGmjWsUI6k&(^xVM^&iU|u8@w+W{|{& zrB9RCjhHr%v!h?OpF}3LeUNDv^`awBI}rn{*m`v+sADzky`3lW zr*P7M?yeUH!PLYz+>>fB^?LhzOHgv9Fv@~|8U%r0` zYdCbMxz$F5E_|--Z#pV*c8XP)Y3n45stq<{ou6L~-{Z03(dkV#Vb0&*vYs=`It=#B zenV%jvr*lfkC@q>O%kk0v)Cj`8un?zMsyG989^rZi$supaP($CBjah0@K21l8nK`E z%BN4TKO`C$c0`hh%|6=oqKrzl6^Zis?tS}B6r}aB82(^Lo(0mM^~3knk00}1KmHGf z4;7Akv$$C9!*5y@MqVcq|7-Y7+8DPSHYm$)P@;y;rN&F+h7VZl&k_a=w6NW1VG?t% zyqVFE39;d3EsYyaG%uTP+0y>v$>2QqIiKuXV%e&}%}UF-N#?Ck!O6Q%)Eo;bc|IX7 zy&Dle{+xEQp6fiTkipqkO}^3)ok?-$C>pj#7Q{Ceq^Y z6ERQN8O|Pe=+=F-AT0^UMvSU`rh2FrVWEP%i9kPx-sp-Tdi@yj;)BuEeJtE#w={x{ zH9KXuqv8J|{HyZg;^xNwTLCzs{#XH^It4&F^#75Rw(O>jps{41*zaikUMonqdvq{x z4YY#oxr$cME-W(LLh_4?%Uq>s2EtNBGbsJ+Uz)*!Fz}#BY?1f_~&2{AeR{JlJ6ctkPj1;P{XXnj{)ss1o1MWyp)(4J!|`p;V2)>O1w z@gjfsMZ+>x)a00~U^5G2#Sugl8%uVz->Ynt zuI<4>z{(*P;#?sFjJnEpZX(QfP;%K7|!F}S5 zW{ep%B~}Uye&@(vhfa;f=RsnQ{tdpUPM^lV&^K=?j3deWD*d!7RF+qg0-dxd+8bW>G zEC}J|p7;l-bq}P55qyvg$xW?x^MO|c)wb-BWyTG0>8>ntk=dTf^0}#2z8~ahAsHvXz)UMKjK?CUBI%Dtu|-Vza%GVl=fRf%2OON{07fg%hm`hRQov z8E1~o#Xn*4r{gI*ycM6(m`Pfhursoa zX5pmdm^quCP9iQ zBa?!oNnv7GkNkeY!;<^YZD2fJGgtl-1)0;P=hnTKBERdQ1n**3^xS<+}p4LSfs_lLTj7s z%F1M|EJOn369@|}qWjgqu**o#`d8t>XA<&MaFkCwBC$)H2KH1)hyIU-VFm$+^W%o? ztcB5R*O?KOUr1U#na~@Bg2DT=f z{*Y%t7tVxIT1)54ezFN&%b~+?*^28i4Ij3MQ@|rrxWiCQX1Gp(v#laxnm8a*`p!F_o#KE%MzB;v2W!G zr0R2)cra1>jKeW9>3kyl$c}U^NOV9GDH!ES&;_}yA>1|AJ;_3N#!QDyDd#0T!cSYh1Oye4wnE&oOUG@wR%pDuKAo$-;ZwMk!18HL? zmS0>Ez#79q2ipLAm2ija9G7^y4|}ZU;3yvb{f{lqw>jVB>JV)5YV(6zvB^&?oT-m} z7u&^6#YHZ@-{uFNsrWWm4x5}+ztf+n27)@Y&t0N=4A_SoUT}kpbjXJ5M6|VHrOnc| zT3F^R+dHD7h&3t#y+epteecNMZX2-Ymv85LUf@ntE}}k{4gzS_g1biD)H+ccViFWL zAE>h6Jh;0%`nYTOCkiW~YC8e})*IpHUJ%W>xF)%p-z?g?x$5;eJKL^bB$iqyuJJc> zv}~TWs`K#EEt_;a9JOIhZfo;qUT?>+>DGPXzv$3RO?ropOYCN{xLEApmkKvY_tI5l zetCqrL)h|F$brN^N(J**q|+_ZXKR=wmdi;m*}ikOw8Nr5M--6G-*y`_8vJa@F>a_D zUHe)b2U}|kmg&?8mWzqjV8o73|!ODxan&DnKKeyj4fQY_MXV%?H0~-G#6>JE`5gBn2Fw?{U|Y8 z3>3DJv_*`|@$DKoF*1h|)1$u(C&qL7py2M!(NmunSx{1XCoSd1j1m22B6MjMILc?( z;H{Jm&T}yHjSRajK0nV2;I736HyEe;oZeJ6_+D0|nuJYeQRnaGELy=cYW6w_Tb$Uc zi}d(Y?bF=Y(jL`+@^hJAy_kc>6aX1Nm7#DSUxEP*EpW*jz87mhfupGcNq6rbSC_#o+!S&RNboR#tNec~mi~ins@=^~wtD4Og4c1;Ou9TNbbdSA- zdD`6hdnXU+j>AwG z6L4gP!VJ`i+qXGkTr;YpOBWpBqEk{i{z<}pE&M#_QO4SHA$H=7A?kH%^A25!>cWPS zE>@A~=hDQ|hil%!`hX3VUqUo?t)0W~_~$MI*kK*S*~?`DZXjMuXUK~k*(aa>$}R(2@h94D%if8h;F)OqAJT!o3p=6Anz5ZONyX-t z8yA#w&r4t+x&A$~-?sPI!5>_58)c=hSOQ+DN7bt#h6Cdi{O6m?^=l7W0cQv zH>-{*tP4@Bd=8}5%I6(0H>;K3FW1jau_CGufjg`TO7A!-lC5$Iu&KCZ$DNC9I9oUe z+?dO)wi3<*9dP=akq$P(Ey3B*v24SkQ?4OTBd@%hra_e@xHT6QN*h)FuSqQRcuE##Lux4kkXuk$(IwdLNyhT%5g;FaOg^O7;t5?T9 z`$iI9RmH{Mm*(VpHJi86^IKsO)e_8w3<-QdyA6?5&?y+~r+VCTzhqvXD4pm;H@;@Gmh6ciO&>fq}bv$MIgcI-VQ6R<4d$ ztiNy@1h~@$LzQngu2#N%sC@ew>;KV(^ITY|zi|40bm2Uw+pv0+!{q?LJgA4R2yU1s zj=t0g8n6s*s1v`C<(f}_w$_mDw@5_f(~0aTN94~=S6qsQ&#pXr0mS9IA8BVwa+jxV zkzuCd9A9n1A;PO5&Q1BAG95>^k za6K*)AXHdye8W3HZ|&{41)B>#c0PJ2m}oV=$Z^eOs(TGwE=pO%EUjtb+enOr@wI zuP0e0Y|PCzR2zjRTy|ct{D!sp(wQvZnFLq;Wo1&FIHjkNq13T|RHk1;fm$9k6;zq8 z?dZXr{!w`nEhNdgbCLv7NTk!(7jEy+=H%4=zR`lTK&zd=DgBJ?ya>Xk)IJqYV0XdM z{sCcp*}%Ge_yx%c!$Ia2TxBWk)Rf+xxkPQKo;>LD275zynVHQAV1L@YTmRZry=X*% zg`qlV-ePOV=A|g49k9rW%uF8^*jwNT4!_Cc{IP3@xO&&51Xu4P!$U;Xh4}6HWZ1CN z+mr)+klhzHV4fgpa09ZdyVpPGs*WT(3;5qvbjzgBb`#tLd$aK~o;c;KxNl{#Xcl|r zRQt*ARwi4fPw8W3uPU>5XZQVMlRNerQxby`p7~^EUdC+2t9Jg{{Nj$SwJ}Q@&=oH* z8{61L(Bh@9TE$#OtV7rg|(c~bja z-5oOk-!L5MoQ3&#Yn1I^&2bR?cH#azOp7{^_ zRz)pmRBh;C<(ayn1wt^Y%la=9CEq-(%OjnP{|flf7_jD{+@I zb=R$K_?c%b!vEw$?OA;YL5ny?}Cn| z8+I5uF%w(aYBvU*@)(_MnW=~rEy;b|SeMl7)Q|P#ar6}dWcmWw$D4rta(NNy0eKcE zMblCYJ5F;SBuP2X#_4eT%fXgeQ zAvcx7J$oDht(am+$GYE-u_ zGn1F>@Cg^h&3`OywffygLi?`iPSTE!Z5eWy2Y_y>{Z?v=W-^yA*?qR{j3C@D6u5*r7q>n) zM4;m9`}X;AVL;$cZhY&^brfa*H9W!4b7bZcYe%ywc5&Ju#PgZMN}&gyJQ!9yT`nEWAH8|n zxpbARF&)2Y_<~;>R9YTpHOn)9$~HBrTo5`$GRkua}XV|5Y++pT2U zw(uFAgf3b^az7a@(9mN!*(I%7Z;IMf8BB$+!;49JnjoZPEt#YUsr^3`Qq|AJX3AB6 z3F5=x_d=@rxzH6?J*mB3TchTo`HsqI=3oxkdtmedZU|>sIm8$WNywtMzmp@cWG(T# z{g(B5O@sdWeU^RC>8J8KTf1g#ZYii~seG5Vk=^80w6lDPzM?JUdnv5?#VT^GBTnfx_prc|1M{{CRM>|Ta0LGlK6`Z zc<5cWESm*PBK=n1u(n*5LA#+!yUqEWAoXqu*X}IB5CDa>k zk@QMuxP<_rn@IR|70WF@xY&A-e@&0qS#D3}>^CEgUNdvz|KL=&d;K>jhxOPpEho^7 z8XFl$*wQ-dtt6aYMY_w+PeIQGMcElQB^rIrGZihWOtTS3Ar70_h|tdCM5Knn%#As&7QjvisY%V< z>zlZ;;jrVbJ0cw7R!xM~CM+kOi{j^={fm9FCVtr)qE&30-2CddK6=ef!b*#xHnJL7 zkBb*aiGCk8>Z4Ekjz-lyR^!<+C01kF!&&i339rAO6Q6SEgNTi9mPgG`d9x~d>2djM zoRF(*fcjSu2|)|@y0<+ftB*81Znomah!3xKf`H1nEmij~I*hbAR^-*o*{e;!VAD}n zQR`Np&E$cWMJ*Gx8+@(1%~;1TdHGNaD!jZeKhD2EtctBj(jeN5hX%IfvAoJnzgaS` zthx?rz%x`FX2+>Pm-Xau4?VATq(EqOcDO^y{=)Ss-6&JqO|`6UMu*IoXFDd4-%sSS-W zL0tIwaB>hm_yIL_0)e+G^xjvPmJ>xjJsWwq8Sam1nY?Zdre&tw4c1_UQD2C!iq8|4 z3C|z$8KIi3R*CN?q%OrWO_UGwqM_|EA%id>AM~!w#eeBte0;3JrU!?K_iEg^dGIhy zf?rZ}*2JS92EhzYrMJYd%2|BDC1v;v-;e%%cnnK*Q3hY2BvaJ~f#{6fE`ro@OhwOP zT}oB4-Ls9b`bF!^$nRb&L>JWIlsPY~drIsy`e@I>Vno)I!+>0*JjG4J0RD`}Q_e7I z@SO-tgXeoQ7&kiVkkjffxFzi9d04{Qm!PHnu!gPM_5%A$ZwkB1$>8QNM4h6&CTP!E zWuO>k>KjpE^T0Hs+gPIY=!%|&3h;Vu$0ZfSq+;5tlK^9fDWm~+y^PW+gKBD22J+EO zB7L<*33VF521@62bb{}Fcv$qIt)dAm|MP8*75nsR?9*o0U^8M=8BZ_9!@E@^iyO~U z>#f!#ez3}lI|g{5Yi$UOEbFk!82Ue&)XSMdV=Q18U)P>6u?!z-b{P`i(?B@DZpxo? z3(IB;k}y~-&<8dtvFOIInt)Zp>V|`@*l%?g66Zw!H8_1bahtB4o<)cJET@n?ci6J3 zq{>A0XjFa7dQ3rn3w_Lbi&dEWbh=pi>m!@f9628KO^xfL*yodsi*grz6#G(K8wlq! zL|9clRqq4t6#fXDnL-;6ng1xhFW|3$iom+qv-?UgTEJi4bwPhYLz3n&kJ7k0g zpd49eTr}cn9=Tr`+>7*2>uHWu1xAMILDZQPJUcN)&LM}RlbM@0dqE%dW1DoL{Dd6p z`rT}9QXVvHSaW)h2lr zaWB$@93mZxmjxZ=F^}a#+rAp$X40v`+lcx!W0k1Udp6_%rOjxLcN=Q_J_3?h^*%lp z2I$M3&JdPRp!)2F!u}NtBR?d{NOh-`%V9uM_;4A5Gy7+oMpyV2KV?R!Taj?`g9!T9 zx|6RYn)o1!UNKPea6oQ|)a^As96ig1!bB43#iA|z^cAyB0q>&%;q|N;&)fVsFmNb9 zAKk>~27x%vaPtwh+KYJF!(gKJ@KC$T3s7myX4~jnC|`8s0q1s2bQu9=#5EADSB1 zk{%CBc5FLuWZXCuewddyJlU~bW@y}4yqTXkw2xX4od)$=q!CO;vdDf5Gy;k4F|;>6 zbr$>3$^CoB6IvGGI%TgwqLep#!(FG8O`_9#H|?C9+RLU#qL9+d7R4;+jNVPV0G}gw z5f|4Mqms2D$Rz+E=E(GdqWPfiNB#_%M)>D?FiLwz%D*B za95!^F8K_lCs7?2|F=|kFre?A%0JhxtX-`vk1j(3DiL7=dbsdx3HsO7_xdi}{8j3L zLCZJ2NTLsvHz;JV@p)p>!iD!PFJ1b@`MUp6|LidemCZ&fHV+749g$?y+rA@LEBS;W zS1cwGH8|WoT(QqRbo1QNTlVcX(5J`5z5|DtPBCoU%s05FZ{KddBYL&)@ocJg>!69U z9Y3U3P?zqbGs4G_89mxHZb#{O5)t0MEg@~3+x13ikO+ck(VBbmeP)9iHE{6q#C+VT zsaBS>rn<19%B{Pjt5L^RX%mbiwLbl+dXYIHo2Q`)&`Ufv6OVZa9<|71VW1K`CSa%5 zJY?4FSA%5$I3gF42R1buJb{$=m2VE9?UdeX@%2*0os8kAxDMz8Kf0YlGqObA|}fW@dpjlg62u47c!wp)o@e9H$K!ndmUE%lI)J{rtL58r7!1V{HG?Nd{u| zc_7w&^i8`ed33p$u5TVoQUChGuI&F?x7R^}IBzJKVr~{Fbf@vAbtFt9ai%82K#uqi za{7R@QPUj;bX7?6olr-bgI~|_qgoGejPnDTwAxF4R@dU3tuJOe8|AiOF!w z9wS6?4oR&WK|~mu?lCb`nOxp9wuynj1E19}ne(t2T%axjcx)tHxCgmhyEBWtpGZoq z5-TGxnQSCi@zh4_$Y1f41y7a2^)?CO5QoO_KiqFpnv;x6B;nKzp&Q&G@~&7#YUIt{d3n4Qvk)DQGaTM@Uo*6w=mkiTk2?oGR>f*phe-FmNaR@zSv| zm6#m z*<)mw^l?a^K*NW5o3@aI5NVztWdZ`7yN`{8y`5l=9+jV(Pdf*Zsb~6 z!}cq;my*0immGmdl<5*AApbpZ2|6c&JJS4dXCm$m(ZOi(nHXjjeAe+y0Es82v0aRf zLasX%wv=~yKMwiC+-&oJGSgW|lhBzo3`H%}l;z#Ym+OH=AxS+F!UE`eI+)rZ7>IO^ z9`A`<38QWHYIY$t`T%0tlc)BQUfXf7GwdjJO z8*!W`2CO*C4AdGAWw=FV^9%a}^EBThq$?m{Q{iI9%1c3y2~t|Z`deXd2|O!QmOMUC)#8z;G_BQ6{w0X27jcrKd@v{h_;o25ilTWsJC)stK3N;;;5^;jrAp{ z(yWV`es`w_<>f$VcgQ`jYrhxZJyfI##ia>$WDj`{34TAXnC$Id1)+Q&xgwHzJR3k0kj|B|f8|L)?zb5b$}0kc$+g$879}D=l?TtYL#hxZPXf0M z3U+uDR|7wOYRE9SJk^pQ*g465VGA2A=y$X$ac<1M_1~}oiStXFlclVDR9PtFiB`Ec zDMQ!s$Jr5z^w|;GWPXqxL8y_1)-|7rT`_Zfwo%3gGq;4#oB`iYp76?>DL_LdJ)wR_ zS*vyDR)0*zMkdbe_KPnb*rSY3+vgAOU$K}}P*iDaYB6zR@kv|iANr8pf`e^tBbVbB3d(M_?Y9E0s{fcvGHy}g|QM(65d*9@E2 z!xi~0!G36?JM32*^Zmpq&*2U+v$0_Z{xZuYHa6C`7uj!MuWYUFEbgF!Ev4{T8d6s> z`QcaWRVCT5Gk>K-H|*N5l4G&^7zBx1h41(TYS5+{M-nGekC#Hwy`ST<~ zmSSrUGU$M~0bXHQmrBY*CAsp!DbP$ePd+|1G!`{cdPL$DAANJOuMg^@9fQ{;cblU?=H%*D_bjXZ)Ifn+4_lRsfvgXr$i4(47)&8 ztol*R;k+ z18_-x8z{mm=TqK1TnS0`?8L>>&$S(VF8$VidksBe+$eftX-*IS8&T8Gbr^PQetyLO za~F1JBhR%yEjI*)O1wzO4XLi2w-MlJ$!ffY#>I@y6eQB<)a*dGH&qFlgSt~Xb;_h< zK`8or346mX&_TgRcwoOa!Y=se0zsVnDZ3zEnL?amc5&A;yb(nxWo54b^S}o%we?+jexb?3OmBom_UG%Y#N z#76v~xWT>ot3F$vO~uN|!+9kVk$EIE*N&mP{>(1slsej4qLc&Ylf95W3_?qko$2?g)QW4WqnQsld%6Grvi8y+DC9OcpBGc zbr=E+8@I~`Fanj9jad7oiP4(aBgYO9&ER5R_S=Y+rl#@36j4c?SDd=pgPcO@hMhHI zNi?P5V@8bRBEfiY?pF#2T?GzG41$4c;mR}nLa7WWIE@Qad58gS+MD7?xIfH}3D z7-PKttJ(4j7doK{Y3g9yCqi!PB09UwnM!UiE9^(KgjiPw?X{#;drWxcq{ar((yvNu zx&j~nZqZGpNZ#Ida22TBIiJESX}?KbHy*^v!K81v+y>n=LBx+^dxT7Sw`=cBz2>*? zOnut5_oAK1ouym-l+I5E?S-ti$7D98z1z0&Bc%5jKbWCxvpRXvsw3ndssO1wf&GCQi;u1fqEi+wQ{%G<7EY%Dw6_;{V24Mn63@(H&MU?kr z`TN>m@%{J9 z$(mkMHae1Fhbjc>yD%myrK`zMZ5JqJO+k=~Xs8l-i7}g7Xk64&L-MsdYsri)|9cFf&=3|-{fcKV@ zoBXx=`gz7sbha+L6{IJQx1$CP=t|+a>a#mM6P zrRY_CwYHY5Be(F716_$_J+0Hd2=|%&L-)#dl$SPTi%;AWn$fF{%%?e7)POB$!vab3 zK7w-=q0qg&vf15r(7h;mhr=FAR|sFBNnV+*3FcCza&^;%jBwP>M=A;g_>SJfW}~n3 z+3-q|y6_Vd)pY;C{g|fH`QR0%rYZgBn2aC#Yqxu0S;Cd#LLzz*VPVdwX-yj~N4)-L zlnes{oOeY@J>f4WRP#N$SEQ$${9VBW|08Y{QXQv z3G1VfF=+%xWn&sd6HuZkEt)!|1ql;?URUny*h&)kMWwCUnLU2B|Ln4DC8r#WECTuZ zK)8Ewx%V^nQrJOiekA0=mLUtj#9@ua3g1POaC~S!&`x42={`sKtv5OE$hvo-7LL4) zEOs%A9m~Q~1Mt*-{Zoi$0OXm&o;A-L>EV-dup=s`v96Bfd>2)_tm>;-q)QeVgs0Zg z*^o*6F5Lt(d|&#RS`G93~(kh$t;_Hh^2+~BSOx13r5@~o+|Oc1~OrUAU)0<6|#EBc8!=qT0M zymi=4p>dG>OVEzWoq^OcU`Hig$+OytUZ~u1z4|I1TZ~V>!DF0lLfsxK+vw@F=WV z{AhU!f`g+RUs+O&gCly?aQ=%Wm6GriZa~J3?W#deaTAJ8=pm}E)b1MU%X+T*w9}xS zl?R0wVPy4Ha*TA49Rz_DvoK|Vv2>}pSVx}**jn_0T@HgyF4XBL5tVMG}%efCWX6@=}W@wf9d0uvj?-4`mv6HuL zYHngQHfmSCm3X87%HP+EV!;oYe#?K!7KPmJGDAxe1l3FSB5GucsQP^^dYnsBg=-if zw?zYvt`mhnkcI1nVg2o-lZMGBy9>;S{jMIihP#YfC#6rY+HMvU9u9H%3nX4tdreJ9 zG@&Z5nCa8$9P!OY>l^9)kBr&E)C<-nf07;6BT58e*Cgu^rMNehGrdyy z9i-?)P!G(O4&er-rei5I;O_xDE6I|aa$}QMtg6q2=uKuOaiL-p!eVf)rPBQUdr-7{ zAsL+z9)eU9SpVh1J+!DRB81xC+J33>Y@^FX#?tJPx0ME{XaHkou2ObA;yb$p`{{<}=o zz3Fn7mZQkb*ur_lzHbP01u|z=*bXf&RRg} z#sv_GkQK(IJr5dvxEAYYaw(RZ-lgl3&v&loYOy&=tYAcpB_ zBAt0)jAiuYg@TwAEnn@~To8Wj+{1Syp~HNLKdQMzuI~qKJB!Ye27s6r2A(`dlut`j zh-aL^Dt1=Lk9BrdzD)mVj_MWepG+Sm_$~67w_wL|D>G_HfYuu1k?Xvbo zr#26FfKB8vwCuzVHju#iOfzblVI5C!p z$d`U`nm~6?uvjt&oh_uZgsbSxk{g6zHr3s%2!P=pD@CK%L9W#_$s}@B{LB_AYF=?* zrGN0wORSB`eQMHJ@Aj#QF~)R7#B_mXoET%ZnTV1QNlsK}ki~)f1TmR(nGO|xB09^U z=|Zq{3T7HUGTpxQ@kVEG-T{!r(JOU`B!PPG3M(!%7Azj`+p*HhOnyrPM_~~bjE!+7 zQv}n#f`$JeWW6tFvK9SFKWvByoJo9}ljC$2pT}7AHjB;_hDlm|Z~xi`YHR`SFXR>$ zvI`MOe4&GQ9}~THjYZeg`uh#K6*cWk)1{wt-!CQorog81&pctaZp{c-Lz>`#zW8}W zxV>`nJ?(h*V!r>pxwS;$4z_r!#!f_+r#3cN)OCWfVL+#>7Mm=u&zbUxN}PzYbHeq+ zxWl=^NUx6LjSc&XaWF`??B&~vPG2~O(rL2-#yNMLv|t9Msi~w}Q_`}Frz?0}43^Oz ztcmyU}zAIwy+K!{p>6 zxzdOp-J*>Q2elI(uc0lwc4|gw1W8Z9rcLcXqG885i&CkOF}HV{4t=^b;~4}8lHS5H z96rZ-j^yEEXAdU$5kufb67}0jB?vaxww#$We&p12SH3(>JeKqqys`7RV$N?LK3L2>40QF- zD@3i+k&DAj#u@dR%RhvjAYro`&Y!@CO(6O~tNLNb?ZViOZZ zW9wZtlK5tm^{zif>6g9MBe^saX+3hUARNFzdeT(-sdSPnry9O@yg7^Wa0k<_@2zKG zmtl!%X2h^VjL)E9;WNuNm{6;)kIbM|Np6JfjJ6EkN2q&RFDgKWD*Z#CXf{o>7D7Qg zm$>z2L*zA4+7yQDB5I$wX~|~Wjh`OclW#0qYew!B#gf!RHKO#_COka_sWJS-R$z}f zSGqG)Z!M%dw-K{150({}&=Ry0n=n&sNvwCh5v4yjX*8jG1d*Fg+mbdyDt3jA!E!LF zrap@R#q})I4VBca^babzlw}&ZGCrlHnpjj!O&;gnAuVx=F;TgJb4H>TR0fHdF4BzS zV6#l7hd47&5a^zX76JP~Z4t_FE>KNVASL{``{>i7da8jNMn68}&(1w2bXWCT-C(tA ziED0y^?rh?wS8;4%90AXLF91O*|S+Js>v`)4AERZ$qKq6X+Ei%NotsDulbZFP|untXl5wAD_oRxhFjdauxNRE!)>m!XbIVd zrx&vS$JlqkMRjcdGjq$bbXZ_13L>(o2uP8oDbi7jC?JSPQ4z&P5d~C4v13#e1$#%M zQL$jGv8JdgFWvN*ygXxyFV)1z4*&1m1vT&ee*e!eX5lh>@12=5XU;ius_af~q^+{B z%rLy|E|~Q$FA%<1TStx(GAyUipB&w4Jw_Q$tuzS3;rk1GoilgiB#ok>VkS~%iP4GP zq;T1&IW`05KG|7gO5&8A)qC_LzV+zp`Hgf`dQ1T!FByltgwSelDq!%q>KXh?pa|9I z6n-3Bhz!y==!sCx3L4k8CE1{skwQfbZ}%TS{V>EtEK?~qBWG_$9K&|xfY)NA-n^cq z-Z6;#ppyaW{pBUAWL0CjZe-X@DLZG`$nv_J{Jz=IV^T&0iXCMwgfvdAI++?x1&l=-bds&G;!tdQS^UO|yWIZ{3CjuSi-bJKDt>#%_Yg|Whb{CVlvr~_v- zA2!sSP)nt8DI+EIXGQUrp{dhNRU@PJ^(}~)J)zp%ERWVgcYR3=Uiv(xt@Rl*z4|>j zX4`qH-au%^sOUs0-!i-wM#}TDc>#)RBuQuofM8-bR(w>XYoVQu4r`0temsZR5@$f^ z9y>$E3YLbOfK&)(u#nCbN>v)zYX%u%#bYWka86EmWo?cgnB1!G@)2@ZD#+5a+Ox*59E*CEq#9#X`U&rQ}{`2!>eoX2Ih;ES10yOB| zQ`UK7c?tJKZ`* zL32!0!iw$|pRQ2)jncB(*aCmTzVvsY0r#xwn$>v{Px%-gLN7QDEzfmL>pX@r?PI3& zYg!Jf4Jb$o)dbXWs0U_vDabH{JMJrnrqWeuBij}@eDM6-6+x!N<^pR8E}L0yCJN%v zw|28Zk%kbkBKRybVn}c@gv0V1GEJFuj?x9+>VyL zhMxr+T7;JMU3Hz$11lyXz-qlX3LDO!>*zUtdQ&f)b~sH0hvEqOgt9}J)jB?rW#u3^ z)i1a+u#p)SFY0Si+EFUQ;V5;=sor%Rj*Xi)wdrk)VcR>`^h9mvac_FMXg)K@;=1=s z5q3}?nvgh6kgAI5rzB?vMFjVfZqIriz)ftYpT!_ckpyu)l*IjbIa`1YdK8_fY&`ei zK!&3rD3R>#tx{l#u*x0=#0j!aM_X^?dmZ|umvxp$jm6yQE}rgZ2HEGj)mY4%q4QsS zuDQk6((lR?pXaN_M7GU*F4fXpR*iR1t*H~gR0%WXg6#rTZ~lRbGtDP%q{7R_3^(lP zwlTtO=_u3flZBdd6H2pqbOh>sd@H3ZBMmSy@z5(`qMbfOi|wU@X4ISSv1doj&mtVA z##1DHRnu^8?bbjG|JO>IJBq@3S!KJ;H=j4dnUC0kkGOie_nU@oYP$&~dn&Udx6fQZ zX3iQ>JpNY|$=fmtPFchrTB(_G;kIYSjHDdZ)OytEdO_Mles7kJXyTEn$uz3zlm17WyD1n=wku|8u7N?0F z6GDa*jc6KuSiAB{?zY~oZyaCeXcHVZA#ualjxm{wALexA{6X)R?9keEzV2i>`tk3x zKb>W1oiY8;6esFL4EM^CRt0`6P?OZen zWa_;nJ_hi)-1R-}kfM1^jtA!qkXoLQ-R?Z=oHjfmzhDo6dMZVZSTN4at2ZaN=5uGb zdWK(hzT(&6|FZLq1d!co5Hy{O>>h44!hw<#v+i>us}L+QXf2E~kJf^(DJw+8=HMh^ zhJif5LcIkGA0!v9VkLkF2Z*fd3)g(^84u7Y$PLeKE!o^l=CGkK-(k3#^iqKeJmz?#k zmLw26=_8hof)E)dy?CB%;0d^ovOqoL(a6C6#&wh(^wOn5&jY7>6PtHt-W)o$WXGzb zt_}?+*KG-~puSh94%}On6|rmf`gC}<*iB#=Vq>l7d5cNH#PKtb-F|odlx30t!fwOP zZOwp8{4^T*AHSQ2bILl z?0}H$Mp1y8^K?b#6q0S(XV+f*(%O~`c)ho`q^cdsd|ZV9+ve<5mR4h`#v1%BW>?o9 zx3(A_w&S7QjbBCa=d+)F>=aNEkvnIAu%#-pZ%JC(_Pr-c%lE+fZ|glJdks1ZxXB=*&tGIbm7($Xde_Wd=N%1%qs*PY837*O)9b@*PJJUS>+Yy%YJA4 zt~*~VAbCqVa>&99?ASoBWAkk1cFZ&91QC%t6WA4}5VuInXnW$lpCB>Ek|TLsk85%*3oAUG+`?3xJp3SGY$ z+i46$dEQ>uH5D2d0qOHT0nN}tgo9ejD8zBwXE#yRt2}uas znE??IoKNbr@bg0u5f990Ot)35RO44HJx;9}%;a-R91}*?AyVwdT4VCVkDG;F-I8JD zi#4Oi=PHsR#xz$M6Q?2=5Vj#-vu8y_o@fgv!M}-w+x;V~diCDbTeJ8X+3@tlsb_v# zKgjN+;ckyC2p&9!jj*XVrShfPXM{o#PWwTBwX(a*jtMuP2!XON=QK9zA1qE7jXK<( zPr#%cs`Zer_}UtopeMGcA_E4IBeusI{UXdfwPSKE?bq#Vb8543xP8Po%Q48W2(sT7 z&R?utw_^Em!Dfk>P?)+xcmd+xO=7dfoXmr?*ZBk1h5!!##Qqt`)53SJjS&5X5`e#yH~xyN$mR80EKjrP&HVq8mWi0(;<3k7Bx`$y zNaB)eI`iMkT`WlZ$j_T4vGzj#3~=v07`!VM5kcjD8#;kN3asKvRs3qSJ<;eDk5$|5 z;TXieTN`}_ShRa4S^NXyuZ1-$mLE0te|{nPZ4qmfO**H~B1J5i4aAbX$`Ysrx`1j< z!?6VFc0GSL$BaN-ytSv}&fc2!#H@p_{|Ub0X7a`PvI$?}GeJPf#BK zeTL9-ipwQvPO$)1{zD}M$@#V?Ru33v7Md~M(tiCs^R(F|yBz0tR9lRh@%*IKXD%Mm zuDYDN)ve{t_D0*hbt{%0Bi6=MrnjcnQ%J#v0D7|+^6!q$f58iI-dd54&V?(~-F=3) z70@NZMK7JJxt@aV@8dF#2SX7)!t&~3E!|zm7{?MbgBLu)7@XH$LX>9S`W4HLQoe>9 z%XqYAccr6nvT_H7Ol)`;9PvXe7Eg5Ai_0%hK*3S#Ka!q4Lj-g>(17EsISpv_bcq{& zs-#FseY)&CPkk!7FZ^~##rR=6O4ns+)SAK`3UGRbmMnNS|7ow!HVZCF?o&x9KeIUf z43}|tVP)Tjj0=_alhG&uQ05J3!V{|!M8?>*H)0vWGO)$gUp($IYe&BTTYs;k#nUnC zW3(ISfbhc2lvo`%BRdUTu+$+b(>cHwCuGPdMsmkx0PPcgj}7%~T51q!Y$-*xPCg6> zwF=wX*KJzO&iir)nO6YW((1Xy%pH?uso_dd>j&~Fac1VI4HlLyTa!i=nZ?+hWJ%Pz z-b_5T1EEka9^#TEO&XtNW%wAbVa!$Os>{(K^`xU4&#gA#{STosrtO0WgM2XL`eM8}hGktn)jC<|~x$;`}DThSwwY zXDMPdu*AnikC$T7km+$UR4#_mZj--ktN;zvQ0cjX9d6}V4?PZGoU@DifPwYP&FzM( z$fkoUE|{wJd_VW1rFni)MvJDyZ2hgmeb;TXEK3KQ`X;-08nVW33+lh>YH_5wSs}}X zWZho7f`o;y7U|*VR_%%-+4+@}WMz{X>l27@^&m6NBJ9i90ytEjq~k|?K~j8kM)M4! zQ5bkDHgiAj>x)8gTCH(p{0Pg>B~YO%Hr^*J!^lN}M)*nx(O1|iQ~z9lQ=ep4PqTo5 zi&j|Lhxj_WJ`;Xer)mpZZ5FhgI@J8gF%RppcH%pq8}($c+lO~J)^D%I+OVaPJQ z_N|hpUxbsws=jrX;ms9BS9WxHw|ggpt^+Zvv2aj3Y*#bBvC2S>sNEsEI*w{WFLRmyLUZLN(n9 z0dXsdaJiIq(89baDXUF$#$xU5Dft~0rt-ojY39KPZ`4-WJxc?Wu#H=Rz(|WpzWvs|y=wD8y{!ekW;=7^ zo>fzmKB;@}lV1OtZ#pQ&*|YP5)!TK3Uj*Cy?!~7ur1}FOrLyc_A?7R>89YVy)=gsY zRyO>>?o=um8^{#-2D#SsDa&t}b#g09b z{juyW9@1DI@a5+pNy8omSn@5g0%Sa&Qx~Gbf?dLby#maKIIhy@IWGjBLGz`on$aWs zzg8@4)N!$D!n*UlB(>w@(pj6Gk2n+QRO{(PE6J|$+nq~hdtuKydzuFL)Gu9u+E;m1 zg80tWzL_WH3&L|#$caxx0p${XHa^-c(A4WOJu8FJti@;!$N@%G6sQ%IdJx4^r;DPB zSpI|~`W2K}@AF}=i)OwfT|L#H#|>)1C8ke7h4o&C*AEA$ISi3Dkn)_)LF{UOXV?Nc z0<_oYTFgmRuJGm)R+s@4K)pcjp5M(2_<4jQ0yrYy^-n=9<|+Oqd=X6x5 zgQi}YzUs`LIsT@~W(RR6Cu&#BSSkv??xg1pvDsS%)jq*N0Xb%hNxotD1hFnSYokAf zgF%ynlcV^|w!m!BEAL#{L1aoVvd3^h$zs|6`46pZ*!7!jRkFoU>}zE&m`AotbE_7= zVq>$dhScsRE0EGM#p=eX_r4ayERV$TeCqT>Etx%ghbXo-tSsZGzYm806Ver&;rU2< zT#;Za;M(R8qd?3lUAH=vV};OWHg3<{b#Us+7fC;7G0o>MP8_G~KxX%oSHCP^6>} zJ%#y`U&}L>7dLA}NfzzjZm-|E(risdXu3FTT~0rSQDD5N|wFXg?PhZG!__%%JQ8V)oU&zZ8178W;=N>e?F!4sEy8v4$It!O)buPm;KU^f&F)MV)CG9Sr;$V5LbFHP#jzzj?N8diPwKlsY z7ehH+*Hp5gnG(xJGfEbe;9b5XhHinany1_VT#ctjNIph|5L9ktomFMSfFZVh?4teD zF(;i*1{@4*cW$RME6!1y4W?wAo-{WRXLhd%imz^;Cny#dK(R4PxowYHqR>gBm+iklC2n2?UZMef!-INvj5^^BAos4otjiWY0*+ zViJ-W0-vP;14AC3h&~vNK?b%3o|G5CMynq<0ACF;9ER&{RTFV#-(Ya-Q4-)~Or4u} zIn4?R#DRxXu!jc{HWFhwCfzsTKK@Y9;TQlV za**Z~7xJdd#!1aCED*n>oTetj^`<7u%S-e;q3M2tD@5?YQ(W(+H$Lfp!uf=c@oAqE zF75984JVuaYQp~~p|JadB+>QqH-LZ(*JMA10g5%DU{%kSfUM;Rsa%FC^i84%JZQ)O zpAcu9g=M2&16`2Ov^w$YDcl6Ilv@pfGRNd=zlF zNAm{}8Xtx6=OaPI$8Z4yp!jje5yV}k0Ez^+y-n3F4#76*!TFvlmF43oM`S2d@39wz zW(YPWsU(qnqqtIX?7~BOSVXu!0fQ#Z>gY-ONp?Z@!L}BQUpv^og!+zYqC~sfLWmzN zF6p$!3!tf{hpLz(s!><4{LnNBPHK!hca^KbGMwTEDXuG6T01U zdX0fw4z|Q@a%dh&`~UgnpjQ((y;Z@_hC97=gBl9fZaod3yCRm6M6=MFut8b zSaGb&GcP1+7pn-HF+meN<(wXvZn74*JFC)E|Q+#*0__k7r_6hkKr5Y+W95zWB3w!^{38w_Iz-EcgN$**eh5k zKq$a*h3YhtJjd{juyFLKTJ%&; zvc*&&v^xafFn~d^{K=kBk0{3pEmqig^5GT7!H5GD>%5@iM>s$W1s#HQ^g&oe{{A3V}F~DXhgFsUBa>ur27QLQdS!F~o*2YpP-odlOe;%}lI`xObe* z>}Uk^Do85>jLxtcld@SI3tGPqGe?ON5k8x9rW-VUGn|;DxWoLcQg%*8;EHg;#R_ zKQ5;7IT(o$Udc~@3g-+`^wYA|k-X&K-^(m|Vpx$~xJ`)0d}Loa{u!@8K@i~Gc0YS9 z0f~Z7XkwzaF}BA)(A~Q~*itvF(KR8elI*|<~;trfEAH2{Kpm>Lyi#&ZEUhtR8Sl*4DcH=eOd zZ%empzv?a>Va|IFi{jxeY{sR;(v_Jl~>ZVKFkgOPw+gxaxBkN6e zxENZr|vd(QlwE~Ir+S5 zQ+;K~iJsRwvR<(z`ej+8rhOPN!PVEVT&)sTuBsxWC3h&{T`Vv>Aa!x$1)3K?%G{`X zcmSp{fFvq{96xM4bNW(NCCI+#z!mID0$G9!U7}%!>erZ>-EUrhQQC8KT#cDoS(cEt zgZMX9u$}gY8n(Vj>48m0;4P4wp9y=U$q5MfhvawRSF6~d2`8vr9mg$g(0~XYJ(YX} zS!)l<1bToBu3t7R^R}?^ZX36%VVMpWyT=>IatksnBX)eej~c&oCk0rFAndi`_AjTG zk-%k%qS*53%rf?mm8rBkCoZWJNgtQ8S0hIzmkHvuEeUo6xz#$v-CfU148yWk5D;Rf z;-Bm20BFm)XRn#xs^?xK9xwlT$xhro%{|re;@zPP^**B5WQK>2-HVDqcTh&rJ z)J}16BsoJCJ^UuD387?Q;DBCgwUebJIe84ULb@7_D$!IE-%le+j+SaiH!rP~tBoiO zKqj~{@oZP8?8>D&L4xYsOJw=qW$q$Vq?RwXR!)5hx0H(?nM43IT=2tg(W1qf)FRKn zLHuZK3t@=1HS`xh>T2n}M+nk-s0=Ufxa5cMXAY2-wYZ}Ycf9%JEr_=^6uOYxtDc)G zm91r;wBQaK-0?y89f;VKR0f*|3I-OgXKmTbm7rnu)G?twr;&=2Ujr?<+mz4>Cy ziq8DyMThvE2M(}LPMyNdju?1Z_str9v%qh5y#9FP!uS6=SGud`=94F|GFuEEqY~Rn z9$X>mRB#T_YeR65)fq0Q4jEKEGF^zx3b1hdQb>P94$`+S5=UD$Tb>Ya)3DgJ-48E*PMO~k;ce-Ag=9*w+hhH_ zZX-wIO~X1v;wyp>Eq(u^Yv@~V>U;gr)y0~GpS%8)K7#NLLe& zd6aN^@x*b!keT{d-I~&npy z8_dWK`8Mzab>Wm*1@@wBJ+0P}bwpd5`gzK+;|R$g5uG^L*&*6oHNagSjsUv}@iC)p z9WBL=g`@%fR2gz^{D^!)5>`795~J&FI!4NhiO(fubYz4(`mGS>cdbz^gdGufd)@=z zbm-Tc_XQrNY(q?njhF~^-@)>Qbt;SRPP;U=Tg!gwarr9inn8MpP^o#r#0oft9iMyc zzF&#Y3$4*h2pJ#SfIPfu2zBcGR@~S1iZoNn1>&gJbFniBc;VfR8-|0K+HyK>bnjZH z*NZ}9$LCHXvjxeD<|Dsz-m3x$N20URab$u*`u2AHA>W0C&6n%X1!x5D8n`}i;J~Wy zt>Z%va#YSyDwU#dQJi|Um=0G%dCHj5khJBo<<6t#kC;fv^O;jk%~P^nE6i4mnGuwc zU5;XDY`-)hE-kKTSd8XJYU;!6GLq#91IL@HC9|ny= zAx7w9<9PIp+RGF?0^{wc%GK9T!b?fqi=+iQ+kw(ES#}cI5_50aZ@{ zy8jq4utlZUJOQku6T7xkNXj2kgcoO&0fl z8X=h}#T=9ZO)(og2C-`6?+qoT%%3KY0_-pfVwf+y)l~xBiczx$p$eGk4Q(GRV<90x z*Qd%vEg*&ERXMUfLhTR|=tc!spI#GUC8A!tV0@KOF6NC$HKk&o_|XHZ?G}wzCx}Di zbYh}p=jbfTaoVjpPL=y9ojIN$I&Dsr!w|qEon($RbF?#|h6zC8xvJM70>HmrF{&E( z3v_(E%=i=49x!aH#g^L1%el8~#Bhhbe(UQj*lc-7R9c!^7W(BSrAar++XcF&xO_J_ z*Z$~&VD`)U@nP7!^J0he_9K(KduvnO?A9nMn;+<*^H%hndPgm&FhCDPQivloinwNp zywly4`Z$$my=O(gFuyU;D?RHnY$S`;`#t^Za+A`;HleY&Vkh++85$cp)Ky#1Ygkff z^oBEm703S!N0=*y(JMe8lQ52W;k~YP@_ne2;YXv)8naaZ4HO>27XT~-<~`n|UE9YjA!Ft^d3Dv~VEaloR&Ys4jU3o-RBE~`UaFXfRE5dORICe(Cggbe z^bSf>quD?L4655l^mNzsb|iVe+PM?pG>j6 zt4{TX5<}?C*&N(m0ALNf+>qIO-s8u2$Xb{1#uW6i;+Hqi{JFA(YGw_w3l>sWoFI?G&29G$4xiamQ!41H6?x z)*$fFQ^3z47DuG!sWmYl6z3+^OkFF5lUs(PWDe3r@hS}&U|PM!6DCgB5!Tenu*-Zk zXIcgg-nIpA<1&CI2zm+rHiM?5;>Qv5O3EK3i6_u)5!r=TZD$<8BE{of*?7Q_qcicw zq!rSyU==Kle0S*tl~&nptY~TfnyJ5}LJ3?HZ6-_Bq}sw%CHO3ITjUcft5cS4mk`F}8TR z|7?|Ml>0E3;H3qdF5lv9gB)kHj#hiAshA1Ukda*=gf?PReGTT=& zmE`grhrGg5vEv;1^aQA+jcl@KuW|h*BJ`hbxD%e<$z}<8vvaB3Fn{u3$I3XWwzg$+ zXz!$ysDAxY(o6B(UZnJT=WHneY_(IZAm)KR)P?KEt* zAw+OupMhho$giSFx%ML=@zNn{5<0;{Du)ti-@U|H_w?tE0Hm zfF)S#GOOpO?7n^Quv@c*Kkm{ai-Q{8}YqI-mLZJIg0wQt=9X=ct*SAf7n~ddLA39~20gYG!M8_Wd zoAm<@<|_UDqER)YCfenxEXyW%4Ft+$Xw6FG8Wu`kn=&M)j8gLg6)gyXC~P=^SLv}L zob`G0SILTCrqu@nUVIB_HCh1x)8a4XJPkqZ1*^d7aCx9ML>&@nXKUeQkBcDNfSO3z z$05XNoRz)g>S7k+ga~5xkc3G=R=(I=BdMVF=U0?SguO24HPa=i;rck)&4L{8weYa3 zQ2rWjdz@5Y(ZGGN<2b~yW;`Ij+nwJ*c4Scj`qsSN15{?s3uFaHzN&Bf4azFeVhLxuC$d7p8` zo6wgl-i(Hz5UzMrcHyl|O{sAUx?u~JnwKfNQB^h3FdHDX07Q#uQ+9=bT?x|5CsdA2 z$rT^UY=%75cq0Xdx6JIKn)9|>h@sWNqHS1GV0=wcx{xHcsm~3&+`oSu8N<%`j-^5z zX*Ap+v1wQ;9au;wUWve40b%G+Xe)_JK#CzBiQi2M>$AOJNSVE0wWquv)vS^47(S+? zBcC0n{n?&@J|v&*(T9?J6VWgSOmBhe5DqZ5aAg{TAz~Zw4I*LR`Bqp9R?sa4;A`k@^7g7QYZ#L|P4+M|W1XX- zt&EbHswfU;*bGT6Be^8eDD#?)9SwOr_g+F|jv}T7c=p1ui?F$hF>Ic# z%EOq8UKy=2(4H$C=pflDm;+sf?unQS#4-FN$G8m?RWa_mdp%d)Yv;`%s+QX7>G(M) z6|!wAM8Q+6oiFPz6!8yc?*T z^7KIRS&({Ta3FUIX~l2Dk3Db$0Ns290MMGo=T8}K8u$b&3jZf)ZHh}JWK%YYXJ-eE zg*d~J1b97BT-_y0pCa;d83y|W&~P)GPQF3%YM%H2c@~jXm2Yaq$B5*cHF@m2#mI_Q zwLRrmqFHc`OkmT6!VE&j<&x=3!wE%VqsOl>M|P&`q>-9RTD~oGM#=zm(1)nd;;DPK zg$=7VpP!Rd5ufEg-+aNigsS+laxE?rD~&C=33KAdrm1qKkWpY0QcejWX_VHQ=1k_l z(EwtHZ!jAZahHh|4vs2P*|~)xUD;o23?G|>cAZo3)YH|AG}w6>gilaJWDF>%BPu?v5)Tkz-%+Q+gDGzYFWI+L_Y zV|(=@B)&7*f=yb2YV){19qpEMeY9`)IIpbH$kf z+pb3gMxKZP{KQYop#JiYzOBD1pdEfkw*{yD^Q9TanFL?#-r(KbTp>)3fa41>6 z|0aU5%*mJR-3Yv|T6v#~l10hLfjG797FP81jW4ctTy1mS-T&%V3@^}keZrUG*vE&( zvFpgX1AJ7Q!Fx>lBI)WD>6XH$5rf2KH7=co*a5YWg&%Z?ySC^ZxoQRsn})iQ(t;g( z);JyL*h@Sg{PNu0A~yH@J2rOg#_js`!;8z8ykTRzVimo(iMkJuY%X97q$e#7Gd z;fUt&Du?+R1x>m+F03Xv87LNwlW%N%qvMTBt{3~A?zhqFbibEeFTE~qe>_>--tq?i zYk52wFUjxvm+&v?v~two$2r-==yGY|r9~NK(9`aT(t;sJ57=th?{}Jy4!1E2B$LQk zi^uF=UWgIQowy3F#o0pemLcqm_P5vrSv+E>hnb07i`o^$4*yv{;_PZszO-omyXY|% zJ>G_rktZJbuO5YGdW_>e+Ot3IG#?vot@cAU&H+J>*qh#FYWwj;tM^#<^mzO&_MgmPk&&J==0egY43m+7A-qqYWmTJYZCC(JYqjuY(vy7;6!#j^dfIGcPA)gd%@ zaH9n=MV*)L&7IGrjCZn@KFB*XY54e>O!#WOZ}`>ZFfw%F=mivUfIyAAp^Tx8-lUh0 z+OyZ_NNMuVgIz>%vYO0F#A5v)-)yo={6r|1?r|}IaC-bV>PsJ0t1C)VW+aYvt2L`A z9XT^;oOI8u0HIyQ0-Y)4@1%4R5pkOQUVKkjBJ(UBy-m2=0H@<}HyuY5Al#UOu~b}O zR>`_&HS&U2s(NhN(D4zmZW(4dsYCN3Vh!I$`1=i0H2jg|>Qnu^e8e%KjEoV4EQk2Y z45S0R|BUW`&@TrhH44v0k-ks z{#X>_!{D$8neKj=yh8T91UWRY=jjFwiFRZ+$ml1J6A68X%B_F}x9$8FBznd{e@Njo z&kc`rAEO?Z7MT|wGh1cdFgDTNMs9sF(}W7l^uUPa1tIC<(lN2`#7g?TGBIumR3;{I zg#va2jJe-aJ~ftZvERx}t?rkwwP$u&S?R-Iix|Sg$M6avMVTIdg)%*_C$AviDHHsi zU3~fu;~cNEr|-ZVEB=3TG!6*^!W^?k{cVoyq3L=no57=|{O2Sej7%vSdpuX3sVd?M(i<`1ERh;Q&)GJaE9hZk}F0F4zK(pkN)Z__EQg5pxRH* zrD7=huReeu(*N8CxqqZ2?mG9dS zc-t&^nj}c!ADN`QF`PfM1vwetH@2-XnKDIb>&y^wR455kjj6ywzAe%EJC{&fM{I@ejB`D_yJbcZsU2Oq|DVx3@H6q zbIO`!D{$K?(Sh6rYk!uY-?i&^ZrWTYu;n>lH>Wf;Hh`eFuz#9-Z*qp;$4NOS{NG#Q zw%NTL&W!)MIeF#kD!lDY6fZr8w{dGa-{dNAqko^)Iwwqxi$Yl1(p`(=6Rs6u%4fv@ zVHifI6DQ(cl{k@vDd5>8ItY$tzUN@G~}l6FZuw5)p<1p(2yPiq*+Tr}?^x}`=GKtatdQ((71YYBwsii1G3=oZ@X~!3ajmRgu}5J~?G%I-VMBvPSq;tOHm~)RYiC79x{T_W=xo zq^6iB712o|-f)T4c`K3*=8XHaJvT!ndG^j{|4?mHS+*~$Uu`N|wJ%+?W{asDmYg=h z%v26d8I>oj>s&Vp4sUTWzX2|7f-t9Z-9(|B{v1=*XHsJ{AhvALN>i2Psb#Tc zZc|oAm$^+|zG#K1%Id`94LGg>Xl5K}0O2X+H~$lWoj^`L0Wkme{{&GI5k42`Lwms5 zE|8&-wKOzxE~O`{{|mHbiRsV6HtBDF0dG%<7satSA#%FPcQoJ1-5+}Q+NnR;jH{;~ zv6=WGUWBG#U(W~I=^n6^lE=C@#n;dc6G_j{GEp<@*2iNtAj^AdY* zQ*IUbt;huY%n(qS3pewR@&I`;Y1$%I@wdm6M^OjV@Hy?>wVUrY0S679*H?IfR4x2) z<07*@cMYGDYit&{f?x`@r1sRvacHJxK!LLhsoy3v;9yruOIYZV9ou6T2{|~n7D~- ze(x1hxiGhZU6#`5k>s5V30b%|X;KpUJ;BtdDiDK_aLox85~*K8r|xF|oFrIJX89~W zl9aJciNcQwhI;^@ZvJa(>x)m-7whUFG^elUk{vh5p7xzXDb$@Z=tf zh|a~>0#~|^b#~l`81k168F`4wP!Ni{MoAYnlR2-IMNjWvIt-n+?rI#^8y^>-n7m}T z`FR&lWE*Yr1}av)1o8r*j7Y``IsGIk;Hf3uu*9%z_f-o^BGGwsa_0yy!KI3bukAbi z#ymqO9yT|*Elz{QL3!Aij2*RHxYF`DTD$AIg(Z7@%rJ|zROVI+mx%Q0zK%B_lhhhI zpZ#|UFFgYB6k)1~$g6+`{@k?;p zerBr;UquSuxJ{0(%3zk3Z9egPqy;C{`%+$@2&{ax_}Q(fOejaVB%Odb zWsOjKAwUp9KsW)h1p$Q;loQY%@+j+svz>eP3x$TI5%~%gB$J=G z07~tT-j#h>^^>qggG~=j<1TqN7hA#C+!|LaWt+I77C7Y7f~{JasVaz{WOd_B!yB1Zt_w& zdBQzjDOQ+CKjpur;Uvif6=S8_Vi^htg3n8{o-kRiPvQ3@KHTB-YIx@Kd}PsctX5GKQ%r<8l((m z9{dh`Bm5%a8

3;pOgc)(N|n-u#Te#d*d%r5K!;CG`5f7%4nbc1mBPThz1Xlx_vr zf3RXDHMFvyz^cKM@wM<3o15N|&gQz4RU$-o}(R2q(Aiul@C$=G0G#8^DQ+j-0_P6q!01I%54#d89j1_2Ae zE$P;8^9VXLl^d2^>O0|=}5iP6fT0u}+c6GNr z2Uq#`5s;%&?e1>bOScK$$~}9!TjtZX^gHPi?%CVja)@rA|B_xp%Rb(Mt+JA?6TGB! z&NrT2LBWc#z$HP<0G5p3L=cX#yTpA7>BGLnQ>%oN^qv^3a3kml=sm6BoK_58!qW*= z3L*5dcmUrieBG!;ppUhNvrg2F{}c}_S@I)pB__3GJsm8M;^%JA4d@j?D{!p$rkW6H zrn}`wtz|hgJSWSn*QRmusJX}4ZB5Ox<&&llyIn!TiTwe*Vi5UFATnEixmr@rLFc@?81kpPDsuh|PqG;kV1#YwY_ryrB+Slo5a=SNiI> zl|=8L9At16qN6?&V~Y+pE|^rme7sr4L4-0PP53Os>p~xbY{uOYOi`%s)pdu}({R!O z(8hLMVe7GIzTmuW zaL;I^Wmk90C#->bl9PC9cX!KAc&bXdXHR#_O*|D!PT`)t-7OEeeLUR`IJ3R zYe*?{A^W;AJ6$ls&$?cx5hiJ9+27srYF9cPWpWuU2Y3qz^IgNYq=8Q5$n70s2klSK z!ciOhQ*FAN1E{syG&5pxl4A!+8#Q+i`%F{0aKZQ)<46LY-hup;!)Y;BD|n% zNIEQ;9SO8Q-R6C1u$iS@W_W#a%vpA9bj5x`qNe{jrgAL1g3+B|qcPqMCMuz#E9vq3 zXnC29q+7{av{ZK`K7I==uOOGrDWzp`cS{*7px4MEY}sbCyoZ%pi}WRv$Z8X7p<1{r zV(;R)Q>>8I(XVjV#O`^)>8Xc4~$^E-*B7NX@T zI;ozb6Dd@3z^}I|T8Q-U2#u3_K?X8Lr_EVL=}U8zg!4R0=1#){dV{P1V#D2q=pelI zMB70NBLGo3TLrr7Nb1@VK?imsjrp3bHKx?^{Pa0_gNMwUHp86A0c?es_efYnCd?AV zZ&%oEy+ktuOL(sY41io&ah$<(ES@NPATNZ+mo$xZGH zsb&z*ASA(05q?dOFEDpI_{+%&AV-2n`uY~^+om_S zuyN{rm}svB?TH*5n7nskhV&wlnf-yYei!`Mg>MIi9VIt!T#YhKardL%{lXSDYTPdo z;!`$%e(lcF#J7XwmsvV(BL8l9m&As4`pM64Az!h_0vLjWu-1dU#p-K+*SU&muC@T$ z^sam2Bk478M*z*lTW8E%g7cA`7G{0OM>4D*9B#&S1>xi7V$48n@ne_noqK15gM-WS z#QDZ&cjfa^Rcq6YatE!YK$G*A9I%_a)hock-|N`qly#fE$y;~XBT0On1nq7*K|(K! z68q`h)fXkP^~Xh9#ugX9fE3XLe*4BGqinqWk)=S?N6;}gLjBVpDmJ~ALyl+7;~~TR z5ced>rwWQ-{Ns92FO|wRB_Z6x`~}B-nw^eY9kj&em17sx7gc$sH5;rPNQNUjX-|^1 z?5f&1o8IoVow~NhCX$7#7Is|206#oJCZVRxsmh~hAz`~F(;a}58&Wb(g=*dlT1&m) zNfaxlLWlXr;Ue49{o}1uApynyfwvEl7u6Q&(+?M~GN%8!oOtG7-H6oVD{beUskTU+ zH9aT4=6hZmCT#Lj+LQMSC4rWcp>Ovh^zI%*7`;^j(R0*6Lo5z6P~*#SV4kjUlH#}q zyB*h<8vVZj6L05J@=;Q8?f8KIocRuW0O71f)x!>B{N(F;~e{jjP;`Eo;d(F+w%$Juj z2!5@R!Duq`wZz!pK@~j0Xyrl%k3#WHk@F^eeG64-9{#f&`v!}^thfmpj>w434x9ei-GxE1> z?Oz?b+EMSaYvgN&$>LzkRZ|jPFuXiH{v@H#lgW=P!lVF0N3=YIe2s87<o+XOhp*ZI#t7S#ZsIU&$xUktSQVy^(&?UjwI#&Y^7um4 zC)D<2rOl8tA?Cre*tNZ9NL_tLF&XeLugZ=J$J1v~fK~c&H&V@~6mAr0XFmPhaGrM3 zLx$Y;uL&@Gbk`5!D(O|^vjNNV1|8_$XdxyNckAFsCF3STtc;@;L5w@+R{Zk0`)S9c zPDdTvhL8b77}xAEb;{Wr-ekTbTjNBk9NBt{zVj*z7N~nuk&O5!S+H{90}@W%_VuH} z_xl#ETrly)YAW)h5;BV1V$c$J5P`9Z6BQRLK5_Y^>{8ikn)ioc zFL~b;4vk2PfSe8+Tj?^xBD&Zxztu1kuX`S^Q{#0wTN!JLc_FL`AC8xLl$y|cX`b&T z#`R(mfyBHId+4J4%sxMY{nm$=x$>Xp!zH_&JK5Le9Tgk#K_b-M6&)4L_>eg`T>QZb z)ot=Ztd6hAFvudg=&@TTAEHnM8DRvR@WUn{+JT5tQQ?OG9mEj`fS~ypjgnE$j>q@$ zDmZu`1TbGT(^T*drh0E;vm7M3gR-epb?LKe}NC@@Q zQxXG#0eSDlFJ)JdFMj|`hNT8l6`!;@h^j^}cm_F7$> zGqKFBpm3L^;PY1dotMbLlP#fEjyF%NYqGMc&)OF3Y`WfVYo?7VC}~u_nT6}i3+9nQ zoBagoqe0MczDCm74LXCp^aYv!Tqn}j2xnI>>Z`=AHCUNp11+Uwm+_L!}*rXdl#iKI3xw4n>w_T3eRi#Cw24KE9WTPL*s zO33u(tt8Nowvtsd=$$M&hJ6)8CXk;;@P-m;u?+i{eG znBk}}Z^46)Qv(@8>*b;F?0MPj=hfN`PP>nVXe=Wh)|}96(44<)dET_Rd^&l(bC#S} z`tJGT5du6C9wd%lKlDmfjy#=IdVWCMH{_9>FXq~hBiY)YPS0v_GMws~e#~2J?9V=6 z+e?P9G}%uNHO?D=TY|FjT(~E%#skWDY+yi(tNnX;m4_En7<+hoj6zlo{eg0l?8+YK zZo6zuJs)Q{b@S%C2VK4>Wp`-McM)tG`MfVXB2>``!^^GLTG>LfkTsA7T#{tN_-mk# z1E5@30>b6MgF6WhdLBJE!wUm*WP&%ZQZ+aPG!281yRAFo64%GSyV6~wtt@6`%-(Ew z&W1Ri+IrX4G~L1;wUnn^C^uJ^>~<9`Tn*!=Sy`+YTXw)fxZ2W^H!&}T(&94m(rKhK zJDgW&*m3=YNMoDkmKRcdT{U?mp_7os-ehLi67dn1s=FfJ(}fB#@#5=bXIv++#qO2j z=+rWh-G2{@wD;%`je{5QB5JJC%N^2rF|+R7=QipL*;3xD_g*~h;%G_UdiyW?StWVL ztmaJ5$oRN#YM@?-4NG1$-lFW({?q@DvG)Lo>iFV?cjlI*BP_58h#)*m+haH85S(lgM3(4!f2y*>^RYRP5R$+#uY>X;~4 z00++3Ef%j~LPAx&R0DtyV2063uolyzg^IQv)S9?#Eh^z6xIL<}xnNfj6@{l75_8xh z=|BJioIntL;Qk=%KoNk<_(dAKX7vu3otl7+Y=NuC;P5ehEUgl3&6|xgoEc|kx%qkS zIU-x0wphMk##LLjcPa^dZb7V$<+;t)c4+4p;nXs?WxMc3vZiz2_Vj_SgR|S{AS<;) z<^uozbt;NT*<&clY!guw-?i76upv?L=@ru!RwW4H^Q&b3YJtw29o#=^-1(zcOON<3 zo}eb`G-75(EJwCZ8R9aD___skaq9ja54f0vj`JNzP=prTM1i9o#z8W7t3B=3*SPx} zJ#|z%j9q5H#*MX1q?n>UV0fn~gh$!A;Ie?F!v(PjLllgek%B$3L2T(QEbjfCuXv~T z$`JO$6*3D}ttk#q{upbx+#3e*Yeq?$iV8YBb>rm<$#B(%PMbz=kc|_DK%lO&MCNK2 zw7~g_W;%@&PWg5iz_&+bi{!brVIF`Tdu;dYQLL_6oeQh;B&v|pt%!Lu_PQ}K^JIS~ zm0XzQWOK^KZ72KI(UA^LuTC#YKb=kn)?k}1np!>0@K{{;+tQ&!kF(R)F$#;og$dG8 z@L;VJ?n~|Ip~PnZ6$Kpy(y8I^4mzg6{udk+gmo+N*;brwxC4$SWTHSJdeef8BTZ*@ zF}G%~c1}Jswk!2Kbj)VOivqjtU0Gn>VEDtIRN~NxOhtb8mOf&kg@H%lb&rxvYpc+ z=#Nbb<{k9GQREe7rU-l(PPzeJMpDa_Vc6S|K#cF&m|VyTc2&BEf0bM1Th(Iwp4JZT zl}&8~F=5Kws<~B1+$%}W*)*4H*FC>v4~kBmNlKr5)YA}1Z?$Hh9>wPP3^NjhnK6bn zs3(@#a2k{bz#uSuSUnIw9b~85oNjyF?P}xeZrAb&yI2DY&U2r$9nPfZq0yx0iktS0 z7SAFM>^X7RxVVBoAktU2zWs{8AS2munXE3(TO)FGK%)dEPdaQRK+|9!4d+j|2pWIT zJ1_K&cTK0}{R4SGCZ@%%wH28d8_$CIe_ylfqpDH2{j(ECy!Mj$i6BudtEclnJ2_Nd#@{4N;mwm)1 zf6ZQzlas%MNPo>)nU$Nji0Q#7?5X=f3V<~jH{NIg;|)kbK)n2}uJoscePREs$ldlORg%=|6w2n|%M zH4I|^0gbzd6q>AtLAXi#0cwT119LSue8MB>1^`M3TfIb5aS> zWWvUtj7lRkFO7ZOtCKZ3tk`F;skFy@;@ziZ3;htWa#~c*34s=6bb@Qz%x=*gvtg3o zflObH{_d^&Nop-!F!i^eslSSsF+BbMU;R~_<$%8Rfp*|drv%#3@)0ujdRX!R#QVF< zdp&uS?;OkB390$UUUx9|S`{;}agWeK3ps#Rj9E|T+D>cU*Iezh5oQnTh9<5dbA?gO zW6adLh#^^muz`0zB8m4MT_*#{C=5dGgnx9s=RDH9FSLR*Gcnkk%p}q))Met3wIWm9tQj|Hg0LDiqQy9hgXoT2= zPAd|GDvos!`DJv9A=HR<(SIn&S^HgamvGBw9jSP#nF0|T2mn&Up zZ4o_sQj}TO#o>~+TTF0tVTRDu2s2+PAu(^SlxZu;S)a%#_oHTP$%YLi0YviBMcj*c%F}Oqc(#>YX{D_0A zc$9il&xE5>1@XhFexI=QV^dO(h%)P+OLPZ91)2ujgE^!67wHnj8CpowAi{bVw*;I6 zvC$xx-MhAIoUxa>nA_dlP+V?hVRv=I+V#B*=h?g~mHG=L{|Y%~DTl<5NU^k3hYlSv zhD>%b>}@Pcqf4%c;^md2OD@B%pLVM0FV3u80=I%fF`Jzn6FrLxxp65`dH6DeIZacL=3l{oroJi)x{a60A#rRHhl1BefFSKLmV z2pS>(HZkb8U09(f*Cq_>d@PxGF3xkbIko7qp)~mk@oe8mZ`=6SQH6%g*w-|g==+dy z0K|FX=rzZF&3U-?N?SvjHHU*bXxOiVBiUg0MeG=BM{Z**H=@4=pp-3jCwyfCH|?v)%3shN3;-r-XSnIAcDLflB*0DJ$4@TrJ2*JnT` ziK7#Jhm(unPfU#Od^;eiM|@(M=h4RH zL9vv`wox({nmBIh_JdF=wZ~L}F;R>!a7utk(v{+ibN={%D+5G7*pQjF%VUPcJRLz= z*?io%%BIro6B}~ChJBnEA0s8j#&Yjo)`2#TT^hSSHa3)w_ZDAe@U6myp?$uh+W4 zB<`$+%r~5K6Z$zaRCW${(PuM63YYGUIiHge?te9cH-bMwRpt?g?J4@x?(6c5S97Vtmp3Zo1mBGRR z3@uLV{9GzS8!ddK$Si10tR&7J7MCu_*`yI`2hTOP){(N*u64V9><;-~HkVsS(?iqZ z=gb_K*}bMncJuBk5jmn&%N|j+cPI}yJPRkY83?JZ#7lrKgS&@u(!(Qwc?!Juf)9il zP-hAIh061*t|i*o?jp2gRrLT%$>0!@v~v6hGX}2e96&7t5-*LPE(+Uf3Re=dUC4*^ z`@FWSYMdza5)x_ecI-#e6mrtK`{-;Jj5}oHFz14vfPcg;di@$VdU&wmup5oZ;Ip=o zyhNfttnYH6RCZTh;EqEW9}V^^Bc=w!GX-=-O+aDGNv?b+<1!?#cWDVMc8&{`-3Zf%VHoKPoX_&%FtQtjnS>;==`xDJF;vHd@w z?fDS!d&rBiRJhFoHhLvq9ZrTCPeIw&IXmK`Fe-|g5AKpk*adpSS3KhNvCm}NNU!vq0x+3tmh2!wDzWa@x*uh3 za1;ddv3{x{%5JLzFvbrT51UT9kWhi}y#4E)ACL@lbmLNC=|3;!6Bg?;ON&c$_@`)_ z-O%_EPF8cuisG%bmE8snO^nx=ejV?+KY5tOdNv+eYLAE39Fo1~Xhh2p-vECaA^Xg( zzmAl>acvRWEzojanb@~K!u9h{KcP%$a`1l(?oe_y_s=~p9*4h}f4Bbn(3i&R-}XBb zs{s-DS9A+t!F3>KK*a3J|F|rghjsT0c%XIC0hLbOO*M~};d_hlEmojfoJWEc3;SQ{ z{*r3nDX~p}7~!1~zp4+uQ=+@Xl|DMu0TmB8nQj8Ud24mQ$xYuWSt0B+)nzO(A0_@L zRRfN$2)zh+PzSV+sG~w0(@=-_P92+s>83i25c4{&|D%q-l{z*-aKPaxL5U?wi3-(v zQ!5LMC4?HK#4MDkQCisuiy9*wf0*h>Gr{pnI`s}5n}wk!ID(WCg>|oF2c^U&RfaOQ zn}wsM5-XJwRdv5f)1>vv==Y%ud2dx;DXna!$m0e`R|5`PY@0fDg{qVmE8|gSEFs_< zC5li&lD4D7CPXJ+sg%exl~|#aIEz-Ql@eQ2D@`S|rV>4r62GXXh{oO;vEa?@_lDOC zRp@eSr6hg}e<|uc{00qZO)x5e0{5jC4fl1%`~11^Q~h%_Xc%02jqim}Tjl-^yf;#* zAKVh^!EgDQQVzfQ`{FnC_st$P+(-TVK7THMUjN+U?!TU+9DmNsncY^(0Zw%{rJNCt zFp80YX~QRg!yor$Zjx&JZGr>8-@w7knc(2}{|yHppASHpWmQ}5uwJj(N4?Ok8OKTd zMtR;sd5-e(CFOTJ<@bBo0+2HT<)fAI_$^$;Z#cFqa6}X1c;LRYx8c4{rQ8Rc(ZZ$r z_oRCb&(*2~(|c1;-%G3lS(PAgc<`Io12r~&zx6)utCu(2NBz8B{#@Fv)Q{)p>Hm6; za{M_jr(V(k$Ah=v7-57%NtIfoz%fGN<9!`)Tu|!6Zv~Do`TP97dPl>34hQZlaGX=> z_rQ344Ou#5Rxf#fx+62`6LA2>ub1+?E7TIxl;^z-{5i_YY1rIl6+DB$_>HP#axn~H z8$rk9jk>^}LzGBi3)&o#UwdqGV7+{Z_lNE%)EZM4?PpG{{sp0fw+ zWpneEWaac*9zU~RJgi*Te?vZMcT4-6xOmyvx85inq2dSZ#<8L7K0<&JbF!E;?oPUs z*)>1GSdy^YPvUN}s}|x6QoEQC((->J3w|mCaN*z!xbvNbBGpnU0!RfqPn}M!but2@ zT;i^*5&$7TUkCYw8_3Lyug5w8z)W^Ww@6d{Cu!+pW8ZfBhHo75&h2g_YuVoc#W_>U zwrbQ?pZIzy(eusVd7B0=*oz-*gH(`7dDT1Ddn10$KOl$p0mCfw6E7d;0PuC_ zgfN-pW0ZL(Fv@HPfcw?U>OHb@kF)l}Blfa0A-7s;hyTHzcv@>Z9#~IWYomWBExdU* z%V#)yo!iw&c4jp<@62tsX03ynb+4tQz<+L&wHxhZt8hLg=h)5qDKR5UNaFz{lw{U? zGD#%XRUwz)>XA;^>Bk96|E`eIpp)$Q-N?efHuJk8dwwY7IwK2Vbww%{^~}1Urss$u zl$4z~+jxO8SFX#UEg4`*t6ot)y&R#VobLLJ_I=hBEA~uq6h27dw zyq8`5P!x$dnsumqCY)Asyw*3%vDMh7k$9jpInSYGxEE+4j2L;J@*wsy#=*yo_O>b|_f-aLD;Of66M3K2>jL`$fa z-db_r(B!vP+$gNLA5VncWwl=;D(1Q3u$gycGDw)6=d&!29AKY`tK4UrfdcXccnk~B z4zxQ24tb;DkOw}9FG8qvI0q-$#)vIca(K{zX8%wU8+qrFJL^#vKdt zzsA8^t7*oc!9>JJaD>UU*`?P3?X*^YY#O^^_)A%BW|6*U8 z*6Qn-4x2!eylw5O6JyloQ&0MeK!0$u_gqe zK-rmR!}ziu@vo8p`9%0VR#S+PH(xu`XK_B_R+4M0+vi>%_|{}dx%oaz3P7s;7B=tF z5q8e^i8`iRbHucQ`QvZ0jdW1q!s1lm5Y!dIT6}Yh@2PY#j+cE9?4+Ia0#aXp%$Ac@ zS)owB;(V!ff+3<3jRcd$DFs*a7-@$O9b1)VuFIJ*V?Qb0zNHf05B`gPKD_2cKWm{e zY5b(5QX`nVju|tne4wp`um>6amJk18vnYg=_N2m&y5+0bMRx6`B$WQVPee3gMR6kQG7iMWjepTlKRc>O~ci;MXxrdQqd17vR8p zfc++ZjI!{zPz-wrml1ddlXK2Ot*ib4IWHIzgcR4>Y8QH4@>^JH=;mVRU0MQLc%m|S zqGNkgacQFP(pCSdtKg+Li+8Q7lWbA1nNlwfmcX#CZlv`vntERU$KttkMmcLFuC9rp zGx2_8-M8wsVjM=Y6<^;ltqu489pr9P8f3w+(BH6u5f#2P#rFu<_2J1KI&I?$2JA^ z@O-c7diRT()4N)a_H5&O!fQe~bVUxUY~^c`WyKxpw9=Y>2W$%zH^fVg7cvy3=fm8~O2k!s-)E*e|gAB`aTcJ-mf&A!65y zTNqeDgwheNiG5XLRi1VuyQn%fQ>mp+b-sp~Sa#0f<$e$c zSJfvMydJP%fqW2Z<}K{1P}T5WuqQ-qu(HF;kF_xT*<Xh?VWO0^6A?uEBr z55R!-VAX;Mj}frR5Xxv^<2t#-P;-9EL%A?YpQInxQ}`X7zR%9lQhB*j3SoPpJ969d z&~U$$%5p@c-dgX|PvFi&s7#z87b22I1Se8bgc50qXPrGKnklcNQ;;Yr$|wGpF5CLh z@ENKx-1%31LTP=?7?!rIMA$3C7eG;MtIa9&t~#woO{d2*Ct^Xv+8tz14XG^u`vT%D z)e-yEgI<@Egh}s*VQg-*)k36PZF-r@BJsZ(uC6r9aIxJ%;#M3_emshohqIs843bla z&SBpV3ag0>!}zpi#q_oePZj_!Xkp!rQM&u;(3~%bCGj68CDbhWW-@V?7_pv>aXN?6 z!;PiYuzEmGNf-UA1GB$if3i=WKaplWoy4BhQ1%;YZj7_=MI=WAbs{`FDmU1m1yk9= zJTi}+>q`pP($2(RUn=D6+5ZtMz#BewztFij~w0U8Z+&lBJIQ2TkuE?kc>fdL0LwyIHwKWxEdEBl&CCy$zi@hYdoG;Y}wy z1GWQoKZ|3~6nDf^U{g3nE%fd_XcQJ}8gUGV)QX5n7Tv~YCR;jBcG2wGUz}~9z~Nqh zf6W2WX7E}>cT9chqTl$tAY7QImk7e@a}x@2v+TxAr7==i?#ft+NwBeFp^hYly0Qb;q&{2HUzHo&1%p+S9G#S#GX*KtV-ysa$ z>V4vOXz!1@pTtm{@_?+~980lyVO}cG?^o$>#L(%p3_IuzcDINuIyQ{-Wf3!_O*Lg? z&amjIY;^tGn5F-Gn;gwysr35WZwsI66HRYp33-8T)PZgwSQ*YhI`#Iti>jw8S-rjJ zr12^J0+9KrV$=Td6mtM8U$F(=1^MFo1s{kYbs+Rwu(S|1a`LYe#1?M)-SeES27BaK zWln5A{>%)=c=v3p%n7;?FfRI8CgMbSWH~jb9Sj*%oMbt&80QmnG@S@s;!a*Zs`hY( zPy?_Vgj+HuIqo;@^EG}v9Z1H zVsloPX5so-Y@uVL0&+NM{k#pmB$yo&GK8n^jYLe3B64%w7G@S4+@ZZ4b$9EuSm?iJ za0^2&8IDZ8Y~I1JAktBT_`P)*b=ks5xG{4hP?gBdbBN*=4J$s7a&Q=0C+xGZSSL*< zIP9NK0>^*Q`0RU?tq;Y`XBI9}(@w4-R$Uxg6x;Ra#TdCyhp*rke6#iJKtL}-EXy>) z2amtTM20}ilc~t8;2(mCd}NY@df*tQX$X;s`vT5Jz$%z)N<1PAv_guxtP*O_l-FH+ zf7q$cJy^k~ac2x?a!*sgSB3;KvBJQ}7`pu&bCV7mLXS|5VTOTw?0c~DN~ZX?YeEET zB}2UM)xhH&hOp=VNDN=bT9EMn$O!+Otru?tD88Q%FqhDAaKa!S*9QxpfJtBFDqJ>L zxe1?3uC)amo^@i@My$@C*?A>@^gmuy(njYGsO(@E@J_a9v~J20oeGRN`cWUX?qi2tq9tWOYcs9_vk=qf{{MxPg zYC3{*%$M5* zX|8a(gO@ThkutZh$9e~i!t&fDQkn>@p#CTkJ?iKUzT}YO}=chNXsk0EJsT9> zLludZ1F@GcogXzVAjPG#U+)O9U+r5N6Sze|Vp9UuNAROv&$eN9)T-4*G8z$xyn zh~h9i2g1f%fFHZL=Rez23_W;9K=DNTHHj7j*`?wcheAjf61h52>b~A3Dl=i?nDEf{ zz4|w%TdVINgGVPr_m$h>E7D`rQIglIG=+*$1+8E#-w|`y72D8XNQCTI-$jL}DjidE zf{tDiEyPfPXi)geaAV1+4DV?U*4C3J4ubtf$xuJhpG;)-QiMP84RjYf)n2Bp+OG;o z89pqB(By>4d9B&SA>-)__S(B;JI|I>7|Zb)bT3{(HkGob!Cs4DhBh-mTPD$abc+Gn zWWx#+^Z;}r*kUu9LxPo!hTDR3H8+w8L+LF8U(k7V5SM~+M8zEN{63suDSG#4*{SIJb!Dge z*-%Z4&@#*D58(9@fty*eA`Xf+aV8=n!qSea3iy_VY zdy(^M>YNh_(aA~AKgZ(QXZQOr4=6o1!0!i>ZQw~0Z9;kv(oK39w!8rZ@H z6?wUf;83mq$(1IxGr)zwB2?I3QhT|CG%F#4abTQa_!U;RZ~-PMbu;w`fQC2Wzg;cW z82NEdP(T0>HYI4u`kh0F6=^5c=vN8phCKJCl(X+%tdF=8I|$Ty1QYM0gD0uU{s9Bh z+=nwQut)+~9amSI@Z3qprP51+a| zy|5An@Gq{CdGP6(IVUJ4YS83edCQIrpyp$?&_>Em*;mAUA?FZQOj?36uv?p`87V0JYjU}~HoaUCKQ)*x4LWMcI=SgK^4g%?q zg>QGU`a|FySXGlnAFv@fz(!CjVcxJPoH#b{{_~*ly{1f&MC;s&fvucUtp=PJr;8Xk zaiqK^E3%(VT6FIkBO(09F1k52u;_O;TQl9jZa!Umbs{UKPuZGECid$%6iFDutU69Y zAnydkSsxGW9Y=alZSGs=ZHy2DJ-riAb7F>eVZ6j6;vXXAQS4>%C*4aV+QU~D#6D^~ z(s!VldAMhHivgvs1rw#X5fO;z;!8--kaq1gwp|Haor%kPEgcDa)LA0yBv>OaMHv18 zXcK2^L9xp@sCf~coh*MomUX7ctEm4=w5c150@g-(h5#p2ZYreF2EnsH1x;_M|b&i7Dm`#+qMxiGHNILOCZC?BcYdmw|GQljrt($A;DhU zRwF>mExrSSgSqhr@^$HTosTa4b!vK2aLcULfkz6zm^*D`k5=N5ufF1E@~7n4v!{gp z#9sW5Aka9XpYN*cAwS`V5*(R%h6SAuKT>c3HU^OY;drby8Njk}W2^@yTA0NScAspS z9}_uWpdr4|l$1sf$RVTEBYbzM56O$tRvql2)>P1f%iHE-?UsKe=g?%(8sasZZi4+GbrO(Mwwwq+K#Z-r;dtj>b&@^W& zm67KV2MBC?iywTmMrP`M&}AiyN51`*`hM|+DXROXxj2Jl zfWvF!7=`)_>+H!@``s~_(a0JC1SA*mULwj>qMS@Ue&FwQ1w!T+yMcb=$c)1WKCApv zny~K4S<&CcWDk(Ez&vChKn)BM5<@oX=qW!0)mQO%I7S2m=alnGaCLH)Z~IoGhN_*i zoF(TDy1;hw=Y|I#S`wO-SX$mLj8dyQjQa!B@ne0v^{obIoRSUEn6w?y+4%4mP0gZd zymTADevOx)`WG5N<=_SjCz}{jF>>4ai!oWT5&oi0J;(~!SUjK!BgKt%!!c@n`MIF` z0Q^mo0dAG$tz_3lh9=g7Cln}A5(<=b36DT*61us2qywuZzTy^PJ5L=zm9M?z3(_wT zrfjR|(2gW{5a9e&+^mX~A1O^}ys>UDHUUl`{l=jJ;gK*y>`n}O)Hl|gN=gV7~_#KrRTvn4XU9XORAbQV88KQJY;tC?*ngbp)~$^p+p1jA7k$aJ1q^ zNWnPb>U{Wm)ndJ3vwbVc!y#%+wzX%VlG4F-T760fOI8!z&32IAaC51ZcsL>kiMGZf ze*==&D~Yy9TEcfd!sBW0SYw(ko*ZQ>lB0ZsA;hs&sPB@}BKR3Ce2Ss@(So*q!Ly;j zK+%{Yh3$}ysnWVSyrAYSd4e>$euDE9#G2fO3@OHxXmLtLG~k#s@FN^kZG%|?k`eB& zi4_LQ!0wE_u@GUS?K3s$njHI7&|K1leM92MrlyW%aA(Kb*jaZ)eF3(sIEH}kbNs~M z@clOcV1m|iY~{NECfaDpuao6#V#(0{g@TY1_FhjB0ZwSg7Bjt@=XtniM*H<+hottt zt$WLISJyb5G&u?G2P5JKPVo<)-+$ETE@R(IPMth5VP06PaZ&z$0q?c!=NbX4O;FRr zb$RN)asB|Z0T3^5#rIU{2h?ZqjRIKMe-?^sMzTLAW!R@XWNCKU?`%11a1NV4yKP@H ztKqAqtO+AvNk3-d#4)c4jk`jGwt@X+gz_+0iJMdu#9G67U1O@aV6{R!(Oo_tZ>5LB z-b&PEIcb^V2*0f4Y~Sdniza4GB<#n2QDS|{73nn3im`kw;Y5oh&!=?z#49{8Mktc1 zDk$$2prmt@XW?e|^{#>HC-DFUKo! zB(7%%@v{eH0j{Qu+pr4hZS}?2n|)BdyK)p!d-4YATTtLc6Yx1xrVL(khDrXU{VeMD zFe%#HGTp|^r(0vcj28Aw9j!8KZCcFn$x0@B!jOyRx8KNL=9$CekOVVCAfG*05cL7bE8gAVenEq*M<2^#eI)e$TLshDuQt{7Q$)L7yz=q^iE?G zEQH1~zD80S0EkwK(d9E1z?C2_n2=secln|B^6Nj`Wa&-%C7XRVE4!$K)Pc#oxd;tIrsGM-p{_+|l$ z#pOCqAXI!IYt=qVJTo4|Y*A8Q3oEq^!KF(s}IQTp)6k7r~i5tVG82S zg0p}U-BJU!&&LyJ>;x%sguy)#!q6Z(i@w6cNNFoKNjsb?W=z7N38(zDTmww%%9FSb^fh!)+XjkUrO5Cm7H>C{I+R81WFU{_klQUo)0-t|` zPivUHlisA1b|h0~*2%>%UNzA&-y?v<@Rf=|EvN z28qv=777=9XrvYMu_pVin75TMyF9O~xICBJ^J(g$1%K%SfYn4XHsk<-e+A7EkbIBx zmwZPtayvl+crguV3H{U<&#-mq-_^wlPL+u5+w82@nj*yZO`H6SMcb$ew8vs;hzTej zM0mA+9isd0_d;~vo2ype9Wu=DYoF;3R2KT=V6fflewA$H{wjV%l(0u~y`u4>#kUrE zmtd`=e7y1PEsQc$7GxK;Eoz?bSLBxNRpgl7xX7v`Yt>R~_9*4K6`M7h#9A}WC~|~^ ztUnxkf_C#^{nnDFK5WlgGTZxQ3Gwh=bv^c?S9!m}(DE@0hOR4Ez|m_5Z7PIGW;lR3 zar83LUIn$hl`&BQ8f&mJF1^`3U=|R<<27Qs0{J2p%j>5I9dAfgK|8T%;Ju*gOkD*> zr420)(!u4th1aYB$x;nwU($i}1Hgt|ho}dSCu>vbyionHP@wYv@bD2HMoLG8wkFy}RsHEa zK__m9Spv`9T#vZYf51GiJ{)Unz{u0jybWVu!|ss@$S6rcCYm>pQPoKDmC!+W1!kAa z$p54E`bpvY@%c>4sThP_N&^#mPwLe!gsprtO~Nb7j2SVmGY!+cU?BdZU~K~!|?=M3sFwUbhyi@ z+{zN^aG9Z_kc1K!Q6kz{g3AfLG#6b-MoCq! z%_WV?i1g=~kN?JouyaM$4!Hc+)v9KT5u(WJ z(FL2F0HL+!jI)yyELnWo^VL8#$IM8JsB}x)*C)1I zmX1rKhEH5-ZP~AVkLIBv!^1)mqIg}Gjva!>eO7Sto+Mt}MiSDfFgJDB&WQMxtU2ho z67Ll=yH~WO=JFLT+fxFB2Jv>e;2$#!s&Ufhy=Zgm-jdncB!~B6%&q%~>W!l91SzOp z&)kS{6Xl7xikKBKZUXw9OovfH_#0!kv@Xf86L)gx&m=*(iC%sD-2zPm21jSzM-n-4-lKm$q#=6N^q4V8e9An&JBw zRt%U3jo@sk+RA3RlKEY^mQcwWf|9VY6FQno^2NoKIPNTSOQoT*8(G5hi$I^a1O=P% zJs1VKY>gM>b@IYbSytDot}GW7Z>ib}D|qB0Av4SQo9I>#)g*Bpr0pKu1rW+n7)N9L z70UoV_om3J-!_fzjkdPj@_LeE4$Vew*7Q#eu`qY++pFJ*Ap0hb+hQ_K)1{VXf|qKn)M>AhA_ug(lXyy1pDqW_ z8#%x8e4NzD{JQb^+hwu-zp7hLDu`lsf_)e}u};~2Not1~djs~)>@Z_b;NHNtB_-WT zN|e7?nHyOWxgvkbS0sH}_W}P_A`IhO3{sC(e%Hq+<`IaoV);5mV;`_6@`3D!AZf;( z)`Zzc#QxV`HMT+!Gqs5oQ3@LuLy*rJd6KnxZ&9Arv)K?!i@u_IvXyynNj=%pLiuan zOA?!Oa+jp$O@c$?M0t`W?%*l^JITttmvAX!V3)wr9s3WnpWHk=D5^t5|87Ci9U@}7 z1>-uVdr(yHdmiB)Et@yD8E-edTi;>b+YM}wSK7t3j~IZz*g1#8`ji{CG=qGoHBg27 zegjgzRv{R|Ao4h$YS?4&l_9I~6jpLj9TRRfqNZk^`K#y6&9ji~J}Gfq?cBJfc8%NI zAv0U_nJ}zl&o(*X1*`KDn`UVJGgz9#gfSaj$YEmWM(?+KxTxipd;W`|?Vq~HFC{I^ z!*JiD^^Erd?F@eOEFw@FHbTZYlAYKXORbYifGn-a9vUsQ0|mBsSfWB^rq0M_QTH9Y zsk)>3f~)5tp@)!98D}ePl`E3|G#}qHB=YT;@F-1wR7yid@K%m zpHqca`@Wh?x9&7y9^Gs)-QnF1~f=(YYQsoe=Crtq3(nICU;Avv}tEI zvZ4p9IMC@cFzCAj1s*6veWTDZ8XHx=X%q|@8ZB`Xnm8MR=mQQ5!X*HdN#kmeZc# zV2~*CaN6BG3-i23BzbALS)+=yC0CrPZMOfmaLV;;bF&!_S@H5Pwau>772h_lZgh<4 zaeUlWkh3#$RP^AGnUkondMR0UWxPP+_vfW=$R0Z|p-a{nL0DEyR$oa0Kt71Fz6bhQ z9RLD`cb54P9J6E!sb(WKfFhELWj~q83(tSrJ=k5em>Ds2rTy_nMBcREiCQi^zpvWL zVqwI%buN{5?0=3z`NoX7k!@U?xATncMN)>6-3JAsV(sMouHJpd4hpBj__5?jCEA}* z_nf@ON&{yBvmbQ3!A>mf^mQ08H4C%~kH}B5fbGffz~0oNOoKq7Q-Jz&>wYJ&!=N(l zh7l%pn_(yb_c|4q?Z74l5#Wr0&bS>0&0v~u=rXfMO+M>D4)>*N`H(8qp z&#oE_SgJ+g@RmiB%U6+Bhdw;dZr{H}bf3Lu$9^qMTOOZCNb1NQU6!rxjd@O~`_{}1 zhCeuT0MB$F2e5L`*uy9hp|mjX3IKd?_yvZE@4CU=hJ(NDd&mO3=gTCA7A^Mw~Yg z8CuaqX%l5XoM47=_lg9ud^Q~QSLAFF#f2YFA-0olE|NE^53}c+Sj|rMbU#4uf`nbc zuy^4bfI>>@9Veji#sX1bR`di4#0sAf%-ztv?N`6pus1$u>)QAGT1yb%{9w0nzk_V< zo;L1%H(ixZvwLFMFdMbGW725bqJ7HW7mCB?)m;1#XMbw}} zuYTJp3e%1ywjHp4mRY&k=9hCYu}d(DbAe`7T&>H`Ax54aaboLjD!rGu(%$1p_=VSY z2$pcu@V_Tkr0>E@_O=Bx*%lmD42KB0fAjOll5_0>Qo1B(fymRJ48S7F2Kp=Y0)0^- zI4damorq*4RNmrb>pIm=)@m!e>PlX8W#!ilVDm<;w6+{NnEgc3kDL{@ma%0pBSS1- zGBIWF1d*R1upHFhfEfO)61Z-aEPYqOxlyzzC!09_A`kl$P zih;E^rNdu+^;N~EMEdml!>=m{DXH&!Q}q2$+4-#&L6A5NL5q9@_@uvSacuRf>MCMc z6}-9=($;lyVOP3fC@igOcCbG&97Wca@fZ%?psZpyNEAC(%2pHU(AL9e36iu<95Xmg z8S(VG@6`zVi&mj5K|g`*&5iayh(rVQ=L7>LLPk3{Y!fh@!G7)}MW$c!-Njz9+y}iK ztsCzlZdXn}igLX-{j@>PfS^t>sF zx7p<#gl?$mzf#(WAZ+s^XB`x!?RBbxA?dSn4`Twl)O{-#fWg!79TjLGD@ly);qzh- zD+!!xO>0(Rj}frIZUEcbp8fK;w7Q>-Cu#ri>StDDQvb@+wV~#)(kZ&)V&OJEHDg^o zd2oe&3M%v0B3R3Jf(zc0vxMA$Ettiiqj{qE-6h!Pz)yt-`~(ij!N37q#XL{&gh8Vz zv?#CvY(M#PGw~y@b`X#Edl-&hy>|E4Zf6WsMhp(v%uNv1*7R3mi1K(G_^sF>So zT{p661{sn#jZ#=QOe~5Z;<;Uh--p2zcsWgg{clvOA+d=#-9R#di0C}9q++ZNGfQsO zN)S!8zu>f!G&Pu^qlS;^Prim@{0v21>CW0OzrvgEV-tIYHTCZ|Bk8<-#L_UEOiD#! zfL?B_F*m~_+sQdY0FPINZ9?YfFGuLRz`dbC5)5$`hFdvg;hT>UoJhC=7lH{LJ;Z9n zB4*L}?mg$wGofsFXmuzX6nZ+WDe-vny$wk<-0qONAwc-WeBL0TC7o}`BH!L)E65Xu+-w{J#zv{*ff`TEfwD%SQ+Iy;z;TgIyuVAhj5B4Tn zjdwi|7dcev1Mo1I5e*El-Y+Kl^*Omxo7@8Th}UXPFwm%qeOfYE?@mQXK4eS?88k{}?VX%ZwY@u+RC zpxhY+4cRR|A9v`lEsXP_#DP)pkmFwMgJ-A~G)79o%=|~SIK1+?72}9y?UgMT-vfG0 zBLZ1;gG?Halo7q_=gNj*Y7J?K2A5`>H3DCjWN{N_4LlUcEQEfFfeO5#+mYrZqhJ$p zJF@=qu`kE6FU}4nP3Z|Tm*B`fx#pGlRV_<62e#)1@@Rdh(0!FIsG$ZbwSP$b#~dKi zk-|gA5A0yC(r%OQNn?W5+E4EQ=in2s@bW=yDCKA#XK`*GqmWE2r!`@_Ba0tbKc*)h zpE0m4lt?x;FC`S5NEKsi) z+l6~~s2tcgbB;$C`DQ*l+s198*lC}^oSUb!^RTv`^!H{%jX?kUaSi*K4>GnuP$DHh z6NjHe4~Ih83pkC$$MYc9P{nW|``@qZ+UmQd?*8Gg9SD(&gwU3up z2v(Oa-$i{_kq3hTUhem%=y6RI>QEot=Q^GU@Xf%_#cjncfQ)vf zk#9`IQ5ASRbr%2z%M5QE{&-J~C>cPvl0WHgR~Ejds*ttJzq8`_>8F1Q-8np>UN89R zKNERUz{xPtb&{?^;1~#IKuu1H(+zX6e8L-yNxe8%#!pah*^_df*X?x_N$*4rAA&a@%6g<_0T%>rVE3tHBOV9k79O zp3y!?s#mHjIjD@HHRLvT-O0YYdhS6VM{Czz#O>0B2fc1t&0SS;b!v0jdhSYPdp9IC zq+0B+$mF517UZO(?1QVKh<$!X(qYo|hA4i_&h^SUAc@=ITmQ?{klaHO-|vO_kBqW< zz+Rt<3hE7XBM1kW<=FOl5`yMDb~~hh%ASwt4?6Uv;n;#rQd_Sn@J2U`z())2BvSwD zPtFkARn@$Bam#+z{>q2Wnpp>`?rVqFD-T*IO7^f;NPlUe{f&f6BD?&|`4t?lMH2M1 z{6|TASzZ1M{_e4AP$`(e3?-za5kt&wHDHL&gdzAg^9QD=Re{0@MHCH;QG4>^txN?q zXD?+6jIvdAGkj$pE6+p+!&H3{vT39$U6rR=swz=!QSDQ`uezf8n1{(hW;{M=oJqhe z1}lG?LtY40fzM$O{(v7-D}O~8hbZ1dCJsV&k~rhg@at{Org6HVt^dEh@Q>GxsG^qN zBoxIZp8=k_?EhBJf9kzZk9w*L`{7bzWl+V#6QA1)w!L;Av?lh%{H&8D9KM}DOsWj7 zcyRJ_jbIb8dq1AAKh9{a^g(&M?5JgGX6|k~!D74+oWHvfwM@&*+l8-jhB;8bh7qo$ zrRPkuUArfrKTFNb<0VstVCBu!tXVtkMT>Dl2UC4Yq49=%qy2?afl=E7MO@8XQ<}9< z;`@JlJM4{q$k6po!uj-zzlbz4wn7wtKH-!x&i?1^R+pYO8Z};f;aAiB7bmro$7p`p zW_9^VqtO$D--K;hj+3{+>@3S^@>W6EnyviWk?A;jD{1_ek_nkrDc2U#PWt&M?7-jI zjxW5kIY)VC(@a&>(DEyNi}&FKbK9I)D$AMVXML|p~{czbJhea*_-T(NCTDff0} zR~4zfCw!$Uk+vyupHv^ts#~TecSD>OBzu zNMxftP+5_sL(=Z;UQ_c3B@<-n@7I+NiO< zQF*0(YAc)fo>Sa!tS&0QtglqjymwwPf0AF;=k;Ch-m{BM??^kE_sQeMqWL@98{R4H zLpRnJLj`jCv13l{O&xz`*B4__PVG%gJ+rI++c3BOs=mmZJM~Xq)jv|vnqS#f)1Y!2 zGSjf)Xs9S0-Wp!EaeaHCOZ)ZFwM*(px^}L~_uJz2aOOo@%PleDw%D+>5D>jdQ=<~R zFy1EnMFMp+_Dsc?cC^2)IU;a-BZodO+y#E0?=ZoiTILU*kuDIk;+!Ef$T;=T?!6p8 zv^z}tQ4j+3srSXFuCX4M2 zW1r3$ncbPRoDHLEGK}qn@!(dHXm|jl-&(vfSiKug8+MAFd{8i`s;q`A)O4W*3&Sjg z9!>oOvu+U|C>QGP5q2Z9lGP)7P~zv&jgZLti>}-#8IZISF4bkgavbVcD4V>H0R_80 zjDX+}2J`V2uCYBE1z9y~+riOxbb1@%dX5;|aiDp!K!RI%(AI2KOM>)`1}9jE&OmpJ zaXo<=7%Vkv^VWdz1$?k$bh0DO+;ax!2tsi(`y-|kHw(2Mu}aQK+6QycBp8R1YpjG@ zg~q}vRM7v4D*r^4Jh~$H%~oo|vUfr>U~a2ttd{+)*qkP3H-)WfEqcnRsbZtOsV}db zP{jZnJ}$<}sUgDzuLVCh87*3ss_QLTS13RxXLEp!7OVjEtr`{URSqZ7|4-b89h;j+ zst7h=Zc>5SG;$#CT*&N;QEmDRpE%4cAS*z02nlVg4$NvN@e8wn>~_{u#T|6;kR>Uk zCp+1C2qA+4NaR~r)e{%M?!A?Gt!|3+0PN;sJ((-qH?sIoo306cUy!P;EbODEGx{f-9<%$>O_Q(DhiHKz~JL z5F!W*xrmFOXrvtZ4mfTsFM{*m+XosAF`j4yzpixElQ-v?vbFvnvNQBJPBck=OXNH3 zam|Z{BTYWZzadO|eS;rr23=$e(8wD2*M>{OjEx8i%3$c~+tL^hHIpI+XXH04sR|=6 zx0((%7weBSILUlQC%oK1Z?UiSiKes7CvQ$Qk647b9Re&2nRifY0SpgVqc;vq7%h8+ zb!=`Nx*(ygebJA5Mw?@8w)^xvLBt}9#S4m$+SzTNviXstmfd)Ii9NNfw%9*+!`V*D ztJkjmAkXr1gQVo;SR)8Ki&h@!HJ1H-;~Vx$62AF}ELtH#a7gODW|2ZQI6ZH0ZJg)g z8b!WT-d5;yvj;o~Z~#<6G|wg@ap3`Ln?H|~-ItFGljG8Jt*p}rFFIz^h_U0Fev*%8 zC1PsJpO1DN{Y(@NZ6Sk33BrQ33G>_Z`({VgLs2-fXY@ECaE)}+x*yF~LBQPs za~Z7VOGqJTT&siOfV2d|9>8TduvEt?QygUgP5rR&;^c%|Y5rY1+wD_lUT`{XQ}KOX zHPP7Hl#<5jXEGMi5q}#-lGFFu)WcKHO#QBlwaq~U13JeHmepqEne%?KYgCaT1m$jmRx|m`OyuMvqBITEiarZpbxI# zmd`;t*8U%TP`F+6fiJ&*^uaiwkOe9oCP8kyoX>B&-M*qs# zbaLoNgMkeHj6Gcvd%XX~CT4c*r%mgg$;X7;{adW8QwNZT5XVL&4(tQJpFw2%CWMIJ zoG^fr>nw;|H@q}_N^bK=&mwj1*vF`N!L$c!q+R;c<9i1bBow54QtZ_COkZnVLF=xz)FSFkUn}3a0nzgnXC6-k-Ws^YxaK%{t_R|Nu2Ff`(W z)0L6kI;8ZUJ@(8}hjx_#mYx|dy{r(cul@0M7Iuz%I*(OkanmiEdQjn;!z7elOsEiv z+!_D)kEFiCEhXAkAsl^VYxK6YGEoh}X}&E0y>-BPlgk2F3QP-^XFC2%P$EP>IodB% z7JB-DAg=8nmq$~@K!4v}vfRouLo+PV!m?NUlpwu|3sFjoTjnbyCz%UTYTzW^YiMAY zW3yoiafHOjla}tyTKPEBiBh*9fx=x_k+0;Eyjw7u;_{UXY(BtV&iab~gIK@_HiRDl z6d=FlGUjBomxBOwqGjc^CmOJ8~nqC2P~DK^2~lEdAa!wpTLud9DV z3;lC0o5`8$L7ph08HnJ>S_IXg5pf*ycnkd_0gSs|t+cqY~YPNNkoGnvUR6Svx zT*WS~EEKT;Cl}bomtCcr4K^8(f_g%QATHK_1YJxSTfN&%&)w0JS)^EoA>y)EsFFB` z^iG5FTP+G%*|U8u{|{l`0T5M^{7v_JZw7{(W+WI;0Ru*qG3SgTW&{KT1XRQXC?G*m z5l{q0f(jzIV9sE|oO4)p-F0=<4Q|klx3}xUG~ch^4CwCNegE5&FwAsU)$6XVuKHEg z$YuvidJb;cv*V;Oro&BpE}pTz`}peZtjbZC@5r_f$PrX@*|{jzb;BuYyU}XJ2y!-f zryxX)V*QcHTEOlXW7b`8UGNr0+)jZ@O5GHL<-s5EE$h2q(XzkQ2(!V%QiDwQu)b(% zB-zxlo@1%15PcgDFBBS3MgdK*-XcG|&--EI)KKVKIfnE(+dfC38Dcroe8|w16I4;G z(n**v?9gR+Mp2?Fup`3V7#d%IaR#y_(tMDElncqrT{g41-r;LSY}3kBs|J$IOI)k4 zuDhVCg?sVUsh0}}DpXt8cNbYDdoleT>An5xgz;@W_)>+#@oi#YeD0Xdg*mkS01V%f zEf;%%OjJnt`|ybIwZ-U~?q0$=g>`*NEdWHX%8!;M^fET7{ALdOh3O`K{9ECX@ohVb zeYjt;K6IIXN=|PgZdjK^y)iW8DGL%qa|{AX;=_pK;?(essrB;m)HJpue7P^mLeZy# zS0B5fV}sHWkdLsw%li=i^&=5Ox^y7U;T;Hxm^C|zh&*SbCA*L6Q!>#XjO?jy8dgf5I$Gf^Lh$I zKMmi8|7Ds9le|s4#+a0X%8q}hXl#)I|S1bzHdOCl)D+F6^ z_Ne;5#A?3%H}Z*wvL#9$X~9HLEAQ7e)OF*E=ifcmia(4?*_%r!PWp0s9qCnmd4h?; z`Y(!=PriCt`-;4JS^F|_Q17@r!wT>Ie%zG=E(->E>ea%iU}8 z%W*#(kZbVVBATdd3+v1o&2;*M4DM9Zhts)zq}Jf+@u~m{Tt@Jl+Ka1yC|Ct>_lDma zUl6}paH*T`$14g?dh2TfEX1!5Ruu7HTd`ZrN97zDHGi|er3zuk1x3^Azd_)!(Z!2b zil^JrIZucw^f7fv* zak_f(lTr1(NdNKG2M~$VnyMqBWBr$x1vu!arBWHTFi21Y9%iTD%;oXhfWu@2;9=G~J)g%APHr89i?wpo^do;03wvf+fNY4mi9JbB8C_Miw(lv~tfm z@&S2S2@nTya|np754FvCQ-&f77B1}8X9cIm-g!A-NjmX)Aq|O`HXvb@tL~7pUj%pB zZXguL7evN>XXw0A`ul4_hPOE~pM;%i%Us#<*65xZdfJT)hZ~`cW(hl`J@3H^eCy)e zZ@j^}xx1G+l9;YX=dG8NHxgLsqH&o6<5eajJ@+9Yia{Y}E?k+7%=-0=66!UwcX!IM z3Sk)59>c2S0Ej#uYFag>Okz+0l?oGC$=XUjGPB4W5N~QcyvKfFGan4KLHNKwH4Vrc zg>A#~`;s5N2G<0_jYu(@n`WHru@?no@<+;2H#OrP8_0mX;vXmkM)`{u=|QHf^Xx`ni5Aex2l_ z@x+f0Mni82Eg4p_I8rp(oKRy^HhPjNk(>utJKL}nTU3pfHbq-3MPEFO8am9ZXQV{8 zM?_#x9~6pdmh=g3uDy(2OFSVhoBm1H;uXEOz z=Sj7}SW?M6O~MvRXHmrkPCI6Sl3Ino1WAv%C~UPFP|lYo_n2@GyF$6jrhKd~7r>Be zo6^{DjJzpX*c?IWT)hAy^g`LnSH^6RH%lIh`>p=VU_4nX+jjfd2^i3M$Wa?enUk7) z%7%eLKI)ti_FnT85Cs=?!WPn()7VhLf&g*f$}Jq^v3UKR!Z4fi9L{HrZR0~@ArVx( z$XSda(l+^#;W@3sb4rm1!Rh$-VR#IM)8=QhJ-fNoVo;c0;|{)iy4gI*vN!xhZ6 z#Ix!HvZ&En_A5PsPD|XksK?$Kk|SMl**t6Ti6cHl{$dX|5D#hU2OjJ-?}jMOV2mVr z430M7UQT>YkM>6JOsR0AC*%*ZDNX+M{-_d#4J!G-rj)Hxc$S^5!}&di4+{EZjg zI*!`!*QJwzhL{jM1~{p`gk-e<=Tur_75e z55hr~pkGcE<(XlI5iA-*iTcks2~$o#vtr*8URAA0mi)9ZWVY#<@YNH5IF0`ET$FN9 zgJ-W2KD}@f10Wv;pdF#Mv-mr+$Xlwa{}v+nR{u`=M*mKK#S}pA}JWUv~dNFX- zgjLx#FFQ{Mzio$Jg!XFRK`ZU6e@=4S_d-9t4)RxwFq@_bTB)N!kf=g$D?dv80H4j! zlg%OqsvxRb01LS^NBRO?h{xE3Pl9$wL zaxaR{VuTA$^}job&)WB?!G4_#5@mefclYzmz7CN2s|f$Y@^-P4yCh1j(b^4a=%~ zv}@mk2>$JQDo)kc2~zz~&UpLjaNy(9amed_ptxz^UcsF!*a?sT1|qSB4pT zSmAU2lz6st@3ou{h0pgV-eilE{og;|uYC_H_#^R{^c0s><%;+I`FUcLFZ@d~Lsudm zSI~07AT>)#d$oJwQ@L1_hO(Zm#LTY;u@Q6=yH~cl2FJx&MuacPRQVGG!a>YLkc85D zm(a?wpLVG7B)>31+R|=p+`wPi7aKvNozYy%K`tCbfG2=tFMYKdzU5%3{qu$UR*~&U zTXRL_iva6bpLkP?m3?pi=Sz}9AyKq@u_Vj4WtD3)p8@0DiLUQ|yadHt*YE??17KhR z;oQX0E7!^~O#b)Z^DKMKz9XJgJ8Uqy{Y> z(X6Oj^HHAGM0fgcuk^5jm)~eRok{mehvaid$xR<_`QRd_wQ-^QtVWI6YH9A>KQeLF zB?||#UpiDoNSCR;8;3325>IS*kro(XKB)vOyRW<}c&Y&(LFtYK;zCOW|Q6} zG2cgNN#ex5#iUuEi640_yEr!y^?{HJI9x*IOW6X$#&_lJ77ebdP#Ab(F5;;7G%rI1WFbE5l_Ay{^3$~M+r=DvP<8E+KryJ2juVAS#xW4`Sv!( zq$5J9|H>w_d4 z5HJ)3OoT4#Br6k4j>Ym{C&#mBg!Id$OG!f)VTC=jA}4Pk;qV%$&`Afy^6BX}tgJIL zi=D^?UFagIRUeDd<^xA0`>A5iIh^Y(4Mx>c-EZQz#~-~B1eqk1hRMj@ARN{5E^Oq*u@l9VJyMYSX@z4Vd$m5RUI__~oiD@_ebh78hNDHb6cNNiH zroDE5VP|`)bYqRj_49Ao&l;O|$JlFI!QTnK`>+T?_U|h{1(^7TNObIWdvoTO7G!gD z5tN36tDX_of|ZOcgU4GTI}JHUT1ktbkt^ywJ!00*K<4WmR}FxC!2;7)pYHk9sA-v6W&w`e>Z z#7O&Gse0mkmpUEV-fg6fn?vy2_f(V7W-Uv@{M9JqU*D&Qm~Xr-{+)yRaXwdPEw)4k z+FL9UF4fN{n!f2aXH-Rm=;_moz-N7;&(&n_lqD#=z~O1aO88v(X~B0O9 zj@Hu6&dhlbDMPo|aIsG@+lWh+2Qp%-MPGCk^5YH@-kngn1_HCdSzw1Tc)56hpMgTf zXnG8)AVhB?Cw2h+JX}}f4G8p+>(>PhxlX=Fs4LZjpdShz{{TT(>88_4;Ji9Fe5;s> z!l52UTBD)p?eQKA4axATga3d+YrOcrLGB9gZY@{wapNml#vK{3(K24C@#p?ZvT=`p zRh#nj8K;enxBn2|gpx-68^EI+lI*)YBH5$s8PhkYj}zvoY~b_RC#h=GA(SL zAjHnn?P@|*2je&bzUY+kI{MAi< z63pZY=_QE|*}2NVBka@-QT+T6%7y-(wC@Ady(pD6G^}DVK&lHyU4Xx@mgAW{jRrM& z%>Kutf$xm|hwF?#8#is6R?u!@{NgKJM?6lEpT+lh7N)^6VqKMYV`e~g$I3fJC%Dh& z1{=pw`t!H=!FvX@{+4OFA7-C%5v-Q8(q^gY4FTR!27FmZ!Da#t-GRmX89R&Rj@c-IFELz(~3pq4#BSO zN_4tF$4uKP3jdJT`jPehY4BLjk4RLMEE2xg*Fq#J*)HbWoZnV#`7T$kt^cEDh^~h3 z>;uo~tiPU;&*OP~QjadL^A&k!14^2K=kF9f!LtjtG;VoHsJH*ZrM!t@Rr9k!fAA@K z>IR%uB9ylCJ$pejCl$)sH{U>9{We_e@>VEx! zCe%-ox0=kLUYT(QIqaPWnK+BMhoWw@tjUl(%h?QIj_eKRGY_!!oVvCoDTuW1$^(wR z)J(_gApb6y*8fhM>&CEu5i@y@yyv;=|G_o#2R`5$1sR3^gY&c2rbme7hn&-*u1gR( z`v0>(ne6_6dD6oh@G*)GA;Xm%BX3ysc({$lx#eRTPu!qbexOTk*6-=HKig@7dDmI< zJh~3m9llPS$QKCF)Xfkp-W^%IMr2mGk=jOQ26>oOD@sLgQ#Q|8 z62D7Q94;m=h_NKzWVg!l4zX)!{{>gXeeU*wD@yitGc;FoLib8A8C&Tqx~GWr_$fMGT$ z$*bCAeNFx|v>j^lrydEoRQI5IH)&h(%uts92({M5z1kADn++yI^D!n&HPI1sVN6$f zOqfr+G{1gKq}B$OPR$uyO-!rH=8@%Zn1$byfbVOr#;tvju_cvdD~#&r#*mq;N9oD9 z8?5>f^0a}oHbQ#iK{=48C({6YM7@>wLkmjUp*H2=6ipO(r|= za{YsvJ)~{<^RvuJ3@$u*vXJE*rIvpuor@^}q@$vZp7i&H6+f56jtMGgiVE+9jKlg5< z_0RVkid1v{I&F}j`-EwYuUkV2HisqG9+6RAmL2Ioq)lTS3aQJ6!~@izcEdjBp(yA; zWWXb+rZ7M0R>^+8QuB0@`ik=j*PX=X(ut?Onyb3-4d)j*Q)by>72C1#?1JVxYTkM! z&DhIsofX9^q-!}T*+aA!MDZHCQ$dJMEdDWZ{Gyiz|b@nDMk*4QbAfP)f$}nZh9L}@!rOxzH;t`<1WPJb}kJLja(r~tNaxMDzmal zL#I9i)w9eMo()Eg36>V-W-Ii@o*g1|gFixs<*-`Zm6@T^jCN5A z+-G$4W`}q_MnyxqoM|bcN^ip|kc~_Q$yi(st4OX+(wN%<66LEk$om`3{4s)dH~n=| zO`hrVTXKIaSv)gr{@esfu_8p(_gMnj;W=QadM*go8~#%<%Me{7|rh!FWx6w4ACcAP&cE= zxW6ckCi8R)6i9fECon)>%{>jP*_-9!^)%$H&4qdEW;7*IUd`-neG(S#X1{1c9waEkzwoZ z+E}egp?!$%GVOnB!f=nypWLEPi1h0AH=ol_byrC4#?*Wf^X>*c4D`70o0|k*8w!4) zT7^6_!Vka}*lLyfAhiV*+|Zr^^(*-5aidQ&6DC#%_HiCN!p3Bciuf&^++$Gw4%^kI z@(VkfQ`^)p>`E8Kgl5KUoMdfc7osNZ*;pz$q^_ROvD1cAlcpdMwemW(Celf6((573E#z`eIxn@+E*f1hp`2`MTx)3tN3s^n20lV^!g& zqEauJDMpSnHR;_hu9uIAvhAogDpgW12Z)564$jr!sg-E9IGnDt4EHk;wP9tf0!W!j<^{W>g z;5+i#rFGeBeQW&Yol+@A`Iwn_xySb&V`948QWel+>qoY$PUaVRnA6VJ=DLDG{R1Zgd|0AUtNL~JDfjWxCv3F zyCj?pvDb?-f^C${p&FXY^?%%zD2T&Nq(=RqzxgTo;ieJft<|Iyc(Rt*d-dMHlKJC@ zo%>|8y{g$x(&8F2vyh|pQTgzvGw!4(%C|pcTyur6zTnCNH<9g3+Z2}>ZB2wnWblr0 z)nx2Fo|1LGYQ`~E8$RM(+~E}Q(cjd8R0gNh&ME)laxTAYvePC@611}K2hTmajR(h>D5U_1tBP+W}a|0`tKOkL@Hc@q^ zC@wo4gflw>r}5X)C4O0TX#+!)Z#$e_?obJQ^Fh4A#Ix*7z|CAs%h;4zCEmePUnF0D zWoP~KCen=hby~1FHnBt$eEY{v52NBYw~l-_R`(sog~x?{E&6c$y{mm2IoSG-foa}N zRyY5ZmB~n-VX=4_Z9bG$0XJH@ludlY-SSBn55zOFsPs@dDwlVto^}x>l8+LgUH5*&)eTC1shFFx6i2L!Ss4c!ip7JWo zV>cF4a*!c$*eIla1W2$vu_k3mww$Mc4dez4g)4`df9Uuo2dvkxBsppp zx$l^T4Lft=^h?td%A|$Kx2&vl(kq-v;Izw3XJbtU-8_ZA7$+`Bz9~IlnP~%WT5X&ZhYq3EIa%ABN!f<04K_Ap(2Y|sRY#PGam#Os|5}$L z!X@Hs{<8MbD@lBPhAh}BiutQ^*72Z47Vi}I@TDk%y7~NdXrNSB?z{2)^xcePL!+_O z4>DnR+)Z#5B>9M^8SGna^~aw$J+`X0dg1hi)gQ+Qu{7QK17hQTgf6>nZMBy4Mg?B+ zOp(8Tkss1+F0MQ7Pd8!B5VB%rd@|-6zzrUl@6BNH=nahb73&2(EX!~{auuyVA7f8M z%&Z~JKXv@nxyJdK(^IeX>ij|v^Uh}@dXz2-7*G}zlr_k(LYoPpT1`m{5sgvN?0N>7wk&{vA2&0e@w zyMyUh)jbG3@hcw1rR(h5<}YuvZ{bN@al_hb#iySZNzD-Cm7ZLD{FIan0YvwVH z{cF92*T^t2OojVnBd_jm=&FK-go1n~$qbVpK6k2ie(LloX>oLpp4Uz%qc)$KZAA;oZXN`aj%jh*(oVji3q? zFQm`v%LN<_4S(WjxB(}ID~8qrHEcK<43)ERG+;BLS&vI&5o#M-!hOz*5xv?Cxdb=DyEy{gPso)eG@m zj8*)@rt%Z!Ru6-RnV>q*4fc%_5mwx2oxYk3+(=15+*Gtr2pLPZ>=MMA<+l?0Uz_*% zIbvG5#448?%ReLH6ada0IqzDvmyGb%HXe!Y?lOGNT`PC4QflNqG&gvm<#hIgGqE$X zKe1z3g~H^!ZQ*|EkM|B7=Fo%wGR9YBJ$`(=iKNXSu>sV&B!Jfo-<-A&;a=TORaYss zE-)2K$-JS937vpKeW0QW`XvfwnPn<$A%BiDZ=wQ+gF=Bd_BSfp1TC=I%icH=dn>yW zJ5shQO};OiyIXyGPydmQJ%mx?CYjn#nY_$cp=Dn$^b`J7w6N%*NVlc#sUr0@J8sBC zD2nLfA$f#`_-Q9%Tj!uJ=nT{nwd0{!$=$21R<>er&DFb#fM>;i9*CowAMd2Q>s{g$ zu<2m--ce@uq~HCb+HqDEo-Bdgw+P7yJT%bQQsppfcK#{*@?KZ3CsSeLSILiX(-l6_ zt(ncrS(K0)_fQi04fBkdd?ZDXJ_ZH-*l5uV%fKG_`n;&9fr0`0K3h#;0eORggil=` z5SO6bvh0(S%`A$3Twi#4oRwua7Rf$Wxkd(r9Ph6-1ztAy3L9O~`;Ut$l;(c5eC^jz zDl!Sxtb=gLXIqRQ4j)@I@#HE|{0t=QA)|#A(m6w6U)V-kWZxjx>ZOrQYQQNW1Wo`K zfk)ew=Z8)AD=9KH{j#j8&{EZ!J-uqI4UV5-Wzu1OSS%Tx?NON6hkTK@^>a~bFe>z^ zV+ZMZ-*tjGEMeLqDz`Z2_G1i`OA8)=HeAXeU`JiyIGg3k(-W&M%7%As3~by&Q7#%U!P-QGb1u2yNB_xekHSWrrJ|8 z7D?`Q_r9VK5BwEJ{5SiGG?jYRts3azLA&b~3nZ2I-4;T<{mA-!NnCIYyYpw@G=Btz zz%v@?lM{oQsQPZy(3=%+$2ysvtGTSi+?sNBvO_z2YR)3ay%EW zrDhYOcZFru)b7!&IUBIKMd6);Yi&Gb5tOmo_8^0^d~f*m5aJQJoYEDublvFn@N}vu zt^Y>sLzdvQoe*$H6khCLr~1iKScH{^Zk{2MKd6LCde3wdm3r#l6DInN8FU*ma5VKW z9TGhw$8$A;EspDJ_b;>V&S}wgAzD5aZD7MwS&$5q5jUmSD}Y2%+~tA%KeExFI=%=_s;0PcP4d-wRWaMhqLt8 z&diGB-nvvo64FK|4PY~=`LqEWLpJQAw6MGxe$9a{9v8X zeB54dC*g9=otWJ<(4SfnJ=5UbH0)>_6jb5=DHL?ViO(k5*&inEm-8r;^GCCGtV|Bd(k(Gxm5SmH zB9M;Lr%vff>6U+kB2S!lqoskMh^u%I1l6k6bf%5;DD*ns3xySB1^43mS2pH(ZwfZV zsk4sz55e8U%hk+o(=Tk9Wzy=Hturj`+U}T8d_pY|hfC{!hFXh?Oc-jnZ3NrH?g!_w zh7$5sBEbI3P6rqJqJ6>lP$qxCiund`RHRh9@Zg|fpJP>H+q($;bmvCFps6-{a%Aq+ zVauoP*#G)09Sn`(O9mi;a>TSHF;wuayM>Xsg_DIH`nQqz_Q10RK%tU#83kjf+%E5Y zRHRiz)a>2;=aKu^37?Vda!OowqVH(%B;7`=(NT!uyn|(hQ%5e3_(3MC+_=yS?p_zA zEB67ZMf~5#wCdNCi|h;2Q>Ob?EqQ2d+$xm4JTl$XGwCw3O) zr}IJnF`pY=5YgSa?n`HynWZ*%o%4I`Je67HZz&f@Ytxgey?Sb95#wXCP0ih(L0mZ%7ok_yiMW)5aJU!cUx@oY)oDWK_IO0OvzcC)x-P2j(_GGdw=y& zd`v?Fudpt@h14yLx=HP%gXg%9^&#uSuc@$FCp3J-`hYlCy^=N73lFxs;U;QWFkB^i zxe4Jrzh}=4>*eDI&Gw%@U==L2kS4xcuU|02>qm9GgYnGS}7LEX_Ru>?BO4gK6;Z2Ed0KGgjOHY+>5xx{&w7Zci zPmNND-1n`4o(Hv)ZKYOpf}WBILZwVW2)!>?B;ubk5Fn>|MemKcjkymv&M$H7Yu#1Y zM$77gu~L&aQH%X1SfW`C-$=_KEPhAl5eV+-vvJigOH@)+@Uv3wr4>(fVQ0Usc{t8a z)tj{a!&#i@%&fP6x!PK3YLUEZ*O^Y_?o0NkBwZjK%0`m>vjSF#Sj+C+n;y8ROi~=- zIh13dB)sqp;3tytX55iw*Z_P7@M(k^2llq?=xykftAn@7v?p>D4iqlAgLs{m zOE;6z;+qfNGTLEg_#k`n&04J1r%Ujb)zGG%csd*+g+cUbZ<433Hln_=@bofTk|c-z zeb67IFTD&By>Tk~z@&2G*AAqRX>IXHwO$C2aC?uRi?W@G(2fSSrjq0OsNb^bCS8`r ztd{>NZkgZUg8b=}yJW1!;N2o?NZ}q=?tm0-o$fnbYEwmQuReRFsFh-i@-HlK zeB<=W+T1KTW9L~c$ro6X;tkThj1(OpT12zi&mZ%M_m-cNi)P2i?-CL51_4G;(}4)Z z@h}{B4K+pKQ18BntoHfr`h8&EjJ+v)a6^63@faEzeZJ=!*&P+NvCO@}>E9N98^Tbi zd}_r_K_VWPNa01|q!6E1&0Hr+Hi!^%|M`w!t!#4_GgaAxOhL1Blb`eJgjDl|3$! z8|N&Fa zlSgz9xjn|4cy#{!1|>9_2#2o56?JkyLv;*^atTTCGllx%e;X6szepzRz8@P_OD0Gd zYtAXuDv;KuwXxA+|Gf9hxVanNyQr?!;Gz=Tznwc$j-!oK@gg z+}*Wm*^h1LFUxah_N|(iGZr2xh0>o40Hk67QIj)U=?2}8A)>IaZYkTlb%H=gc&EV5 z_!EjQP6*Sz*r5;-P6XQf2KX2N!C9<L-gRl^yUkh1C}h&pUiU zJ43&9&iOfK(T?lXs>qZq35w478LFur)c+^a6-Jux= z{Fq?pQJJ4xTOP5aixUMp<3x7O?v7oyhHk3$6R6)PQWrn1mmsZkDWDsYY2{*g5mMJA zqLxxANhnC?5k(VVO)uk2cjA>AT@~(}Tv?IwiWOWU2)^*c5pWEpJJge2J2X)(6!aVz z;TE@T{r9HI#j5M%}mn9`4?Dw8)td@t}-}QraIS8bBwJ$cs`0@gx0w(bqVT+~wb=O_?+Rbhd};x{fP~TE6w- zZjT)UI=Mg_L7HkW8yvKtp4+dW6AzKAeKpage41=(x-WH7h(cBIXU6%*9ICmCy}Dd{ zdy$Q~rI~s9hLn#X%!R|P`)7V;ZMoZy&N!Z(v&+LENbwOn_fcRqtG&KWM4{xg;04La zhXf%lBRN{wwzOb*D(G`)cr9Fn3CMe!^JAF1d}MHtOsLdI3qSky?jMCZ+xXAoB3>aG z`L%hUtGN6~AeY!CGn0ir>-ANVeOIX?1Xa~`x%eayl~+VzbJ?8awqung-ceJ>Q}Okc zNypMCnYMEP)^-S_^p$k@y^+Ib7kc7IG{}O_Z|f-zY{h>1?&e>%7PT2KZ{AFF8k+X8 zwN+lqwo?1bTJr5@>@!h(@vz`ZH@e7@>OLx6o4I10AlzCnT*Dk~8om+!gmuHS8k*4b z2ygsteRv8ho!Rd62-D@OSiVeg<@n8 zp+WxBrc$vumL9~uZ)o^l`U&SGKR5UcsQf!n(8E`nj!A&D^;bVY(6uh&(dq2d+^^a1 z;tBP3rG3kCqP}_WC(DznEY!A{udxyrsOvUMeb>f6NN&YWI8%BqDFAoJUSD)iY3CMy zjP%8k`Qxn>TYwS!*V+)$F@-&ex|k+NG5bn@V0p^Mi}z(uMn|LW2AbU5wQ4R*oMc#V zN;vhJLX}D-`ZHK$i$yW+n2t$1Zm$VShhD!9y~CSYaiF`A3-XK*Q-#kmpZRqG~a_wz@d> z?abtHERcL1=6@aYT)+jy565cbJP0AYpGV`WRAL^jJN@@I_R_Vc`EmObPihR_`iXdU%-nkwmzzWxDaq-E6;+e zSl~#hgkRnj`Dwx{_9H8qc6xlZ`e<ZJf>EuR_kZQV{s%#})gS zzVc^|!)p2-Qy-hlZ#{dLYozn3)fuG=(iA6T75#rBU(~=ygf6Ua38F zx8#cvV@YE|GGHuVRY?`{N$1QR3rG(zFe#};jn)#SN|muT*!`;%*{33Yj>-lJ64WWLfBc+m-V8-42~U9LT`%eX{+bccnG-IBXg1gPid_fGNX zxA9_kU9q`j!)|W%8$j9jmV06e<=3*8I2L zer{&bW9bMk_P%-MW(9*xsJ)t9$sj!!Z5%r<0u38bAU?Lu0vj9<(9J&a=>Fvl&>$x@9> z_|>i1Eh;t$W%DGV@J-t0C{X2%&3Ikj{D5w{xEStuSdE4|o(sR-$(K8EUwu_r!u*wz z;%q|S!6R!^K5PEzC|X*dz0}$~rVDO$v=0??_>In%#OXZBSr{Ee!{X@B&NJ}zPhp~Z0B58>r5`aI`Oi!v{bVB3-!K@v@}tAE_h+9!<1FJ_(`i<|CJe}n1G|36~{mW2Yw*=TCVFU;Gx;tDvs&i zHt53t(ACabLN~4_3jdjW7;!s%K?ikbb;rc4x*)okcEKp4vFxpIc;S%%K0>G!`@NQ! zDvbU@j|Kc0*8`Kem;`j2P~;0BlmA{mE9+^C%ZMPOI87& zpDd>Hf8c?N%j;70UojrkA^A!8x6qF-HaOS0vD!w4JP7|@8~tS2S)bzZq{FW5zmlKm zIZ2ouxao)}9OYEPd*F)LUP~Z*@gNPhIxJ!M5M(o$o9b9ExJPUBm|7UfGO*u;dtJkO z^j~Y0bv|Q@*7AbmiPmwoS^oJRUAByW;q<&Yzge)PoB}sA0BRQg?abBPoOKN*4#8$F zly2W83dLW=k;2%|vjsZdcOC0jc!FOlgcgdAV^@ufuD?U)kKN&0HU~8FWE<{L_CV>w z!B}QEuN2%s`tLbp23NBSN3+Tf0^Ge6FxchfF<$IP^pD!#Wz>tLj9R5}`FD$JtyMf5 z#irUc_r^^B!yR`#_#-(sX#2*)?df^T9=B%KR|IVC*)p>Pa2pKlDRFv*b%>#frHJnvtjjTj&!eP>Gh}XnmQ?Vw# z2N_ki0PEPJ;Vu0h5G^HEGIqKvie(a|Es9-@^=Ex@iS`fX(L8PNjf~CHgh4l0ANJEO z`UTq<2Ycc*4wlCdNh`fM%cbG2)M{{3;RYk}%UmrfREOUC$Sn(mt=)t#Mm|wscwF=Qq&v_HXo{kUONVht={66%STp$w19>a(G!F zas8;zQ$G3FCM3w*)C{mz>DnRJoco!Zs(M+2D(jdH+cS@4m$*@L(JFuwBa-gdRZ&5c zhk0~yWIztZwB!`tI=lYCQSw;2mRVqAC$E{^i|Lnt5$chb^(ERY15oGd~DI!f{ zL&w(u30OewvScJ6>qhL^QaW54A@uj^$gf>U(-f9NYaoGzw04JSsl7gFxjR0c;>t-pa&p4 zJUTr+GCA-FyL-Xsq;)s^0CF_klz?R2m4=_Fu}9$1Cd)>ua{ubZKIHKdE_ALQ-zlwK+ta(_=Coi6Qr~~&xabx%T9-FqW19}UJzKWzP}LQ?v<1}9&saYm zaxqLuS$5L) z<$_q!7%8W|0f*{4i<>5x#I)u0uv*~4K1be-FuQn}$Nxz&C~YE=9^>U69gjO6HPdX( zi2;@6iK$Mey%zDh0X4Pd_IV+*^@OzmVTos>4i=40-w*gk%(6{~LU!<)k0?Obhpept zE%_50X~FJm4O&{t>lo6LPm?C;X$(#uz0_>gUR+{aWb_!KJrT#{Emtsqvm_l%%8%kj z4B$1bsom?ij`B@5yT^EAMJJH+U5PHgsQ=nS0?mp|%O!OFOe_;#&j19i+4ffs;TvlJ z-&hox`)`F%aV#PSus68c)k*}G1ATChwa>dtKG7AD<|*vUBUh#gL#|A#|Ev#vgbeeB zw+#uxr{W2uP+IZx8=rzH1+SYcE~xHk;HlBres!1hoVPNq)7rc2_@b4ooM@-7gN^@) z5LRF5U0JKFKYgX|fy35a=avLpp#{c+60?@G*z$g3ckZ)S(=J6~SKH3Z{e&ar zdVltDku!R7+@U_9&%5gs9jI8h5qk!8+mxobjJ1Mqu6NUE%9SAZn`75%WH19(w0wjj zZCzF|O&%u6(92JJI`4QF-^Z(XnLHQLxq63UZ=*8y_4+&pexLU|%@!SkJ zYR(qCj3mKzVpjzDArSE`>z_G5QuO!{u?_fiZs9HpX z?%vSf`%dKiOI^p`U(vZ=NO|h)ewMA-12#eMAo1N66il(SpuQ?W?8GuX7Zgmjs5_8W z?8XGiI>ers#gV=J{br;huF>*rqHk5KAjYJQ>QCwHsPM(qtd{)h$NpT7R%_SEswpGr z*Ah*v4Ve?;J9Wwkor8iV)y`z|#2Zn>X-*aR?twI19<6Kxh15gN$-}wuzj)?*UqKbn z+jyLC5jHZ(jUk-I;?@NhJCC`XbZ?)=z~|0Q{q%hL+*?stJraFva=uZ{&Y7m6Lm-BF zR|8kULP%Cw2i;8?VN0Xu1aj6|oK2iixmZxlPaWNl5`6*0@^`B>8ybu@3-`nYd;KQt zjIFnVsF+tl8w6G*S8r&$vGe7VR*Y1BY#) z?Y$e^hFVTMtlpLK;1&A<8l8!|d*u>ROV}Ft?Y|?AW+2CgVl) zy&L#-$UzJ9^*$`t-lKacxmsgFm_J85B@JG9AliMy1m@h&LsGF~Lj0pc25`6&Vv{I5 z)K`uK%SSa1J}voiTHlPC+5?(_6NOdn17wKSvT^SEw+orL6(L3>BLeg%y2i`X3%3i< zt8}CG3x{Rb)P7_>Wwy8H;8Cr+*tJ)8bB*#4N@)t(3iKi4!YCOum|E{s5!#vXqT1ge zf@6%0E2ByIu>4xZH?C~2=(E4L>g9XXa0m(&`@%b)bULC^?O0oNZ~$^(0(%EL^9atrIDY=oK_nrM67&5g^#5r~JAM0jbt z>ltnHH)_T$8s=%B1|WCoP*Q&QM;23~yn759-Q3g8y;--mQ5|&)`+7H?%MeB?`?Qg) z|mG<4inJc4A7+ zn&_3H@LMT8sT(?Vv#6{f-_`#LArTmlPce#IqS!DF4`pJECf|`fsMdwnsgti9NU^dw z<8*pljSso+SmSub>GEXVITO#Qb8}m>E|^06tt7IL)Usi@xrNMuB=fm;oX14IILM0O z95vz2!KQ3?B2x}kifv&aUpD3&`49#-CcFQt$v7LZr8$tL+15*{mzw&{hdDj8dXVXa zXxW?=UKk24(%$tx@#_Rw$p@(LvVvaKc}1lmzaX4sqvGWX7}A1c-4)y%-!^=&W zrL}Uk*ykL`l0j&}STjzr__&&Cq@#^N!dNJ+m0GV;`F`fw_w_uIFC9v;>ZR29IJv5N ziQe>SGFv-svtTIO0ipa_N*4D|qRIj*2z)WXcLXBmuqB>r1neaTgOW)ZWb|{^>e^!cfO$Y zaZAx!SRbC6+^md7bR0aYYsZ10JQS2mm>ga|TkcwHoD~dwt7f^5fn?p|Yw{E=pIyssFaiRtkj`lw zkMqGo!NbXhH)7vL9$Xb1km~N<#DnHPc<2ot=B0F;!LB_g*Z+NSJL&X-4GZ*N92onD z%tM#%oQD_SA$i6fHkWn=+IR`c)V;VGOG)+v&cMj79-IN5G;`@cMNc&t^9weNUD~6| zd?lEn>b!mc-8U%me^a$owLWKD80dwuSn~fsY1qvZ#YQAWq>pFzouMdvq)nOt8Bf%LyS#!Qqu!$ShH3k&0 zN1*1E{A!_A((F95eW?lgVxFiSF>+#r&~wD7iRK&452hyM3DNpHXQYj% zT@P!2h4X~)p))J5S56Ok{zhGOIt5hipkdD z6F3I86vXTXF+6nU4(8ky{6>Q+|J>EWJuOsF&-`eP*#IXW)xpz26W9BsXV3CUZ4*w(@z&~a<`z?u{ZOl7qx31FmZ7I z)*AEfovqV!RVsz#7ag*?>)2+qrj~89U0bOTYKbaAz2djcBK4UxB80TfHlaSVbRzBS z6Bd>)2#dy&^W$a<(l41{9x7Ih#&rX_5;qB63K@`;#s-uWfmoj3gBN5{NNdZ!+0EFP z=H*Kq1t&7#<)gRu)aCwOXEwT7X@Od_iZ3p^VMhn1{q9j(MECva@QgG^r^&DGS+g%U z3q@PqzbtWDi*A|Mig36rG1`GN(Ldp5w?#d)!*KfA8a)-;LQ)H90$qYFs0T*kA@c|b z8Re7dLynKn91qnqkeuiLuwB1u2qKn7Kj}k5d@X3T#L}!~Nf?U8{ltsXr7W4C_kqH7 z<^ZrD_kk*nyiraSCa}?Tunz|ymJ>IzWS|m223XPD@NDA-M-iW!W<9Q`-cjXHY3A_y z*vK_QJ(kRQ;cEE_39YTJ753Io7WU?l8At94)Ky*TC43TIcLmfF?syf$VAcR0(1d~F zV{3SGGx_)d{OQ0K7@9+$)Q|Uv%)G>o{+v1>Y^kNq3&X&Rc3pu7vi)D}q*?0u!HYpN zhE;HD$z5JZO`$A#WTos9l^@y%Jn--qXX9W6OWC2H4M3|dlK`{|USMTQ(#@NFb8KYh zP>;CiFTj_>;|luQd)5|J+@i#)*pw{vTN-ruE+ua2(w@TO@SOU|JX5!kRmEn|1m7$$ zWSGl<_2Ocbb)7y<>_g5$)Q1GAZ|&|pN!g}s((!#7`oKT`h~+6 z6^#OEB!?{WTPjOO-44%y@F z7M0$^#~iB7RRd=E#EB2%-o{T3=Rxo(eL4)&4vJccfH~T0 z@qjrQiGaC{{qXpZd3mD=X}N4*ZZQ=e@0^ySOX?OuRmA`+-kL{O+i^#lxmoC2wv|N9aA;_#Un&+FWk`hp_<9jLMStw&MdA)|iL?W+X!$EfgbkBg z8!bfCkH>wn_7^(p-a1GJb8^tpu8Y)~1?m4p@Fy1Jp!@!Vzy1AVbx#`qbdJqynANbA zs}(_s8hOZ1-Xfi0ISbZ?k5PaOU5zxWS(nokK**jXQR6c)=O6t{IC8jmW`eL z**bSq(q*t?(p&;ieM1n76v7%J`Nssv%M%J22c3KCw&j+gBy0ARJ$)m(|DH4s#RQAi z+qNWKhO|tIAdsD|3wz!W*bt4$y0IVL)iyNLIkM-v(ef+Z-@jsbk0*b{NZqi9EixV< z?f-wgy$4j3NB2LzGtaZT^j;K1DY9M!d|GpuH&m1vKl~78G?8S$)X*oZwL!28a)R6@tQW#UkI>Udcu*zG93El& zBhKw{jL&eaZVtCiO8+;1c-Dv2s+aP7R$4t))8~EOO#I=?Tv?iU>dV~lzbC%To%ODn zQuF!D8fi6*+oA?UJC2O+GL$8&Ni`bb20(U)+x_>(PEvVfSZC4P(Q)43{uxI6Z&1IC zk*>zN&0BVMay8a#-ZGxm2}!Kp-ND?vk}|(WN{#2UYNpjx{aq7hmrqMmJZxV~KZ`GY z&Qwl$zCnBynO6BUK={K40F4n(eE`rH@x+I@8>2GCZT42C{6`FZfq%4>r~xpiQ}3?b zcwZJ(J_(Pt@eszNyVPmqTRwiw09+WI(r?VbDfr)KW2108KDqJOs6@__Si^OUR|>D; z4TpsOX=h}6jMbjwAFXrxCGjDPzLYNi0i}CuSIyTPGNj4XpGh^a2I0PriV{vW^dlP7 zm-Y&*7hccT2juc@5bW!X7HWCb5~Z9{PFtFfzf`tr%R#$VO+U;p^Cn^GeOkBp_|kOM zAx%|Z_$XH_buD%I58+J$LuPiFv1aO$$U2$*V(KP~4SV-$ZB!M8EmxV3`%Uk|Lqbj> z!yYZ%o-M3Ni4+5+lr+?#K#mxBxBrB<_Uh#}wM+Uyg*#+tC6D0US)GOnJscHd72$Cw zwQq9ME8+cPllzWRt~RcbFodzKL&~RYdD=;38)?1O0dO;K<*%LeVJ#EunoRX; zx9IG)-u1}j;Tue*m2u~1%*bT!9a>eX9m(1^W>fKC%h<64RyH7?do)&WQG8{_1~6`p z3}Ke+wZm_eVS^N3%YELx;e0y1FH`(GpQMCXcRVkPv~C4;iH_uH?jCt-m!~_sdu&|0 ze9TT$xlY|$Ie44i>fANXfqlMc5sI~bJX`+n(%8l`xsu&-R}<7b%x;NUh7|v!>`=GB zStO#M7Bg&kWj$y``5j)k|3+%V>ar^HtBEz@N=2_qEHiW5#vR*S-I?L|rLDf&DyQy4 zI?t`{=-ehVbs55PUyEIQor!f%=gQCPk3LjYaqDQ4UMm!y(4u9(_Z4LmSfX34r8@!RGVcbyzo3|!>sDAp~$>SUhTqhpUr4kOxk zo9pN}q+_=Q5l$1k_RDj2p3tMuM%L=^9$bdsHg;*%?wfYuMXS7ZL$a$@UBXUxPG)RS zQUd-vShVkjyG0`g_vwW<#z3qwU>uXWL=wx4EqG9*YVy(AT;j*H{(plh?gM*9*8QVe%50xopQ=VckS5eqdqP**a*b5JwwHkNz*oN->l7a zY&Sk-nTu1;Aqk7Bv$+L#P~*}4-Cit|^-}U2#QI5GxixygMLd){ye~3a5?TVpcF2bR z4j>}i3~w?ZQA^IJmr)5r?KP`+6w2zZ-o@9vCCvQ>rR+N5;wHrL)n7R5H>W11FLibv zGk65A5XM_?6+hHP{?gVH-{Ho?`s75$m!(i42gD=(hQZv8iRAMQ2qZ~YP*0{ZJMqKk zXYC8zTdSa!_VF#2-memyr8sMzx#9&g8dkC&oM)5n$k$o!CaB=#$k64nMyNF%x++jf1eq2dUWk=5{%B~Hwu6Go_VWICq zdE8Z(*(4mvqWtcMN4JRs<=JC(SDtcf?EQ5~NvO#

-RAm@Qd(al`efPR^Dd+h`YFY-iaO2^0m|K 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 SxF5J1-49)Si+=1@{Y^^ diff --git a/Resources/fonts/Roboto-Regular.ttf b/Resources/fonts/Roboto-Regular.ttf deleted file mode 100644 index 3a4973c78e88bf4a3b26fef3a717e204eccb8688..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 305972 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
wYN{;-*fae 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 diff --git a/Resources/fr.lproj/Localizable.strings b/Resources/fr.lproj/Localizable.strings deleted file mode 100644 index 25ff586b0fb7a1d5b31693a44b50618756e54949..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77950 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 diff --git a/Resources/images/add_field_over@2x.png b/Resources/images/add_field_over@2x.png deleted file mode 100644 index 42283c20d3b061016ccf4192a8ad4512623c3959..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1469 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 diff --git a/Resources/images/avatar@2x.png b/Resources/images/avatar@2x.png deleted file mode 100644 index ce4e7ef5d07902414d8a04b2ba3d9d28fd1e769c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18345 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 X=z(wJUUzvX00000NkvXXu0mjf5@i2S diff --git a/Resources/images/back_disabled.png b/Resources/images/back_disabled.png deleted file mode 100644 index b01a65b2ff7ab65e15c7125a40adabf9f4cafc44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 569 zcmeAS@N?(olHy`uVBq!ia0vp^5D(^iQDgJ+A4TVdeoL5w=i$f-IKB3fkCNS z;u=wsl30>zm0Xkxq!^403{7vXXvob^$xN%n Vt)Xu3d@G;^22WQ%mvv4FO#qUb&p!YF diff --git a/Resources/images/back_disabled@2x.png b/Resources/images/back_disabled@2x.png deleted file mode 100644 index 1ab99534571f9709e30e3055a71c240267de4177..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 949 zcmeAS@N?(olHy`uVBq!ia0vp^20*OC!2%>Z%tiFY)wsWxvlY$-^h`KltSZpr#d`E{-7)hqq2Yop&ohpl$!- zA0B|E-)-#h+BNs-~*m-q9JF-q_8-odKEz`Q!}^Opv51C8Y_b=SV` zySn0L+|%nen~I`D(zL5K?vnpGRdmYy?&i#Ud$*j=S||TgG&rR4~GF`{fYehG`=pgo3Hg>SNi5J{gdzCKA~@Dapj8)8-w24S69nE{onE;A}B$e zfj#tXp7#H6R{oCU%--|cZ=bd|vf#2Ve&qA!*YrezPyENW$dq=qFz&eg>gw)z3a3Iv3wj;Mwq*IjQ85U;yXl8wpodGv;on^av>1_*jjT zd6Lh&Wuh6PLJMA|tbf8M=pa1vj|1zresPoB-AntVRoOUao8gPG~@ zoE44-*go`z>93zSBa)+3cmrd@u9Lf$FnByGEtTEDxS}pkr%dobpXAAJw;ZJ%vNQM$ z1sr0!-+n!}{n6!1=fzA<-Q{BD?PwETnwQMYz4K2=_MH7{y=*RXLRQ``U@~JcHLRBK zPON7em&H zd72(gFRGNUunC}Q!>*kacijCJKqYZfx*+&&t;uc GLK6T0vyp}X diff --git a/Resources/images/backspace_default.png b/Resources/images/backspace_default.png deleted file mode 100644 index bb6a070fd253cc1232a374c2b22e9a0782945d85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 778 zcmV+l1NHogP)L_t(Y$Gw(MNK{c2#((EdlL-ki z%c7uMMG>h%3l}-_-WxLui;$pIe}o`fwJ0J27g6+Y)6N#IiUf;-A;#Xks{<-6ij0Vs zLdyg((*B`yPn%cB55hlq3)i^VUM3XH1W1HJ<1JkLv4dyL1%#x4QP!1q|654yX% z*H;8&t$hu&0Y63LMK+twRB_o|1#SW#j4|6)^&!wXGc%Lx=;)}c)H0$dno!kFpyZs( z1wnA23WB~IPufRgj2DLCR4SD^1w00_^YilqEiEm{ieqoBeWj}1KtffY1wpX)KbYxK z)tkU4=iH$%45t7F2M0^ZWb(9#{ESrH}%f139Cnw)FHa30+n%01vSrHlk4KA-Q;MvOO;s5{u07*qo IM6N<$g2s|*_5c6? diff --git a/Resources/images/backspace_default@2x.png b/Resources/images/backspace_default@2x.png deleted file mode 100644 index 363187d5b1756b1d2f0eb2ab2be025f57718475f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1660 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 KMNUMnLSTY~)$1Ps diff --git a/Resources/images/backspace_over@2x.png b/Resources/images/backspace_over@2x.png deleted file mode 100644 index 68a1ceebb63fe05003dd4a778d16bbf644101650..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 947 zcmV;k15EshP)D6MMPk_aGm&AwU9_!v=FQy%4$~_v}+X+RP>;b&?0+3 z|1G|WZl^Ky&X?c)E*+T7y)%F2{=PXg=bZT>@?e4zU=2_~w(JEk6y*U>DR2hZPB!gi zX&zQkAFz|`+PsoLK)t{&vTdb_0SWp9inTH2_NAgXL09a%9w!BK$^d#JSeKQh69h>R z33?5nw}SOq@~==xJqFMR!G^4DLWv;>+6|!3g3Sf^fTe;OK@^}7IgO=xgCsa^0DTcO z764GK`*9?=B$$yvV}@Wb_CwbOLlPV{fW8X0703-*&0H=E$|o_t+>MEAv<5*EG#kNh zDqvhBSRxoPbGj&)K7p~*UElcF5y9fbkOarl;9{P6RSJg9+^+u3^_+`cHDiVam5KKx z!6CtSvx0V~==53cSy6*N*K;m5=vhI_6Q6E^gC0P8Qg}>P2}aGwpBGGv^_k|L#rup3 zsuG6)f&(5vO(~9Nsy(0v1ZA!bcmP!=j*|q9Zr_QE9w~yruhvEV@p<=oa?7{A<9@=B z1l!%w9v5vcq6m47ORzOgn^f}s2PDA?!6zfyR)nd<2A3u&GL z|J=-@P)KtH_l)q6U{(<)rM7hiC%A$Ig8N4Jx?pCJ06O7GzCW91CxWX0g872GM);;+ zcFF;Dn>l|J)VcQ2yz34wl?WCJ9u$k~2|7K1Hpbp>^nmINt|ti=2_72Z8)`?}Gi47{A}-rt$@vNh*^o1+R?oStY%+3xm{R03A%A zVXGW1`KocR7Q8l~&bV9Lsf1J^xFvWVQk@X&a~ikg`IAS;ZArD@Wm;Ts3ZwVO6J7}s z+y*uQW3k7LJa!CgyEjF{>2yABS zJZh^YbpUhC?DqtImr5Emvx7m7n0WNn3)b z;J3TYY;#QH&zICFskh2m4w>0lfsMXI(qoc7lXO=Cv`dmnYAG>)FOpOxsawGJz}E$c z%>@4P{B=PA>{*_xeg-DT=;!+$Ta+iy4FZROvjuzue3vj;1Mm}Y0+^LD*WK*|wuH6R zbs6AB;Eb56^q$+@8wqy+BMI4lw;L=ivV^@J5UeeLoe~h+6e?bGVO@;T)vg;zTOk75 zi9nm%9|2YX7v*3Yfd_mU0p0-43<3A$+XJqDxR?qNW53L|MKp$hADuA4%ij@ae3=8D zN|<1+V|FDa-~!FS0$>Bs<+ZvSc+Tb7r1t0l(4V_`b8zdNU=L7J$*wi(KCUZ(d)jdy zrXdJS91n8SeA3M+n$Ty0T3nNWZ3d13?YRwSDFnB9t1>+Wc6|`RY>fU+;H0-s0B@B= z5NL8o9VxH|Jn#4qfa*a0sLS^QSNH*l(nM7`1mAZ@x1}Wbvg5lvk-qKEpLzk0PU;Sq zx0Or~s0V)W9CTp{d{s~hqR+ebD3Sp#3w-4IjY(Od(1b0%SH4V>)BLNc-ECU)P3#Rp zj}v^M9D=REr(HJX5;vs4P4X@m;O0`v8Stt*=}l_ii}ZW3|B4vSt+S;#Tjk4jq~tgK z@4o8;MuFz>svgUL<4&>-Xe`msv%V5*$Gf~W0^8mB3E)LwMv;ds`f~e!e$)Wh2hC^H zMy&y6=cbR~gwFNIr%F%d5;S0zC*WfN(bN9ju*cKT{@@?nC@`nkxvWg08A;bjYL;}R sq03DbV(G`v3p{07*qoM6N<$g1wt7xc~qF diff --git a/Resources/images/call_add_default@2x.png b/Resources/images/call_add_default@2x.png deleted file mode 100644 index 91101a564a61cb22d15dcb12eb30585ced51b98e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2416 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 ZD=;xSFfcBHZ(b$3pLq;%d_7$`Y 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 diff --git a/Resources/images/call_alt_back_default.png b/Resources/images/call_alt_back_default.png deleted file mode 100644 index 2c31d1ca9820b44e094bd0baabfba0133c1a2dfb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2064 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 diff --git a/Resources/images/call_alt_start_default.png b/Resources/images/call_alt_start_default.png deleted file mode 100644 index bf5a7a79eded295eb46e289412037fbca5ac90a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1477 zcmV;$1v>hPP)|S*Xa_1$6zvVe@U^Rg=JWaXuCA^w-}hg+8kpyK-KzSQX0v%A48ui$fq{Xo zj^i9w)dztZu*+Ke!m6N!LZLT~16~)A)4*dv5F7(= zUH2go`93fgMbVBW#?EpluIoMo92JqST%Kj2RMq4!on0VEFz<+RO{r!%r=2i7R;L(nbjx(<7 z-ej%)9`Gbk^gM4@7=|wcKLOr5I5@c70CxgvjQP&U$Vj}BN~KZ>MC1|R237sSa$OjP zk+t>~Red|~b)ZK?PLxWewkV1o2L26v7Qh&D3?Pc4yA03`Tw1L>JkPsTRlfvWbR6eU zE1OECa?x6QSVRs1H#QoL2NHH6;Fe0Iw#%0$L|02Ylgjl|@Sz-93~?+Ea*D2g^Nb(AEmj{sj0ksky>@EO)ojH><_kaRkI`x|OO ziasA~UmMGypjQVN|wP$(4MziyzZRB9^u;Jq!f@`N$wKA=lg z?Ro(_=g*&SX0zEIU{^MqEmy16x#b2kGc(h3`tnLg#bPm&$z*<* z$zW3 z;X{^mH&2P>7zw}88VbR5U!Rffd>Kz-l;i>e+1ZtUpj zcw)7!Vtjmj6xaiF0SAHKM^UtMX&JNDS`pc^+K_nD5by2nomyO6+y)F~v)RqV!^7n; z40YwDYPC9(%jG73zt-#ZPfbir{C%Z9lgT_MBKv`T-QC?!%+AjKYt?ln8R$OHCn86# zT)Fbeq;LLTQY;pC#&LWac(GouZ(r`iS!p~yJ>A%{Wy>$p>GaLO(1r~g?$2a0XKS_E z?6m^AuDclsfQ^ph42EGi*YZ!7%jD$b!lq4|hJY^vTSa8t^SqO5W#k(>s5}L{M?^l? zYVnq9c=b)jn8T`iFCeP=yoekDrd0J$l}hE}lI_62z*b|-=aa|&)LQ%CbuHVj>uwW~ zgUK@ewq>dXU@`G^LvnW37;}g3`}K9%@bme6duM0o4pq$qHv^fZG5kYBUId;_r_(1! fM@L^>&BuQLXhl)6xvtoG00000NkvXXu0mjf-LA#~ diff --git a/Resources/images/call_alt_start_default@2x.png b/Resources/images/call_alt_start_default@2x.png deleted file mode 100644 index c6c11e33ece63a43beda09251921e7a32b3c75b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3096 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 diff --git a/Resources/images/call_audio_start_default.png b/Resources/images/call_audio_start_default.png deleted file mode 100644 index b0e330a1fa0c181dabb9ac0b10fe5a7af9cf8ada..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1032 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 diff --git a/Resources/images/call_audio_start_disabled.png b/Resources/images/call_audio_start_disabled.png deleted file mode 100644 index 766061c6e413b75b2a1a6d9c3fc36630a04eef85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1104 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k0wldT1B8JTOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>#&-N+U|@Fkba4#vI6n7Ubg+oK2*ZQ- zZw?*e5}N4B$hvk$hv(FbcSKC3gwH-zoNE3*b6$|4=#~o_OQ-Fen!06=;)_KJ0x_)9 z&YkAs-mP&X|FZ4hvokNJ?^0j0dFkY+sZ)BSdvD(Q7-9aU)9-B2gPHY@9!5Kft~*$E zw=C<+k*hPRvR52>`sH@FcHwrtDVw;uCcg4}ci~CvN{#S!+${ z+|;@&Et`)2>s4Cf+m~Hz=oaR%^0;E}vaLJQcTDrjy|wjKh`=$P-|P0K&Fz=GRHiPHJVD_puf~i5!+Dc8wuSA#DeprJ6&$QZeagtz4GYyc}EhCnVtRDm%UzM(VHgsvY$4g z>t8AdZ<8vpF%>cw{kp6yDJ(GkRH}%c*RkUd}RkbNS7}&QSgt-HFP(z6eZC`?BOfa?aTdll{B)1kdO9y|!Nc`bGAxSx*9; z?37o>1RtKSDcRLpr7d>;Y*jng1)nKrPnyrzY#AzAkyYqpB(ij?*!{n!%Gw)1Z9`M+W5s^vX>+Z&Hv+&P7jt@pM6{AIk(!eY6ry`D8G3g0VD zXbzattGVQwR@S`*h1KR_p={sxtm?TMSi9xdw<|NsmPK$&1%Hamif}w@o$gd0<+#*$ zU(u0=RUvH=CC-z-hw~lTQ>?an<&}q1%z~?AS1mPq&^PJdl=$Xb{438-mx}q)ZCJZC z6NnNWr zmv7l2u()&uqkc^1s{ZQET_UR$FQvtwmg-}_b}{H0e^Fgs>8-R?_lk~Le&$>LuT=Dr zohAP?{rbz*UDlk6<3?8-yKOgn_;o?LC~G`?_wY4tE9f!=Fh!Mw0HJ58?m4;zjiz8JAJFQ)Au~v zuGZQVyUX-CkFDX38oqskQB1c*awc70kaKX$@?~MhfB0{fxrzg$ITe`0R7+eVN>UO_ zQmvAUQh^kMk%6J9uA!l>k!gsbk(Hr|m7#^UfuWUwLHzxg+b9}x^HVa@DsgMjYkHCn P)WG2B>gTe~DWM4f-qGyT diff --git a/Resources/images/call_audio_start_disabled@2x.png b/Resources/images/call_audio_start_disabled@2x.png deleted file mode 100644 index 6745d669e208a671a44e757027961e3bdc941dbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2233 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 diff --git a/Resources/images/call_outgoing.png b/Resources/images/call_outgoing.png deleted file mode 100644 index 3853b174ae734455d82b477e97d6d40a76333622..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V8<6ZZI=>f4u_bxCyDx`7I;J! z19e;nVMZs7*%d&+^`0({ArhB+FKp~%Oq6JS_`SxXWZi+-1)sac=2|bfkh6NhtSsYR zH^rvz3qIP(?_6D1UpTY|eF3U43?DwORq#JN^0!r3F%DPJpLiY$3annbUuhTecYQdE&+c|4~&B z5Q4RuhO!uqWouHjs@L6bk6b#s0A4H{Xe6!(8b(R2l#XKH*?oI-U9|qCUoN?{JA)cO zfk9z7jFOs|PyTOTjA0rCp%}jk!C{otN-mvgUyR`>2;L3$!#{RiX*%ms58|}E_k$77ufWA4qeCS2mbLbD}v-d?&09E`E#>+YMZSO<#dab`%?PmHc zRc;iu2b-b*YJ3KM1AoQaCuv6Kk8hnj7BO|1KP-YS%N<@Zx^@D;`7rv!UBOgR;8!DyuH0We0|K$An%otJlpf`&ie8n2;}YS z_MCTFnb_0Qb0$Dd_-LCV^CTYY;%7a#*G6w&Hs8A3Ph_?Yw`SYQ6)SumK7Ss*xAgV3 za5lC!p{|%?Cr+H;)Pvi)j;|52IKT|75{&HeEb(^Q+jZYguecIack?{4KrrU z&_3E`s5nXf@qyNxe}8`u{{tkh?<{`qq+#ac;c;S8XJ_Zs*|Tp?%-VR;r8URvYst6% z#>U2nK=;)rHhH|M&v^B5Rch6rA0PLWzrPpz_rt@(Ni&-G^?1Mhd1tfE b2~iAla!ZcBSLFx=`kukl)z4*}Q$iB}ad4d2 diff --git a/Resources/images/call_quality_indicator_0@2x.png b/Resources/images/call_quality_indicator_0@2x.png deleted file mode 100644 index 5e21e509973e9ab6ae61ec2747b1f795bc0e98ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 923 zcmV;M17!S(P)rq)uUj4Ka|VLI?>W1`11xR0devfo`2pRg_Adm^yT5Mi!I-!4PmG_yamHL{TH9 zQfuK#X`9CV5&KwdxEeRLOO1WfE%%<^eg6FJd(Q_1KR5tFu~pqS$<5a&6@zUGrTIRJ(^sX5R7-aZ10EG{ml_V)JP9vmEe z*xK4E0EjYR0~gkhtah!huRjM6V@QbrNX*U63&Vq-cL?W{?v8-$J*N39RPw~ z0Eq`bab{-bwIoRo01!e*CY#MJ1CZQ`svqF20xm|Q(Oay6=lSbXQ&U&{Y9QP)#{&>_ zUH=P&uIrLt#oSBI@r)Gw9*2jAe30OJYSTrC?O8g2x~F<#PF&-{R_;xn{HZIGs+v0{}q~ZjX(PWmBotT~$>nd@N0_ zn2X2bkJtrK6mQPX&Sv})Rb?f)dT7?frC6{Xa$ zd{tHb1Ynr)wNj-Iz_6;SpPB0qLzd;200zx?9OFCEYPG(z7uK>YKLvn+N~JQcD9TEs z(OAgm^P>O~OaQCdyaZsVTCGkfic+fA>+`u>E@S!%w$@4jkjUk7nR>lGuP92XTCGk1 x7&7DVjIRhFkc+kCAVbDb-C)-%wK+1 zy-bxq8f+t~#o`iECB*qesXMc3<%U?Xt`u(T?PtD!oNdpkm>?M%>Y6#rZcFa(mp2YI zDeUN4q_JR1++y7x0Vf8AWtmFXHvEk+QF~tVwDMk5_TNB}qwfOZuS8BuEw7w+-{4qY z|4Z-VE({DVdn{Pry!ZOgrG45+^7zM{>t0u9M@Y0yU-$Zwif7n0gJU-&->k`;)qAb# zxMlsuwxflAIy$a=|GRwhT{We7_pN_3F&G?sVVT)u$iUF|ct-sGL+2~6@$bD+diS*f z&-j!5PNhTAv7r$91x&VV+3ht$A$TZc>(CF-A$w#nbm`>54*3Iu1jUYm zo!E_V6x-M3TohRWo1*F(dLV>e=}teMd*A0y0_144P$;PFcKgNk^>wCRuO|UeA^{iy zpg4}Rq-ok?5#!Zr^#_#!Zfk2x^MC;WnV+AZqY|h_7-P(Tqu1-jq)@Kg?FOb7l_cjN zD;)kwxY*xF_@O=c&XFodi^Zba>2%VL<1AU0wIJR{qE?Oopt)RbQPZ>p0BD+)I66Aw zx~^LQ2ID9gmU3imZH*1VhAoju%uS*m4J*%5snp1<5JHqmrZqI>E-x=>fa?=akq{ZJ zgvd~>58H$v6dVCScXoD|=sS_Ah6zUtg#vS3_tpCP`a90~+ghzQGj8RD2}b~sjg1YR zG4@1UPwBe82tbhmjxxrk@2q{Xn6|mOsYVTl`||7N=0=&+ze1T-;qZRANOLZ-&&OB* z0EZ+kCe#~N92dtx9Fd!_+GsR#uIn0(<9ylO-F@nTj#jyolamk0Wb!irFvealFE6KO zXJ_ABTwL&|rAtBF~s8Z*(v+Ij~WOZ*WYNrKvjTCjOA!h3!iI2X-UDwtN;Bf zPDlSq_OjA+VqW^>VMvmKccqEGUf3#*pieIOR{QQho_yyi2h;HtuVn&$r{(p0`EJMTAYd(*3?$`bjwK>1!a6Io;-KJu`T!=gpJ@h8KgU LtDnm{r-UW|IxCw3 diff --git a/Resources/images/call_quality_indicator_2@2x.png b/Resources/images/call_quality_indicator_2@2x.png deleted file mode 100644 index 782e0fa1a06831de4343c9cff1c4df392bd1c38f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 871 zcmV-t1DO1YP)QFabGjwt2^Nm z1CnzHDmYwAaG|S6__{neep|{Motv9ePEJlzhG7h8n$|7OBdunR0HB#nWa zY?p)tQA$V35Mx@|Is^ zuvz9L05W5&0R&?#;Z*bIh+qjsP zn18V67FMtI(rZ{1UDq?UTJ5W07z>Mwi+B7M*QS}<-Q9f|kHGB7hU)9aV8dID!zmg-`U3UIA$nXX#9{#obF&(CQPE(E{_tR0nH~`Bu&8m~Jd_G@s zdx@>BE#|bX5ovW*>Z#m~y z-M3UKeF1RW=KH(70uVVoJbb`8e_o&K>+3yYuLj?vqoc<*-)BopOGyCeSYBR!rR(~~ zLZR?}Y;5cEKisiZxgdoYS)k%;vcYB~y4KqIlYL(lq5^7@jg;7!eTwjN?e&uzBnR6GB`or5>e}$4mX4JS)rc zAxV-mrPL>Yd#}leC;|Y+*pc^|2lZ?(m=NN27>19!uAjVNob#I~iqbsKue@Q5{gmnN zJZszbd77p#Ddn9vEX%SB##k7~@#Vp;IrHiN{MiNooO9E*ILkM`^h;U?06`EqrnO!f zV_vMa>#e|AyEewWYOPmu(vr6C`!{QC-!zT>2H$9Fvj_Hcy8r+H07*qoM6N<$g8rD9 ATmS$7 diff --git a/Resources/images/call_quality_indicator_3@2x.png b/Resources/images/call_quality_indicator_3@2x.png deleted file mode 100644 index f7c5728c6e278394332eb981f3dcce95c5028d7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 917 zcmV;G18V$>u$G`9O+Ur4b z$Z^~SF3}?{UYukwF`9S_FsP9@Xk3l~6Lf_^wqrdL6DB7HOk{9yF-#hQIT|N75*#iU zNFd~j4IyxU;o9fYYAMapqP6vxyyf>^UqAW2*YEH30l^45H#a979v)t+)oR0)N+kh+ zk^q1a09?IZzZr={`t%&z*x2|+g8)}36e1=t03fMUYLEs%HNx{eZ|!Ke+o3=x*K9Uz zw-*h_oT zAq9~35Kr)#e+uYpLhK7dT186x>k9wtAE|-fLU`E7ZvBv-e9Ugwcafw7C zYVBZ*b?I=9mewmcQmt0cxW1-oR9B7q`ax)#M$UOB@e2+e;Cwe>TQJ5LajM!yt;9Mp z^Gbc{)*=813kwUqx}k==+#1vk*v!n#rADLiVRCZvhpMXI*Vor?1K_;^q%Ot@v$L}= zMNzy5fKp1+nM`I8fT-I8@dM5%;6gYY9zIp0IPS{y^mNjzGU!w}4gjyJ>KO=CRYf<& z+^apunXKSfv|26BPq>cW^f%1*Jf9;M^)0XAsOf7nPN~MJ^^|&c%j(AQFS4wHEX&W1 zkB`69>-ELu<>kv>o2z5xwzsz*B@&4@0KoJ7t&x$DOgtXHt0)SCho#Apa?xn?p*bN4 z!i{`BpZ3aFUBPLZ7O}}kogSqY;7}JcgilTf1Fkl*MY?Uqm z1B#-2X1_x#7K_gT^y%{%S7RIiaesgR4rAv!UBOgR;8!DyuH0We0|K$An%otJlpf`&ie8n2;}YS z_MCTFnb_0Qb0$Dd_-LCV^CTYY;%7a#*G6w&Hs8A3Ph_?Yw`SYQ6)SumK7Ss*xAgV3 za5lC!p{|%?Cr+H;)Pvi)j;|52IKT|75{&HeEb(^Q+jZYguecIack?{4KrrU z&_3E`s5nXf@qyNxe}8`u{{tkh?<{`qq+#ac;c;S8XJ_Zs*|Tp?%-VR;r8URvYst6% z#>U2nK=;)rHhH|M&v^B5Rch6rA0PLWzrPpz_rt@(Ni&-G^?1Mhd1tfE b2~iAla!ZcBSLFx=`kukl)z4*}Q$iB}ad4d2 diff --git a/Resources/images/call_quality_indicator_4@2x.png b/Resources/images/call_quality_indicator_4@2x.png deleted file mode 100644 index 5e21e509973e9ab6ae61ec2747b1f795bc0e98ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 923 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 By+Hr~ diff --git a/Resources/images/call_start_body_default@2x.png b/Resources/images/call_start_body_default@2x.png deleted file mode 100644 index c9a2e742ff240387e68d333b1312010c528efdae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4350 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 diff --git a/Resources/images/call_start_body_default~ipad.png b/Resources/images/call_start_body_default~ipad.png deleted file mode 100644 index 74af60f86d6adf69777b7ae0549061894cadb755..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1263 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 diff --git a/Resources/images/call_start_body_disabled~ipad.png b/Resources/images/call_start_body_disabled~ipad.png deleted file mode 100644 index 3fa179706515c9a8523ea840b4b0a39cc68b8122..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1158 zcmV;11bO?3P)Ph3SD$3HW$%d!jQ z(k(2oX&2l@S}zUtl9W<0BV`38} z!H{wbZIMEei?n51`v_hI>hm1?D$q}i&&5})JQRpJMHw#6BX}Ed z@?f?Md`J^th_jdlgQzg=z(wEy+hf0C&@H~^ue?E2m~P-ppqTBoB?O(Kk3m}yb%xhb zL;%Uo*j*$YqL-nZAS%pB;0M6L&f4F=(;~ub{KEgUR$bI0_+}R%0DQnDb&8@45FA`U zQTsr{7MH-mlMp-#buHj3%jcoEE=INi|nEC|b(_ab-`K&mdhC|Olhn6#j5vA0QZ>u>L32C&GY#XH z;r1+q+A?8`4Va&V@d2pxK}`^*|AcBklz1%Un?vd}jS`dREQuQq!SoO;O>J$w30R)d zo{>d~Wh?h;ukERY8-GB}BOrtZuWGQ1uoDu&;oNQ$ItZhSX}iP$vCTvv#y0ir$1j7g zS;xi7yk5%a5_qbuF(ij2f4i_{ZgO(H7MbFwJQxe69WhY}DmZvj?DH&!@4Lo`rRu(mQsI4#;bhV7<7mG6=TmM7Df0O;?AZkQ6=K0)Dh*Ub_dAzkx3Vfg`E2O^2urf@vhw*m~&N05<;B zGY%Yq%KAj!5mLAJHEkt5({98&lyV`ZR8*(=4nb!@#ZXm)4peugmVKo(?CeNpTFCB= zk3>J`Q$e~3A{hca?2e5gX%)S!rId=|B9p+oy9BX@q$>_Vy1a`BJ;1pghA?KJq`H#?tz>%07*qoM6N<$f)Zg6RsaA1 diff --git a/Resources/images/call_start_body_disabled~ipad@2x.png b/Resources/images/call_start_body_disabled~ipad@2x.png deleted file mode 100644 index 6dd8dc7a378e65aa5c92841fc279d9654346b008..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2588 zcmV+%3gh*OP)3v?UOgrb*RSN?SFmstA#^wrhffTBS5?K1EeOK&7fuAEBjEt41LSHc1Lj zTQyZGwLpM?6eR^36Ts$ejPVQnSikn=-P;dmm-S=UyX#r6*FMr{c4lYK-1*;g{^#6t z@2n!uqU$I?QH^FDPynO>)(MvkqHzPa@Y0Hl>#7M?Jlm+|9E2LyVDJ^-tH5JGQIsmi zflI(~G{}p;Avo0jMaO96DS(-@>kW!XhMUcYxo=nKLfr67;&)l zUf?B?`J;N3;e-N3*RT@$qU*`U!{1SS ziG?9!e*@JlG|}v*ksn9OGb#!|P61^sRMG5Hjl2-arD1ak{S3vx zdkY#6>HeSSI`){h6uk{AR*nH%SsbEK)T@Iu%-&M0ytaq{5hKtX&~-dID^PST-v_p{ z_#_#4OYdMwRG{d3s!{xw#VafD@aKp@(V+113Xnc8%}vjRqScVU0x}CA*)msm`nIlR zTSP>wYuSn7m3iyKs>dKbXF`KC*ljS_4FetEvd8jn-K0^iUdA@@WYQ!+c9D*kcYw@! z1I0B4UJtmPvQJKhR4Zf^LSdO4+imildCA0sYi~0rLt2Wi;{`}CE=fv(oMOl?6<`3y z-OzRphVRAV4nvGnrru;=nx*J%SV`f?yjn?6*7t&a2>Lr*Gm%faJ@u|czU zu%H;*dx2BaEJfE*12o3$VKNJ#q#6e9!u__$e^*isdCSCoTw^fU1w*|84uCSC^dTr% zDaUs{iB5lTX6?a3sd^c=KW6)7M{Lp~1x0J1q)I+#=F5ZJyBXQtMwOaE`$6eG}G5F;2b?yz{_)^bShV{0_6#v*c7Le;5i^2_T~b zLXz1<;2DRpf$%y8yTH~h*5R^?PD{Gz$SjoeUJs1+LrNNC%~r7r#|T_G4gGg~nZVU4z?9Fd%bG38 zTW$#$Ns_1ZcL>1FQE{uXO=5}K3!RsJZ73JZF_AW6=ZgSIdK;;v@FyT;R;sMoP_bDW zIdB(l{TJMh$=8hZ$v&&l=Snj~jn$7pL8*}Kl5zoNv|lV`s2B29fHg~8%We}g&Mbhm zOyQo<0W-jK?!CY<11p+j-%Rpt<8!*+9rKzcfU%T7)0$!;q8=OV-;>HVscdNp~^t9!W<|@py&`XI+e?&HQYWgX?ryC00bZP`A5nV0eApP znps{cO$M?}DRDcc$3oRTvWvt@KwQSw6a78E65V2k z4KTR^$m@Y2A9)s(hAtGfofR@nbc-<qxuJX z#g(D0B~oB=OQ3SAfb37yN*@Yeb}%pFjB(Ath=HX5^xXmHn3(+1%J3kD0;af9T*gR( zflg>SF?n=7x4^WiCR_#<&LC@3&09;yCxHjE=0p!n#THoRTNBiMO}_Vfq)0Uhn2Naq zbX6Tw?z+G3OFKtFY?s+dzj?|N9$V^Gc zMJXd#(xr-KBt-_yz+K^wn;%NeBvhfQvo!!rY{^&S@mY%R@Nmpjd)zWEaXVyA*iV>Y zfjJMCj)fo4^;`>#nsZBH3Cd}8h^_~qs6(6wF2+o~YYc9DBqL~lX!X}Z%t~RI==6H0 zyO=rGc_Wa&1x~&hQ~$KvqyldrmWWijRZ0lq+-W9B&kd9zI$O*ZsV9mPH%-$)N#Y>j zh$%3xF}QX{I6^5Xs(?>@S$bPVIn9)mB3ZCum@7jBmm?D=*r%>K_yh36ISF>zMG{W^ zB}BJF@{s-xv8r%Vu|=Yja}=(;A9~hcHU&sUl{(0c;GpcF6c5*d)Hwl0DVeufx;9W+ z1Svd^^a+8w9l}LQN&Po1Qxdz(0?Apfo{7GkIkOyA4Lm)WUZw_uI`#v*=QNpCO6G+N zN@cDlQl7c}abV^#Mh=d_M)msStbRHuyGX~uCE~T1SQ$c~{#m|ci*N2m%i6F2OEODG!--is0I!LuPtIoT)_5FZ;=@@Ah{dG zTL_b^*#vSJbi%#Xewp0s-#o z95wT24{-ry5-R4KkPhg%DoglXilR!PAW�s7}|BoMFoxQle`YzEe$sP^p( y@sf)o$CoqN0UI!c;+AjnzZJ~|)ksUc+WLPq#%L;x^@9&)7?{~iU3i=Um z6()_<5!0k3O~6ay+RyZomo}cU(XlUVk{*hw=g+F5&EN2 zGGD-u0EV$i#0~|yDJQe)=nW_H_BXc~HD}{egnR)Q)n9K`!Z(WKl_xW+b_jvI?qt>$ zS{5PYUjPf&566U%t8!-84qX>A@9s+;;xXv!5oB{?Ab|}oxBIE*?zX%7jm*0JmYGtK zTY-3PJWlDVynoen+sVE@Tv+7iz zWZpQKn4oIPF~H2gMX?&@xqbQMb8Wru8C6r)T`wXAB?KY*#o1%EHsf!5^~~CWr27$K z+w~w49h$=8+x7t9>abJWa)ippe^b@;Ihx)X$dJ0Oh-s@b&K&7-#P=85PL2y|b9;6J zQP+cvu6Gh*jG@DO0iz*|VNugaF=sP+$h~+p7md#1OL@}wgfFBR{mCZB#%`WjS76DJ zLax10i#{TF7^&ukOiIil$Phtg<6b^5`2`-$<<~e8BgvZc#2Zx$xaR;1YHFOd;3vzeXtXH14jT%C4y6+Mijt-Qy+QK42A-E%@I2OK%`Cpx{Y+-dz4>BE*$YR}_~(r5g1j!apRVXII86e%9^Z?UROu{_KC z@#|59ffMI86B=Y@;e-!}4o&UR#?e;JdtavW{?{4oD|w2#)?@r5F-cwh#JQs zoE>L@HfuR~4_I2qW{xy-Q+r21PaR(da5+e8M9b)iBEI^8rYXo$JrERH>`CD^fDX_r<9Y z6=I>md7|eMTo@T?o)5rxbvwJY*EkMwtmYl^jxMBAb1`$&s~`j==eMCMCWc2(r>?b# zPH!u55x4kTgN{)^rubZrs3Cx$)7#o(duHnINr;@nsq_Ej+nV)P9p{4EMse*{!c7Up zhK;7K_1lY8LWmWRI6G?zGY$3g{4Y`!e-ss6dI5>51b1tjIQ$9HhA!r;<4X#^d$G^4 z>RO8ci4X=_+*Rn(gS@oio7+wYAkBz41CnrGl>kle!0l-!+!TLB-IdB6$uHpcH1Sz+ z&Lz^lqrCoO);I0%%J>_;oQOxexCi&0TH}8~D)m7M3c>!^G`Y%%4I9&y`~aLC=V)}5 z5^RiN;_xSY9_#;07mwD~6^eD~MbkU{bxp8>q|G0bb1g?ul_25=O}=bWyN@rS!CB00 zNvoJ@dG3ZEa3r`Ckgfh0ooT#S^`yitxa_{$)7(Yq)})m;oRC1aDxjSA$Ee>$OQjYQ|H<8sl_ ztGlUa$R{y61FJa;RSD|q6J{DpcKQ~EM^7in5P{V^A6rvFx6&st&nTM|sZ-*wVVQk9 zE$x*|9QHU-q1JBgZcj72ik8seJjtzzE0~)6JcGl>aqlfVFo%!l_}Pu@D_Mid5XpiG zTl>XBQcxn^I4~kvg$jR-heuE6p7br$wHC4C+r>RbACn=91ry$9aQL{caDAx!H=H=P z1puo#n>lHJrNiT3SJA^XwUq_RrQPc?MysE0YH?&e7PZXZ6#pAGb@I1!GKSXFy9F5N6KE;Va!HHz0Z$i^M z*?oK|?!cnj&gB`^n=g}^vL1`J0}lq8e`_2EsdgO19Fb0P>|D}^J&HMeJQC>CF5uCe zSLB;8vc_*pkv`oXo1DQgRQ_F~Ep4DMHR!J-zx|kAlk8tX9sf+Aolg0G$JbNDES5^yCa%@ztYS zAGoALe*_G=Su6z9c+uvs&a64!TfaU-@TwWM&s9}T2M*tyy-vR7@!rxG5ueBaET3Ls za~riEO2q4cc7u4dBYDwmuUfEb&e=vEJ?J0S9T+i5BK`(4)GP`{2kVP17C$vVh5e!4Gpcg2PhE9hwN* zx@N}d`fCgn{fFHB=5R#`ouW(9gkUT}#3A)agt+u4pl}LZ)<_{sgy5vd8T8GX`KS9W am;Db5aN$sUMVS!*0000EZtc; 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 diff --git a/Resources/images/call_start_body_over~ipad@2x.png b/Resources/images/call_start_body_over~ipad@2x.png deleted file mode 100644 index ad01088c96d9dd1bdfbe4847e1d789458afee6df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3536 zcmV;>4KMPEP)Pfm|ubLnv`b!Vxm!{1~C)K*1-WQmFEziahD=^qyETv(a^}<|(eG z@s)?NqcolV2NWUim6H2_j6s_60tbcQV^Fp)F0B094F%Kz*#8sI0 zDT&yK>VIeHw7OG67RtKMk|P5y?Q)5DRzL#R&ewOTLi}Xe%@L>RcxO_@=<#mO!dhf6aLMUs2TNxViNyJ)rhv&z^1ZFX4@7S0AEP|H+9Yah4 z@s$wjBi}2mIdM&(yn0|*vL>Ls159IRt5YI>w4|_Rr4Y!g24&rz;kf~g+=e8b8%2V( zmWJx(4?j#G3F^_Bv4lG89q+HR=~gwEP>`vAa3U-lt8Rmbs#POilD6Cn?6knzR%4o zgC-#U&{urv@!?y0hKKtVwgPe2W42lGv$-{GIZ4qIh>grf9~Mn}XFXB|LVc+uw<+dq z(OZr~{pKla_NM*XQX>g}AZzix zb*FoH%Kz>eZq_RN5eUED5W+MDRO##f+v97Y?(6|d8~;RjSPT|pKEq-Pi3%S^wS6}d zHJHn3g-}G%2Iux3Q06X-UL*wH4ArJLHf0g>3f}9UI0GzHXXLHozT8(Bo3eym2()VKLO$_XIoL{JF~vD?eJ_=DP^WgA2`Tf#hIu z=(Hy8%YB7{)F)Ad28%HtQ+O&>ExQH;CN*X<7UL+inh1>gBvQ?Hk)Qk>3_2@~ZJ*;; zJFvBXg{{4q5%F_Kh#H5-Ys1$5RZy`7uTomH!FjA3%B%ZQ$0#WO6)X^oF`v0(Hj)^9 z8v)hJiTZc281soYjvg?WYWv3=tzAP&!@D%M7o%15m?JZ>nhMB@pH02Ba5 z^pYBLH>oj`DQo%=ufKKh1%ObDTQ)e}?uIgVp?NWgslfmlmGo_9j#^8EE{@iYT8fGn zP}1-ocGpQV;~ya2I2vPk3e^JuBT?}N+Guf|fYF{Tol4R{!OVR*wc?_CoWZo6d^Ra&PX-+>*8wMQEvP*}<0L z1+;e50O0UcV0V>X0HaT)y5-|O!DPkHW=!%E#2Rw&1={iWnsIw=lr{YsYt%SmBC|=2 znM`Tp2dL6Zi>riDNskg|%%!4v8y;WFV7VxMDL&ismh*(>jRQHRfb_pQ(B8_WN{AZI zU0KhgNHHRf*elOH1{ zGMhTb0epdWs#|uEX}KSBLwS7aW%G7+mMlY+esU8ZX2S5^ORGJlD>zv3OUi9Us4_ry z{2U%Cc%LwhflhxbpOl{qeFdpcq0^cGsIYATAj2{vxS*&~2%t!fGA5`3B5DEv4XvN` zJGR+Xf-lg1E;&#ldmUqUm+?j2dUlj7<-H>_Y41EkoFSJ<89(X@#Jg#6l@O*ekRE%k zcV2UL9|6@%Oymem;VHpv%{iNn=j#-tniC9^h_F}yT0814zvpSAn3ewqdaap;)*~FQ z`fb0q9qw{=lq>@zqmmv)uRYi6s^|)+!(yg%)kZFy9aR9B^r=B5a%Y=dnTkM+2sZmX zKe5XN;~9CYiHXdnwWF48$Di&IcluIe>rrg&$5BKWNzoI}d6TOY0HgjwTIK3&1Rzpp z4Qd4il)y+u2Ai-6alUcW=a9Rze@<%5WW0fPwiZ8m#XH1VS6SB=j_(3c4?uWW%-5it z|137h18r0^ zZv&vI?HEUDR?^gVA&dQ@ZasdrgL2zPLB?8X(n>G|W8{1ZZ|pU|2_|Md2SB;4h#LF8 zL0!Y{E@S_x=Pyd`{#Nz!#opvT#r{)23%+U-!lVRS6*sq^=+0Mq%T2$ieGPyS*16;- ze`n}7Dy58608da&p{{OTa`dF$8hQM^`ga_xcnJ^`X8$+ihbJNahU~Sski^)y=S1iU+*j=TZ zb)UK-Fe9vUNsKzz%G^`Bf@7!O>`KhaaCU)7FpVQJ%yMEW&2IqFo){XYS?1kog z8T@JJ3ron`h(^(N#fzy_+duBN&N<^egd!A@qbH%)M&t3>DJovjW0~09WjH;RWLjoo zjT%QpSR6I>y`grMmx?yDmTCYVTo^q(*dFb9)jR)=)l@*NVI=9X_fXNi4R7G`yZ&j% zLHq$Xs`Rn_#CK_No$NE+cXm{f5jTT`sBvgSSWum|OXSyusn7i7jaH8WpsMOdK!(Dy zD*fyzS%R&-7*lu(-yHuT7UQUX|L=>s^=v6#L~BRwWyh7g z)pT1GgTK4y(0zw+-ZH~+>C-$#2oLCxXnmV+)1=JsIA!}kjQS*E z4I{Cd#xf>l0f|w!p-LZapY5{Ao>qzA!Le^+(kFA;agaS_D?$|l0oql6;9Fb%(B`?& z1^Sv^|1>q$>(f+n6;DIP8S=O-{TYVGO-B(I?yNXHl{C9baCJ7|_S(8zoUw*nQp}Tx z)LC(Ro7i-879MYN2;(cOmQJZ&esOE;60O;rwj3c=UhNtqLT6#5^&zt2A0*y5`XWHR z=HGq?+m1iY8D~fz3Tr}(q}4fY&LPcIQ-;nKpY4LzHvz38>Q>367t{m}pE#6X(;s{fJRfby->|CVGwS~{h?Rv_j9jvIT; z@L{7`^}~U|8=%(h8J?>ua;JpU8_q)nzmIFEUOdo8=B}tk{@T9O5vtJaypf(El(5QH zSpDyP?KD9{0a&*)GdiI2uLJR|AX%Vu zo`fw!h)1hLe!o$zx@E9H2JI<5yylyg5d}8CW`v&C6j9^ zLbv=vtbe{gr5~+4lpUq*@XnM%6e@@*5}7~9IMyoRfP&bM5W8=7pqabo6 zP)ri0~A+%&9UJLqfN4jL5*1X{J$4`ya&*0;5_ zU6_aIR^WDo9mSphUh!VgwV(&KtvS>5AEAik0gTY`a@Ci^2yZ}4}+-aI-NJR3k1Ps7sJ8QKp>lly=)QiY=5$RV-H3N45;|qnR zg8{e#fj}kj9B>l2S48&D1^s^iOF)wio!9AnFaVd`Q&UsJBO@cmQh~}oYo7uua&vQ+x3skUl_(e)88IS}$R1!5 zFj`nxxW2Kmab_tFu}ha5jYiic3v8!P0;9lVQ&UqzPENbKyKfMY2@yHo)6=soEifx9 zYY6xa2skCP9n}K|flZM}WLQL83EgPr%*@Oruo@^aO*51VY5;^np_td}%>-(vr>8H3 z!{LvTh2e16@_N08fLnp}K(W{B9V;&{uL2GOIZCN5N~uX; z>;g^$-JPACH#_!AkvOmcH~?%0!dmNh0TZb3`~7eF{r;W6)4=VfX&w=g{L3~?Lc%q` zQQ!;Uei6Bt0_+A}2ObAb7=}^p^ZC9>((C|s+PNMOk#oro5s?X{REzy(c&E3w_xe;$ zJs!_S+ihtw%+~Aze85Ve-_c=0!}e*dgTPmYVLa;d`M&-?M@~cz0qcM#MC8?!KzoH- zf!%+}!8;ixZXstIVea{ry ll~Tu*QsIt{j?bOu{ta70)X%#tv*G{%002ovPDHLkV1gA67)Ag9 diff --git a/Resources/images/call_status_incoming@2x.png b/Resources/images/call_status_incoming@2x.png deleted file mode 100644 index 6cb67ba30aea4ea06b0e3555067c190136122a9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2345 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 diff --git a/Resources/images/call_status_incoming~ipad@2x.png b/Resources/images/call_status_incoming~ipad@2x.png deleted file mode 100644 index 660bc909fff8703286aeabb04c66c8773aca48ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2015 zcmV<52O#)~P)i6Y-*~zO^i^gX(M=NyX-0i^@BwlNQxD@U??w|hL+vTeP)+kYNVA{l@ErdQG!GH zM2fV4d%-mzMI@~q64Dk?pyjn<@nzob=?Ctvhsz9eXIYl?B%ADg&OP`1|L6Za&w0+- zRs5f|)%)%k9Lr=EYo$Jm47zP)v_B_bxBD9nN_)RSaW?_*irYFs|EX!I01dL}Y}BjJg&A8a23Qa`ol! zA;Ir7!2|DGUT$Ss0;yCgA|h?Tao{5nncttPt=}_tq>4qmfO`xr|D5sE#HRSkvsRf^ zAC^w1w*xIe-EDLnXA3Y3C>ZZ9yH@V;D(L$k6V;Uln$iWKA3rlPL zXu!NLR9WHaQ4wu*qWG3!ekYQRHiiWc5Cw*qhU)6-lNETtuK|<5Az*IE%5G-Ba>&c& zr#?OT*o8`5&;q_l|z#_wR9GEI17kd%MhrC?Aet!LlbCnK^Dy44L zx+hCs4Cy+PwAL#P(-)RyO;02eCwl>2qd8#3Vn2Uz_w6C;a(ynAwSG6J{^+SFU5_-`+*1gviP%_o16dTXAoZ+J+b7= zmemaW*D%cyk(d3rxgo8)7TRst>{2f$5{Y;Ge$$tKDk2+GsZ`{K5l~9KZP;o=WW-eh z`5^E}K#3>P>GZlAp@ikT%`VfXl$udyALs(61on+45qYV$(Se6U1n(Uk5(xe)c@CIm`zViNsr$Wd+@7ZWtv*q~2G40x(!> zy)Kzd{;XFDxUQSAZF@LypKrR;w(U1u*F910Bb}X{rIZ*}N(m8}3%nLM2`b>hcszdI zb>00HDd4x~0-Mvauq#nQiFqP&S$6Vo`d$ED@+*NWOEs-mg;hcoS(z2Uv&PQ+6UT8j zgeB72+WH;O^L7BY80HPY?12LZel?THYzBT{^m$6DXMmGh>x}_Y%_7oKi2?vCfD1-! ztY~jmS2CH*?g02Nlu|Pt$64h#&Sqeaad`%?teg^&BAMl4JRU#g zZ&m$=Bm+kP9EZp6erz;NTWQ@}$avfUVW$hPedfrowXC>s++ z??!!>*qHY{M);3!uOszb7qol+i$t9`=9Fpe);m{x8(Er zoxrWe*?Y#4B}@Jm+Jyp2Gyt1{!GSa=H8nLW`cjQlDiukm(|-)4+;$OZ2_3{m2>i*i ztOnq;VZKRg{i}33y)T(eHue>P!-o$)69C@@NT{8-Tx)M{AD+wQ)&h?e>E5H1>Zqxy z+1Xn~MC5*;)7X(u1LI0%tzOsdesHf1Y);+n1n{b5S+6A$iT4S4>C@5CQJu|Z-{Z?a zZ55PKjgI5&3SA3TNMf*3YN6J8aiI1w+iBkgb}Oa+p_DoviA4TwSytBbyqj{lTosr8 zureO_F>tq0hqXA4(_T?A*GnQp{Cm=Qz_30Fg>Aqz5%I1&0fWc@rPMU7^;1AYm^59Y zeK26afC)>NE-ic6d)>~i{>{cD;C}z-?lOcv2i^sC#A31a&CSiB{t=|#4&SL%Dstq= xkrDZPehe@|DHYRNU+{~)kAc67NWRkV{tvABEfybxv3&pl002ovPDHLkV1g#|-hluB diff --git a/Resources/images/call_status_missed.png b/Resources/images/call_status_missed.png deleted file mode 100644 index 2ad8b36faaf605283941afa147bc9eec88712454..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1137 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 diff --git a/Resources/images/call_status_outgoing.png b/Resources/images/call_status_outgoing.png deleted file mode 100644 index fd9e19a952947dd4082aec486aa91a11eefdec43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1213 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 a&+Y&D(bJ6VZM8rE0000$3M?K_oDMw zFQ$`3Dh44jdQlC@Kh>Sca&8gyBBR2jMum|}>xHm(cb?yMyS*5giD5U&3M*pthi2(Y z(Rn9J0+Gmtlp(ILmG%c@W8S-ao?dt_obK)&qv!4Sd_Ujcd7j^Mj_^O~;r@Q__XUdw z5N@mXjDd;CJJE8%Ik(o#I)S9Bj#M&Vs;d(wi3;-fOt8%ZZWlm=homH^Y6R#4x&aTk z0<@~?iMhU6)3Iao3zPDhKns8%ry>C9bh-{W1UTS35qSa-;7}@+x_2({mHi_%!K4fb zv>5D1xCjtY)ths<+-cx`U{7sr?JD2*_XF#IAP9nksZ=U48~pBrCvS+w^M`?EO!f@7 zCN^Od03yJHz)}%;URAerbaY%Twrm7w2J%4=e3?q68mqzQ+0-Gh)xhp-+kG8~SV@ln z%K>7s*hl5&csxD|TmTlB*`gV3862sdZ&!~3t1#J>ZB1+q!%G3RK)$oH^UtuLs?mvw ziBEt#fG*$nzY6PXKRvQA7UT{a)@VjL`#@q_IlL4QzD42MS)9ZBs`^S;SpE5l>+|!X zUtrt?>>h4QbXA*A6u1b)fW^RgaTnH`*%sgo(0*-iLZ|ZbZ6GTIUOnELc&XCKfnmcg zM@8g}nIR&}fdc?$HVTXZ4I;7;csuO$;(Q!T%INX7#P`)so^5M-93UbhLq+JiP`k!F z&uaq4%k|OXdun<_Ps=1Qb)6;Xy^z`&mpk72a`@Wwk2dL_; zkw~PjySw|FN&%(8?gJKy$fmH^)zx(&8jUsq=ge%cb8d4PycIYV1VPq0_ej-%nwpxu zz-2Q_s_J!RA-@1kz>jA3x~e``ya?NX0U!_jW@aBa=QdUh*uH)H6~G5>0(Mns!^L9A zSzwQ<4w>0b;3r^(=XnX>S2KH8RiCQ32f!OZ7HD_Qy-*=!ycjYHB!I7hm8yC!nM|H9 zYGc4#&bep*GvpBDM&Lwos4x1y|5}BhTCRPL`&D(iOj`#002F|@s!mHeV8@Of^@T!V z5LgDh2W(Z20d59Q!c_fPR=tEFLX$S-m3!x%(RczP0d#8W+8ivcR_wHg~{_=iz=Fa)%o;l~6 zGgjQ>HnSsEt`*Brj4b#i8m$$FdhQtAtZt_9)3+QL69}Zvpcp+YFI4Kupr3xNt*s*y ziNq61sesmcy@>P`GT(@FUr{m`95GxAq8&XY=NAx>dw`dKDK4}hm?t9tEo9R2j;w}o$%DWQ1MUZwi^zgtFgOi3VLYn=wu#7yVO{xc zUE?j4j(Pn4E!D3pP+ZJNKtz55Yy-v_&*Q*s5!nDxS6BBw@DOm;=<^`3sjaQe9xk8P zmg)q)V8Cx%{rbV!qRNZj{+4U}w}BSG4689Or z$>Lxq@I?bYs2pc*Hsb*-cftw-dsalA5|LDn5Zet@dq_MQkH^;)V!WO1zs7j2tm@c; z%6|_v){4jDrErxl+2wa)5jmuk`mP6_mv6MOo&HyWFB$M5t*q+(^JbjSHQoX~WdcP- zMF;&(-rU@Lo7Vbi5B!4P@n7BX##l?GcbL&eY5tK4+P;hj2r8wY~;r5Z=$l}7clSrLb&f`(p8;M30!GeQCL(|HGnv!FIyZ92&&8AY?#mMdS~8D0@@eoVEhG>Of8Td-0=2cZabUNBFA)(dM?N?a2m~tKAaGgIClZM*`H~Qk(IPVGdRz!M zzF&4DU{Qpa(219!O46F^%&B+N5$AF$q(>XArfj$ab4JDGA~4)97A5=unYXstH_ z-m1njS19@_dn%71CBSi@WUvwd+%F=IPa>1uko>W1MKG7pM&KKs;eCKf_E#eE{aor+ zWiaBWK$DS~p9+V=EqQFnkGmx9HsH>&W5+J+>FF7tN~JnH6^CA>)KaC?yN=^@dZfw= zuGVt=?191dGgBXFt;0j*g$x8v0&_hYYgQtW*qlnG_Iix}5U2@yYp88+l}bt6c-ndU%h(uhrS57FR5^AMa2f(4lFJ7rp9k; zY;2tAMyA1%=b4EUCw_AI^5scCE;L9Wrj+`Y8>cV36L26Jjh5ah6KKAW=Eh{UF=24Ex+1lFL?07uB7p|0Dlu~u!aJVU-P3+xR zZ@HSsJO|i7xVyXiO*ixo%dKZT9USJxL^7Eisg(M()_OYdO|HJs zTP-5Zd5O6KiIf081iqK$ixkqfi^zh!)#!B+3A#e=F<_x5cjVJf0ACi7oR#t$_P-J> zEiGeudwa_nxc#YQ-~wZ)x@#}+4)CgN+ilr4?M)-#ZSC#tful!{PDrIvcL5WWQnuFm lKR^PwSXNf{uR?Ok{{gJG11Ul6^YQ=y002ovPDHLkV1ggP_jCXN diff --git a/Resources/images/call_transfer_default.png b/Resources/images/call_transfer_default.png deleted file mode 100644 index 79aaad67a06082a8a13c203c14421b9fc2aee0f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1172 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 diff --git a/Resources/images/call_transfer_disabled.png b/Resources/images/call_transfer_disabled.png deleted file mode 100644 index fbf51e1bbd7fac1dccdbe32146b013d3f6af42f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1248 zcmeAS@N?(olHy`uVBq!ia0vp^8bGYV!2%=$O*hO1QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI%k67&fO?h59r|Z`m zlf`F>PR(GGao{y__Q;>syS`b>?CJZaMg8x$9(PiUICQpwcg6LYhn$-n_Xf6AG|Omj z`yU(BlU1&GN+UKZn_-3fd*dU9{XZr$zkBig`H|;}9#=Lx`p6|4tqa#Vs&*l-!OY0n zI{M71jY~L-k2KuVQoN>kgz-v1{6FU(%{q&3@j39UD9@G+-cfOIbJllD^Eg(5G9^YH;sZdu3Ak?U$khO(~39y6Su$vE^-Y{rL5g z_nhUbd0{6FmTYbP?|kj2=cU$+)jzz8*p^qw?hteH_^|o&mS?Ze=Z6Rf?f+V@;{ViS z|3rypvt`W=D!BIYK2L4Z>HgWNdO~-e;Dd#6!OtiDZL3St>1>+K;<$EVNa9M7W+^_) z@D$&E$%o!-CH#|R;+lS(oLj1JG49>1?+bs;Ja$@tldoi;cx}n$jIDN)Wv|(93m4%1 zAiMr)`D{nq;2jYYI7D6URtQ`=+MRsD(7j~!>1o##{ZAOIl%3izNicZQ((GJ@=#Y!= zX4D+9iB#LNQ$=t8wZK502fUW+#DCsb_v!mBRq`O}=QQ?PC5!<+_XMs?Q+i^3$l=AA znBN?XP9DvWdB+B#Dp^4XIOF{eDH#Rsb8y8mB%T!T9$A~lf9 z*Cpx9<0LP8ZE3}ZGDF9v4JtobF0Ss`q+Xn=#4@42(yf6#>OZGNb6vvPk|irP-8yN( zwtCH!ZTiReB>t+@JT1=TI9uZIdAswfVPe-$+TQ#4#Af+(n`u|hD%5fansrQ(TG=l- z#r>Q2ekB11<{C%wL+oW8g2&IqN4#3rXl-Jkzx#P~SjD+aUE3JN`#e*Gi$Vfh8P-2> zwOq}8zdg#^*!N06?*uj9IWuIY%>OTcsi$07qIV*wq){z#jVMV;EJ?LWE=mPb3`Pcq zrn-iPx<;lUhDKI~CRTV{W5p$jwj5OsmALL9gjaI#2_Hr>mdKI;Vst E0JhZ&1^@s6 diff --git a/Resources/images/call_transfer_disabled@2x.png b/Resources/images/call_transfer_disabled@2x.png deleted file mode 100644 index 562ca6a8598185d61faf4245c3703c8fed127ac0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2546 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 DrTKS{ diff --git a/Resources/images/call_video_start_default.png b/Resources/images/call_video_start_default.png deleted file mode 100644 index 00b9d1862e7fa2c8af198811868c9b85e22a23a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 967 zcmV;&133JNP)L!(wRqmyIFP!UBhr3lfBRAA9VFVV+CQ1lQ%U+)YiXZ zUC(pxlF2%NRz%lh+;3;4}>Q?n&0r#&|$JJleo{pqub(gwt2F+si zH}yoM8#)EIt&!){i_{;~N%g*t7PUwtlj@vl@?X7LJm2YpTLFHF&#QChyMdL!1hD1* zfZHD5SLCFR8n6a934Epwbvmp)5w=YYG^^E`dQ@HBX~11kKF)2R8CH*nuA?`0V|eeO z8FaU20E@Iy74^chaF;|kvZH`@Xr?A0bPFR*)zsm#fNzBN?kb?YEz<-H=FDHO9teBm zr2*9|!h5^(a^5suN_A?dtggwlKaZ=+;v&`5)nx!*jNLw4P@io?2h_*Z3H49)j*PB6 zU_3j17aj5PCIQD|V|&#lIl83*UCV+u3wT4Er9*0O!8L;c_~{G{YhM7KQ15IN@SX_I zPwKS=*L16u0=iq(GjX9(tALLL;Nf;AUGVH>>Z4{)J973JcUn)$QSp`ZyEM8vE7XGn-KTsK{;pPe0iX&}dZqfyF=% pFgM;DRe_zr=fIAX(y3-_{|()VQuJOL^~nGL002ovPDHLkV1kN-$Kn70 diff --git a/Resources/images/call_video_start_default@2x.png b/Resources/images/call_video_start_default@2x.png deleted file mode 100644 index efa229d6bebb3a4494818bde10b5880d6cdef647..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1973 zcmV;m2TJ&fP)q@K00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy00&h`L_t(|+U=Zsj8)YY#=m{JFavdz zM+a02Vikpe;G@bzD)^ueqtRGR)euQjF;>CY1Y?@`poX@lX=_aI5ffAtEz~M1Xf?E& zW}+A^3dQ=sM;!&hVMK~_P>}ig$LwoP7W+Qu%suzqVI?HYzGtt!)_3;Wd+oK>K29}C zzzj*>lhmh*!|s)|#yPh}X(r$tlB0dVsRd+f29^UYz@%)AVmKwiu``k;OL`#y-Xuwn zNE+dr?yOY+T~uyKJE}0|AOoTW?-!D8lhhDt9-2*oMYlWWhE`$O_$svC0{tc3E$OmQ zzcc`tErQPRcExm~fXfxtn)t-umsOr3()F6nIN+(PFZ`5wwv0Nw;YrE`nx zIlvE`b8Ax$*k(y1{r~?Z=|bmRYbjoLIpEEa^pe?`21{BEoSbq1FOl@Pq+d&#Rtk9K z0M`UOROAf#nLp~pG2U+@eA{Zwz4>EAwvRF;beJgV6-k$xpZ@Hf%p47r^eiwXjnfa9 z3akJY01a_5y#nYkGi^6;h5tS4BNI{jU!iD5t_D2irNfTheUcCGDRRQAW~4(`RjrgCpr5fdEFa6HsD+dFl-4a+jp( zlA^v}n}B&{S~kUK7AO0KH%FZ%xhf&bg%}%-mJL z>5`5~VD@b&RGHwM+a~F!QAMLJ$D1*McQCNQyx9k$9(}z~#w>~*F@V<~X{Ds`k>=Hs zeqJcDn`QuAp~bUY*G1C(l1_`7gpcm-RUJ~sfY#ka`+P|kNB(Y?bb)hjr|Ok}+av2# zYd84JGUvx#z)7li@)6i?A}2BJAq5o8wi+VcFX2+-4$S~;c9y} z|FG%5q#oUsLYv4&({@~$JnY6ZR$U1u^`=?)abyN9uE2ypFtcziFr+sD_;`0tBfu!& zeFNgUa@W%|19+WLenbU4Mgs2{J{xkmgn9>Xf>C@K3 zcnuGvMc)R7*E@)dA`0*6&L-evX6p@zt-#T}$se54O@4<0|1mt@2S(K^fEi#@)D?+= z=deIruoXD6H=K)!qg<`0%^8^NPea!yegXmx_v>Gd{u&eCZ<~ZPezqUeO};<#dF&kB z17wm0aj8kLjE#x!5Pw36(&kEPto?HH`#edZ#fgFlj5l$;^3}3W z7RjtF0s15f;$tSZH!ViqhX5}cg|`CZOFVbm^>h#L2Oq$-<#>IP0&t8eb6XpyFn$)b z7=_ykRf72v+)qrOPk}T1@6&xLUX+#r*`z@HlM!Zq%={aGm1c|`p`9O?8>m}+75I*M z?j#Rtl%56}lK^mtdE+~Qkui@k09YNERVPL^i{Ay-xYfX*JUplP7ZIfuK))nFoMi-Q ziQ6Q6_0!+XINQBRt_Xm4M==?Ej^;DdZ)I%N_hl;hv=QVtJupVdoGtAIt}cUTZJ4t^ zj%_i!@`XJxPQN@eE_aD%W(7P?0NM?&XZF$wms^R{?`#Ivi{bRNjB9+92K+I7N(83J4f$l4k(7R9lFw zNkHXx%xNhB@qQ!wtw{*c5b)i01G8%!yvuBXcw$*YpfS%~x-XiAO01STgf zR5s7;rhfy+)ev|C1DV3BYw7LIGeOwg9l2Yo?r-fcn+sUVgSEK6oEj+az$e--NKmd{ z1*~I$YLUFDEX#9}XsPy24V-D5{~f^SG`I@q0Uzc8@}IzudOGCpDI_KQ>YRmdHPNq!tSsOic*!2%=~*u542QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fIJQlr=Ud?o!#1YN%(&Rtmb;p+SGsO(4uSAYXJe!#^yXoeQH7BezQY~_m z=P)WPT)C{lyW`Dtv7<>_r(5%E@Z<8xSi^aTb=}L2MspS|zO$q`G;*46(18@;0|tR< zUO(MhU&pANpHssyA?LEgY=+BLO%0021SI7=*NNmx%}AdXt0&0Zt??mBt152OtfVf_ zS`BvBaEJB34>-x3=sRb0P9Z|(xMKL!D~%7;%L=!8+dJ=jwaxM03!%jkV!40BmK&`z zTsJA*k;`@K>NRqq8#S^MHpK9%Ms#Fr_^aOkkh&vHBj97+)?Uq9k<;EjOH8=2JofJN z)dqg%`A@R74Gi8Wmh5`XP^%%m_TYgHygOvoSj999*4D0lwCSnE1RZY<;aj(b{676j za9~b7z|$=uw3dPQL#KlJ>A8~>dleT3=I`oa>p!&iu|d$wY44W^zF%>vY|@>}|8`ke zK2R2vUBOhv*7&Vpc3g|}zXON+s+$j2e*I&9=cEwp1z{D=k8><#>K8ChsJ(aT@C@?^ z7B!Pq=`&e^KE)O3{9s-h(UI7eH!s9qw|CNkgd3{5)~@j_nmpZ;R>tZ)+R$^D_wA~M z2EB*N)4UA|MCW}7WM9ziv%&qUwxa}B+kae zIREJEmp{|wg(GU7wBER4XnWKm^4Z?z@Kr*GV-(Nu>Hk!!+n|>gAa{DbRr+%^>0=Vg z4t?Ki)`qQQoYWFIMJoA>dqY`4Um}m0bk4@3?-C=kUL;PjSpPJ1ZEf9GhFflPEG8!T z&0`XC)6vP$9G zRdP`(kYX@0Ff`RQG}JXR4KXybGBmL=w9qy%v@$S=zaMiOMMG|WN@iLmZVh@(Ptt)J O7(8A5T-G@yGywo%l$cxq diff --git a/Resources/images/call_video_start_disabled@2x.png b/Resources/images/call_video_start_disabled@2x.png deleted file mode 100644 index 53b4040b86baad60a9e3547cf5587d09eac29b16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2037 zcmV00004XF*Lt006O% z3;baP0000WV@Og>004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00002 zVoOIv0RM-N%)bBt010qNS#tmY4c7nw4c7reD4Tcy000McNliru-wPQG4iXVvi2MKm z2IxsdK~!ko&6?|56K58{eW6!@~7fSJ|UDO$5OM<4CxG9du! z%L$m4r2L~;75$q7E=(Vt`{&9Jcqq|k25E90`KSQ3ovXIod%UCdV*~7>+5X$$KAma6 z&>v0ZkPO~$+>-Uo!H>y;0LoM5oX)ubphmbv19S4OYIsSeWhwWNC!n_Q6-_|9PRLq? z!M2D3YfQ=J!BZZ9dY;RK0jMRe_vB4Q0UvOY1ap$gKji|b5&AgiI8aMmCn||3t4w*F z%X^BomC-ET0>1-LLtGCRX$y)T)j|D>x_XoY7IZA_9^cDz6$Us9)Nn&5o!LfNXyY60@C4LWZgSdwEO0mDTtt~=0e~=r zdb~o2m=Uh&CCvv^w1-g((jSDWk8GhsT+ZArM^m@>-?0K#0a&|dtNNlSJcxygxr zz%u}(n9W_5$-3t# zS4qd=1ozz%%gOv5W9YW8l%tt zeOU4G$pvr=NJkWRynWa5qbyV#4?<+B-bRlRy;;{XSA9GPk=au%o+HxIRCu3O3{bYr zNyj`!JhrG9Bd&h{VhAh-9&;Zcn~d=ufHsD`c4}n-)5T2{xmS+eoGo*FlRmfM1LuWSwKmcvpK8B{MBTK z2`e+}8P>c+L!;SdUW#9=;_2jS@rcfvST zpjgD5;ra!C2H*$zIf$}`7^EG5U9xR<{e;Ul?>dvR1)y!jEnR!flxxc*fCXWWBmkd! zB@PGfF2#Loh176E+dxHoxng)rjHmHH)|j;7;uHf~#0$6s2G>rm0iDetcR;5u3hB?)J|KUEq*Bx5G2LF z%!*<9^-8d3E)ZU;^?Fj=m!#k5f|1cSep(VtOQ1fs4_*zU)@FI+?u?261kg|T!t9)4 zp7~Y*2a1b2enYM|stYv{8ME5Hg* zN_(}fCx|1!F1Ld=LIY=KdYUWj=QzvEvlJ|y$j%UD)ZQsf1z&|C(npQZ!v)7j1e?6z zrMwTQ9b&}3Fr1es!LM3meyer#a6acthgE*(wSTnHFX;y0e@ql(`4Y+)t>psUlk7^f_W+v1kL?>i(QfQIRy+x4T+J+|4kd?-v^&W)rPlOo^f9qN^l zHgb**&*pKy1ai$~1T@Tgj&qC{tp!5=TNZg$to6zSm<0{fL=%nFSmgmqk{uGP`{jt< z@_!}NCVyfB%+LS;03~!qSaf7zbY(hYa%Ew3WdJfTF*PkQF)cDRR53C-F*G_cI4dwQ zIxsL_-(1@O001R)MObuXVRU6WZEs|0W_bWIFflbPF)=MNHB>P&Ix#dlF*qwQF*-0X TE`sD|00000NkvXXu0mjfEe)A+ diff --git a/Resources/images/callkit_logo.png b/Resources/images/callkit_logo.png deleted file mode 100644 index 9aa295af2186eadffa1b33ab668762ba8b148238..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1100 zcmV-S1he~zP)7NO6vsVD)khJfEK0PYk!U3n^(_)f2bDrh}W3$y%@(5;5^&|&-&k@)vP1C&9;A2;rp3#$A{&~-x%Oo39k@ApY%Oq|zH z7PlbVX#E#B=P>?^ob11d+tGne1t#|&`vdvL#J!2C3i;J%a)x8o!=Vdt#nHMt6g4&7 zg(*BSHzHmlm%Gw=x>j+v=B&pO!hpiGkRBqp2c`4eDx4mJR$-`(JJ(ObO~^a$#O|4s z{({>WR-XyUBG)zK3U^MYI1K9VavQ_!lYczzTRs2W4)x74n~66Bvp=akWz ztt1ac3&x4YkSWP?r#ICiYbq~#|24$Xsi!h-LX7zQwJs+H&Nco-sf>xE zGh;%{tky)Fb#P2aOE^w4#W~N!KUO%H==I4Irxl%!maaI%weYND!*OU&@mbSCI0w^) zqsH%fj!f}ghpYr2M{f=21hEtrLmql<=2l}{=%w=wn&CM-g$L++kl{Cq%Yt0UPFr?@ z&4Q$7Fl_|{1X4Xvqy;e(8W~7tyxDa$Qb>ta42lo%1yg{dPDE`ou75jrcR*D0G_Kc5&-GNpYxiJJ?R0 z=(V@a_Bj9JfOwh=-J!04oI0s^8;%9g>vuL|Y|Ws6dM=XMF60jtPz!HOOuxjYjk?fO z=Gj6p?1eMN7)#olsW#Vl@E+PgUk$YR>I+m3=#iLjqi-$FCXFtz5%(Y*GDc5vQWE4k zY&H&IN(w80k0xi(i+?u`o>Q@L4ngj4=NK__GBR^|Ip0N=x}8V6&!n`FV;<5vRt3$R zzB>KDsT|of+6B4eGZ_VpHyB-DaWYa^2ciO54f?s3wnn_D9X}{$Rgf~Kj{m3_ZUd`- z=<{rITi_D@4SxVt!+Hfj S#psU!00009_ diff --git a/Resources/images/callkit_logo@2x.png b/Resources/images/callkit_logo@2x.png deleted file mode 100644 index a6c6549bed735b479431beb701fb376e64833f4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2394 zcmV-g38nUlP){42@y0NAeVPE zL7MD{ovV^B zue$2JSMPmOGu>TX(`83krK+mxRjU2LGB68#P*zs zW?YDC8^-f2%tbDUE7nLsk;ogBm6cT{(6<3R4jM&rYAIva5f^fT@PFc2J@!H;AL>UH{Mu}8DMObgwX#D^t6MZejQj4#Yb)G65D3b9~^1N zoUL?DB65V|c3??Vr~GJth0Q%%Z{5sq5YY-@BkT3`6ELrdc0w z14vyaWmHU4`R$B6<)IN1JtobAU_{uQj09T7MRPLok_CZ7!IR#0)3Na@EJYmXE@Lh7RFh#bwDC>UCC=EO zTzzLChKDem5M*2geQz>>dIaU^OCW~oyC%rE(EH#(-_Y^Mll^k_B@lzhFs!jY=;x%6 z+u=ah!{hyOH2wx+bS?%9kq!L}i>;lXw1MCqZ{8^cLRvkPbbE8DSGkyvA#V@)w@2zx zf>TUiVXZuu$a5(AuL38>QcJnCt1$ynYK)RDUG#9LR16F-13Q85>@M#N98@CDrp8x3 z?e1}AAjCDGV>Pm9FPz=P1l5^=6=1P++%xdr5_v(i)#!6(Vf74zI1#DUmo~N<4DaPw zzllX(;NmbO9E6YR%Q}uLIc|$wX3xOR9`eL+YZOL-{l&~6`A;MN3eb(Zc1LKPK)l_h zdUc^;l>Ky!`ZIRBB*&+MS3syop0=NSmgIUEdY2435uQEHUd3AKHHPNb4cIy;BSks=6VROWh+h1SD2#19L<0VHk#7CL3iqH z15|Uqi=4L*5J`rf;(~13AbZN=wHtJXSsO3~M zx$1Uo3YZGM=U69&NQGQ)#-ODLY>b1wk*s}`@ulC4iO6<7Ds|dSo_h$OKbVpUY2M(; z^H}FX+S{4wF-}jx_D5ukOnoF}2Wi&>?R|``*q1S}IV8YMID0)dhcP)4adDHU&|)Xh z$~V?eIVKJhi76=p*T2y5F!qy^4=HutoD_j|o>*-K zP$Do(rjsIYCzlKdvy3fn^R00^l)pp>ggkAL8=5O56355HGaKYr;clcAcn$0bS_Mg> zk1@3X`Z2gHN!DuRY)KMFk;K*DR!g2wTkK;q)ATnmZ5;m`Oy_t9GSL!y5@Di+yr$@B z@!3khNOsgh0OxAyChw^;ED4&|Ymp zF&+T=UDc}5MzGl;k!q=w7$|xM`08jOv{WK60B1eGfB#;kqQ8f}2okw2j1X7OtHP01 z@rQ%?POu#GvYs-1LHz`$qg1KE0NgYI(=4t=I-N8&1J(cOMXmr9PG_l7%>bNS41TvS z`l(-AgBluUxjGMU{4CG~a8VaHXaHUS2VMN=U-7!c`oGZ7&sMM{ZQADB{(r6Fs*!sK z@RQAlEomEg}%wtsei1aZ+?4++9^vxPhTf_*g-zJH0cG>zUKj* z!GS5FFg=JsyAM4*JiiCj{4ovmo?D&7t`}|SQDYzSGH6^DCF`WbkfSKTsH~w_T z*!&9gADZ+9#nzyD4_rFOrhaVo29M7{Ur=XzWEi_O&}&Zg@*m?F)fB&}4f`G@=6u%! zG0@p)w8FSNz_@SRw7AAcU`0y<05)(V+*Ay&ORO#2~IiZ6lEB!H=) zdx}+-4Ft0v7b10~3p(Bjv}merXtvaj0{u%!(6y+fej-`}?M<}NhFJAijaUn@YO~b& z$ZaOa=?K)z7#79#Nty!4^)`s>4z$tSSON)@1?1`LFdG@}2h=!Bel|j!o+YKTl& zq+S2RcrKRD8LbPvkxA2>6mJSjGcAFZ@d$|2ChTG?fp;Ehzrr?Sd>ZwszlSuQjcmO_ zlS~|4Ewn+dHRTp|2I^fhhj4Hwa+1kWp|&w$#L+;%{6fz_+W`(`GY&bxZYy-jq|v3! z>By7~Q=w;|O%hIYT{Z|g#%?Qg$z;)ezVS{ZGJzsXB!Y*5{-CqF&FNxwuaI`8>Z#t< zpgnE6Ma;NZC$1lH@D0$y$CtEey)mmoT;k?Na6jnAarIiG#skjpV6779&4{41J**?p zUYs@-%8^;M1& M07*qoM6N<$g1gUdUjP6A diff --git a/Resources/images/camera_default.png b/Resources/images/camera_default.png deleted file mode 100644 index 322d818f80b79adbc43bcbbee2357bb3ea464b4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 503 zcmVCd1#lPm0bGwUwg(Nl0T%XOqpCNms``1@kn;o+Ac@G6 ze!sssEj;T6MC5)->359r!@qpl0P4D~j^fL9g27<0WM=l?0917i*eZ(R@o+et=^Ox< z0o2_ej>qGzvMf(^4FK>JcnO4*(zcmh=^9`!#&}OeR)7=0M>Bgm8jZ9ofWJTD9dH@g z0Uoq%`!=OC*BJmnjB!U*FS+|Vup%O70ebH4z`U9LI_Aui!1h6*s;XV!RtTXLku`VU t>$&@L5xJdd@b}ZirfFV>5I%{B{{bd~j>r*bHgNy|002ovPDHLkV1mf?-1Yzf diff --git a/Resources/images/camera_default@2x.png b/Resources/images/camera_default@2x.png deleted file mode 100644 index a4190c8ad99ae73c2e7878ace965ef990096f6e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 917 zcmV;G18V$!(`B~ zwz4D#1r-SfM1n>XW`%~T9$5Bb2x?3Y5k&}IBp`+mkU8Zbf|8(!L4}Zrvi==}1-oWX zJt`_Bhd{tUK=BY*;%->uGWK>qFDtZ7B0EVAcK6n;-|P3_eY|>Auc{;ng4>(T=3x|f&;^?JRB(lk9JA}j57`;Z6RN4dux z3kwT(0+-fnV2pV&%d+Dl(g7HaMpwMTKbL{|5(Iw_@Wi-A-EMbtr_*^4*!!<(A#!&S z#0BTvGyiuA#+W@KG8Tw140ovNr@*#r=^Iph^!xpWwYIOSKVA<4fLCP**4l|Uj!ytj z7gXm}wId?;Rz4%FwNoN;t_VRyj;*e)J|ZHQDxDGie!mgN@$0}5Rn5n@BqA?FQS{{+ zsOnCQAPBa`aeN9e1=aUimhG9Jpa120ww0M0#+cCayt4%eDk8^Ptyb_~5Gs=qtyb%x zsvZPdIq@=ZAc~@o*W;rSAXN3WLP7jiRiAUt{kmQsRa`aRO_Icn1EFfg^0KNvKNt+Y zz7gY6f@n6ISFzuoIGd@e15p#2MBVgC9 z^jZ0)YXigvh#J+1>FMcqk|du1PXZtLzJFxgGs{Y3M4F~O;3?oP;MK*&#i6zK{yKuV ztsvS7oU_)xv{56V1H5moeJ2QlO&i4$UiLiij4|fn+JO*}H-IE3dQe1SYwg}zfk=|% zE#PtBLQcFHIBl){%vw89o2lWPJF~K~@+eR|h}jMN5QgE7+SG{QaJcN8+Xw6i{>-Vi zsp@xO7`{@gouzZ``#1)J!Qg{5O&?R$Q^1LK ryM0su!Z7Tq>h2Ok$bi$g;xXCZz1JV#rcQhB00000NkvXXu0mjfSYNIl diff --git a/Resources/images/camera_disabled.png b/Resources/images/camera_disabled.png deleted file mode 100644 index ee66d14b5f54bfda73be39c633f7dbbc0b092564..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 541 zcmeAS@N?(olHy`uVBq!ia0vp^3P3E(!2%?s=N_*CQY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI&c$DOtLEQZZeDOK_IyCDiPnkMgi9T~Q;VZIBDc)6zI%12 ze9ivq2VT3^-A=KydS|;nZ(GiX51OCmZHyP0pRcguqK7cQ3TOVNuWw%#y_)fJ;hTnz z>9v3512l8JIy={KtGVwzWteT_Qfth9o%e`bz~g2|lUSB@4l|85N|xA9Z*ddvNB8DyvDW z4nLlJ^@cR-#t*DKaXw`hH#&f!#h_Z^8c~vxSdwa$T$Bo=7>o=IO?3?ob&X6z42`S| sO{@&fwG9ld3=CFI*D*rTkei>9nO2Eg!;Mo@`ao8Ay85}Sb4q9e0KhKCJOBUy diff --git a/Resources/images/camera_disabled@2x.png b/Resources/images/camera_disabled@2x.png deleted file mode 100644 index 3f48071b72896d414e8a694746b675cbac2516d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 832 zcmeAS@N?(olHy`uVBq!ia0vp^PC%^2!2%?2S+wc{DVB6cUq=Rpjs4tz5?O(Kg=CK) zUj~LMH3o);76yi2K%s^g3=E|P3=FRl7#OT(FffQ0%-I!a1C(G&@^*J&_}|`tWO>_47BMw2s1iq%&q_mvX^-Jy0YKrmgM0R>Eaj?aro_w(|NZXMB4s8 z=H9+c!)@n<5Ea!>(MjPa*iJ4Bx;p*T?=Os-5?1U|;J+Z666hcrDt$;bH>fGO?d74e zg)19fjz0E1|LV*icjNibd(QW?b#?vfdBkyA?Zu|qsg5C4dYcw1GBB9i?GrwD>9xxF zODgxS32=)t2I!kwI5zDxJUNl+M$G4`V>{x0elfI}sV=+vWNb>z{1W*?X}zJwGbB&3 zYcHL0LfJ4kn_s%1w5;h>--)KQ-zv@#S*84K*CjYxlNc6wxJE2imT$CrEM++<{1MAl z*_77VY<_D$i6%H|xdg6%_VG&gpE)M??w?&1q;SS$Z^OG^S1#UK{=I8D3rDSYPIW!= z@#jVV-*a#Z{M+bYzUbt;CZ#8T7ftv3eOM)860@P$+Ed?u7Ig?{eYdOWa61|&BAK)? zsQv+0a*RZ2ntmTop{gINovlt#*3EzX8_zi15zaqx^SD&ivFVlNKAhSIFGsYuy>&bo zRWzGl*y-yWk-jy(9SZ+uq@KT}tMxfGa@$JTStm~@ypX=rJ97cEwy-rvZ*4USG1r51H~P9{d!S<-XCqorCSW-%-<>dEZG0& z;T!SU#}-T|dpHY}KvhdzBT7;dOH!?pi&B9UgOP!usji`+u90bop^=rLiIt(bwt=CQ kfx*h@Iz}iOa`RI%(<*UmxN&MqA5a5>r>mdKI;Vst0C!qX5&!@I diff --git a/Resources/images/camera_selected.png b/Resources/images/camera_selected.png deleted file mode 100644 index 7620a6db8592fc8ba5f0d9b817d0557de0ea7e17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 462 zcmV;<0WtoGP)iJle*=)*!^>2fNu59I%xnH)mU&>&lx?{Pn-l{Csp7$lK=n!07*qoM6N<$ Ef)1(FNB{r; diff --git a/Resources/images/camera_selected@2x.png b/Resources/images/camera_selected@2x.png deleted file mode 100644 index 610ad8634bdbab03f7e167be6d415ea6b22eb5f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 835 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 efk2>Zwd_AC384)yjgPGW0000^ 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 diff --git a/Resources/images/cancel_edit_default.png b/Resources/images/cancel_edit_default.png deleted file mode 100644 index 5f38f51baac405f84f1352f1d7e8d94a3f198ed4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1087 zcmV-F1i<@=P)dC!D__iUoQFl^NfCKUYuyZ7)>^-o z$z;y03L1;W8V$oZE+YNFZzA%>$jHbkK;O!3(P*^JG|fZ6yTBIUGuyUb&StZV%R+m5 zdqa-nTmphx>+gU>CX=~Fl@g1^nteXsSztGi?Ck999~>NX%X(F5>^ROxK+wCr5(y{Duu1dVvFxNaR8;m;3b}_jY%8HvkubVyRTxdHwqJS<^I60{ei|wrxLi^S-QB zy1KfyDy4n~u9>EJe=?c8QFiZJ-tix>EUS>sW*2SSep+jN7T9l^=9kfEw5}HD=;-M0 zBJv>+v2FVZfJ!712Jk#EX`1F2W#eo%yI3d`4y*;(@An@A{sayK7~ydEG2n>S`jb>D zHCkz$&*$AxD0If}_wN*uzCa+bqn16MoSakYRnFL__JEUUEAq$R*Z)qvaE+y4McKv)4G;IGw8yb0V_ z4cN;_1z?i`X1s7=J;7d-m|E+rN<{KNYlnuAd- z*md1q03vcxiOAOghGFchHVmo(E2YZopI5+uH+L>%G7)>2x}$ zlF6h4d=6~4ZTny?Y3^3w`uh4;fhH08blECnSyoMT)ax9EfIi@iZQK0~4GmkoDl=o6 z=8j}CdBXt6<#NSHBvJsLRZ8t@X=xdnnwqM*hUW8mHyVweE*6X1fkYq>cu+(R1NQ*W zrBbPhe--guF84!gYiqNJB$QHjwY0Q+Qww-vVnVmIwWVCw-3{yo!Xk1solc)vvRw&< zLN5Us;E-V$-^SzdO|`gretv$lh-@x9AQ%k3w_-P#NF)r~w%-Td1Z)xcz~}QFTd9vN zOGih?#y}wOHt-7I2L?)|(#Mu%E&Tub-v6}2U(bJ;zX9Z#Ec?AP!bt!C002ovPDHLk FV1gg}3{C(5 diff --git a/Resources/images/cancel_edit_default@2x.png b/Resources/images/cancel_edit_default@2x.png deleted file mode 100644 index b937b03385f8e1dea4c9a3e03fd267f8e538e64c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2218 zcmV;b2vzrqP)G+L_t(&-qo9HY*fb;$Ny*UF2Tk$ z#(9t^0sJBkZ6iQPO$m0h?BlLn%d}OsqNIhWq#sBMX(~lkTG8Z|HldLki9Yy1+O#Ci zvxKBC2X^<~?M1E;G;)fBVu<7Qs-+K-$TlxOitoWvW^NI8Q_unEA92qN}g3FW%YNIhwEgpu9B1ZsP1D|rL?Xva4%X}SE)zm*1F#vuZ8^NZQ_Q^I z<#PQh91iyv71r=6x=g>zQyk{NIAY zdOV&AP16h_dUyiJK>+PU)J{alnE7-x8vReUz6`?<$BrFadinC@6+(!00PY2F_XPc3 z0Puw4IKQxM+sQku&*xh&gm{6OZ_lh_=9my-KM}nVi9`lxs{xP4bEC`U+5})LfK^$V zoB(j2X_}|<0vig2w1I(v?*rHgK+C8O129a}JeF$*8VCehnb`oaI@5ZHXnQmo-Jerf zpU-y#5xoQ;m{E0-h;~Gy(Id!n(RIC5O1T%nk_>Cw+tk$buwfW-sy?)7T;ygV>IU#> z^%?;7xZUoJ;cz&P0+e_>-o1SJ^5>^Q<+yVZ(;S zLqkK|06w8Q2_eMSB9X|SP@FEaKkY z-uLS2>i!B~qq0n`udS^;+1uNDYT9P(^?I9y5Pw!Q|50jBP5YH)f62N_q<1_+LM{IR6nKXmJU{x_;qtU39+Qp?y z1ra@G7>1Y?C<>8{m)bK?`kqZTsXgm=O=V_FS z1w5oEvRtSF0Off!t6~5zP&7Lvm{~R5g?XMwg$7oq=tV(9=akBu3$S-B2=Kaf>lUh( zN<`-bGrzC2S>o|{DhdePl`r7(^74j^a8tJc(5=ecZg+iwPA6xXId8yH%JHzwd@`fa zJ%!rOS(f!dzJQ5Hg(&<Elqxvy`QDx2DoM6X`1#E6tPSPI1~zLqobp*0jN@3@FN`^ z9T&$aGqZDD*B3}B-&H0#1Nf3@ntv!Jw9n^TOhhpNpH##rnAuN6+W`DX-9(tC=~Kfp z<20Mn?jSRV09;lEYcqB3San0nGzRA2zj z092>BRIyM7ur1XN(}D$n#>U3oMD(g6TFlJte!qWpF@a6f{3iepfDf{qbe^1Sx=ofE zBr7W`?*|Z3fdSaMuD2GEmzepB0LFM@W)? zx8J{%h(c1z%|x^^OOtn)d6Q*X-7^}w+1yNPYis$)$jD>N{3x=gygLAn1BePC+Na7S zKYH}&GG<=E%pL%N)O5*qZ+%3xv$C@Cmj@0Un6a;z>pKEVaV5KKE3T!}O;qOcj=*_l z{^|Vr^Y^s1wGGUAPUK=@>AJo|O8F4-^!7(GnS9o^?Q?T>0J-!gxqPpOncHHq*xz#M s?ee)~%;1f!_W*Pa3=H(-^Np?l1IZw0E{^@~-2eap07*qoM6N<$g7M8VQ2+n{ diff --git a/Resources/images/cancel_edit_disabled.png b/Resources/images/cancel_edit_disabled.png deleted file mode 100644 index 6a64e5200485a2a301cd8e05ab274066f51d5c5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 851 zcmeAS@N?(olHy`uVBq!ia0vp^vLMXC0wn*;THgYsSkfJR9T^xl_H+M9WCijSl0AZa z85pY67#JFW^1pyW4KElNN(~qoUL`OvSj}Ky5HFasE6@fg!Ib3f?!xfDz5mR9Adj=a zBeEE1({&JLbkdkz0Tg5}@$_|Nzt1hn!zb7ga?=f{$<5QnF~s8Z+^gsPg&jo>e0+cA z&9=K?FY>$@yUl`3jva~iKhn+V@>u@D>iX{g{oz7m`f3L)^D*@%Mjoufl9>>MU_*%GL zGq5P{|E|9C`00l`73I3;?0XP=XWatd&EbVlnJTqEU&>`rIPQE=RzyHdNoaB5&A%P( zpZEQ7zxGx&@3s6Q{W*@uKHlowu{8Wo$ULX5_hlNIa*x(7dU4@@UZlk}o|^OG-gj1& z@&yFwZuWQ`yS?{us*WLZyjWa1KjuE@-+%E4`tQqGIj&cQLg$7d@_ z1uyFO$)k3o@A!I!LlbxmAEo^hU&lQ~&Py<9kHG(STV_X%QU*t}eKMXEQ&>ez% zKQ-~Vhbsy^e{lOyd&fn!XpZ|LPhh^m~&66KbDz*U=nQDn^L`h0wNvc(HQ7VvPFfuSS z)ipHKH8Kq`G_o=@u`)E*HZZg@FjzTV#|TA3ZhlH;S|x4`H%?9I18QLKboFyt=akR{ E0IC~Xe*gdg diff --git a/Resources/images/cancel_edit_disabled@2x.png b/Resources/images/cancel_edit_disabled@2x.png deleted file mode 100644 index 21782e3aa756e2864aa8eda8d7b902857b0e96f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1602 zcmV-I2EF--P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00002 zVoOIv0RM-N%)bBt010qNS#tmY4c7nw4c7reD4Tcy000McNliru-wPQG4iSh{*+u{W z1vN=TK~z}7wV6p%8%Gp?zt=NbSi~a0fD=1xjt|K#r&R1J3S+2LD!KWZ-=hDMbIM^6 zrCd_E_?lE43tC4QhU-zfi%X_b13!%!_YB=u2B`%_E zK;w$5E2?r*eWAnjBb|volhXtvGR)vLEj&uPXq|7C`i5PJswpOjbktu(pV-G6PLJ5t zI5Q;Mq+A?aKu|dQqq;JK$j_gk6sO^ArcG)WL*xN zqs+DQeJ%D$Le1%D{Yw|riJWbEH)*hJ+es!EZ2WLZZo3i!`%KPenQ7EraIoFsQh}#q zdbWY~r{9=}PoNmy-7Z26J_|KojRccU5> z3fby|Q!g%Y02$hk{CJ+ZS=%2XmtXjQ#Z|e@^YF;PsNIoIP5=5R{ieCDY4NAHykFN} zu1dvTppgC`yLbRHwL05e*EGo1tV}gNBGKW8`B$M#UTfK{ES4BYfW$(1H?XP$*p*TB z82}D7Y#{25JjiFgP^4Dy)ndsvH)HepT*G=b26@%;p^$U_!u+#A_rbc|+fZ*6_{WfB zF4eB>;yn@o9BiNLdH3^b6dQ=>-Zd^Q#2Emh`_ArVleX&vdJ=%La|n>BIWPOCabzC{ zK;Qk&YQnmA{iXi8Zb$nGe(vbE0N9o30QPB&Q2@@;0VCK?@Z)1C1IW~x`cGTm&&Xl3 zaR0z5Jkz)BC4KByqLTnzY+bgB_YdrzaRtDHk4>623&$T5?-w|uwedy6D=|=@&AhtK zH5RyEVB2?rGHT}5?AMFTwY#%F;Ek&3LlU4?BE$gnjb61+8XHCel=!|?-4Z`EgP(K< zHa^W-i`KEaR=KTB5G>t+eTI%J6MX1erUSd%E7+-HV@lfqs@7S<-oP2pxP5IYQ2<`Y zKBh;FT>xb%V;&`hYwHQ@0eDK8m$n1N{{=RVz*E{_tq@In0b2l`tHi`Np;u)$;BPE{ zN?oN*_#IsiHO$?C2V>?b6;gP+;Th3T8nU0VENAcEf?!W5mJuIt60fyJe4dhwT*XOqi!W2L-3+CW>XUTWlxb zWf6ld?o>g+3oWMrj65Cem=hXojr#}f6Q~=j4`={A(>?ZPa0+Gmb_PztH&$79F~%S; zuvE-mbq~&Y^Lg>lPBJo|&ovy3b;ks%9Q;yjXbW;^^!4s7cbJz8qw%-4m}7OV><7iZ z3&=VPLIQ}0mAmK#+^+F6DJ_|7h<^R+WfK;bN_qkdWT^Sv-8;B4?eCF7`fX#->n~Y7 zUy=!P?p`eJ_AtXO;3Q*afc4*jxef@|7L554Mi=wDZg1d)bH=a(guQg&gwf2(dtR6obi2BLOVJ|sX&4o<=rHD*=i{ej` z96rjX+GMUV4y)6A(uWMI%U<)G-hzd-VQ-#BKAD1?dinH?$@tZ%jC&LHqa1LlbLlYo zWK+IZl^H!9Sag~a7pmBrJ^wAH<2pft;M#ZOVC?v(@Y(aa2Fx%S@~*(uAL8$SzH#4o zVEEUfUZ|T9_b79#sp;!IkUrn(-#t*UeDv0P&Ix#dlF*hqPF*-0Xsh2D=0000bbVXQnWMOn= zI&E)cX=ZrpF diff --git a/Resources/images/cancel_forward.png b/Resources/images/cancel_forward.png deleted file mode 100644 index 8043430fea59b053066d668f0a2997665f25e688..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9030 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 OAcB>>Wx2Ue^8W!G54Feu diff --git a/Resources/images/chat_add_default.png b/Resources/images/chat_add_default.png deleted file mode 100644 index e481b43377686988e64ccd4ad28322c5c3fef68a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1240 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 r761$}^NB$gL=UARx00000NkvXXu0mjf&+_uS diff --git a/Resources/images/chat_add_disabled.png b/Resources/images/chat_add_disabled.png deleted file mode 100644 index 20e95fad2a82e54848ac6cfd118cd7fa52152aa8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1044 zcmeAS@N?(olHy`uVBq!ia0vp^3P3E&!2%=`r!V6HQY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI1qM|XgN?F1 z$NxXOtJl-W)^=g@ta6j*dy4Px{?2K>A?Z#>U&s1+5>+Kzm(Gtj_iU(9lq=etqJKlq zP>!u(-Mk;ivp>#dOZ0l4%9N2Ych~)>%XZ!eBqD2)_`K9R+4S2?{bw25O_4JH{xdXd zvQ_u-<@eq#+kJGw4~J2AsES9_OJ^cG* z!!nr(uVT{-&NCYoRo&)QpB8wz&xa@MT90Flw9etoWx^$X_j0%Vo*$$t&No$wK|6D4 z-PILNL1I%^FUxLP_ELI<|9AeqJ>^F(#(v~J78Urm>4&&#LctyGhs;GiNg^^HSqT>s z-@IC$q;QjE?{ViTY`F(njg}ZEZVq`beZs4%w!kLX#;51PmHnsJUNFyF9De2$lmGnu z{dp0VmtR^~uh_FaJ^v-gbi;0!i{HX{Y`T^2P0c>KttMTJt3E3F{V^j$gBvAV@})$I zAAHku)3`c+evycrVfOK$`ia|no?BZ7e)?!z>l5?uxw!HB=em=3{E58Rw|l|j%U^gZ z+Dm3ee|*1#AwFugi~WW(M$;NnryZZac6(qAbGG5{id_*Ns!|rFt4|1uYFX?GSrJgF z%5jcq%BrKx&-S>#xxenZM^n?y9~=T{nN!Oc4+Sc`vY$D{{?cWiq$aIn&;EI@J;b9G zYOHXiFwp7Xo=x#88H>*BlVD%4C^RDVwY1xcoGtA6NpAa|FWJJbpZljJ@RpP(d;8IJ z4*q}^|Ds3k&y(C$mN%L`+CJNlp(|{f#Iv*K&)#1?W1`fwhA#=#w`$Bnt@0W#t_~=g zWBbF`v2MznmNO3vosO7D-g@@8ikWNDwvCMIHFVdQ&MBb@ E02@QYHvj+t diff --git a/Resources/images/chat_add_disabled@2x.png b/Resources/images/chat_add_disabled@2x.png deleted file mode 100644 index 7a275aa3dc6b8389bf0e40e332ef0f97eeb673dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2093 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 XF*-0Xe!ZVM00000NkvXXu0mjfQ-;tU diff --git a/Resources/images/chat_add_group.png b/Resources/images/chat_add_group.png deleted file mode 100644 index 721a3d7e5d75091e54cb10c31c429965dad13c28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1663 zcmV-_27vjAP)q|@on(b3VCOeQmp!5A|+K0dzO7;_NV=U+^~TCKJLXjRpn<#Kte z@B0r-PEIyXt9YLGAys`A=xGX=&1M&Rp7#wASt}wbRec%QZLNLrTmU^iJ@22In%XWR zpH|iP0Yj?#U>wIslPOC8RP}GERH|01)pi4BnuCg*8W|b+cYAyLkg9I{pCb;#@RL9u zSOiP}K}lgh{zpH4r0tXcb73{ z7#N;*#I3EZTYxJ>mHcvVe-n6ULYw?d|OkSZnWzqG;fJaQ_7i z!|*l{`89AxRlgWT(Q0e$+jW+G8t^>N`{P;i>oyU&5;%F_z=45jbk=@dRj&qKP}T32 zN~K47dwb1HvyaK;aw~vcz^lMDaUB1qerM~}t;;y)E=@qMX=X(cxjV5UK@co!9FODp z`BW;EO?>l~!NI}pGX_-E9|1LBlePAELuIkqIro-`d^X7l_ZN%BQ;j0dxvjv6h%6M5 zzXn0DyKzoFpP#H&tJed^fFESD*|{?U1iFD|thK`pvFkQfeG-_Xs{0l!SkPvz{nlB+ z%x|r=mpbR}1e}Q69t6R@#(BkJ@eJ?~(B^qwcBX(naHIilrK&!hls~t}alEOouW#af zVueECUR7NNjEl&%VHn=u#2t<%?d3D7Zo@EC5jg_Swl&?$M^k*!Z3VJL|y`pIp^L0#y!s~tLkYWBO-I0bMsVn zkul~fRlO=Hn-(XMeY1L_p5+#HipcsTMqUlH{vVnSI4U9qRV`Gj)%{8Qd-nhv=X7^> zFA)an4-=i~*C0Tbwk;{KNCSWBGi3^4)p~{s+jCv{v8lY}x<-002ov JPDHLkV1mxNAmRW3 diff --git a/Resources/images/chat_add_group@2x.png b/Resources/images/chat_add_group@2x.png deleted file mode 100644 index 9d2013833f74bcde4f53dff6a0d6bdb2d09ee6cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3478 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 Eg4gYeYXATM diff --git a/Resources/images/chat_attachment_default.png b/Resources/images/chat_attachment_default.png deleted file mode 100644 index d7d0ff0c1c0d13f416bd8f6a99291bbc53c619f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1319 zcmV+?1=#wDP)7;K*Ufsahn^sgImA)Ob2a-NN* zfDY3%e^}{(6(eF<)&UXu$EUOi`1mv#fJ(Wsv>((vq-n|Qe z!{MN&riR?y-1WeAnx=VjO~6nnRF_Jneg^Va^A?Fj@Or(3LZSa%x7+O;IdTM-%at*q zs&=^D?z1Zbj*pMqlgZ>D;8@Mk?CdO^ot;FZQ9K?Gb#-+B3=R%*`SN9Qa&kCv;sixS zMVT@tRrPJR+x_dZ-(WJC{9-LQfd2k|CMPFpZ*QlywUy%HVv384X>M-j(4j-b<8k`> z`Tz)r!(6*|jd(ns4q&c`eB<-^a+d%GgTc3e_OuSN;b9623TS9(SaPqXriN|XwsHIR zZ2(3_M(FA3AsUUQ8^v9AyZz%OfU4S=?!g_4#V9RZ`6p6ZT1qSyTldx$kxwF#$cu}B zp-`v_Xw1Zk&1M7O;lqc_&dxr)0IIr?wkAVF_L9BYYp7~P76Voo*_z%3?J$6svKa7XW0Q-} z&6Z(^$aEG1P8+KFPZk443=tX4V!#nYL2)H z0Bqg5b+H6{tY|b!VPPQvb8~Zx6;7rz0*AvfY%Kiqx-+pXEG#4(4l_SL&z?Pd0PuRf z+_-Ur?(S~J#>S|wu72FQVi*Q?yFJtBofi=`7P_%MRUJy#xT>m(nVA`UJ|7ho73|-? zpL_T2(bd((_3PKEuCAuFwUvp935JG-sI07H%a$#f@XaO?i7x?i7HBmP2z(CoreodM z*vP=Z02eM?proV(kHNF*wD?%Ww$ z0vHSicd6=cYxTsB<@ftJckUeHE{Kfs#o*!^4gc1!Wt{Qjhd!;Tvd+(iD%6B_2lHFr=+B0Cgb_w!p5mp)gIvW zO$M73k)tk`>*A^f;aXl?E|)JJkG}yN-=xxPPDH*k4CA%6;L?iVQ`4^(lF8(I!27_y zOzc(lFW`JCmFg-hE4!ce=2>qT!r`#<(W6H#s=5y-6A=ecxR8}8RlN`RfkB(icGc;0 d4zFjO{{UBK&%V)?BdGuY002ovPDHLkV1kTee;oh- diff --git a/Resources/images/chat_attachment_default@2x.png b/Resources/images/chat_attachment_default@2x.png deleted file mode 100644 index 8d70ff810f689278b6b6bef6740443af9b273e26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2790 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 Q@c;k-07*qoM6N<$f-`L_KmY&$ diff --git a/Resources/images/chat_attachment_over@2x.png b/Resources/images/chat_attachment_over@2x.png deleted file mode 100644 index 696b24f069b8b1d76f9834479268673e76ab4de6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2433 zcmV-{34Zp8P)GcV>6(&R4QDv)-9`^O@g!@AuyRes2U3 zA~^#GZRvx?5Cq-u5RV`ZXs5nF6;O#r1#T`9#UUy=CD!7Ogz}59fpgLmNh*SIKoT$r zhzamC)xZ&8KY|i!DG^1SZS^3flO$jcFa;QB(PjRP;A1=#i30Yv8j$j7x)Mz$f;1$9 zLu@EV5ftGeM-*_eMS_$WBqCV~%mUhkxe2=ke1M0SL?I_y1W1`i2clSlEoJTL*6atUYva|z@G?B~K!JbGn zp(mb>n}aP7B0vfr4#*5$9FO5{*wIY>E|PIxE=#?U&oiyEeizjE0!kTQ)9XlzE1OzYM@YDpDqxN15`nNB+d zTYyJQEpofgkUSlRPlKLApi3{Pt%fUS;dm+RTMu9S9i%6;C?$Jvkt)`5!!(dGlW1Ig zHXj;*tV<2k_^iMHdM8b(3aBve`JFh;w??F}N zJ9YOzJ|_b{%MW#Lo+0wcZ#GCdhkNI7wKDe`1hPsNk1M=hy9D%oyCwUe~F||087lQC!(scvg{4v}tZ-Qs{0c>5Z?Y7!04I0p`}YqIhoc@3 zEN>D>>0|&f*YqNEuJa(z9}WB*7Y&o!oqB|8)RQLDd9ZPd6fCl2Hpl2M)>f;IBv9SF zu5ZW0hi_^_kkuea>7+Ljr!|)k+b_RX=xI5Je)U_VAQOnjR-;`f4t{R@AnLX?&cK0W zURa9t{n^UL1o-v{l;%Y~N{Lfu@;i}3jUPzbk_v>U1s^^QMtW!azx+qb00{}Wm;kKz zui6^vc8v{K>3(gbcjz8}CZ zZ4yDZlRY%lWTma(K*nnb8)VS(5N}(gi598ZB!ZShLsDUL2wK-QutC}&BS#e)1QwZU z>#n-2;o+FgA!zsKn1--H1}%+anm5_;noXnGsv@5NL9UGL**`;uga@%&fu<&oTcZ^)ZS9LHnq3(|35Ge zGTv5sIYx-?T6kxk9`UO=V6@@cpF0Fs&sp#ExLM^txG_S`=K!$IvdeFKN8j!_7)E6n zs`oaPF5+q+hqCetyfF<9Z_z*dLApu?^=b28LQ$ zHOLf^&&~!x0>}(DB6-4+B8>YP%rzt*l^uW;?ndyUW0G;-RTQPwSfmxRgeDAggVm(CGhH$JDqg%yO>u* z0lyCnWF~RAI0*Eyq)_n*@auJV&l@bi0B62bZJwq<*ZY+_PUm|FN`bc4jBujiCojXK7j##ssk&7Ke_O09*!q#oEnu|BXLtQ>WnLG@8(4v)uNe?cv&cF_%8|fo)N2DGQTu^s>rTu@97qGuQ9u@v zlLx*YSRwM&5BlbhB&{Crr!xk@0@SjJpP000>X1^@s6#OZ}&00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy000McNliru;tClL0yO9+!IuC411d>G zK~zY`otD2#BWW1Nzwi6bOlHO(kQKC4QEaslj_qQsL=Y{q>^8^k9}w}Lv6^8RNyl;Wt@_YkZf|dYr6f46du_4Rd3OiW;GY^>?wS7|gFI5;>! z5Cl;Wp)tl(YvMi6L$O%I{QP|LVk{OzDwRU5R_jRa$;k=s@9&@Lmw*H47-+}G$GE<} z4(W!6hcP}r9@1T2UZPkm_R77-8DoEU%mk&dzrT;$+uO)5A08fXbad2DFf+tq9rpJ2P_0%002db*k>%ROiw{!DN^=UwVzGN7vY+@X7={7g_xoO8 zGcz;sR4P^Hj}Xr=jAT^UzUJW>07XPgsZ^>S+Ki6l-94t8feE8(NZe_-BzvRICfBx-pY4coT; zy;ABmfJq`UiAX%cJpd&k#ILnlEi0w0MA`Wd;~Hn*$YF&g00000NkvXXu0mjf@%5`6 diff --git a/Resources/images/chat_error.png b/Resources/images/chat_error.png deleted file mode 100644 index b7789c9a0c59a777a87504898f72968c04b366a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 540 zcmV+%0^|LOP)P000>X1^@s6#OZ}&00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy000McNliru;tClL0s~N*WS9T|0jWtu zK~zY`y_QQ(0znXlzfl7R(2XX;Bwk=*6c3<@(YVkPxG^Dd=z#6a!%mZ&g2WSD8z?B0Z{Kf=x zf`XtUPzrw*91G^s0zAQe%H&~h335q*b-~k^fPr@f`M3%u1q}Q}ux#6d(H1$5w6Y?3 zUVK8&3*sCn{O)dKj|4{s;Nn7(q+U-dm+gRJF?cTp@g}J7J*LJK`MwORR!0+5DrSuD zhaqi27QwEu!dz~+LL0~i==Fl{%!;=WoLgH_D#>c~y8U@nOW~CM2H68_E4Ep2cj4&IB|CvthZ<^)H;ixKFwQ zH|pZb{{blaW(-wyHzuGNS%C#KBRJ?!N1EjA{_t4;R-6P_2G{`hfmL7$SO8vu_K*Lr eYX?4~@_YdRAJyhl!<<9_0000{qVm`V-=0!fTlyGB)HiDqyXLt_zL8!_w3oz;U;h5MFcc2FE6F5t7}DX zZ|@?E`Ar7H(E!~+UxSTR)z#H);p8p;fPjW}@J)=rjN(X3c_<@b&!PW*LPEmF+qP}H z9L`o)pjla26FIIO^xMN38w?-7zhgU}-EDHycLfT_1?=MI7>IQ>a&32x;II|Pr;znA zPi8I&_8{}PF#2bZc>=Ke`;+Sz=&V_@mZAJse~Qrmp>Oc{eC6@+@dr4*9+PZQQPIej zmX;aV%7Oy&b_bLPxR>hA6? z0ci`PKbdGx;#$t3s9OXftx`2C8uA4zOLh3$ze2am*btCvVO@D}; zJ*o1%>LNcse-s8vO(2om?DzYp4;7^N1H=(RW)gtDSN+Qz-?xEbhlGsE^Qnt5W5%pO zaJov9IR@8r9E*=1KW>aeOMc$GdA^jCln2I-A0J;=S9jK;o5uS3`pbodg9UkeV@^&^Jn{Dfya^%x79MV) zNmiv56ci-3x3?d{w+{9!c`(+>1NG=7!*!5nVq;_Hh65>%0VxS$ffUlS#Nxv;aciZe zrDq9)$B~glQd?qYXXk4cAqbQNO5=&2GKRn;GyoZQ#8 zMy$R{I0f(UAW#U8A<-8GB8}q7sHmt|$xxbvuJzu%ds}$eFLnDCHg9HT=FKpt>H^Wx(PcVqxYqzR`3!EN z7v^LD*#0G;)m2tj9vg08y8W1#nD3z3j-MU9gMYL;CCf+a3atC?FO^qZTpZQd*f_jidO zzvLx}9loI@N!Hu`Q$sdwaUwLp$A@_T+W-JbWW70jQwWWe9W_3Iu1%nqLyM@a(`{($ z!~8WL)@ZUJjuVz$mKb#aH3?T#R5WvyP3Gwqqm!aLfF`l4C)6Qq)vL0|^-|!&CR_1$6BgYDh}YAm)YQ}tm|2!UXq0+&L0Vc`7q7YdHD1I^ zDHjtH6W0M!!c7M$3G@{2{s&dVx=@hE5q`n0E>s1rIYuh!OXVYiMT=y__H=BoLT8dm zkC0i0?RRvZ5vY8nXl`zn5RmHM(EuuezJlrBli*2#kpW%6h5LNInrdpP zsZc@J5g$V9YdDZ1VL5~q^nM?zPhk)f9_9-Dc}`}NoBDv9v%8P7Lmy%&)y-I>JOKX8 z3B1HL_ER|B0Ra^wp%=U7m@a3h9W`S(M=BqHM*&y@z;9H#+kC)4EhF-Yg|8RS09L*r zXEM5e_O|o@cMjPq#vR1s_WokglGn$GfvN_q&)$T^1OUh`OHZO-rAtytqDg`saQl3Y bOxX4>_4D^V8u%D`00000NkvXXu0mjf=8kg_ diff --git a/Resources/images/chat_group_add@2x.png b/Resources/images/chat_group_add@2x.png deleted file mode 100644 index 7a3522e190458be4c74434585c4b91b3d9a673ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6581 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 Xz9c@ZTF@Tp2MeI5YXq;>v48bH5?@!y diff --git a/Resources/images/chat_group_avatar.png b/Resources/images/chat_group_avatar.png deleted file mode 100644 index db9230dbb761e64a13c78664bc1c77cf0d741ba2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5357 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 SEpjl}38^V*KPiD(2K^s`M%7UO diff --git a/Resources/images/chat_group_informations.png b/Resources/images/chat_group_informations.png deleted file mode 100644 index 2d722f77d52cf10191c4ae4dd495806f5322b47c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1542 zcmV+h2Ko7kP)JSp@dd6SV?Zw3%x27 zEcgLld8HQ`glH4GWlM`-KPYp~EVKy`QiB>pQWKbo@gf9GQcO0nbu;Jj!t;jL$qhtVl;L0H-7!1NNKQ zNlDQ;ccs~EUZb<0XrYf;meFdp0Lb%v)XX+W+Gb|I0M_(uw>~;gOWI>*f0T40gfQEy zdr`#lJST)ep64}Si<#{J9#3bwz^A|&;4E+&xR{RKm`JYzRs-vRS|Ywz(p$iR5JI=a z7@Ao5Yl@<{HOBZ1@FXw>%mOpO-z6QCbi{i<+b0A@&FpS7djQx9JOqpa=YU<#x!1h+ zpZBwz=CPDQ2$p5pJ-{nK1|aEOV7H`w-uo}BXBv$LW&BkCuaLaS%pL@Gn%To?xdr^P z)oOiIV)i9gvD8G2@eSZEU{2DrlBT`)|L%45LejgZD2kP4_K2Ci3M>PTI_IA9-tX_V zoO+ccOZ_&Hy5OA4fJ5GU8#bdB%Iu;j1Z<8mwo)b^1-2*4UHu`NC#I&7`z}cOaR{L^ ztc347bG<~IfGL z>6GzfX0{{G^HBiTXf!ah4XJp}0=vuX8)U7yxj9L?tx`Zs**xf0DRn2T-3j|~GuzN; zG;lG-5lP#Uq8Um1%1jz0%a<=VGy4qqs!BxCdp$(^W^3BNFBNV{+7@FRsnzTC5#Vj$ z2H?#Q!ao4o?e;)o$B!SUUax-%d<@(HT$1zx@Jqup-*w_dNW2J#dVua#ZG z8sJk&2TT7CE3HR+UzT(^#uyJDKCH>f$)Si{EvVmOpGnITBdMPPINR?+o=;h-dp7{ffn`%uQ!9WC z!2M?S8#8M!rucgAXR|Cj3t(m&ousv8-&9`0L(07=oBjqIGqX?3>`%b2V~n?7xpGCr zDym?fPJh>qnAwVyK^K8*I)epdHLx*RX<5&=7-JmTS{2NTiOUN2eeb;(;|#D3chpihENic7FA#q_B!CSnVoc!qNF{kL)cmr#Z7}Q@v23gb2rbkWo6ll zFJ%1^BVld@YLfOyifS|(bi3V6snNS6>Cq6vpNDY456$c+z{9}LdOpvj8S<|ogmXja znl!WD0Y3mX*J`y7T(j9k(uvgUjRHH1qF6aZtUUxw%|ojEwgJ(uroX z`JE~0K{IdBx znA!cn?Pm4_aCUrryxnfM|5LWZd7jhhbOu_e)9GAoq0M6pxBvhE diff --git a/Resources/images/chat_group_informations@2x.png b/Resources/images/chat_group_informations@2x.png deleted file mode 100644 index 9dd0cd0401b9e58f80c808aa69a962f8178ab088..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4484 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 diff --git a/Resources/images/chat_list_indicator~ipad@2x.png b/Resources/images/chat_list_indicator~ipad@2x.png deleted file mode 100644 index 3e51b88574f48b3f2976a6f49e50ff3ef42dfb7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 512 zcmV+b0{{JqP)500006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy00E#$L_t(o!_C+|YZOrw2Hsj}`z@w5iWw@wXP=H%fn{`Lv-4CB2{#|bR-fLO-0;ukeuyVlFYu%4jsF3DL^Xz_(IUzK0000*W*|>r4*6xN{F3;55R1OZk2LgTx zOE)js&>bDIlG~_Rw90T3QBRQ&?gAI;L(~Jbi`>Noe~WPzBi)(N^uU38 zFXw!RbI#9&IZV)G6(-mgdMC z5FE_~7o>o0g3bUsCTW_IPk{Y|tJwn1lP+;X@Db8=u^3)xxvUx8PXxIn@SB-LDV36X zJs;ff`}f%xc!&cRr~ilk^la7y4y3sk1%Ebz8x5)5mg;pGW8l^Jof?yBHOce*v3QP000>X1^@s6#OZ}&00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy000McNliru;tClL0UvL+YZL$g15ims zK~zY`t(H%0R8OOZbwMN!F{wMoMx{s@D_|oat)ap&1EtK+N;~sr-gO}@^E!R)wEFGd zIp?15o_oG??-Q0m^T2?A=5Fp)t#pS#7zhCyfjbBZt%-{e4b=EgU2SX2dgYNNt+ALH zN~I5LP49!mE8(^lK1$Ws9wQRTuSgQ=KhfwIDk_?-tRBB8!|Y60?Gv6P!TxVrQG5$L z#@dlWoc83wuHh1rQ2&WWt<>57NHC8{?Krzq-Cg4VYQ6`Kp`!m20l+3v>T6;#bAcq7 zO82a>2UHpcRfe&YYg;IlJ`5nu0|Wk5IBm(RG zPpO&A?B2ByyjcGzy<4BfrxZS=_;5=LkC-JDHT<2PiztoJv08#UzmLy$??8!r0<wDdmDnB-oKBb{rhs?eeY#A)ZwBE-b6??^Pd(e%v>eH(zlS2Sm#bpaIwfOaeDR l;^Gk9P?3v`T9)U~`~wG9B@O#!g#7>j002ovPDHLkV1m;q#b*Ej diff --git a/Resources/images/chat_secure.png b/Resources/images/chat_secure.png deleted file mode 100644 index cc4b9378667abe068103646b29640266242a2c75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 449 zcmV;y0Y3hTP)J7QaU(0>25{^om@o- zHNhhI6BPXe;v^D^qu|iN55zX+dSA$Wq-jgtZ6JB)opbIdEnkD~mb;&t2zGhF zO=--{KH}jc<$Eua+?zd3bI?0qj#FGNl?UFvH)AkkUTv`DZ^|fWc%Mc+`qw?Oc&ERl r9UvIz|BLyR4DSl>elFnM|E0aZg5h%!7%s!J00000NkvXXu0mjf7MH}p diff --git a/Resources/images/chat_send_default.png b/Resources/images/chat_send_default.png deleted file mode 100644 index 07f3b7b3ad69fbe7086a69a06de9584a6f6fe4cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1630 zcmV-k2BGh(<(4VMR&WzO30kG;Q`llWnqn@c%wEZAlx_^4PR#NjKVT1If0D zHccN|3oz7Uazz^A~3VHlH2DY5emmG6YPxw+RZ%laPh9pH@|r$t5N zf{6Ul>-B!TE`ay$-D?(+9|7OWxMWxVQcCrBJf6S26u{fJZ@=brI(va*1%j>CCEy2! zVSH*EFcOJ0DWyIFUT1yu1#rwTj6Y}lK~_gh(|lVgHMWj$0Goh6nWp&*5m7liXqx6X zfeSzpuTI^DVf=JWz`41(U6y49fnr{T}m%DwX=>dc!3W2`*i_#K_3V^M;Fn--(Fh=@*VwulAkw0-KqcAruO6{rYuMsT5nb zY+>KNea|L^Qaeo3d>8oj3P8)Ue*Tj8IUYZL%-Gl%!C;VRG`eDJ_wL=<_dcb55{t$D z;C8zoIWq2j!?LV5Ul!P%J9h{MgIv3Ijbt*(h7B7iEiEOHNC2Sg`g7e|riv#|o_rVR zb7b5*YUf;Du7!mKu3o)LC=_CTejWgy&qrHZ8_8snfq?;ZT_>GRvt!2&%F4>t3VC!1 z5O~Yxw!rlCG@($4iHQl)=`^LKrF3<5(c0QdRaF(k!@~>=3{Y8FiP!68e0-b(2M**C zzIk?b*5kN)_wLt$>U=YCbaa%Fkr5s~e27wt`uchTfdGELABW?s|2;fBOn-krm6eqo zKYpB^o*vw8H`}&t%jr3~uD|KfG;LSDZcR>3l1inXacjAj!<{~Tn%UV|5{U!{4<1CR z+*XrPYL^43&&93L(NUt&=nA(Q8ynGe{h2wd;mXU)Id|?Hx~|jO+M3VHs&~9-V~)jQ zba!{NxVT7BQ4#I!?F0e=YHG6Y1Hf_oW zutpP+uVou8DJj9{^L=#&C6h!V5$@l=Pdc5>3U~hed0Z|RXV0FcqM`zTa5#*J5C{bF z&BND}X_|k{+>&{bli_ffP$kHgDdX^|fY>PfndWMR9R4Jv}`+ zufL2wcZkTNwI;dUZjKx|LRVK8BO@bRzI>U%!9j+HhiPtZrnOO>NF)+;badnk2k;+Fn%ea&nTPp&`b{#{noWFXzmeGgMYq zu9y=Fh3q89Q+?)8O3jGmR}pHOMpIK0O-)VA&(G7_+l$lbTv~Ha6_3Z6nwrAz_v3Q8 z>;T@bW%w|jy8MDut&OGZaWal73#G&IX?E`1neWN*RR7g={WnWBiBifEk={aG3)Q2@SHTPE( zO@?8dS4ss70o=1^52dB0#9}erZa3SvZ?_XBrfJ&y&s24p_Sg@BCw2jyPA4rbEdaE% zwAe}x5jkF4Tl?>iT&py&p}11&J&(up(F-poYen&RJl7sQdgKS*2R?rZU|)*JZ#7MOV=cJ6 zdeqC>!S4d^*l;u|A_JCX{mSR_nK>tqT^mf(Y*0!CL}WM60C-o$ivm-?brA_0hB5xU cBv?!T1Gpk-4l{B+(EtDd07*qoM6N<$g3ekP4FCWD diff --git a/Resources/images/chat_send_default@2x.png b/Resources/images/chat_send_default@2x.png deleted file mode 100644 index a5d659bebe7c6b18ad5f770fbf4543f087937d14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3042 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 diff --git a/Resources/images/chat_send_disabled.png b/Resources/images/chat_send_disabled.png deleted file mode 100644 index 9efc5564fabc64e82eaff8e858f8a8ef01a51ed8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1132 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU0wmSG7d!(}Ea{HEjtmSN`?>!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZEE?e4%tiFY)wsWxvlY$-^fk7~AoOfq^;R)5S5wy}G9Gjt2ie6qo+Olr}jTQUqkBKXfvNHE9^G>O-2 z{Mm8Bz)FE{f%m~0Ne-PO9?ES8zJ_>CE$7SByR*>z(7}?AC(bS6*Ks|$N03ipX8(I8 zJM%X^*0&N>gMO}H&p0a}#TWRTeOj!Gk0wJ;+^(`3i5u}xe(-jy%zr0vxRoW8Jwskn z*^YbRhp9o|# znzQV1Zpp4a`?p&^UL)zCBcWR9(#KvR`CRFy^W?4>e2A{VHqhkl3BS$4Yxm zK;a{+#(UfM9P=#@o?H2U%b~XKt?NGN>bhAtPg^W^e*R9^p7k>p9Gicp@Pxd@B2WLr zt|u8}KmBpO-u!!>#C-wwX%kYKSFPwibbGgaSZb$?@1dGQmTI;qn~q*@*(p}iU*c+~ ztM=`kdBijIYZre`kbEcbcvW%l|8u4Lo&*K78PT;=mIZbSFdsRtRk zG!j=gDEcuj7h#>aH1c%f*D3wn!L4gPD?jgKnVFro@cZGfC!8iVE}tKsRQxUfp~;-r zpS=Fwp5O26nb$h6v+n<{2BytA-6s?)v$v{W-Zp!a_t6fY-*p_nPYNBq;{AS_|IM(Y zjoW9G@lI~=N%gI_+x`3#cLl%P>xC?n8z+`MX^TC(<*&~v{XG7|z1waDz}yKVBc zKFyis-{t?zrdrHDC3fmI19P8hiEBhjN@7W>RdP`(kYX@0Ff`RQG}JXR4KXybGBmL= qw9qy%v@$S=zaMiOMMG|WN@iLmZVh@(Ptt)J7(8A5T-G@yGywqJJ>@U} diff --git a/Resources/images/chat_send_disabled@2x.png b/Resources/images/chat_send_disabled@2x.png deleted file mode 100644 index 20ec4fda59b2d93e26f62f683c03920adfe95941..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2138 zcmV-g2&MOlP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00002 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 KMNUMnLSTZt`Q$qQ diff --git a/Resources/images/chat_start_body_default.png b/Resources/images/chat_start_body_default.png deleted file mode 100644 index 522010fb371bf21fc357a42ea78348c233731fe4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1785 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 O0000G=s diff --git a/Resources/images/chat_start_body_default~ipad.png b/Resources/images/chat_start_body_default~ipad.png deleted file mode 100644 index 7851a706318f7fd66fc7f1792c907df68da3f063..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1139 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 diff --git a/Resources/images/chat_start_body_over~ipad@2x.png b/Resources/images/chat_start_body_over~ipad@2x.png deleted file mode 100644 index eaa3e3fffd2aa59dee68ddf132501ed81c5f748e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2835 zcmV+u3+(iXP)TN7{!gP8rI{SC?c&+dRI@ zl;}&eW*#s;z^S@`k45+p)cd#QlahGc3HB8^D%jZ^= zp0ZHZ?n(~#w;OpHxl>>)!?)J|ZHoNvw%M*7rwkOWk!QE0UWb-PfK*P7H1M_`?#|0C zFFUDF3W}WPil}FSY)%b%HS%mnr~Ce360-!nI*QZoM0gaibBaljJtF2cx8zjp8x|e}C2w+>rSP}XivOA@8u0iroAq!-jBq&*rily!Tv?0&8Pc@hoTP%W8z z3W`$~2Lz?Qw(XA~=W!ZJkTv;RQ?pJ8N8l8vUtS(4zZl>D;HAR!P`Bvk zhq|o*5a~!FDdv149Z5vk69}`%W13z%ytTA@j?nBbr@FZWuiyGsiiVkWiRpRZdg{17 zWld4q{Roc?6^Q7tG^QopKs$*x5`UcO#?2&j6s!Q_Tlo+{TfXPb{gC#OI%Q>m^l(`#^cJ zFnyFmX%`S<6%M-*#l@4KV0_$s04f>^+2MMOy0(1*pjAv9b2;aw-%U(dI;QrqqwFz0 zty&xWVbeT$>zwkt`amftN?RsEfmJ|4Y!NIt^K}xUX5jU=v!(R+960h;(DT}qgIVKO zFn!#O0PL=KhMlg*gPpd;7U4}=dQNpmuT!!Jzp@I55`%e}PmvHcgHCTFZ-4r8OMn3Q zO%GcSKE#&N2LVlXY93RQt_?c>n{CEby?n|u#VOOR?4F(FTuOS}e0-*x^?PrkzWoc! z&tjifzrs$}lK{-lc$m0|%%J8oMcvQ~ih=r>mEL2fb2$J-U*2m~GVE8oD^^ol`z}fh zF3NZ~C~GC?xi4-{8QlX#BlE2a^n&sC5n>Ccs%aZv9sSpkThna^AEwLSMsmz~WQ@5Y zn5hhpPhAY4{=9W^6mY&Zt0b9>F+W9PvbA*Ou=w?kuA_WXk>9;-QAa!&b=b`}%c!rkgQQXA&Ep5kz7k2f)xaHC?o}Bsgbm4giPh zHun2{+USd!HQ_#N$`R1~?VcJo?psQyx3RbT^0iRaxQ+CQgf zpv}ov)qe4jQvs-H*)_oT(*{-V4Crnh;|L3h>jS0xH+PdBH;?$ptf2Brw^`W!L6DV^T-wk{EqXz`rpjavIU)PU_qD_mjlC6Kq4URzT}; z18@TlE5KAYl@J@Afpc^&m5rPGvE}(xH|+okY@ zHd;C>2(!m?=D3@NEy-p(Zv)`VBX9RP5GTG;bgRJBtDuP6Bpr6wgT zBqjDDd}gO5T{wkQDbNS34Dw*@dmL`sPKYg>`BU;SROpZaiHn#*&ZO=O54+1()8_d) z=sCq_9#Bd+V0EyYzj^?VuZhIyZ02P?jSTMQh7)U*g*v%n`d_izBB^TH#-~-!TjBv@ z>nmN#G}&u)z)kKl)_;C8KC_eY@t2a7e7&XfkBvT?g){y}xIKZ|wmodz`|AN+^a<|& z{fidiSN@KW?Z-~bma3*@S5KcKF?yyYb1E^Ik+Os9-_DQKrv18HBq)dSXs%1*doYGytk@=4_yzB>AjHTk1&KG}Hlg;fnbP?pcFDlI5ZD-oDw6_87(K1YOoEDarB za;RNipJgZf%Y>NWp7|q*n}V40y|uf4cNmyY0~=9 zWpgU-|JKzW)6#RQJ2b2gykn*Mb+2B32M254Wy9Vjys>NksRsnwOrQVp-v8x03ikdK zB?b|Wu|(LDP-3I4tA=*Z*FhI)L%K+gcYg}NnxfP^L{{_T&{34mTsFI+v3F7U{ZY9U z1)z8S7>H<*d%q8)UnnaDQ)#&a27iP92-UXQ*{+xSZy)rdTjrF1jL3thF_1c+>APm7 zU=A7zz|q;RRiHmO9d`|y#kbErTs3f`X#lMhOq<9r0oUopMEg+5S{!e{^4x=!f-D4@M)scJ?IWh^?!mzuq}CRuXPQcH(vULZ zR*3LITuu3{gMDP~gjxm96{k!x#kOfAJwvD=zc#1*Hv^q%f`$UHcGH9yzumVM-p?hg0Qaa~HmCdvl%Aqt{VBwwMWgRHV!CDq3MAl_(r4BD z|6K?58|E+D}08~tQ1fhKnyUY z;wri??ajQ)B?Pn_U^d&Kd(yZ`_I07*qoM6N<$g4vgKUH||9 diff --git a/Resources/images/check_selected.png b/Resources/images/check_selected.png deleted file mode 100644 index 07298e894d7b04d1c89449dba6f1bf93930e7ba0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1300 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 diff --git a/Resources/images/check_unselected.png b/Resources/images/check_unselected.png deleted file mode 100644 index 3e8704632c858f1dcca9e66663a4bfccc6b2a15b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1320 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 QTL1t607*qoM6N<$f_EgjkpKVy diff --git a/Resources/images/checkbox_checked@2x.png b/Resources/images/checkbox_checked@2x.png deleted file mode 100644 index 1e13a875a2738758829764800ad9a314537471c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 822 zcmV-61Ihe}P)Z7WvUt_V@jwp&Fgb)!v80Xx!ZM$BrR)1zPncaY@ zs-LH)r@xJkjv^Eafe-?pfQapOJ01#!zB`V?1B#;TjE#*U7!1NsBZPo421QYDdwcsy zkYzc>7(=&=F$Pf-;{qW>;GCnIMhKw-{u6r#^4|gpy!8RLZ6lx0!!QgiE-qqdXvqJJ zaL%FYI!dJy8jS`{PEPzU4d)!WTn_bm-Sx?`>_3n~p@3qs=>zs((8`+a5xNA zRngbi=V|2q{e9fr+~D~57>!25lgX8pm1irxC(V&yFo<+Ijc_>Z>509)J(SC3kH|@- zQlON+9qBQ~u)V#F;o)J|cYlBHK1-5>&CN|u8Q+Y3B}u~8))r#1nD-@ufc5ot3=9nT zCj%&@SX*1e`1rUhf|r+<5sgOumjQwxAel^Ja&i)qB%!~*zq@)Q5{bM^#dje70pXl? z{QB{JL{>V2Wm(l$tJO6ShGD?A?FwC3SQuf9C1qI#r4*cVUsk8nL95k5tyaU?+1Zc4 z(a}+cQc9c6<`-F(KLGHnPTVxjQn_5-)pcF_1z!wVCrX5f2LJ#707*qoM6N<$f?h3z APXGV_ diff --git a/Resources/images/checkbox_unchecked.png b/Resources/images/checkbox_unchecked.png deleted file mode 100644 index 8615429a7052410e4e963b9c81abdbc6e2ab6447..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^f*{Pn1|+R>-G2cowj^(N7l!{JxM1({$v_d#0*}aI zppNSx%;=;sy8FMGaVsZNIxr4k73Oo)Moo;oXJHV5ZGKVW)sywlwO?1Y>IId20 z;q@!be=_f>5q65$^Icew_d>+l&>5BHhHi!DOqs(i(>MC_y%W5c@vzzI(nNcuRaJW! qLqaFaG-sG0SeV1=r8y}m%HO0^#UXyru8BZP89ZJ6T-G@yGywoen?f@H diff --git a/Resources/images/checkbox_unchecked@2x.png b/Resources/images/checkbox_unchecked@2x.png deleted file mode 100644 index 3248e812265b3a5f81e90705064eb41729eb6b96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 356 zcmeAS@N?(olHy`uVBq!ia0vp^N+8U^1|+TAxeoy;wj^(N7l!{JxM1({$v_d#0*}aI zppNSx%;=;syMlp%k;T)+F(l&f+v|o|Ee;~bK7N;J*F0u<;L(dow=S72*|7D5+D`Wq zg+*O=&xtfG-@xZ)zG^a zz5n*My`rv#Uq9Q_drf*`%Htg1#i(@1Pr%Oia-`JOH^(yRz0;p(0J-_0j-1QIto>qw8n;IFF zd?vA@Q08FN@1vJYY&|vKw+bAPU{<>IbXzWSGEYe?duiH#eJ%-o5|J^L`h>zjh mFX6MF|J*b=yLHv7e)&&2E7(~yw(5!0YXVc zK~yNum65?qR8bU%zuz6E#Bpy?I|&JwVzi0jz5Ct_BC`l#pnp+C(So+5Q51bM ztAG{Y%FKFoU4K#ocn(D1F>nhELkP!BNuKB1&bdQi3HWVhMU3$)fSW=ggzwI|95@3W z0DEOwzHThqX-IwnekuXbZ1pV5)?2Ms1fBqQz#B8Wk#qn&1kO`Rel!|=YvwfPn9qRP z%$`b`n3(}B;HR1S7~^<0qj^Wo^L))Y_x?{afFF~|q+8eZ>EC$$>&^Xse>cAR>5>(2}<5DJm2d(k3=td(cC3P*LzI=s)9C@C^iO zX*{)TG<6VSg^F(n-$;6minfZFT4uWAr9zF<+C;m@`91T@hnZnk3=IwKi=yZn&~2?9 zYcv{{W@cs<+2pUkzrUliv-7gGwg9}7Ql1yNTy7RPu&ORJ#++12{n#u>CX?Cf`~F=Z zziN0^0;#6jyzl$PAPC}{0SSU2?)!eR2?CIkK+!R0SZh7;zd=C|#I@EFz;JUWgeXcW zQXY9yaNn4K)oFu9eXzlDijLd!otE$;FJsEdET+9si}qE?vATbE|=RT zgeX~S4>>N|xYqiVQp)@VasxQ+h@W|$mkYyi{*T`4JWSht-!B0NTLG;=t^;QrZJ%3f zbLDdRvujPc7Dg%c#TYXLJaJs=QQ!A(WilDR88SaVf2|$Jx;xXfL-&ESBOWuxoKZ@d zl^wYXoOR$|0NM2*8^QpLjEp3fmX_|V0lJ+`CeO~z&0PV`Ir5jrn5E zE|)*F(p$9i#IJxJ0KJa*wY7GjRY=AwF|5PgP9dz&E4PCb$#2$jH7t}P(4PXYW0!L=H-S_>@ zQsfOYd%nQFNopeE)9+|G=R3gL1#;-_kCzdEh!Z+0000LhdZ~CwvfI*D3#D}xlveT3nCFq!@X)Uhn z#{Qd-VHh_FA=j&%JDN_X_v^Yol}sk9R*F=EmSrhxYinadhzkHFwd-3WV6`^0EQ*_Yq3}~9LISr+Zzgn z4k(He1F&0yCpqWmD@oBRG7l@rWP}jmN-_Z8IL;CwBt!^Vmf$l!pYO4*>%N*Qr0cq` zwY7B|z@Q}mlcFf$xw*ObwG3!aPtRV?c^p7Mf~S2x-|5-e*`F1KEX&%I&1NS63`ky( z_B<~fkHL; z)_guc1;CUfE_t43#N+YLXh0Z-v6E676G9v=XF`aV#bWWK($UdzpAaG&;3Vff>^ROB zG$>N3RL<}BKckfP0oYM?NA01Mw$lnSinDxf)=fRJ&5skT;yszqI;dlL}hY|q)_Ioto7oJnTB`}=

W`^JOMlJ#ERJ&8^hj3NIkeO~ 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 diff --git a/Resources/images/color_C.png b/Resources/images/color_C.png deleted file mode 100644 index acb5708cfeb9da3bf91889aef4e4a0d92a5bf8ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^Od!kxBp4>??*9p-SkfJR9T^xl_H+M9WCijSl0AZa z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=YDR+uenM-^$2tF_6bz z;_2(kexF;Chfhc_w&M>_h{w~#F@)oKazSDNBLkxdL+2XRr=37?)e_f;l9a@fRIB8o zR3OD*WMF8jYiOuzWEx^!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZEE?e4^qQWe12r&s My85}Sb4q9e07W)IApigX diff --git a/Resources/images/color_E.png b/Resources/images/color_E.png deleted file mode 100644 index 34ad7df2c8881f344f6fc005e33a68ff6848544a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^Od!kwBpAZ)2K@k1Ea{HEjtmSN`?>!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZEE?e4S{WF`-;cSCq9HdwB{QuOw+6kYC+R>9 N44$rjF6*2UngCH+Ltg*@ diff --git a/Resources/images/color_F.png b/Resources/images/color_F.png deleted file mode 100644 index 76db80c3ba90284fa190b6bf30717bc7ceabe7c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^Od!kwBpAZ)2K@k1Ea{HEjtmSN`?>!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZEE?e4Kd7b7#dj_nphcHXd4(>85qRhkGYMaAvZrIGp!Q02EC>y=|Bw( Mp00i_>zopr09n#QZ~y=R diff --git a/Resources/images/color_G.png b/Resources/images/color_G.png deleted file mode 100644 index 2c608140cd9f3442db7227fdfdc7aecc4d9e7543..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^Od!kwBpAZ)2K@k1Ea{HEjtmSN`?>!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZEE?e4mtMVnoZY2fHJBjt`Q|Ei6yC4 z$wjF^iowXh&{WsZP}j&b#L&pf(8S8nLfgR5%D^E0e#~tY4Y~O#nQ4`{HRv@xNe60R N@O1TaS?83{1OPc6MOpv= diff --git a/Resources/images/color_H.png b/Resources/images/color_H.png deleted file mode 100644 index 60f3a74592ad293bb1c1f0eb74a4eddeb0256297..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^Od!k%Bp9O38gv3FmUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5yxS$b1ju7A z@$_|Nzt1hn!zUyd+wlh|#N+AW7{YNq+2TL}0|PS)W8+clMJs{gswJ)wB`Jv|saDBF zsX&Us$iUE4*U(Vc$TY;z$jZ>f%FsgFz|hLTApU;LZ4?c;`6-!cmAEzNH9biOYGCkm L^>bP0l+XkKnlV2< diff --git a/Resources/images/color_I.png b/Resources/images/color_I.png deleted file mode 100644 index 1859a8bdb721bad11ecab31b7b9d9565d92f4131..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^Od!n23?w}&=BEQGmUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lwb?+332_;!0`Y7e@9sp zL7)g@lDE4H<9{aIdq56*iKnkC`+aUn9zG$#*p5FyAs$Z`#}JO|$q5MwKpqPNqq>PY z$a$(It`Q|Ei6yC4$wjF^iowXh&{WsZP}j&b#L&pf(8S8nLfgR5%D^E0e#~tY4Y~O# YnQ4`{HRv@x0r```)78&qol`;+0F_ZfV*mgE diff --git a/Resources/images/color_L.png b/Resources/images/color_L.png deleted file mode 100644 index e0f593c7b5a43c24435ee76c0a016ef43179e48c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^Od!n23?w}&=BEQGmUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lwb?+32~ivQ2zh_|C?UE zQ3Q%GCV9KNF#c!Ky$9s5mw5WRvft;Hzm0Xkxq!^403{7NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lwb?+32{Bd!0`Y7|DQh< zl7J$NN#5=*jQ^Q*?*TdNC7!;n?Dx4PdH93`V>|u;g?Kz&978y+CnqE%0C_A7jOr%p zAm^!;xJHzuB$lLFB^RXvDF!10LsMNtLtP`&5JMv?LlY}Q3vB~KD+7c0`!TmsH00)| YWTsW()}Yt)1msT!Pgg&ebxsLQ0G^XW_W%F@ diff --git a/Resources/images/conference_delete.png b/Resources/images/conference_delete.png deleted file mode 100644 index c3306f173ee4d8abdf3b6c91da4436abdd729b51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V8<6ZZI=>f4u_bxCyDx`7I;J! z19e;nVMZs7*%d&+Rh}-6ArhB!&l!3#JBYMA%opzbs3GUQMt6&+yvW9jN()*!%p7%{ ztVH`0UM8+NvhjrX4VLXUZ_fOGcAwb04_Cv!U*lx2IJW$Ql#rVBg}Msv{SQ4PT2l{( zv-Tc#cRc?0i-r!@KF;?`{r_w}Z*Yd&!{Y5{$K}$;?*2Bo{d3vdrL&ejT=>O?=lTT& zo3MhwIPT4#<{g?>5P2*&?EZJw?^9#98yx08Cv`J& diff --git a/Resources/images/conference_delete@2x.png b/Resources/images/conference_delete@2x.png deleted file mode 100644 index 5faeae4b4d0ae778c2c78e63e920697ef079999e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 502 zcmVs%aKNDaArwGOR=zhEZ&kvAAqz>gja+ z-sY*ZIp?~*&;6YHx_gA-a4B4{f+tLbnQ%F@gz1o_buF~|fSwP38=Papo5n`MtzO{a zTv#j^M}(8%cX4np40HiK6aEz5D^0=C@T(9^h1DJIw5)WpCOjN|6vF#qO+|aQZKV~% zp|DUGro-BX=5z&mwVP%f4Bralqp%?yuk_<)*Ub+5!dwA(Re|2_Ii6u}_*{UR>ux`p zUxtr``3iI@tZL`&l+{ftslXV9`mJ_6d~b6VvtfI$&;ylZ%!Iea-n+1)mqg5024yge zgxAH{hcMa+y1SBu2gQJF3oi@J$FS#r(9!UzFgy(FD%vgKS)u(B_Lst4OK)uoABXjA zzHW1PT6n&O@nyl*N>g5>i#Ua$@VxNOg`L9n%IFUFkf2)SlLJ_6=w@-E#X`5>7C&(c sPa50rg^l4xxD!TJ@G~6@7sCYn1Kd}aH`Pe8od5s;07*qoM6N<$g0N8OtN;K2 diff --git a/Resources/images/conference_exit_default.png b/Resources/images/conference_exit_default.png deleted file mode 100644 index 825a7c479eebf8fca768ab8ed8db06375ee89704..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1304 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 Ef<=r{xBvhE diff --git a/Resources/images/conference_schedule_calendar_default.png b/Resources/images/conference_schedule_calendar_default.png deleted file mode 100644 index 59fe950fb19eb989b09c5e74e85847332a92a418..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k0wldT1B8K8t*47)h{y5dgav{H2`kv0*t@PW zi2h+eRMmAg;IKkrTgieabsHA_O*sCziNo}zLu|%@mWQ$tvqFCGtq^9FQ9LanVAGU! zfq%t*&t?T%`vBgi8Gc#^7G>X%c9D}2V(WGLzrt}bTd$PK2e!bqaf_pTy|?a?zb2)~ fo0Qobz{6m_X!0?!iA=0OhcI}$`njxgN@xNAQlUMB diff --git a/Resources/images/conference_schedule_participants_default.png b/Resources/images/conference_schedule_participants_default.png deleted file mode 100644 index a58af55e1403888e283eb14c024bfa103f2508ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 660 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k1|%Oc%$NbBSkfJR9T^xl_H+M9WCijSl0AZa z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6Xz}5igjtE6@fg!ItFh?gFHN;HUHMdLYGF z;1O92q!YmSL$=d-1_s7yo-U3d5r^MiJD(-uD8Tk1KFNo#Nnq~}c1M&_xp`y8wIy5+R+jIfI%s+_TJTBy+dHNa5eMq zyFyL#QaPN95y%^lx}#vD$a z)3-PON5l3C`|OX)H?+C`Ncs{`&v$=o$6Tp%j~Ms$DJI>xb@=atRYzA$yL-s_W$}c^ z0aDMdSEz68y0U9^#8Kbl`MH5xt#9N7&6IwTnqS#+d`It7!$;>^-cRn3{qUt=Z|4GW z$&+GXvnH^FE!JY*_uSWmPwB_x``-6ixPwmrIvCseQ;=l|_xl2_rn(=d+1!WcylUGu zKlIgO5tf6hbJm=;?OPDJ(CGUT`wZQvEkE9W5MH1-`74L^ni61Csg}4#l%ynFVdQ&MBb@0JL8ZNdN!< diff --git a/Resources/images/conference_schedule_time_default.png b/Resources/images/conference_schedule_time_default.png deleted file mode 100644 index 7a953461708206779772642d22c110e5c325840d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 442 zcmV;r0Y(0aP)h#V$p#kW?YTM-a>41Go<$_Cc|5NkGLa z7HK5Eg_Fo$X5EFY^h|g5%r|qcv+xh4K#d+Ak9;uW0gnr+tYw1~IpYn*tQSsLPm4Lk zkA*DPGtD#(ov$|d3~5lt#idMx;p%_|-DD>VTpQCVEu6@AhZa*~ag~Hx-e!brwQ(64 ztFF!DfCWPIDg5Go-#FNe&y;U&6U6M&;V6O{nXnh5pi_jHPzvcg2rpt?VuBDS(d)h< zL_4x29t3SuSD`S}Ov0ViAjgEF8dUcXVi2>z27&=X^nywcA?lexb%eMLD#r*>$poq( z#5ky&Ar#42GN^?IYXy+y)K-kZZLEn;uluxunZt$mEdPo#t~lG|X*an$BG{BwJb ka(p0jeX?`>iTD%p1#$}@xR9YyEdT%j07*qoM6N<$f_fpoJ^%m! diff --git a/Resources/images/contact_add_default.png b/Resources/images/contact_add_default.png deleted file mode 100644 index d4c24a48e776c01400e6871efec9cf23ecd23b2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1375 zcmV-l1)%zgP)js17c3F{}6D#sy;9p1V9i3pQ`Hhzy#;q3(b1uxFEf~z2kwq zfgMw(OnGiB#-b=H1Dk=YwRUbxKx(zxmB48t@_LimurV1Iw(8fMmyDk`Wzd+`j1XH)AlJPR~g^v$vV&yisDL?0H@+BG&+G#%joir-QqD6~*5m^E_V5%{uYc!BUhYpzBJz@mT;+M*`s0FFYnKiU4ee0XhkzeNWJxBI z*)$qRu~_^L=mK^FGeu-|6h+UB?5pa>zVB}Us8lMoAPDXPwgER-YcKyBNH&{2#ag=o z*pS4}ZJA7_BM5>``F!4;C`Q6CECKs~qpJFNoPYLZR@xwf1LV-(S(}dEUzj z#H*Q1=GL)z;8@9KvlD@|h#W|kmW#;!syb36+g0^RfO@@t0N9lDHNHu5{U%@uu+8`V z+x`m#K&ezZ3=FF3bb!IZ!N-j;oyM3>;4tu+F{aZwH?LZ)zLC%84KPhae)018yeXH< zPl(9DR4R4L$+UZkl!5s@Jv~#mZ{NNTs3Zvx1BZ*nVr4|p_x&tzhI8%}Q!bagM5G;9 zS11$?oFoJyvKC0ias2GD4g)@Dj7i`bpzfSoCtY1#>qKOkG3LS~1y7pATKgWbNL61< zr_(D6g~CvyLQhZ6lsJwzCauC#VHiH>iAV=fZ4m^3*6a0~J zfTyaL#&LWT&<4Eb`~Jfthu#d}2U;klQt9BldGm6<@2>z>0xL%{Cy_lOa&Hg>8ynkz zVIWP5rBbQX!Z3W&_x-a)j!tFxxpd z+ZZ!fRj&YMHmJRP+|i002ovPDHLkV1k}Ak`@2} diff --git a/Resources/images/contact_add_default@2x.png b/Resources/images/contact_add_default@2x.png deleted file mode 100644 index 10a708034f6f65841f5cca1fe76d909dd0d38975..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2828 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 C(aOvK diff --git a/Resources/images/contact_add_disabled@2x.png b/Resources/images/contact_add_disabled@2x.png deleted file mode 100644 index fcf75ba208502d5b1399873ad7b0c18ba5ff21b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2039 zcmV004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00002 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 diff --git a/Resources/images/contacts_all_default@2x.png b/Resources/images/contacts_all_default@2x.png deleted file mode 100644 index ce084e60da980b329e4e5101cc0407a415425629..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2623 zcmV-F3c&S=P)00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy014koL_t(&-ql-wa1_-Y|9p4vAdzag zPza(ZIS@#TB1W(olX}VSUc8B@Wg16EoZ4Eo)#+HRt+i4oYOA%#IJLD?J8Fk1NHxr; zgOc3sZgTt(27zj=zW@`^rWhMd1GT{A_TIODu(6LNTsD_GNIrk<`|j?$_dfgme&6@| zeeVdT9;9j7#YA*5fGNy8nTU!3^Z@t-z(>Jg&}?aGIasg(oT{1E*4EAm1Oj(5^I`zg zhIqW6h&BizR@T(itZ8a$5~GfU`uh6$nM~%J0L};SWdIYH`5+N}$jq-Pin7i$&HVrn ziA1IbgTW?dz6n4eho5_si0&~>GchVi&~?3mnSV({^M`me!_4ayMOnklj{_(h!7s5uY_#0Rl^G7O^< zz?IB=%OK>vqA1F>iA3VRCzS-lFs3nc9KgImzT`$C>SE?Y0Ez%C05Jaqzq5^*e_-48 zcE7|sj&mO~-zA$75v?^%^BR}X!jn){RaHD;!h{U~7E0oO6VYQrh^K7Z{>=MMU0q#F zQIuEZ-(uz``}+Fs+_`gSdbk6QMx%8?i055%8R+kR+qNG%DJ1B+{uF>)B+=Ud8Z68D z=tS>mnzn(6zAlL#uq>--q$`W6s#^hsT#+E6O4Bso%%wkN7++u>fSV-IZf1^TBS6>n zt2_j}U|H4!BXwl$?d`h&Tm!%vmJLn{~wkw~NnK!fCrR<^gdzcYjby%0c!WVgTeLE5n3IL-qAbUCVH z=H5b)(A?ad0dPR(r642-A>@@nIehqV?GUTUL1_)oX<&X4i9`YbN+i)|1tB4m$!rB6 zf6eb^d*03L{v~PBG!za~WfNuQj|)OVGMRJ$td&Gp>AD^n;01ROp|!PjAAmKI=qzUb zOP0aC>RC~4%Qpe;M_3|>*5^`W@kK&38ZFm#{Y3ybcy7%*(K~HzZEpa0OH$Lj>g(%E z^Q;BS02E8hgwvwC8Aa-pK%mLxvrz5@QIvH6CQGsvi9}*&t{om%@^;JTrYFGJPeeDHrn%m4$Bm7R$oUSisER z3x~r+Wo2bsySlm@->Nlm5sSsfr_<>z04|d5uMUMm-*V&gArXtkCa2Ts6#$kF;sEyp zSRM+6e(xs>_2Cy5DT?wSfcnAQ5rEq*%Zd++1YOtf1MmxJ`B_(5TKWyY1Vp3JOPF~r zGoS6b^$#L?G@VXAlT0R$Q|wb?XkHz%UFW%FMq5aGp2LQ&si)cs$;lb#)Lz z+$IqKMN#e;1_4a~{^%iKD>GkcS=PNLg8%?9O*7#*&IQc;peKX9Jd??6h(sb&vuc8- zX?uxihAZ1{S=J(->_5uPKk+0mPxSWo-krxI1-3xuGH=uI7e_IG&D4Xh-j4* zV=#alY}OS4Fvif<*4C=)`nv$W;?AKFz;6`OG`BGGi&=uHSpXV| zNcO1RH8nLGF!sQnI%!oj8l9p5VB5BrIF2(NM-O2<*z`(Jc9(S)X4#3R!skD5fv9VF@ z?d@Fz;Bq30$txW*Hx7q{mvQWgv@aCJEnaK`utQOl?Ik58@A)mz76NX~bRmF?-3eC# zC_RDGpW&MX!!Rym<`zgBpjq%afL%nihnYVhqTND>eX6QUQry8qzV z;;0t`XP`oE7CRNk7Iyt2#muh}kx4|BX_`9*a)Xfs9Tjfn<`MvlaD2J@ln00ab};ic zBHCD7T)b(p>UUoM165yNU+Or{B1KUyV&*w+HaZ8#9;_+^8~}Tn`F$dKpPAnwqSvdd zt9SXyaZbt~!8A=PQ&shB0MmpJXA{wx%sfs~^Acn~EAcswZsr^WkRhTTAw)NTj}%4e ho;Y#hha=hA`ycv97JkGJdN=?8002ovPDHLkV1nA!$-)2t diff --git a/Resources/images/contacts_all_disabled.png b/Resources/images/contacts_all_disabled.png deleted file mode 100644 index 365de44b83ef7f64db6bb2a227bd461b1652f3ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 944 zcmeAS@N?(olHy`uVBq!ia0vp^3P3E)!2%?=pK}!iQY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fIis-1ZX=6lvSP zHN7o!rEG>Jo1oyAW0!lw-F#O0c-Ao7KmPq8=MvS2$9{0QIT~m%Et0A7O1GN(lvQ+@ z!NGsw)$4EmpKkj9T->2vt?DR+=7rvKA7>T(ZHY15VdX04?krWLWju>nX_tjWNPm}o z*jF}(ohv?bFf!`tEs#06-izV13*W^8|*Sxw^E@iZDk|*n)Q(cH~}4 zz39uDQ(}>tvXeoe)#b_MJEtRaqEEZrW^ES92o5iSXIL-b~m_m4pM_pLc z|J#hy_%ctnt{lMDp z&MlKV9|*Q^Q7YoC(EqjKglFJYs;40 zrmznWqm)wB%Z{ebNNh7ysOCH%y?U~^|L2%8!LR)MbGo0)UtY9q>vZ3Tv*IFduGzI? zhtU=Dt%^zt3MOwSe%s&qQ(XSTj|KlqpS%I4VAT@Wh?11Vl2ohYqEsNoU}Ruus%vPd zYh)T?Xk=w*Vr6KiZD43+V8H)Cy$wY}ZhlH;S|x4`b$jPq0W~mqy85}Sb4q9e08cW7 AtpET3 diff --git a/Resources/images/contacts_all_disabled@2x.png b/Resources/images/contacts_all_disabled@2x.png deleted file mode 100644 index 924cc7d57281e68e221f5c899c2d314d5fe192cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1913 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 diff --git a/Resources/images/contacts_all_selected.png b/Resources/images/contacts_all_selected.png deleted file mode 100644 index 2620c9f454927f98a1916f4f514cd8dff1a1f032..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1028 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 diff --git a/Resources/images/contacts_sip_default.png b/Resources/images/contacts_sip_default.png deleted file mode 100644 index 00c474f6f7e23c14f2889fe370635fae1fd66333..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1566 zcmV+(2I2XMP)7vM&SP!0o%U;*&2(J;^N|^R;$%FJw5#} z^AhMH>l#{GS}x@0=i40)hi_(P<`LwX%no!{;ZND^_RpG{nr_9ihu&shU?n9bc`W)c zE-o%>a&mGQKES4TF^2&0HuFXR6ruCOUxI?@@5O$_)YQ}fhk3QFt*svUf=1M^7Znv{ z<4v3{4TVBa+HAJ_pma8S0NDv5wU>DVpk6_q+1lE=5!!-nRxlVWM>ir-!%rprf=1Mc zk;3C_=w;*0?d|R770*_5r_kj9(g&C?6`jTcD3!>aB(iHDH+EMv>g5CjF0w)hK4_lY>Z@o1ICR@q!oNjr0Q^Xl_D?W=2fYS+2|-y>_b+A?J8BL@>1;B zy@O0jp;pz+$43AoHE{rWpJ?pB;agAvpibjtT6Hu&K7J?9KgY+%uVH>!)v3JG>CDIG zF?`m^?NoL1@pjchw??vfH`ym&_d<5Hrst=V1&^g`!yO|gK zO42&N&*w`B1OgXuJWd+d(+VckO#qdQ`~%v^b|QI(H18z}=Tw_8FC8C!n%bBtk+sNH zL9*vSN=nLQF4$Cfjegc5MtZW@G=tMs=|Pp3mnQ-GD795Wg!T;%4%YPd_XqXP!q50g z!A~3Y*8-3>F3Z!*ZuHWy7ljbXeRvanF17BNOgN8e>L0kw-y zoj0O^l7-F9&GK2)LRnO>u8sq3#&?4F7h*WsXA`<3e7ziSyWR4s6frbloN#RJG+Crg z>raJ+g&sC|o-c-4>h3_q>gW&G1O$F(NpBjK19~U@ty-_wY78*x)KE9zBn{Uw>=okK z!@L67I>J7rcVP5fP*89`(KrJw4}&wZ1C(UQLMDcp^X0=cY^O!6qod<{idsUx8>L)r z`4)Q}=Q+p@#|laub3hjd*^0j^X2UiifY9||^BVq3;3Hn}TExVmI*8!yfO>*7e!`+{ zoTfq5$I5dXSF-*R(Qz`*E|W;XhoCHO?hi)3w20}IL~tD0q@)7+O|OsjnFcHA{~RCJ zA$jo&4MO$w!JEv6Lu(gCS|TN6w zlGhp_1D&0nx57S6Qz-`YnQVad!AitV!=I&4d)eT}v9U3KPfw5Grw=!I3+dVe?W1*k zExwF~d`{s@{txWn@Re#EM+H`0U2W^?>UxTW+o3#wEt3tXjS;2+=o)kbr@sPX6n+NX z6~G^&HXD(Z@_YjQ7ev30^+S-nkJGT-fc$Z6+|nQQttcum7Hfn50L!>RnK*tBT8Gng zl&j&B;S=B;@KUqqi9#M5rU6EpYz7<4VWjfqH79$@#bTO0B~Mn)3ZGZ8Si0m8;h`*$vmUu@{=8BFg93s4bh129s1{m9pIu!G$C7c?czKLVyY zGUI7G@=x8v=4C`QojJt(Ex_tI(0Awxk>!w$8V)pR=4Vm97=gtI{MQlq3m&%*!b~pr QX8-^I07*qoM6N<$f~c(Vw*UYD diff --git a/Resources/images/contacts_sip_default@2x.png b/Resources/images/contacts_sip_default@2x.png deleted file mode 100644 index a4a82cb77e71dd7011b28ceffbe70457c1e1a199..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3994 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 A^8f$< diff --git a/Resources/images/contacts_sip_selected.png b/Resources/images/contacts_sip_selected.png deleted file mode 100644 index c6e794f856970069279bfb89af663c363d891d8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1537 zcmV+c2LAbpP)PzTdiK|t_v}s26?x4s#&Eqoq;KsZ)fNsJ4@D1*A>xC@ZN;i2=Ck| zFId}a)EAF$MYhq-)}Vl1$QT=_SbZE`n8J0e!`iiBWgIr1s~rn(3B32hyztySqn}yd zgm;fY_U16Jvw18q_4LIu%oE6 zM3W(2qRkRF(k}C4fiKSJedH_fTkoizVC=M(1X=2M4wbHZnZHuqA6 ze=X0Uz!nS4yvBPoS`LH}B!YVaeLQ2Z>1%!m+qrqX83=|)t25B`6TK-+?r0th%)dmV z8$Ar8A!$#gbQ!&>QuWnuy0jzZj%TNk2TODjdfqlqu%p111I*r_1fcH6Q!ip+DX(b; zIcavQGTuYFmjDqi=M=vr>-c%6Ttm1N1z)MVT~4?vHSpXO%qSlBAK{mDl~ zTEeoIn)NIXq&6y-Sr=&&GPh#r-!Dld&F&ns1*Hic)<}x4D>a!0|9Il$F}Rbs#tqCD z0)A6QAT)6qpKI<%jocQH**}y${e1!wHMCiuaYm~82122+-D9mfokNEqdRGpp*<_$L z;;NWz-=alaYz;Cl1>|qt$X7|Nrxd*fnDz8&^pRYD51%lSm|mvs#OG3s%UeU+ff-&8 z5l(kr%Wf@tkn3=u=A-D5Y-a9?Y`@EcN~juxssWWsGRd^80alU!j2ea9c|45;#Bo+$ z3pBIMftl2I{-WGvIY16v(A+$r7ZbD1S{$%~(fPa+q`gl-*r=q)@TU>9`ubfwf zr#}irG9H8YIm`c8uGM-rVMBR$IBiJK>Mz zjI08mZ;Mw#qU}LZx|(2J3D^nbvzK$VcTVA(t%Ci#@l2Wbp4;Nwkpz;_Y3ThjpO%cr zqD-GuEznZ&aUjYsc)gG7w^R}72f7RJ7S=z~>oMAY@#fQ2l8>07SrUVT-l`Kbv;ro? z>p))dUT2(H=c~rGc&-m%QhKcR2cO|ioiA&}IvoCtioHs|VHUY9Nllavp!5yKjr8qU z`W3<56n)}uk87lW^O1M|0~P_`gA_IQ*MCkOq}o_bhdVhO#~lN6{}CHBl~|a>#?h=! z@ao+^Bun--qy+alW3>RGIy`K7^C_@t7Lr@k8311 zl9L}h1m;1cf9xDUwfO&yBOnb&>0rhI0CT0P2lE8;BIerwHd-ffc!JDdN*Zc~+vcP7 z2s3wPcL1ekt#Dd2%BJtE-1@Ky~{Q9uKKLQq36gRi-i==|;VRQ*HgBe|#*a4V&0^wtPJ_h>Pr1To| nj`wYxsxEq$2f94)pL*a=vtPx`>iNHJ00000NkvXXu0mjf%eLsv diff --git a/Resources/images/contacts_sip_selected@2x.png b/Resources/images/contacts_sip_selected@2x.png deleted file mode 100644 index ca7f652d5d9182556a1b615cf35c9787353ac738..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4049 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 DcrmjC diff --git a/Resources/images/delete_default.png b/Resources/images/delete_default.png deleted file mode 100644 index 0263f17ccdf2337e2d7d90574b8cc406ed2f12a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 676 zcmV;V0$crwP)wOVZuAj`5L;0kalr|Ti$M5LjNF&}}?z{Ec` zX##j3$MJXN6%Amlm1eIpGc$7-I0w`Ll%K5xI8v+C&h`V{*x0xT1fKH;s+3Cn8TJEh z`E7H2q;-FWeQr_M&QX5G-U7dXQlCvK0pH>{UfqToV^UzH%UJ#O4e>MD*e*xgW#XJ0 zE|<$Edm(DAM}cENvJ2|hm140t-s4jjw)=NRTK8)f_S2-6{|;!g*-ZSJ^;*{u*cuoZ zSlIwCaZmyVA_QS`t$cLR7C$MLJq!QCNI6rB)}M}Xc( zu+KL)H?J=(E&bdR+R{f+R2GrTA~Nip3)=r2zM(G`7Z=~;IsXPfFXVn@ZK75H0000< KMNUMnLSTYSDK5eQ diff --git a/Resources/images/delete_default@2x.png b/Resources/images/delete_default@2x.png deleted file mode 100644 index 2859f5e33c04f49160612a2c14ee278fbdcc335e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1285 zcmV+g1^W7lP)$b=m z+r?E`QPFB@ zF#t!ff7v3UUrp2et&umeMm9&I(HA)9f8lV%u2d=~bGh6#zi;4;oUUnF8xBucM@NTf znq>hX7K?q%7>gbP>@Sm(li%U4+?58Myc*?C2q8K{%y}!5$tV z0N%S3Jb;MaZvX)a?W253!URQSpbph(>XyzvjASLEk*7jp)qbVa=eee7d1Y}R46vMYnWG$uL>71^lUV|= zvJ-ZUg#wm{WRA% zuMdU_MUVpxJqF;;%h45s*Pt208sC#>T*1!+U?*x1;S zR!|y-@d$upk`W7gU^(ZqW!qL)SDy|;nU&iCE~S{fN4aa2zn0e4)-LaX&1SRL0W3?O za3BPkU_tHx)k}`K5Tq|zZ^7$ErllESbaeC{08iHP*FCUG`Z})b`a?m&ZftBk3qW%T z`rWX$Z5NcX8>n^FptdZ_9k#u_eI9_-s!FElyOGP~mR(^dCMHUZv8yc%vH_R)sTp9q zoH}4w=2m81Vde5hL_NB$cLYH?GBWZQfcxCiR!vyPaq_!kO!Ni;Yuk3e^1Qxfg%Ej< z^4H9sK-RNGL|5v#2HlA3x_%VEDHr|T zuu4rn7L7(9ZYHb{;NsS9N$UR{@J3B7{CBp+Z@a6F@uADq)YRhu?sb{6{lO}=Su2%F z&o={B)3mc5di}w2&i@3kCAr1hP09rCNZ;l)(=-q$HwKgAfkAdg^<<9z8k_ISOR&1U}w@U^tm zBZQb59v&VzphaI|jQs)NK{+v0?=C#M^Sa~l=H_M=z!`a#V~kxSqI25{iRcH$*rzp) z_!hVSrUC%};`Wb(=M+Qz-qqFhN-CAI4+IMU$z<}lWmzT~xWaEh%wn-PTD^9~zTH3? zB>yWGi)V=FE3W`(P__V^9~v4m{DAtltSp9MJV!+D6VWJu2lfHENJJL^e7}98-N;0F vkRk76xm@nmH0`L5e7dG-+I)2q*_Zqer9#}Z0I(u500000NkvXXu0mjf1G!LMR;<76id3JuOkD)#(wTUiL5}rLb6AY zF9SoB8UsT^3j@P1pisjL28L1t28LG&3=CE?7#PG0=Ijcz0ZK3>dAqwX{BQ3+vmeOg zEbxdd2HJETgc+SQW>)|O*-JcqUD@w*OY-mu{11M4fq{WB$J50z#NzbaN#1_ajsk7_ zv-*#J@kkH|TB6}q@z#QwyG2)^`%dTYCtQ9eLZ@^Ek`A}ER+i8H=p)`OX=B#NwzMqt z>(~2V%eNYIAC9|m&_F)4a+-hqq$O*mc|~`1l>Jyg;joELE!P*%8&89`XG{!O6jSF> zx7?>-&D6&>M|LdE+uCUSXhHJhNlRG^JwGr>_LmmkNUweWrzLr2Ua{$}{2M$?=2O`- zLw~QCs}`_y%_gJbe8)W}xxF^=`=r|RYB5{9@of2>`QqV$hN?4}DZJ;DUL9=sn4pxO zkaM`f>H^2AZD~AHgq^NLxLIl)a9HP~vW=yieb)Lnrg#1CJ!`YIDqdmXasQ%d^!M~t z0{3QyZQgZ%LGbnscdk!ozZ@Kjhz4eDCtXW$TKqcV&N?eoSHF+HdXW9vzGSvo>xaLv!j&@9@{Nf?96d z^XGn-oXA}JwaWbdbYN7dmbgZgq$HN4S|t~y0x1R~14C0?LqlC7(-1==D?<}2Lo;my mLn{LV{s-!9C>nC}Q!>*kacijCJKqYZfx*+&&t;ucLK6UPi~0!w diff --git a/Resources/images/delete_disabled@2x.png b/Resources/images/delete_disabled@2x.png deleted file mode 100644 index d1e8bedb5a8db4373651105ede36855508ca9923..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1088 zcmeAS@N?(olHy`uVBq!ia0vp^+CXf|Oho1Qt=fB4O@x?2(f7K#q)N!0? zS`sd!mS(G36U@5nQ;Jl@u1@wJr+%Daep>v0vL@HAz(bSXdtYXAI1|>*U=^SJ?d8^` z&v(z?`e;KD8-wxfiPg5h7?QX)97`%G>t(57FbGG9VdziwKr<%QcyCL_K#9c*cEy=QToEF(vOIuji)+xPNcaY0s@ph#}8#r<#=K9>* zSDNb9W9py0q3`r5KQ_ktH4zVAl|)S6xoEZ`Pu$(V9{f#v+?Z$Z#M_sxeet$DDDk_= ze#SG+z1F{Wm(6Eu*eN65?-KZbL!!a?$+s@8SQ~z1)7@qD_qeJrJQHUK{rc!@OHV|0 zhg#UgmdKI;Vst00_a$O8@`> diff --git a/Resources/images/delete_field_default.png b/Resources/images/delete_field_default.png deleted file mode 100644 index fb16c0d975301e189297bc3cf9760d9698771fce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 689 zcmV;i0#5yjP)dtAm@1lC-a{*#bf<7BZD+GMKi} zVmriE(tEFqE!w7yiAjIcdz{DlIQQIh-cM+wOeW*3uC88GN~M9gwRTWM21KN8j9C$p zdEjjj1fSaFlKlcBBO?*lb#DWAfK%-fS!+KkrS4BpPrvI3=6Rk6Oaf==TvLwY+|1|m zOS=PVH{A2Q$G}vVAOK%$z2N(P;=sz1$>cq2?NfTAAHby`2tMqAC6mdFwf6Nvee6O@ z#+VCX7=GC~M$hw(TWg>97z7YgNRE2PN$D45xGwPb)?yBdI~sq2r#U*=Uw2;p5YTAkw_4UL^@7dsZ=PHO0>us zbAc0k?rSVYHk<9Lf@-zO*w|Pr*hv@ox_dR%YBk2k$B9Ox9mAHFm-h?RU7*%#4=ye) z_PT8~B_a!laY3}!3(6St<`7tG>+9=*(pndQwSJOBBsVuV*HnclO&Zj2cekpXLM9as^O`9`A=7K_D=c6ojQ X!o}aQ2_OSH00000NkvXXu0mjfP9!q^ diff --git a/Resources/images/delete_field_default@2x.png b/Resources/images/delete_field_default@2x.png deleted file mode 100644 index 1e517887d2f956e3109aaa4d7215eb8760fac89a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1324 zcmV+{1=IS8P)ucNISD7x)|#OYya%_{Crs!$GXuAZP(lHTYK-h_k8Z}ob&s04xtIsG|dIz zaUyz*nI9!02Q%Lb0L)w#LKK*JTnO>A5aOrv=g*HfqaW0Whm4MnigY@yG4pc(wgA`w zK$v*M?*J|_^M$UiuG8nvo%?Iq;e0;dDpgfqA)-CZytY9fyaeEkl=7WaD)oKK;YLPA z?kkteZvfZ_;2tzj2`S~_JB2h27Yqh>GV?J2YtR}=04HoV+u>+5dZQ_Dfk2>72=O5^ z2eCYwBBEXKc>F@W4U{^qwUL<<05)Oy)D2*#+wCsoa=A=HET?JO2!K;fo?E8G%qOeW z>Rw&fjiv5WZ!;9P0r(7n9c?5cdRb8v0N4$HO%KaJAh4B)z68*PHWU$U^msh0v)Sxd zrr>-&-&#dcQUF|NZw9>7 zFbM0&&deW#!{HT64okn^zn+LbsnnrY>9I?>{2)(_%EeD(JC=krJ;5@xM^lQd1cZgx?z+wHK~Y%PN;l}a!S!)&vyDiKXFvnjZ8xr}nT-0tOv zDZ$KFJJ1!BdwP1Z0>HHngv&)Dk*W|vT@OaV#|7X?i-27%7K_^_CMGHi^1xbm+ibQ&0KT&TSW!y3 zE1gc?teNE2`ZF4hmH`Yg^N(!|Rw1HimO5Ru=>9+=k@%aLpKa3xrb}p__K>clyR)Fu0wWUkBiA z64VqCy*o2Ab6nT;JBoSldh1Hlv@HPk0(ibb!!-@y{X(JeQ6`fq-c?A}sL$;6dYul3 zV;eL30r&wtjQY;A{4ooZQWPZ`i^Z-tEZ%I^L>V3)wpS{ZbwY@Tq?8UKnme5ipg=^E iilSVL#bWtp_2EB3I<5cBwDmp!0000=KDmqetS2im&*LF9|ihR4^923oe7`Am!j~kaP>J z1ZN#0%_&8F2ihV@uo2XHgwp&BitVt?dm@dw4(3}yt9@8eb54S1&Ct`J(q|~mRx|cK zBPh*63Ox?4GRC%2Y%OCbf?vUt+@G&Q*7XR*9A*usX7ecAIkddYdQt93E0EGBMHp$_@@%jhyFkatni5rd$UwWR7JXy2 zL*%Gk-}V3`sCAnFqzFwjx3l zN~lnG6LX&q&cJGlJG-;9GxNa19(F#MAMZEc_kQp98n`UM7N7-)0=t1~AOdW%9+?AX zfpOp?@Bw&jEdKgWf*pbm!I0puKv{TPa7WNAF#G`3EO?p&&}xngE(%Ht0ku!i?=sLz zo)nxHm|j4Y3a$(0JpfDhfS@j)V0#4bJ%&p6AHn5(fE^S3E+AOCZwuDB1$H413r4Q) z6>Q8E?3^IwGcemP1naW}YZol|6wLNxL6K9iTEUFZ!EARr0gDL60sNf^AD8C#V2g z3BF2!v&*ODX}maAc%w7R;o1m~Y6bNGrl1@+K)7_+j$8~s)GXXpiw)O6_|#y-)r1hP zLJ%>nx?%~T3TMqp~n>Bw>fQyFIf#l_O-s61C9A;n@& zvy~GjP70q@RS=C9Anz!JR>uic!~~KVKOT?6;Gp+#$t3jjI2|=>2)+Q7nSZJ#)YL#E z;vL+?1WZmk9d*zU425*Bi<L@oY0G~|jjx22YX26^Y42KYI*xt!s0rMe)dkJ6~ zFdf3^^`#$HAA|_(tzoSrHr&GyP0jmD$_xhl0G@;ZEb$+lr7j>9aJX9rd|&Y&!J`1z zET;wASH;%i33eu+a97rhtDq}@VDB=zWz}N2uP;Dgvv!>_BMB-6KLY}H$?>uyXbQmh zcO&a{RnX?cHVxa|IrpOoj$2nlegeDeW~0p!!7rbH-E_Ut&FZP_FCf&E;AGx%8$q$4 zvjEfdnP8VE37nu>(BnbtR9w(rkStXY72LBr3EYHwBRJ*SqLCxyW~;leH_IuT5{z06 zKJ{+Bmyrk14L}pHpT!RKI#%vZ{|bx&Bf!9_N0l7(4?M(c&&_qOC;$Ke07*qoM6N<$ Ef=Ro4Y5)KL diff --git a/Resources/images/delete_img.png b/Resources/images/delete_img.png deleted file mode 100644 index b9aaa86c98f4c6d8346996b29c35a20548739ba7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1184 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 VjH)?4s{Q}~002ovPDHLkV1hghJLv!b diff --git a/Resources/images/dialer_back_default.png b/Resources/images/dialer_back_default.png deleted file mode 100644 index 0a5378ff0d8c931bbc59e2ab33d48212c0ef74f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1720 zcmV;p21ogcP)_z=$wdb1FivOAP!7>o_CKal}cZCiVn=o%(QfOceeoF0qzo!?>mrsReb??7uamA zT?4EG&H+D8Bob=?qS5GAMP!?ZJRgt8TdcJ$z_)=r!!R5%KoXdX$K!jarl!in!^5Gq z_DSca6o4`2lfbPavfo;J62Mw}K~?twD?HEZ1_;A22`n`?H$O5qHg+9QYweFjswJSmnVU{ zfy=-W@G;<05ComxxpU{rt*x!2p6AsAEkM~A^Qx-uJaXj7|EjLIaN)umYuBzlCL*^1 z9|HagJZ7zZt|~JgX1&)izAW(0NNn|paKRB#WW6a-yAtNH|fqzvM0ZdFx{1Z40bhx5j?}~H0 zHa1}xR^K%?sfb5 zYJ~vJ$z<~5H8ETX+yzWaZ*Ol;7=~FV_yZTSM}bYi1J>G?07<1%8ONi~1BX;~tB8CH zm=1!VGoQ~d`M%$!sz+7zEo00+7qcPY)4*56wU38X^=Y8q8FXDl_EnjoN>7nUWDMx8 zx!fsZ%zc?m=1lbe?_2 z&(6-yzCJZIRlZ4`t%*jXTU1rTFf6*b@xe2Qv-lxZ{j91+fD?6fbw3>+A78#!{p$PveZVJFwE(cRv~&ts5RpB;@84c!24l>S zi}9pW_8QPwC=?#6DXA|4oj^hQ`uc7um&;SYosJKeU0c5*BAc?=>?QZpgN{9}0Vf@A zt^$5&t$oz>y2daJr+{`hcP==r8Q^YjdU|@fwY7CrL>fe79nh$%FIOs+of8uimutp? zskXMZNfBvvgnLFrp0L(FRh2n^{(QN;z5Sr7u5iXT0k4E%xHFf_z5Rbxf#!|>^pK(e O00001p%tQ(Abq9*6KX4$pZWV7a+s3$Q?L{X9` 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 diff --git a/Resources/images/dialer_back_disabled@2x.png b/Resources/images/dialer_back_disabled@2x.png deleted file mode 100644 index d8a8f2aba1cc398f82eac65758d93bdb35f7cf70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2581 zcmV+w3hMQVP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00002 zVoOIv0RM-N%)bBt010qNS#tmY4c7nw4c7reD4Tcy000McNliru-wPQG4iSh{*+u{W z2?$92tcz^WQBDMm|AW5?V=L zH~WoUpKHg4a?+B*!PjkFd)4EHkxMZpE=W(;|9G)wsbYo1WA~W}arZbXo{oxmE|mqj zgEJs#edhhV+aKl2r({v5LWE28VY@j{mrKbyvC&1kl6m(+55G5+zsA%Rt}bs%?TE5D zmV#pp+4xxe3<~n`kg_fw#qbZ+GuOV#oRQ+ zfcsWiLm!sf@JMFnxQ_z4m9G>pjhI4OXRNCCGqo2Qz8P1`j01`GT|NY!m1V2<#5sD| zhrGjG764>vqwW+E7=}jm&FenEC(4)W7dnH0IOUpIy}BZCz-O=6_z{4E-cm(PP|4uDK65&(3H5qE=}1K`wR0Dj!~L)D^O(@o=PowTbG0J{EX9p>8A z)B#8+QPv})!%}<)z;fY_WaA5M_=0&9fLxJgDN1P*VTlbDW$?$W)-He!;&3d=m2+{! z^EO_`M%8IU=_zR%qs8XJ)0;}>0k|~PclU#DRSM%rX96_GY(Qb;#d ztZsL7KQ~C>$I8zV2heARvW1v`I^3Qa`v-oB%o6`853cR<#~7evPzN>!;VA1MuDXdy$C|QEmO^ zRU|pe-Iaz+g$lGe!-t(;!h}8ju<9pCj)cm2@@>gus3MnC3wjzC&|Gj!Z-@OT7n2~d1F<*MU-HoC6}=bwJiW%dltIQ7DBg#4VOi8riLvDx@K(ETMVm9-M7ZBIR}0= z&N$%u>9zKE-Cdr>R&R430knT`V9k{6Fb4=TS-sSLryt4hrd8IUR5|{eRrh75ZF=T- zc6_=0t`A=)*Ox4^?o`R78xp&PsQV~Nxp2fU0ZfTTwFN&rBE?1_tsjrkAoU0_Vq!r zKIjNfo!)I0LKX2+eH<;&0QqU|g>Zh5#*~mz4-Xgk(kRnECnsej!SvJ zb2+LkKgYdD74|qPeg>O_`B}X-sOiBrQt@=QS`I~C&XtEuj!1TyU1=Re`b2(-yCWb& zky|jS zu8e2>@d%o-nF3{`$^vas3()ik#P~XC^DCI|UB@+`bd_(7=G_U; zZpN7h&`r}`wz~#}$gO7)6cV#R?*+G0^E+OMV46aj2>|NqPfhE_h1~5eJDpGHb(1Y> zfGfrPi+9&^wjey0{GtU==dXg(o!LjLl|njLnV-_D#!~*Nz~+P>p#P3O7oSAX8g-+z z7c6=%)!*8yhEI*Ib|h^B!`J^BR@lOA9lU}zxe%>WK_$|kN=FXtce9?wT`@^9!I)Lv zj=z07sG2{rQkNMVKp0~}Qnp%X{jL;>#Bwv6wA+d^!9;+9bnUCdU9+Tok!>*Trut1b?eq8Kz0%(4{G7SL?hr)+94} z0vAuWRJBsQ{*|KO`m>TI0d%OVvu*3!e*@j&h(CH(%oYFu03~!qSaf7zbY(hYa%Ew3 zWdJfTF*PkQF)cDRR53C-F*G_cH!CnPIxsM)mn<>>001R)MObuXVRU6WZEs|0W_bWI rFflbPF)=MNHB>P&Ix#dlF*hqPF*-0X*vgcS00000NkvXXu0mjf#HQ5Y diff --git a/Resources/images/dialer_background.png b/Resources/images/dialer_background.png deleted file mode 100644 index ccb0eedd9178b2036ed3dacffa828b5ef57d9365..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 67421 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 diff --git a/Resources/images/edit_default.png b/Resources/images/edit_default.png deleted file mode 100644 index e55a7bc374c345e9d489c2c94b46ab26fd1053b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1003 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 P00000NkvXXu0mjf0r8^c diff --git a/Resources/images/edit_disabled.png b/Resources/images/edit_disabled.png deleted file mode 100644 index c14a06b5b8179397ccf9a5354bd6fc295f0cd8bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 820 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 diff --git a/Resources/images/emoji.png b/Resources/images/emoji.png deleted file mode 100644 index 5b334ba099ac9b4d55be26c0a9b5ad6f26daeb9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 817 zcmeAS@N?(olHy`uVBq!ia0vp^l0YoY!3-q#{l5~$z`&><;1l8sqY;etTL$l`D|TpS_-*9hm5&G`TSzt#Ts zXTb1EE(!7rW?*FIbmXVcHP*PS=Ra4i{)Hg7-va$8{^$Q3KkBE$piH*z3 z&dJR$DlRRnXlw82>Yg}l#>`o>=Pp{lV&$sU>(+1BxOwZg?K=)1yL|2XjhnZhefaq4 z^OvtbfBpXR_eI_A13>E-lf2zsQV!kP!3ktLdb&7DgU$k29CI$4XA$K^!P zVJ;fR@WQ1V&rzyI|o9QSbiywHB`Vf`7gbJly~p4S*3n{i^}dd1+% zV<%=QZ~vku%C~$|YIs>&b+p@63+K*RK8@Dd$Li0=cO6UNaFMM|IJ51IWL|CPRQ7$Z zjSXJ!E|i;5{8vLHgo*EMIg6a>`ZxyBrw@H17px9u;=W`yAy`&#D$6zhcp;9r^KDpz zUNtCpb54^fNHKi4aaX~@O0^|d+l*5i-HN*!SEeynthUNo#j|DW=>zlXm_u_N&Xfyp zc(Zbg1fTx2r@D@pUb{EwuVP%EZ&L7?%gMgv$l8vzN&>&Hy!sj?zxY7ky5*cHJ(@;B zw+z!-tyve}l5svc->CB4+FPHrc5X?vJs)aY8ZJ>;bm97hpJr!gWc&-iU3lwjFUS8+ Z?9IPj{Zh__IRQhK!PC{xWt~$(69BpNFP#7Y diff --git a/Resources/images/ephemeral_messages_color_A.png b/Resources/images/ephemeral_messages_color_A.png deleted file mode 100644 index 19753e7f12395961dbc588ee52ef5da948d2360d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12736 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 E2TMvgL;wH) diff --git a/Resources/images/ephemeral_messages_default.png b/Resources/images/ephemeral_messages_default.png deleted file mode 100644 index fed52afb5bbdea1552980b754d3e74eefd30a793..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14110 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 J8qse-{{ucw1&jay diff --git a/Resources/images/file_audio_default.png b/Resources/images/file_audio_default.png deleted file mode 100644 index ce5af4fd5a3cca42750cc190deff73a45901539c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2483 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 A;Q#;t diff --git a/Resources/images/file_default.png b/Resources/images/file_default.png deleted file mode 100644 index f660964fbebc8871ddf082ca3e6d19303ea6c3cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2227 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

WE=$ajZY{|N_Zq`rR~+};nv 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 diff --git a/Resources/images/valid_default.png b/Resources/images/valid_default.png deleted file mode 100644 index 268f6454cfee2ffdcb5d959c9fe98ac3a36a9977..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 635 zcmV->0)+jEP)2$Z}9Detn^L^)v|8R^kSAd;OjRqA8g+WQ9z$Y~r)FDVQ=2OGN!)a}f0J^)ovuT=6|AG!!YoDxB5CG*1(WzwISnR%NeNhk0DxLYU`23G<3zVF`$_DDJ#hT+q-F1O5Q zaU9PtE-oGh<|N%V#++NJ(D(f@;HaeQVHn=2r{yb}dUkg9v*&pQ=iDn`tXM2wu2J3) zFa%5lL2$laA!)6d_`W{{8a%umyY Vyr3=K8C(DW002ovPDHLkV1hPOABq3~ diff --git a/Resources/images/valid_default@2x.png b/Resources/images/valid_default@2x.png deleted file mode 100644 index 74b701dd85132d7a361b55f139cf70bd14907f8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1373 zcmV-j1)}w00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy00jL>L_t(&-rZPTY!p=#{?5$Z#YRbK zYtX1Pb{0^15z~l&tmF4C6=HY<4RVtp$K=HhZr&lh}pB;dcS79lK{{Kg|?!p-^Z&5q+XS zLz<>NK{JG07ZGg(Fy@i}GINKN@(9fUw`>Do0l1|A<(YYnlyVOg#x*%QIy&wHuu~xi zX5KJH4gf?AyX753v=>050)HT-{Oqc*T8reCEn9Y*5W)e_s_fjCQpz3xtUjyNAUPp~ z*j7X?+1S|lQZc!jBq)UV6u=4vIwgeY?(OXzz1H(JMKBx=zX9N71^P`05sSy;L*q)D zS|Mke=JU+_h4RmrJ) z%5NtWr>1G%#mqkgXd;<>zb5^`Qc>A0f2Vp$`zZ4PAJ#|p6B%yRKj$UyVdi&Jpc>^?rm>x z-!!HAsc;782qAU@XjA5fiRdZIvihq{uDiS2pGu|n0qFSuM~SSVp`p&BM~`NwVoL)6 z$8m=1>gu8ZzEkGrFmoap492QWFqKMeQOPm$PeO>UsgeT#eeB}&>C@Tf=H{<8O`8Yc zp#tn9qGtnvzdm=x=RDVScLf50*#I6>c6qg7 z7=OF2d$7WZ{6zpCDYaxs9tN+M?f>!g&s zZ`8Jay~%-rfg^!H;0%CO%Cip-4h}A8XlU4d@#00V3_I5hAPL}hC1Sp9+xF&iEFMjA zg+t7|1HfzrmbqMRjpI0%OZ|9fXJ2nK_9Pt|jB zx!mUfmMYk>bUNMbI8JU_2m*kV@}#co?Euaw@FF7WGfi{B6a@4;%>0}J{i^GFXMcbH zKjn_jCDnt4hR;3#ixv2HB3f=)*6|6>^9E*C14xRQ+oY5yE0KOmE_e(2br*nkRlhRx zDkB#}rQsFZjpxn~>Q^GNOw)Y&8sr`=O5`3h zud5`v3G?7YR0O&FdP_qM+kAm#SGjSFA4@i9}Xt_wCyZq*&4&eH|GXHuiJ>Nn{1`6_P!I zd>I(3)EF2VS{N990fib~Fff!FFfhDIU|_JC!N4G1FlSew4N!t9$=lt9;eUJonf*W> zXMsm#G0>*#Ak65bF}ngN$X?><>&kwgTat%Q;D7MT3k(d5DV{ElAr_~nPCDy%C_un% z|4#7_%MBeeJ2Er^CicFI*<>gtcI=1WzHa@*CIRz(&5jx_Nlmi?4md1iUB}IMu<6px zv(x8PtEaa;*jZ%AG9%n0yntc8yAS^)uG6c2+w^X47IB+=>hX=k`MctmIEHB6JaFuW z>0)KBfV~&k8Oq$I*9e~pQViUjP*<+A#%lS_yZ;ybu~SM(i%+**EGA)O`O;rhv9RM_ z+26Ez1&960TX|exOCL7XQt>)0_H_40|6`4-Ccm1%#(&-Kg~Z;s{w&8P!y5*Gy2mpwily|H`iSJrvi#ldaI z&36K$K()j*q9i4;B-JXpC>2OC7#SFv>KYpA8kvR|8d({dSQ(mW8yH#{81O$(Z$r_L bo1c=IR*73f-QM|DKn)C@u6{1-oD!M<%j)XD diff --git a/Resources/images/valid_disabled@2x.png b/Resources/images/valid_disabled@2x.png deleted file mode 100644 index e12c02d446e08b896045903e934da88e238b00d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1085 zcmeAS@N?(olHy`uVBq!ia0vp^7C@}V!2%?$gD2DhDVB6cUq=Rpjs4tz5?O(Kg=CK) zUj~LMH3o);76yi2K%s^g3=E|P3=FRl7#OT(FffQ0%-I!a1C(G&@^*J&_}|`tWO>_47BMw2s1iq%&q_mvX^-Jy0YKrmgM0R_#gc80s{lHfv1aONW|g2(_)L2Tt(XE zzmwzO^k|r2B;~r#Eac_V>tU&_Z>~+de(%@!JsM!asB+M&VPvi)nY z{dTtp3q@4T7`{aAEu9&Ady*X2;sat0@6z9_{&TCrZCWmaTiegYan>7l9dBpo>3uw3 z{knEGqukpK{0+}d>x=Sz`PwIDQcx|E%^<58HhC+LHy3ml`lMm#ob8d;cxu+fCL3p}q0%1LHIl zOqT!L_M?G=!*$mU^W)~P-FF|HX@0dg-22ADS@E0p`FetUoRh+A*lPaF6x-Q`TeVY(~j!Sxxl}9`gA2mhoI%mG3#^nzbzDPO!&%u z`N6!G_pi45eeR$7&Oxy;VV-!*w&w5$UB_NuI2A3(u`F2Xl}OXeFFW=?)FK#IZ0z|d6J&`{UNG{n%z u%Fx8h&`jIF(8|Do|ABfNiiX_$l+3hB+#2fk&bI<;VDNPHb6Mw<&;$U$pw^B6 diff --git a/Resources/images/voicemail.png b/Resources/images/voicemail.png deleted file mode 100644 index 26949d26e3447079fdf350e4f8b69d91a85dc25a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 462 zcmV;<0WtoGP)P000aK1^@s6m+}@%00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy00C}EL_t(I%axQ%E=55QhW|d|u?X=D zk&u`fNEi^Sz%Il{jKshOBnGY+5KPzs0|^7Kzg4449E@K?)<1OyWw)wnGSa`oVx{$rhzB>X=(8tA!A*$_u+7?tuXo!5U!APd}~! zp@ivxxZ`UK>=Eqg(~lcKmH_O~lSe>Lve7u$d7fkS>mhO1F~>lEf*Aul&2w?R2+n!n z;0HQ7!LGqxfj*B-`2i>83O(Nrb^-Pd3=3i{r-beb-u)shc@>-P4_09OBCH7P66{_T z=G7R)n$vp*_WTQ`Ew3c*XOe>cZlN^)W=IN|L|xKA6ggjMR#0^V_5$>JY{F$*_3)QqZ@^Gljz`5tEhM~LlJHg{;epl?PGq0o_FFSPyI+h3 z*h4a!Nv>$dW~*i_ck!%b^Zu=L=>PWO-^z9f;kpQZ09&Z^lu+7txBvhE07*qoM6N<$ Eg4`I)rvLx| diff --git a/Resources/images/voicemail@2x.png b/Resources/images/voicemail@2x.png deleted file mode 100644 index 8ccd54ffc9eff5d0f59d3d4e1c2f569c31af5acf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 852 zcmV-a1FQUrP)<27f}%fMFedkY*B%&idrXq>?=8fj4*lbN=s~nK|doF)Gl23Q4V!ZIo0isZ!EMDHxE{BdOOI zgG$hV`I0tCS}WPblBt#$mV!Y^4<$V@#)QQRZvcA}>^NBR^daC>R`FuFRzP?i?Dqm( zBM`O&3zG;hgRlc^SU|YnKLKqC6$v0b19l=I*C?nU|pUyCp@k}pgHEw?(*)M1-AO2 zHQt@+OLXxvGIn?}o&!MyZW-7y2R95XPsp{wb5{L8xdX6wJ?l0U=dHqX-qG6`fw}5o zHW%p`4|;NrOik2){pFm=juh^b#|W%fJWNZG z3LWy~94>Y0vpo|F{>bQ^!PKYOdvg4p`eZG4*-IE-$Jr?-Ii2u!d3~NWCsQV;-@Jgj zEy?rYViC`WegEqDVEhN3M5m;vgz;V01&>RrlC&~gU+~+Qq{lIgT`nott_(`*m-JIo zg`|2()e)vSF9pZ))-*ESBRuQ9Z~nJF3hYVhMe4zJ#we1^W-nMIF) zW~jYKORdzX=-20O_@2i-_jMlUr~A0)@p#?mjYpW@WMvj$1^|H7=oTD#t{ML&Bg6TQ z(F8^T02GVX*GCxX>qC6}yj{_rE&w2w7M7-Ut6TSSucK8jyWJHju|0*wYNGtu@TRPkAfV57FSox*P$Y3b>dBNyYnsJU)x&S zvmn^Jex;hnm%jx}nf8=ANpwg&X)k4=u6M~rDKsYCFiPn551r}mBeyYr-P1l?W30ZE z2+~dqdVL9J)~=`7ffmd^jMtZvt?60oaTaxWd6f1eVZb}zAHx^q+HWel8n55ugpbYS za}Bn-RtROQ$u&QQkz6wO`P|;zaZL`{<7ZGfAt{j2Y*(KfNa;l}(!1~=Vv-r(sEhM) zHGwHR?Bi6fRvtfIVt+#fmr_4Q=LmedJx($=Z!wA#`*yad2EL}-CxfU_`*PT@G-?j~ zRrJBCQn3a!?SWmtnoicA@+OTHb!`!L6 z&fp4m-B*N!IpD$z;-i$eWUbkm$?sF|-2|vqz-HPnU+wm8@%daBoJ?-Q&-FZx_1m7E z3zN?+TmSPBlK)E(Oe`C&#ecIC)z4@n8eYgg}}q)=7N|0ovd6~qhY$vH(X&$3b`9{!rS#W4D? zyX@L`bu0Qs1PfBxnae3Q%C6#F>aHcHV_6K+kn3t-;~`mxi{n)rC;G{u>;9j?pQf&d ztJ}u~$3JhZ6^4Yb(L_NQ|G!nv@JeF6NW?h#i8>`1C|*++w2{Oh+zn#Xr4v3_rz?#M z07*ZBJ&N!eHWkLz!z*KJZ8zds0a4l`D|47+XcOVIy9?!(`)J9mKWVzGVcaju6!5Wh z(+mu+?o>=mucViwB{Bl4f%MbkuM$X!29hq%9M8WtXs(?SVvAyaFS%LXr5CFTDYf;=5vhLjs?-% zn4WfxZUZV!aY2|v-yJ{he&N?jb)9 z1%d)@zS5t4AT1})C;sfqSKrZ5sULAaQYuhzHC2$(i`($`vM}sRXg4WvhA6{;-_eYy z*Q(Uu{!v3ZQ@*%pTQ{0THR^Tnvch3Wb|uCio|G6qqI8^`QPqCdzYwC?15LMyO0|K>C;El7ZUi3N8b7}@UwoMdvx@!gXd9$We zBX>9mS^we^Qzx-i@>8J_T8@3m_iP-P7O(WWmP4=<4@2g8!qh^+wQt!N80RhqErjeK z?dE&@DEsKKaq^+1@Gj%LtPnC8Iv?xQePWw{ySWXSr-vr(9UW0x@cb@i2=wKe-4o53 zoWf0z@0^$0257t>6xzOQNvqE3EyFaG$k5_qw@zs1gw!=SH{vu@@ir#x|74=0%YZWt zge*e`%T9;9WM~nR^a-v@F@BfIq}~Yf++M*&Q2a1_r# zy(tu>{?VGVOb8wrHMB9LV-|RYx`ON`{rGj+Btsw!o~jz<%VORX54iTkH_>A_o!@{L zc}s?ekOoQ8rkd%OUTA4|eiZp>{91^Y*~Vd6tyKeLKR0D4r%qI=k#X`oFsX&22zC;Z z)3xaB0N}9@*m08(c?F;tuaqv_-?EO7{WUeUc*2v)wgXO#~{2~;Jb+P4WxOvDf& zaH{^?G;u*KxG}}qY608=I()8dxy1UuR}6;DIj_PtnU|w?$I%55yL=dWT)97eB;(5A z>&=C?7SXL=Pz?8upZ_HY>gvsOyA+)$t8hx_YnG0d5Es%Ef$-lMXOZ=0I(~+FgDQWQ z)>`0|{~+(SwJ2Joe!Z~%sjgw;Q+u(Z8)frC%8`~Rr!hy#+t}gZKEJ8_c|~e%q>c)g z;{+eMnMXp|K88!P)v>CPyX?E*A0yqZFpR3?`nuWGZuOfnT;`<@gDJtg<{gw8<@Jg| zIPh6ypyn%g2_2wo*&4>QCj2DAXXX6-J|gEOpEc^93@qN1TgmV5Kl2Ky?FkmZL1%)- z@ctQ-78sa^N^=Hbh3zrPjLN9CR^|`^PSt3!y0(%V@rTONY3x3Ak7HVBm(4-zTXh1J zOV5^DO*M=M`#(cR5$T`mz1HYLM7cN?l4FG0wQbMtNg*37$QsvaC&ofD%!?OfM#f*& zYgxnys4L8D(XbYG=B?8{!WAo0f4t2(f9HJ8E!%gmuqeQ^AEKz^;A!|e4q(oC<(n_6_2hnep`5%4*zvzDKI>pvaB0O10Pi2 zi)fJeBy!)jziBfQnah|dB8EM9iT<0?Wki7B@r@r!M&^v;)Lir417edWyQS2Wv!5{R zmwx!^rGcjl+m0iPAk8^Ylwh*$0&7k}l|~w57RayvotMfQI3Y3&!*KfRj)(V2l@WUC zf433qLISJkrnNr|HD^g+LJ0o*3X`w`(EMFm3UntZLWn&l4Pz{>wY4PDt-cl~1w&0cTgSn|8PwJRIeg(oKrYdBmw_DIy*^0a7XT17S| zy8(P7GU|@Yv5tauXKe=s$uB=1-30CqkpYCuzGvD#%E= zaJpw3q4qSd$VHtiDTG8fzYib~9(jKc^le}CxJN(5es_K?-@L}wL3TK^ydP+C_!KJY zNP-Jl=tDwr^0+?+xU1Jt7F+&<3e{cNtn-MszSid?U`q&CVJyn9)hX?BJjh@=qLbO9 z3XgDbSG(D}Wan1Wh zM>%@PK$ZV=Rp-9VR5zSE?9OTG4L#K(ig>yHlit;9##gGFNzY*OFXnx-go@?E##N5> zM6;MT%RYvLzad}kq|0sz*$*pBJ;2APUD4iaGlh;e$b4h=9_ISa1B6f|(s3f8vgwQ% zns;L>&&DotcRl)KAHC7~mZDF_qN~DRmN8~BS9vx{%aU_IKA3X?otD(N_~(|1>0NH+ zS+EpF3`T*8kBw2|SUUOF{~XX}HBqZhw&{GuBltm0v_YK9t7Pjp6B^l@sqm6zp4b{u zbglAyO~;4B4T3+#9m{6C6^E$k<-!_j6r5-R-~0=bq3Qo8#`};?+1ZLY<)W?Gl>Yn3 N7#Wzu@v!?*{{xAb~`{up%Q>r44j=}|3?B?j_qOGRG zZn1a8^4wdTFZl7^^|RNeM=dGJn}YYW_L}qsFGnx8Z2o(Zj_Zuh6ITCR7Ph2VgYtB3 zPPY4mN-V`o5=j4R)1%dPgeBG4SJtlHJmy4b`M76qs2aWaAdx9%VWdowDTHwT&tA>K ztjJSud+}26Pl;x?fQ%1)HL+kTL`~gw*n}Cyg`RE+5&XBZG>bX!;TT; z7zS|o8{1(R9i05_Oa?MSDIcgpL%S=pEITNzB_ekw&r3w zo;sK1Q1p#W@0$LoI?|+q>dRbg%&%}{d5@ZAKzaarVJez#HxlV^ndGojPHWJx{_eBKMmRkB+rTMNBO7&rDD_J^IFwH3$lCe~R zQWT}5lu(=;P({8cCkQ4*zRBN|9o@bsiMWE}0e&!UsXHBm@DELkyDAI|$mN0)XaaJK z5(_OLM)6=v{c>$63%U$-?fVV^3`Ke=L7!~~)a5%D5PzbWMhxQztRcPPR<{p8!O1>z zBDUeSu??}@kHn|5<{Rk_S|h2!b+p*>*Y6elqs1og>wI-xPqs_l&vgY@7`_7&lp6lh z;Rz0E8{|d@?U?a!?ivDinB2&hOQRcvoR;tVn7bz&9BM72A8t76&_>tAs+~N2zkgA< zMI5hfV}U2N@b78?Npjy%RtfCLe80fDvd7vpEz|rRyP=7)-MlR5c<^v-IDnGGK4Hpa zuIdqR=#Vt&<8`349?5EabyC}&=9Hk^bL3i8IbAl|&Np`WrT)!^M$cfKfZR8;ZE|d|k&~!r+ZWlH zkglv>;y{;%PbypC6~($oA03OTF(;syh9DW&XDZt|&smx%U6=#NGWF|{70tHdCC{?* zO}R86@2#Kn)cctJW5YTnjp3DMd;5clXM#DUbI_6y0S;CE)Td4HvcXv9*huyCguW=0 z17U44sBq`TWKRE3i^zGk(oTLL7=iNc-dE))AmH!~b$V}vk&y0#IbgD{I$K7mslyz_ z!>&D3vHpIJ*0O#eY+RRPO`2e&X+|8ldAvPX_oU)+xnJg|@wo=`32kmMl4LI1t}Z~n z1V(0G&;$79=?-uJh$#tPJ~~smVY0(&$!D`RBGi8-GK-~|uDbcn&Kt;2wY;S4yB7?6 zvx*4UEf4l*#*JiBykhl?ANXy>6#cknokmGu2JGv7KCuqSjwxj>{TR9C2PhJf3MLv4 z4Lw)jv^hTn#m?v?48Sl7bGtuSKy7OM12qW4^^J%%iweu8OD`mCOvX~FMU-4;mjXOu z?uX7YH0?YE(c|E@B1Dv!S6yvw+qn_7@~{(=|5Cn9d7=523!AWv!bL??hD~AokV+xc zd$Ge~PXKQg>vF3w9^HO4q;qdzkUVAtyYUNl;gB*_~+{;pKCaaD1C9_I|%KE1{t!=DF zUR$qWnNCqj!F=NeQ1Z00`T7W`mF$vWKM)HvUolFOHN~L%>e4>`@>z?1U4-|0y5@sH z%B$1N!UEf`ea0v$8H=5fiRAhW4{qk**Ge?^^d|6n_hc<024WtT=wf?+qS#)0g> z^_I7vm%~rxTT?#>(HH}zQ#j?cB+;U_wfgV(c|bedG31$&IrT?0ag-17;$WXn9qY;R z&y&Bdz0f=lEE?bGz1R~;FXa)!u&|(41Td2AaD_2R0tkJ9KLkGGNYm-1w=m(bEq~H) zXU~A7ay!<@8hrn#gdCvVjfyq+_9M1kUv<8V?)vspAZIarj7-3i3?wvJ#k>mlaJIGA zcAAZn?G!Vf|si4<&eUKeLLi%3@JsmqnDTO`G;~byii_%K7WN2$Z1K3|O5jxZyk=Mi3a! zF3|pyeI1C|ig8#EGFAjbA(n~5adEjKGhYu%HOFxgZneC^Qh;CeSgU;cxmHSpbHVCGsrH_~ z({Y&0zZEK-m(cg8yRrkp(oE&gHNynN*H3O7W@y^rv2r8Hsm^>kmNgo5vb|Gc1XhR` zf0_VH8whDU&nR9H^;&cWU&+`RRy2c*YC(ojK`^R5n8%vQbL$*YiZ&?PBjD2q`O=I78qX{Ww>5s@u> zX|l{@P(*gwC+e$z;d7tsx}WFV=l2Y_ux-xpJ;!_%koWwZsL(sP$KT4M+r2fduHa^;(YZ2Sr zfN#)1e+&~Uy(iU*{hnr-U&dkltytSjz_)OUsl`2rNOQj1Tf!~}TibhbqYZDzPOj7O zZwG)PZH=J^-4ZnMLR#a4(ceAX*4cdD?tfE^moq;85Inu8I%<$~qM_vOIlj}w?M|5L z3IaD|6L>7R`}wT?i-?}^O4vE?(}eV>4gV#OxI-C)O`1&T z6RQTJjXl-nE}&FYI!U!(V_lwQkt0%{zXdyP0H36tV3J1cA9n@VJAVsC-sXg~Fk>gb z((He$MFKFg)e4K68k1oPzI|hRV`G%|2mX0w6Ra8*lraJyQa;7P;(pUe|5Q)ckzQN$ zsjvka+uc7UIQcI@x-$6>PY=NlOw0_xi)@fHVldIr{1pH=vty#KgL+6=e-ZwGZ;!wK zUFfwNSxLP{; zKs#Dr3jlP^G5v3$YI)0}aD~G#5rlvV870L*4lnpjicw$61arkyg3VX?6}D-6YAKP!nv-WY-x_~=4b9@Q>=uFHg?N;eXX6j}p?W{|WQQ6$ zc=KpXTb14WZsIjryVBh3KrtRl$=jM>P`=?P3lY3E<>-6r%%TErwz;S}XoqI8wQe(DCCeRixNh zN`A;}9U8@zv|V3&J+0+mXjdAggm+FMGn^F72>u|pW` zy1R!Vx$_q40J~Az^DtnWkS?87CBU)B@g+^N*&0xj?JmMFdIXWrbWqa1YjPF8gP(W5 zWY?l!&c}|BaY?f?6#9EsyXXwuDQ9=(GwFhveihAH4?VGa237{yU5%yn92Ss zL=Y$eJa_(@t#aM5_Y2fpFQ~mPb8KXXThgy$FbnfU3*7k7eo+7h(vBCze1X__nnow% z{-h#JdEs9j^v*Uo*}i}7cx@^V1;|YaPL2t{ze4%0M^4|&PuCs_00myzRVl|U&pQ)F z8)qoDjLZ|Ns_Y#x+|~?->9y$$@L5ZNDH&{wrA!%$8xlW$&7sVovbOb3j%@H6tqh1- zc)eLf5-o!IwV*1R_ch}&C$5dMW$Hm8Hi9)AyoXDiZ6RUGcizvKMoOMuk*Tim$n5^X z74)T03zDZlcS9tkSEa8h<<1i3{8h&*e2UXP{mGgm1`hlxKUx9!vVsA~8>RBB%lg*) zMcq2@>j)yur|m_)UX%14AuZTUqlXv6Ip#duZa#D` zR#h}Y$>8xmb|y)+z0>M{dXh7+GL`aUTiuC!Y;Z+0S+8VvJ9e(Hk4ao2%_2p$@wuEd z^&&wV^)(7H_#rV(u*ykUrkFM7%EXHf+{mDZWDe;2WtQ2M*VQkslFHqj_u5LdW7&dv z_9K|Y;fumHR!uEN=vPooy4QQ2mwD{&2y_)k&66RQ7+sNPornxRd%w<(+il^9=uWkn z`WC^MNlmlZ6+@-NMn`&F`w(O2l>6+{E2|*{3k8ty(#MbEhDt5ka^VCH0}QWeL*vC6 zc!9wovB8(Z(z?*DEknnc#l7m|c^@{TDeK*j?;HL!7<2E5<35AHphO5XGb!}oVRCae zE675PWcVl<#Vm)q7e1Q?j2ForHgBefxonPZyVvCn=u?xm_$#rMmK*}K<_xyzH^HO% z!qgd$$EfyJ8L&3uYBP#;eY{Xu>3n|PvFrV5N%t#b;$I^F#N4_l#8+$?vu6}uH=4V< zJ1IRf@&uXeBu&e_h~#EXMBG&tN-(D`1dTyiPU799>!8N4Xy0(@^{CS9m*ifHwQP}4APueMsfFDPJU ziObM`n1q;b^~p?}1Px2}O#{%kqSa+3eHzZVL71s*3Pdr(8Mch|LI)oao*sMosmStW%IR)lq7H!qAYJrwFZ{`U!OWfTOIOha* zebv3;CVo6{_ow`;+>_6cP=-UvyA9@|{vW*BoRU#F7aKme)>W;L2-de&au`GJnO}q3 zmPq#*T#C&>P`m=2O~!(=pqnnD3mnhyvqt3VAq#|6bTfX`uP5`0?ctx^wd=#ln%m_) zib%`qgg0w~Q&%6oK4ZQr10d$wgwitUgFfnZFCcQ*Sr?i-f}(nB*8!jk2aV0VkqLH` zqiUk)9zT4s^d06@Aqi!lOtkzXqD3y-Ax0#4d>Q)YrIyWG`7tpCA~5|f8?C_960LOHd2H+Q(e@|mE9@}w@}*r%B2|lw zX8;Ajwj$M*TGGzfRBt5X{!ZpJpEB>oY%2lu*1M)%DtGRMt7}*RnnA{qXZcTG%>wDf z7UK<@wuVW4Uhpx@i;@1_*Zv;~dOC?FSezx(h{KtGeqn!oR?$@%u8zu0j^J$TD7Pz= z9;#kt5%#Jq;ORWp!G5DNb8Jk7x7=;Df=;&c&z$-a29M`@rP%%Wk(Xw^{)Kq;!Jk|} zc29+`a{R$T3P zEgmU?V%DcGdJk`bS64FhwL0+Z8N!W6R~6)ZVY<(!yU@AW;BR;8riMLtwssS1Nri{Z+67!El6>dDepLp7qbXg!5Zi(lJ=w*o(D|b!@{45r9!XEJ zW47LRA)BO4s~KLBl_X3wH`j=01`S7Rw+Qd6OtIm(*JZ~JcZ|}U+lWnzk*WnxEGqwy zb*e$?1Lw~^IyUp3%ZpeE=xVo7^<&9JpLb%NdvPW@h%XMt$yCztp2TM0} zO~Ph8_3jK6ZhIJArBdgoEpTE!YLg%)QZsxpPr;qM9C}(XW*{G{fC?9VX02Ab0bkor zbwH_xhdUdhb{RC=)F|X?vZP8*e9P?X=35*3yuE_8~C9gvRkKHT}!;{q}0hh0#p5a5v-%4_A z0EpY)&86}R?wYZsx($Br71yfw_bqPP6*A{VQSea?oVrSi@)nIbH3N$W4_px3Oe20V ztHL3*lbY*V^#nI-N8DgPb$hIErVu&H3gw={b`kvP znT_PuY3E2o+@KD2J3+!G4z9!ScS}KYs;je_DJt*TM2PPMsXMIaz!i_Ar+a=1b0x(+ z^Nz{WvhG|h zGanjr*1ebyG0QLy1`;12KZEAz72H+#hSVNgqKDbXM80PI!t-uFh%rs~4>&A~#Rd(> z+H@vc66I*s=LPQnh36`{!D6cCjuD}9M=|OeOUk3ww2kt6yabYVD>5?W8{JDE0(KRi zJEk{c5~Nt#Ic@pP41J$a`%G~w{`QTH9IVR1okzeZ!^bD!qh{{c={jS#llBX!CE2Vw zUU(#B)bo>S7pf28#e|1_V$+XcIK27knH##(JjE9b+5}BdNrhiqEGuVVkK@Ey|A)|( aJJd>j>Wg`g&As*SyJTWuu20l;jr)K6n-x+3 diff --git a/Resources/images/voip_call_add.png b/Resources/images/voip_call_add.png deleted file mode 100644 index f4d80e5f5f340e9585741cd6316fdb9ec3cd2415..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21446 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 z zp0k830FW0iPFLaOE* z(r&Ws=LBZ4&ec>2-cYQ#X=!%?KzUQ^R7Q%~h-OBUp>Q)ZTEBpg@1BoDkbSf}K){zr zSh`iq2B>Ls3`daBViD0raDM;c4L^64b(`8icv3rL(bKorFUK2lg%x>>M~;lzUjCH& z3o(OA`1P~1+JamB;@Yp$RAO(G7o1v?J|$;tkL}6F(qho16d;lZ_r9M1P$iM4@LQbE zRjP{6 z_0mG6hu?FEDk zRveDCZhI*U+T)M$JV4Ic-V1j_8j6@!Dz^2=4b_%-qXUGxGS{dO_=prr13kH5vSpA^#kTF+6zKjMxh`Id4lWb%AbwdevSc3>$FR}bcM_}GU+JbM zB8XjU(Y>UY?$Ym=i4_&(1xw%T6{rsHOk)@=#;yDc_a&kEloM=oglc~G=|NK+rHai# zn?+WeVHp_yz3-B2cK&p1kzB{W`o6&KQF=_XUzy(~LfxR5Tx)416GaOB_4sT%->SIw zd~qbtHfG`LG6Qu>uj3yq_tMksqH}PG>rkj&3Xm0p?t6epB6+R2q}Kc6KM9a-8@X20 zTvC2;gYT*&+UxB1=N&Dc8rFMql1=5gDi*TImAv-eE?K7r(91x}xVh*v;d_%Ca^GYx zHD2sQcoz{V1_%uxglpra>ilr|99tb#{8JBrM}eJ!BxYbkd%a}Bzh?_@6|E7qOFAUv z<&wx|il_o}Ajno$-sGv_T(jE8Q7X1hZBRVUODDfo&QU8Mi%cnHmlJC6Hy5$zT(kLC zbT{_CT!8TU9ZqG@8A33DeD#Qr2zm}HQCGl?y{(MK$m#h&p+%#Q=)&B}S9(nG3Hgf# z{*}^A@=d{E2Zbu#)u_F4)J6TtKKN>V=k8NayqUdADuAzCoky=L7RQ%sPXv_~TNA%y zK*NENdEF^P_d9el32wvK>dV@61XbCCMH2q~EjaE89V+yryNIhBZl#RN?qXeG zObaPfjYw~4XK$BlcxIdW?(J%=y{_Gd%5GodXeo2GWmGbCoO@C1obj#8EXAcR2`PJh zz4J)*i(o)G>W)K=_}bl__%5Guhnu-tP%9SMDv~H)66gsgGC(h&?7P-&%{nWqETr&N zchf7300d(fSLk4J@ZyOCAqUe0iog$1k@WMZJ;ixfq&Ici=8?Z*A8DW_6zKKMGs0hc zi_m#!I@Hve94F1SdbJw6SMQUr9HF?$CZqbv`P4B}?g1~?@A=(SW5IZw{JY(4D=|4O zxTnzR7l!h*C!^#k39K|8H_W814i7lv@}BLyJ5gp!IY;ds$;~h8Nc@1RAB(Ueey_Fm zD{L&`B!E5cvMQ#J93hUS<)WEKyUNUodv94=wrd(}+1V=F4WID>HJ?A2(>L09Jxcb* z5>JDE94U7S4>VQf%q@&{)+7JUCa9D`S!-uoT(ABcs+=LcO>vgPx8};diXP1VI?THM`7( zQLK(P?Fcu&Ob#-drMI^1xxRowWmD^c^rHwMG=O79DQRoa07BsG!@w??aw5=X4QOiX-VH`+&y7H0Gi-AtYbu98Uv#HcRIq*5c@B+KSuMF>!5H}|0MsJ4S_zQDrb5@01zElWau>*{~Wu^n%9y# z&*q^}x_opVTTYz#Oz&8VVlYFItQc|&g~t~mmB*|0lD4$>I^`D6ukqO?dm*eHs}4&T z^$uelzR}InD8?71lT;pds1z^Rrv!A2bopeN^%G_*^ax;)A{d8Oya|j1-m?djHWeQf9=i{Y6YAB3mz!89*OOri@F-jX!c4lX595 zG&TD|<8gT#@V^`|&_XRxjDAp7%arEmW?}yiZk~P` diff --git a/Resources/images/voip_call_forward.png b/Resources/images/voip_call_forward.png deleted file mode 100644 index 46a31902886b29f8722a50f416340984cc00bad2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22196 zcmeFYbyOVNwl3bdyL;2PLjwUCcXyWr8h35nA-G$D1c%`6PH+nrAcSDSB?JksLN0*J*ec1`#<_UCXEhWBZ-MK_GRRAE?j>kIG$0D zucH|HIT_LGoX%G?#&zXccgBD#8fyQ7i|(t$RP7ef!2ODi%s)b zKiJ(>{>|NIjJ2wCoOjo!E#@YgS;O3fLV^3bi1e#8zB=phzi#e+1b)>L*hnJow?T-7 z>9+CUy>!-hh34%7r*>a@p1r#9C7lA{Mwr{bj5G)7!9Tkw+f~DUpQ^-Jx-hTARXmk# zUt7AgQrYj)y5P=M)4JqG;dHg&!PRrM)OB1ugC`G9IaywuAU2YjmZMfH;(NV=;1{IZEcO(->BJg^QErClGC!tmt-ZTeD@=}vV6BahDGPj+gHXe zU5|;veZ|D9Ox3}+cOQ$1gJd{*6%Hd#gzdXqT4-LQhNTr{;x%L<;JL&C(5Q%bH>9WM zSYWYPG%1zLDVoGcqhTO9#P4Vgt7lYQ;-KrY_Kr8dYTAcsQasStf%9oPiftYELg=VQIB|ux5SS#o*i} zM{0K(6tF0@M18#Vf)~5Lab{`_5x)`2Q@9CpqO+wlN z9wjanfiCW;mryzom^t z`pfYUv!4v)TYeT1T@xE93YrGWk*zi3Z_s^kGGi(=x^sF*rJ1+UR(~UB6q!M4`n}WySafzuw0*fptfFh^lLXNidIjzPk&udv$ParKOF_>~dZ$%KA z5>U26-y;!n!boPSZ0AJ^-Q%d%TX{v2C4jStN;u_aaF*(_-P)#=R?^$z^(_H?kpYw_ zcwg;pI@A9Owj5Bp`|IxeB}t!i4n0~9ua<~V%(vLLs{x9W>;>@QykV^V2MYvZM# zf1?ig;PM^6dQy3l^HtNHs%!)Bq?1bDpNls8dZ%=Q%L9q->LfMZ(qqD+k({0XOzLW3 zq0H&RHfl%^d3nIR$=>ZoL$dkEV@j8c#nTb@RAaw~J#0jaj*Vq;alE^NffeO;n*@lh z(GHnq`EFEFS+S>M97aQKOa49gC#p^e2AkPi(k~pO7km2U?i)B7R>IFM7ZoHnmw7(3 zpt1s)liiM2R~*|anC+4`e@X7jM&Ne4>+nl*A>+~}qxk0OG3Ben-^z0*vn6ws=&S;& zD~3cNCmQ?3FVz&`1}(Z63)a*7cCizd!+J7hIgabCEuAlnRfq@Pl&~q2J_UmJK!J7@ zD_vY9%=#!ix7VXgMthz5;kfHFz5+Ipy=F#R#9C%3Xa`9Gga79yt44NobXSUyXCw7M zkv8*tA;V9`ECNM3ED+|Dm^)*g&jLhx)eK?XsXaq7^peRLn;{!+WGoEewpnJ|TCB5> zuOaXe{IvD0GnJ!*&OZRg1$XaGlabnnwv(-qAhq=V5%{0ChP@+r5d@yc{XkmNb9Sh} z6x9Kg0Dpb?v9hrm%bvk)+}G_MebQ@QpC2bVBO3z0f`&l9y5DGv@vOn{D?CN37xnnC zMapesBTBMJt_;hR6uaDy-NVppNy7~m$wtLAAvsf|%@Y8%&rml9P1}1Zl~U4v2|ohj zBfMw?AN`z~_a55^@!mMep%j2_oIFGg*B>=_iyGO|Z5oM$gxB~SVQ>Zjd-{}i=(E%! z@`dGe>9hH19zu<^mDyA(Q}UA8*KEliV*5>wDJqXKAJA7Ten5oQ41Z9-)4j$J8V}hJ zsjD+u{#3aQ?bqX)Flp>%uaV*OZJz29Tr+5+Yq?$_!=M(nRO# z=HQZ+95@k9XB*2qqzSw92C3eGQQ$%LqPerqJ{VK>??tdxdJE#~8L-f|+J~jW@CK2O z_>ZPz0ZA`Sdg&>Z#nIkpbv0x!6cSR_JE5H;a}K-`7@D*ifZ);!Bp1jitjWlE;K-Zl z)h9sqev&xaD#+Hq?w~dOnmi?!@ZGCCg^(_(T|=VYkumX2d%bt_ZX%km-uHciNCe$l zM6sCy+4ruCtR4u1cAQ$xSCTq-PMEB*I?OQ#*KR-i5e?&V&?}~8vAuMw2*GcV+G`)Q z=ICCs8d=kM;W9mnt~6L$7E$iBS964;pQ>AlYmlJU-C$W0e1f~at4gDh^5PkVFb7&^ zJgbtIbGAvMR{zY^#S?mZ`rPae-8~s0c^6I?l#SNmmH*0k0QFp2nh62iWcDzIv@rQ8 z-PU|0E#smc2ki>TY`|_6m3KF8aeTbs+W@DSip+rzhb%7Mjr>+7HU|+;!?kb0*Y6u4 zl$zj!i+Pe_a?FIo;Co^zRkC^Gn_8kUwwZdXVEha*Rm%v|wQJDpBTHJt;BMjUZgj7m zSI-{isJA)!9mLFsMO&m?@u(wWcY7MeP%&}7kA~8hQ=5jU7~_jS{{&M>X3|%U^t@cO z-$RsYHA*AWLcL2sle9K_APUF5tSF#kW_g`T?YyY^%`y|EBgy2g*xaX*i6ORvy3XO% z_BKD`MuHAW`|=FgugNQ4HucYBF{UMb3hGy+1_+f%Vs_v=9~_0)WIi0;hXEcu$ow3lZl>voaGFPM(+@$Mb1J!1QM8$P$fjflT< zU7DtC5e zPWy9590dEeu*s&SG~$8Mv#Awk_z=_xk%-4QegH|xdIu1mn1b;uHxK_6UQt@Qk^huz zvg`=KnAr%vfhAfI19m^c8aSL!YXqMU_mgM3s7WS6QPs+u_YO#6vK()isy<62Yvim- znTe&7p_W}AuwD6&e+^ynM-8Ebs|W*7wPyzRX5(&sC-&sNLZJhHN3FGc`D ztdWCppeCawI>#Bi6uCMAph20&p)(s?sFEFsN|QA&8bZjc1C+R=4V}qbd zWXNE9fDrPUb>WxB!w_(!U~=#CHN|TF5jaOZ%r6>YH0-9l4eRHhivXGB;hzVBmN0rU z?#4Y^fmCt@V`P6Mo~-&*$6ig!qwNRO6CMes$1c|ro@XfD5K0dOF*J2C| z;-!;bk_ZUB1j=d@~(l8=< zM*22fzuCOHT~{Vh4~;OA0JK*F(&{nNQIKWtcW4ZWQ#NhSp9{esny*<=sgML=YiXsH zM-@)PbLmHQm#e<~3Q!22ne)ZB@QcOOPtrAr$c95s7BHk9i)NSp8Pw=P9Vxc7^GX)J-m6HIo8H6>Lqy(eSE4WHG*$kKT$cYA87E*v-Jl})Yex;-v%%T`|p&XvrgZ+ugn~?(eaGE!gDF?gK%;oH9XE7`F zK7XVx+8*xd4(yfi+C2OeP}s~;ft{D4J&7t>?%Sj+toBIdRI~R_w%? zDhco?dZ4!d)}0-mSGlT2+|JidBc-PwijES`=xPhl81>#nJZ318A)>b}*wH%y=YE7a zT=;_(>Vo&0abj_YdJu1^nme*XvJ@-fLTZ*XUHCC*gUuDZZ@5}8V6&AV|@=6WmQiECa zMXD;LZ!$Jb$@{{e3p41S9&dJkoi)9u-;c$BQ|6GYXn@K>zr+A+H1V%G*e>@c@!($K zJ)?`XjcyABxZ^$`@V#?nnQk~&OdtBeiRDyZ?h%`1Lk5w0B~^yGST<7iuES2?fwR<+ zzXalze3Q+&T{a?%ilK-s>Fi{HyU2hVF8BHpRaaf^m0j}3J&qyx6h==KcZ3jvSb^rp z*zi<|VF+P)wXs$gA`r=Z;abNIRa#PnpAo}F%mc`G63XQwj|K;+R|WP-s+7>gWHgVv zqVZJm5`BpH0OCQf&dGCNP!8=En~`1BVz(SdBM8v@u6Un_JyW)x;Wu{Uxhp(RZCKw6 zCYl8!w@jw#fE`s#go9;kBo+=|DCUGXS7uSNs+~6JqL4L!L_-U;?Ow2OIi5-f?+B^^ z2_+9!4H#wgGFnO7zlOUC0k{PfoKx$MG&aQym4~QfjOd6dvXC$8kvF5fAS{dvltj%| zCs~{fU>>i~W=RP?cS#=kt&$$|08RBBLQjbVxO|i6`+S+iYUfh>Vqk}GvNxSDW`%|4 z6GY#`RN!q&xRd$EqGCe2Z2e@~1x$QoMV7}D_t~6fO!jK^>z5;u34oqI_?o!{zke>2 z4RUZHKaJFoq%L%0FknI32}&>iDsLUWSU#rMR+z*r>ne`LGzarjrwIZf0c=FqajEJC zUw$ovM`novB(9wH_g)=8+ij|s!H5y|`P#2aqR`;8N%py9cYe!GyIh5T0#gE$H3IF3 zDn&Re=5#dkN4!$bn0hsiyJ8f6UQvjpci8+K1$Td$Z`|Wm`}gsi7M?&>LlpWVxm5D9 z__FC*)#F?5P01?_K(~j(d{pM~0;V>ZE%xdh!P|D<$T#ndKFAqQD$9*u@GXp}+Iu<} zV+HzvBdpZTKtK?5@Fvo=DjeEQVrXZ4wnnG(4H|ANp*KeOM-|72MOkK7v=eSZq>}^ zoWz-{b3bhZAGz|;w&$J^3nuvHgd1#crx-aDN%75VL?j*wYkG~@%C8r0s#)C5DWF-r z{Zh~jM5u3v(je)t5HG!DWLGyI#Qh2T@Ka7b9uVuEO8#0_FU>55w?ba76L-sB&6T{Q z=&iUsF-$KZ)#0|c7Bde}%i9tgC9Myuqf&MZ^mj0x{@dH zE@YAuYAGZP_lmnhGUJKZRna_Y5#e`H*1VhqabF;WwXPy5QH5s6X2?HRvJ&Hp{Mad; zo)pcLhNXmP`(jcJGKk$zkC1Aj137RouPDvg32+$R1(}{%e50B>@U^AG!Su^*2O8Qb z&9k%>yl@)2oWZo_fy9+^@P4dk%6tKKD{raiAt8grh#_WuE8GUDe^Z?! ze0wI}x0}<@;L7Ce?O9(9<>Ndw-WfcHavw!|tG_9MWZSBuLl1ZK^vyKQx{Al@<=sqV zPr{E{8XzDpT#X?gb(d8+gbYZ_3^9+c{tGWAZ4=e2JcIJ{<&UIo#WS@_i|r zZlQ;vbw%VeGEzY{@2VF4qp+8V(HW3GzT>(wl(alw5wA_VNk#m zxB9{=yZ5Tq1V*fgq9#}LLZ(VNK-Q2d7xOlqh?1O{jec_e6;>k+$Jo60;m#I|(T@la zDl(HB*1TYTZA;|s;}TVg2G8z+vhwW4(0UOT-i}1b^8qidq9t6j6;fSeK$*{;7Qq*@ zn5*Z&5*Vu8m%>oaX!^SD*2B*1w?w~EJFvrHC92wtN^tu?ng|RQqJ)(6y~7=+wKA{z zS}!*eOBqLUGd%=&%^^XzEH&5SCJg3zG_Bp+0VLKmNmOrq$E#wQrPl5}g}@N6$?)?d zgA^zMj{#-B;rLhjPwNZ;nmw4^K*i`l4LMFO*qoA^cQ9H6cB4jgi2#41sho+Bp7_?O z8vcw#v+YdnHr@Fphi~DaNN)FdG5~^_*zl;`GJFS-3lh%qizRS!IVvO|(f0V&T`Y)H z49?`5rNe-m4|9J0h+jP5_j*y`NNe;9DJplSug2OlvZ1DCnj60kK?vhS7(y0CI*_gX z87_jJn1Y)nH$_dH}DJ}ZR#~5O0mqd6yE^O4#7Cs<>yIUr#(6Us^q_qY~ z2s4w{!b7I|CP~FFr7D-05FTL#d>nv(tFm6NVt-%dR@J*l3qu=?fF}dE($V7GkG0?J z56k5t4-xU*22wL%Q8MvP6T&kz52+iUT&Iv6Mpg!v_jx`XXsk}b6)ZMKwX!I1$&$KK zk7+rbVlQGc#;nTfsZ))Hj5G?P+WO9Z{BR)MBdt@mnh}N6?n9Td*h4=UN!f(0L|ex4 z=JJDE&h9sH>FUcaIb@+G7A=X!lpKT4+iG^J9mkuCeoV8)dTaSu9u<@OSdUqY(a={u z+O$nkesZ!DZqn+xV^!t*>Ytc?ESPFn^)7u}B%{BU z**Uxen(4frHpBWct2k9!T;r0I?r@Q=Nh$AtB%LFt{S65zw^*%_umw^@oV813|Lb^4 znK>zJclqRpk%6=cS^$0rIyUN;#d;fhG|Z&RlZZ>Fg;cKv5DeRmwpB4YnqSf{{yCrN z6v*0U`zEZLmCdsU@|BEotL0nIjq?d*P>EK0%5!zf@|whcnOFkg1oK!uz9D+vEhZ7H zVUA9z^w?}y>lj5M(vm=rT0PGd`aFt#+y1E1;aavA&VN@kF>Uipw;4k+#zz7Umj|O> z$QtiZS(@Q~;xCKly4_IrB4m3XtQwee;7LZ?`-joUA9@9Ai(YqoyDP0hFA&#w#ByY` z0cr+x9b@dQ0Tf`t@K2Km1H{lOpgI7hT|Ibqz12Mmga_{#>ST|UvIXfM>SD3Hz>;J< z!$f(IK(?>y)CLW4!AKZ}7>1jnA{yWVdgR_$w~Gi7YP&E#a}Aa(&q7%@vx(J{ndQFKzeg7 zVtMubp_22K_P~B}N{)|PBko=ThCa{I!yNeG#{qLJ#a)nVW9+X;0*QP_tA=+5dkoUH z4^d%omuR173kS4H-_-Lw-?z6~Zxw6M*godgr#cyUjbn~|gYbMD7V@_I8c?P$?N<Fo*!Ix+ zWWtJ{g)AuG-}Z&GbZ9F17OlZ0$ZQCNRcss8g94Nwsku`8)(cg3Re;X6t3caa?LO z`=^-YzQ~-ff>@jxTty}QoRXtm4xd*rtl&}4D&M-zcINsEwPFXu``~)2qb32pp(*aiZwS4^}vSOJG2X64*JEC;_!}$|$8{ z&sLa-89}DA><_(omJ1Pr=v6WrZ@LMzBFf#ZM46pd%8YeR0Pj=76kVFo46toq_! zl{#f|yM6!|8-3ZA>;)N~A73SEZn?rPM5u$16pZ?^mVPh?1kX><%Dg-R9 zG=%7y{q(4(rRDt+Q?lOgAeLN8+>(&8h!=ab+mMW^*M^p<7P45GMj-tY@6BnMBPEgC z&6t#fbf;c=Xzg> zwbq13w!-~921&)WK$8!a^KEX0>>E33t_rF5)-!4iZX`$8)`(*Ewc;z(F$M3|Fd zAY?sKuggS5UMo~G`jZ!z0t2i)3tQ%h0H+a;a8tj*OfJl!foH1l>PDh4N!LXUl zq&XCwj9Qxfwau}>%NT&{XClIiM6GwsHi#%hV<233d$z;m;%;fY4+q_EA>7fX>j^UW zBJvC3f-6{>oDP00qUoM)J%PJ;;FQ?+kb#(Qvpm1z19H+ZpoB1RnSRb`zwZKdEoSaC zgyu2062V%EQT#^=To-#T9F1=Nx4AtfIYkEy6tj_wQS~nDwqbN&hUb)V8GlOc`%jsN z_AVO6sgQEpa64%amik8HeTCrQ7vw=FKY~s)YWIS~l$=n(sVrDX4CB*>I(cVhq%6-% z0Aw$5w4C*+WajnJBC*_}Oy~4%Y`O3vOVY_B4eqPkUq_)WAIu>zn&y|6uLPU(tMpj+ zeM|a2=VL^*e5L_!G4~C6cpC_ip$YY45|axXDX%M5e;;2-H?sgF_QY(Y(^Bj%5zJ-F zQ5-N8p7XJ2v8srbDo`S&x0GPbFTxsey@U$koyq2a)ZpHfucfl63xDmk;8D$`Dq(xQ zV2H?9X7d1`us8R2Hm9;t^CNQ1_HyLetA1~a{e{EiQYZ3G2e8=@GF51RfH~4jCqZV~UaPV9)p@Pnc-{ z7#Bd@pOR@O^L~07QFceT7jIr02Ww2W12Hfbu|DsVJ*$=N9eN$7{ts~Em_G1@6n{x# z6pXno=u!y9@nrfa0ab|{Daah+WRF5ga65!?^xCuhu3urg{z9hCXcp}ps`fm`XNVO+ z&^$X?lvpX@_GXB~+T88@rDc2jK)LixnLEizk0yquJet%j8e%e`Be6FTRdE_~aE8eO zJ>5)LKi9Uz(i?>zI^&*Hq;uFlJvl`3dhMj^wNyCa?_T9~d-$)io{7^^4oAlIBW9QM?DJ~8m5W` z*br5z)>L&DFFeZUl-du# zsukkX=yk3rIDC8!o7sr@pjXA}->e-M(~cmGa~mjt?q{(<!kN2tDHTIc6l?uN1@2m0uY2m$ct>>se=e8PSF zKFkZ96381GYDLe)jAC^H&*?r|z1|RfO?mZwsyyZW6oGt9gcix<^QnnQr8mGtmP)zX zpKm77_c^BRTc%g8cepS~nlr3wKTyh{#~Fm7!hw&<3(zs#jQF)wEN#UPztFfpfI2MQ zb^FH}LdbO#5@{ZAg1jAw%NW;6T=5SA8%~n&fbAH~j$e) zO zJRvwde4SxX9}Z^^y5AIka>!VDSh(A{!t7j}fxkJS<}RKvQ4r{99{3me)2xN8&(q*v z3VxseLGJ;xLel z`nSb{CM!F*uezfq{W+dWkR)ba0D z{id>fqT=SU07JnRJRCgMJUkqH=7NG8LSSoa4lvYO$kP0o03RP8_z$Yz>j06|P!t7$ zIl2EiqTvXIS-ZG9iGoz27C?3Ff6nOGIaz7LpueNW^Nd$eNI;OEAN-6@fdAREe}eR^ z+&!MM{5L5NHzyC@A2XH~5VDreE92?a#A6JCdW_AE5#Q|L6h`sKuY*_kem?S^lvEPjUQn%EA`v zY-9D*ZvU#a{}{LXPx6>YNC0fj{mh!f+}fI#gAdC6?5Pwi`JZ}~fR%-{jqL8H!7%cSUlK_w9lZzI-d>lf8LgpOYLQmx`WX{KJX=U-R zM*r_!{IkOT3m?H8+=9P-9OWRTc90br<>FiXn=>3r^e9 z)z#6?%KcyS;Xmr*e}ns*{9m>Be-i&Y>`!TF7gyh>W@QUg_jdj-)&D2JKN(c)EUcV8 zT>dN5{|@;xEPuP+KH2=|*wc0V>9&CDANK`+Rm1Ow@jv+YSC#z_YIvglx03%>eE%J; ze~0V86@mX2_}|&}?{NLMBJke=|2w<>pM?wkpHCL7oS*J*y`P>N*uN54e0t`9Y_2RX z^Yr}+AmIfkR`Ya(=Bi-m@$>@D$KM|~DdrrXr$H2$qN*&)E+#4t52jk};b#B<2vC%f z)bUw4$@LA;`;mLPv9TdE^WBmT4jxUo5mh0BHFZ-8o>9Ze;iKL0!V3rC54wl$pYQFF zJio1G!7mA)s2nfZl^rh++b^ygI@Ywq>9sC}jU_rlv1tACcHeAV|2!8~5AZ=%kdktm z{HXsTa%V@V@B95j@4fq`NN(A8Sl;vp-y@1~i4C*mXr8G~cTSQQdfm!B za-37~BnfI?guw6>q*GV39gW*FC48iaudAKsBJlgM(#{=DWFYc2DYWr|py+qfQhoQG z_pjH3s3Su6lKY!jwqX!aRT~6R$Nbz& z{^aRW=&7E1e443zOcRO6WhaY+Ma*h6TCPMj0B^?bsxfCuHWl3V!M)_A7U6EM0HAEO z)8~*S*n4AsI2c0dKFoh=_Jddb?5Fyw(p#R$A!$7^1G??nWgbPDUnn4qP~U!}{v5yh?|Cj|U$DRe9{5bGVM5kx3qh z-QHUfa77b4IIAPT;0bt{UnFB#{kHu(uDiHq5L@15QDAOU*_zC5M5)S~XBjPQ`9k|4 zIv*GMkR#uq%DrM#_x}(Q_pu3ihu53)-8Eqn{R_hK%vJrc-l#c*t>&`RTG6xCB|o~5z|%cW#*Z;;qBXn z2xw8l4I2u`kI!OV_6D3HSOXe91iXafL~?F6z__9vxWQ9FUJ%}=3K?4lujFjfF!=Bw*Z#I}G$ zc?o*=AOU<*>}I+Zi9#>jc7iUi-3yONT4bDd%A2Rha42vDAwJ+N5wm!^Mkr~lgr_Q% z19C{5KhjvsX;)}l&m-MtgbylNwGTI`rP!GwC2;WKCp*GdAr?&-&bK(x44NA{xhTRIDv25BG08iED3yw8AD0XOvO`$S4G1?c~9(ecOpsfMQdtm?Q}sgYE{HdkPRzp9C>OJC1wV1H=hBJT?i<%RooL8hMOE zNHT5WB^`4alI52oD}_s%Fs=h6po{(uvuhx|sYeCYGU@}a&urxya|9XDadA+HK@vB6 z|97o-DaEfH**L|r6RCZ4@?@WZ@kw&~d*4PKFn2DWj7h*XS`WKd+V2TZYD&IrZu!a= zsRC1AEq|$<(n}1m+`E^Ar>H&_-aWm`8g8!E<`6i`YCrMV+Xc`C>%^g z;Ey4&Tk%MuyaA=5riFj|rS4`~e@{Qg$SfQ@YjX?reil=Z;_hB=RngUEv!K9Wh zaN|Lmm+r{Z8)loiz+V)Z%Y#-k@HhzSvi+8T08_{3a_LS<->c6SNAyAb+2lf!T-H`x?~C zDtT88pZfEVoy~LORhS9h_$<3!bFxinR0t8SFeMbOU*PALg}Kl7uhy0Vab`|FxgpFj z(@SuSy`kKnL*Yb_a^N1hNSoa+Z*V<6QSNXVXQ4Lg`a&o&f+ENI@jFFP; z$k(Jk{2&ts6FQ@u&29?&iIK~UEEy$xN0(RDt&bkC)^yPo@1o79Qk*JEW<#vh=Y4p> zZqkjot+zoPH9C(QH&DwjbWK=*9$hudFj1@?7&dZu`UW|@I*Oo-&_Ar~Q{VEU zxIg%QYRpBbH2t7nvbXV5NXL zr@O9^H_;+`DtYYp*|&Q0c62J!!UjN0)gnf8lV$29l|Fg;6_p=l8fv!QG!GCH-KNAo z3^ZMZxKF6KZUAlviWn@V>f!SUh-7_V!{BNfX4k;netKq47j`s-kjgI-ez?W4#&U&w zfv5t7m=gpfpAm!Di`0!BAPI=eJ@qw}N5cjWym)cC0FLzp&%`V@KFn@eOPSV@#m?O{0a6&g~O3=UW%#lC{n_e1V8ZJpkYS7R_gbUGspTgsiL+iR{%3Q`Og z)5z!oy@sVNGMDU@E4uy!p**2}KcZXOGXqXi_`tn*ZTQs1x%1R`+Wt#3@~BEg8|}H4 z%|HR}!=gjPpy+(e{+n=(ilngDA1*jukf|ki@e)w{l_B`iL`LXR-wfU5`@*2{G47yV z+X8KlD{GTL3FilA(X&(5i}G^n@h~{oVDX(#sxwQRH`BApd8*|cfG08e@-0p(&2mm0pe2J1&8KiIC0xCP>a3m_!nlheA&@ZdUQOTbF>r( zok#z2#25nWh0oNAv>hIzkLNvc-pwt}J=c7|g`(TNsphSM&&_N?*4X`2si3>ow}*IJ zwZ|XvRK_YcE2Bn9#R9dN@%#cZ=Cs$m9B1G$Z;6k{y&rdxXcL%jq8@Rg_k9`BrGmg* znVrvNdXYt_V=0?J<)~e4PS$G^KWjvU7=T#!;<2Y?TB0xE@n;1jSlK2OOR?PQ!X@G+ zYWQj3)^p3a;hwRHI96YqN=kZky=G;(&G_tR_Y6o|;bsUt}_MHdkp`%Z2=kPN_G z4BCzVFx1FycHRwJ+E>_pu910M9e6igY6B})U%SOIz|(S5CMCvvw~VuePR}{k1xp&> zlAvil*NGz`#7l>5MbTcfQ*4IqV?qgQ9)tUzZIW$vfiB9WEF4Hdni40WaIERVXvxx8 zSRs}|rEICYw;`Bd+GtOnPrR|6zO*BLL%dpV2l(5~n*-vGGC_Tax4yU|S5wP8+4qiY zG2uk39v=bvqsEP7nKk{Q{cRz22uVf`IQh7R)Ie@OLPMP3U!PM@diW?RZ4V_aGpx~> zF#}I7v~AvQS%fB$3^knBR`i$A89H4IfPQftc=I#n;Fo;j@g(ukui4L0Ul%=dGdgT# zF?MZ%tLh|qrJ`kEFgEg|%J-Xo63zj5>JTAk1#N{8>C%1sr&W+q6eDEO=Sx#fTW)x6IWk(qqDMNG_bHnCT^=46g0d)>u zFV*-#tB7-M;suZH`e`9un%!_E+k$bs&nMGo!1GqY!d3$v>}^&R_uLRL$wo?8ax$#? z*wY0z(>M$ai(DaEIb)ISL++jpCla9Abs=lgMSD?P~Eq2I!kroNR91gr{7~vM{frqjp z3W5b5ePPV=!fdY%gGz@z-mcc4Gp!kS=^@oY=ZckkQ=_bfz&uo!1S#}Secxp-W%0UD z=nsA2s`7)cngxuzwhq5_8nzv$#z+WpD%kC`+zVa1Mm()C!o4(qO&&9Hd2J0%GWJ^m zb|64k|3#dBG8)<=Uy(~fQU0gC7>uuozQdJ#aisVWrOmCBOrJiv8EK5DW=oA1G_o_> z$x?(Ahs7s^`E?+<6ZH!wm+;)#lh+{-VQT!a5rl1ChAb>}iQ-|osV1j+Y#E^AhgJVN zUK2Q38&#ZTcoriTP6|*>9^_)70?c;| zk?tP_FiERGZaS?nVwmSpm>_DfUPyOs{)xF!w$s#unCtU(hF|zdTdmf?vpJQg1Q0(s zSq!8Ox#T3k>CRB%8ekbN!1QJQOS`TObyNeJp0%dSuiBj*YUTDp%q;f-ZNJKn(C_+Z?{JjXStz8UXN~4mI+KfwjcdbZbCT%9aeJ^a>C~?k5>FD z?T-Y#E^Yg!t$hO}YP*T!k&rBUwpk%W?VyY>a+F&zw>WsX zEX3rcE8%I2m>=Gk@zJ1(A-mU?6wFWl9+3n|FTU|Blam7b=xjnN+&!klL#LN$*C_9QGjYb z?ah90n;4Lt?7Y6S8Ucqbk-^gt+!&jLmwg<3A)Cl*huP&JRN4odIEHTwK2=+)^~pZE zt9myg$wwBUVZEhv(bVw_hrtdt*k(}XH4|-;A`vBF9A70vsM8Ie0(Og;+-OY3?avl!;!FUhTLm z1&6rHog^=Q-{bY0qQ?z4yf@d9PdEq3JGm#Ca7Fh%BSpihqD7rpF}S{r72|L`i7h+) z`gJF4T>F#Gx}=ppXglgHTp`}mqk`C8_!4{tie(zozD1&k2%W`go108Dm3+hZQ`ty_ zgv90mO|t4DkB~mN^_*=Bs|qyRq>$*{RRX?=)(1-l_D7eutlS+~hreB2R#j&FG#ov*&8$Fw78Wu)hU>Q0oIlzkn!Y1M zrMStn*`|2}WoN>MQoyOm*$&Na&aVx;BN`>+w_q=oj=EBuyRL-ZywAS}hnh;T?v{zD z8_Tq_LpTi2@en3(TVt|CN#7F^67iTXkUpyoZkQ>v-Z?nOq!wAoXg5NWxH2q`LLwuU zjZxRT1R=q5MVM>JrH5}kuu9t>KOeUhd0}1MgLm`v?&PA(I!8_@ie|4B|4(JSH3SIb zMT|Sj9;O>(Lv#2i1ei{3x%Hhqr{zV?+v_Kj(32-7YfA(*r9gOl{>SEj*vxG>Y*j`k9wRGVE7gTOFSrLRT zc$NFv6+d_?bXdZ5_2ZlV_ghPO;+7}6o1+CAt@WS2Yv&w=TfWK%0m z(Lyzb9dC}Z{U%l{4AdJUXU!=v=Xc(+a5K&nb9t{;vAm-mN`98zt+Tn^zOttHCbIw| zbYq)QOC)oQ&{@;M$rj`6p|&|v7Rx-WRbeK6>H`biD(x)pU=?%jr(7xx3BXc~$@Hqj ze%iP}{G7Eee#(BHaib|Q9E>~u_A>)2ARFrgQ*FE8CKG@s;q4Z$nu6{Af4*QRLek_(167W_&CnQC}>5}J>4i)e)Z(BsgQ#Apvx$24-ytg4a#%36H!u+^ z#_?h)OIq)l>>=#Jm&Vqz5cbg}Fuc&2y4$~7_sl4*tyN=G$1s>ibxFIcJ`Lb=kHleOq^CQ5^c>xhvFdwMB{=(%h^w`5p+JsmY7RjB@yuKtw8 z!;oEfBUCjXPRQLg*h|ga+jiYRs6Z}BvaKPd>Ohs6)IT&o?%)x0=RPtd3|Ec!&9t$d z0@Jmrxv>CMs({gHh|)d3uo$HLVN&~YTa$3AD%vYVL-d-wa=$yGg)Q&MR005j2xoHt z0Ab>8AziHWXTL4=Fi#3<@XoQO}OX=Zwo9R)5UdK!HqrK+r~`-T9?Iini;y6&-)oAgAWSD zr^~-GvpLCi(IE zma03lN|rGhK))$uB>%pK%U0LN42N4PZZT%dnV%&&>7IWHXUu7N-1T@0gWLVyjXg5XKP9g3u{Dx{Ln50EP*9_K?QTfDP-{ z@w4wez?$dJ>|m^2`6RPz>kuGBH3$o~7!$PTaEg}`ZwEil{Y&ov zKY>_H1IH1XL`bWKSnH;9-M93%vwG&vt`0)As8Q4cLLqXJACxuAx1u!J5uu)L4pG0p z^60a7x}=Y)5{3e3CGdU`J`;uNO0!0&E_ z`CVcL+nmt^vuo?$aNKeA{I@w%*#t;IGlPo4OHtm7Qk!?_ao|}+f1;vCwZ(OG?0t26 z|2u}Sm+h;rsdrwyRrQ0gOU3L%Xo|e|33-R1FyfYJ3PVtm5H^7qhzeI-SLEZ`gfpM+A~Jtniy$BK8Y*p8=80NGpKww^fGJxFczw~7}o|D?6Tq%0OZPOeA{Fo4o=6vh3SJy+_}Y^1{mP6NSi9nB7QE{N z1M>2hvWj8Y_K^L*-p$lY7Z4P8V$$(T5pKg34d#YR+ChFS$d8PeJsJvrD$er%e2m7U z4S#$=3aVMA#JpFa}q(A}5CMWjHVg;c5qx97nYyB*+-` zGz(*OO}%^h%K&i8<@0LU@`v?&V9BR38Spdl>A13?_eA=ydt$4=D%Ag~YT-6eD^_{x ziC?gL*Jgqs{l)=g%S-E+J@-0>9NI&3@gxj^da*ENt=T8SX53qC21Oz(o)iLd|=wV(`$Byt@7D2M@gKy&tD~ZapULqdvnGZa}y( zis(&>sfb+YJYyXkU2CV*FYe0dB^W=Te8fihCo&iI1%y#{FE?^@QZ8X9+FkD>rgLmzY1Qz72 z=@{@J@UH>>X5R!{So940gDU>%@0R{)0RnK#9bd(YtK#*nC9s+>!X#jh2=9%Q`_P=Q zc2AVVy@%uoE|d3)!WMz;z&>lVMXaad-oBu8_uZ=^#!V8jDyj-5$}XxJHC`O3MDfdh z&;S4e=1D|BRCShEeHX&~Jaav*Zk*G7lF2+Pi5QCDYld$u`MX~4h5tqXQ5prsdQSmim+ecDMYGN_1(DkfMKVKZ${z$QO*pNT5%E9PN3CTIifC%(SVzB z+KkI`cDT(a1{#kX*K!xBmI-2Q_GJX6QNF(T#Gs*U1Afqv(N%?Bj2OzjUs=qXtFG)@ zgyW48jwl^g!Su_ksh&B9Ae!6&?xiiCz2mMjYwajpp8QInj-KbQ_e2^+TT>A@T@g2B z#}@`UI?C|c>nIY@<`+l*?kUW40FgUEe(4!KmI?&VbGSiMeF6s*nm`T# z2L)*n8>RyhYa$?~&6vfOJ{FVz$pVs3pIo$r040XtxtCwMR!A>~2~xhn__)rl1W+VG zu{tH4ooOGBRF#d)UUBSZ&W33f<(k$mm$OXlcJ?H~*voIVm*0 zXema8KrAYBZ<-?;$)+OSa$PZxJ-SDV6CRo=6iJZv7@fH#XgmR_l)C{^XnytqgC)qnj5yLN2j qJe{ZWbe_)Bc{)$$={)_Z(fI+=7iuBkXm?v`v!6e&k$CZ$Q1Te`^Y zgy?K&u7{l|tsx!a7$e6m<9zwmKfix|zvuOOKF{a%Jn#4O`g~r`=lw}1cpg^VuDKlq z0x9BLoqqx%ZPVpsfHlSz!~=oAS3;be2skGvor{s-XF|e)K_H{-#B4j)-_hC}zmptg zu_*mlfC9JZHN?H=5%OuG2)-CZ) zza=^GKYO{=YrPWdRo)#=Qj)7}r^0}tP^VD%T(Rd1TMETBp0l2-$HDc<|?1D^|lU=;B$%m#yyk(tA~$GqVA5%srs;0 z^{){KSoz>L*ZRwI0(G%pA`lx-{?6+t`LzP#a#PxiiHVhrP{c1zq8uzH4N}L@6W7Ns zXG;D20$n_AHQau4zzXcx+mb7sKQ`6UwP&)1u3;^;T9Te(??OPP}6e3Yjt{ZPV743XTmq_mK_JL7 z&KctsKO}m8{v0tF)H1gr9CCcrwW8XeIj(=Hz$Gy34=uS-@00R4#ut^hP+H$r#;-M~ z#UfJ|y#NH&jjE@1!)R3}^|Wp(M+X@VIho-)@Eq1Xc>$q>dfg;QSQ5l63N{dJZ)Qj{ zqrT)j6NOQ;)w#ho9f42j$amb;bU{EvZvz7oT*lTnGLz@_U&j#wRcR&g943%(H#Nkh z;|O$LJXIA)(7s0f(gz9msIr5&-GO*eE_T?7s8~6q5a*D+cItq-{V7zAoS8a;H@zYj z#MUqJDU`wf{L64+G$R8V8i2BGP-o#^E*w09O)s-za#2iC$;XN?THd+)8A?av3CFsq zXN6a_W;@S+p?mJIg4*ogp8-0$T-{ik7u9a=l>oP$FQ@6Xz;^Lo@n5yoM8CQ(%Z6b_ z(Lcv1@_JBVVM`DDB>4FKh%j9 zMM=GWYB|idPd?!n-o1}>5Hxz>soc>_(emS<@VK{siP!e@z0oto+&I!J6x3E!rdhmm z2NQ7t+m)wU3I%nKD$~x^acm{I+AJ}%`5k>&eK!8#%Uf*VI_bN`pJ&$E*p`x96QBrc zCYf%SrFv4jEBb52MGwr>mAxq8>tplz>s;teWk_^ zJrI;9zo^TyRyD+w|az3OKX zh$cCQL?p|ociyF<>O1ddB};+YjQx`6O1JVvoxdYKJ4v&===&3c8qJxKd+-grzLG^DbL%AX8 z^Gfgf$02?ZVzlL$SkkTw&&)s`BJ3vGmAo0OW}BDw%(oQ)PYJiFo=ttZ;SIM|Ku)>l z-*!y)=`DEyfaAE7uh8S{Zww8yZ$PYq+kb?3`n&&v9bZKQIt_fbki1DhJ-N*Q5bo=K z*)4pDGK~Q-Fmy+3^`YBu3Y=k*xYd7?_?il^qyY+4#tpBb0MvE>C)o$I^9Oph{y%^= tzuJ_r+LXQbVR+lnK-PcbCsh%^*SFkE3^U~I{Bb`J1#c2+1T%1_J8No8Qr zm{>c}*5j~)%+dJhqx@Q2X##~O0_N&;h!tMZ5?Sc9LNuz>VCNU^Stcr)dVNjV2M_ii zUDe#Zc^%)nCWRl2kDfhS@&Q`` zvd}kGuKa8QZ4EQd=p_41n)E?7{yWEquX?98|2hBH^4FC)M;jVEY)*=<8y$4SZbf7!hnbi@k|=b!T5^g% z%_ht;zwp|r&})0t>k}=Ouh%J_`;0><;)sw+M?iopXX=fPORFX)DZ2hHl>fis_4E@< zC#+_1>thXB;8^zeLH&o_(c1Q=FI8I~J3Q}xT+_o8yW3&$GmHDj`z~8BI-Nf-_1>rO zR|n3hzuY=a%#!KX_Qvkl)0VwqoNj&K!eqtSo3vXq*gjW2_}jBjlbh!r)86d3{Ij)l z>=-g%X;m`I$S@_do{IZkSzcb9|9@WQx9`j~_ls8hJ8Me;qlGQW+ua371Hn({-St3< zv%n*=7#M@sL734=V|E2lkiEpy*OmP#rvQ(X*47*M#TXcv`8{16Ln>~)z3cBSk|=ZF z<9xHsX)S5&o?2!eR;4d}UnsszbD6$wFW2Jl7gS$K#ePjFeHF&i#NxPQ!}PT(%ty~$ zvrk>VM`X#5p5JfYJg=T}*v5ME{JGC>Hr{<%Wm8^f9&&P5Qu(WMTaWEsEVKD`W;>@w zYA2`0jE10nGa8yWHJ)~3aGEsZeH;$5i1;|HbT(jQ6%H_9T*?RHpVSU|zhS#X$E^on zJ33aZKXc^SxvWh6e;UV|GUp$k@X4KP?@%#_8P4Tm3ay)Nm{BivNjK+YBUEpLGTMWJW@k zJJ6}D!R^VXgn*7e$P!$)Ac2WXZN|SkEJ|h4%Iw`by|6Gr=jOj@ z=FgH}-qxOBC3@w>g|kn7*IWkXn0+=aE4}W2iu(Cr@9M+liL0bmJUe&&)EtQ!Mhv0x zGdsVob@S$X^7az*jG`Y3%j#U-%-?_GrS`dF8{Y{pl|OJk{_KxE|Ez8)ZfP4pv4c5t^m;=gs%JPC-4D@5D1XR^31E{u;M5ywWhrlWpBm}jB zy?Kfsq;$z2u%RSyUbT7NY;5v83DlbcG|VW#KvPm<#uOeAA1^j8HC1NT$&-kXt}-c4 kJQX=X#d8ui6lDEHx+HJoKL+N^^PsHc>FVdQ&MBb@0NEftE&u=k diff --git a/Resources/images/voip_call_header_outgoing.png b/Resources/images/voip_call_header_outgoing.png deleted file mode 100644 index 474abe754b0051cfdd73021362c92862781495db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1274 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 E1$P2pyZ`_I diff --git a/Resources/images/voip_call_more.png b/Resources/images/voip_call_more.png deleted file mode 100644 index 73bb13b363d3bc0cab33b8fe1ce80dde319c8aa6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10488 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 diff --git a/Resources/images/voip_call_numpad.png b/Resources/images/voip_call_numpad.png deleted file mode 100644 index a0fd33835d82f0b1d0ff425febce3c36fe8e697e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6726 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 ikX) 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 Qe&^k?l1dVlVur#03nY?;dH?_b diff --git a/Resources/images/voip_call_record.png b/Resources/images/voip_call_record.png deleted file mode 100644 index 9c392dc4777ce1e62c22ae43db8a6b234bebed97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3890 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 V;L|R3regpA002ovPDHLkV1nCSOc4M8 diff --git a/Resources/images/voip_chat_rooms_list.png b/Resources/images/voip_chat_rooms_list.png deleted file mode 100644 index edf722c7e5edda4a64fc62f01a43e61aaa3e6136..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4105 zcmaJ^cQD-D_x`L-lqk_HK?EzSMadF9Vby&_Nkj|LYZ9XGZnP-TH(2E*L~mKW69m!2 z60DZ!qL)}DeC0R4zu!Ce+%t2}%rj@^xzCyVL?ZMx>1a4<005waYiSr>Wz658qPRM} z6#+Z|fWn;A)e&%Ybw1CR9`;VIb^sup5R`CVs}sQzX7Dsm^aiCugi$XdQ!FBCE#FvJ zEervv-mu;uRdyVW|5z_iQ%+8aVlAPE4mHB+X@VCRBGS{7a-uQ5R)&s@iy{4I@;jNG zLC2sAe{7L`4|}$Aa)NeOnC@$1s@5DXbtA?BtpWV1h9vdykv9YH{Em%c|JhttiRo7? z?Jjj!m9CuFPr9E)dOEAk2Hf@!;5U_SgJlX;e`=QZL)%_J!K1ZU7WrNWP5Pc*SkCIgFPEaX%*KKZ{9OR_hk)}?l>IkJ;}agU3>Cs zbwaUcoislG$t@3bh`RMhm8oCgoo(kVLYq(8!5OI5^<_tGnTPciFBCR9ni^O6YMrPz zp{^3Or`D5KR}_B#8z42|blN-wzH1IlG;9%>%i8JP)A0H7y_Yp5FePH$xfcp4ph z_q45UZ;yAPskNFDQza<~gSMjxE(5r81}sMJW_OK%RuX)}*X-FZQ1Z3J*QV8N^wZ-s zk0N3OBe>b?u=?*(?I|)Q5d=Z{RGXwxxTh4dx7&I#rF~M!x5mdCRe;i3?3gR*iMlb< z6rd!1>aeqI(AIP8GjwuaoR2E_KQ?Ki=q}~4Z0-4z_63yPLX~a&`8D0fe1VC>?l2)1 zO#VJ)_?t`Xg)~WRB&*~UuwB0psQu`K9LhU}SGBvx*m@UZV8fgvj6P()g$i$XxfL!d zvHi%|rnt`0uzaj0`q7S;=n)S8>Hj-e>U1$;wj*~i8tqypB8ArnjdHyJUgoTPtoF+s%V(9wi1&$6;*TDc@7!kg%P z^YE4b2i>*{^x+A=DX*`B& z$3S~9GW(PBIBCie>+$RroLbkxXCgn^AdbI?nUDKfJ}G+6${9OcVbyk8N>zMaEZ#85 z(8N)a(HOl)2duE4b8)q+lI&0caZ2oQtpOjXMe~Ap@&*XB0&-8ihr^!m4t^2y15rm6 z)r!2Rns^M_RWqMCsZ#>tNY4=gij{19U_E}Bgk+TM?s3mZ?cLg*&NBYOXZ}ZDF(*E> z_&2+L4D}&w?9I3t-ODD!V)68O6V0CvAWZDD-}E&-0te8$3C)=z6|q9ehmT>Pj+$Ig z(;n=eD2FfC030Y7_PY=X{-+e{aQ%lUU(wW*0vui9>@IALs~d1v+&*SKnWkJw z#!3I2Oo@KJuaAJFO$>d5?MhTxN_1p#Q~uzX@HJspE-^@M!A~^=b`|Jg3|E>=*33fI zA-Z?7+OJ8R@As}o#8`|c5XGN7veV?Bxj%CWCv;1Vjr3!Q#WNdJX{pE*C7F{RCiTqu zPu*~cQGYg(%Dht&-T2s6Q!{5zE;q)7BIbJz?w6aJ(e-ERXmYNoDqZ{}ql@dXo6>WP zoU`coX(gg>n!dw|evIds=~Gc@?{pq!)HbssDyqC4Q)1OZmu8Cg9Fwp@F}-VZ^N7q~ zQngTXo)B#9t(~J@==%`*5xXIGyW{dz(f$)Iw|@(2zQNvovaI^7Q`?m*9+3?VOXbIf z(Qc4P3|VL%MuA!??|_3kq(j0y10|`rKm*_H2n56}{5rwZYFXmg%!-#dEKErzoXM&4RX{ zC3b!&bjveyc_ryNd;fG=XF!W(>~wx|h09-F>ajJo6R~!HjGB}xTt{i&&0&&g!}PV!0X4q949KQf@IyyqB)j4 zJ-Uc5ou<#(UidY{q$9VaMDK&ihWo$#zCMicK5BGg*$4m+Epxd^xKHDmrdF5F1Lo93 z@^n2H7}+F`IBQ=#Rf?nrVBkU&n zN5OGmp>E{{#YWk?C;0j3?1wHF?>Q+ScHMFJ-&vkw;Exl5R8B~n*I^2qem(8EsxvP< zc~Aq*h3SDB9eQH(UMpSG7Re*6{pXsB!{Zf^TdEefg8LG$o)OUAZ(%-bFg+m)Rt0@3 zs@bcvKF6PgmYn|5B$KhpAKJDgv$pT<398kjAtxi>lv$fkK|)P2gMP~)R#{Dq8_f2WHi@fW>1!(1>)7vR%)SpQV?z37pd<^6^N zMGkEg-O!hLx&Fb!v8jCH0=yu^4odnhRL4?cC2oM<W<|Thu zOLCTxNsG$CNNFI{CH|zP*n@<>66+nJ&Hh-{I^75}j3bd>!SRE+dQD9ZEB0<4Xy~p7 zv^=O14Cf>v(3>w#l71%saU7j4#GiR<4{kB^os2dq<=f^`_YK1rj)7USNPleKDYIWi&+ zQxJ;VfOQ6%`E!iq=7L?_ngxS7gTJbt38UXhzc#9sVoEpb-Fu`L^oth2id!iv)W{z- zQaMvmyk?Ov#prd%Oy$2f&=Kd}dsyXf<98cV0|kTud6)bf=v52wAcTIpt@F3SED-Hy;6b|)g8KLE1kxoF!NnrS%%DG$tUs){?+G$ zcYQ4#6i;h;`)r6sKM4~u&2~wxq$(BBXHTu;lpifNrHXL3$+}^O>G<>GK$bt*Bv14a zz^8i?Uh$_D7Ox|sBHZ_}sqVHNs(@*eqJCw5+j<=DpO76ga=>kG4QwAcd@pI?lmtBd z&s2PUGmMGQ7ndab1NwqT z#fM=(kD)jF%ij+d(v@wV#+i?Zlpg!V@%3k<<-ktM4`T3!RzHfgnkS@f^7Mg(`)+5` z1%&_=%GM4UFC=?^aat6`BGs>NBH?%o{losqC(mv1EVC?z_q0Lv94fpDXIGHOG0hmC zs6%$kO19=UTzoNaoomg>fgqGt-*ZuW-Co0I4%~H1%?hO2{d3iY>=LN8MS5W_zveqT zEZz^clKb0tY5xaj;Kt@Quha+s?DP8rlRE9v0DVDpslb$2tBHtAtl`Qk)>jFH0*#o0 zFma{(>ujL(;wzyl#wvcUW9?gL_c8bHxuiczZ^DQ|YZ_5~?OUsX=K7&_Kr%?BS88iR z>zoWNcX~+_2u~1Pv$Sc{FCK2y(NLv8Ya z(pF92dF+b6+uD|UTM>1SheNlCyuq9$tv?pW9F8m$nD7Gp^hZ2wU`{vO$S1et$2+lv z$D#tb^_wH=o0T!I-`%^m>n^mY95B{BTvz5IA42k3F1WbN{kbslhlJktT<9hh|rMrPzqKw(ExNRg@#mdmwp6slM<;SeycA|9Tt6ktDull z@DJJ-iII~KZHlI506d$r@%DPr3QRv{Ap*FfAPq=+VfToSLF-Uja^seGaR~uobK@A9 z9H~qvmCw=c`w9At{fn-=PN}kx)X?=GURJ!8>1G+Qa?D1^f}5(bh|G`{wm=!r?PIP>G))6#Uh?R}rkB diff --git a/Resources/images/voip_checkbox_checked.png b/Resources/images/voip_checkbox_checked.png deleted file mode 100644 index 042f73d9dc6d4be6d8bedb63ae1cfb82dffd44c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 355 zcmeAS@N?(olHy`uVBq!ia0vp^x**KK3=%mav;s)6q&xaLGB9lH=l+w(3gj~u2e~^j ztUD+3638(Q@Ck8sFYx&v$MFB$hW}GS{>L+b5D+9VfDn+~YWx4e+5g1~|G&Qbe`xOi zHP!!T$A_Ou5C&@JDhcun2C1HS_kWbzqq-vxb^}Fsc)B=-cpQH_^`=m>0*|ZjhAhQ~ z|Npn9t~72l6OiA1NBx*(@stS~=OcUd(QAplliAi4z+cw3nY%V&6a0ZI8q9 zU9P5c1r$u@UO9f)@a?BcYu&k5%QkqI`9*%GlAN=I7Prrf&xv2NM4eJl$f z#pu2>O6mD??n)7B^1+?Eg5UqO>{#;JG5Y0##d~wF-kq#p%JV9-;7ZBa1*`u&KeNZx s@?-11qT}b7e_V_Co^5Xb^>sDFxuqg*7h+$R1O33@>FVdQ&MBb@09Zq#9RL6T diff --git a/Resources/images/voip_checkbox_unchecked.png b/Resources/images/voip_checkbox_unchecked.png deleted file mode 100644 index b01cbcb1e02375b3689f0e673e1a71965f470c6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^x**KL3?xsO{9g&ASkfJR9T^xl_H+M9WCijWi-X*q z7}lMWc?sl52l#}zx)=B?TC`~4!i9?$FNQGw|NnpBz=21P9%=9I1R2U&666=m5c$wy z;%a+=n?M04PZ!4!i_^&o5;X@jL_{qdj)q=5(!B7|!iP^!EHDvJi<{QQ6Xkx?{V2Q3 xo<+=(3YXNS8aj6`>eO~PI+Hc1F#%{AgQu&X%Q~loCIH6jOoIRb diff --git a/Resources/images/voip_conference_active_speaker.png b/Resources/images/voip_conference_active_speaker.png deleted file mode 100644 index 18f21106aafa24bd39aef95cbcd10a7bd55f0d99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7818 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 NR8PxTvrOGF>_2Ny diff --git a/Resources/images/voip_conference_audio_only.png b/Resources/images/voip_conference_audio_only.png deleted file mode 100644 index fd57a3f27e6395ad6cbf7ed19ea01cc010864ba9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1260 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 Y#82$0!cXia|B1HH`-WhZro)T>0Sn}_EdT%j diff --git a/Resources/images/voip_conference_new_selected.png b/Resources/images/voip_conference_new_selected.png deleted file mode 100644 index 54ea3e2b0fdf34a65e640685077332242d6f84fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13189 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 diff --git a/Resources/images/voip_conference_paused_big.png b/Resources/images/voip_conference_paused_big.png deleted file mode 100644 index 745f17220a3fc775725a28b2f9a2b0cb5119964a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2250 zcmcIlX;70_7Y6g+oy6lmY+h+VcgL6A_ z`TlGZxoOuak_0(&{PhvDvv;AH-(733o&B2iUE#%hTLZWHgrezL*0S2i>3Owbutk1m z-S+S6mmb@8#cG-s9I*2I7NMu3efVO&MV0ezU8uo$My|!mAs@44T?u+rd){`RZ?*Bb zRt_OfYG&SYJ8|a^45K1YF>Nkgcyp>kD7QHw`rP-M18sn=)HoR2^@oRl+-*#MTSK$r_lBn=`D0U4~=CQpa>J zOg0C8CK_`I!AM|OBe+42LOvx$RR?ftV!0~X>b|ff_0}#Ceo|~&rrOijSH{R*iVF}0<9NvAy{W8 z(8?y?l`wB+mMgk}g(oN5+`!hI(i7r>LoJYmIvfNUoVFdb1eqjM>B9AiTG^dak%T4` zg43@7$;|nQdRg;mVT-xCMAOlShQzwQQta+KEzYBfqGNq^#n4 zC*Y-^F8VnJ-X<$pA~`8p?h0Yx`Gb~=H>|R{9?k9bSm_3+e58$ihF_C-euc8ss_GLX zFIgL*y4?}uGu_AT=O0{+udfi}UEncvgaS2hKsC(yN^lp&>ro}nongtYM~9b}Q=+ku zmOZOc$_#;A3|8ZQtu`Ytd(-@qkG8cn*|F-C{_+bh2k%$KiH_n^OYg*;k)R6zz;c1K9T;jOb12o>poM+M|O={AK@no z`N+P-?j!unJ12KuDW7XNhJwMb}d3v_rVGj!9yCT;*D0qE){gldpsv0NBffYMB}VvCvE zi5_!=m@EaM^C%Th&pRPphFo3wgooIxeCO?bvErm$Li;3`>?qLK>$Fq|i22A42V(Hw zz4p81QXptlEWDw$f&G#>WLq;z{*L%)^@+2`5*eTwVXxm_j(4d}ToF@NoCPmZGiGU& zaYJnJwd5K+-7*VyE*-{#tF@XWcXBkTEHlC7{xdnzzs}*WztkK9%~>&5le}Bqno6n% z6?970K7l+naaI7(46&}JV#cOSWy|bZaT_lHmZ6rEe51GfAr2pTS;`*fVmol+*o`$~ zUZDH6=rw)UrCflpX{m_z$Ni=%SOYWn6m||_O!{N8%VB%pE@r!2<&Q87sd`YT2IDx| zcup^$1hZ@4(#$Wka+q-IFNy=};yK?KpT7rBRKc{cZkCSY{4tDM7$);!ytrFo(!zj^ zDquQ1HolfL-UB-y!9+3OJ=1kE3|D@9K^mV0|DOE`%hl{A70u-cmMzZ diff --git a/Resources/images/voip_conference_play_big.png b/Resources/images/voip_conference_play_big.png deleted file mode 100644 index 303d05faa5f5fce96c7b0533a1dd37f07f111ba6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15790 zcmeHtWmME%_co2Rw9*XH4Bg$`B_YB90}S2WEg>C(hysI>0us_gBbX>5h>U@{BjQHCpv|?e=nuVKN1)9P_*nItcTo9gcw!ko7I2$|^;ev$~I^R%&uw;^JPdf9U zk-*!3=KH46LM(LXp$|Vb=_TRlgLs20I?joKC5zgyA7>{A#b;j&N)EWHO#>$1?$X+N z_U%>7k6rCoD$6`rJK5bkoal{Nswz?ny&2~edVKHG*sI>2vt!ictDx&hDf-&I!<28Q z6i`JiW2I~BVU>3&!>-q_CC%@t4k(?X@6fMjA>O`o50gu3W*u8wV}+snUuEr47z!`AJpl0S0t3w9=yo8nEhhec`0Ke^65m$ zL+<{Fv;FCms>I{arLUvE96rsi+~4W`9`^Ma*|$=;6#I`~w@(`MB8#6-o&{J+tbHE) z9R4&>T#0*MwBT17H6c62fzz#>!L#8l|9-}$Y2)6!d?C3n=!mXQ@(3Bhu8&=E-b*Wi zdF-0~Q6JV%uCRtbOkOT6A7I#}-v4q_$k``J_c_-FS_bx_-M$3p(pO}Q^Ula1Y9qIue= z4dpjh%?uU3e4nkC30Qc3^5bN$zO$(Qu#~sV>iVNmExoYLMC#jDK4xSbu8)VB5b(G? zy#035@w;Y?*>lgmK#koDQC^uzUMFW^@3q%{4?BMqbcTe9iJVsU92PyjjND!tziqPF zH~wxX?AH|!Jx?{(l2Z1zd-3kLU&e^KgYCPuGhqhL{M)aGP=u{IFrKu0x?LOL=xkR< zD^DC@pk4djw0ccbLCJ_%Ko73?6C7Ko|kjP zb1vcP-S9;(icuZxR*To#a$NHYFIF5JFTK=voc(euO1Sxp9lI}QS5w5okNS_cg3$qG zBJ#2WV|HBh7CEm)z36AF7lzjbY$57H_-W-gCdlH3o=zH6WK)fKMwmStRlVqZ-MO$ZDxLF;U-IoUbnPdQl(0DCI@| z)OS=n#b%#c08^Y&XGJ3I+C z{qYp1zEP9%FIW&Kg=lr~f0z73yq#D!!+!4y>I#D+p={TKGQ5wacRQ^u6INbd!@Y>O zC7;y_+1zB?mQ}EhNDKY}W#R&1$pt&;jwaUg@kIzJS7wv@-jvLsop;+-7hiNMNEe~u z9C_9&=|zHbNmMS%unjlza!lUVCbn=x)OX|idgiemtqrZwU+t4$MzY$T=|o2(3E5(* z>F@35!n(F{oZwdYj~7xZE9dE)Lg^?s5@+UHii=3k0QG8u6 zw+gO9u9I@MWJlDvlQ-R}rcV&8y4l@%gzxj3PZCY?enVKzG`0z4MCK#Q;J_hyWq9un zqps=%jbW_Sh)YfW{)4urcAv4@VM!!i+_UV>uMbj~$eQ9{Znb4NKRlMzUlDg)E=oa+ zy^o;n8Ng|Fth|d5L0_5WVpCzKxvYeBan7VZXF%&2ZNBX*jg2qa>CaM?wXuY-QT+3_ z^Bz;M=y^ztrg^e!dNgbXZ-i2r939H|^{n7m|ENl`Ew8|L_@P2tzBfo;@9>?)Ri&}W zGnH$-aq{L<&ST~7b>coh!*tm(1uISbK>1ts8T?l(x$GRU<3mlX*fczyh@{$EVcl={ zE{!w9esIAT_pS)bS0)x*T^#-4?Dft__}M@tk0RBIP(9bw1vW@fe1kLPqf})Yk@g-T z88TkcXvT~|nh(+H7nx=s;n`=AFu&eZrhKel9f)-6i7{4}qyEyg3O2%7P!b=ILYmlYSY*iM>N2-lBP{iGZ>u53P&ASlzgO?wu zDXjuJ;K!b9HnD0KgD>Y-d!-9?VsBbQ=rtJLyXOeqBB}| z<8{9r5)DL2ZMx{K%K7SHR_K+lkx7Q5dw4IFpLN5Cr*89Ysv6qQ(Q2a#@bqvx1IeCF z+ogX*>pTb_?%=CxbR5KOv*e8IBDBNb@#NvqAB>?h!_zUcD!z~4-9($Mn0psrvCt9o z{>0`%l`W|94!!)z_1%SKn>KCLkZUjjU4jlN1=zt`HcmMHsu`ggUkv)Wer)cm_wUl5 zl;O#nk4LJyQp9#OLDFY$6H;S`Ot2cS;?#`T!k9gX(tCIhC`w>c{cQC+!--kAiLpxF z5+*mbQIH%q`dA(L8LR@{sVc0?m(pdms2t=D9EMHWvA)~i-W4ab8T{a)MGo^)OTs){ew(l7kL)gC&k!k<>XDs8mRgqL_~HC(2t@HmtF<&ae8{V!ODUq+hXk=}??bh2&Rww6@Ij2O1+zu_9d&1V;{@vf? z`>0OwN;=f4;tTA-YC-1yC8kKF5?_pS> zo*|{kmq7K7PF?udyzLsaq34^P>^BC*hPx{42A6!}ZL{r^6^~9Iv^JMsYh(RD=}q0L zKJ0m0oa>Uh%NFh6*Vo+DKlHvho*MQ3afsGvyQi>oo zcf4zQ^(Bp`{6a&7qf&69lkMW@{5{LI#mJxw5fXO z<5#UV8V`5ru-B%Px8lkJCGhStzqBE1kWj@E9(ah`%tl&$5!sWKpVQ^VC&`n!YL?~A zeT)CnP!`6H18H4YXYZU11=pbstJ1WTs_L+^8z167 zO}vkPKaMn{yOXMqRhD>r)pFt1jmImr{e$9{8dV6Tq3_G0tq66o&}ve)^_! zt0YFvX$!jdLZbZ_kB6enay43#`u#I~S+eS+0&-hY;a$ zG6SROd)Wy-Y{A9I>Cm#tTQ+!nJzLw3&aYGxGK}m$y;%wI8osn~hw(0%^1WM5mu$YX z`)43bereOCf6UaVeNaFYH`mJMO)r}u93^$Z$vC)gHo3k;W-Pfr?!At9_5+f7DrOD6 z&;AqQ%#gC$H3er=&YGX6$+Kz|9^4mU6udE;r`+EyvWF<~ zycn|8nc-GPQjR+X@7)+pU`9Qq!G^L|+zLcwG8cO6LMjXtZHq!5?GB5VdoY@|u05N| zJB<3W@kWUjcBrmfEM6xiD@v zPhCDhXqM;x(N14kbJTyIy0s1e=0{G?3)07)zEQ#&v^Jufu@|gOA&KRhmwQR|Uf8^O zuF{sb5Q<|*HL+r0rzrTMilmzB9g6=ni4m1t{_w^bY-8v+;P7iKeD7eF9oi7ak{=gK z=c-7Fw|E=hmMDYKU*iysa8t7A`81+5ZT&52*oR7j=vN${>Fe0Rl7v9x`bC5ypW;#&yQ`o-ui zwO=g_^zN}nB9v)FG!I8#CqLVMX=0ecJxG^`|1?o=+jL=OVhoXx%PZ#4J&-kUU-fck z#dt&Ll}BQD1P28U6oJ_B5!XHQUf>Dj^qIO=3S8H=Lz~7@WfwJ8mcEX?=sOVVUAZsQ zRHTTrye5wl#D-KAi}0D-7TKWZiyjDE)b!cDXZVQuOMP$T=+e!@SB5Vr=)OPgH<{*h z-^;5_UWDKLb~3Ma!B>f)Hax1v2=V3@9uA6--lM=vj@ve4TJ`J32hvk`pd~ijXG)#} zZ7LJ|%iN1EU-NY?ZWBjLPncTZId3DXh`e$*yYN(Gc_qKLkSQdi(K%rp`X(%%90l=q z$l!~81TTi!Mre2_9?r2d;j(gtGLs}wVYl#D$&$BgtmQ6c;%Tz%a0)NxmA^N(`_|Z) zSMJtkx$(1!;J)YqPhpn){ay5n)DYHfD*W3t7c2P^D@KG$<_H_^b^5-6eRsO!_3BQ8 z*_>A0(0sRG@B(+DyUYtntnf3oamyAi&&^wjg6sxigdj#us}*UkzV3 z0a4T#0cHFUuk6zd!xQj7`#@fL_^Yh-h1AqjdUs9EQya9N93k!}lHN&mE$DXeThDch zMebNNmLkd4hK3Y>!@x`USx0tpOE@>HNMqcG*M{b$@8D@uPQ89?`FdssYlsLYK2FT{ z1NG%t8QaFo&I6x(_Uhe{xu79AE?>F?^5y#rO0UiIXunZX>W-lrxZ%aI#PMjN3GNT_ z;*qqGaXzKR?yP!QwgT$ZR}V;;#p0;p?$frI6~iZzsal&d{p7s2SC+pMGXHF$ z;m6sS;jgV%^7dC=JoT#?ep2bxW|v=4NJyVcNuNj_Zy^P>otDo%GxfIdBZwW8*K{Wy zGNj6J9nSn@_avD9;x(}qE4P)P0>ze#pYM{jv9#W`c`DOd9flQ10B!PRnF^uAlNtG_ zIUBy7m-X^j=EVf*Uy2+zJVQU)cd@P$)tb7GC`Ut0r_f>*&WXG!TKVxa4pN3D9@mI; z1H-4PKOVoFHVuV+`Qfhkw4=KWr)k!$Hr(RgHy2BJ+JyI7-E{m^0R4^n!oC9_~L z4S^;Q<=o{m>g+c!7DX=9a6hB^kP?TjML&BxJ)?XoKJuC9eCPEku65WoYFS0nm)TR> ziXk+pDW^d^hBlnCyP}NC1dmP}o(gIuyqYIKsa+1Yd6Y!cAaEB+K)S!G8qo$OML`|8EPVO_%O z0-GN;mM@1UoETEbQ|IFdn&(dGtEi!eR50)n?jdOc29@J^(bp(w} zY*sLP7TP@~n|^0&`gLDaW4WTm-sM;meu)xyk15420CG` zR~2-d$xyFwYvzV2p3F!6x?*^V%CS$^pfYq7MB$;%q-6d>&vco&od)ma zA1a&bd+>Wpk&?|W5s|ISf7Z27{7OYHbKl)L58Ul0A=K22b=1`Uy3PewZb#)PXb&kf zjo6!wP}D*+FZzuemkFe%N$b+4JKSrfwFwgL{7zCLeuY=?X1vG1K-NfYLi(dd^2T_! zpV-TvK2@zlI8TLmTT}PZk6CxN6}I1FtG11c*LmT*3|z?28Z_nWm?N_@PL^_U_$!~=ex ztG7z|l3R@5?JSeKPV^5fnAU#H`MGn)o?U)C#dvB;TYPe*cj{%lmhzIMuixU!dW z;iYg%8@Sn3jfFn332F`kT5q?Y?-$>`Tj+P) zJUPL->h6F0*A{_4xOYE5fcteT1ASR1A1^_evyUTOFx1NzFarxqUMbWU=HvknWOIbO zBD@tKJKg;dHiWYR$uz{}{+zp`}?hiK$H#Bz&_i&PNhA1f#%ZJJW1zzw#7+a{9 zr+0vCr~>3%uPk`R3=2Wn&P4(}6d+ax#%yXn{%|&NL2*H0s75FvSQMg2%qH*e>>_Kb zuK7m=_@n@F3k>v?6%q;w2@wnt6ZG+S6%vt=kr5IW6%rMN0tsk9n0Fv76zUzofl={W zhdMmK$sf=e;p5GQ(Ft?(2?|tzK)^iPU;cUd8W{Yo-aFtA3IGqGP?)cfh@h~LmzU5# zR|EuV1Op|19Qq$u1ek-bDTGYn0X{+gPH>H2xOX7OKUFw8{k`5d$lvok9A_sXxF_5T zhz0~(<_WBXQ0YO!o|^1OxzI)d=i0*i@?R9FmWeQsECM! zh>Nob3=V_A&s8})$!hxed%-|D5neD?xR9^6>-hu*a9I^&9R-M}pzyy&j6Gq2E?@zu z0fe`+Pe{POrpysuaI-)d22T-5F;P)5abX!5DPajoVX1!!S;GAT02eV@MT7-K#m{Fj ziID~20BB(trUC`$;~*MYHGeoP(8u50$H!9vf^musv+|taZ1TU;qKyau5@8t5|6#ou z-0%0N-$mewIGj#_j}684d(3%2NnK@Qh$vj{)co)Nx>vU zq-DgQj!pn*abZbksI-%#1k_0wWD3OYA|>)WyuY;v__zdy!2IDVt{_qn4WQ6@G;BP7 zz~udRZ$jMQ7^H+nMWDhmP*D+c5eZpQFHaP7j~)kL`8@`D zCuqe&fA``)cwrdwzxeZqX8(&8fa?Dm`H%4ZFI@kH>pw!^KN9{gyZ#H;e}uq)B>Z1? z{eOdt_+M{xaBpzH3jyzHZ?BXsg7-WEM?Ed|^EW=ML$&T0@I>URZ5;q!4rejH*s46G zp-|JcXbx1LE#iudg@uz6Por9hmiZqmJab9uIxDTk!GW&3n zVnTUb`CF#p)H<6gI++=%0T4$^b%9ih_PcvKcc>{j42-AJ1Z&tS{T$Vw-k|U?TsvTJ zY{@MQvCd3Sz3+G!!3P<=)l~J-#C!~;&Eb1oLN)Hz z%q)~X8YgsG!v`FW6888yNcg_t_nAt{=7fjIRR{caCY0aqyCok|`e~}yukv$1V`@Ia zB}j{LJ>N75dCB^k>LMC_L=cCFUpnX%G6DWrwOB2VW#J{q+^&QA5^q0s{ftzLsF5ng zs4Jh}NyaeEb#dD7QlpxAkttD=IwuF(q1VzUh#ln6?^C6rkX#?Rntns8fY>sdl0$Ly zYW|e`QuGv-5=>+G0bLO->fWl#d&XT;R(UEG2`qnB@@w>zOX;Z=k&L>y9Zlp+%2_M- zaVgY?Z}!n5Th83(ze`KggyLV4M_o@jM9s#==B~#xX1g_7ea+0LZT(G>>j|@~m1TJ|>V#o6i%Al#M%Rn*Zl@*myxAPI>3ng$ z{7c-g9(JL&M@>hsYEg%%K*BI?EY56`8aWq%kdZKSPbKa2~yfS|Q(UX?jDaN3qM#m?9t`VHc9!F9%VCF@aHn zZY&C!@yS6`+d#s@n%{yev15>BF->+7J+CHq--Lu70f9CRu!bMfEKF+z@chJyvT$|wP+8_2gyrh@}Jp+fcPus z)rY?4K}hGykMB6qV7y_(?Fd)94&46EB12oeaV{v5e4O{7-|>9j1B+gBnC3SgmE)`z zA9wt=r^>SWVm}$<=l~m7dXJYyFzl;fGr3RfN;vj#Re0=?PctpOX=iw!t z|9#%L%D79Np$hCf7&zpfk39+9B|B{XEzNt54{F^^?KCAv*S6(vL7&5=faD8i!wyvSDSbmpqEpNX(&A|r3loA>v=@$Ziw%?R-C<3 zPcy(`@dGGMmo9fv&0T)HD4yn}3Bd5r?r1WPLG)sMPDzNQO^EZsSn_6~E8K)OY_loR z5gzgdb5rb&F(f4+kJ3Hpnn-+e5Hz+VkE_JSDI~~A^!5v97syQJJk1KLQfL%eg4dz^!QbYL{6zyC70hA zC6%c}3!yJl^Zr0M7^+7;|LxsDj?cI~#spzwFaY>X=~TD^Qanz6yx$!%0^HNCYyznJ z1^JB2jTbG@J$|9`e$doMw@z+6hS16xq5(t(sK9=8>vbbu=B$KB3+h;FO#I5iV0_3v}cz+nLD<0MrLV6kK3?nGM)}@Y^|W++eI| z7Z3;TtjupV^_G~*5)dBhHs=r?{^D@d!YqyPGr-Zrr6|#C{_>=peFx(YA#$G|Z3glU z8qj^M;p9=k&G%C_N6E+OT&ABLfIDZIe@t+K>nxwa-OoL);q&0eSCj_!!J`gWkbj4SIrH8{*q#41?p%&z=0cW z12_o&t&bHWXTa02bU$AaR4a0BJmL6r>fFF!E`U=9b%|-U?vjct;9J#^-c}K68xY6P+rq@NNMc+iwEZ~Q_v5^6W&70eh?@j~MYj9y0p0`hhcZ-e3 z5d18=LBmKWPe)naj9Iqj0(#??LFHUBip+}zaJ8+o^*RALq2Yi^pR^>%)m3#*Cz#HD zp=DLRAfS58oO)U&R}6Jf9RY|K7y0-ORxqw0)}VSC*nIdo9PLQ-KwZ2yGs6jcnp-rfH+xfqu z(=a63=uO`e0j-tqHS;QF?>f(O$QmY3o=UH%fh;Zlv*~5G66^7{r z=GSck;?%$cy1BX!(;7lX*YxR|C?Hbu{od&nz@8GhDgD(*3Zak=G80| zaQ++MsS{KH)3b>$VZU=@7?Ffu#vp2=h}@?N%RZBBLaC>ba#8GdXbxAOtA~QD>9MSq zgP!m7gw^^{`FZG%;!IFkfFR+h42q)|N~i#0B!8xq7b%3Th5N8rJBJ-*1X;!-(c3ie zGhmNNJ{Hoi9M?rsh6B#I?s48TT9HS%4x4B@n=^sz}ILEa+HhcnG7Y-bH9%0 z%`ug2-eY}`a7;xADmfs1i+J~de^%Zx&i) zsfwMfdmnb9Vgk?3IaMnGSyqbUj}0khOZCADv9{E>j?Gn-f4W@SqX5(4@2i(2;L1}Icc1!&&P~S@G6%B(Xx(`S16}ZXas%K+jqj4Emb4 zEiJYwP(Smhymk(R!Ul5-?M)hJC|z@X>TNAQy5Mw28e5-_T6~CPlMt;C+J(~ zed2xY$SC$1c|GW#cL;A9@md_IG%Hf+PF^>!(->BFsD)cRp>bHNg?}W{v-#07pCn)J zov^ROv@6s)1{Yx8R-sGj#}H=KQ9rRrm~kWwhr@KHC){z-1n5WyI5ls}1!;;o zfYQ^HlV<>?iHXg<)hrpmI=%z>!(Z4t*RJ>9;}+OBNw1Zww})F>h~i)Bl%JfSF8qE9 zmx!0I-*Ld$J7q@(zDoP~40Mb|je=OSCkvB&U?Yo0KhB?ec=Zh{n&aO0B6u6NaHc$n z8s0T@G)HS~2@vfUsC$u`s%jiAH_bnm~1R6k2dz1$kI{l_)eyU3he_zMXr?YU!1D z+Pw@_7~*c> zw8|>%q_W!NGyZNom@qYV>Us%>rc;Pi!Vy3Q-P+tfFv%*StJqt z=;uw*k3caRtg>D|2gm@vPqdpEl(O$nz6B1;#+KYzN?6I@2*?eb8Pfc~ac`5iwhgju zx(jGdJBp!^6{rVud+RS+EHg^ppr`;5W*L*X1*Xl+^(eLqEjmk|NXhV4kA!a4AFfx&;7g7UcOziX*=78Rav*-bpJd)ml}UH9;l^G3*ccCrVqHTNU=RleX)ai2J%Gvy;NG7)62q>Rf z;JlC+F(AbK2bO86uVcG`)Hb%JjU^xhe_iI2B|d*e;bHYO0lYrk&jqI8Gt!Y)%oX54 zSHi69XT{SL0Mm9v|E$kSy@8?y{V*?%S%5!mu=Zj7Xtqzij~7TPE@n3w=2<1GW2q6V ze*v0VC;cV3^%H8#-adkQZ_*Ju99QhMa3?!D%M*b*{}&&c1X+ouam>a;>IC?~RZabD z91$kQ1c)M3-HmzTojd`STaGlhpD=c{m zvjYIoZsXnzs5_T|pyhY92COUrFGj=r_AZ2i+YRc%lKKdz#g^P8Fvcv66szxdWCA_G zAV?|9>a6Wt0PI~^ZS@#~KWss7PB|a^OboJzvBR)Mw%erm{@mCT7woYvizh&-r-(0h z(|tH6Xjm=u)djiUUlSD65f>l}p8CW&c1(3*lhH3VflR&xD#Df+O1;Cp+_2NZ}AjOBy z@d>6C9>he(g|P>YCl2TK_OT8t9p2S~crpR24w}v*lPr?2Uvi@X&~SA#%)S3>)e6(h zM~-_X=WY4H-(a-=UP3R;ixgk{ZHWxDwQ~>mC4FUu1(Dw)R$XZa4L%!#Udy5+yn)uIDX*jd5vp!OZ=DXiExQG8SWJwA5F{nOODX(UGHO zVTxZZ(AoJ@dVNqNwy_m2QYuac_p?MO(;O7}eJJ1bXJJ0Ub0QM-C+yrPthKz9eXU4- zUHp{7nUkw5B2=MGA3I;*8XEE%>_K_R(1V-#GfWQm3tbc&%q;gJf9c?!tmmF;9WASvAom}o7E?Ww5Q32J zS>zra=lIqPGHCV{wV4d{wQj7wXeimT)t{O|O7KBW-(;IjAE!!lK#u2Fbat$5QnZHU z6a?$EI2;M>$#js&eM^cocR%$=C5YvoMYcJzbyR&gU7~RMU8?k(RZge}f-F6?Mk0S2 zob0`qa|^ZnFxS_X$|ef5lq>pHQ@ereSD5|Z|TBW7Z)VMKghFXc4iq@{8Mx+Em%qkJ{mYdL+F;nBJQMag3 zEtM*@XN}Mz@}hXF_GoXM^WHz+f9`Y6^Z7pGpWpd?&v}yJR;GMBqC5ZqfDZ;WvSDiG zX>y%mGDHV31^}?cBMlAVFhfJBfFQIN@{uP103<{cbfNF{#i_0kiX(_WR3MPco-Ch~ za?4jJ1ui|tQ>~Tle8^!bN)!|^?P&P&rQ3bHgX&<%X=fmC3<$(vY=Q|Feq{+dc7+AZ zrepUcv73OH(oS2ITl^Kdo|Fu3={zT)+qGQRk|d3OlLsRTFH!|{x+is`qTZzbkl)0_ zq}`WAE5DNy7*wX!C21s;YbcO^=mlmzlfm!jhxHYmy#NVv2|aj<8FqsV{w|uctrM7O z4-BoF?RfF9q6^UlHXaAg7lt@|ZKFC=kJ+yk9ODUXjrDyYxrR{p^X3B5`X+pywhyGO zs!URnRoCToj&W(OGFcWi%9k{S;dq{&@3>zboBsWsOYwPvFo26v;|Z8GJ~Y;g*7!Ev zuQi;Ny&(2x^?I%PlN{@jH9v(=_H92lkx4(xIW|S?lUO+yWf@bRp=}YKcSo0_5&Zvo z%h8GQM^{JZ>j5sWfY-s)flynjtaq4=VTWrZl9qabf=8u@YkB>&NNl_A$0)ezXwf=$W3D!l;k<+mo!i^fW?1N6 zIDP29#1|cnVgA<*A%^1tE&D`D1Psv~2)w@XI{z_gMWyF(ZG@U0Ck3P)F!Hi}49Ka- zgInF(lUd;{7Fej`jpjYhvqDFCK@#a;Ln;)Z9&_8Kn&C~~X-Vl!k>cX%ga6cCJmIpm z=1Zf@qmU~#GQj!rhofcLFC@-Ao#5T6TcWy6eOk)WVyx1?O$U;bED*B&E&G>)QX{67 zPuTJ1BW)Xa2jS}zX8uzg1Ks*AEdi0v8$Y>v3mq`Y`EyBHa>d_<6%Jtlb2OLSZud<**TI;CDU6pt_I~? zJQPAm=Y=(PQ&`HovT2udI(_A6pk`BNUgKa*3th|2sr&;a2 zdxH1ginEu0@Dp{M(UZ-2Wu>B!`q@Ro%mFr7zZ727{&Ss@Pcn)*8Xun_MSJOZ5Ge{0 zIj-tWo?9jt4ep{?brDjb`AkSE}nlF$9h`-KMhz; zC;ww?5rA3$!~ez{sJS}@9#RM@?D$XK(>v*YR*?%^3Bhq&7S@rWSr4mZ$s|FuX@qKO ze+Pd%XSvbi%|H(_9;bZzjL6r6a2N=fi7uCj&(c{gssly76B!uJ z1^N~_nADQLC{+O#1_kPD`OoBJDMcujnN6BPB!<9oTOJ9A(m~guKJA5zmhwrwps_n~ zTW;L2%w3ZLsnHanjs&FM(+1g$+KkE-R>=Mv=1*_z3|=8_-|ecY%D^wQ@}ab9wyu^* zRdAEnGgW2X=MEz_+B<5Er^g#Cau(&`}CF6!;zZ(nI-e;5d#|3iw#YF z^X+X=xFoW#k+!m=N3aztbt`NbqRr0`rtE4|Y#&{Dw7ZOP&0T@P0uRbWWStxbz|@EY zEeL|HwSjTlPs=Y0*XctL6*hVpdbT;{A5H+f(Z?Nx)@6my1o@{{#8Fy7e@k)x9H>{= zub;7tVg*)Z0o3UegTc#^8qIj37c5tLB?Td z>&}*3OO8!)Rqouk^z+;Pgx_c8z3AU{{$BY zD~IXdw$z+|I z!ep%UFr-HJk;@^wB`i}&#H9W8^z;Xhk#@SHJ*WL;{v$wOaIkgA1Ht25A*aspfUgJ$UfCAtMczx2+eL?I0ia z;%j@gXGNz?ry6=he(Fi6<4hCXv1Zs|x#;NbgQohIy`hhhrXB(o{L%I)6As;v5kK5P$`#OFko_ z+ic(>l48vY^+If()u&}YMa~d2OEl*!1k4S+gqv1xV>MQrp)T8oe_5Guz9nQQ%DH~5 zT}Mms1uJRibfK|uv|wq;pxpQP!SHjNloaX2)beTe?s}e&vh~goRNSoBNiIfr{E71h zqLQWqo$gnhZp4$osLNO|x6x2@?|eMU3!_-<6z1K36hqM0{Q0vthH=nxk>(tm{6Fb3 z&m5L(sjkEa!TN!SGn~`Vk12_%5VdsznZ>)h@**rp(DePmp37w5i zCLJD=OY(sS9I=L;$CV|t>Mvam0xSlnVK^Qo=Up>ht$+7K(4NLW`CNC7);$i}Mr)R9 z#{!hCuj!@GR8~$-^CJE}$Xx9c$^{+DO2PJguhacNq!z)gXD@D`Yw=`WX2-){*w)UY z{nV^aqm(B2~pwo(p;65wqb*O?6{fI3lK8t`?ii47zyU{KcMup1FJ7d%!WNx;Ed zVG$Zwg-<>fx!&~5`3jf_N(9wZ=Nz#7-J4R?qbx3hx(Q5QR~D$`owX3HFdZ9gn$e6^ zBo)&}s|hp}@`uLojc4%Ki^da!bOd@?m>Mg|``WV7S~j=&@z^sjps2utd_RFP4_Czw zE^ixAgEk6HIn0j&2IwVYA0NZl))c>o7-@xQ@n=Nq zo2Qldv*0_x-mCPwlK#2&zB0^0!|7B=&~rAerbh;e>ogVbS{x1kV?|DI2x+LR9z}6e zJnXjxEVd0$E|iTlmCrOnZG|R2*BFXL`Zq6rYdVhf7(TN(&c~W(1F*^q-4TYT>Gvbh z_TCNEnWn;X-x4!S*!3kOdQzdbo;-h*w%Hk4lQyHKmiQQrh|2H8#4X`}#LUyg%vTh; zYItlLvtg8>)PYlJi3GgPy>|%o*lzt#F+eT|S!(a4ZJFBf&+VdIwsmYk^?mc;kEyzK z@IbV0X@JW-&mt!f$^$K2Ss!)vq?EXt_%sY{or8sD%e=pKzpZf=E})Su1uHBP-N{Oq zD9Rzl4K7NbEi6iQnwoJGtJvNVm;jiQihXv9w9m6y1nOWhWD+^vZ+vo%eH(S-^l#Ed<-PDAH7nkSXcA6qFax2 zNN#j&#vL_m;J{={qgCvgxUBf^=IA%>*R)<)lH83{=d|8IT8Owg<4sqTXBQJREVRTRmZ1H@R#(r_%13<2AQEKM;>1a1m-68qn~#7 zVvUoYeG5t?*WsLD{UEOBy-({Y8de6_ln=Gk<8aYf$9BCOa~;+KZsB>A10RMgWT<_} z{pCyy@fDt`ihURwLGHfQu7lZsCjbdKKTY?Iq4ajRMCmydn?%cQXMJ|NFDHZbKX?&% z{fX<)u=>V5rd3>SdgZ1n2v3se6Sv~#KT@2{6D&BfdV_dziBXQd0)hU%n)R2Y2j$k= zD5;m@71fh9jCy#}$&A-$nUN>Jeed<&G9MZ?w=uUm+XLq&@u6j}%x;GNC`_Ro83 z<#h;-YbTr(mq(P>`V1K$rmEWFqh?(sc8u=)T56Fkye{WR5}e3m!0jGH0Gf#lm%I5j znVt~FIpr(d1;zeV;|)IW?k|vqEo7)9SO<*uH}M@}n(0$hc!v%BqU(2}nIpLr2Qb}* y>-^N}?WcGJqKxgQ_)hkNXdEZU=Gz diff --git a/Resources/images/voip_dropdown.png b/Resources/images/voip_dropdown.png deleted file mode 100644 index d9fccac919fc541961a0f66f115f143f7ee3b9ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1256 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 diff --git a/Resources/images/voip_edit.png b/Resources/images/voip_edit.png deleted file mode 100644 index c24930212f56d7147112a52e8075d26276d4463e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1834 zcma)6`8OMg7EWsmErU@^dA7z`3yO#x#7z@-G7l@$_hWu+7nhWEt<`TzhL>Cx$CcJJ=W_jp?{JT%2f;-Nsd z0_~&}L;q_jNaZn+8e`gnKLs4GQ>A2VJKuc%+=m|T>~VJ$a)pYY073}_Ct|wfdA5{C zHznj_8u>thya|Xc>2ih`idE$LFkT5O=XqYUd=0#jqyYO-TMt$EeUFrB-=tYoRO>&# zX>Sr@Qy;40!5!-2qu|-Pq&rFFcWxDYGY`$k1SKBkQ-+GJNLqw>k&b>Pynk#l`to|t zu4!n7n+B=wV`nv{q8rt%XFaYlR~YX8rKQKcX3TA!ev+8p!fF@_&$Y5cOW2Dm-?b6- zaekzXsIo~(*56P!J&8~C24y?cf@O`Qk%=Px+wtd}o590f3ki8raDbOC>s0S@0_nN$ zEUP^&h#hg6pZ;8{X5;nkXF2yd>p{0j{JTMXGLu1$pZIjh&z`G$fkCz+|Jjuh={Wu& z8YQ;UF3=SajIW8#HwXN%rWwvBFMqkjdf?#!g-pic&*`|m13o!QSb{&9affG%Allv* z##0`Stk|(U5e~6)C-5Acyx=8EjXVmkDMW-jS_>_T@C#qnYc-hp1ON!A!(mWo%Jjyp zm!D_2Y~S`AfkSWmz#swtL z$;_XBLiTkyZQ0~2Sw%f=Dt>4P#YaJZs?!2bPVEPp#p*8U_j4G!>pPsyWlbYtkkQf3 z$*3?~>(a%le*@1z{T~Ee`<5sTH+Occ^A)JX5(b2d=*M-);V32S$U#GBaZ#31#X;Zc zWC6~L&OTkSX1!%Y&J3WBcPgd$CvA#jojIqdreh=BhO)3Urb?VYKK6}Hwc?CYc{r6z zB@WA5EWA#C5P%OmI6gw>0t3wTn~xiU!>BRojWDO6i69FKRxT_1+s<-kq(cqcX|QX$ z{#Do-mAL7W1g8dXW1=BRxT1U9GCBsmina(O`UX+Y5bV?aipQ8}qjp7?#h56`E3-mW zu6EbEwEJ3W<$Pw9hqwFlK?2YaD5sc3;q((VHs}GMJxOPY!>?y**z6u6lrz;F^#J=P ze23-m1iV+;mk}K5csPw*X;-P_&O?*fdBQHBDJ%l9kBD{~e@os>CG;2q3I{L)()^u? zEZEL>aQkz!>LBgq1IEX+V(!0X9b>{H_0axPQxUTcXey&7IaLlco5flst2u9vm3yy# zM>p|$Nn@h9ek2D3>m2Ft8reqEsU0OLeG8m1_q7~GMLfADomzQ|{s*=3Hi6k36Q@#^ z(}S7LY8%Gj_ZX6W!YMT0f4pLR9WODcS!}}t{ROdvW;FG`Z8v)|R#sX9!8vU&RU%ue z0*?KfHw!f-bGTCvxU{EE+Z(79I16G@mMk2}_#JYFRsG|J+L(5>5n4q9tx_?N0_TKQ zi7D1L(tu1my@;4YKeG6VOY-r{qNL>i1x}$GhWvl{D4>2TpaIuJdNUODe3&X_RWc}h zd+#^xE5v_+63b;ocMtG}qX|se5$2QkpBMTZ1kfq!>@t%ari`c}so@=h)a3tVYeqZb z8YAd{t_Ih_Mh#_rJ$693Ezw(uoeuXUoUKJG{2V8;+M076a3_s}2K+9{aY|dDnh~0# zbm>wEI5f+(|Ha6pxyI^JV{Y5ZD&-4yWC`eRqn(lqsm+s9Qj5#o4qJAp0%w_6$9EHb zhS;OUFZxb}Fz32tDq_Kd>p?Ef>S@u?alfJ`F}9#ip0cRcZ;f1?@152Cv}WYFh#97O zD(6Ui4_)-)zUUfS9O*Zyzxlp?ygzrbvCHwy_5<%MB06NSO!T}?AuIEhxJ83=&-!V+P)sk>wXH-8Y@IXfM~3rq30=Ibz?t%B;5d1-zVUN4h^< zR(@-DlBG(;+OOvz^nEu22*#F3)n3IK6WNJh&2Hc#CIUQ=(meYw!!!*S6IegyhWQD~3m_^^if=+pVj%^~&m=k2re+C#Rk_WkVZYn>J^+ pr1wt5N0P4+%z=O70bPs~b)E7p*EO%93Z+snYPdB5R%`hv?k|ZMP4oZ& diff --git a/Resources/images/voip_export.png b/Resources/images/voip_export.png deleted file mode 100644 index 3fdfa078aff91f4aa957b48684a1b9119377244d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2383 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 A2mk;8 diff --git a/Resources/images/voip_info.png b/Resources/images/voip_info.png deleted file mode 100644 index ae8dd86f8a3121f7b4f80822360cde78c31c62a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13635 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 diff --git a/Resources/images/voip_meeting_schedule.png b/Resources/images/voip_meeting_schedule.png deleted file mode 100644 index 168e3460f62d0f9f3d272d0b44666c2cd0bbae6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3841 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 O0000 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 W6E)utFgWp_YSvQIS1nhz4*Ne*KOR;9 diff --git a/Resources/images/voip_micro_off.png b/Resources/images/voip_micro_off.png deleted file mode 100644 index 57569b4f263db9b4df79e2f5678a52a471fa018e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4208 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 MxrwDQ$+6obR40OU{Npt0KBFqXsbia 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 diff --git a/Resources/images/voip_numpad_0.png b/Resources/images/voip_numpad_0.png deleted file mode 100644 index 115bdb17d03552a9694fc6c9ff8d96b224f7e15c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14607 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 sg75MpN2Ob%7 diff --git a/Resources/images/voip_numpad_1.png b/Resources/images/voip_numpad_1.png deleted file mode 100644 index 4d8b7f5cc10b9bb08008007c0da83b552f7cee02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10598 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 G{Qm&j{$XYS diff --git a/Resources/images/voip_numpad_2.png b/Resources/images/voip_numpad_2.png deleted file mode 100644 index 6b561c468652c2c924e5ed12acae9421e4292004..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8603 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 diff --git a/Resources/images/voip_numpad_3.png b/Resources/images/voip_numpad_3.png deleted file mode 100644 index 386715586a9396732fe466e8137399039c1141f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8978 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 b344$yB!X(GpwgtWd7NR4%ngh5&z%1sJ(}BX diff --git a/Resources/images/voip_numpad_5.png b/Resources/images/voip_numpad_5.png deleted file mode 100644 index a18af28e5399e74ba046bbd78b3b695eb1856854..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8747 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 diff --git a/Resources/images/voip_numpad_6.png b/Resources/images/voip_numpad_6.png deleted file mode 100644 index 79279cb998a9b1ef453e4821888e2776fd979376..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10150 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 diff --git a/Resources/images/voip_numpad_7.png b/Resources/images/voip_numpad_7.png deleted file mode 100644 index c68656fd34d1e3bc4aec4ec71a512a0f845a8f30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7606 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 diff --git a/Resources/images/voip_numpad_8.png b/Resources/images/voip_numpad_8.png deleted file mode 100644 index 8d84c96ba0ceb5bf8716c69c8f932df8cc1bc325..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10857 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 diff --git a/Resources/images/voip_numpad_9.png b/Resources/images/voip_numpad_9.png deleted file mode 100644 index af3e0e0bf371fa36f44236dc7bf40ae4662516a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10035 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 OtD&x`PASYO{C@z>K{*=$ diff --git a/Resources/images/voip_numpad_hash.png b/Resources/images/voip_numpad_hash.png deleted file mode 100644 index 790e7d12e914b9ef6c562c4515179132ef9ac816..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12417 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 diff --git a/Resources/images/voip_numpad_star.png b/Resources/images/voip_numpad_star.png deleted file mode 100644 index 5a2649de4f42e33f68a270be9093e010319e7df7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10163 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 diff --git a/Resources/images/voip_pause.png b/Resources/images/voip_pause.png deleted file mode 100644 index e888da937c47ee8cb5d4d7ffe25a8172ffd247ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 830 zcmeAS@N?(olHy`uVBq!ia0vp^Q$U!54M>*SFkE3^U~I{Bb`J1#c2+1T%1_J8No8Qr zm{>c}*5j~)%+dJZqgtY@)*de>EVPOg5G}l-C9=?Ig=kc%!Okz-vrJSp_4=B!4<774 zx~jQ*^E$qDO$t94A3b}v3r@d!PR%gpxD7o#U`Y1_l zx7N2ki^Q8b6q+`i(Mk53H0g!KzIP8FzmDxmFSYyr{6%=N7;}x%M;&9I*%i$dRhP{y z-V3)!1cr5z3aOW~vPbrM^|O{C+we zOP=~!EPZWE>e=c~;%vpgP8nU#benKMX_|s#OOuwD#$mUfu(=}Knz#DPKeWg0chPH& zQ8g&iS-`}*={5WR=KFV}exBsi*OXx26)*EVndQYzRw>itKkdrq9OHaY&$jN%wEaQs zX?C9Lw{CeMXt04dCT6=yD*ui;q zl9j8U@D>zs^oVIx?>)Sm`R(4n)yr<)=XX;qn%cI()BqSQY)RhkE`yrbIAjbYUuv2GW768w#WAGf*4rzFd50VX+Ac=6 zypfyu+Eqp|Bp{D-yTeX7jlFk$x-|Amr>y_B_uTD2QZFYfgRH>-4c|3vWg@d><33lM zK5_Z}#ixZb%d*#&<`t%&{$?xlb52|Jls~`zpF8onSjx*~PV}9dn_|`fKRoZ6zxEAB zR%v@Hh~{!^Tp%FQ#N?=`!P2_GA%La=P64$)B7a;v)wdvQ>c_n=)=r(vd;5FAlj9cg vai3>MR(5r01j-#R+_h~NGlpM50$*N;vsk$Psww`q5XAL#^>bP0l+XkKpZiHz diff --git a/Resources/images/voip_radio_off.png b/Resources/images/voip_radio_off.png deleted file mode 100644 index b703dea80e9b1f96772a0bf1483ed5b045999e71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 590 zcmeAS@N?(olHy`uVBq!ia0vp^Q$U!78A!GZ$vy{CEa{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyaaO81AIbU-3xqtqEaJrOTD8~y`xfqY`>TcpQtpS$drKiZ0|^*ND7ejwlS{< zYT+pf@(X6@WPg7%M%`|a=z*O2hKpW6W7m4RIEG~0dppC>`-p=;YqCjPQM%%yjEPD~ zrE^*%B0RWqbyB)Fi>wn6$qC9xo~raMydyzbjQtizxXd-NtVNdR{|1UhWt`DF^Q^Js zbLdIF$_+>-rB}``tn}xd!DGY;Jf} za#eiW0xP>yq0@e}YFzaV5i9r52@aZ>J8y}oUbyhpI;Tldmn>AGR6Xy0zp~9r_rdR3 zTn~CY7^SkZ=1dQ2+A{6snx;u@yt$E|*r!BPT>dBQWpbr>uIW3$C2CtL#c~Cf9E&f# zwpz65%9Y9IcK!Ka9dv+~=`J4+TS5nuF#C*i2b7p~YQxyWCo~>s`S5{BZsmbyxtnzi zvy~E7v*jpE%+=j+)2)x;z(E#EJ;rv6)t%D1jm-K*JnnIP3hQ-rq{}BBGT=E3MxUow aunVl8FgNPeQGQ^AGI+ZBxvX!lvI6;x#X;^) z4C~IxyaaMo0(?ST-3xrYBU62%Qh}sjY=&=CT2MkRNF*`^CaA0cVvcnBd7Ca?yeOR zj>>m9Pw(P$nzpLB!`roRL$`uo?2&^9_3paF^lS{uoysvd-KWZ*jpW5|i$?kd5>KSI| zEB9^P(W!6N>=mo~yH)dRh2wSRuSX?aFUi|1ZHZb|xMf#Rp5}*D;hSW`^R?s`%N{q6 z2--bmLd(nPMJp_i8qT|_{r2=et_>IXmQ}Q^pLF%Lqh`_Ci%Fg{pT7V5xoSp9gzyBN zxnWXI1iFoRjZGQ~W3}9!PkgMNWt9Co$b^+koM)v-ZSdu#D>jz3Dw;ZMTlFf)r0l3< zTgacOpH_Qc%#e915#;Qj!Wnz&k8YgzNQO;lyrVBk2-d!ufIV7rcPBdh)<9(OrDg?^n0 i?3zsq91v9B>EHkQlF#g1<3?b5VDNPHb6Mw<&;$V1UKdaR diff --git a/Resources/images/voip_remote_recording.png b/Resources/images/voip_remote_recording.png deleted file mode 100644 index 3e4e940093ca57f4eb605944c60461665c6e35c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2673 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 Qf4`5mrmjYfnr+1Y0ME-N^Z)<= diff --git a/Resources/images/voip_speaker_on.png b/Resources/images/voip_speaker_on.png deleted file mode 100644 index 07f13c9b62dc3813fb24c677dc1838f7fe060c8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2599 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 PzZbe%Mw+!6PBH%jae3XB diff --git a/Resources/images/voip_spinner.png b/Resources/images/voip_spinner.png deleted file mode 100644 index 8238de56bb93bfba96162300ceec55aa69e827e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2499 zcma)-cQhO78^>d$uGQcg(FUoSQL05zvucwz)QVlH6)_@2RfBMqUTH&XR;(_eMT=5J zjUco}YjoHBsx9y8X&_1CT3Qa?I(5jrcKWY%GecU-w;2D+mjF9bbzja(u=_!Hu_{d0X&t*yGT z|3G&)gVGHswA80Z&}1i|1>b8T`u5r{Ic12>;AXIiYL@$5k>BUF`+&*70!ht*?&ull zYnK32{XOJo#NCp+w7<*j-lt)a(~TWSRcGWz!G02vQu|=$Vy}>oiwT4`CC$!^*ViTG zQ(3x?tks?!h@CQfHO)rBnU@6Nry3{C?XV8W*yVf;qK(iXj)reTicpAG#FfA@>u4CXC-Q)mXEX?^RcloJ<20k zmmA`af;Y?(i90g*_4ja?DCONeDtRKT;ATAYykf!-2nehSK5AO5OfNay99bO?B02a= z(bt(cKk+hSSye=eo13eLs|eIR6)Ls~eAVE6530u%K=Xv%0|u41QoEm4Qq2RE1XW{{ zO&YS#+)Wxsrk1+eWE@j!uLbjUnW;_N-zvV~ieK0#ygoe~;m@f0i1*vtw%QV8=+iX% zH}V*|j9lD8e9C{rvKfa?n6u7y%D&0LKdaFXspHV*$j--#kUe6@wD2`U(snk=2m=^@ z<%#=|6+Bs7L}~oJlNc#YovlPh9VXgYwZxdv(}w8HH;mN_vlvMtq1KDM4%?~)Lt%*U z-o|+?R01{*6c)7bZ1ri!jMqxQcz7(duDAqDkOOaM`${MPqVo8;3y1!Y_n^bYhO5K2 z7!%r5qZdu3*U9Eoj{dCe?iVi5m&#XL&eer_(%(Ne<~7F3H1#n=l@@Id;|*VTZ)?9& zchG1{snm3rM40$!jZVR#7vKIs(?V-Qnkb#_ktZ;>WgHes=2U%yCFOGJ?Jl}e$Xj}R zO#EkKVfB&LY^nWyG^6Ox`ROGsWv`y^GJ90dI7HDebz9%!GJguLne)!GZ&5k92A(I% z&_yM_A{&Lv4_SRruuvXY8aY!9da|N5VkwT-XBB;?GwT$`A*luc%7+R+{CU9S$shi5(Gt|R%yE#w zhpHX#+s+R$D2wH+4e5#7B$VW_O&5Ldji?L59^fCu56#v3)vPAi+8C#IaMfxsJP$M( zGf5cKGdi;?|E=y?jh(>kSDDVHWG_rb%-Ou%j3j44I&&X*zf!TSo~!aldcf@SC{gMm zHYk)&51fZCY<~mKoS)wNn%iMAweZ<7g!`v>CsrS?%h|gMzbdmj&hxZdny!6Vl90KR zPa_`5Wu010qHlGUkU7Z;hZWhC_=mfdi{LUgWobD6)5l)~qoj>JGNaqmp=h`Kz{7&+ z*=mMcJP;ihdJ%!(abMc49+{fD>G=K_j9HQF`l@E(c>e~7Be7cPF!XHKPHk|cV%oAS zQ~Uy1>egodgS*!tX}!L(>068?eA%cNm5uvnldHi-!L|vQLuqwK$^=*JrN470E*Uz6 zLcSr-Utb!X@+-+XoWS)--@P!*b{H>5Q8N})OB>IDz2*BdIc9g5uEJ~TE}G)i{`fav zn#(K1h5rZ3bbjTcgPh3vmb9VA^t8!Bjvq+v zT<3Uvv)stHF!yn)@g`WICk6=4HJ?BG4yqBkX}s1|x?C)qp2FxEEx3{c5HM$*b3L7& z5>nbPtQ*PubAnc)Lcu-MICCL#GQE0|^AUgjlMmSylp6&xL(_hELe5GiV9j4IZ^?7; zk4y|7&J*8Uej}EeMyv5g4%==tHcg33lFoyHA$E|hvo21$Zba(>QYq3L>v~Bhdk6D) zFGe_3A9qreIv3JYH3kR92826IT*i7pW<%AJEB3b4IO4*0t_sXC*f50TBRy>q$obusTNHUh=ifNY4x@f1+3S|F z$h9c1xab4gc4-^8cjwY6RG*G_q*`o|4Q+T5>o?r;w7vO241=pFjaBhJQM?=VXfz+s zfvd(X`qb3pPPZ1Lu4tcB>prdHzFdN0-f?wvn`I51jgCpYF_WX5NWMQm^n`wgWO#5e zcb)T&9T{JPwlIc6NBKM9{_= zUX6ac^+JQE=Vk4a`a@*R@!{qHq%wW16Vw;CRg7`^@Ud-pLw)qPz^dQIUIFuLNKoL8 zls%aE?#ueo3oTOoh>N88_J=MWb=Zk%{^<7hG5V#<>>Ii3@5Eua3&l@fA7(rrdIl}f zrMPe~2OWR5YietDgwR^bflkWSthlVGCi>cdX7Y}`Ru*UGeY?O_-?5j^?TZGwcqInL zHXB`Sh}H&~lFe|9XeqQR5Ee-jeSQ3AiX@7vN~w{hP7Z3#tCW`obSnc6SC zY(x-2u1LXht*baOj@{PYeNQJU5l7-QOqxAo{zPIs%ghZ8D$6wej~HUv9P)tc#!5n_ RD!>1JE3+%66(-&Z{{rv#z>NR^ diff --git a/Resources/images/vr_off.png b/Resources/images/vr_off.png deleted file mode 100644 index 5f319e5c8f05cab76695bddb373900429132a997..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12846 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 b2YC4b%V(@KLQ0RH)d0%!8gf-K=E46D2OeY( diff --git a/Resources/images/vr_pause.png b/Resources/images/vr_pause.png deleted file mode 100644 index af2d89acc98945412be133dafe955a9d62101730..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6392 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 P-(Lr$wxL#?h7;yLPY<~f diff --git a/Resources/images/vr_play.png b/Resources/images/vr_play.png deleted file mode 100644 index 6de2686f096bad08d5c6451422f224e47fc41458..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7003 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 diff --git a/Resources/images/vr_wave.png b/Resources/images/vr_wave.png deleted file mode 100644 index 26d7f1be77b3dd16a83756abd4bba75487a36c3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15224 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 diff --git a/Resources/images/waiting_time@2x.png b/Resources/images/waiting_time@2x.png deleted file mode 100644 index d604ce27e748eae411c0c22b6d843c598ed9b51b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2946 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 PL!aK_F1gAfB*Yx^V4S1yxnZr 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 diff --git a/Resources/linphonerc b/Resources/linphonerc deleted file mode 100644 index e9646664c..000000000 --- a/Resources/linphonerc +++ /dev/null @@ -1,116 +0,0 @@ -[app] -animations_preference=1 -autoanswer_notif_preference=1 -backgroundmode_preference=1 -edge_opt_preference=0 -enable_log_collect=0 -file_transfer_migration_done=1 -ice_preference=1 -turn_preference=1 -preview_preference=0 -random_port_preference=1 -start_at_boot_preference=1 -stun_preference=stun.linphone.org -voiceproc_preference=1 -repeat_call_notification=1 -display_phone_only=0 -auto_download_incoming_files_max_size=0 -lime_migration_done=0 -use_rls_presence=1 -use_callkit=1 -use_in_app_file_viewer_for_non_encrypted_files=0 -unexpected_pushkit=0 -force_lime_chat_rooms=0 -disable_chat_feature=0 -disable_video_feature=0 - -enable_native_address_book=1 -read_only_native_address_book=0 -only_show_sip_contacts_list=0 -hide_sip_contacts_list=0 - -enable_broadcast_conference_feature=0 - -[in_app_purchase] -#set to 1 if in-app purchases are to be shown in the application -enabled=0 - -#specify here the id of the sip account in-app purchase service to be shown in the shop section of the app -paid_account_id=sipAccount_12m - -#the url of the inapp/account management server, for submitting the receipt and validating the account. -receipt_validation_url=https://subscribe.linphone.org:444/inapp.php - -#for future use, to specify the full list of paying services to show in the shop view -products_list=sipAccount_12m,sipAccount_6m - -#minimum period of time between notifications to the user about his expiring/expired account, in seconds. -expiry_check_period=30 - -#period of time before account expiry, to start notifying the user about expiration arriving, in seconds. -warn_before_expiry_period=160 - -#for test only, simulate an account expiry after the specified number of seconds -expiry_time_test=180 - -#save temporarily the receipt for any purchase in case of XMLRPC server error -save_tmp_receipt=0 - -[default_values] -reg_expires=1314000 - -[misc] -file_transfer_server_url=https://www.linphone.org:444/lft.php -log_collection_upload_server_url=https://www.linphone.org:444/lft.php -real_early_media=1 -prefer_basic_chat_room=-1 -conference_layout=1 - -[net] -edge_bw=10 -edge_ping_time=10 -firewall_policy=ice -mtu=1300 -stun_server=stun.linphone.org - -[rtp] -audio_jitt_comp=60 -audio_rtp_port=7200-7299 -nortp_timeout=30 -video_jitt_comp=60 -video_rtp_port=9200-9299 - -[sip] -update_presence_model_timestamp_before_publish_expires_refresh=1 -contact="Linphone iPhone" -guess_hostname=1 -inc_timeout=45 -keepalive_period=30000 -ping_with_options=0 -register_only_when_network_is_up=1 -rtcp_xr_enabled=1 -rtcp_xr_rcvr_rtt_max_size=10000 -rtcp_xr_rcvr_rtt_mode=all -rtcp_xr_stat_summary_enabled=1 -rtcp_xr_voip_metrics_enabled=1 -sip_port=-1 -sip_tcp_port=-1 -use_info=0 -deliver_imdn=1 - -[sound] -capture_dev_id=AU: Audio Unit Receiver -eq_active=0 -playback_dev_id=AU: Audio Unit Receiver - -[video] -automatically_accept=0 -automatically_initiate=0 -capture=1 -display=1 -enabled=1 -show_local=0 -size=vga - -[account_creator] -backend=1 diff --git a/Resources/linphonerc-factory b/Resources/linphonerc-factory deleted file mode 100644 index 5a31c8a98..000000000 --- a/Resources/linphonerc-factory +++ /dev/null @@ -1,61 +0,0 @@ -[app] -#time in second between each link account popup -link_account_popup_time=86400 - -#Hide in the assistant the button to configure an external SIP account. -hide_assistant_custom_account=0 - -#Hide in the assistant the button to create a new SIP account -hide_assistant_create_account=0 - -#Hide in the assistant the logo -show_assistant_logo_in_choice_view_preference=0 - -#Hide in the assistant the button to fetch a remote configuration -show_remote_provisioning_in_assistant=0 - -#contact_display_username_only=1 -#contact_filter_on_default_domain=1 -#debug_popup_magic=**00** -debug_popup_email=linphone-iphone@belledonne-communications.com -send_logs_include_linphonerc_and_chathistory=0 -#use_phone_number=0 -publish_presence=0 -backgroundmode_preference=1 -use_rls_presence=1 -use_callkit=1 -use_in_app_file_viewer_for_non_encrypted_files=0 - -accept_early_media=0 - -force_lime_chat_rooms=0 -disable_chat_feature=0 -enable_native_address_book=1 - -hide_link_phone_number=0 -send_db=0 - -[rtp] -accept_any_encryption=1 - -[sip] -deliver_imdn=1 -linphone_specs=groupchat,lime -zrtp_key_agreements_suites=MS_ZRTP_KEY_AGREEMENT_K255_KYB512 - -[misc] -version_check_url_root=https://linphone.org/releases -prefer_basic_chat_room=-1 - - -[sound] -eq_location=mic - -[account_creator] -backend=1 -url=https://subscribe.linphone.org/api/ -# TODO: replace above URL by https://subscribe.linphone.org/api/ - -[video] -max_conference_size=vga - diff --git a/Resources/linphonerc~ipad b/Resources/linphonerc~ipad deleted file mode 100644 index 5f624a5ee..000000000 --- a/Resources/linphonerc~ipad +++ /dev/null @@ -1,69 +0,0 @@ -[app] -animations_preference=1 -autoanswer_notif_preference=1 -backgroundmode_preference=1 -edge_opt_preference=0 -enable_log_collect=0 -file_transfer_migration_done=1 -ice_preference=1 -turn_preference=1 -preview_preference=1 -random_port_preference=1 -start_at_boot_preference=1 -stun_preference=stun.linphone.org -voiceproc_preference=1 -repeat_call_notification=1 -use_callkit=1 -use_in_app_file_viewer_for_non_encrypted_files=0 -unexpected_pushkit=0 - -[default_values] -reg_expires=1314000 - -[misc] -file_transfer_server_url=https://www.linphone.org:444/lft.php -max_calls=3 - -[net] -edge_bw=10 -edge_ping_time=10 -firewall_policy=ice -mtu=1300 -stun_server=stun.linphone.org - -[rtp] -audio_jitt_comp=60 -audio_rtp_port=7200-7299 -nortp_timeout=30 -video_jitt_comp=60 -video_rtp_port=9200-9299 - -[sip] -contact="Linphone iPhone" -guess_hostname=1 -inc_timeout=45 -keepalive_period=30000 -ping_with_options=0 -register_only_when_network_is_up=1 -rtcp_xr_enabled=1 -rtcp_xr_rcvr_rtt_max_size=10000 -rtcp_xr_rcvr_rtt_mode=all -rtcp_xr_stat_summary_enabled=1 -rtcp_xr_voip_metrics_enabled=1 -sip_port=-1 -sip_tcp_port=-1 -use_info=0 - -[sound] -capture_dev_id=AU: Audio Unit Receiver -eq_active=0 -playback_dev_id=AU: Audio Unit Receiver - -[video] -automatically_accept=0 -automatically_initiate=0 -capture=1 -display=1 -enabled=1 -show_local=1 -size=vga diff --git a/Resources/nl.lproj/Localizable.strings b/Resources/nl.lproj/Localizable.strings deleted file mode 100644 index 53dc2d1ce6ad408695e0d78ea3d283ce180664f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57068 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 diff --git a/Resources/pt_BR.lproj/Localizable.strings b/Resources/pt_BR.lproj/Localizable.strings deleted file mode 100644 index 29da40d06beedaf4b9e420e22e9770321c0c762f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76660 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 b(c`P10y!pcs;rf|84|i%P3Pqu%P{_bdlue9 diff --git a/Resources/ru.lproj/Localizable.strings b/Resources/ru.lproj/Localizable.strings deleted file mode 100644 index 09e3d692b2ac963c6a1b853d3986177f16086043..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 87894 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 diff --git a/Resources/sounds/hold.mkv b/Resources/sounds/hold.mkv deleted file mode 100644 index a3e00966f9e7bc5e17177a47487243f905118a9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 919618 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

4jII`ZWOgYJ#{{ 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�#VivUF+WaM&&DBVSafkCX|_J7tH{~Ifz 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 z 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%0A`)CjF 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�WZo+DGBeeO8NnSNN*#!YxLe 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

+E;GyJ^d-t(l?X4)hi(^^4# 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

_8Jm*t4|wBkd&R<2pnw3`e2q-# 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⁡ON z8Q;wy3UdQ+N|LQdXd z;(Uu}r^^oN7N{lE53T|Du^BU&dm>|iki%wG;eE|~%w$En%YFb!?WS@{*Y>J@lcPehxDLB0Sj)n6bwYg&mhO z2h%_P{?^{O#^UGc9#qWg8>lfD@d8iROz>zLgIM15Zj~?cNE7n?2~NQ#plJg{YDqHY z@BY=A{R}q-%g>Fj6p$-})ctfOJ@$`^h%-Ia^1EkOF#R^tu~B=Q%FeS8@flhMlGj?y z-eL|q{V}CZk+J)2hjE&1<)pJ&`NgKym)C{#xkNBzgOvw{$vdWNX2`ETu|01>6jhxJ zg*>&AjREf^vcbQGpisC;%^PiX-N>hb9VUqCk|xX@rkWP*k7d!B!?+th@hC6XWBIu9 zlU7E!-_R0L2kb$|A1Zw8hwM+0JF^Y%sm=iFa1AoK!7MzE5oDytPRvc@h941`;gX;F=v>FJw86Y^^ep zo8bIyt)OIx^%{dx`OsRe-eXjSU&;wMs4s7IOp#Urf(h1%v|z>41PY*%4g$cWZQZAt zu#9jkL3QPbns&AHIX`MIHQRce{?!_;Vrl4a`PF?LujI7ra5b8BwJZHs@@UwGw8{3P zcP+;Jo|4S)bMu~Kb7I=)4H4g1Pmz8otzufD2D2*4=UQJ~Fn01;JKuYymQ8P|@ z4NcAn{=BPrMjS!$wsl4_r}n1wpAKx`T|`H#A)FW&bgYrSu|O~j;$$xIa#iT+4|Ede zT1u|3ndfnGf)&{#3XN{nSZ9U7WK5ismr|Xc$l&%|F&`

?<)_W0#S8=wL3lXG;hUPee+KD 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�tVa)7^l4+H{1eEcp>botUN)eC(@m2+XbF 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 z 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

E=XDnu^jXs^f~RKhYfdDIuAozeB2=IIC(e6Um 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 sWy08%o(D*ylh diff --git a/Resources/sounds/msg.caf b/Resources/sounds/msg.caf deleted file mode 100644 index 9810a0390a6af7793c128b62823289d2fd593f9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10696 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 RqMxomo1Ka^khF(1{}1%#tResa diff --git a/Resources/sounds/ringback.wav b/Resources/sounds/ringback.wav deleted file mode 100644 index 21f4b5bfb763e5448843e4410ce9d742227aa572..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24620 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 diff --git a/Resources/sounds/ringtones/notes_of_the_optimistic.caf b/Resources/sounds/ringtones/notes_of_the_optimistic.caf deleted file mode 100644 index b9b42fee1eb6e9e5d446b38cc62bca795f4f7217..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 182919 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


xr4hc^Fy{L5r3hu6tP%Oyk!AXc82>*Ps* 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 diff --git a/Resources/sounds/shortring.caf b/Resources/sounds/shortring.caf deleted file mode 100644 index fb0b6205f2a2409bcb715ebe82ec26049ceb764f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 689770 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%0Dw1G;%@G%BvI{=aL2r`(ijI-PA6mV^+7c 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%0D2>|GPxWLtr6l$Snj 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

YEAs^6A!{oF$Jq+s$&G*) zN9DrAQMG`J*AF_9cR$pPR~^XUE%L34TH*Iw52I-m#j2ZM6mVn0z^>`736ac)t5v{~g3En8&MjXz~m z^>q0*&0B>>6;kn(k5v-IE_H*PradJ6rWZoU3(p#_C3QLiIg6k%sopi6&9kB+EO#$yz5g*%0C;>o@5& z>;L4_tgDngthwrR%LFaabW3M3+%(kaT1}6&6_#Pz{$ayB!PZyPWXEZ)I2f7|XQ8I2 z3#TEtmZ{~gJLPekp^kCadb#lv8b#bFpJ*fV!df4B+>i2&>Ytc0Y`W;oRro)wQtyz^^ z+nLI4wy%}%Z3n7G+U{5VwD+hUZ696J*EZ(Qzn08etI=NvH{7hV7!Efi7zZ_aOaodb znzP&fS`s@4S_ks0Z0AIG90+N>bCHtZdZZcT-lE^_er)o%DYm^XtkdGed&!O~fxeDf zNUL)iT>J6TEI-9r2 zw9^*~cb)n=hvoidLUP724rCQD7~NEKVcH3LYYLYEB+g>=joZzL zj{Zw$N6nzT;4~4ZM^u0o`gqJZasai2Scuq+s|T8}>7gG;cVH~+xqmUl7f1}n2k!U@x6%$Zl>9%IeXeTYZl)`GK#Pbr2pl0@#QZ z!`FeQkrTlC=y_m1wjKL2+*~_Fu!3k(3|LJbgF8e~;z_i3_=5}@Ud=d3NMURvq%oEe zkcDTdaQszbkt;{%HbkzNy?=jj8sx?8Y3 z&+#xLCEUsI6(YL%2Eu;$5YSq0edv()dtkNqm+y=BsF&&a>5{mk91zEUR>0a}T5W!3 zm}k=JCYfibEtcuZ#nw3aaO+cPt?i=ZvtyU|iF=>uny*zD4DJ&;LlV(62wwCh^hjh1 zZ559V{g9v_(j z&R>L9&l+NxZwF~vU>oUvC_tJCxQV+E9|+@668tbs8}2D?JZ>ZLC2ktE1czq40pGAr zf;S?U;&OSv@e|`p2>itBq@^i2WNq3yDyv&NjhMB7b~k4oot*oCJ~^+DJ|(Z2R-ONl zx}{(=`BVXu_$i-CIGWo@7@Z3zoXr_aP-ioUuuKARV){4I>Qpu5Ny=;b>*UoD#}oIl zSHxM_&X}$2o4n0z4)+GDk<*KHH-f^V)1ERvlCRMp5QNlCU$)0A4?jMt3*mbE=+qraA{L{uT5gj>(Bv+~Kxi?O0_8-eX$H7 z#@n1^w{tQb<#I6Zxwup>4IWyd7KvUro=7r37hX`D91Ce~DhhcOfRlX?=>gWL_djZgzm1M47f(BT9P zJkEO(a>i{BOmY43Vx60u%j`8)zAe@yvSt`IS$pUbZBX?gn?|9u=gAsuC!{AWYROX5 zMbSe8Qoz!l?_8>$)n1~EYxT%(x7-)kG^vHO#t1&IzNu?s{l2a}^$)|~gC>68dL@5i z!%qIq#(>~b3tNO}%MdSUuax9=4wS6q^CWwO2P91rs&u<-S=dbdP$p2v%BN}r@;XD4 zVy$_aa;o)T)l<7hbJ?{=kM?MdSA2KPW&T^%l)!!)A^6))fMhzhLjo=;i=>o1xrwFQPoHA3fAeAh0Jy42T170P7(ztT4yKZVM+$gYa!=+0U7ZJj@Azwj9~ zM+H5rGXzhoaDuAe*M(Dm#fY9&^pPyCm?-^G;gMzkDv>t*8Y89rN|9{%bwScCJR2^o zbV%9N$+B@Z>*O7^6O`xbwCXL57Hvg~$#A1xV!`n#_MM_ft_`y3o+rw;z73iif#Ld9 zp?RiV(0SGyz(dDX7}Px!`0I-W1i|gF@4z&~5F`(&!fZyz;cjB6q!esAZ5;R~VlUnn znL}F0!%_am+@P7`hcQ+pI+*wrI^%QdbhILGM(chec_OZYgsz{ zdFFrMecDQFEO|U8jR>M&;d`NHVZA6P>KE!EydNqAU542jx&sD-eFzQy4J4BnN3M1K zAis8^$@A^a|`2J#f{KtHfIn0YwVY()mzIL;~~yn+>!@4uNMy84&-(d`6<< zdm*WbGZ0&oOW^xcSHSk9Zv_k)c`!=mzp!^%@8KJ>-@;pSW+F0kb|TYrx}jHQcY&|7 zpAk{nOUN^`_ENTF2r1fh6LodkTv|qI8trblAl^IiBgGciK^_wQnP}!ph$A=yiK8Pn z5JmLyq-IJF3Xyn@Iv&4~HXYnf&%%shAW*Rk526qAJ?tCv29U%khJe)az#=lz`;G9< zy#VKS4h8$$tQdl21#+P&0wyyY1c>_UP`1tw*{;h7{nhRdsc6~>nk3k$D z7?=1T7#%*Fnd~)KYCNU3Qa9*`ckXoVbxd>*w`;x69T9;&j;WBIj&8tj`+LN2`%g5{ z8IKjX?f8}cvBXm$7bF#!f++<_foc8B$e0Dw^urO=)cmmxbM zc#w(Ai;yPf0)Wlz3-dC5AfxCXP(j*y%x3Cztbno_cac1raFY0l7{VVW8o>#KbW9Am z0NH^40EZ&GATJTi14P&#&tm8~$Nf-uOI6^oLG2G{7X-$s_6O<}IRU*i5I8Pw@VkWX z{9^=>zC&GR?}1Lar?}&#tEzphGomfY-mP_p71p9OC$*e5#kOoR^=wg?!M1pFZM)l2 z)J3(t77Vv~M103o8O@!p{OdiXUE@a@&iHlaeu0ox8#?XqK___ffQSC+utlMvu%Ez0 zcmkpVUWVC*c!ckXqKA24GiherZq^l2eAFZAvAD_Mch1Kmrzj&6(i?b^tjTe=bA5@U z3WP~@R@_ZH%!I|Vt%QH4si9Y--OM-f3&3w)dr1zgYrP`u_+ z=!hylV3vRK7f3gHFNw!{GKBlwS%Sr`M}jPuR`A%(7asJE7ajN2iS2&7G!$?s{tKn5 z7el;S6^vs*z`qzxhyrsbe5Un2;II#bzIEJycw8}%32t4eztbLoO2S55|L5}%G z0QY?YM5_NA>Smx5Qx$@PCqr)hILLJ3NC=MnPiP@^Y_N@H4F1Dd8aNh#^}S&|ar-$) zXFTVdy^!Oy?dJGwr#T+m3y#osm$S@P!+v2eWm%mR)&kdm5nA`@h;;XRCd^$#Kj&IX zOLI=5{IHwJ3AV`utECz@(tHjx)$|-W#ps3gH*SFtj92{@Q-gQ5#p^y|pW~YBjB*yb z2zH6L}TGIV}%>DhJj3(b-z1NG;9(I?gJgyOnCC*Z*K5R=|ZGR)=+ScXzpO(>zxz^i? z<@WGp$FW>q==>#hxKxsb?k3(S)?iyxU=AfG^tpm+lOx?`m^f+^O zwcI>hant-%I?pm&G{oAEf6Z3hxx~Jv{ifqrTcp$0^3k=Sxx{H}G&_DYth8^g>#$w< zJKk#lQ)jW(j5Nno{V+6C&e2u>o~M2No1oqGd$jgZC8&K}m7*=Jeysib=c8^-U55Tp zL!IG%bBXaz>rd0XjwI9Hu8XEmLb3@aK4K8bV)Ru?oW7rCpMHd4guc|0t9RJFhD&az zi4~Y-kpj~kuTa}PUAX0emn1KgM_&V9$R?qFM3rNGaZ&h_iIv2hlTr#lDGTbk(xd6M2YhQ;fH++ey7EZqnpNIarz^uV$ELIP33wBTDBm76Cd;1gf!0x ze!S~sr_gb$vyVNwbExf4r_El=pXz)lobJ9MmUxHDuKT_z{|OAz6a<^~R0wEdKuWDV z$Y}=_(#KU7(t7uX_5`MeP>}h-v#`s-H^`3ALo5zD7at3oNyv~WSRHsY zH;x#J9z{uyE2hp!L{Wbw|Dj6LPE*@6dQdlIZKIsaDIzb(-9nm|S3=b11xe)mY|_3w z9XTbh2icapjta}EqZQ{Yre|gA=>KKs(dTAm(B5absKRcqDG$>#NXFD`!seuN;N$p} z7+SO+mBC$#=wLO%zcLD7rzmfMQ^X}eU);uUcSZ;Afs!L`AWM*s5mQi;;HOb-u#f1e zz(@3J=nnJ`$Po1A5ENw$97Lu1&LRn(LGW8nHLSk_2CTO|0rpux!ip^#INOp6Z#6d} zZd*`DqeY1Bu*$JUn+SKreidKjn1YXXX5r4cdV?MA)z~i2EzA~g7plb%MUDs*BL)Ze z!D}IC_($kt_*d8x1RQQgJV*9L8c{RQ%g}oRd*q=hl@^l@9a*%Ij-S*Iac9TI9%W_S0cF7{Rr&oO$K9q^FWq= zC>Z7c1@`t=fvNuS*eAZDm|NbO@Vv-IuJY`HuXmRL7&kW5%k|Pf(4FPE;MwAu72cO_ z@|W2z1=QheO~{-DDKRAhdB)>#y1|8*W56KlbnS>^+S>?*<_i3ydJlZHiUad2{(;Su zwE!QaO~4H4HejaoDDX=961G}~f?t+BMD~z>M|qTV%yQLIY#;R->=-2XD6I9g@{Sf6zWmzrIS z-=6(}_$u2-nVEy4nR5Cvi*uf_7UiaMuIKLHw&dR7-N=0u&bXb3mgmx=*JrzU*RtqQ zpS%5!Yfhccosw7+DT`G{9*lBwf*dAi8*@E}PStYykQQv+pAr?sWdS=!p&xuNyB^M7q6&b{p$oyDDK$G9%O?USI?a!u6BG*cWj43T`a}&`O28#8Ero1pKWc26x-|JSDg#d0oOU4#=VQQ z*Hb`)dhRe!c)qclJU6+gJy&_xy)iMpeYvrx{I}!&3$o+Kgf7S5gf570hkZ$aAXg`J zN4F;Q#tutJ!k&p2V`=e6FvH`t=##M@Q5U0sBXgn%@EG465bETLhxJi6hKBC`=tavT4rtZPbB z6*c!$Ep4e&&2L+w%4lyuympD;YAe|@cC(oC&6cWWj)elu4ja3t) zXX`SJM8jrNr>Wi2X%X0YwoK<5+iCYETamZBb(62dvMF%T+&ic?z6@R0H--MwnnJmn z3Blj$3Bd_!R$!(2urH+fKZ?$Ry@_=TqnWt7Cry>QpvB!OesFhpFYa=1cXxNExEve` zw567$aksI^%-q~3&-{R7l6Pca?cR&t_GF?G&u3(sHv^%0 zp2M%*!{JSr3Lo5$I*80N3Cu2k14j7 zKQ`NIeo~$5e(rZqE!BCa|6=&}|2`Wcm%W58SNujtR<4iSs;0-L)C95ihQ(NaQ`6WB z%hBj}+uXxg5S6Lt?Xt?Sz7y2K=I~q?+if znQNG8?jTkVA&=#gEMS@CcUW3gCF8O7I=!Xt3yq&dqfSqHN>wL!r+iE{Qqz2M&vVX)sgww{xV!yU!vv50)`PMOp{?~bmI?Qz%nCpIn|LbiNb^4s)XMwJ$ zAeamrgMZ=Xp(w0^?!cRn$HH@wvp%`zMbOKkWw#L`h+fLXrUXpXN4p8A79^+ANH+GY}&)gja4+NYB-$m9&r=^Z2 z48_sH=Bg=8r>V1=%~4^^eyKJzD^iIIO-f@Emhxspqq1N9af-8f3+0~dH2I43AM!`3 z#}wC-4yp1JO4Khki5jocqg|q4XjjT4+VSxNqTPCLUggV z!DiZ$qibx@@Fxca&2p}Ui``?uYu;v|#=dL8oqm6a89V^a0)N5vk&Xx&9u>YGB}X^J zJlGE65pjhw9+=9=Bmc|pOD^SBlcxwq06WEvNhf8=L{u?^xT3s5TvoLt9;sds&(sYG zSUrt&SDi`jp}IposoKTJQ5jjC)C1XT)YI9JTFOaR9p|i3_25#KZf>?x%^4=&%bG3S zPOlJWP$vk+lecpsz*HuQbdeGxyrfA)TWkcrKQb6kLKv7ibOy8epWx;9L*JXWBmL^;LZHD29@O(gO=>O#>(%fAmTF7zWc72fVf8q;S@lG; zV@-M_yY^r-XlQ|*GJYc(nRbz8TU`+vYN*98*pm5}QDi-`Wg8vFq)!LNrG6C+|1 zNvrV7fQ|HrvXHWrwuAnJxsEO14&Y@7`wH_UCnYy!ZxnA7d@W0<{VidJz45XeI?nO+*fo{w^eXb)105FxXJr0 z9mAg_+9Vhf-^Q=UWebn9az$+VS8`5RRcD$vtIC{i&Bb@2}fzt>e3|GO!V{f2rVs2{pWAQ+2>opjd}C< ztvnfmUY<5WrT2^Qd|;%gC=?Y>hiMW6GD2>~6xC=|84oa!fDlGkIy7fzFeDdqA z{`c>pH8+3Xs(SzXOXc=Iq{@AN9#tJG`%}ZO$g1u9cb}e7)m}ffX1M;P{;wgUZm!{w zCCOm61q^>(3PTfbi(0SWQPU|{R^R_(5gTZIMka0{%}H&$j*Z%S>DG}J>TIh<5}pTJ`rqPeJDt-T<6^5v?_|Lv@+>Zi`N>enOZy0T98+6srQVbu$3ui6*ZcgAP-0p^F!fi{b~ zjccGc)f@5e2p$R<;Jzp+GBwtXNFvdxUCG~Bqp5fK8ahY3o6$wVWA4-JW(5-8a~P?a zoa6QGac*VY;#|m@%gxM2dAD=r!tS}RB)#(n$|^fK;$mZhfd%;h8HpqfNg1vz(4@;7Lqis z%|w643mmnN#n)KtaIr;>XPTxExphlOwz>i2lDZPA&NPDh!Q6#fWw}A!XuC{_Ijoey z?gH{-?_{#Z{{a{sYDyXg6%z?aM_hwG#DbAlxGz?Z^c(L@{z@7|ZB0&z*E#~)6Z&pC z#4<2n@Mf{+3N4%zNtnG`!C~dAJ1~3+%Ng^M+AuDqG-UEqS2NqEEoU~YH=o%my&v;p zx|?-AqX(yD#(7?+%v{05%%F&qbzgKNd!%SU_8;M@oJ0Yh(?tO0WC@_`mx8RUC~suu zb56qyE^Aj>kX1kBI_tlrUF=fb17S% zr2h%7N+Ib$9Cf%XxaNo@#9DL`-zxvhU5aLGFfXzpG{ zvN<1<-q>N%JDUa&Sc-rzrbpyh-9l<><1y-cqll_A*vMmz38aC>62lQWv!Oi>pONGU2DkX+WJI+@=%l9Us-zPD>g z)2%DGuG8d}>9Vul>1L&0)U8Y%qic~^mSE992~H(V*F&168zo$ku$22wGmuFrchd4? zFM&gnmUu_u@+gBRM(!}ppn`hIKN8@(58-RtTr%JAOmcIdN80YX%$ zkws-|k>-DvAzlA8L0bN~1{arY22Yl65BMr>`+8NXJ*)h zaP%}!aWsw7m#5jY-D{kEy+_<{{Y`z(0;A*N#}V+)(5lE%@C2R>T_-Ey4fKgfefDSM z0RJy?U93iqNiQR%@=xf0N^@k5+7a8NeTcWyF^J{55b0*(W%AghvDE9yiF8l$Z{~oM zVaz%48t`n2lfFHrg7z?F4mFg#j$%ntk$dSnkS1#z;rCP!c35!$<4J2{b)xq%FaIAb zmHiPr#2AV5sEzOuKy!RD-X9+w-GmQE!*~Y#3F`<3q9Z~rQBPn5e9_kzYU@#hvz(^T zeEY+A&T*a3WbW$SY(%}I^^bjpH3$7|s_y$ARp$5)SKxkeMJwOt^6y@I`4ey33Y}+9 z1@87&j&L`q`t3w(l#aHwB-`%V2iC{>L$;2FXZAPokxhS7Jy!#>z%|<(cD=MFxNq2& zc_j{pFUPsx*VWzK+tu5~{l-7o)iT)ANsk*uj38pW3UjT!kd77}I@c@+*E1~&*EbDE zADX_RZOwmBwlxP;+eVQ}D2Lvfpi!c%$~E?)!1B?Hbp1`%(7>o5<73^4g=1I~W(4x_eD^ z<9uA>Yahip!u!rpQa8c#i5b*bX=*(X_ zM6Q?%$0{13r4<9ihbw-CrGJ+o4=UTk$yFV|r`3l;+iDvIi}jxZ2aQeq-n#kz6{ctY zhL#roM%K6fKlZ-CnT|i;8`pWHkp~LX{kI~@(5A>=xK*?U^$0w-r3yAsp^Q-s>KJ{z_CID=SHu~c_?EXJd7fZM z>QLdwdfB3%>4(G@G9F3RX8tE#pXHQI%r2At%u&idWgnJ(%Q`Jznt4FU%Q&n;(mQJ| zqz%`eO*SWtO&p{v(qf6H)RjqJ+Ng5aHx)X@Yw0iQ z7x65>B$VP7UNCx@TY%=WW8hQvn!sN6Uhf6=EmtkO$dSh?u-X{+EJgIG=CQO@CKvUh z=@O;DbdpqQielyFOA)JOF{A&wXp6 zK#XLAYIGN}ID9_JkNX=ek&_g5v>sztOu+epDTNvgmFD1kl>(wrvzIho_nN#sc|WaP zT32SX^avZtI=~x~OA$QIPY`#kuayQHvJ|TuQ&gjyJXOzVnx;P2tWZ6>xlFBY{!V3U zAy%22m#V_enW|`0lj=+1V%3VqS5>nbc2OA$25CsS4YcjDQWMhC+b7gd?V>%GB-EhV z_nJ+r5=}jYRNYp3Ou1MD$&3P?M8TB{cd)Yfo9NxSFDWceBC&$CBKnR=M@Q3NKtpKP zf*Yx2zPr>09unoPvxL&Y(V9HM-j4Lab_IW8YaKgf>l78)zDBh67vXtv_SQM)Qe?BM zExg9v6&88U!5e*KlWizfm6Idq^|zL)anwbCir@=xn?i`i|#^mc^oh)6pw_e&o1!UWDPk5x(k@h3h-) z=n6*?Qf=>mys`1o`Ib}R67#TVzNt92r0yp+x2_)E+qjkB8T%2>j1NhT>yDBZnhues znfH+xmP z;u-59xjP%D{^Z0Mo48i?0p1Q?3GcOV9dDkvlv^wHa0e^ebNQ+gPE2FuG7^SxTkF!e z*K{`CxWpQMn5WttCO#a$0d!I4AR|{F42yYtyBf&Ig01<8#04JAu%iZh_)#@ z3e@t?JgO|f*)Dy_PLUKady4*{)d-3x^Lc}Td7Q_@SN0O@Gizy7$2^QO7~i3`jG|Bq zqh6pdqnEE8V~+a|qlt4PeX`w1%e1*DXKZcAa_eH!Qp-L3k)>6v#8MDhVCjPLEE&*o zb7g3nd1v6Dd56EB`KE8JxylDv*xvP)4Ia!o&$G(*#M9SN=$Ydz^IUhEJy(2-JgtHQ z+#4W`%Mt%po(TtCcVkE5#)T7ZIl0(9i)#0@rk8oIFyH%cvYkPcmkV_jG(~0$1L1Mv zd(j-}``9;y3@=hOCT^;Iq;J}Zz}5r;c$|0x*qY1%Iwju(W+fjZOOl6Bl9DCV#z|Lb znTdPpl7!ccJk2rY9@RxQM-kynmgjQ&NkHy*(PnPBU?_JH?-b`koDa8xqffuZ~e)dHTutneR_xKmfmOGqCemmsLyb>sWtls z=o}$=?D$s4apwsCZ}^ zZ6e60`M}xqSKt=L5^yME7098#2tB9m3vHzK3~eL(LT>>f*aANbUWk4Lf1xq(M11>E z6`B^>;9nRbdG-a1U6Q~vd(eNv`oq`AJk9giSmqw0U*~F3bHUlSn(Vk;sdG#$FLR9f zv)Hlf*Eq-CpQjz$z9WvE-`Y4HetGI-eKt6|f4=K%``PRG`z6iM;mdOSwXYrR&AwIJ ze*CDi%_)U!iNF8a63YCxD}NW+E30QZ_v**F_tq)Acg!FCFUJ*Mbs^<4YaG=-}JL_GfJ_v53{kNh8b1wV#Tz_IK6c1dGw_1 ze0$1D;mg#Y;+AQLCClp-NspzEmYFgxE3}#W6p_rY%G}J0inp0p6uK;){A^Y~`TWd) zd|t*^`K`kL`75^rsV93sK7d7u-C?|oz;rN9Ng59yr3=8vG<~R$&JBE|FZ37C z{oYfI0?%nis;4L2?iozK2KE1Rus zFIlI!BTACr;IEb~=8~l&SjQ#H8TG|CshdR4fhyrKVvS%pwt-KNKI9$`f98-73#$b@ zk}(pRNm~upQSO1Q0Wj2;G$7a#_XVb6@BBYw&;28!=Y2OK$>!6Oq>1#XcpeiFzF~giM_F7h!nCq4Gyi4IWj3TAVf>*f z8DlB4={3MO`glS@tBXOjUeRXM;_zb1K4bv-4|tP2D}a;h`HljQJhMo3E*?=~AAq|p zoAK_Zfmn(0YpmLEJUTCK!@5=zh$H5l@XP8Q(D&-k;Mw1Cp>Fb%SUI&l$wBo}4YbzG zJG8Id-3+F1Ec3pEU=LEHbM~sG+-q7dpPg7CKvK4dJEeV<9!$S0zmd5~`ET|vb)(#W zHOKRdwD$_OC(NyXDIwC}m2PUo_qvisV{{dbI_d5-JgQsP;G%9`{nfhH`G&*>xyKWW zvpys?Nw3yTPGcn$B^PM35=@$S+*=iuw^WW2KbLC-rzDfOdxbaRLGjkKgIp0=#j@fc z<4_c&H9{X#C{O{w51b-Kc*kR3Tnl6K?Z>0DEO#S!>d* zhA+l#)7?ZHVn-#tu}#uFcstoxB1f(v%~0royUHT+0o4@pCv_9@6m=!=NwXTr(Q-*w zv_+(R4NSb%bR!n1XAlEbn}~MGzCmIX#GA+0}THu9cD z7P;HOA%_7zYUjZJSUv&@(tPs(g{HZj&X&(}$vNZkhKGt*+n53|v}&^p$N z+wNK}**)gt&Mu}3*I&~F&)hoD`?PL}@4C_CA8*_jkQ$-DD^qH)$owXF)0!7zSwo@K zwiaNPZ6)Zj=Ruzw1@LR92B~!Zi`tz>!e5-1A`@K7NTsVf+RlA5y2sNodf0O<+RDq1 z?D8H8JAK{44m?Gg2QR?+q2W;9&^_>Os3LBb$PFz5q2K|S5;zNg@?V9m zzDw{z?|NA6=??dFQ(?$?4_W1CjZCp^gs)ppL0;2$=s;Z~=$qjw%-45={57wjM%4>I zZPkfjRaK9`n(^ZAO4^_E7PF0b2LDhTDYCB+{93-dMeSM7V*Lo;3d8Wg zHskr=cT;kxv$-O4%la4mP=;@J~dFCPdms7erO~-`GrYeGH~; zj2n5b08KcnDLOudmMk34kclxCPiE%yRKmP3nqR`Ac=o?R(sjwIRH1ZZz4fv{MyaAU z>xv4>;b?Z|rfFB?WhE%`f(iQkzKN22R#Kn5(aCwa#mS>`RwZX-cTD=3c_C?U`h%qY zX(tk^Q;HMWN!o;}g!$S&>J{n@idD+J(u?xvqOUR;zeKW@Ge~raQ7RZh-Nd~L6tmml zOPTAVjTk48hYSi>L{ADdrJnb$Ci`4|V3lJs>4Hs65Ec!NnNDJgy4jIp;|S!MVF}bt zZwp<}*94EowY(m~??7MU2LG+Pe*VU${(hGEoPW2qZQ!qcVCaSO7j)h836Td#$TzS* z+7{7=)1z-Ae@F!wnfeH?W&uQmdz`daPz7w0s3>#f7wDPlo=iMpD`!wrD_(NSHvZ#! zWZ~qD60snAn`CnyTY9^IFMC)2r~FI9rHUJkxyt%Yij*S?naW*-V^pHTC8`&Nqt%&B z{Ay+srfOfK%c_|T)vBNM$EcU*?^l1yEmn`o&Q#6KIH|l+Ppa&lGFCYuak+AkcD$lW z)k$6=pDAlB`6wAK$`>uXrZos-)M8{l^(fSV z#tluOX#-`{Vg8xqm@gH$?adG5v}#QW8-~C zFp7UxJcZQ{TN3Pm{Tu3weFiV!4d5R5RkSgY8RJ@Mrx0X8>u6 za1H6Ua5(9VP(qp@_(swR4iF`RETSX71OAeW;$t|)cm_KWd&De@xft`JcG~M`Gm0}h zp4>3jkn|1H5(lyAcz3LI>^Vk_s<4USQ}|GH0WlC+Ogw?76WyS}_)M@Fb~Dr-+YlU& znFGc6I{$J)>>EG~^JWku+-9P!>k84(xrdnMct=T{e`fk$ZU#B9ni@!%s-BmUs6Ly#U;QBIqxxXtOZ7jxld95$Nvdg@n5wI~uWFNWrRtdcqB1Hq zD0)hSGMOktA{XR}YIr?FDV#OJbk=G90>&tAQ|c{tTi`j1frHF{W8Ijk;q#2K@O?Tz zw23;^KY+Z)vy^ngMZu5QZLz&JM&w`11hmkshWeXi0k|&D``p;Yy~;4awLrhoC9O3& z=hn_~B-f_Kdx3K6{o09ERG)4a8ag^S##@fDrm2n;%Wk{Xo)$L=#~dNgFBjFn)rEx$ z+#$&6F{8J?p6Tk2nyJ?#{GWg5ipP>;znq*bu+w79D*^#;e6a*u0G zUcuX#=;eKkyCRL6d%WkWZoH}TFWhQrPi_OzEDoRFjMa+$kUo+zi0q>( zS{5D?*#wP4uLN$u^}Q`af1PiFU2RE$_of+veTM7+sb;-zOVwP@hQI&1#+Sc#>@Q2P z3x5Z#_kJf@hWwgmW|x-Ky((oJ&;8tBc=WT2q07%~!^EFT1Nt-Hxbx?IvLeQ71o2)Ymo((6OlX(+gh zHaOIRIycydvM~@Np9{PLP6gzohH8@NI!x#~G?m{p$l7Kf`<6 zH^RNpTkc%t-DqF!EwZlglFX|;yW;G+GNZutR^P+9x@MeXdDVPJ$G>+Sl@(H_p=^t5 z>2IHF#;-$8Q|S%ooGdh2eMw$HC!pZ0Y8^+6Zn}t(Owoq(uuWR#$vsaKV^4R=5gk#HuCb-HUUpN zR(LbvgqWn8BvI+^O6%#ovigZV<=Khv6~aV|;(Fp9#V?&#F-|vKzEqbiJD2cGHdb39 ztJ6%Bm#9h;PMmoJ^hJ}6$zq6qIZ_6X+F zXYt?A7V>*hC-6!s5?+1aICnj%F~@*E)^4ZU?u( zhL8i<3Oz>WBD=z=;Wgo1(Usww*sSmsqDlB3=}|aF?iV>ir9}tOoKZjHSuBgSAT}nR zbFAQX!Uckr#8c6BV2q?Id9(B*Wr%zYb)fPBy-*!ymM0`}ZtC1TOVWNpQc8R$Ep3vp zXL@^4kBqzG!#0eoTIyaU*$c`mE%|_2|isQ@bWflUF2ECmvV(6AmadHQ92Fa*@;|J0_KgOC=2j zP7%R^*BHMGNV0c6?bq3PDjP@=Uk_{5qK2w95*N^8V_!&c%icQ6Apo#g?)yE3Tq zz6&`0ivnkZg97{GEa6Jn5S$g3g)|W`bSHKXOvLwrn@RVe0p!o{f7Hie2K{>6d}znp za@LWC@W}uwq*JDgR#Bs3J^iY5HIpfC&%CaJ5!_e+|1^kTv7QRu zs!f81*L(rL)V2gUdUB|>{z&k-zC8Ynl^CouctR8EvOtb$4EWjH9(rk!!Gv`wdf)yg zQtdj2wfF8P4#sESi@^G15Sc>l5@pkD_%+6lc>Q&W){p(2d5ojx*w`L^ghLXY=6sXV zd2QwE`9@WD;UI02=&|mmq+JpyD@@b0)p9`eKW?lwIs=z+UET;sX6JHk#HbvYy%n8BbXNE+rod zSb)X8rKG8zMB<1uMD%d9A>?*0elX6jE4DJD28$}vAf8hyF+W5mTk@cYWfR!OvNkx< zGRS|;GQ+pPQs@0-J?q_No8~I!=8uUU>k$0v7Er`*y#W}iull| zBwn8cJ%`Xi?icVxmjN8oiV9R^G$#1-kBE|?^t>nmRM)$=iAoQTI|zm zeU6s;sm^8ws%yGouY030&9kU3**o4;<2!Hd8)$A12k*HWg-YCqzXuLPW zNxs#Qaz8Kn#IKE|`(DSc`1)b{eYyBP-+Dsm|A(Lj_Tx`O(s-}*0e%Z^hVMXD;xcq2 zwkbRtYZmE%rAOQ`M>HeWB=R#VicrHLG=c_EKJo`?4d=nLc-6H_Jfmv4?gKTaT#u`5&hOO{hqr2_ zqjgnJdtFsOyRjq0a6RvTJmJ(cbb%QnaSqsI9%a3 z9xP=F|0s@1o~e!UqX{ciT@&YNx+K@vE>5Y@eodRFeOT|Uc31jG?e>g=+KZVy?YWGw z_DDvNc1wCA?frUuZ79`|ke;$ML7B8l`$fmp_SYQKoKWphFHw{#-^+sXbCPS)#Uh1x z5r4CA6_>;B#TvzVNFTz=rHC0h1Wa>dQd(-HDYX#{lPg0@fua5uqy*13Vvy@8{?OsZ z?%IN}##U0Kr+GKJ!}J{Cnc70{>UMzBj1PkbqdL&WDDZtSZu1_gOYvZJk33$}PVat; z%=gYVAkfzl3R>LIb8rb~0iA zek9wT+e)@Qk0u+DCy;t_E2aJ8JBF|F+DZ23^^inzmrMU-6Ea&?ANjA0Uy2jyDuU2vY^C`Ez*9cntO#P92lO z{z&`EdO-QWGy)%)TZl)@$C#6q61&J66%DakL`TG-7nhmm!sX1V;m!;X8l&6LXS6YB z4&^G+nVbYqCcT8ph#AmY9DwS@?tqu0AHliN8Q{<84yZI5hQqPlhzYw%l< zI=nP?2%n3$$4ZGkSToYO*lFNO^cVS7WDn&C>ZkTXw$n&(1?>ZpLcfa&88gGJ8Re02 zOj&e4b1p`S(@##bZj;j3EFhQ70d}*Zz$|ta$<3ZiN@rgn6zus}6U@R=j^eS^@eJ{gkYiwhLIHBgCnE}ZEV!{uHs zvdcRQ9q5I_Gku#Q9)FA2g+LY_?@JMRp?<_QFq3!*Mu9D5 zYyuYldd8hxyMc?u3CcrYF6{tS&KSYy$?C+O${EVj@n#7|3Py@%h?+@8ONwMn**V~{V6aO%@Ns8Qr#)_`GmWqFLzZHvgwFBxHIG%F)l-x{WvQZCks*H|+a?<#`61aX`XOp6IL^PqTfwc*InH{^ zmN7KUOH?vrAn7Dsgl(rn5r`5*pOH)93BbJ2Q=&RRi&q-QV-wu_Bki46ke&8};ArcT zK#uu&oI@o$Jp7GRyW$c$rSNaTFJhi z_NM-K&VB)(dqQxZ_et<|#QGISv=fV)r>nl;0PlQyBe;r&Vt6oXQ?Yp?E;I94}1#^{XBE@JzZ03mpC@p{Ixf#8Em^% z)6k}`S!kbGo8%Dar4GHJrAueL<^Eur>78Ne>sx5c_3g6%^)a32y`9{rJqNuWcV(b~ zD;Uak`oM3_PH=B$N93!x}#I+V$@2*5!dWS?#`bDu$ zfiN~M^b79;Z6KN>D&i~pkT@I}kME5Mv3}Ua*fpYg%u0HP{UvwCt(0Q~Lj47FrZXr7 zjHR@DECsWe{gR{NcIGYNof8}rC`9vx$Hn)=3Q0prCkamy5kHl#5dSN!6|a%C5>JeK zrbSYV=&LkC6p{=QUlHGvycM^Xz7mznHi*W{l|o4VO<1BhFTAeoEj+87Dcqtc6ZVzg z5>jLX1Scicd{o?zFA`qm`UND;BirDKN~KVtjo4Wp;2XCnK^NH~vFitNIIur#tOz7snrR0>`XJ`KJIEDdz>kN3Co z-HyMu`+~j?ey2Y#*v)@B^e~VKVu5lvBX|eN2)#o70}1389N(-(uES^1uW(`bJ}i$s zfE&dGa7*kBJe$~!BmueTXY!$FA8G;Klb#Q>VjiWqI12hC-bm&L!8#6E^oDDZ4&_f# zBnoz`{t7p1`-^((PKfG~O2h+GZi+2wy(ETuyJdyxm*sCVo+}G7D^=UG-fGgahbE+F zZ%7=Qy(zg<_Vkoi*}YSGWdq5dv$iES&-|KnAmc;g#`OLPm(rGNcqyZlnMuuLt91-X zKg|Wv0%c8nKmRv>nfMQHjc^F}6Tg7lmYc*m%PQd{FeL1U)M9pjvV=92urgL)Tc|rC zPM`&B66Q{}l(_ZVFWgG2Fwl?>zwY2qTn%DY4bEkmKygwMW zj0pW_Ed+CI+7N2b4Xtw=4OY1N1i2oHKjK~F`|d0Ex&tG;PeRRnBcTHSRzw&8(a)i^ zk(1E$*efJNs3I7!0B2E-kk-=fktK}sI1N0BGLzee@}4iD*aWL7CxjQsR?%L-CvHL_ z#Oq0I#Ak{3;+w<`@gq{6cn8o%43H0tx=?C_yQ!~*4QPi1RrGCw&Wz*yd}c##DdRq8 z3O$ttQK?KOSwtI8nn>p3SMe*ck;(P z4U}I}+vKHMrd*=^B5Rf~LHa7;n)G7A2I)xc6UjNvO7ShVT+CKJ5k(b+;@Ps*60YQs z+lF3_t)ef%lPw$js30=;q*_*!&lOHc_Y7PoIt8{9k-$sRwBS+FU$8H* zFYZY_5^hbo8~sYXfv3=3ktB?IzyYR{e4TxlvW?q@I+?eWmc}oktrMzfokabpr^GC3 zjyR9HR$QO$jfNNB7El4AB#$!6|2$zc9C$y8w+w;*XJy)IM9Qe?PHCZ|b1$R`~0Oc&^`aW0LQSgD@*_SW78wsNn-cFxzpHpTnX*2&|vt&aN+6Wnb3GndMta{O^L zw&yrDTMs&0Sf04}7K7`8)#nP?r?{6o>7J{uufAm-TVR-fe4M4j0n?yu&=cf5;s_^4 zhK7mQib!i*5YZ5W!v@lm@Dp;|@EOX^a9`?7^a&L~lW3dK^te@~kdYDX8sBPu$Gk}r zvu*=*>>yARA(f05cbUB;>w}$250Qh)tGP2p<9{tDL72W2(huB>Q;p@)%PzyT|ve^a%FInCP zROX#NzG=GqTwRWHi{ZYbuYQiBL+wtdtXAY2R`cHdzUGW~Y>mg?zxGw|v_S%ijq{M9 zb){jAc|@dxb#mm5-4yxbnjCrM*&ZqP&5yPWY>NH_MX?#M72|~W;nXNfyvHYzmjXR# zdg^u7KxRwsG|oDKf`3MINc2(KLzb?fDCepsYr3kV37a(=6Q^q0C#%(4Qnsi*r!G@9 zOMRuZrXEt>O3hVnOgW(Jl6+f1B&|{S68};DqnoMfmr$$Tnb1fxMcZ66Q2kroOtnh6 zQ`t&xlN)7IrG(_Jc%`UF@Pe=8C9)5*Z!wND`LsNl-_4Vu_p_oxORpO&X({Q2RroFW(qvCUiT|4CEgvD#h#{? zPwq+9QSLj|A6~w#o1bHE7pQhJL+#u{!EWBO&{+R5_*`%q@&tT{_Cb1}>aZCZ6=TE8 zv5(MiVkvYQ7z+`Uk#Kc9Q6Qz4gvT)ZM~<*%Q6ra*?dSbRxCDd9&xPf*S>nr#f21YM z#_~tZ@yhujJ}D@zl)Mpd6AOeLg@yd3{B^v>+%Q+b z8OeUbTF+X;!Gqy+WLSKwwMS?u`YPB6E%X0CjlPcIOwXb4H20$LSa%x~^(3HYyf4tR z{sUoYuvvI_Xm5lG+9O-x7142M*Vyt130ogk;H{!X_?^fmA}!pWIFCdK5NScwA_`&? zGLPtwn24R|NCHK1Qca@HpL5;mLBlg(gw zS@RigW+O%deLfANE}>e<`zb*{M}9|Y3p5}+#3T|K(~}y;?vrLlOXK??2B2XW1ggVr z$Rp7@atCxT&rI;BZot8Q3%pTN5N+NBC02Mi1=ySuz#4%NOJZVijbR6E8~?i8w-lq z^MrG_-$a>$o}%8O5yF`Gf^cEnXP+)vDV!v6i~2|>iT6qONUEiCrAFx(*;DB!`32c! z#aH=4WmNuG^;}-9Ix4p)Cnyr-Lln93RNFPt3|X;2E(yiY-r4MB!U|>rzl=u2&yi`Y z0hBHDos=RfpVAIELE#f5^2AtIpl7&@@F36dDbUNCZt&5+V`Tk434#8>uEKm_JLC?W@$SZhjq%nFu=8k+K zj$oPO79<5NhcbqFmOh0$mAO@5VI38hu#B<%e|4pV#vXgUUhmvltd-6Ty%@Z=0v(LsE%v+hA>Fb#=wJ+-|S;;CV zbzt?teauX(ntmpBlW$aUlHgj*92|ll4*n$8fSUM>A_7EEEkzvBQQ+tYDj4(AJ7I4aPw>$!8IH3cVjg=J zv6REcA9EIA138DH4>_G8JK3uvDXfQ)AuK_hd2uN2epJK?83(Ylj26ThMjNt#v64E4 z@ti({@tSdnae=91Y-cza>lw`%&FMw-S+p*+1ge}epL`7{0VsrvSdDY={joHBb7U6L zAWS3ikl&;d_y{0@76bjkZNNFO0a*cdBKHO-04}hIv_BNYSA`zL#G%V!XXpw#Fw`Gu z9NZ5#4P1s2{biuU-!!zscQAC<>jR&9r^7A0MaVtxS@e~!QMiNeb9k74Zn$$`YTC4v#+&ivQH zA-ovB9j_U;h&zD2gCk-!V+~+-XRKx1q}dtksCyV^C>hxcL*Ww?zy=SXD|k@ zF!nint?!%jgO_QOyH@#Oh11PL%wLU5^|ksTnsiN>@|LPRm_6YPcVLntt%7fjYoPn3qz{p$l3+N{1WLzdYnb645kZ<$0&@KnanU@16 zazuiUTvbpjuRd57z!m=FxkF~~mW6EM5{1pI&frH3Ob~-QH1Hgm$ww3Gc$an~nIqkiYW-`|oA2757+={;2EaZ+S7X1dn{F@BopcP+_j5uG!<-Gq z2d+8h4A%&Y!uiTJ&+)~6$o|vupRLDv(l*ZZ%*JwGwhi_0Z55t*eizd>$6o(`eXg(6 zy$?LvTL-BDuY&FazQXswCLpWfp%@YT7%mz96kh;8PVm8@L>mlA`VCmfsQ`(*8uEp_ z9Fjxs0|fbP!xf}q&}!mEcpSlncuTm0bP!ge!~{5cF@7$3FK!z;5PKR0#k@pBqHjQd zqnMCk2nGlY&GQ0~G&k9I*cswJZ$IOw)V#GGv=y18_BDnF4zBKsV~pma1E*@R-%)O` z_fuT4{gL-t4f0IOW7$iSTjo!tOO^U4=?AT!OQ62pdrI|4Ql#1-NmJQ-lHnlU;x!0BN0eQCh(tLBlA>d5_1lZ~4l}~{8h5J{! z$cJzpx-a|;=KpOP0z47Z36I0z;dt~gm=ARxJ`bruY(qw&IEcRJCip7sN>~@}CF}{l z6?T`<1$#|A1XB^u!p9Nx@Ep7f?!n!IE3gpwIW!l}Lk7Z5z#l^MVGiImoCsM3p9+qK zr-PWVIv*ak)8mG{ckAH8-Aw-Z8>4*80i* zpE=ex!Qirz^f4Bww#gi&C7IS~G{zs=>BcA>)`-&GGEUL?NB8;xCX@cR1!Y z$#WQ5>S1Od`a0$f<{VZE`#HW2|z(Q!N;IwK_P-+ zLC5)zgKqL#gTlDUfqM2A{#4dN-dkoScN(Lb6ToO=($|`Q}$zfrX~IYB``Ou^iTJF*|ev&EdLse~)2-(W!4VjxdZd@C<8pIfevn zw*HCsw!W`!gg(MQncQQ@*7ul38x~mR8nL!g(+KAzOQ3tPZKkKn@zN`GHTiyf)SzuX z8|V#K3mOi5_g#j~@xkCVJ|Z&3cM!D<#6iyjWnswR^O%1C1iJ@n!DYZ5I34mdelO|* zAs9WKV8tX64OkGV5Ic)J3e!y9jebWyj~YTgj3km{5m*u(W+KdnzQ7TI!RTxV3ppE{ z25STzff#+?eVtx~KR`=xCU}P1irrkxLFataM4Q>L&@xk(XY^_38JKFFZiH%vW`yFd z3L*z9pwfA=pOSyFabkyTefK!opH78b*ddYs?!YM?wGUR_YrCyl*0w@b&{n7FZU3mU zbUad7I{#CB=~}KrbiYyxdNLIUdNGP)(u>N`GO22lVt_hFS*Go;KCO?|jxxT{lP!;p zaQk`lEZ1mjuji3tiBIEt2ljfpfPBzkXa^(@HUbt5OMvU379CfvDbx*V`?H3J38?GL% zU8S<=4y#!PKz-e~L9^C$Q2WHZP~XQwG#D)VO-C)u%+2O1E6!xMMVp4$`x#s8dVe~4 zqCW$2$#~k|)|};nnhowK8`U$#G0%I#bp-@?Bw!C{rN6E3HxojiA#AWjlo0v@9S7uM zMghaHmw_{Q67)X73(p{LKxWWJqdzc=xQVO|f|&h})XO$dma+?}7uok{f7#O*5SEQ8 zWZh+fST|Ug*myRC-Nv5A$!0I)-e!Y%qgd&@O6DeB14G7}&-lPyz_`pwXUt~@GDIvC zBbZUjI76S$jHh9kh15`{mhz2xhO&W?OE%F@lH;j%(n1PA{7oz-2H`Id(y_a6M)WD{ zIOJ3GOL!p)1!E)n13Fj)FbN_91RycQ=9>e#;~fP7JZr&A-Dg1At~?Ok74PFZRh|N8 zm7D1-a87hSw(oatvDP_pmT`^^=6L%v(<__a)N8wH&az#$wA((}f^Bc@Yi#Ent+p$! zRGZE{)4tJdwzqjucDK9R5#oO2IP6~F9O5eW_c|r6*AB583Hq-I^TJ6+(_?D z&otiz?_&@FBm_yoyicVHiO z6XYv43;YK=6SN7l$45j@^G2fLJr0D&Khyr}JqJ7I-44Cv4FS|1BjDfELB4qYfV17* zpzp4UzD~zr-*8)!_qip+pE^bPw}h3>gW5`amS(pNs+L>Es>@B6)t?PD>f8D_b%FM$ z=A>qu_KkX(?wRVGp6Jhl^e7+bUMkn?9xCVR+Ldc{O64`(H|0a!807?=pYf@~$^Ymk z$kTL1^3nRc@*X2y@y(p7yk{*^IQ@71XhW@GwDFtqlj)WDx7lG^ZvE*TVDI#RT~mBJJXPRQ z&}cy7=fPZtK7(I{FM{h4&k=8!Y#bn+m|B=R28XtJ1yp%4gT$nE$V@_GD5zjMq(UXNpwL6{O^ zBYFb90tH|U8w8 zZ*?qk%(HhoxVG!IB1@SSVQMh1Fk(%K`g~)CexYHpUajA5aOqYXtF$O%k9v`DqVl%k zjDoLs%E|govgNw3QnB`~^q6L+^pg6NtdANiU#NyEzNr6GN;Jn+t=b0l4V^}<(63i# z>36Dp`W)2^!)H~pX_V@dxlDb?@>LUM>D6Re-e~7oR_Zobrs`#uL&j?siFurLphadC z*cg^%+aA+JYrWx{e@Z#t^i((3h}XW+-_jK8BGna|_bQ+IxN4s&OX*b66$&L)4#=PP zUX?|QJyLGhhTbvlpC!DOFJe;Tjn2b$*7kWdt~OTn=GNhr>Sk3%RO6OA~tNt{st^V4yqZZR# zUw5))M?+MLu~FChy!lnz_STW@Ks%~^S?7(8h@LrJa9OLkL1mZnw55tf{RK7On4wEE ze>UdW#MXN*vh#%Jy?40pHuxnt9l9CP1K$P1AfX5;>IG&Wrk0S5pGgiPZl^d&a#}dK zi(W$Q$BLv2Iaiqrc?9-A-e^t_Zy@g>uY}(g&?r#y7YCyPz6O=^<^}=W`+^+a$e^tO z?ZNB$#^6N$xWFtfpYtDmFBM0~z}!V1gwBHML5JWe;JKKQuntl@<_K*Zu`lBXmC8QA zJQDCX03Gx_XhTqA&=B4vj+)X%T7a%Y&|rn2x3C;vAZj6~0v`!1A~|3IlzFfdL+iG0@nk505W(5=#H=3|8~g$MPm=5 z_>5cBj(~yO*E|AuG_92ugFA&ij*uXjuuU*IbSwf4d4$k`kceykSxtZw4;^SvgE;Ni zfIRnLL^H&KFGA7pJTUzW|5!5+{|MbH+wX`nMuG8p^d~bXfyCp3>#?z%SCZ8Kl!Jr$4LnU z3+^uVD>@y06)r)(1~woDfH8>m;6T)D;4x+bJOPsqUx9){`}kd25wLImCaw{-55__? zfNvvku69VPWszH=t+nRM!TQE7oeJJc?rm)vCO+NN(|xUVgjmqd7yoEKB7V@;Bc`{7 zb+2r3cJ*!g(ypk-wp^)FH;yWwT~8?aQv0nattK*mW99XnyJhRLsU_pGoh3{1Z}}}VAg-U^=&GOH`l?aYeXkuaOA+5!^!J|-a7jhaZ1H08b}>)7 zTRKM5q^YsQTJAVsxjy8aB>(jm>oe3ITl$h3Xfum z2oaef8$>UKLqZRPd=E>C2#B=C{)oMi=!`#=0wkbQ3KA})p^~=ty_5Q?|A&6T10?;= z4jhvK&*)B{o=!}=ktRqym>3$}6}>ZTyXaN$p`Zf+>VQ>j8Rs99#lA>4u@BLIu{Y7q zGP6l?>QU@Y{6mBXbq;~|zrnX7E@2)aMx#oB0RY_<>Qop*Eh@i_UaZQpFVWm}jMAR5 zAvFWcP*tnRq?zY;k*0XKw&$Q==L1lnv)GsHoaZZdr9i;$YAD7t3r28Xf`__KBfEWR zSPK+JoQUL-%27V@NeqqZ!{25V&<^q8ystqwg>>PkurSfiNJ$hqo)C9AWpaFD+PxTQ z%D#v@3A8Y2?BGaItRa@3P#6CwxqrMbB{o5j(v~PmD^9WX>*~YKxSA#&P@SR};7aNk zkduha=#6df_cr`RGBWUH9A&6t~nN>nbE1UDdqpwD3=p~Ik) zV7H+@L>Sx;oP_s*-h;jerGt;V0M9f_g?*2{*fdQg)skg1{ZscvlGj~_yA++oc6;ZZ zw$0tI+dfEsb!5nZ&QjTlF21z1^N93H=So>qmr?Ow&vXS}alJfIc(W)OtP=DKplgv2OW5;)mCj~TcDtk;;O*3KD9cqj8xcssBey^j;)f3hEUnjI}eM?N!w1%wu6%E+>kj6a?-OZe)navrE z)lKyJ6AkuSVPjaewJEjwZPTWz$MvT2$yGB8-xbGY$K_P~Ec}!8ZNsl!Sv@~WvL=7) z%G&hx`q%1jJAa6OYX0{B_bB&y-kCyb!G+=th5bsS3zwDkDV$kaSFox0T;8#QIXNft z=4H3$GjhyDsC;bc?1J+0V}&q@Q2&!MVl{S%ktR3r>q5ib#F=?S*E6+5X zl&cL0#cTa^rCl#nPthl<+jU>nqqVWBnd-T!1l29|es!~sppzJnn3UER_NA^x9tsEs zz5!f?abQp268I*#2Ywq?2m1z`078AAd@;_eu2#zr*9Fr&?|3r@yxtlCR$0BiCQF^y zPh|vUSvSMeT&Wl)=rN`Zs6qPtnaHn@bsIQ0&- z=aKWZuhjJ!yuh0ZbO7;)I@BI40{;X*kEp`;BWkhlh`%rsNx#uwDJ#(fsRK};vJre49pO8N_~zS=fI=|Hckn7~8aAHDC$6HK)jBQAk?8};18l>u!~V!(Lu-xT1| zv)w@6O~^GKBeKAkgjog|KybrnQ(vR6Fh1f3Gj9{Cm=no~j9cWh^!?+l#-Eh?X|8|pXr`EoF;y@9B;J|to#=q&6Oc$}Y$z8$s@atN^*HVCCg znlaa~!PtekW^6ZpIW7-B1)q*Pj6-1dq0S-q!qQ+zAVEMKcrp+JZiC!}0N~x=b)XvX zQpg~`mxYOl^Kay@;nFd$a0AgZungozEC%ro_X&w196{0utKbW;xj>5lsMHV0h?bm`2PG%y~>B`U83s>Y_jK`V1gI2YILahWfwI zA6YZZO(wQMr9Y^z(Ein*&`#73(Jj<{H|*5yFul;zEfI!QmZ!!KmWjqX^9;jHV~y^p z{;}q`CR>eAPEuZzK9-;8A@ttu5{h?sZ0tgG%*j|xBEW4-v zrg)+osDkLfs?7RMO_+X+wprJpzpt|zZs{S0nYv8@@xpKhyv?xS-Kab$Z` zzCNHFAP*RdOoT__4x>I&4&Y`oUlHeXCXmB9Wb$!u6Is6NPQ9^16DXcr38fA*S9Q!izL)_1Z$hfCrKVq$6b7JbkPDbU4Y~d?I ztU^`rtiTz9Dcq}pzgPwVogoqE=-gl^wM%%A#tIE%2trNlwW0lZkAyh>KEYo8V}5FY zfcuiOmidXXhnz*;k7>m|gonYe14wWpWQ8XM(&g$0%yG>HPJ2?JV1L>^9P$y~0K*|? z`e*2JWEv8R41#6BiXaofaPJM*QWx2lYNuPNmZ$#PN26njiRYYc#<)P%BF`;nHSpS( zf(-)3Q63^7jM?am3olt%aEnPT@e>VPhyWmu1V6yPU|}?A-{iJ(wqKslg_8jPsobPiwg_SkG>a@ z7P%{ERQQE}Dv`sl(kiEq3yq_vhbY2 z3a|qxVCZ<j#eM{G%>2SLSr505R#uzl$hK)O%UR0NsvcR0*512Z3rJ4OwLKff zz1_r4O8f5i*UhKfG8+<`M%6B;-dWYR_;ndQcXnalzmgpL->v`FX5ag3$UpwCzF3?y zru<~CwW?3Pqo%XyP{X#;{VfkGUbb(nE@%&~d)jPlL^lLCU9KZE^XtgXA$57p`|9DX z==#U)-iNaQWj&jzzH(BFd1b}P)OzI;at1n)iwJn@16jrTF6z_$Uk3pC3U z1G;FJ`O?jCZi)VjGe^J5nP6&jB|8>*Al^RSv!DyUJ)l-!1?Y|cr`p>GWOY^h;_Ta; zJ>~=E8G4lZjxtZOU-F?Xuj5d|>gIJd(;J3XU9P)V`MY*?MgQuzrMZ=hi|>}F7Vjv% zTpCz1t?WfnZRv}G2ZhgbpJmtmt^4Wt3CVi#1@R&O?VUH9UL?P4etP2-_}P&+&9CNs z=y`wki{i_V?@xZ@{{HtbB4n4jud%Do8qXW%TArBq*a_xSPPIYhPtZRDol-Y|Z)t`= z{_0RLliq;YXlx{!EZ-?|=Vxjt_z~6L0Am~{#`8|na)VE^DWTVRg3wg~b+bf-+bS0@F=V?ydSzOP7|VpQL%Gj@5Q3mg~>RN(>FM zOyfiOax+~u)dtmNxl+uhe0%LbAT6#!7|F96e#aw4{PAFrD_jeZ4;&AXwe|_9FSf~; zY1Z+$G|M^sYikM-;h0RG<^4@R3DtAs(4z&%@bg22Btz&QIz%*uy-##2V6P}tKnoEF zDh1mG7~V5}B4;TtiId6=<^o(FcM!jlvpe_%d$S0}#zzFQheqFIPmIrF9Zg=yP^PeG zZxYJM9Z~-X!J(DtKf!Exe?cl_6Ftno$lb9F;sChP_ z!HOXi+lujX>^jU2`*XxbYY(K(e8SUYY`4!hPV=*064d7n_hd@{1~gdb>QU*B_N+3r ziX|qh__Z0*v)FRFcaD9vOy*8eRQTxxk)RX>(RWXV@hT)|e4_4SzJ~T@UwaGOTh*B9 zx!0ieTxg!=W4C96_lfO*S&oGZ)%D29hV|%$mJ&>%V=WfqYQPL}E72o8VAN9gZ{z^? zHF%=?1F+2f9n|a|?YreV?Az-);#=xPc;`S_ZX>qXT|=AX6S5m1Qtm0(Ic@;d!>Ix< z34svCyv57X)Rm*Jkk~spO zi8IUJ%Ey2d3@0d>w#%Pd7WrIw0%$&}3N!*f%%=l#L0cgJHvCavV{CZf4E+-vSiw2FHl`I~nHaVcOX0vhlWzA3-}Yv;d% z&lPM#v4kW%H`GQ&gx_WMMz(OuqHpu!VvYptih%{rjO+@^47(829MUJSCFmOWPT)mG zO~4xJD^4|a32O=c5pw~{!RpUra~AL`c?*LI0ycy$4EPvs3b+_)2w+8~axa7hu`UWn z(DnBA-?kJGAQ^`wiyTKo?P1fL9kNq7qBN9F+YsWV|<+I6^_b^%#V zU5e@=-#}@IYfuw#<;XMWb%;(l1ug;4g6;K00S@N@V31=SV0IjUX`G?REv_`Q*#pMy z@NFWlfTU8|p*Iw4Xp^4#n2<(v61L$oS}Fk=LQ+i8BMKYKc+>qeoz)L_Y%$YpM;~-X@q3b1bh*$ z9$SfCg?flMiU7mrz|FuP)FH@dtQ%D4*Q*~R%=fOr&-V<+CAnr|vG%?wgUJmauS)|D zSDtX)laeh(-7j>X+vh88Hm{ba++GQk`$aD{tvRa+(IzJ4!J@ zEb7H{9O@d_atSKohnNxDSWI*Y);-}@a zis2O#irUIo6lqH?6x}S47Y@z6o+rtkkQ4k@`nU6s{!iYYxWAY`sDC&AxN?VPzbr81 zdrNPZPOR=*Rou9>{%?C(%g&yIoy+7f$yL>CMUI23|_HaIoe?YiNC=?}%ykXNL#NlaC#Sv?wb0e2T zS4Kuf^@g8}93bi&zCNTVEG9HiR1y{u28nnTmK3!t3>2jieT?c9U5fIG{zmT=osHfW z8WmX+oGg+AlnQLD|JVvj5#}LUu<3HF& z*LOsluLiRhwwyQ=6GAH`Msqe%9|X3seucOLr$^YrV6l&4yosw5*~wcI-zOi9f1kvR z9hk5*S{LL}vBP6Y@f%{(lCH;oNxdBh>oYc1*C#eMCiP16 z<)r$E%J{*dKcij=UW$bN6oif5%B~~*rY*q!BTA7Z+yH0@ngU*hNb;3Ho4i+mMIIrf z*);=l%W(kw&>rGr*r+b5rNO$?^v___ztIM%dzJSTfDG4ry=QF?vuk8`LC4_kU+u5O zjUDSHhOQ~H+MY<&HffXYfeL9R=;G~>#$&GY=8GPmWxDT!emMF@0b+@n6t+E(O@;IClW{>RRt!0L*srwtMb39W+rC?gjJWzs?36@>4OICP462Yjl22{b?x2HB$&gT^Ut zdIrdqe%|I1>txwc<9lhE7A{#O>k+4QeeXQnT;F!0E~fcVWoIL@EWLhe(WSbn`Gi_o z&dEAdPDp)pUR2|o!iLrvrPn)mRFHdyRY;_pE6j?Km5bE;suHcX=9Xbet=JS@muX&A z_s+7lVY2mAv&=rGqsF|wq`i5EIiXjSsQ0iDTnIXaZW%8sJZZAc} z`$_ZX-I>d{GWIL(M(z>r{D2_t@<0)HYVc%kKhb^e>ZnURQT*tD>B*7&`)TyRe|^b< zx&6Wf@%^BDOP>Y2+bPS~rxOYogJU;PsZpiGo``d}b0QUbgz!A#o&W;p2F!8!DeW*po zT~wRt6D`ktfx)(1VCLEk>_hIm+?&7@{!H}JAS=NnB2jinbkUj7&sbAp$-KL;2%&mJIb=6W4<%;!v!B07JkaJ&KasJ09q^{@ z6S%2;m+yAxZqErnHF1(8z&%9z-ZN8~>I>Aq19?rOARnyFfZN}5);e6UNlp(`?(PTd z_e=mMc{X^bxu3d5yX5wX?qik-H!_?P^ z4QdSGuyQ1Jt857JU(X5Hyw1OnBW+>6PfZuybL#5sS=FN~=PUM^a?4Dnn6f!WciCWr zu`EOPq->#jY+1g%ynK4^vGSYZmE}`9K9yZ)HkCfCODXwYvAFm~@w1}nf-eP+@^|Gw z&WGp!^3OGCx&MkYbJNR6xyLKnd0%R_75KrC1t*(l7a-aOmuKRdd^k-eo;n2YFa&9Ck<6f?wvvVJ{xDx-U!)l8IcX#lHoT1Z-5`whd=POq`I zJHT|byVdltXQ*j>Z?W;FyvfjCHCY#{zO25i2~a|{Ve(}CW7%_al6~!sv7u(}|tIf~E+l(ol>kS*)x(z>DT8xzD$%dw;T?Ta1 zdHtB?vpRQcj9%2v)dzKk>oU9NYew~)P@e0ZE;CCrqzoxTqVMh3(=C}OKHMYj9w-U# z5=(4ip>&Ysn4B$RD|6+Q+Qo`L#tP+b+gsHi_kGP0@I83lR(-sYRmVFVqz?DjYdf!rh0Vvvfgo`;BYv#t25(4{DR|ui>zoHS$ZxLAb$EZ;5 z?&vh$yeKVK5jljjJnTK27ShO`9GuGC5Gdo{3#bd~$IT7i#%>5c!iosK!NdzEGcJXU zV5|=bW~2uh>5Bt=)FSqA@@{$+;UkrTT}rxyoP)ms+{Gk&FCjCWWcYdOO*q*c0c$jl zg1Yq2fE3+waICh)H%~|MeA69vZPop>8Ff2NnL4C)hW3RrNZVJIqS@VhMLkv0tr{UQ zDC>K#sFp~b>SDQAt5gjz&vQVNu z$<&3u{P1<&JB1oGH< zLC~1xf+^9d{PU4v++NW=*3_VKs+PBbaGkjZb&JXYmJ(-scHuyFAcixk2 z=m?V?ZgpTO!TVKJluP6ljPdjv>|nN+dySvTpBOwmXjtfX;r;Nm zkfMl_A&31Z<*o2jLXhZ_aA?SwkXb>iLa*@`igt1@i<;RZMJ>#Aq7r(RXfX{FI)}1O z7)Xu{yhF5c6oj$#6WDeBHpVDS1TY%**^30-u~)kR(-u2OQ)}KQk1;Ij3D%zP6sRd} z;}zDH3G!jhQ0eie(USP4psu@3<60$68ycQAjj7f){;e3*U@tviUsoJkx41x3Q6v9&*VFx zA<9okj>dvnX*`WjxA!4-d6!b|LGRE@(CzF!r0D^_m{Gxt_>i!OkV#SMh$HbkVxA@E z#e4c3N%EvGOU=m;^^M90}yg01WJr5ywRsjPY*L|BDK`w4K!F$3rkn+K~L2Tz~|^5 zkt2*BsWny(W3(fa^};RS-1h}>n;;6_ZA4MP7u;w8jQm`9ld(G-%xR0>5I7?Kw6H6A zO8Dxu{OIZZ?#G?)zcw+nzbg4b|A4+ z_m6rvd|)JTXi@mM!8b*>24;k!`_O+fG%jZ8=4w^pMfIzSrFCbD&)4lJ%B~+@xUa!cklfrqe|u|w{+5p2 z`H#DY=RcA}R@ho^4swuZ9Oj(sA^xCa7xAUFmOR1a zqB0Dx=*#s3nV)rc*!^_^_AKpTR*2>eBS2kFJ*qlInyc7@+aw)~Y!i=whIjCMzgmX4 zBn_wSduqO0##PiAN0jc?r4@_R*g~KDRN+=hX`$c8RZ!n%DJX3!FT~f83ujlnD;!;< zEx4DvE`R->+qvE!+j5R&Wo7sI6!&l8d;Y)JH{Ji*UVqA&^m=~Y_Sd@$GhTl#dHn`a zar4cynh$T^HSB&*ZvOq@dE1ju>pB;Fc_7Ap+bNmz3n3N!1IZ@k1;|$x2^D2!i&gbi zKJBUozF~jsTyss=Z2K~a*bOMseH%2-ARCR-pjp;hc$l*d?oY?Sw}AhHeTVv>wI~!6 zkJ}4uAgKW`%>ntrng%K1xPgH@F_gfc39Se`2@?r!KpjCNp(}z00S^T;Ay@hBAVa_c z?|ELb>oIql{SznHn!*}oPN&~CzNMTrY#=VtXW=I4|DgvMcEWp&mx0ly3%L zV;@h^I&0{2JP(+8pknqbK+27VU*Ua5mhxw#je+lRR|HrRJ8&c|HK2*Lm^YWJ=VJJI z>?c73nHpg$gDm<^I~*~U`XmZQofkEex;XL#b!G&ZVhWo;c86{t^%EYze+-)KZ+wkL zUJaN5yUV=~`NTo`vREJ7P0Z`gos2TOhTduqqb;-*Q!ut0M3n6mHp^CuT4Emy2khC9 zZT430CHn^FbK7&P+Ng+^1S*TA`wveagqSzREsMjGrz# zSvd*xQ)vadRA=GWRc**>l?MGyJp!Aq8H}5xb>VRaIR3dQkg(G-nfS;aLdLkHlnd@u za2oSL2!in>^ax!mI!hlCMy0(8OQUMTR#2Q_wd8x@Q%Kk^L78!&i+;Bs)-wQW_HHHY z_B|s{1QpT15C~%gFoP8e?O`{-?{mi@xAW4_Yk9M=SGZ*aHb+8w&z4j1tQ^{V<{XeIt{A4RfD9uU)+PE23px*{f(SC*u(q#Hf>II%Ob&yk}o@w=|cbIuL|q$O^f2L&Zvquv}w9cgA4=A1I-1NO#3S919ytuFN|@l zg9bQP`U@Iym|}MfVTb1{xzi`5l|!{x)Y-D_Hv?*>v)Up^+L`>v35haWioG5%ApcZi1hj`Oz zF4j`gP}*+nG?Epu5nl!IV!D0l$ZB^#*hfbvq}t{LZL?nWp0eCX+oJ} z4Id0;`gA>@tk;^5|WNyV%sasKK;vwKHw$uxt=Gu3` zs*O$HY_-7ylW}bI-F3$A?Q1lO<|0K#!&%9M+S?tCRj%fwit<`#*|*ByC1=WZ79om1 z=D#d3y@P#DKM%4W;M@;1*j@@jWqQn<4WztCQRzG01puQ%}^6Ll?KzIuh@ko>iIvgC?Z z+cj3ry+XRy}GpmoI4wDEU%1vgl!zybw_#$p28fKW|;ppxhC8yqtu; zYqG7pYVn*=d zsHwpnF;jvM#03WJiH{MCj86@m6t|1NHTG%1>R1ui8l&ZmirLJ17Cn?16uF7MJbXD- zD7r=(8)C&XgaEo;Fbr{!w;#%5u|bci+dXp#GUp-87<(9eo0SM&VDh*}8mevUb$5+U z&2jB7)l21VC0Tk^UM1Gcx;qJLijRZO^jZO(q6fZ6dldQ0bPmI| z&&BOvw`aHw(r zG25aO>Fn^QWLxNF!o6SvcBJ49(!dwOPH`cS0nDYoKx&zLCux&&EPjCfA^MMP1pKH~ z2tH}SyN8=>wkgJDQ;6Y{?wS6Izaep45vRQ`#c4Wvu4{&hiR!}cnd)6#UFv;ZX_}zU zOk0Ndv!hge)qP(4+c&SL23*k(eYSzIW4AbB+R3u7xE#!VN*1@;Z52WJXbhI|tCh`NQB z!!5zzBP)X*L?;Ut#Pkb9#r6-l5%-ZdC*e7FTT(eko^pY+IrSR*S86lsN$O4Jpj00H zb;=^DBsq@!F)@fBivwZLN2-us(F)kEU?gNXKf*VVbKSj&A$MG-^w?m8-{v=1i19E| zt=|Su(p~~mHNn0Y>S3-TRjoZrHQItzE;e`-@!Bc!VTx**vzIGpcN65v9fM?@ZK<+D zEq!Ef8Y|^L>vt*F)-lzQbu%^9^$ogHjirX{=CS6&u4SJ6Jr6)b zrO$yd#V}Z&>JAd26`(T>Xl$u@1Yx!95$UtDlXBYQqtU?0^pDVw%zntbtm)Vm)=v_H z^@GM_$(ZlhPq{G86@Dx?BZ$FG5+3AKgz`CSMJ!I5sFiIB%VVd7*Rco@TNt+^(&>TW z3DkpOSn@H^aw11G4L4DgfZh^174cH|7)A=pf_xO9K@a%9e2@UNr-HN117&o(_fq6; z8Zpgv8;5W@P%fts{=+c@2)A$dmD`#;gKeu_Uu}s_t!c0`a24@?Y-7%j$TWi zYpg})NwX&T4p~WHnI#=M*qr2d9{okVHxI@!EO&`}Y&^vvx`yBGr(zw)K4aZOy6LB2Zzy9RSBL|AxA0{5FKmS~2#d5?(N=38 z6wCYve$6x;=rW?fQ}i;gL{D~;bxZ7LwC~MJHO2Y?>UMRrnx{Obs#TEuDHg4Iw6swz zmZCLUDN(mmmTY*X5SU|BRBMBJkzauFyd#`KDz;pf6ce23@zi%`kn@lUvjV2xT zt|bFM&^Dfs>-a|sb?L}^Jt|5$D1}A@Lg*s+NxBSmk}(W(nvscp;%}`Vp%>zF>0!h{ zv^Y{fN&yK$#t`lh1-NH;4911|ita|i(dlp)Y6_$Tq4Il}n_UIKQCkgojp@6uP zQjIgqrQuamVAF+;Qij5f8j@7p6}P5`~!bJ6x_;& z7Ea2YR5(1pv%pp4E}UETvY1l!tn_2u!HPXiw5syf#Wfurm+I$sziRp+x!v|fHnr=N zLf!LHeb7(;%9NKF$EjqNbGqgBR^vl=xY_Q@w2p$LS$)t_TP{4uUV#KT1<1v&bYz4} zhdAx-53hC~^Ak)bK&!k@fQ6u8;LqT>KC_?r#RIKyCwn`bM9);)KbOZc)ER5MYMZIM zX_~DbqBY60RE*yK^7w9BZ*xag&+69WU6-07+f{Y$He$_!)?rn1TG}gaHyg{!o5&^l z`Y*-%YEKvasi7A=t!gcLS~;?4dpW&mP)Tjkmg0rQ8;ggRG?rwRP4-`C@04Gu46Q7# zUQnZ}+tV1+6w&H#wRIiotdNZDX_Xz74_5wGtF&Vc`;9n1;Bk|4t3BG6;9LWRxl54u zeF|&=U?g5bW>LrE?l2+bDV+WEPXVXcZowG-HX%Vs50!^)2)`5A5P2iIC#oW*DSBV* zkQiL-%a}{CzL*EGpQ3Fsd!t@Por=Uq+zHi4OqYr+(L z6s^+B(nbj&;dBq~{;wmuli$|SKBKj_ZE5S$HepLwTWAZWZEUmuw@nW_lAGjR6Pv$^ zU$$J9WVbS;w_6v;@3(S*eAxS} zweEFY#}KXHpBNjGO6-QsOc_VGMmJODvAOiGyosEl!kYrJq+awxzC!XaZK3Q&1|~I< zc{}4^HX-X+_V?`e>>D|^v%I-`vsQJvot2$emg&u(naR)3Pk)d%C)M9&gnWN4Og24x zak3AZDsrb$1qITXT$XSMQ^`%Gt!FaGx2SylQep%R#D0U7BX1=)Nx_K>Fg~6ySZ35)wErOH1=&b8lblzc7zR7G8DF~U%zt}V*;WJ=Ii2Bm-i)}we;xQ= z@HrG3Ns^2bLUacNfeRp~5g+3=P{`!I)Iqd%`c(EZW>0<{8zDAvYUKNP@6sO&zGd|m zoy?(2(7D-Cc7`rAL;VBu!)CTE*khm$|bMw-_{NfHEDt3V#WpLy6;~Ao-Cq@vFg) z;mN)?f%)#c$sO>A?xaz|{=vM`(#4o-?5Urk^J@K?S6ZI3L9?}^kJ{RDUA?-oLp`BE zq%Nu_YL3-9wEb#sYQI)L&<(AAq+eVUG|K8T%{h(5Rzb@wJEC3eT&gJaT-5Xrj5T}? z`>iYEc`hJuzK;uW2CER}Xm8BR#4CIQ_%Nw2{1xR820;xI`ZKmtma&e|KXGWB?cDvs zBm4~679lM?EP9(A65I3YB))FvWn+3`QUSfsq;2REPG|K!k>=`$N!#7;McVNGX=&ts z7gOi-`6yHMf=aZ%9T7Ek>kzbeZQ%V=u!3ElM_`m?YiK<(zNgGin?g3pPm;Pz_Ym-+ zP1x5wDf$j`2vVK09U&$D1|wj};ID{-!2RHHi4#dGKuK_H6zKUD?&lN-n`{#U7IRBr zxAA^pn!Y-)Tz554u1gEv)%6N#bn_$Abz`EXT7P`7_HCj;s{x+T{S98C{}Vdfumrx^ zxE=Z2OvM1Lw{Zez0Riq^Py7;8kax$1q|5<6rS*hOXW-E^rW1dg9VYMOWm9ho1~T$R zMAkL&11>?jfWKZoQg}9vBtDd$Cf$-gP5vvbE&Whhm#j6ZdvfCPYhA*!Uim8}D+=C< z4s?wPO1i~)uI@O_+pb?(%)BW5RL&ym&5Y|Q@>B`=n52q0P&f{^kh>CnfH@0^p&o|a zBliOTAj|_$usfn~RBCVpEX5}T?r`^xUUqa1ytbyfpPH`P_84hKmSMEos;}%EtjD)* z(v50bq%E)iq`g_YMtiRMuy$cM$gl7ZV!%aKaMLGyDS=1J}!*js9UNKwL9!gU-@(K^rx{5|34*qBlD4 z2AkWZ-pwsWN22MmMbRKIrquS-&ZruvTw3|LeRcV{=EtSS8a5Q4u08XkqpIz@^Jky$ zt>yY3lgiLPI!aa)Ei8InEc|}CWY*UerMk}-$`^myTygDVO=a~*$*(aV`c*UE@2F+H z-(8RWP~159v$%!zEu;N%(N^WuQm^J=Wu<;w4bqg}aMzmOI?i#hv(EiW-Qt_A9}&1> zB7|&~+0mu8f8swK0l*pe1z@RfEa+X}3s@PZK?TtpFib)P`yE^a>jJNb;n34z5^NmS z7q5hYh<`$Rkg6d<@-t8sc{^|+36*$?e-f*}(js3_rJ-AhuYuvPAKt4;qU~$YPrDzu z(z+|ziR%IAZupv5rNhN(>J8Cp%K71Wow}f;5nw zdUjb$1J~@ABDKz)iAMKPaGehZ4+K#dLSz^Ic3ekV2yCNVfNZ7Sh3C+1s6Saq9F1K{ zyvD^+#`FH)uzZ_#OxTM-5Pe{FN`UO!QYNQeCg3iYwQ;w|k=z%ub-drCD80nF? z9b6UN;7f$gd#wJqt`d*dQQ#V49p;dmcH8zCx>!?mE6ukxbtaa2ui>2PqJDyEpKhF* zr2U@;qaCZw&}Qj&X(fiiT9RpQ()4{*JKgqL*Wd9`U*QTE?|S!{_XmbsM}-ph<B zv59gY3%oD11fKK+V0r<25H>>2Qg$Qw^!aEnyB}V`D<_W?)}=%xQ)w--EsRB}YgvGF zF58$fm&eWQA();S6dlO=AlaUMTsAESlA4trOb2DJ%6OCYJ~N)_%Q~Fl%*sz+lnF?k zoGz51KBtGF(;Sb&hUJk33HJPTREuf&uX9&*-U9s1&%Td$OV`2A^&p}@ilM`%M zL&O42F3E#jejeb7ha8{aghonieS<~j7GHN`i7QR-vE}F%nToVB!$Qp{U0hwGo1%WH zqpMxI0h)Dsh!$Zus{LwuqkClK8>sedW61H@!gp$I{oPo{63;GI$hXKhIa#?Z3B_Vh zqep;O5?hk_`zFLySS4lvx<6itHPL~B%?)0|cgSJ@Q<6?L6&JI;5Ov{@B9+tQTJ z+6JrHZ4pgfyHZ!zNiYNy2TcamG0RFV*;-~G+W#`oaDK71c^0{nlv!V&;IUBe$nw~c z1RO*FuY?^za8PBK$G8_nJn3x8AJmhK0JE6eJDD!?3J-|=5{>LsYIYhu<3`3`IsB}@ z^A_juyY|Ul)4j3FtDc+lk$pxM6!eRC6%8bIZ6EYow@rf%bgLaSy4&f27rJg8FggES zzb;)~_wJc<<+qBgC0+ZcKk8B|Kc78DvMPO#@RV#7uR%1I?dKIS?y|p9=QBCv-L!GU z-eem9^!nX^f^u| z)9pVMN9_v~Q2V&fa{C$u*?vdy)qz$1;rOb&?JQLebG0Z=xr-HPo~Md6K8SK-K&r-u z+O^o|Tm7R%A9GLOd3!x1*P9I=6MBjIUjmE$1(6VDBGXBK;+T}3q%+j})KT<$2Af&V zTFKtZdCukV`8KbCcn>-^z2Bd1fdUnVB4sUB}%iyMi^|Xd%zaG}zE4x>_ zxafS%nQv!nvcHV1fqt4&1Nm^R+VOsM_3QVL>hAC7RXzM5sOs~!8XbO_Mc^ZIy=JN}2hAwx_MbnD1O<&2Ue4 z4);`gxB7ky-uFL_-U!kF6G9uoPs8P~M063VFg_UD0+>up2mMX~LKsvz^iP@wHixks z_J-LB`W~I9i;;Umh^qBP; zsH?euoMN01^y_DOR%q0AvQlO0)$v`srj4MO*!-&HUE`>FR^8kxaJ97j^-q3D&+>*J z?zs!X<_mE4}s#}-XAPRy|ot8-V7_A{OVcp=a-{Omb{>s4tt(cHs;y) z@}1A|6@eGyemYK@vX?x|2kTKjZ@Xt#dY6WcADmPI;>^dK~AY@ zvFDo29pJgj!c%>$SZeT}#LMUdP!Hf1NGI$B`~rFdY7~Kl>7c0b{h4CoNZu1tllVKi zUVe+RCVc|MnAt03Se7GYQO>*+bS{)KB4;^yTGkEH>Ws0(xoH@DOpe5*NrITJqLZi{ z{2C;Q6NjH>t$;pcFu=X3wSd!<-my3_Ke7gUF8B_4%J%@;-Ms~H)3GF?wSM$F&0Ab5 z<0Y%!kZPQvmuuJPHmkT=OJ}BbeA`@2akEOZuCYb4vf+g0@A^v3)B2Gbcij)|<+?(h zqi&wzdp*shZkU=hgf-Z|H;;7#lM&uu?YW^>ip8;Mn!SMIMgq9Zx)M%vPDE|=#IWN7 zX8eKZYGNL6I7tERq*Nf^QCl!o^q2TL=4^5r8&5-X`!n1425y?@IlolO5OHOllD(-U zIW|?BmXkI${Zd+X20Jx3qq}TeMi23)j7fr)jNiD5^sQ`28k;dp-i!K7I*>9{ypRMH z?!+7UldvkzE%XoOGUO?$3f_&J4f%>+3d%+oCKkaQ(V3u(U?}#N?~jl$c?S%#Yh8D( zlKxxLb zQ@`Oa(bp4SFe&6Qtk)DXXAHH4Tgrg&Wh{wc9a|y%z#Sus@t#T21aqVuQHJz`_>Ht$ zvP?QmGFn0t-x7@#0|gY(V(tdvR@No{8~ROdcFG6VHj;}mi!hlE#MV*2q1Pp+RozK_ z;B5TwPz1&U`hp$?5Fx+C`oPbIGayF;Bw)5j8Sn4B8D-j5g;$tw1RogJ`0wc>-k*A; zXQ%F}ho*b)$<|-;tTASJHkmU#zPNS!EB~HE9XG!=iEmb+%9*s(Rtf*KjzQQTTsBy`&sZKZ*x~#mqb@= zmmLKgbLZvv$ApS)^=M4+rw%iCcgS097p^EovY1{dZqUOFWTN~CkoUXl7E3H~ul~I{ld8F(@`SQ}= zOFK%5C5}>b$*Ge2B{z!WrR3sErN4@s%kGryDxXv0DsLz;RB%eJR_rfnt?X4s_&L6! z=dY8$;MK4iT#crFQT?CISxx%(3vD*lT4kPoq_)s}-#FMl$`W$rIHr5Px)=I~CwW4M z!1Tzy(5#pxLQTAi&H(-yn+vXu4~3%=|Dc`$dt)`=0=yx~I(Y^wBUlguA|ELxPD9oZ zVMqu5Z{#M739$m^fzqPKGwWdwJWTh%C>E7p~l}^hSty<&s09Ft0+5L-Bfb^7rYo-aqq|9 zWgXwgmY)9htK`o2ekHsgS;dJT!IH^EzmOs&S1 z-mEDrzh77Vv!iiT?X;GGO^)^rom54cHdT{ns?h&T`c&?E$JsB2KDv)5aQ-FW#o=_= z##kp}ebQ329a4r}0FMy6pt&i1aKq`ZiAz{-Df75)TAoP8NXWae8#1$aM{>-9?|DQ~ z?|ih#pT9?(lV2_7<*yfA?vfB*&KV=XWCVHQ)VCa&)Xc(&C(xe=c2QHfh2(9lT;fpr zANUy;>Zp3K5HT2Q2>z}Ew)C<&0>vGg{YQgGWHAJvZoPSucCf%R1PrAPd=pmdWnckp7`-|1@O5bU7pcFNvm$Su`r=3x9FebI#h# z+02(2N9f{oLCSu4K53`u37*PbjGoIF0soh>AAAviKJf>#I+6zN5}-xrdbav!Ip@3H z+RoW0Sa6mf#v0QBLxEwNzMJli?x}XPuAe4dTdeYEM<^F)Y@MSuSK7jw-&%gCpEMKI zIZZesonE?$hvj;SM14E3XkRL_>*#rxPx*^ z*o9eM=KPEX`lhrd>PvY=3RWs2|0X<5XyFdQb}&Ao{!Up8&myh>Td|)3H&K&fzrlNi zIv_j!dQdm-VZdDXm$=o{JNDEOjxKQE!=?5o!MFAX{}M-@7wfp>s&NDyU!2=*rLJ5n z$BnlL+)hi5r`c|Y?_Mm+s;MxRts`eLawO(+q|^F;?Gw*(4dEnm*-Ol7{Cd_6h12 zmY)2E87Gu5Hel;%Jk%|65I&wT3fzJD4e$qC6E%S|LV5A=zA2$2u77{K_>taS`A z7_CNKf%%PwYD}o^8(hjJ!&+sg0j1cYM|UQBlbv5xF$F{MMsd8OL-C<~vf_RlR?*rL zQNC$8tsd4oRLf}}qX#Lb8|iATxlX^(E;M~}J+i^Pt;RYk-qnE+hh;a}GL z`i_dT^#{w5^@LJu-Lld#weL$aYe$uyuf>%Ot9en@QEe&Dt-4=6?pIp*u}WXLsd7fe zjLN$e#XlcbPOs|ub9D{7s(0P2nkS92`t2>Jn~roWYc;5domE<*hN(|C>@vK!>@a26 zz2OpGOj0bd z$~H?=hWsz%9O*U9 zO{`AQ5Jr**W8V=rqQ+xy!;YgWKqc@4@dWsJ_*dejUliHlk_Fydw|Ke6XU;QvzAayS z&s?Zc7)NS)8zAZx`hlvYx(~{&x>lyn67ugl{J@?gxJfV2(M0_w{2WSyU4;v1JBdcKv zOi}}d|Agix%g*(br35PVEg8#@Qm3XB`n}w_Y5j8klP}G3OP6F6i8rVHE)2@51&tC8-zb#vKJv1;VDm?pn0tj zYjMiK+6U@ex-xxV!(Q`#Gr)ngK|Q;ia|7ibO~f78k!Xu71kX-#^yh+?A&jsHIun(O z-H62!fcO|mPli%^ro@=&q{(m=YpjUQ@yRUw?-}z&?{l)Gi}K|1;)11VH@aam`gZHg zT+!`WR!Y~2S@3*m=8D|c8C$ZSrZ37$OV;nr@~7#)OT(#qC2ZL{(I{!YV7mm&J1e@w zSt8ia^mE72Gnm8_a*Bv}2yew6K&+XC z*9~z4S!dSm)6z99>W}JfDzEaj>Y!qzD!ZdZxvkBwc-ac-j5cR>K5mS6o@)Hqxwq+9 z=f0L?ho+sX?5p@seN^*Hcg^^(Nn(3$O}Oh^eFL9-uIPYp3t(pAUq}jA2VW0=gF1pv z#hy))m(+v+|g!`fggcbHtCJ+po51I*y&uqFI1-Vr?u`Win4 zTMH;feh0HKCD5t(i||jRIjAowINTT74f1_v8r{VH#cAYS5R!zOB^M-F@;9=B>AO?6 zX8uS=XY(?;WoKrzX5ljQ8QB?yX`|D}%NtUy$!%t_v`Gq;oD|&@;{_SQ9o(v<*>)c< z%uMA@pj}|SpuDB2h*!xn+;|)oRe^9Phj=>BxA>d*&`@FMp_kwjC%Hf$Evv2n8Mhms z=ta6TO+-ynH7iyqo_FMR+-d9AwzlO+v%1ODP}Df1wy?goidi?ka(peKJf~V)x~VEw zGP7zzaij`V(oof_Oi?|u(p)>FdU}JnuCw`YQ~&my)_)c1j$+LTWvOAHX1=*bx6KYT zkexS-i<8qzy?3#d>1R1I10lCHjPQStW`$?RN5(XOlS!&11vV2JK|_!@+kD5 z98Q=>1Q3r9zLQ1}u8`If1SBA?jqm{z#+9Mjn5ifr@(c0_yce<*qD5W;-9uCZcERVz z3!(o-dxI~8MZk$cbbP(9HvG^t+K+RNa7L_GtyJS$!&8k))2!&L?B9B`y`wRsrLrc} zRQPLb!>NiD^#x^XYuid$H4{tvR^2E*_p_;ZXoatMSXoi=fs!S~Z;Fx?>-X-(eZF-m z(tLvy)qML2?Fs0br*fRVH>E32DI^&kp zPJro*W2>RnF+sn;F;SQ17^UswKx+2cr)jV@vih-Qu6l#%Z*_qYpt9*zs(Rdg!z5B-8qnCd z3_2+O25ttVpz=WJm|l<_xI9=rp(nDCv<5SY@)BQ4!;||m4paNEhtl`*GMPw$k%bd; zS$|2+u%=4)F%QWgj67Ku?WXiKl_uFusSv#;{}j9?3wR3B2kv0fPWC&}WY$;`fe|F0 zp{of0(JF8e>N?C}%KwljNf%&)2rI!DTv|ep-Wsh(bP3&q^!MKbaJ=cs`teq9v773{ zyHngEH`LMK+GQWx-aUx$5y%8{>N zGchCK>v8iDFA4M{ad`)(f~3KpOwLPoQ5U6brJthDWmdB|oK((1-euk&!qNOIVz&Sy zo5H`9n!&41`-5AQ-kbA2eG~gtI+yh@jmmr`|CbS!Y8jOh36m@;WG)xXVfN<@XH4V_ zq&;G-PAO+xCs)$W5>KV1<6e^1qT%@4Fbn1j7>#_Mh{GntYCvsKN@7d+kLZ|SeW-Wf zwm(1F=~^F{;hG*e=41v?ju}bj?-kE`+g_K=I@WnB$(^V*7dfQnx%Q=|5?iw|WCs|B zIQkjouIt9P-n*ufK$C?TF1Nmp?YGwh3S0+4t=0MGC9zx6ni zc8jgPk&Xl2V|JmJZp-l~td~5?t=-+TEpMG)%pM2Kq_*jdA8juUU+sJJUPqIDzUz=4 z5pr=KuaoK>KL<&SlzJ++4@(3NEO~OMM zgNQnom$H#JmU>iJOCK+#B=f3$*f%qN@DAq`3-9OOmi({V4*8?*@6(@l|C;rq`?TCm z-D!FMbW`Okx(N!-7aT4ypg2!PtCz=q@=p68eU?g$I7mV!i zd<$%FPw~8SiJV6r$L%cJ0P6trZu3h+i)oaquZ#kXxDen*BtA3s(#Tq zP>obHs~)I)st?*+^<4cG%^TBU-DexqINIs5NWF!2Q2^{367+iSggb-$7&Edd@iaaW z^c&y}WG+Yrn+p{n?!oV%pC#Gj^ROK9Py(D1CS2jBCS#kG#*VSssqZ{hd;e$lVGT5lzz=3&|Q>Wot2uersE%0s_5C!{41mRa819qx%D?YH#DzT{nfrt3s_trgf;J#vbr|aBT_<^^_)!1$|?t5Dr9)PKDh|s8Aolo3R^VaaGd9L4L3(tn)(apim355~7U-*my5<$UMxXXZz%hxzVs)g`9+Pa&D5}<^PiUSs`VXU9a`CF zVrku0qbbGVv3_%JaQyI1cFzgr_=quAkO@*mR=@|vtI<@@5Zq^|nsgBPnA!`wkI|b5 zXQfdx*|}6J+r(JJdCc0t-NbI<{!Av_c5#k!$~g-;y*M&XF8e*_Z&rj;%G7d}Gd{4V z(O)o2XRDEi3UVyc3hfWO2wVnA#DR&la4eD=92J=0`|4@* z%yJrC9Qy^wQ0pt(R}02E)^yyw!Z^fWH_X$e>u;#*byn4MtwXt9Q>{3mzTY`n^}1u2 z(%3OXIlQw{5mzlyj?-B8S6hoQrwMk)IZ~bWb&tY{4-Iv_HBxU`qZ*{2AUl+X; zG$!&RM}T+ZWUv}A8u}fy3BCa;LvBF)gJEE1;wRw!q;DiWm6(#s7)_(HAJaSdnas1I z%`Cl?!v0&<#9koRvc9D*V)0UcXKLhUSwvX|Yn)^cD_s<39u|IN+!5@f2lk1OmwMc-xs_Byc zv~igs+t6T~WU!hGjpu9v(-UWwWs2Kod+Ez?mIeggt|4jQZe&T=6FV4BPYeT&0c?O| z0I$KefJYz(K))eN5Z}?8(Z8_kahLGtiHnIvlr7{a%|Knv>dugGDp(#~A@>4b&X4fR zL}bB!afh&nlp-7>y(2gv-NwgA65QvKLM~c-IXPc@$!!-N;Ccn~xZU_G*b3fT)*-H! zd6J`LTxM^jr!YHG_A}U|{xl#SPMM3DOw2{euqE&ysu21&%nv4l_X07AMB;t)W&CHz zAFB*}h)(koe zc0yH-FWTwa5Kr|)<1zn505OCEmPYtsRSXDijX#DD z0gObP1KvO_1O>2E$Ueek*jw`N$ipeuG4E;J@HYBOGLgBBI*`4Wv5m`R@8znw0qz_A z4ekKJOD;k;{UmzcH8!@$xjr$& z$p%K8639H~1(@9R9=_i55n=LgL6wF6#ypPh!3h%Ma19_Hejvn5puvw2FCZU~kD`~Q zti^<=QQS}ZQ9?2EA5tYJoAQgFLcMI>7IV$~6woAGKB$R~d)u)qh49r1L8rS3j~eCKR$ zsr{+@vF)hyhqc5(v3#&CH3KZ=hIgib?xvBU-Ju_?Ez~~OR%`m`Br1(MW8UbU4Qj!*ZwJEOu|TfxJr{PyHXCv5azjQ$b)81p5qrKX4; zG%S__sg0MysQ@*?3;rE-3)+EMgIJ1NfKDNZu}=(LWS)W8-U&t{u7xR zmyCzs z<_C38o6t2|8a7vbs#E^DSUdlxs@n3iN7b0h%|F*vf-C;0>|6Hn=bxpQs^*ra*8EqR zUH827Qp4A>txc{9ZtI^v|LW*dy;X^-yQBWMv0VGBrBUD9USk3%-da|vC)owsoz52h z1kW-f+GjKcg6FL1k;nE239xG$i0XX@ITBn48x>s%e*zed2!dauh_K73M@SlKAG!cp zhABpXnSv>5}&76`-Y16>uD64FC=98qWaXBi8_*g3A&t zA2gQcdJ=)!_Xi(X2Kd~D>+WLBa|d1FwaD8Y23D(9)2n5l;(BwR_8pBMTB;h5O-Jeu zH=L{8TBoV0soh(XTeGElVfBZqHPwJ$SE_iwCjCPG`cN6H`cg@&5mjudy<5SqUtED~ zJX`Tc%dX1f9k^fXl&v*j?Vfsyp{eP*h1_<=zD=QWi?zdjt;R#45!M^g-Ok;KYu-tq z|HqY0jtocE#%Ev$1NRX+Aq|w%h@&rVr@p9*o?y)0y zFKY_sC1WX~lSYL!Q6>Yl#MD?n?AA~fa=m{ul<7$Y{BW3}H>|3l%ADp~XYjhG=vj`f z+RZk$`k95M{BGLb*=z)N6zY$(FVWH4erYbX^;h?3y{A;SE>+xbE$)2TX79}HIM`XB znA};WnxfEaUa2nW&uh`9?}l`%&0Ocu*k8MK?xTLTKR@(O=wdVy{Q?js{sl`xsjxwi zGstIf2sR)27hwkmN}hnbnqngEqaUP{v!>8@acS&T{002}LXfCJ7?A2j8&Xe+9;81P zJ;{`dj%OM~GqUg^Xy!NJ)=aVBzl?PLrZgXKNa|H?hI}ChE*r&KC(UH!iR-AnMOkEo zU=Y5UmxHNcS0LXqjIim{B}sSU!h`^q9Wf-?HhrND0U)s4>yE?R&EccY*MZ~qr{09s z>aMk{awg0~$3Ejjd!ZrQHYjP0=4zjs-)kAB;hM0aO*>A1T!+&w)X&n+G4|8EGhf%- zxAoI5aMbC_-SZ6ZeP}Zz;I%%F;2d9KAx{qAi2pU{O_&SO#PZ>T6J}%#v=Z|UQi7id z7ZSfB|DudRx6<-(vzRN01kPg$i~oSOQzT+>BqHu>>1!cIjuGop#j-xB?WwdheA?pF zL+PpV-RT2l(SFZ(R|Bt0xdNP6=nB2#kXAjydpjA5PT0~yP?C#Xl+ z_2eS1W0zCU%`z!5`xXsy{7d2JsSKk3>5Z1$dlbObiSM}>2dJ)*_veu;c+74Qh5 z8Qe;Cz{XN-uGxQqRMB*zwx=xt5WarUm! zhyxrS=3EEp>0SYv<@G=afuqojPy_~vV&MFk3sIB!h^hykz&uQ{cBznqcq#NFVIDl4 z7(=FzL+ITpt++9?8N>|wLJEzMPD3#onMCGl4vP7U_lBtvc$rs3SD12fIb*YA0lipq zfKHO+(awn<(0Ygo)CSQGszhi=5esw3F+m}zj=z(*i+3LXm3t98fzuVWo;4P}jjo0~ zp%Q^EQZydL--*;SRQ*G9+$YA^#64NGQk=!9y$eD3&SI3z!sn;!~R4U!M0#t!^GG^=z8pZ z$Smv$a2G5W1j8Hv*fI3P5A@IYF7&}z9vT_ZqYA^!rhsxixZR`<*4(>%59Q0dKu%5jFZoiDUc+C6GuTdv|j%cG9L&F9*( zn$#_frjd=Y#zXaQ8?M*>QU9o#STFtgv0ha1rv7a?x8X!tM&rWL=S|$w3r&VnQ%g$O zo7Sp|tajVa3>{4mQRx7obH;YkuMQjPiMSNgc|nOb~hZb^mJBI-VA( zm1??b(CQ)TL8=V(P(?&t+WB2Gz2mOtMf+VXwyjzlXe-cHv;j;@+s0UjwoB}hjz3(R z6nu|I)z|-7(-69+{~6t6^2Tee0l;&|OVE6G0R-c{3~dWw;SWMvkbgyN=#lXy*bzW3 zekUZIsDvM*^g?r}t8lOA%SgFQS;}eFX?iJpH|sOIg*%jel0THyA-Kl03Fk5N!YlL= z;XkyK!fDiOA(V1YaE46c8;A$^B7&SZ5ohC`!=B~*K-aJ@BB!xnu%QeJ7)ApnVwCT( zT#`II3l|FD(K9@Y;V&IZ$O2mqaINLv_`l}MkvFC*!HBV&|Bn8aw?%i<(@i(jwNH1> zaYg5_HR`IYBXzUP1|8V6LB}*S>h9>*>R0LhGW1Jscn?eZH}C3lE&FuEwi*N5IoUMD z!?lF{So_0JflC&h>8Va^^Ou2^g#pmP(EvP}_!D&=_%d0CWZ;*Sc?#%6t%Zel)=Xc+w^duU8a4rQKr7x9W{0KPzQ7%SpkLg_fC5DZp7$b0$};5bTi zd<-EHF=A6fZOAzRCA8Mp2>QcQpBUoCMHe|QhBS_Cf&bYL`99gsd7{=`NlwmmXSsQ# zBinS{w!^g8Qeiq}&M+B`x6SJe6D&jYNkXFTk^K+d3+EgCM9&1nCO_W<3P~*B=s?@9 z#P80Hpb?()P@w-Z{CsFUiWm8bxg1YT>gab9GeGyqLdf|PJZvT{3o)KijylDDiXF+pOqSNL56T6+-Kkl^?9^@Iv2vv(F54?(NbIuP;;pjNqFyq(KqW2Y z50LERE*2kR-xN(^{U-1*N&NrlD&Ab$5N>|*%YGqkVpidI(pO^^q$rV8@<8Yv!bT7c zo6PzlpG25YPml^)>3fr4df}0TyD=DZee;h^QaVx{Mef~>NiM2mrQ?F*rXA-vZoT6` zSWelOnNQjWn6}z483m5<`lJq7-_!X~FLlNBtGzsZqhD`W9&+PdXt%z zwKlyd3zIfB^R4`9<{IhMjD&bi21ht7t&*RX+KuCoonwuWe5DIT8z}$sw-OSZeC#uZ z5A~b|f`6spA+HJTz>C-!aSaL({Q{Ro*pSxHanS2P4Pb{K6eoL6L@GQtLKobzWG__g z!#nNngN{-s$B}AhIR;x-Ii8qZ4!h}^BVjCd_BTFqjWtd7q?)(+W?7m86Kq?9C5|0o zs7o0+=p>McB~ivE(>2Zb!Ta>_I6(2<&{Y3m<^3CG|%pU5)5q z$|c-CR5wvV&n71rqo_3uEn_0%DJz|Ri@lDP&DoHm!Ae$T7FEveW9o9Imc~E1Q#{V@D8xAyIsxNC@Uca$@Q2l?M*$oWkpA8{R_a>n} zyZM%}q4f{*`Sux>y`A}1sG`aGL$$$<)%0{+*5x~+hCElym~gwz553#02mB$sB20Jv zFP83ol(-Z)4V)030D2okK`@C2(19Qfv@vOb-3y%vSq1wW%z{4yCJ@y?B62@~hb)T6 zk+)-dpqYe>y$+w+O~zk=2d}x zhF(6hc9MI8n&o(?JZkkQhM5m`JTZ=G`=m#;lxns%Z%}@0(sja{&bMuBbT#`LjyF!O zN7UV}4c5SGJAYNwjjH@rccUVsZd=)lx`NUtb^ny+H6TjIH%%|Kwv?2Ww>>I1b#N-X zcE0-gLaDDBp}A14*NbW|7^(HUOn)`rGW(kiR$p7XV`s-IcdEkTy`e7l2lTYiGSj_i zfo(#9@ALwV-mQ@C0UeAN4#S_uN|89gZ>TiTpC}V#FM1fPFM1jL1$rH#7JV6ML_5(a z%p}Y>%uDQ5Oc_pvIZQyHBSbX1fLM=OM;eISOPYx2K@7lp5PO5K5Rd>HZbJMSh7s$5 zJQt%irF!nS)*Y`C3r@d@irkP~^S3TNtQ+2}nPBqNlSM|{Ohx(icscH3X)%6cd z*4GCw7$1eMn?Hr$T0cb$_9HQ(vwIxlPDy~g699Ss4?tar49ShiVaC`H%mvUJ zd{%PbatE>pc|T@giUg0LrW4Dlb14f`%BfY9hjc%A15-uX%f3i#;ZlixdA$jn_*nc) z{s;U7!A$%^L71>xIDse>&LGqa5%?W~i`WNzA3Dy5qc(B3Ax^M&Lys|g0PoPEvCApX z!>7q3gRcp90*9~xe_T?vc2)R5<{QqTl996)rL{D;(XwMcpR344`pHb*O@;B1DRSOi}_BdXLO3@ z(hrK((YlMKP=|>6q%08OC<5VH5>+q+KbdzGGnZ3>+{JnUOE5-5?o!u-=8)F_z=RvI zZ#a1**{l!WLT(I$V2RKvNKw!Vas)bobN%NN|M>RC#(Lj{E4=XF0uR+c)m7#F-FeZS z=I}W_I=QwDPP65a%ai<{=9xm?Tc%Qft;rI4XucQyVDTj8*scQ?I@W<)u91*)o;28I zp9HZmKt?tNwWzO2j?rIHBIbGQf4Gl{1;kCj{*>9^JQ@?ao^cj#W0O($xi_#21Z)CW zL?QhjLuVP@MAk>~@tI6);z_-<#bt4a#a$M6hh=epk;P$gUEJLkcXxM(La8@x+{fk3 zhxwW(Gf#5o-v2r0ca~(9Hy35rwbjX(=xA21WdfJ3N@|nJC3jB=rlcglNqLvFCADGV zrqm^gNvSInJEpEqyp}pB@nvdiqAul_V_iz3ZFh3KbvS8(Xa}C1_HWxR)gH?@ z^tH(WouMuQ^K`XjMSVbepvn@DU}uFdNK4@c_*`tN3=~~bjkv}&NLNwp{JDhn# z?dJ}fl7&CbtW@55NEYpXf$D@V@PH%?y_wvbFr@S%7pD%@CZz@SbVio(ZPt0qhKg2u zrApp}+i?ZCchyFzr>dFLcU0S-fmPd<*|_S3tp8O>D1W<>vBH-MSru1jjj0&SD67=4 z+~7)U(soyRlya@op``puRAT>%l^tA#H2aV&uQe%in5j;=P85>*SVJfAB$`ka`)(T! zJIwPHlVQCuO1GIkseVY`Q)R}gVwWNvkiSCJq1u7QfYDbd3BC;Bn|CvJ*>j2c$2~7L z*i}7JwX9b#P*%ZzH?Dp>E{l0;xQ4m)F3#1>Q?snpSGDX{;H|4uc&NKUbg^eXUD4}i z&iQ+DqXQ3w7NOc=FnmXD7wxFji+O>%%m#2K*9C4Tq@qitc&b^klEc6en!T`3cNaTN zy;cn{K34xSchQx%n5p_^pE1o0nJybIn?r_nmdE<<)?T_^)=Qc<*7xdR)(d1OYa`WG z%TraRWgxNLl8T=-zrz}v>mkETZJ|y^l@g(LOX<20_diW6<{%FT|0XiLf1xW~)u4Rm zW`!+oAigLFb5rxH)3x$?McU;J3?9t8<4?&u?b(&BEyU7mk>hMj^aJO_DhdnHgHm&3qU?vQz%1}1cpf+pT~Wrv_aqLv zFaC|57e-*e^PjN!{9dd#-w5TomS`pBEbNbcfhtDzKw`M33>t_r z->zhr`*P}g*{7S?`VX$`hVRE_4|>-*`}*6>KQ6pY$eH%Wm3!i?p+Nuka?!wdcS~Np zkCYAhSi@8O)1ST%pRWgPUu%Ybe7hDIncXBR{diB8<{aiSbN#}?f<4mD;rOiCnoRo|mD;u%y=%2WN6bAH zk8y}}jOrwu)@5>xx{%$c+QU4@|72F6U73w=M`kqGj=re;9-AdKiRy%Q;d|WR&}3$O zz#SXz*GF1-n}r~E$p6OuKkt6`5%)PybC=dzq4c9~tuq){?;IWqJN40yPBmTL*`1l~ zbjBNe&T)0iu5&+J1^hry5B`WZUcu~tAoK{{5tG9aX;EyXvWbzP_WXIYx73#yrbz0l z&~@!ObStGIRv5F?!%g3HnE5_6&HUE*#9Z4#nEKl~8+SUE8^pvbhRMl=@noHg+K_&S z+8vKJH_qH-bY#6SddquEwJJO{{;Zg0kSgR-Un*4Bk1yX}yE|*5x=!XOqIEeAO-yeH zwNGsU;K{Azp^5Dzz)@9rZguf*&GY&8Mv`x*U&T+-6!85>J$C~)v6qla%->)Oy0bhi z8WM&@rnAFBcVh>FZ6kdGzlRq3=^zy7=)Vw5_MHp0_mSbt-Z#;y-iP!g?_GAg_X2;+ z`&8`f!=)|0x$<&fiL%^30{9%TL4O9jAY_9z z22}3d?39HICOPE|C&GD_m4*S{)d#yVwWSU!+Pcgj9JgOgF?z<+G<|MbLyd{Pv zt;6;tq@tZ{N0FJ9dhiD$8z*bLg$C=Mf}=Hefd=Gdxs;eIHA88k6`a6^0Uf%4$4>&)H3!Gb}InGB?{Db5H zr3>UArHZn)>=Dq|bqy$We+4gi%fk-eMYL~V2k}Sfm3ncsiEbtR+|ZrdZZ?QVtv?jn z@fX}Eu`AXpsVfmkTBKf?)Jaz{=rYGWu}M`=>OYxk#2 zR^Lj-$hwIuRf!2W(aGK%=d1&8*<6>XZKQ|_`p5Vo?NDqTc^7SlvoMdQK<}Ud;3DO{ z@?Bad#nYAITJEQ)VLOS(=~5{t_E;$&4FVmb)4-L{3UKA95v?9g$LmM?5Feu_RoPLV z93SgOzKh*e*QV#FuQMw(16jAW1HVAGSnNerkk=dQfQ`+|kqR~hCmmx{ClXg_$|twf z9Z8vI$VjbX>Xq8d>`!5=aLR91DOqc8n0UkSB4JQsXGccTGJCz`MYhE$Tdkqgu(d<_ zJj;f1pUihNo|-;qwm1HpIi0$dSwYt+ql z$wdqe*{6B~b4+WbYmh>82Js~P4m%lIjXVrag^B{@fMdSa(tD4FKVIf!wwCscx}1~3 zOP$tWhO?sYrgOPxQ)w4hq-;u=&*d!Z>RDF$$(LEW$bY7EYCtT#8bafo_D5xV!vkD! zSa1!Bd~p>#^nju`Qkg`<-!<0vEV(M zQqZ0T3Ytgt1>M5+3mm~}`O|&5c_TfGa;>iZIj2hp#ItA3vx^IFe_xWX|JLBwp|9nB z{`_+M$I>rscAak(zum~Te(mzJ!zR2KefbC>_7 zbr*f(J(Ir|dg1K5-fKT3-=3U<{-?RygJbfygy$3Qv8G3sd-!Vu zzXw}_&*IN$V9SgI!E$#X@k@=0t9 zuwoW?Q}m00=c1wo#pMh47upMZ=YMa|M(mXFemR8V}&MO?jjw$NN z6&6ns{#SBG>RGB*rj#`W_qrCracVMF-#3oP4`S*^;YYf2vCW2N>%G-qmOo960n8E@-%8Yya_;l1IFkuY^M?lo^SnJwE)TI)jN zAlqp}EjzFO=n!=M61r&CI~cN@V*qZo{|7&@Jpq1N|B~;RmrE^-vqhBJ%wN@cxdqzB z>~nQb_N1y6`vh;p&O%o*W8e?5#}FJv0VF(8#)5@ny+8|oo^KU<)0<5H@YIV&Jy4{D zXF%wow|#KA?@M5Iknq0@pY$(^b@cCG4*Q>QTl{{ZML;DU3G|k(1PbMz!7cK^P(S%Y z*rcRI)XM$%+4N>ig!(eY$aYS_=ZT}qb&6d(0n+LpAfn+u{=~F}oMh>#)mTsK5828Y z1nUZu-%{D~uj#QZ$>_D8HC|6>Vf>tU$ap&`YFw5w(l|dY&6HRUG z>}D<}_>EJ99n@r@sct%-t(n9(B%5)~@r6tn=|V3D)v<=MD%whD8u^zU9jOx=8A%V{ zi7X4|L*tWoKnh7*woA@ts z*FCnjqYhdBGLE+PHhHbBEY+-Qtjlf9?RD+V6Dm8(C)ITPn;dpbO+8?Ll-|wuEkkWR zmpR4qM^?INNtWHvBXfc7d&W7<#B%G&&gmerF{KQznzRwqCNx5;+7pl!78yx2y@xLt z{(;Tzo#y&;BnW#x_K&h6|#Xg9GBf z0~Kxd#F!@TK`ia+#^;wE6#ps9lGc`9ku{}TRsc&n{GAa z_0&QNyqEEH{&wWPfJ^&0^qqPW?Q7c4w6Rv;``gD#qY^p+^AqpFuab7))ss$={gbL| zO^LJhs}k+Tq(Xmw>dM_K-!|h)1tH^IrI8tF zmG6}UtGLn@R9%v?J>K*3TNT_fxYAwgfr@9$O)ES%&Mtq*KxQHOYZ*0l)6=(Wr>FJN z1X3NEN6GUwV-p9eyVzybFzZGfHlxT#gB}L8`@pWMT%|u&UrK@=2qt9;moGNu?s22} zX-q?5V(f+3Bl<|H9Jwsx;bn?8G$F3QoCCha*S+q6N8m(%5Nzjjf+imb8oWEfMc$pz zOm7T6=39&8`VV4I@DIFqc!R2Htb%$16V#sOOZ4qz162|1N^M8l8!Xs&!(*bz*o8c0 z9IWYL#INA(R2cc?wa`o;v~B~!NXtL1@lt?iYut|MTClPrc8Db)3fk=X~UsODRUH0Qb*}ULN&3Yy}2;WI*Pwyp2Dp+PGM+j6`iPi z5*?=rg^NjdXcDnKa1%@O-Go}$kJe)ot z(7e<$Bn5z-bC5FU^Rxd!BQ zx;9xmLd83T9JtfB6Pxc@g?w`bVN2OguwLmhWuEh~yy351lhPq(or46rYU! zS9mK@lD{oco_IPK#V}_UxLM{U)mMBJ})Wh^yzBJzE72%%|AXaZTfLu*{Y9?-Nujo zJvpCh`JvBmf(yR7B2}|ZvAmyc*v`K$^CR;Q2z=2qskZZsjF!dZjqbhjD{q#3D^7~t z7U(ap55AYbh0~OYky(lqLx8Dt9&nTW0@mb9!5m2sZBhn7*T8LYAO2`yHnLYfg8nX% z=yu^YdW4^hc3__&gXoJ;G8m>KT7u~8mXB-3*>==DwxK)wpTQT{BCKd{feC-kT5K%}j! zRW#t*ME7+!WmdRL*_EDt+)&S5zOuJ5&w6tOuWyQk`aa16{2GApcY#v;7m#IvR+ukH zsH%o4tLuf|Y3oNL`dZ9jDvx_<$QR2SP4X_o12D@lBfgr=LBAXRi~HUFBfcBDsub#z zI*EF%(ZmxZzl^)JyG_$|$4x`@vT>YYfq^jo&}W;Xx>sge+tU&uUDogT8e4Bzvb6z? z)+%e$X2>vZ}4+Z$t$P#WvJo!16=D6W(kn6#hagD_3 zTx+QlH(6TAt&3kvq;FgYc{gWPuCP4tp0j{%t|Q!@yNyodXA#|n6Y5P;E8QTaIyD$< zVz>(TH1gyk|ETGPzYGniXU1mK z0Mi0$iTQ=0xwWz(6z{pG92E@>61M8ECLYuVk_b(^#5ZJ|zOJgA&8V4Lfna4)DE!Zl+hi7`5X zQ6>u%Hd)bWrkeNz(=^pd(-C!f(_u|7(?o4oQ(IlSX}#`}xwGD48KwWrT8F}{OR12x zma&TEKhrpi!+gNJ)bi0Z$)+j^^YZJFPO>>)>B(Rk1UcTy&0k0J7eA z2uY&?NJaf%q=^oNIn5`yy!tMrBd-A-)jfqJ9>_j?v$P9K7xIw4d_8C&mk!k7NEzVn z3D5XP+!5ghb6wm;XGq_oK4onb1y@8y!6^|G{t+&Q-$Zoq>_}&La%2abANhuCjB3zM z(OzgUdKN2*r4r*}cgWlH2JI>46ZMjtY`QGWw`NGE?dbsN$c4rx&O{25p5OzL=c=-k zCuo`{J=ZNtDo-s;j2fFJbuisddS+>mY_h&gu4`YHyeVO5%9NyvsYjAa)3&BQNjsgM zom!G1q#VlnoZP(vmIPMVn9!rbdb_$p8_OT%_Z!b;?Vzq@YW3sGHPOvU8?Bv~a$QqB zxrN%ASV9g@SV>wPtyHING;!K`2>WhPBRfqQP=D$NFhSQ^KBgWM?>z3ppFlD8Hh6=X zAkU*c!gQKpPcYT#x=f2`Ev8}kJku(4oLL+6v#Q`2c3Yr;4F$%s0l$yE?4Q8S_dR4E zdwK4R*CGIMDrGk}Cyj7R@&wON<)=3R{NZZ}hy4<|D>MQdA8m=4r#C_p;na)%GlT2BAAn@< z68V_tj#SazRM=Y9fqU(2&0H>C5vy8Q79LR0Fwioun^*U1W!bfyp(O)zjD@{pd+_U~yuDvq<=^}~zF^g-l7cs%))n0PWGcA+adKg!4@Zh>ymuBa zecz;{;N92KY40|=et&n&v;AG1lk)yysNY98+VoQ{{pM>MHk7UA@8_t+zIo-O=Y{R$ zSjiIQbJ=lVif12a_1A@{;Cgs+_&VZ^da-(p124yQz=Ogj!X@Km0`OVg41TYEiRGww ztKO3LHTzUg_4Ns-VJ*?ZGz_0^K8TI5bVoSLF!;VX3VF;3bk6t^+F{rMHKMkG1NC2k zBz=bbQ#VC=puI2d(KZvRX|8Zx)dJI!yb+tA0;33yN7P73xG%IJ^htRc+AE$3J>-^! zd(h`23DLokyzs>6yx^1QyTF{7+P^i^>o$~;py;#;d1iT5?A zQd_ec+^AK!}6N@47b8c4~KYoN7xnf>(_lL*CHipcPD8 z;2=9tsmg7WtMTWgp~7JCkT5|g5_CdMem6glpUK_eZ?O-B-potUN*9U@T}Muiol)Mz z8pS=%KICx>#>dBws7}!z)sxsJngZ^duA#6%KUNw~HBrV>E5QELR473Gi8Q6Iqhk%@ zu+7F){FreA@sIJAs*}+})-sJ(uQn%Wo0`w+Q_L5sm^sDx(PS_?4L@zE)DA}jeXE2g z+WU#8HRY3Va(R+Pm6iCKAQLIPs^b$j)ZP|dW_^Pku$+S*nM+~R+!tzQ`UG}14F)iy zEYCF_7Q@DB!cM~&ek;|2d#XFj=`~N-+2lWLI+4XTM6a?h;aS{qa8lgWeq6|q?ZOQ4 zwXjY2Ec_H2iGT1Bv5bEr_2E}aE8)a5zAG<`k&TIs4&?jLz_8v3E90Ui}(3q2I&&;KUbLrG-{tb0aoI&Nv<*8idA{7NOLr2JBB;tk;3+ywu zM7~>kp*OA7u=UnU_$I59V6FGbYu2`!t(FYJwd>Q1KSYLhWOYc{5mg@zvF-_%RhS?U6@llqPiqDru2>KgKanhv+7DuFxn z&lSIpkzZ-A$ip-Zw9->c*&$>PG8RHtIzR3rmmJ~p; zFi^U63j9Co5)`y{!`4{ie@{!c%3^s&!j=H}%UVUf*Sc5J*;ZZi%@)&+vwza1IL_%! z2~DU*30)1-9e0fn?KjM3+epi5i_a>WTiM$f`#Wk-H5{9CkYkP}!_Jb&>~&O2Z5@bl z)|Pl*OGB))xgNUE)CPHBoPd}Nmm$Gm1vgN;lw8UtH`Xr~&+5(!9kg3Hr$)_gB2$^E z_;q?4YNs=yaWNTyX-X=j+Y9lvo>$Sw*)H^6#zK#!SJQTSckCm5Bet176dOWUh$Y4L z#K4#}RwKG9=8imK9O0YnKcTZ68!Qk81}BN1gSF%l!A8oD;4Xj*Z2)&iNRW=+fm+g2 zprdRW6y|7HFT^kD72HOl;GpsV@dGJnF>nf-3C_UwKm)OZa2mD;{)KHp-eAdCCYp&~ zfRC$cLTYj>uu45%`CT(qR%>gB0qu36AbwTWR^~5jn)A!l@!6j$oBKk{;f%P35z#~R zVPtSrh8x7&jxs_xi2J|A-}r~+gYH#Q*Rnmrqtf(vU0p>cu7Sn=DtQv2Ne0DX=nd266MtIle?C_(%>IeSL{Vn)7Z)s>zz8JbucsI1A_-ts2^Fio% z*@H0Qo*(|(BZdXvpOM4;;0%zz)pg#5|_!%Zb3v|4N)3<&=V zcH*}M`f|5@0$0mBg1zQ0WF*%S`fk~t7*cvP($IN6)T@LIG${GcyT7Ewb=^7ES>lw6 zHAI?yhpS2?!e#T;@zW^4@tby#XDgZ;cn~50DG=e`+&y3-o)n zZ4G`+1#_}`lGRLpwf#p{v>#P9b3nvMdp4eDAA?`E9mQ8#Pvb_*gt-1(18rn-APtRe zVXI*oc!)Zt6zF%!8r@uRrnaY0SA+3JatMbJZCD-pnVAWLaG!(3ZBcT&`ugGM)QtUQvW*6W~h33TaxEtajfRiq$ zmpX<#)h6Say3MNgR1W&?uxMzptCQ-N8e|240qk1PJ5IfnL=v;OebeaQz&fH9S1m_oz z^V0+>envUXUt(AC&6$6>SM*`-ZtNi6Il4h;7Fi)?geQpJP-p37u#(a^&=Kt5&xd#W zedy*uH!Lp@i#zCOVnle7s!g;%*@B*>#@Jozh5Q5cSCQ9rQ)+3|U>-2Z+OLR*U#%c#8hBcj& zKCAmBQ{=W}4GAYjRjZTk62(dBcr>vF_9&qyI>)gAY2&B?$@bgeCR>40WPK$!w%ibN z%mpHB`Yg;g))I{RxBM=xitiZrmk+{yydT{t+=m$PFQAdQQ93HN6}Ad5c|usqei0Tj z7ljM-f5OAqec@hAFWiof5bHb-@X^HQ*<%2eyzC0tYmW zgH^PUW+LSbQ=w99X2Av445-Xj7inb6 zMQ_*%JpRp9XKj1c1-ACuJnK3AYs)diQ*(1u)L3Ty&4}8|8}>O)8%8Evrd)~Rsm#PY z{j4ON{j|&2ynyeR-odirc-*ag8fmY?kja|AkqhJxRI5rvJK#Ieme@SRjh;j{A`g*; z@ODIkx}tet73>{Q6+f)li2>3b)i|*w84*ZLkngU0&bg>6+$HKWH``E&+isZ7rx~6K zltB<}hDV}eXe8xQH{>_ePURbw2V6EZ0{a+7gKrFDp<#yIa3f8m4A(2fEK4k9%CUVF8fAF_`YlJnv+QLg;4PmD*-rwrGEo}A=68wRt zVwIp-tQLGJ)(lM%H-xK6qaqr4V&sleFRE2mM-gRClvLVA=P9YNjSJJ+8bIDBS;gYi@mz-6K z&z06KT32?xaHM;3!C)_zzt-0`pY+epyB+u^?^tkK-jmRbd@8KZKN9X;FfhERux0pd zQPs#F#c0G;d^tLyq)qfj$+K97b4u)KX%D)zY%ptaE#(mR0j{0r8Atk(*%SUt?3&;z z_DB1qudgDB)2+7 zb2+gVe1m8WenEufH-&iqK&UogN315!78CKfkmNJ{?gDt{s)};4>ZMXl_6G9Qok3Z%6&|d;hy-+2Y^U}*(Owf(xizEITQzCg z>Kc>ohWZz!QU7JAOg@R9h{zlvSNO=0V?+t`jwm>tbbVJpxq^Dq4`lSQ{<`p_`jFLs-|5bMgni5A3rjE@Or z(R?6>N-U>cp=0OwK-Ow7&0~HIC;1bD(PL)4nB5;hLprOPE*sa=$_98!F z4>eNyfFKk`uMIWLWcW(rHarl0p4Fv5$Ix!g_V8BO2FQ#}RMs5AjL1pI9sFA+({T z6U>_mphd>vfR{R<+|(UaY?_(!ce0+mn1G}Y=sWQpyg`V7{e@*pFJYo|R%j~@2yRDN@$xzH#)Q``|MkSByD0~JFF;P4O$;h}EO zKj9>}b)*f_Gx`i&LXXBqvUM>ppMn1_*2h1}ZHa84BiRAUQ2&5~+KT9YT~)k^jv?OZ zf09GvbMOSiH7#Rot}ix@F}yXlH~nj@XX$BdZBrS$+AkSX5|RyP5^EdkCcZVmNk&6L zB5$aWxSRT#AnCmcS-K~V2HHdR>YCTK8tSk$jr?k?X_|6FwNr(yy2H|2{T#(jS;3do19+jK2yJTmGp@CJRE@2adbIVYcDZf6 z{-Ax1;jv?IJVW5LHh0{xPj^@oR@-MJt+r>TOtxFns@qBTVx-^K~DW6o=1yt%?;C}TKxC{9lkyH`v zuBsognQ)RDiD8=Q_+(ugR$2cKQbIjJFoOp^Y|MdYnTEj*({!k(sTtV9$jAFi?<%v5 zf6A=EB`-E~mv&Q+#fH=fewAKi<8*1}o9;W4sH5l^T0`t_^@nJAvOzeHXcQ)}a-o-S zLFgs;UucQaDfnLW2g>;K@#*f}zyu~a@Fcb?5QvrwoDZK2^bd6kbPB2icm1z}6MW-? zrJj;dId_XtpLqKjTiP}PIaSeWCAJt)JT*4BxO(jG;)=0L#qDWJ@g{n42}U0)c~38L zzNM>`mc*E{e42FKqDQ$`(uJOJOl$8TX0dM|v&Y|yc^~M;{uUh09tdq?pM^c__-H?7 zTkH*ejAmCp-j1Z&?mnNepNDqqm@4b)0AochRPma zQ{|@jgp%VOrWAQ%ir4d-lH<-$j<~8RS!G-00cGQ*F=ZpfZe<;Wj8cU=QTm#3mFCC7 zW&NXMnJ3)C)ie0YH6qZ_)!p~THN@N5b;0d&+g)4YERZJdfzG$?Q6(eY*WxWc^9l>R zvkRX3I^-YnW#{epcg(%x59QVg0>9pb;>quD!(Y9^KYsO!Wc@l3S(=*_P0hU!GvqmF zecnd8D8B+TBVS~^1v%`J!tGqwqDFk3qEbGuIA5sZbO>1jgU|PzH8BDrJ3nI<*6MHZo;WE31XE-CT=60|?eh~9jSVF%L1F>v* zY&5EDi`D>UMz(>KBfo=@hz=l||Tk_7~okdqz0;2yt8-Ogxc%#1>^TF$ScF(a?XEy$O7zzX$lK zu|R$5nzE7FDVI<+WQ+c>)Js1=ysvvBuGhX5_iJW}kJJ|N0f~r*Rqe$c#6j^Z{z~eK zy_24!KV=Zjl0wJ|DI5MFV^CP$2>O(+Kv?kuHlV%I0az!m02Jv3m@Tz|Tw)l`6F(qR z#ka^6u^5R;70^Y}zt|sg5?)i@gFja?iA?1`Vh%7wl>k~uBlt<30*zP4U{bRHzM;uS zcE?k?`?NH6UAGDUqH_~59ZTwT&(&$V)tYL$mfCjOsBVOIv3{~frdnzKN4?WPaT5D( z!#Z`kfhXr0$Egk&9}pLfGXBFj{ zT;V*bdksXjEdhi2qf(t*BOg^&lPBUgLHc! zc*!`n3hs$^h2A1?-Avma z?Qv_q=Df9*dZA@DS>3#tC^ZelFB=`$a_UK(FWL!7*Y1O8^NRi)f1&I|&&s>u zsnT6AOG4$C*h4~ve}y)DHg|+?&B9!OUd26(wdZz6+jBi5LpXJKEL$4q6C%O&T?(*z5NJ!ja9|}MFmwFx|rOLgw#Cpx3)53 z(rMw{x-*bRZ-tWd-N7#UKY&Ae2aupUr|i_VR!D8W{D<~$X}U%dCu>>>z19EYTa)X# zHmbF3Pofpm65AP*kwei{(7H%NV0^fV+#+;F2!&d6>w=e=)`6l}od6OU?(ZMk=VJpd z-*$gTFXv^vnCGoW=f3A2;+pB!m!-RW&IhhrC5K(hi~n`4FIwZa7tZzQ3O0Ka3J`Be z{wv@7{AYf3{s;f(0wi#)U`B9!Vg2B}B1`aUkvF)%_(t%0$^MYW`6M*6j0k;nbq!~^ zXNCXqT!$a!_$PcEs1zQeTnM*Ts)Sq0x5Kd9D>PMl6T9>EoLUv*D( z&2>v|>p+P(E_7egM+&7cv`W6kCMxr|fWio0fvS=RXbU6*(;ypg96ky>LyCYy zSUNBQUkzA^5CD@#03dxzSbbc%tl6pb)NYX@y1DXsJuFYs_m(T^x5an7&!idp>rw-K z6A94$C4SW|5HD#qh?mqW#Q<4JYC{~9w#CU6PfsQ7>h3>9$|j+7&b@K8+#ye<^sTWq&Bw`cH->?;yy;v9PZ)l!%F*+=+r#Y=0GQjGD4_Ny^7c8T} zFXqu;E7N)~%lHXwWblAPsJq|*eS9LKn+N`?(Y z8L_>P6?H%+cm_y=elQH2hJI7#K)G^r__?ScFGT~oO<0WmF4V#v^WX9I{Am0FC*v+I zf|u~s@N4`=d z9hz!b4?UzFKtJ?_&`sS(XtVYxv`I4!dZexmxm0hVQlbHL3Y!FtM)p9>ploOmSQR>< z9D%KJD|n7n9{wP9MeM>pWV}Ei-}xQr0Dcgf$4|l9@!PP~{1NO0|0kZtYw^9@6(X+G z64$tOswUiORSCD8e8cTh7jS+J!>`o76^84^iT~3Dr5E~tlbemZbq!U+bx52?{#M;wo3B}_Yo@)Wd#`(|uc7~_uSYp`UyUkV zQxl}!Z#tnROuS}zJVCzJoIuVqxm6=geTjv}orEs#ti%nOL?vn$(Sjm~>iS_srtS>U zQdfgmtNlV;)2<_yYSZvHnt!l2>aXZ4HG(i?0@9U;!2jVl;bd$T^aNc2l_7`Vb?`%E zJyeKZfGT58!IyX*c#}}TPh>jyRc!{ZsW*X})my=N>fgb+@i6STI76l-83T1{I}lb^ z1)EoRF6(n2+gDOfz$yd}e^-TRU4W#>_ z*{lP!W^HTjM9o$0QcY*=NVTGEsJ^95Q%}-nsr6brc|#+S6E$ziOwCEvX3Z*Mt)>H> zqW*+#R%aj;$l;J%^g;sHW!2RrAU@Kc& zna7mMt(d>9ccdxbvE0gRek%uL~%#CP_;v4_Og+&-x@ z|3bEjpnO%TthA8(D;{MgumxBI#K0!Nckn9E0Hl?Fp%f(ps-%>I>`Hm?i!6Yf<>}y9 zDIc65tpNX(=7QIyS>Sgm85G1eP^w^uYI5%(6}uf=#q-m%++ykP zt|Dj4vKJ+dOAi*$aBeG3EqPent0XfXKe}CVqXH$x|Tq$u_Yhff|H&k ze5LOQyP3wqEG8!OWbX)>Tyy?0_dDN_&Ec-bJBw17<7{_2pJ^St8)Kr~quav|B8@|{ zLayMR;PPPYKyuLFdmO~PCj)}#O~B(Z2O{nfL96Rbu$v1CjxU=PtW(Maww2EHzi@{A z>CU0Pk0rUjA0?xG?h=EqtoWOsD9-b5Dyb59TXHWn!?`ZvD4i1>T(&&c*>#z&O1;HZN#c;5Nw&|D)wA!!eQ+oyp#42eq75DiMr;*Jl(kX z3bK~Ct~*8S)_o@?=zbBkbf@qqx{5faoq@(Q$C2ymYw#&@7o@0~Ls#)f&@!wWR2PN7 zOYmo~4|E?K1>ObAfDh120E9Lul|YwVA9yQSlxM;(C6(VPf8hGc!x>51Pp=ZM#LQy3 z$V0JR_^zZ519Du!l|P00DZ@fb6<;_BI2l2}1<`VlI@Sa-(S5+h%p~9uy9!9+4l7^z zqe_9W5ip9Qfxc2L;IgEEL*!r3e8r7ez(!~U`hnj@&Z%tJW))8?BFB(}$zz(f#@1i~+mGm8uo!U#tWlb7# zn%spj76!v#g^fs(a0%vwr|=x%DRf$R2NnrsU@y@QRuSid z{Usc{CVhf_lYc@F01Dm*Es)yzpR9F>56cdbJ@Gqt#L{IZzVnN*2^4juQwaU7LJY<8_(`{AM|JVTXnRTb? zvV|jlT51r}%@v7;MjroUxQpAVEm&*)V)UtQ6MA2J0;{C)V|z5sv0U}_xI-)jyGl;R zR;boueTW$tfv3mW9IKH$_&U-Id<^F(pW%-(ifF{4$Y?$X`N*wC+q1J#o_UPDWd6eU zF>Q!UrVCMrX^)pO{p0D_t{Ba9#Evj&SbLg7Y5E;{g8qy?VK8h0GZ#O?W~m$;NlxNZ z)Ki7Anik@BtxBG!Ed^TY_CN;Rd-#oRDB4-O5Zk1=h2Pf9CVpyel8`pe*V3+42et1s zw{?BB$MoZL_b8Fl8J8JGnr0g>n2wqlQyWWL<3sB%V`JMZ!*2UIYPqAXUgwyk9pU&( zV{|l7ceOuP*R_{d&$JCzyR2(9qb*l7oH<{6+KlP`G_}+*#vOWN9MZbpP(eFGFRR14 zIb<)*TjG|wcD&i(DEgT|kbPJs_!W`{uZC*CZ-I5lB;^m(A&*BNNawLBQU;zW{)gWd z`{Un50B^v}sc@55BDuE~H_s~~56rU{J$Mu|v z_{N`6Jr_~cBk_X@7CHQ#cnfPS&PO(j+aZrs9y}`72KCB1up(#xPeA*jWCVkTqP?KS z*dizwKM!vwa*zos7IBlWksIn>@DKGI=%RWuxI$e&POJ(1pQ5vjj^c2;`1p>k$2~-m zKyWJ#e_V>YQ>3^Sic`F}OK~XfPH}<-5+Df@2yt2W9iMsU{V*rzU zgrE*S$$31=e>(Ps3+HL^APU+ z?#Aw=u0`%E&d+Yq*~Tq9Hn}g^U%7v=>)Z`(C)|&0lRde%xjxi(z^}In{;&3b1AjU8 z2D>`%GG^Cz=961u6TI<^%h!hK>+co(Cy)_r68IiW4NeU94}J|!V_F7(SDo5hnQu%j zwj-O)7IM9~J)Fpo;I#t69TiS;q2gHfu+)g*WI9+ZA5rsDFMPw~-JW-HefNFop*u`! z<@!t9?sN#Rotp)~xsxC2!a1vJ9k)-IfnzNH z$XQq5U0TWH4v_+$2J%*K8+pAiQ#Sg7(n$Y#u`tj>ydC%}2r>mnl{8nEaN%sH6#m zQb&kZS_@j`j*tQz5Y~YA#8@atEQ7yG7f?*zij7saX*l2=u?T8H-iM!1d(n1uB6f^k zta(Xa!!OX!i6Qhc;uGDUY(NR*Z&V(+gVvCD=#3RV8XrK!yDo?=? z%6Oo)Vpd?eO4iHIrT+4EQN6N+UeaXlfjFLRD|BSq@LGmqC1xF)z|Le2a(^-N_}k2J z5o6<|1?(63E%#Q*;lBf|1P4${{HmOnb}O~z2J$WWr94BKBsT&u_1G(K1=Ez3U>+C( zWkWI&f+*+#?6IaZ{tIp+wvhjj=jhJV3hig=rM?9<&d^istDuO9#%1^h<5iq8-qw6E zp3uBCF4O!p4px~#EeO4_Hu;M&lbUbrPPa0Sr6(Ha(YSFmHP6_Id}9!ZBEtoIwjmLl zp`U;>)=h-EYde56tp#R~-vN?1qU^;7D^Zvtm!P+laO4l=3_Jt~g&F}g7^cisyz+9n zOxhroinl~wP{g`Ie_;`SjIZKD_-Win9_D23A-|hDC#>cw#a;Y(=`!z>{}mP~D+CMB zKwJb|mpX%h+!72?I)NyV2-1K8_5@489GHR@AU)vP=t0 z)q{RZ`Lqw|uDXr%Mg4Eux`qbY^#+G_ws9$4W)$dD({I!zQvr3^oJl#&Yv>N<5A^tu zdi0u*?ey0Whjy0Qy%87MRktd%gKlCduFVhmTN`J-O0P6+ro)Y0smFSb>aV*;KGgOh zGpOgpOVUi-!{-ohu^{msJxm-x#t?CE8omOeG(iy3tO96ER0uVd=SN$JFOXDWJ3NRV z0R7}5p?gdadK&aYWx+0RQs6CoDzFFX7g&cPfye0fV0-ivL!%O7!Hn!ptTopkYsdY> z()j7>HKW%`@x1U=Zaj@oG&Ku$8+2+)|WIcTVj{i6$Fw6*~KOy5UuQ>W3LUAz3n~Y8A!UE1A)3QVe)=#fbZrdc-SbF1bmmp;CZ$)Cr&k9j|<%4=Sx_mwbyB z<>vHV=>R=OyiBpeA!;pum;A)HCbIch{17K-rg0asVO$fm2U~_Dus@+J)(MVfpDRAr zAg@z_i|Qv9GSr6Lj{aWEK;P!TJnwbi8Be*#?-}i$<*Dzg>uKvu_Y8H6@%(0g?3ror zr}p=Rc^0Y1SbLhMwY`PMU{6*1Iav2S^*K7l*3u-+k|b#{<)Y-I?@Y2li)hDL*y%S~wpp7taMtrHf3O zoXzAaGFt`4aTQQJe-f@OXpj-Y81%Am7poF+O@SceD}_}A$loJoa9(0JH-qTUh2lrq zubR8;GVBf80R7Htkf&@kJe?f_(d-uBC%ZvW)EWI3=8QZf$V#n)8DdDFk3jhQ@ETt$ zw#eI@8R{7wIO4AI+1z>Fk)B#^i|2}Kl(&!LuG;V0+;`Z@`bSw41F4pIfj2cDg0VF% zgFyBDz|rc(fu_}CR9ES+fKL6|rh2wYrM{s0aOB{$nib4yOPrboX82V$QtgrNA>ocI za)hgnVsvLIl6MWT%RdD86ifx)GUdP{ZUs;*n80*#9k@mEfnKF4G#6M5r-PS~7|4S* zLo%=q=vYk%wnuYV^G=hC^O~oGqM1QvW98IntPWL#wx>HH?dUadBYF|kla2!qQpdnL zR4nj?yaa3}Gl5@;gFt)S0gS`D0vk0af%%wU@uRZR8p)H_!*k?NC`|eQoR#J%DPpO# zTa>1Pvu`!X3#gu!X#c>?1#*y(u#mPIbl#s1};jqz}J99wA)h7-|%mP9G=k zYH#9hRedYhkHpFiCai&B5&Fik9Gz$gK`QjCk(Rnw@NFFeuhNFVtLad9A(a7#k;|be zqy{`goCN`*8897xrrgJS%l9=U(q_#daS3)%c!i!6HX!?jmGF9D9kfK)3Czuu2T1$v3MbIfW(P5)GzAYbN~^q zZH_D2hj_luh`-T|A|iB`h`qXM64zNsgYF~oN^MH&s;kCJ^jds`j@2B|UBl+;dZRHq zBdo$|AwjzU>PFuMS5fbQePlqnN)AzQ;*Pp)Et3~%zR2O2MOusv5TBx=Xht^+eRL6PeRj$wVkT=tF9ihU)0X1|NqxESFhw?t^g>-f|B6+Tm#%vnX6^NWx8 zhEflHz4V^{B&P|9@+x7PTp*lN-?MU*gX&!C6+?kv#ks&2u?##a&4#u~BD_X^j`UTY zpack^pP>HOLwLL93UU-5gD%0ZV{!N`><|0`b{Nl6=Xn6zK>UKuCw|2S5^bmg`EFr4k8{4vABw{$i38Du#;h1&6prm@N+EkE$v6FJf1& zfjEi1Ebe4u#plc%DKu!4mIp6N-ry^F0Fx*mWY)?#Y^oB)I+b}mpcD&{s*j~Muv;<% zs_70~F5iY4DZOD_IR-nGQlt>*j+O(mMgxAu+d=1u$?zz$6%tL}MPtb#tUu|{Y$s*> z0A(O%kUZIlyhV!SK(lry<@@^ZeJ{8QMc43p9nhnxe<1BL>*pasO>qhJ&|1TF zE}RFZ6Fq?z#B3mh7!FWGV<4R91SAkARm~_$y}SIOv?q7T&&hrAVDgYuLhhG_kQ2qd z#5dtC?%)eG_xKd7FLxMu$A!ZK)QMSU?gGV(PWchsA!i4>Nw))b@pNFY@XfzQXzY8) zFY$HbmixlkC|^|Ypw}5lR`-LCynDS9y!YK!UxaI!Z?m(DugEc7B?sI5kUh(9wEyro zc69fTb+G=$&e#4Wu7CWq-2?o8xds0-weL978xpwhogeJzy%+r9Bba%c4i(`eQvO)N+{4I6_{NfR)yZ8$JUCc)sNg%RG8joC(SmcX5 z8LcaCLAT4}P`jLlwUlA(h*Ye}kk)HHi(l{=B8`6+#t~71iAd!gxXfqazw=8pJNaL* z*?bqYJAXk{G8(Ger;T7gVTIcXvPNc@XmC;ZK~f$P3nV2(cqx)B%z{}IeZMzDXPo%kkL zlwijWNRP3P$|bBCyrPMO*Qu>X(V8M`7T!p66Q6~P_zkiuJ ztV@puwo_e!DAK5=$Ue%8H8Z5~C@U^UMvF#hg9rlK#7KFw7$aU4X0wc;&k!eDY-re&0Q@y>F-Z)wfDI*=%b7i|?BrbnRN1{!K_1i=EM2%1eV0odG8mdr!s z9_DlzH@%gtrk>JW<6lyD!(=gApCB&ReiJ9sAH}hhMGU8O!aOpLUq#gB*5GOEC5@I* z&?n4Dq;c>tbTsf1C<{PJoPVc8`~Tv<_&>0Z0(BT&U|HZz;F3Qp;Pc%Ij`Cg!T0B1( z)$__c@pNMtPcqxp{e`umK|4t2xlgc?<@i1 zT<^hAZV@c;9)_;^*T4&dOW+@DclZ_e3EnESfp>{Z5lq^K+>m>q?c~Sk0wofisvJh= z029$$-~_BS^apkWK8F233b1`x8Y*kXqm%H(h?8iKTqW|5m1Hv{nH;Suw5?P<;36~! ze+Pk@SKvDA8Q?*403#Aq>LE?#A@EJ>>;L#XZXD;`=PlEF?M-z&?X-XHjsC!{mzmhlO z*OYtsJ&?c!r~@$+?n7Kd64ednYqB#soxFpAR8MRf^%MI<$7@n4mu5HB4{uDaz`qk$ zi8;87aN{xL0*#)+(Rb8dWEE8kPo_RYho~u_MCO7sNDRm)(t)mceWgs(QaOfAQbwaM zWt-Y}It>S`U!W13t|`b+-;Iz@lR=s*hu;*ypdCd z5%Lb+u5{q{0|Y+}ILq(0>?me!F5n2 zmGl5b32V-TQb6dCHGO zHgmUOo~sAz*lJK=vw#Bjo^q9)D=%TZ(lDm4*gJSn*c9x*K5O zt?{{hihrK}SRge}H}F1iE|?Jv3I3_3I+fr?=1XuUTOLg0@&oVqd4UD|=Rj*ACJ-Y0 z8E7hG2M()A(9yzw%ur!8J5Mli*VJ^EAoN!!pR3X$Q6rBOhsqZ5nbJs_rnHtblxVqJ zeyennCn-IofTEN3$bZeAyIfQ4B%Oz4PTo-!!6@-xVCJNtILk%LRp&q%DiM}Gh^8JpuoHj zzGG%Ft%5~tQZStx85qS+@gElweO}?bZ@$>Z*II&o^Q3ZLP+sQ0B3}(ml~)Dp$&G`O zoWYdJQ`iTxjhm)S=Nw8k-x`?8PX{CUO(4TxhCu;@dEp)1yM=PA$(*J*^-(~o}o&qW>h8h zky=9UBcEy4lJ#|`iCq10;;^AB(Zw(eKWFHovFUx9LHcEyOx+btAMGH`JZg)kEpZ*Y zi8sW;R1N4fHV|Ej9!IC62%3UiLJlGOU^{Xao`lSY>%syY3#X~uxFqNUPzKFZCPQ)3 zJypGq19|?oI-%?UbJ)}1a>fCsGB*I8g+Yw{0k+`E!D;+!aGS6Yd>{f)gt!8FEn48K zQZ#Z>3Ppbx9qPnWjLnl^%q5N0jFkMELu&uoBBfdr0Zzr9!7Z^L=wP+md?((EC?Rw- zMC{N8NK(Iz%rcZyKaFm!*7QVMVIHK5Fu&I3hP2X73dz+bhHjwkVV&tEVI|b|@S)`B z@Fzs~h+6pRh~fC6h`RW+@Y#5yur8WsA%0B{^F)o6Y(_gK>Q%*N`%UKs?9%=(%2)CIrvsW z1M@|@|Dbro=NFs#rVCrVoZ8x%!|(PM@_W1<{)_jA5avB8^zzOS4ts}*ZM-9-`riI> zthbAN!#h>J=A^%|b%h8*p>xA@pZ33%ngD z05%2^WYK?6GWgYdhOdkb_$~&Y`Of&K`Rrc3f2ga-|F6U4zi98{pJUVd+gt1SJ6K-( zms+m*cUV68Cs?X|P7Ck5Y^8l3Yl{DqH8tS1FhQGT2Xn}hz&5DK;jo$qeA61Au*I@n zykor~ZLyD$Go4%Hpqo)d-%_xCK!Q55iy@hR1jln>i#s)0J z0zf5t9qfe+0hhxh_yXJk)m3WLM*3QCJ#jmnDU5<{^D`iv+Xl{JpMot|BiNI93vOfX zfS;IqP+evdbem}nUkfUzKIp}sG9mZ`rURi8EXn_va%vL0lM=Z-^nU)MwvG6!_M{xG zeF6MWdk;FS%~SJLgRly{8Q-AKCcYS=NtYpo`d~<;XBwu`7DJ`>H)DI9$=F`6GZY#+ z8>Snd7*fsM^q!Dx{emz`H!rM2s|_DQT?(H^o(%6!l!d(^QbSAdw2+e;+T01#8C5r& zp&I$F_aV`G3JU0&gEO=nly5X6kEi>HA~j0bLQ z3EU6{1)gx@1NqFUfD%j#w(^$-xBA0_dA=(_*0(PB!q+!A#_JE%cy|VJygh?vj}pA- zSu*=JG)w@k8gRq_TtMlRrglbveTCrzlQtQJnF9iZKmzod5ZRe83wT{)|^ zf6E8TTCXOL_qz{CS6q40BbQk^=Ugg{bk-8jIz-`^;}xIj_=DYM7lX&_hy8!s=c`=< z3*B?=W1IyxkK>rFwf%~9n@zE{w_UMLw%xL3+hc5X?JI1{?QiU$Jx|5H+;fh%uUGvp zZ9Lm-U%Z93-~F^LD$v1(1ee(2m_KbZS))y22iR-aKb$St*RH2rPfuI!t9L)&&-aCY z6i5(;1}BQ$nZ?pdwzYhZ%~Gy&y@CEb0G#6A0Uv}-z(=t;a745K1}RHvAYYIPWuaK3 zxHNvMmkc-r~d|P)90YSRJOc8&qn9aL$EBmtL6&bA8$Yp#)r`p@WJ#q2$ah0}XY2#I+v^5up6M=NZ}l+RQJ(}a(7C|7y7fSRt*B&b+sF;+X3}udCO#+DiCggo;zjI( z_!jN2?n6$A6CheB0B)#i?`b|>KFbQyD(0BjE?7@6`|t2N-ydAGcRAzoRI8oD=K`so zr#^=l@z!{UdVYEjy03U2yH<58yum3^D*ifMQ@f5CNP~ z_5ur(B*i9gQ8bb$`J^dgu2?QS7L)l$f`NOh5Me zXLP3V^PQ{3+OAR38~0zb?0K%N^!k(uKD&bWcgk1&mGVZvBv0~J%NhQwlGQ(6^7upK zIX*_2sAiA;^1lYB1+G9;@G~@y&4g}nk6@j!4&ETGMk16ONEW2h7m>l3+9Ivls42sj z;6I3V#3Z7IxJJ$*s!55ArFN2Y=vEX;7g3USf_9qrkd9Zchi%%i#t+(P(>MB!`3yZR zq#?zH458MU-BeSvS*1ycR69d8HC+Fl>Y%$re$@6RX3`@hjDdY)+4+ z(zPckr#_lKW%#0PWy;px3n|dr!>(&@MYPe8Dlje0Ozbz2!@9SIR@8oUekMsQE%W)6$wR7$FZg!S? ztj_kHm5%M65%$lXQFhp~z!vYhVr}J3vW)h!H8<6CU;jXCP2V6=b2@m`(us+(He+_! z*0LH$D|Vu*F}vIo%l_*9#PI%l%!R;cWe2?`_O6rooEN&1LU?Z0WSA0guZ#M zfe+lTfeo$_HTNGWcX2M3MmWmEla61+1p7GQu5Gr^+PaM2Z+XdGv-D*Dv4G6jn#Tc0 z%@TiRO&_nOW{7KR&1t*eqO-2IOsSb-*;}>8avxJt&3UM3SK~6>O z3XAPkSx*iG#uzLN`x_5Oe-bq)MU6)~(0{;xXrrN%+F5D?-x#1ss{^{x8-Rv14E#ym z14QZ^IEH!y?xspq&8P|>`t`Zyj zokFQ^qS(wEFVUVBa!+@G^2W`9Dsu^*;H^U2`2~RhuVer3jc04;fG8^@EOL#_*7%0+VGKsuQ6Q3 zTNo~DHWGnRr^ppZwCZq4kSnkZm6F*|F2uXa z$A~_1Lo!x6LoSpO$)Vz1l@+vsST8;xhDc+G1@dm<6o3*B!M}+E&=aC3e1$M0g9#d` zAbO!4h;8U7;w)O5_zQVSbU{`Sp~#;Eh!o@B(LeA%)O&26W{4&f--yj1o}v~q7ac&Y zM-EX1a2Ayho2e7fYibDeo~(pvats_rWI;U9654~`gA8~kI99UJ3j@uCUjODVw5b3eo5`Rm*V6L;xc8tASsW9Wy(qZrxMF| zlz-=LN|(7hqLbYvhB3ve#uUeo49?>Mf$x0Xz-a!5-z|Lh-&SYZC$ce+tn>`L0yYJ= zf*Y6_kdYk>L0o5W3!e%CydBsn{0j^hhXV=fTi_FEtkO^#Dqoghd6xK(d{SJcXvN3M zHmS4Xl!8D%*$ET?oxoY31N6ZMLARP#>xo_g>SO5&h3%0WV~X^T1`wTCZ`J?*gkPod zfHHv{>OQN0JttLj-z1-KSplTYzyN7XIJp!@8I!r6&oRX?NPu+`+jm)pJHO1MuOU8j_nVH7MKkBDvaJ6To?oOH?zc_YM zi*nzK_LYhsRXJe2f_$(=Pf@^ns|8(FV1HVoxL* z)gWR{0f{riJbwy>%+w{Tvmqi|N)=E9QlyWh`NNI(9q z{9N>{QZBArd8TAdWslNNm1$+(%0}gEWk^L~#f8cf6|JkfRU}lsthiL&x$0ZT^UvHTn8#Yx@syz+*rj7S5f&p*NXCJ zr%-mlxu|TMBUpCOvAUde=*s8X&z3K-=+H z*{tG(vdzV6M8CvQexvkr#nG~5mEFodRW2$ktz1y{s`6RchN}Bz-D)z+(k;)_%%ZV; zhW*zH&hfUY%5}R&^t`pD`c^nL`476o)h50Z0lWW0@Mmy7^OL#CUS+em)?ASLD)i$S z@wKS-+NcR>6F`8E05{wj?15|pH=-rr56yCD1hE`?L7jv|?P$oWQ#U`V?sH8)1gg?s zhL`F~k2?(&9N_Bh6Ug zHmU#<5E~GI7yueJ1Jl8Ss^9n?xKFwd-WPH30{;oD5s6h=A`hmA#)=Q zVWXppBF@FkkMhMXi3!FojoTcvD}GlL7axca=# zLpVkg4Lw2AAQ8@oZBP(B1|872p)=%2Se>olf3!W}SK1lyNctT#f!YFUiTlbd&1z{2 z8YTP+y=NRz7fC?-#BQrk3}X2+F)7C5@J2Sp1va|>Vx1HQx>`? z-2y)aBQRvE4t z+{T55B-4C-bMq)2pk~R^LfR8WAx$-t%A<*6&)a?CNra==bouG)UFqSg=A@z%4}E2{tbn~komtnOLND&>i15lYJzih@uIm`BvXA@Ss~5GT1lbRC%%DyuuNWkfJMid+%CmWm6XLtPJhLF+@$(n~{T zY4zqb?Pud_-8w@jomY2JSE6mETcUc6gA|}$Pd3oDA=c6k+(R$Ir&Bh~M{2Gnj2e&C zr?SxD^a13u_AD|;_Z8`6XoAc$o<*w7ZP7C!C$Nj5Z!~P!24ZZuk*p4%PA?4qsv{#B z>bFE}F%(9;GFC(|rW27yb6jK#^Nh${<_A&ZLMBAt2;CezK72xagUIU%u9#7^cEr=k zNaFsKkfiLC!zm|I)})1{nA7VeA51Syo?g3q@|@a>lULS0k-V_>yYxI%WY9oO_2*WfHso~k1-*+!i<+&92+jTKOJ5KvM*|z&ySh75Uni=k+)yG{Os}aZNs%iE`l^1Qj zD+KHOijJ1N^6@o7si*ouaiEGUT30dhduEyPt#Mh@mq(=oKVK~wS5WvtP>_2JU{-XAx-d;96Hck}YH-kmRK{eITxRXIz(G|Zj* zrOt=OpI?8d{5<31&CfkPUHhDn_qpIv0Z`EVb7BGUrC!0_uc@C4zt#ELqp-ubmEUI< z4*GH8d;Oy9AFY1cipG}ce>N*^`Ey>`(4P&3sB~BiRTHeSRbJbe>W%h4Y6wUBn*I)@W`VQ3=D9n<(#BKU^4#;& z8t#p^PVz2OpQC;4yZo!1GXkgFErW->7-R7dD59A*%OHmR5%E0kWx|xy z7pb`!S8E?@7?!##!x_6c>4Gso)Q{(pD#QWv6Buzu7tqfNr9x99PeuL~Q#%HYiHi9U z)he2eI2#Q_rbZ8mIucVal8n4;++n1#Uy)i;9(O~U#B4^IOPQ)#?bQ8>;-sv6*8sfg z&lg4-{zWkr9py}$9A~cEAaQZ(@|aFh-wdDV1gKD15gfq9I&bozW0q3ST?sGo--28D zE9Cj^3G8}HAnrBPhejishj=ZGrs!8~vsA;w2 zv{C5~GT8K^8B3Dur=5r`N+2RWMHPe(iu6XDjJ^_iH)eFi@~AmsXCgL+KaBc4=5RuX z#LX#F5(`t(V~-{nqc+5}kLwiQCe52pHt;q`tp6}$MDm(iw<3QH+ZU!Yo{p&-`XbpD z+dgek{NaSJkxN1|)s1Ciq$?JwG)DfDc;toTLLbQU@Jql!Z8v0_v6m*_)KzmtUj(nB ze#*7f81)3SEeF6M>>A)}utb{ReZj1-w|32}cvFKEAF6m%yrODIMY3hJWwf=2^}Iz_ zGse2JCfRFq-33zQVbpH=rXkY2PWM11rF5ciQf-MI#0$I|@)qMI3@!_921feV%F6@K z}ivc~5Xce+!B1m__U_0|TK@mp~SZEQHC>mTkiu`zm6x0uGdgON|D|H8Y{jl%Nv z=I{!`vxsK8b)jy2kMTF~65T>~B0 zahEuGX0NZmG=V7uFjeQcEZ&g^ih}e~d@BzUXUdg=+6m0r`EVw~f5DHqzIm29tnO*9 zhVF}=zdT*M>7IG+#h#2 zHa0dkx=wsXTuwsI_-_fd&E(QI)XgPcQXagm7N#XCXkxb;8IFqy%)*p z=}T)RCKbi^kDnS{E4oW)QTSy;e#j5)d2=mo8#AH*Gc?V-A+kdR9$OMUKjC@I?u2&H zU1FX`?2Q;6);2UZ^k&%G@J&%!(VDozxX}2pI4H7nWJi6tQQhB>dT6L-ExJ(kLRV{_ zXy@u|)KvPJrjl%_2_Y|#vvi~NPfZWZm7!sw-9t?wi$ao3r_JjOd(3rp+e|n;K|hL+ zsot8^nh3NAIgK?y`{SGN)l^SvF};A=Kz+mipXa|zHyw{NXKEXT6`Qo-@#fZ{aYlVe zlCCWDsU8cTV$g)P)J@QV_#6}fewXchf|Sc_QO+{Uz*;J$>ZtnHJH=?!O`ME$lL(?O zxI!C^jL}x31l<8yNcfPU_%XBtUI$CW?j!f0fyz35RIt=N(m_?HR}`0yFX>V2FaEu> zw8UMpx9nEs>GHl6jmuV+PAc7Ae5EY5;pL;Uvk+Y&)UCw@wi)7;PLyH=bo>9bLaK=_xrPte3+Qc zd?epa_|WuC-`ve_uYMSpGx^iCPfH85`Qr<2eDdV|$gTgOdG??0R=(A}9hu$lZPfdR zZ|%9gv*+d}We>{Pl6@w(I!B*>HE+U?@WO-YjCR_xq}uF=x4K;i9inHbJJhqp^~#xT z%d;G-)Rl`r2bByjJXXB2@O{a*qP^uUO1o4Iu2dVYEe#!u9F1MK++*DTdN+9#|I5IB zc8Rc1ngiSc`-9)rbnij2EFc6UooC(6EP3`X)ub)0BEb?;e7161VXM+V3zVOw1@Xnh zzNVK|7TIg4iZJ{4nr&)IqmTQFCEMk$>FqpU-Oq8mdXQs$^*cvObwj(Rf~+b3Nte(6 zJpIS&+=~VN?COuFvWq{=%}M)s=)mR`d0r^kx@}ndb*;tEV_DK<$T*5%Q@#q`)}?%2k6~s zmjZX3Uxih^Alyb+Pql`p8jlcDLf6pQVFg-WSQ}kv$ZlP%$)-DLGV0Hn!VHJhhMtSY zf%4%w1;PX(#(#4YkZ+DNkj%0%nK z^)Q`gr>dI$qg_blX<1De*-(+-pPV4QVpLLeFfQ2FU*XO6FwVZti59!PU3CwKt~%M> zyXK?+q^%u?IEP9jyhp$?b_6zFK0xZ>h4ioJBdr!)ObbXYItR|s>ftup%kWd(3fQ44 zT21wB!Be^(${~8BbeY^NLF9Y+hwe5~J4{QriaQ<}mhwDid7X^J-Sw;~6Ef-A`n z|FmV-#?x9aZTd^gxoUaW{S14(%JgGt=ToMo^h~Z!>7U|A{a>m-)svQ)dLi|Y`rS84 z-%{!&K`DPEr=|@^TU*Cj_rC^R>qjKZveGxf4;dEHvm^C53$e?Ly z7^|IR(qK!eQ9v)`oLH&65T{C$q(-7F-IV^7hR8d`LS=$@U)dp6s@t`N;xsh@+m}5X zY#a#qCi-ICYh8Ek*|tSBaMj*&O<8nt`{G7Lr+=>e8CqOY{I)E&OkZ`O;)}JiW`HZy zzR3H<{WRFgf1Ue>?JK1SH-N_STksUH7HFpUMS~~@3%D3>esHztQgD&48GAgKAoS;I zNqtosMu9R19HpjYT98e&gAE5m`-RPoSs3*pk&W$FoNC%nNzi1hx&FLmAZFK}FQFS8q+gf+`v%Nl7-vDQ{; z7;<%ny?OO#$9ijH=W)jXS9jMB*B4B~|ObXRUy^47l*Ci>h)}q>f zra9^Z8FHi4#(1+vO<%O!+pJk@ZPOVo_cR&N#NRlv{(?*?&7W~1scr33313s!#s^b6 z#7|1ej$4`fAr4Dx5Z^gGKv-{REzCAYh@Z@ZjjtWKvq6Z{ij-65aV#3b`L~=}nQz=jD?M~T| zE+ijM+mUQcAD$%Erjv%HIuc_ODr4(K)QZ@qbA^o2)H76qPqbT9M&D!UFnULB2klZy z!4BX)@GEp0ZVLT?IcOt19DEIK0bu1AbMkyS`2}A;Wqs>jaJJB0 zko~nyUh2oexm{i>@4#pE-nbuOuiHHMFRSQ&>u2_RtDd~M|NcqAw zaRKwL^n2om=0(>0$;G3;C6$~l`m-D;`C8Sze4*t=?4&UNYUfx^%d0Y54@(X_X2yqNZ8RG;7o9 z9=3ti^KCtAdRl*}xmmNlrcu?pYF+u!$_vHQD|!`DWk>QCmF&)aTO_?3``z#+`z!tG zdBMz=5AyE4+V)9!d-T)KT=-L7US=L#z~m=?F@4VZ5>xo==Z8gUpO5^6z9bYyeXaYQ z{p$Jt?u+MpPJVJBpgzs7yoTOge{uFjVb;7S{oWjSaws<=OPBv=w)0zB-r=Ip-{+RE zQ5kXn*qeA?2S)N=WCSQfcEiIpgTZa+WAOoSHyGe2cnA7lxjuT@tIXC$?tY$Q-uZqe zFqjKt4~mP$uJUj&L0OKcgAY`0VrbMq)SARL`r%0j^-`^ix(zJZz> z;iun48?-qwJ+u>}?o+ix2WZaISKxpmUwlGfqjQyOs&%~OZB1qM0LzY= zk5cAxM61yMj$)CiFrKP&YfX~zw*%CTb^KbY`D->6l=;yJy}x=2$;qtq-&AbwAg2o)`f37Irvc3%->+mL#E~X&0!yoK*Uf$VgUa zVzhvfp^3Vat&es0f03Xc_$sMp@Zsd^xum3f1JB2w%K9gIY09z4_?QDud^Z-+adm=~Gz403HB!{Xlc#{WrJW>(iS%ka*@;o)++HK}W{ z^?T1wTfIEhQK^Br%guZJ%iXg=dqb%JD`W{^7Q8Vy13ADaLx4R65R!X!u-m;U%(l<* zj0zm~P5}7)Y2e6!1zZh?ge-t$!Az)=m^fk&=?&utBa2tX9uoPD1Bk0<|DC*_wKL@` zb6P@>kt^XX!mKGl~KAH zsagNE>x%xrwtw}&<}%&VKL>P)e`<97TdwL3bWGImlcpK3s()FoT7dRh?&pryP_mN_ z+3jQ@mbv<(zIp=a4Z%!w4j73F!9SoEgwx3ctOs)hKOvk*%*E^>O0nN5J;b?8F8v+1 zQ?NvIB2FMKNl%Zvl#`M8ec<(Edu~)}$`DWL*I~EPAj7w&v4%yb)((cH;!KYkL-jIGNX>8_<#P6Amq|X`r)KM9~Gk96WnfnI*&R95fS&DinIALi2 zn&?OAvm#pJas~Gy&T{|ejbrX&jHg^9tiw-%e?naYcXSzG|r4UlV5Jq2WLM5pbgSFx2Up42gHY2d25){$3~Ab=_*W*iGH~Nk)OvY(&c@ z8DIA-Fn0B18L!Ir8k;mEbBV=j-{>oGS3-&Yb68a95P1`b%D4mNaDF1r@aJOC{Kt3< zH<5Uoahfb6pQbACP4o@8JB$zbPS!{=gyW(o2x{4fqe%QaF_*%3@n0-0etEJtKC$oP zxOD?A#cm&z5mVC7A0z9N94k-d#6yy1#Df$5jm?fxi@CxUk&>}bumo@9?Lw7vZX-Xk zo}&N9=*G>V?;*UQ0f}G8cZrF3B|Zl&!YqN>5iNj+kU?I3;EnyI{eqFBd9Lzy-;+K1 zGp`#^yRq#;<*+}AC6an&A@Ub2Z*S$#JbXDP-&wk%cx1`#vS%fmDqJO;%2&nU3SD7h zIW9l3WZTbOh2rn-pNMZ$zQDe0c=zuo*Q=|a&OKlDdDpXBUvpnf{=WCW>v@ECn!?mC zppqAPQ!5~4ysCG#rW!@dm%5Ceh=%FC2b=#^z3e!v$&rrI6sY1fa($e}Wg4jQngN?irH%BcAE;PRiS-g{gLU07gkIaSc!&D$B_;C7&G!%W7dK$Bz zz5?@`+JM6#=Z6ywKx7{`7(T}KKgcq(4&X6S0$#%?KVP@aC)CdLG-%Je7V2l( z>WrnPZu2rd$5gN0p>OHEt==Gc(TncFNJQG*o5SoI^e=tIHs!oSO?1qIdD3qf@;MHzL4#qVk=>ZpiqiMl9i+}=pPxIna9 zxSyBAN@jj0exj`lpPj6MO(Xq;B@xyj&S6)gN24ZVT<}_~1loZoK?V{BfQrdSfZHkA zfYHQ2@Fzy%-wGSzSsco9_VXfb*X%DW{~6ULkNS$i7f$Lt>vn4nbk9+fB=xF;ifq+= zO@o?hSgrnLx}+(x5VUq{p&sq{OaH^2pl|bN^uIhAhIEJ0c-6Ah++%odTdq%V95Vo1 z$)>3uiZ#t=aLf+Xhqr_+fjcm3xOY~J`i$yF%ENqST_mUlUuZdz8Eklzn8%2e^K&BG z`D3E?^Z$-g38qHMghtVz2njzSs)c(qdLOST=B(&REHXM6J2r7<94U<*-`;0*(*JVK zrlJQ4(yk9ZoA!Fdw$z6s{z?H3*_4Ftw=n*FnkU8e{& z%h*E3Y}QeRmD$beVBF&vY1_C#az3|+$mKNSY-}eM%+5grnQsxTv@i#ekPf|rKtN`O zFrdGk1)(eEN&bmCm*TTI}0g7p!|-r!5QI3(Rp|hT*HPSECQ06?X$UvVs19l%{e555F38TlIb4?3P?L$^>eF>6U%v5WB}JRIFa@F1lm1#%SSAo3`+ z5k;oyQ04S0bO&Q@7zwhQC}j+xpQAVO(&z^xGwF9?gp5J4-Wb-N)(| zvxo_gLebCj*|Z$`FDi~0P5y|fC5F%>0uU9#^+PYf0?|t_Gte8+O3Xa;8k`H&L6W1k z({`fz(2pPkl<&w9xO{jIyc}8x)PM&B_5t2|n877BoPWA*m3MA0$DP}A)rslW+8I)? z4IsDJB9#5@(^aJosiwcvqZ{nXG&r1Uv%`7ScE(w0uW~K36}vg+IQLbp(%qo=;I_yn zd+5?sPrUTJhbT*N*UKKczsVnYGL*Z#BXz%gUACyeNgpRP2Q(769^MVXqs?#v9)rRW z>oMCY^Ko3-Vf;Y)J;G@EO5!CNkj$XWqZ}tcr0%6WpjOi}sTWwssav_VRG*Mbe-gEZ zl^TDa<4s@9&&sh0t_=Dq95;B6uwp=)XnJ-~RM$r$GG%B*r_vn4mgH~3sCb5;O}s{+ zint-18gWYaE2>U3D&~vmNL-I-b^HTiVf+cf)A-%|0SS0+cY==dI-#5WI_?zfdDLX) zO0JgvhZ>{?@i`PRDuuKSmOx~HV(|9BA6&OL1^e3l8MDGW2t7W?McoIzMy-PJPz&I< z!wihSkm7KENDjFKdmPr&zW`=I9KnrYlK0GTUOpCRHYov_x|ZM|joE)(yT&(5|H+3n z3w*omY5uitb>MvPNYDrg0S=-4pd8Xha5bF|>18sZml=P-5~)_0m%J7MAXXzRgd*e} z{HZV(?j&j)`VHzNdJF0TE)z9{d=S~n)FQ9*Pa$OyO(;clHfCj9DJ~)D8s3zuC2ma@ zkj|%Oky!~t$n>bQr0+Z%sXw!nm`@u+q?6whm;^uW8nyuQ1@#{F3duxtBY(lSViv*< z;|D>%5Vk@7!}&oWGzRbt+8HDP_WEA=QaukGf4Qz2``Wt|uPwsP5Bld#_tc|mzxCEt zkC!c|ES0>h2zCc6*j?l@Tf4Q4*4kD!tyx)K&}6N=*U(V4w*G7-q;_s;X3epJxaz3y zld9;S%PUzQ|0)l?A6)kSO>^mj|E82gzLXUYdzD|*`}Rz6+~>R!Vm_txcp0*MLUlvs z{Q6PVmzrR;n3k*cCpzL9{&Wv)`YefV9xXZ73XuTX6ML3*zUX<>-6HuVNt8{N@05AdoUAZ4^`(tZ1gGPhfTo<{-i8guE%k4Tzt-VPhW+|jdaS0c>`u*+vgaY81^1kY8o_{}4Q~dMWuYU_R)lDgx&_J#X{MqumqP4VL)A6tu)@9K>lO$NOWo-_$ za*#V#+s`-II3;-2ngS#{Zh|tx)YUFuJTN|R0C+sq07(W-MXSm=^_IOcd=C}xI%IJte38O?^v0p`*(Qk!^A|DD) z3wS&wo6MO^AI6+WgV5g52T^mG<&*+;3*`W33HdpDI0?g~5)iaQI12d~W&-{OY7UAF zuLX5OR(PubTWkRTEd6Qsebpn!%3g@|wv=P$b(a~eT`Bq@oj-M?u4`IB&px$RTCO@F zuTY8 z`k#Rl_6lycPxZ}mjR4N|eucFKUxgdkiD8Q57iJpT%Om5T3p^yLXef;wF_^hJ(!eoA zPZZ!|cZw#(?Tt7VcOo)2t~H90V2wtl?u#Sz%}?ApFg|7K(CKNg5tV75N14(QV-Bb9 zA6uM}IBs~x^|9=X2_vtjlXI(51v$5q%F|CKtV*nji;pde=^M=wZ;sSN{uDhDl?sLn z7V)yUkGU{b9_J|o!nsCW$u1*xGG`K~6c@&W7b4Fho)!9_VwfyRsW<1w6PgmHMp}F1GtnS*Ddj22Z`BZas(MzhR&!91 zp*<(B(ETgT(O>O;X}Hrh(zv%P!vySVGUaxUH{I!eU_RATXB{YywBHR^VFsD+d#c0f->L!U{6=@#dv4~+Vhtcv`R zkR356X0UKW#7ABy?;5+3iDXP77gAdB?}&%7r*Jp0iI^PhUDRxB38DathsUAIp<7YM zz{SY9piKBZz!%7bFt4uNKh^a%+*}7ZNE(!7z5IZ2SI=MiS)B;&ueQ;ew_!WCq?x7O z-+WempmmM9rvssx(zQ=h&@)CmK(b2*mfqH{mZuvhDWc6Al?~P`)lA!ZUC+!vjFW~*3qGV!WO)T_60$rb7yd-XLM+k zp9we^!~nMkPlB=oAHZ-w79#fcg>H4PhFx+t!>2h;!#~+85lH)4#A&-7x!egtZFUbv zpY%g9OMr7QKKM-RN{j}|B=yiCSL{(BaQf1B07%VhaDqgmHk zx0#=rrx_EOv9v?Xsg&caIMToD3c^R;Y+OM25PL5w8KaHqgC)epVH@IVaL41u<1WWS zv5nF3n75H%&?Ul)XcYGvDuUrfOduXf7p(aa+~tHyXv#Ms5Sp~ ze69S^e!l!;+orOATC>X{T85U*ZLTeAYGIU5Z&8(hZPivpw>4KhZhulK>{wA5(MhQo z-npu5UgwPB(vJ4RzdB~*H+Eq2-?du`zO^?MEpFdXlHDdNo6vTnlGhIW#p;;eklpoH zOL@=xPO}UqW%Z`_PEqD6wd!n5nwF$v=&tIg>JRB(=%4Fj^ekPrE=jvFoB-IaDbzjD z+%Qr!`Ico`mLo>{*^{7q5LlzH0BQ{m*f^sLS#D}VpE5s053x)~=2~9ECR?U~(dL1n zPsTF;BEv=xT7T7H)o0rV>&zCB?vSZeTW8AF0>j@X%gskMLd#)ImKCl!X}P9(ZJw_= zZd|R_>SXFzb&=|Sy>eByWVDLfk*#d_<4{6=3wz)E!pH$taney0%X@0eA9p`1f8J%O zSlIQxGQZ1EeZTwauQNS6YITyOb+e@dYkQ==UwYZ2nhtqnb%A_q)e8B+icVN8W-1$$>orK7Lua%IjDAP5<*VzL z&FaZ={P3o^M);<<5BWPhTZ8|2(SUUCaiGVmgADLx!8iCup!fTR6C!*sDO~{ob3teY z_Yml$kPj`6BqQ#K#VAMg6pS+ZGVXFTj{p|~iTuc!#Q#L&h^GZ)!YghFKa{f!`;ff| zGnVxSeUP;SJ&J`v|HFKTK`|d-?lWE3Ojb7bBJ(ZwKY9grJ!L<}8}6(wz#!2t;O|h^ z!MO;3uo70~Jph^E`~ZrzT?8C5YeUnFcY~4o7ydk5rf;xzsy9sw^E7GudNJD1-u}8A zFG4rOvp{>seO8m|YE_lHlEc=mEy~%B%Sx>Mv*NhT)~m4%@BL!Er`T+bR86*0wTad? zgV}zLbmL$zy!Q7PI29P3(WM z@3|~o7OxEdSkOb<9PyJJAAOoqlmMYsrQ|VpXZGiu%$~(h?=KfJ2OSoj8SIE;=ZeID z!84-Y33FBRHhUL9D036-*rWBR!cpmKsm#OCEqbNt}aNik}H0U?jdWq|Bj#T{GVT57kcv z;51PIh$_K5Mu~DqDW*HW_P%x0_M+{2`D$B*tlqjq#k4+K?xHbul`k)oDnosM3XMU64`al}?;Zi$tr=fw_AEsL&CUKe#F z;j-vr>~8)M@k=f>axZ&(1e>*2sAV1yoMsH>U8J>e22y`8Z&J*(%J9?KLI&bz6Qfb9 zaV?NW%%GqRIl&VH{bsud+-JNP0BRv_hZ5^}DSKn1^>mw?yS5ptJJuMmZU5&fRw&QEPs);RKYNA{EbjS@A#bcg1+`er1YRsM_kWsPB4(VNzq0KEhXII^*xO6M}RP zD0DaQKFmZ>K-NRw!@nahp|@Zk;!}xlNzbSe)MfNT^dSrfBZtLfTw&KU?(uRNr-d*^ zM#MDw%1Akl8x^43k6uf@5c@BAX2M8vb5a}SX38xpC6z`UnzDhqJgJrXJ`qF>#wSuA z#Ga*$jQ&AXL=D1ug+=H#?pefh<|ycJ>Oe&*pL<2Y=02rwT9PW(wjrx8b$qM4(;aGBEF0Q3 zMKP%Bw#qGy(q8M$Hl(RGnYL&>7KCxH%8tMO=+Fd`h<>(n%fwQ3g zJDhOtaxsE0ZTi41^9{e$VDul3F6i%p3r$M!bZb3$ru_`~t|J!$b4Vd4T`QnF zz0+a-AP*q}`cOSkFy=fw%tt{E$HUNid^7$%A%!9)U>MW!JK2MARh$Og2ySE83cnQl zQfR^sjUr>Zqn~2RVl%PR;()j_@d(10L?#KF0w-ThGf-}2R8X@rQ>jNYo>QNu8>m;) zk5jYKCsMYh6_QV<&L@3LCX*5qvWQKw458{hZxDn5T9}; zk#Nk1q^a~(r1jLdq+D_@QA1oo+=6W-sF4Q=X%GvZ0I0(*4a`Mv@$Nt#cYO^TNsC~X z@Kl#=B0?JsPoduo7oqJ&HjHFY!-V>YFuLXy45``$i&s{|CaJE%2C2V5->WT4VT1?F7ThI`Tgf zFQGq=$e%C2IjMd$xtLdj1KDT?3OcA9&NYCqwH(t%k5ix zx7$6+eGaFF;~J@}c2^j4y`#-fd~LSFfzz(Jp(+0P02j~&%7D)WN20%gZTJX?oWy`u zP#43VFp2PGoZpC@d^^%3nuyj#lCX}bS^_*eK>91Lotl$0nQ=e0m&3^L@xguLh3Kr~ zqJ`OyBQkP=5#RcsjPMTl9AO&pJEEZf&xma~vWVy`he+Ock?2dG6j4hiEg~hoAfhO> zCvsWx;wVDG@u-Kf#Zi*zr=&I9N;rVR&paX>mM&9EjIZ0ts={Me%2-DRDWJ1u=g})zK}4 z`_UtC6!A0k{iuP+L!vx*7k@ZxJ9|G=Oz#DMq+A6}Ax;7I$L== zsec^#(SLfsEB_RIUH50h=fO>XKA0MRzdO^g?aih7ir3|}&Ns_`q2CR!PXBPW^2Dbt z6^lN9C|7>@UNP+3lFB7NMb(1}KK*JaNv*e(8Jc!hG_{zj>N}Xf%DN;C0?FK#6|yg# zcY7@4zV-ra;|j8 z;_iC?BRmg85S^hIG61lJG79jWss#+7Uk}Y=ybW$(ybSE1FY(7v`*>H7^4%*4C!Du% zj~&Y~1@vdbSrOLzV)zV6Z zyz8TUNc$8?X$zx!L*v2Dadms!_f#KgBUG$x?N_$9rM~od%jJ@nEh~z1TLu=wTV~`v zXleNIy>;JrX zHM@J_>YhpaH6D`(TBB9sF0gjCbh}}<0%5+ZYO%FxcR0<4x1Qq`uWy-)>o4)o4(I{; z5C`%GfJO8J{DYYQcuX7%P|{uijqFF@ZvH;lK2a(%A(D!I9rXpPiJpbG$5@Dkap~kC zao;EtUaFA)jH6R7Q3AB*= z8}yZ>1wWukA!~>}hy&9BO+bui(85ItM zL2cWnzZagfFIcKoMHW@>3+rcTn?17Ug+t$saee5#Gd6Qdx-ayMy-|3c>K259D z_q(Iax2jw3^+_*!d*rWuiHcvoFY0&xMfx>?$>z0T#?Lq4zv1_x#KlJZJkc%TwEl7m_CutO>D%r!k8OZz2~E9D*~%9PX5G+wm~r2)zuyh_VA~ zC0xR+4|_4fgev42=s>sybQ1;%slb)~wZL2M?2yCe4!23}hhmMFL;o0-hkEry08Wbn z3|FlHx$D2FPR+3Npwt81g^+O6V{*686=%2=QN_3sn<3h`Pk3Ja_g%*m{ z=-8-9=#3FT41)g|Q^!7vt)pphI?`sm40nz2SJ-XqKqTTyAV#bRco)4r_zY?FA4Tl& z&4RUhzeA%uTJW22%U$VEfE+dDH7BXpBtDBM09uy@&g?tq@z2j3()6T2hkv22Wo||6NQQRh!RA$ zq8>)M(5s?{Vy4Ah#;%Dyi2E7aL>LxZOZ*V)BsIrXkhdgEBHv9)A)iR@C1<6ANnNRr zNNZDVBvx8B(U&%ZL`g%EHl#wykmPY>QzD5fjQc>_8#9CcMvP=!jCjVR3DcQVdDobW z*)HZ7=1wM_K7f%=oy8bSK10tVZlwLjy`#QCFQ%-9yUE8OL2@+c9eFU|H+fM|LeBOd zB;|QtkdmCm#47s;;(6;eVjs(U!a55ZFES6s9y0zyTMc3Ay6zQHtjmEv)V+tc=@)>F z`fDJlej;Foo)mQG-vkWCzXDUtR|910KLMESVE|@F_``IYuv6hgAj$P3aM}AL&=pQb z-wv(umxo<4*MX0`bHQ^wIj|@<4q4_jVW&A%gh{jBrvZY!{BY-cO_Gdi_PP;70eNQpTOHhyXz0ySoq=pW_NAoza-8vE;Y1@UA z*|g}O&4PVoXW*mlm4vU3Zj#sqBUxQ)(hK)%Vjs_2Jk^(g>G5mPnBX4d*3dEdqmUn( z3P6HHp|YSQ)W@G09OsSk2i!+}>zv^Px}EQOZGPr>r!TjaYQPqk!f75PpJm)Bxu^f! zh0{S>_i7$CzEU5kJE+=S^HVvZO4Iwha-uw*Eep3e`zpCwU zzNjdAH)|To?}{Jcaa^CRyY;(9P&8y612`20?cu5Xxq~CvW_(Us;<%cZ9NhC z4#{1^S81h*C+oEg?WNl!ir3Cpsw*Cv=9kx_r~8*0-vr)RtRa$f8Q`=Z1=NC;g9V67 zVVe*OdVmao^XMf=5hou#M_7jaE>0(mjXg#t$6uyl66zVYL>v1`@=mTM^#;E)11j9p zXRPQ{R=P-=T_L*NZ>rEe03cj2ut*Rb++Wa~%M`rGg$Z^Ik_g5PC=(3K2?-`;!30w> zd4iNQ7QZ;@9G@Q7mj{em!r3IKVa?!@=uIp*RZPc`){zh4OYyU@7&HU537(2Tfb(D= zz$(a0e+8)3eHOUfRt+E+OF{%KKDbsnGT@hA4$P5W_Al>Q;p^LZ$xCco?IAb2+=OPR z^H1|l$D)>UTd?)64b|FZecnd0wzOkyb31AFtnMbqbm<{yh5U_sp<=bSzbeC@qd6Mf zu73!)V;%-NZYP56u5)2xcol3$kO8j;;gQ?m1e6QYf*C^kgxyZB#Hraz!Xy4P(s9u* z$`tWksxR&^{Z*o!c`W6B?Dc7hTv7S}-kfwDKQ?16|4b%;Uy|9uf7chuUzL@^lV<~Y zDcLF9#o0p6*6eup-t0xJhuLW?Ko*#JGxLAU>1hlmGieCJ5VxFBCtkz&R|KZFaGbP7 z^i`BxVgs=Yqr>k+#$dUyBdDX0rSR7vD8v>Ff=a`-_Sx?9fc;KpsLEyurCOE+n~mh4 zQey}WQ=AUnlCBHA=thOMckB;(+VX-!TaN|?wA}S0Tavw&mh)a=Tbk#7huxFd6YK7k zLEVnt98aB+<6Eg77Fee(4xKTK1>QI1fa}fopc;z_{@T`!sC70W*Lh2jn$SYjRmdXr z66EQyW41O-7{gEUMexy1qW{f~7mdp7f8zZp!-fD}g2z@d!M1N+k-51`R;{Ss)( ztU9`&&v^R3>9gtTiL)L|Da${-$||{`!q!amXzAHRTpKqL&HV zD!T;zBGo{CN*&k^kiYnHu%C|u|IModwecY!K7Tkcir+63 z;*|$q@G=AYxt;#aT&eFW58?g6t@dv>RC|zPmlLktmJX+KIyo+6sfu{S+=AOAiGkxUbem7B!f1t zmo99cB{|bJt><*-vhD*CRM*Ge(_LFNlCE0QobKKB4UAC9K^3Z7kiS*SVM5g*xJDI1o>hNDm1>Tl zv$VTW9$hgi-LM@IGOd6Qw9JLPw1I$|?4ts$4yJdb?b3Ew7ikY#o@j-Z8=7fWvg&~~Pchq;AS^73w*e6lno>rnhF+pC!>+i&2@ z$!0_E5PO57(XCRQ^@lWr0D7$*GDH6f9&5af9B;mbGFgvc2HDfG`yKz_oX(eo`>v0q zoJ9ncR%JMDie6q)fzi;(f&AFu&JN zu)~@OuOKf7bAZ3_ir_o^FyBMmG50ZSmqUadYUz*JX%M3$HN%k@Wd`hIuMq5&bAb6W zN$7)oT%fQw-q)#E=$)pl@eEdvbDz=VyLz=+S3li;XPs_`vn6Z^?xVf$nyS6){Hk?0 z_UK01qjgVgv-MYOImRyAPHUsBK5U|n3f#39fiVs#qMz$BHr-Q4l=){;wIL#t3M^n> zgN){WhF#%bLsSY(D7EkbCM@*AT@anamqg+S55i;^m0ss5$sXC`OG-ZCfYgHck*xME@A}Z8SV^SgMLXfB4E^=;GN{(!7NgY z+d(*QkH9@K1u=>G(MXoM32IP$1jFTQz$WSDfJbuEH(#>NT`#%kd?`^o#L{g05a})3 zTN%VQL$=K(l-1b?a#A>N+0QDIkF>s*FSTBmmsub7mRMgaUs_8vJFRL1$adPSv^Rt? zWv4x>+`ED!yh-3Yei#xROu-Su28e}_ximEV33Ci;4`&Ugkv|6~5%CG#kvmCk;-i#X zF;O&D?0x$1_yoq^i3!Y_U08%zeBqecSn6+5ZXW_3Imf=>IyhYCw&6>cD}~ zs|M_fq4hfxvpef?OmXI@nD42DG3=y1;)1xHk-g$|B7=x0W9}1IAs6F+K=ZLqpc#`CkfM%wP9mD@7vKyN7RuAi1Sxw*0G3F$ z1fF-fyw=W1?zJ5l=h$|ZeRZ48n%`b)8PWN`JhuCX87cYOyi0n>GDHTn0%T*X7iCXv zBKZJYZ7 zumtAc$O_&}>@HC*p(ctX>%M^Vn+En)u1=n#3)f6UhdSD{US3-;6)J zyM1@_D{}4$o(~)?OwKJ7mJJ&%k`132xqX;F$~*L@*fInfEgbYq+}*!byeume)tRw6 zik*BV!XKv*O%T@!Vk6SHmj$sbH+MMWIBPX+JADD=A!RyAK|DYd;(_>+m?OBs$b;Cy z;RL=Iuod;f+l_eTm<#*cJOwgM_Zu`qbsNByp9x&(`Rpz3JmSW*FLeBFJ8vJ@R%s)* zZ?HyofGzVnrkd>?-z|d9BbJh`SJnsJg|;Ot_I3C%&JTEq8;f|(U4+cw{y|RTg&Dg77UI0H8ZkcNK4M3Mw2?8qq1b-B99%kpqL6xjYkX_UpAT2Qs*a!0|G#&mqzy@V`FZ*lU zKzDz~eY?eW(|X_1VLoQ=Ymgf6Yfl@}lt!IXeoyO^RA~ZTQnkFDrP|SCQdHEw?*&%O zlnpD=O0MR0byt1&brya7+J5)*+t!j#gqEWp2RExfzH7esc}?@OukPmfACH=cgr9c%^-%PgH#QM!i}QXWga(xgKhU`lslm0Icya=!*FQ_?M*$(%-rma>n`wI@1P* zJ+}=`+o#h%+fB^Hj;~CYvyu70)y8=4zC_2l z+bMbO8sawhKiI+UWW;#a32?6SM(~qknvY;JyQ8fK9cwKl>k-p8(_Z6QebDel_qQQi zE7kweF4eEs#OgxITe?a)L}%*m(&x12>H9Z#>z+4eXz$dW(HyMqQlG0xSG_OAD{mHQ z75$3h#m3r4${Y2URn5PDsGSX?HI)sI zwSyYhYjc}wwfJVErnYT|=2d5e=4H23^Hm1YsFfJ)W?etsK1)9X)iuBb_Mfm&05V%V zWS?U+T;iIGPWBAJE%SB}8Gby;=GT%N1Bb|_fSjxg3MgxWS=8R(Fa{$yiFGn~m~$>D zM0^U;vh0dphMbu6H!yyr%`_~cA?@Z zbx1WKA9)}16*(9=AMqB>M1Y}X@SPA7d@@)MzZ}lr;Q`f%<)ICT(_!b_-Cz=;!yiB< zdbc9SI=3P079)ahsDksfuVHEGInXW2EXYf_0{l{X7c^f&1p<03p?2xa&{(-PG*j6W zGHccXZsH4d{eume;k;YEo-=-k2(fkHPGT#L@m^y(F6EM_k{2pvDFG z*MG_b_k#iypB1>-e*-o((2afY{vdX7;{?e8RqAx^~{gLz0B>rY$l%lfN__(jFC$7(eo&K=+j8UX;vbZ z_L|_Ky(XTa>4?Sj4TO4n5ce-*IeI%|9U_xKfavLSfahrk1MjHYJ;Ny+`)Sf-b0&eQ z@4%L5b?95#e#i>#L_~)69_))&1D&9o4H4`6f#(};fkLJvP@{P+=&3mmG}W98>@wkj z0z)l;qVEmf(C_ni>$mz6^%p!{lJ%PN6eIgb#ld1mAYAsQ}K9{ic;%gGc<$Mwf9u|_{o_hhmpUG+M%p3DPU{ub70WtJ zlDSs5+WgYUwZvIgSxJsdwu#;=x7}&V2MaZhtI@r^ZzaUlZO({g1RJjz|F{-Jq7Goo9eEKeGPIn#^6C zQ^i*d;D~qw|BH+m_#>*We~;LbeLZ?}rZW0M+LP$bDN)hv#9DDuyfCsPS{Bhi@|7rC zv_SYrxLJ5hcvj#P-r+Y19`Ww-(zq?GI_^~ZAkHPSmmN(gWP&lxwB7KZFJL@(QMp!d4nqKLO2SB$XvdT-eJ z$Ol>bNcUNAJr$;o?s>*rU84=-I~VAFcbwG@=-{e9cN|gO>YA_ON%B?86vNfywTYU? zMwxE7jb;$JXr?(njujf3YHtH?aBYXlJkyXu?-5j_ZzgJze?00;U^Dte@CbH!Xbk>) zsEVin93o!_zNaRG*U*PUC$s*7_vfV{siFupFe(DmCH{unE$+o%5RWDxqgLWQkxTKr zMESTcd?WTJy9VLk~GkhkRBAaEJ)0Lo)YtgGq8-^(+*F?+MWn+7i3jgUmkhi;? z`IFzu{UK>S@iXer%%A(3CjV?~+>tk?!IFViLS*WJy3QMaaOU7e&X=l8hkA&vKcFKeFL8reqamUevT4Rp`b z;-r&};NJC?Ow|@UNegyb^O78M~q^}J)*#iJj-eX{upb@-5I1-{0q`(k7AZ#gnDAdWwg@UPKu!`6K`h`mX z?m$sPO;BsV0y^Z+1}yW+Lhn7c&>2skpv=8Dz;Km#m%E^@qs|O_t0T?Iu}O@Ntl65N zxqok(!QIuVyU=o7BWxfjtA6e7U0m5N4VJ@uZj`+4x>*eD%q~joI9qh0V@0v9*O}^*)?SWmfF(JXW!~GrQta=g`W6&PO#L zyN3MU)jg_Zg#_ERUZ#+fmG{->wbjNA#<%u*E5;{uKmdnbWsrT|weVQ~QzRic7WF$c z3sVH(;XD8daWwEh@>bAx>SFK^`ZCB^rXQ-{UPX{aaMZuz*BEWw6I^TJF~Z^GStNeS zadJ`Wa%xIyFAb4;mzI)3rIsclsqB~!lyMOf@(liFl9&Su;~UoDU(zYKH7RPH$sa`*>JevlZ-$eg&N7etz!ToL#)^zB=B#3@s0q+QLmw zI>lkcU1e2>0nD{RGTqO47tWARr()>Y|(dD@c_>0P2*X0IHr>q5j>If~4-mz^$Hf zfiKdz!6^Cr;6ugd&_ES6qzza3|5dvIK}|Qnt33p`t33dqYPv!@G^k*y`bxmB_6Bma zYyC}ngI{f495`k_9X#Pl2x)?mz#rgaU>|ZjY#aU_qL#WHC1GJPcerevkoOxufp5dB zg><|{v;u!U;y6Ahl8^I5CgRE>6L8le4Y<$Z9{h$l9Kn+Kfuu;KQo7U6(k^8VVX*r= zW!}u#o#*})tdXHGVZlhB9Gevw+s1|=r4Vq?WjTvRK)S@eI3&N3>h{cXe3-Q7Jy zqhRMBySq@aj)^TEyFGSycXwiUfQmFj4Gb~e-TBV@VLs1Vd+q&;=Z?!v`^EoDlX0d} zbxatwp0G*c%ex7a#VJI~C^R?1RPGcVH3rG&q&RfREvQUD)-Bl;)<7|U`C0&Gj^sXNve|AXi*=8g&fLlz&d6mRqmN~VX`fgV zX_r{DXyaG_Dw4T?)RplL$ETZ->u3)kI?7wXb&@2q3O^-~iMi`mqk7nj;1xg8Bhd$8GjF58jV1z!bY$>_yqKye-xnHGb2`sOlsTY;}rycz#Q+@vrLB;>0YrFNA)7rO`uC$cS zZ+`mM)3l((set~u+OYU{kGk{4f8_UzI#z%FF|{)KZA-=aub}eoUoMp8eLY(S{edkT zQT(D@_7_%>SMj=1A>UcOuW_7wLrY5CGgVDPRL^SaYdWG#v-n%8Z2j68w)*y-_U@{& z_K5m~bE1}QB|>D#kazQ|?fc z+DwK$nuQjN{oddVNRhr&GP@2D`5B*J^}u^ryN@qC{PI5UWV3<>vyzlx4W zkBJ||`9R5JICMIF52A&$0W(4P4}POmPU@G^mGUHQAnjqAnUR!sjEPCT!CafNn7K8n zn%Q5vo#7T;VBFy^Wo+csF-EZY^cZU}{Rp#|&SnmxwKGo8is|2Jdui3wU(_d*H54xC zBe9iW!u`ZWQ1>v6&x zw|9B_d{2dHiie_3b@S9qTmqHD*-J%oENSm-zuq>-cD=QO^^S6i<*mYJVKlUw@6>-X zFKGanmo_djE1PO9ZLLh(TJ=Q7QNsq8#n#=s&(kHq3c5qjQDtNJ zsa@s@M|Php#`pXn8QL2t#rHBvclZ2Ps_QP0QM!zi+OyY5^E;fEoJ?;KUrx;tZB9}N zrP4qATM_^-U38U;7M|ve6?|d8;{RZ2d6~>J>>7GI;}#7>DW?o1tRY=SpCXjQq__=$ zUg+(iY(%zaHxyuh2%2dA3}6^8#^^e1gr}i|CaDxbuQY3>50+SR5kbNy_YxF749L@ zef|}4T$E2eCB06cl)_>TN>{LFWih!Yy1e8odZvrmeXJ5r&PC~&{yDPo0}!(O0c07g ze>ds5oCy+hpL}s!LX*AG#U#wh?kvd2Y~hbe3-b=7{L4L+G?jB$x`%y00$^2&&a#NY zp3DsX8+r-1hL*zaPnkmhPTEJFOxTR;g5x9JqUV9hh?~)gFuMOLSnEm!0j&jq9OIAJ zV}0*vFYSv6TH^>4G#^7NwU7`|dovi;tqeBm2L%7qmj{e`RbZ%oqQ6Pk)qh)4?4Pfm z>$9jP`$o6xyl&MfA6xy_r_gos8;qxd66=%D5!cGdKz}ecCDsXW98w6XMZJfF@K51D z@=k<?u@3;{>~DnLGz|0#{18lz2WM=5q2n`YuutHIt|zK?!egaQsB% zbnJ7;M09N&hkO;h2w&tG4e{I8gHD;Z16CNO#2#r&qLbD2kzuNP;W?_~p(pA|p$VET zq1lOS#bfQAP=oe(=#@4v)LY{WUeR<4RI7#l%JwGT+O~ThPwO@J#ukrjR7=dcwXLHw zTlLbpS~tcu&a~0J$7b+o-RFG+19$v&(emJJ(2;NfY(V5ILLbdRosXuYRZ%eJdlZPB z6a`?HN3LK;guPfncsX`?ct5TnGKP>B%_D_kE2#GPPDUA^m^~FViF+Pg!#@Lw3x`9G zi~2*ais;aBg2j+O+!>H$<`nQhR5IuwAqL!uT?W{XlEw?+xcC?dHQouhA>KE>HPQ0k zF{X_UkKKq&kIf15qn_a6D8)Z6TfoFmxMLmaXBoD7_o_R)A1GftZ#FEl@2oj% z-BWSaTvB@4w4r31am$}Bh7Z3F=$n5p(mbD$ik{#-srm0$L_ zt**3h>y(m>Ey&-s&EJ0QZQ4?NNzu8;(b&1@ZNrx0aSfE;>GgrX3mZCAylha&4>y)K zE>_rDx;E2QRmx%d#Vsey4_hnjL)(gI>W>w}R7<8}bo)B<5x5{=AOA3EX?;@-Np68d_c5q|ns5DNY82z>)z@ymj5 zvF^}o^yBbV#D_>X=)TA@(7i}6z|jQHWoTFzyBHD07?JJK)sf=J%ScfK8@V377da6g z8TlMq7x4rNBTZgQg7PyzjIr$qUNfx=r0Yid&Z=M@g|glyZwxqU>VDbb@_g(08nR_! z^&|7d8klKB%?o3Je462xyxlOdcDla3)}$fKKOV4zv%s;m$=rb zl0*emQyalASY2VKdApD+g^$odF$ZfD`SBBkO@v&*G~y86a}tx&NNQyLAnbOjv6oJHRpD0-rWb0C9{ZfZwL{_*(P0SWioJBxLo4 zU)n~6mRer~Q!MNJbtao{igCW@gudAITZeWI(sXnTQx(`hwokSXZSQLo1n7Z20NjS@3X)@o zL&oDaLv8pw@UsLZawe$=J%joidz^(O;Q0vB6S0cABFV{+q*_?7GMHRwrkW4$xK{8t z>z-&tmPLG`qgiq;^PY5ZTDc6Af|pH6V#)?fTcyoXwsf#$qNGARTXI@7RkB=oL6R)& zCcYr#ia~-Z(Hg#51mS^%li0ll$@FsGW(tT?fDf_;qVLnSa1gaKh)zn44#N2YVRV`I zE5hx*3!CrS4e9Hw0&RDu0cDQW0GvG-^Vmbtua1?GEspZ=P)9*1#TE;wEwB9JO})JT z8q(b7b>Cc2tA(Atcpn-^2iH^ zDok@M3r@B#^gp)=eWNW(FTs4<{n?b~nrk@W1nH=DyE@s9Y+Gadr^RUf+oG{9ZTrVM zPgQHxYFlk)<2c6@Yd06l`PAL+yW%y6ivvu+^Uy*_MdSgzEY^s81TdpwpfF|%#EoOa z8WITPwZtl9oIC)%pJKvxq94Sg*_Q}y0tKl;Hk{I!hNp`%E15g8EbN*tNUo-PfByGg zS;9lTJ>o8X(30D|PD_vV$dS6cwn`g2H%Sk4>MbQ_y^@^o2otwwCW|78IdfU+Z^4$7 za(<7L;XF=qA-8+da!!A#kS$JRIWO>rCHz|#sdcn6@^{h(;wJ0>oD$w2ZB1BtZ-s|K zC;E1R*sfRc&i2od2iBy}R#Q>nvf+>)r+e!CuHEE$tI@jaH1}OzO_npR@;icUCcC_4 zyzO$+PiuDLH}kEAd=s&Lx8ZKx2mPViX5EL{LAoKeCv?N=*Xi^Mm!VthRufv2C^|I! zXUn%Naa?kYa>+egJ;p$VuRii3urq!jSPhhh{sL>m3qfPTYVhdDN+>Zp8on&H0a+HW zM>~K6a7<7cAqd$^iNiKCRfv7OBdB>o2ih)vgat@?VxLIXVqKE2Sg+&-_Luk+_JF{O zC2`@Haf~164wM8{l*B{m38I8U`7(S5mJhpyUJIR%ypm9Mia^_7RGfU@ES!@4PQ#=S|}xcW2Wo&;QJQy^GCe|8PrDsEhS$3~n=l1~}4T`Odv4oGXIu z=h;OV;ggW}__egM;7jI;@MhMjD2Q2~@K?T$HB(dL-N}IXP-0#}6ZslDk9{6(Me`#j z#PYBo)+4`@It2^CbwMeZ9=Hd*5*Qwz;*Um7`QHbh`ltEc`2M(edmZ+lo?`P1 z_bA z!>qWe8CmYrWR_#qkIHgYnlg-vSZZ!xP+Hmct@L)QrF4CZqBKKURmxJ1Fa4vuQ9*8b zP(yFSG-S4)R7%uC+t+LJwE6lfquMmp7Pp-92yKG{UF{n}Wsa$lsZK%kwNnwF?K%b= z>CQ=HNSu&Ip3gA4_dC4M&qG=QDl9n^CU%TYrB=tQSiHnJYa-+`e=5u__=qSM^+Jsn zH=++o9GESV9oQbCVc1(d1y;kJi{mmr<5tnRxF#9`--qJEuOnZ_KP8PMpoxPBmkDje zJ_IN61`$TQLD)x}fF}@sVGa;7kp1xspvQ5WfJNAqQ9mX(ghTi9Mo|!F1LB4?4o^3Q zq0Po2kT%0#2+=48_cd+d%Lk zYp(=nYyJt0)sXyCHEVt6w8MM|-FWX&{Zns>@wb<5WqJ2GKl^qig!b2wVF49jLI?;> z3Xg!UjMT%8v2CdDaVvHL5REedE%<(*uXrH%I6f0Hp0E#!A|s$?8Wm1v#1Jdl+mTwX z9z9?12Ae8L!_P?y5*=y7DMvD<(To|541WffRh$;)Qu>g; zS=^JqUC7~&?63?2dSe-q2+H62BSa_BNr~Ju{I5-DePR_i>oQ9f#iV zjD&1;JHRho4PcS;0BF7AJ}}3zHlFX8742((8;aW~0lhiwYc(Hm z0ThxC5F{6Zh?EiFuGCqOt@M?!WY&KP{g91L7hcD8k^Cn1NIFK5rH-dHX9$>sJE+*x zv+P`ab`kGjHkbda<50o#Ormf=I#qZowNTic@=7!~`HSdU(rJ-FHc}LkCW|{t4vY6o zj!HmMmZZD%nglA{Bwj1Y5q%Q22`#*Upp>oW_h7ga8sY_ZGI1j_33HV$g5Rdt!MjLH z0gv&&V@~YA=p&RrG8EAk`U*1!XG0l*Lh!~w3D6Rp3>X_c9orL7MV|R0A-|_baK3Y% zztYb4iL6gNlP$koU(M~#l_rH_q0w&NWNfotHK*GcR+o+DJZXF49btbOIO;HjN4UmC z%^nEgvJV2D7s!Bq3rXN}!g54*v?t=GgbKqEE4ZRn+-@7OEgI)V&hCaGalskabQ z8COu%93XZh-%22fO{6nPdDIRmhZ*S9qbzS~1@~hbfgecQDtwjJDh8#U5l2)1l@unw zmL~A(Qn-vK`69zg#>@7IYh+gOBw3NDSz0IBE7>m^F3u4VMLELH!imCkew84fJD5L> zd6Vm+E@S(MvzP_g&$NxGjpRHyiqHc*9?ObvMCv14*vH^W@H@W|*wJ?mS$MiLegzj@-*L-8R{;| ztL++Pv^}e3Li@;8wrWh9Mr}~nX`k!Y>I=-G1cLx-GCC-hH_jEdC9VehL(eJ44&Nnb zY9QC?4UTZdgO@zXL9@4KnBkigo#lTISQ@;OAT!EfOJb@7Z}%ly1DS&-!d#@K$Whd7 z=t1;%7$u_+$7C$SXVb?J5`Zqkc`A=^k+Pl8jr;=tfz%bBPmtj|;*xQ#m^f|-rVYCv zI})S7?!*kkn9vW<`%w3gN0B|?gW#(mFQG?(iGPd6fWw0qV^=-5!l&&^1OJ*9dgtqa zu7j#s_Ghj0EXL+iQ?epof4O0twtw9NHL&(<+dH|YWsSUh^Yj{m;=ih#hCq2q{q|C3 z9q!K=`H^3HY6wLoRcC(ED@ora<>$XtEH^6Mua_&Xz9uMJ>xI8BxBW zEU8jlVXy8`(_fxnkEpw;P&T|)#ue||@XbHl2ejx^Big*`233jff10jFv39kEqI+X| zVVLb4XUg^LwCoN1vOSHqI$U6w`(OA(-+a`(;Bm~6$Xndp_zuDpV1SeZ!I7Urb(F5~ z(d74tZltq_J;c$7rG!;*51|iy4q-3s89@p45(=TIcr|1K?g@Agb`{8s*#-J9K@!YC zEd~BX%mw113jq+|omg3PZ**aBOZbrYWsvIX=0n?_xqh2e_6NE~%Quz91ZpkQFIV2u zikb(jCo3A;bq%(*_jM~;Z_DW|FRIrleN}Ij1FFV1FREPMG_Jf+!7RPd;43*_-}q-% z-IG7rwX6PIm2WE%%Y`MY<;zPNYI%R{b=dMA_5W1eZCqCSzPVH5o7Nf1@v7Nv_q1pY zN?)LVV*F&zH5+Z8tYyyg_Ra3N6XDBpJqyhDj0rV+_0co_V}P&0qZ@#F z{5?n`c`n>X?}_furr<8}3Whsed^9@JUlI@)n@DgBiAC1b4k662|OB;%H-KVyYp zFC&w;hJodj)Abx6y_5r^ALq=bPv%UcBiZ|DrOam9PWo3`N9tqhDsnkx0`U&%Defsj zjarY3K=)#)fLkbMWGCW6Fat*SvB95RF5q+fx46~{jtw+tM^2eWh5^P{@T{>haN4-q zuQ%NHuhg&fd9_~O0L=mKV)X>iV%7iLYujS3v#l$fwMv~cT?up?SB`X$S}N?H+Bx=* z>d%fW-Sz|#>$vN@Rpc4(O!JNQ&I+sxjt@0Ps-olK@8kDD*}#{OG2o4`0Z;;>H|#tr zA0EY2BH8#^CssrWT{Z4!+7JY_Y5o|eTrpI*v|W-j3i zJ17OM9e0R&cf^RLnUBRcG9cpDX+OpJX#`P8>UUu%b%qd;a!Qb$Jd?jg*2V`(SMVN7 zI`Wo_Q+VBlHXcMEc0x&-*@To7+^EQk-X?~Lheg|Va7ni$m58trawilmr) zA)9GTaDxfrx0;Z?e@&CTGE=dKW$x$BG%H=FEPB^@Td{kE^Qjl=?d6jP8Un|{fl$ZT zuLutKB$f)50LCC1fCfx|kP@c=uS!t3k)#4hDTGc5P%=~ zYeDnDU9K~(1a87^_G4Y6&n17j@pz8mHl-od8p94N^^@BAwwJ0B+E^F9if z^W=guzC-}zFX#Q_U*;GSEoe*mN9nux|4?@FG{l!&1D?(qf?364BiGVTCOD5xAU_EV zn1&a|3NQmAHstwm4|sZz1*Q9bfCqTK06)6B0~Wf{;(eT`7}ZIIX7{n+%i9 z`;0fNXUti4y~X0{WV_($YEN7^9Y6iOo#}yf&MCp~&JE#C&i9eGuGCmZS8aTk`w5`R z^9eN2#|MY~UZ_1Z8v%@RQJ8o*(Sv#i`y499v)~&DDagkJH~Ktr7bZ?D!Tuti#K8z} zu;xUD={DAl9fN7b*fBjYSI{pp|DZIOA;_1QL5NA13GfWeKd_~k6;M597Bn4$2bZ8{ z01u+lVh<7f!y90S1M?sQy^DZ_u4S<{`_OQ;1swQlX!ZWo$y{o++aXZ(x2|n#Hlth5 z8euI%^%I&s+KQ$dnsmiV)t1H)ZExyht<<{l%Bk|MO^d4{jr@ve-TU$b^8B*P)vL>( zl|M^gR17J7P!=oeP=+a=UV6JSy;M~_x9p?*Lj|VJTKTx4t$MZMoV;^$TCG|6wf;ow zh{lYz2E`NAxTYrc-{yDPJmnmHMhn$Ayj5(jYTIUerAl%tHB2u>_isREoF0lL5~0@| znEZeaJCX zN613dcgSRPCS)CY6r>gvgf2&MVKhWB>>(@;^Fku9YLFH-0Pqz$GqwPN30Hu62kh|| zzFv{b?)KmyR{{v?nC8y5{pVO>nP|Odw40*(2ZoQ@%lb@prB2cw(vE7wYWgd!s%TSl z`^Cogwt)?OS~PWX<;dD+O^Xuq;yyJy>SEO^R!LP@%`nYu9Y+t*A2X^9?=0Vq<@VWT zmh*$D!>2}5qW*YMY)4)2!>dWS`HnKM-*whuQIu4Xg;t1Gz95VYGJIv|B)^i%z#oSfw zJzO=bhU;a%;T~cTIfXO^dm~xL)Dq9q%kctgI%Xj$1vwUvgCQ_d&>!SH008zP`U?UJ z$AD);!{X-x^J6UE_(+XsTzI$ZPDtP!82D;8`8U|oeLc)E&mZGScanawbCLF){jO%2 zwMjkJ+@ca0E84poaBby!bo)r1M|DlVL$lwoNO!`x&#=QRG4-*ov>+V4Y;-rxvCg~S zW$>T(;)CaXKf_-G!=lCzEB+|57a))C0X_x&0DXk|Ai2m6uo;*u3A+4r)I-W(ES-TR zB(YbL^}Lbvkl;4ELbQ{Qm0*MyrL)D)WcQ^@l9V!gvMQODaxwW^DlhqU>eXau+GtrU zJy}LhcSz4?ES7G{C`kNB(){%C(gkVVq{mVoOIwnjN%hhR()pshl5YGW(Iw6^!3E|v zo|HC)%^|O*KPMO{-Efx(I?PDyd1Nt)3unL%K-PihfGEI3;yC^wx;a)D`WF4>e-J73 z+z7vNQ9=rbIHJpM*Hc3e#|`}}+kJhV#b}sdK5qDCYB5qxg~rXM zsHunfzIlN~X^Gmt*(#j<9A)mXtI>DU;|sX_DPd&rTErJAh<%Gc1&jn!fZJdzK=YCN z!7|K#2p)eFI*RlG7NHuEQicotnEfuHlZ_+(60}go;uVYo(lGl^VqYsxJujS|{-1bB zrcBb%VW;$d$6Hc!)-h>Ib`R;^?30ps_F+l)?4IKJSsz5Nvob_WI-V6R@1Pf*&-92M zWjqkwOpA!trvyZUlH`f*>g$5IcqRX;AjmD`LD`d8s~JaVd#J}qpGf2J^Am2af~x+41_9o9zCWm)O^?v~$%QY+K6#Tv0d?W3(boml%ox6HZ5yV(N{ zfP8yGI|4T&iqNQ-BK!leKDq(;DEr&x@eaWSQw@G<|GU)?>R(xDw5Yz}Nx!VPEm@WJz zv>a|BnaUnP7|K|QEut<$4XhajPKw)l?B`GkglJ(S7shYihj!HP5wK1#@uP%dB5j-OTG%pN%tB8vQrb zYuzVRv2MQlKivb3O}|IC#Ng8}HkIkCEM*3f?U}*nm}k1<{9|#sH1?(L*76cs)J? z#l)-8RfJ<0H!&A`oFv8GC&{q`$sI69$aM5e(kYaN*oI0cc0?X0+(c#*D98+aCh|14 z7{y1Ipw1xoqaMTiqIN(#qPl?xAin^|AQIa>d|E^V1qYfyFz?}5h3i~+w<9xU3Ko}?b>R^T+NRLu=-1_QguO&ZO^EF-#Wc& zn=-pHL(y9Ptl>ym-@4(YW96Mn1=W2@zf|5YE2;Re+*9tYaF+WkeHB})J6CS6@mDp} zNoqDX%&zUF$f$=mO>TJK%u#e#!kXr^TyO5$W@`SezMveaOH!5?mbXkXooj_ysjVId zvweyCvUpC#imke4L91A`cE==$qb0Pa<`yt2TCm=5X zlc6bqGcXdMH@sW?6k=&yfE*haA^*m=B9#CbQVzI{`~f_QJO?UAe1W9G{LmaoPv{q* z4EioM4LUT!f~*Pk1Y-kv3C7NlXxu{#{cwT&#~jl=m+ak~8rxR;3Tv@-faRWfm8sZ- zF$_0&6CKp)>e2dR?MwB{*8954%9~n!QxDCj28Ehdk888l^=mm>H@rEm?pLF+zFWP# zeq*h*KGAvCkX6&UF{8RcvAH1r6I;H)#{;7MCp~<(|v@r;?91Y9txae?aG=9Rn8fXiyfDoe< z&}L9~_)yqr#1^C$`3KX69)X{W6%nW5p`?1kH*y&XPZ>wXQBIJfl&@4a6+v4@Jx{+& zo5h$zU(J}!cuarJ;?cgcFHlunFm(!#Pcib!D8u+LvW)kRxRI;HpW)_5p5#^@($s#cXp}1&I_)y?MKBnQ4vfkg?u2!}!d$!z8xP zH4k)nt!UR1d$zmHIma{2J;*c5Blqm}rFy6NH~X}K(tsia4*d+ZMizxP#sFboJP;`c zJ&#dg^tcE48Z;P7g!u542nvaUzD7afw^FU-&Gd)#3Cv8EjWvYFVMPU>*xN*RIVf=* zM=jaJOOiD53#CZmQmIS~m*ORxq$ue}X?Izxv@WSmR+)SwNu3-?wk6+7ktZ!ry)EsX zHdu5%Z52O~YUV~#j&PPIZDLs@N`_xpN4w5jK{?L)LLN?YkUZqEq-Fx1G$28tdWvem zjYAZp-@ysU5zs$yE<_0_hX6oGkTdoTxGLN!ema1OF7-YOgFRCMW8J5`xh}VBpo?vv z?Hpujb7)N(=Tu|9YpG$Y`#(b;cfjz`z0YWIT{Pc!Dy;9EO?Id2o=f6x^oTr4Z-w`` zU*sDc=;VJK_-jZq4hVCi!_Y3sj^M}85>QXjEWqdZx_GZ> zO7vt{6h0F$2YdNu`Bu80x(_->IG)&d*r>K8=5N;D#+TMyeb7>&duHjaqnK-S-OWKg z-}2RP!m2Wjvl%TT?76mC_T`TI_MI+^Bg+eO9`qHu$NRlrLO|s^5xn5{hyDpZ4|j}o zh|Gu|h*p6Q$BW=QK_rwJQit7xAmCr16(k@5NqIz>Ltn*M!Flq zxhb8_jmi4*FUmFxJIQ*APA0gSRnk#XUV=GuSW=u!krbvZlhmd5mZqm>O3P9NvUN!V zWid%4NhrE6D;DHSO+0~QHT#fg5aS$wDz$*ECY@sRB+Q~*#$$;nTnFqdY!31P`WY+- zxe&Y^b{}{WYzFXvQ)9KUhUoHeECLB^2;KDz2==tA{QE61?^5F+SC#&p-K)#DG-yS} z-|B}tqw1h$t7?ksp1MnWAI-|Pk=kCZ#ad>goTk#fv$;kBF1yrHOV>LvD>!E-pP_;J!TqesxrLPll9Zo0v)BbN~2P4 zP+x1hp%ONpZW~>vY7y1EZTeaHxp8{=xjJRparuz4F;x%Baw<|w^<}cssej*;5=tVa zCrX@U*1snzE|k8j43-b7x>?ayRaJGRnqM=w23R{$ezRUycfR3T!@|aMjYW!q3Y)^; zyrN0h(yWB4(pp41QR_4lysgZ7UsdL4(2jL$4E=m<=5s-dy=$bwO^fIG>VQ2$5>WSu z9CSSv0JQ*KgO`E`kOLq&)D8;5r-B|MHh`ug*Md5r_JIbX9iV@(XF&Jy9Iyl*g&^>s zpjo)puw2Xrct6xy_-Dio_z&1?_+UsTEE(_%vMOQ+bq;QhAM-OJcf2jZ)!yztzGuCw z&Yfm&a?Y~m*%z9pS??Ij6RPno({ufw#1j)}t8|N1MD1Z^NHa?@P8F=*(LS#BWa|Ps zUzt^1r+8EKwV`8G_uA^JBQ*&~NcAB3=Bh4rDV2rwGb?KwBvtnt?$x9<_OI=tVAY># z!YR;Ay5@P!|FrCAKG>Gu{9A=o-c~PYy{*Yp$u$w(C+$+x$Hb|2n4aR?V7TOYVcHc~ zVJVB8wx0)FbJM`}{@&2$aAGwD&=3R&4Ve#rkM4>lVnR4NE}yUlKRxk2bs!mtbI23P ziQXvcF7j)7D_Oz(Nnx?HlzZ%X)Q9X7bUeE#(Y;xPEzl}D4 z;^9G{{=p8wW&SmQW!~%YPVP<73l4Aiq3vpLljVnBWd7-SV_x7IWL{xcnl~r1pc^ef z^8r(>Ibs@W1)GN0)|+bW5wpojw$686wP!hvPM)j4O?B_`w0PpaMZWp|9sY@dmHuEb zCr}+q4;>BTqhrH=0B<6jAj#21@U#R0tQ0s3GZ{j|qu>Oh55=dHVdv6^6T(aivO72LZmFpH|@%D&j@(V=y0=Z~~=&I7yx|FpXc=95~XW0$vN=c$WP*_bw@gjt=?Du#x zBL_c?qQDI#TChO;J`5Cl34I#vMo&ZSL!C!1L;OJOhQ5ct2k~Krv1`z&;osmB!JWYM z{{3;9cU$Cw`*<+m!uy9g*Ls#Z-OeM4sfEh(-eUI#%&opp<|2PjORE35r71AS`X)%U zses7$LL?xh(t+ z3yNMLOatVQ@!*3L8@wA$h%(SjxMTF=q!dOT^;5$24`89#M_JFfIqWQ6SN0oTJLgJb zme-N55=<2^M2`eq$z?%*X}#c+?3D0nQj*A#R4 zB(0$kNk8c$$O2}FtmC9pk=$llPd=XBnXjS;1S=UTfr2$oDB#Q$=J6U5xk6#0k@TB{ zFTN&yE_NkhCG2Ezf_5Jjm!y=6j-^f!Tokz)rw8*Q z%Y5A6JU7rsaddIrv*GQ7EiWxe7M8KIg{nJf8L8=O`A@aia<=`VWq13+1ZAekGEBA1 zY*vpj6E%6p8`|r7txl&KV?b#)85*@ajjMGzMwPy+sYim)yvmqsdXiu^u&f^~SSQoE z+w;hN$p6b}2r)db!_NZ1NL~1S)E2)Mhk?5TNU%wO21E>)jh+J>j@=AgiYJ4Rcq@21 zfeIahSHqX%zatCqZD<^!D`qa?Ire6vZ%{?*gO89`5w=pk5d>5tu9kKg6QR|iVYKzg z&eY@ZRTMb%0I?aIizfjo=<+xoA&6du42cv0CPv0a&V}CxQ$x>veFIUq+$VRcJck{* zu1z+-W0iHEO=kXO<`}Q&r|HwxV>M@6FSdu9@3m$tb~UpaN*eCg_pjyGeymc+S5)w8 zE|qF)7X1~}y!-P>p7q-&U-P?FKH*Q|K3KA==HcJ3HTTQVHR|$Za(qQgjk~IA&GqVu zHOp$UYKm%fa)tbQ-Obu14b62cnXMiDRv;s2ulgJ_WsP%FF@I1f5D z9sx~@O^fp*+rr_HItUNOd^3X8?(adrb7=6Rof&v$-ROH~ndZqf=Q|gel57tW6Far; zkU_7xrai2B-5zVZ(sHFGwW+S@pT=mz=>~rtui=p#)9|}`USroPWTU21tSG9GH$AQF z-@LwROmlg4P4iRv4KX0x=lTA9*jZh6|SZU?Da zG<`HE16TXg($#==a7|_IE7n$Dkux`V!#g9=Kj@ELj1>dkf_s4W!hzs8iV8^};-E+I zn_wM@4e*8J%gA+Vlhy+-u0sf67O626#X#BU~s@R|6FXiS-_F?e-1zEb*g#NBptC^WcauJPe7xi1GlY_&=z0{3|LO;?Fi>UwGW?2228-H*+OJP*v7 zUb%T;;`|s&&a`?TYNHgKdRVkKYN=7OGqd&M1q1JMo9!(n#lO5lax z<=f^h@F-n=55=+7gR>3u?6ExdvdvB2XXa17o)(Djvt_%VXQlZ6XI1+Vwy^JtW3W%= z-0iJ(ZT3EMGrXVOYrXM=zjTAAz(3cU6Zq@P3Vrntj7kEh;@?BVLE9o*phM!l5LD1m z)K};cEEQ3QGhifyZunKi9;CM<81*OV9%C9A!5T*9uqz%}K1Oes?j)b9N{)gU=x`6T^kths&En+>i z7RHCr!BkLY{9D`|SsI-a93I-_+veZo)_Hb1Upa3&z_vy^#*$)dF@CfU(!aI`bUBWP z+R@IT8kO_2rp1NV_Hog*Rn9NEV-CAM&;G&C+cw(BwI~uuk^80*Cc9~wNoiVXUTZpH zxoN7mbuN4e5fLaCsWW;f zc{X}8Wjg8&MUNapX@hsBbc588!Jrw$p@1AbEw&T0G0H?94S#{{39SGx3(f}Q2Wq4H z0-8`Tm>H-J4)k*aAG~+`yFER;e_b!!pPdlrdV3d}&)V6-Ff|!GiBF}S&?e4%oES%S?_7Hq+mk5d+wS2ss0RyVUN ziB00lCyK6BeH#~7eQ5Yq-KAl2^@Rpe4ZC4h&AG<^$^WOY)ut)C)$MGpY*??#Q&=@6 z$`AVVw%5iR>Iw^5PquY1ZLv36+npdM(^={PyXN>Vx&8$7Zds_vy+1O<(<3_DJ192a z_bi?lm<%Wgr2$VzdV#8A7a_xeVyGK@7+wUOiChC)i}Ju~F&VJm*ex2Bo z4g-VHCcqUGD>eqfj;w+D!e_zP!c&0I@ISG+(3)HOs`a^i zblZ}eq;^X6;Pw?&!S*xN+3jDdf2mM4D^((SYWwTj)V6bV|F)9q%ao5ATAHW&sghgm8ovr^7_2EWKQ#btQS%08#7^_^*CG;c=QDdIno|xc{>bcOA3=61(UR~= zq3yAx=oEkrAO&9nr@*pdyAW4V(@-~XSr|0&Ge%B%f*njx$9`ch#%*Hn!*AydD3NpCxs;{NIfWCo2HcXO4m!?W$csu%6KHf zW^@y6N$)8bm-?FrPmXgs$#g8IWHpN?{LCE7vodlyL+G=Za#|IAFRhU}f(+=Zsi59$pBnm18KMno~a}YWLc^Om=TMNhlgQKJ32Sc4BtNmR9go73kdU(1-6^giRgY*WT8DKCAf_)O}1VR5pRe^B;|nfml@xge`(8^w-TL!e$ozlgz$xC!NaKzEQ?ZshLcke)r2*$8<e%ZdIIG-l_Y5D{ zn-NI!PYUf08lwXvD!@!Y7w~TI71%g93vmFo6_twpiJnYQV0w`+Vq!Ehww%!$_l%W- zKf^W7ba2jL^+HU@qCs~@|@d4mc(mGIw6oI7YoOvoD|JWC5Z8< zqeQ;ciNat?P=HK9aL*+jXA7h+nMmN}ML=J0Dt? zIPU%*LuVD-#Ab414k0`wE!Jv2+ zY?CxV+!7mmo%A{Pj_kBRA-^xQD~d%gl%WPy=42>ly5Gm`)btakJt9EoKn4}tV>1RpW$UCMITD97Mv?xp3f>1|NdDn z&Lzr?xhpEh=T4~DkbAje_3y3~dw$ndY{{Ec(LL{C`Nq6IWqtA+{Wa%5`BPFb_Rq3H z(I0DJ^=BNFE=BnMH~F6d74HW9iVI#hPbs0l| zBjJhk*@*Y>CUyzGi!Tko!v76MOpgI=nDO-qM|)<3hPc)Q`$lU1ZMNy2mlm$Gk8!az zr?$@YSHHpVv#MX+){3;+%VqqU^1pF4u_br(_lw`@UBz8$up)ci>Y@jRpGB9A(;|{d zadAIG!{Wlagp%pClS=TKoIg)%#{b=}HVJ`zm_s?^V93ol?Ed$gA06 ziK_cxSDS`8Z(DnM#E#RxZJzo;x&L=~O1LK$Aa>(t=A#@ zTI>y(FLtApj?qhc=z^kY+Mj~z=s5y~<|W^&`YBK-z6%m%ApuLem~WM&33`f*!c5^p zQ5Sx3BDy- zA8YJXVxR3MypLUr&$2zmhuebLVhw z2zqb}Mb*4oX;c1Td3XLDWmEnidd{O*KdZBuf zvR(5gjiZ&O4~5^(=LZ$LvoL%XNsZf<^zp1@Z9?cd_GtElXTy;n>N4-VXUR__pSA7z?m8bbR@^ReR z5;6KzFb}HWrht6(GCdQ1MYtgp+XZ$DWijXcK6;(kO(%GI(mP#7X0o#!=;4$ARgU9; z(=i+v>*&M`babb+j**nyv72n_Fca;ZYp^<3({LZRFi5$H;0Z53k`~_!i}JrGbiw14 zF#L)BLW~8j&}pn+AQu?{8Q6c(dt4LuOr+C(ls`gzgr6iE#uqAH^0%vA3pQ%D3D-xr z5@l*#q8%~!#JadClCAN6nKyB+3P>u9f>I`F$EJyO`t;v1?#$7#HT5>ed9&i<3$tb> zaI>aGl%{F1OY3dYjmn%Iy*oW8YC>wB=6}gYG}^?@>VU+v#nnv=z8jciJks?~zMVKm2=C_n`IDbS{h+nXg^_qK{S%(fKCq>q2I?z3MmLBcr zQT;qd^0zyMJmtJej&jT(SrOXG4cmEQr)>;z*Vcz9wWShgt-tZD)@9*~){((^*5&>~ z)-%4v)@xpm^|SYdZI*YD{j;~V^MZGY`+{$ucVpm=|KIScP(0BeZ$e$AW-!x$p+GJx zz?zBdfU`J#kUD-eY8Ad@v&1%Zp0pY%k-tU^%7^Gr^*PSKsAXJQ+m?SOMk4GI>kwzg zKa=iH?4THwbXpygTpG19RjG|mOVJjl{nfhD<=XRUW!gq*y`s;jPKkP-lA>9YbW-&- z!KhTkC&&w8XUMzjcFPw;ZP|No>}|ROc~Uc zuyKzq!5n8FV<8*{dzR~?^PZRM8SbCtBZ8}fCqhB2WB5Md4S%OkhHrwx@c*D5VGQYk zO=P#jj&YUPF`fncPw)>uLBt{$@nm|k=lp8fUU&&%BQC5GQXN#{IeNnHN%k_Ux*{-ze^mUaHys^VMOtLh<@lWI=u z`_%2OTVkAVx*MV2y|IpPthQ0EItS!!;%M$)YsZ4`>{vL@aRYzjN+OTC4fJX6HlWT| z0u2o`L9T}~*zYhacRkgOF9v1_ma-lQ-$D_)B-~Cs2Ocaw2d@;5fj5W>V1Wo?l?Y`Z z!Y^ZZyk*oJ&O34{>LI)cpZEo(6FFde;vLhTcteQ^EB=XW5*|;^3*clo-!WpOrxA9| z`8+h%-oamFdFbt7YT$ZR_pd{vr>x_vmYSYb)HBQ|>sSQ2e^)Ptk#AeRf9TIw&8+QNlVn&}muJp2t+5TY_H~YT>~w$dwD3;!`+R%Dqy4vt zHbDWEA6f`(32%xdt0bW5*apsO9Exbs)AF2Qx4z(tNEtf7qxXWQiAht|>9JWDOU%yN?$Zh1!Rv*-!6 zRe(oXlQG1a8qTyf3mvsi2&t`qf{Sfu0vGKM{0;}>|LR&9*yCvsO7jiCdI#*pvT%@E zLTZ>Hj0_wPeuwVB>roZEA19jEkvmby;{Fkjip)DZ@EXb}-fKlAf40glU`25RYqWq6 z)R~1uY>9Yxe7W?0iTR4uk|Dqy|4CjhEg{nc^^VUZs}78sY*-VE2LZp=SUukjGH| z7C;lP2^i}61q^WK0bN{nV5qANaK!l@`0U&bY;i7O&N`RV(avq;eCG$;>FR(v+%jyc zrz6(Jdl8%JPsY9kuHXkl&4}+|FLe;dm{MvGs|}L}uV760&`E`D1}tsptPt>-o;8mxA}&`JzEFs3a}+XvE~uM7}+tO36+-r;6x{BFPnJ zqKUNIy2A7wG36PpVug`)`Y#iT5oF}){>eztTGP|CZPK9V_9-P%>g4rmd!kv*N&r-Q zV_m8Px?Ght`h&WsMz5Zuj#4*Oj#B-Q&r=PTc2fQk6(|LQQSt}eO6hs_La`LC5sYVb zli5Buiv3JysYKc0>qDE9H{7@v@<@JZX+@m~>C{GU*Y`L8(>sK{hMG%`nJ<@(js! znNtMG;`nVPxtxeo54kU#3$gigf#KXJ>MS}G{|n6wcLL4^s_41CZ=}srN=jS-;-G^e zn%L{%1=a)jOiK@3ZEla{n_6Hejh!%!VSHFy_cFM#Zn}SCU5a-@9po;mb-1q9)px$A z`{8gKo;#WvKihwrzB>@J)5)=paXqr9d$OHveQP30M1yx~5b=)U+MqAw~}b!uxJZo7X+AF{Bg`l z?geHQ`vfx`S;&lrnlKYVEz_DNX)F1b?us|0hK3dp9{)L9;VBR0xsn1S?5(|ZmQ43X zW301fL}?nR#x1_eQuDO(@22^spNz~Ohq0(+k?~q_f8&s%F^1oTQw&`T7T3MZKU~*6 z&tLm8Z*2{c*GRAbZLgm8yRI@fk5e%vZ&UfE{C4HN3Wk@TF3hiJR(z`>;yJ9mSejGy zy8MfNS*5==TR+p_tZQy6Ht8%)EFZ0cNVoQ#Q)ZjwR@g$`hW2s(t@eY#3i}&O8_@)J zci5?Mt}N!b`!87H&4CsEA~Ydr;y_`7`+|t$cc8io)-mlPskI-4cffyz1>hZ_8B7-z z1H**dnfZcZ`ZV7_S$R0sg_l5H=k_KWa^guo`Y$;Eeo5L`#ne@xj&4Vr>1^^A{RZz& zXNTU=ia7m6q#;q@`XW2pKnlF)?O%-G> z(*!cc6id7?fw;j)V@FJAh&1&G?l-*)oHFkVw6z=w47P>>=k0fcs53Ws!jl*};X95s z45ko6!e;6cQNui@E#MgNH|spS0m_N!d&1n`C^yo<)r&W=`^Zw+TNH=bFIBaizEOj? z9kt(in_`FaZ4pQQ=tNpno{}udPK%bkP5-D&&g80BXS$+>*1H(JCaaMa$~vUgWF6N6 zS*@b)*4q(8MD|8;i{&CS*q31dN#P^x71dLS2u#kR)Hv&eG>sT4I7e>J&$ZL22JC3d8$hjEj zuHZG7FP_dFEiL4}P;`v+5?=61qx$oAYI6lsVx_{>@gh+;A+q_C9?9cVRw+BBX;eh| z0!_D!wNb+}M@EtzxZ1t-j_a1ytI@rySE?IPZ@qSDW<~U}3?}MhdN8U-+8GUz%GMl7 zPS+$RHc{V=ucsaz8>4Qob*ei@9aB$I$ErswZmGqx0jk;JfO45|y`mqlQ0C_dr8AJu z;zO*H!p#7OKZDxGokK|3_roXAcEK!|@YO;2o=>dzE*JR1IT&!;L%?WT4iIfEWDM41 z=CtJrZLn;m^p+9iMN55Rg(VtaZ0U!cx736K*4N>ww$EYEUKx7kY!mw6qQgnvwix99 zj86%TB0;Q*x<-y*q_h#}1a1Y#!)dH#=qqS9w*x$s{{((2;=`{bo#8vOL9kgd580x+ zg3gU%vBzlpa_YxS;fmv0@jAp;@*RoeMWUqhlCe33FvIVSmvVs=u#e0btJ*}#M)(sOZcY1i1{QjYG3#2kG}@yee%p z%AD(|4Etm9y^TxGvm7GD<~U-vF(3bBIDiG~Hew027s9=2lR~3wOhK^5>mOUI^d6|4 z;EAd&bEntccD*wEcAYmVUAN5BUA2~b?m4!$o*s@E?-th>pVRX^Fvo`l&jl5s`Qen% zeSA`cn(;eym+2fT0uP5M=vu^acp~(Wy)m?gJ1O*(pA^0*c!R4%4T;m@?PQtc3H3&r zL+_OxWA;RH91G;%SZRtbP_p7*Xp7=G)KPJmbzad9^vbV-OJoj^EA<1HC7%GEcq}tg z_>8{5chJdP6Xj;-QcfhB@ND< zzc0`7#j7@TaWAU->NM6YaIC3rW6!D-SS{tC;9ap zHkJOTFD!pw^S&}zdq>}`uB7&|v5ApodSf1KQCpu_5r@RO+%?*I(=*5F^Nq4?3iPyR zg+|y*u+@%%#1_XpYPxe8)5f(1Z0Hd|SzbQ^`>p80;Bofe5XM=E3An>>Ee|9b^X8GQ zd27f5-bC^juOX@B8i{o71iTk#KbFfrgNJ%y+Ee~svUC2-w9zHY?fl~3c6sq2TW*oV7FG10rMBpXc|&oM zX+#NZeEO%6@zmc{#&@OPjn(B1jp2&drVdpLO@zLerEhI#o6a!89yA?v-n0C18SFjX zCC&=ZZqIG+VEy@Q8MRP! zmf=Ziff|{KMJP@ojg%BST0M+2MzfYgmXU(C~tUhwDtrcatGQPh zKIby|oWsX2u}_9?u)$y{+Sl(!j`@^GbI$}M))hdM&RqDJ<0JIb{*ATRE(WZ&7tAqR z9evc^mh#$*f-HB7kzREwu{!i4DeO;2nk;(tz(5i;Kk(#Ug-_b9G>AIt$L9vU(Q{q=i z-Xw07txg`RSea6%>XeqKo|QgC?af%MQDpAY^s2W~b2BR{s&Ur1s3TcvQ5WkSjT(~q zPV*z z9u(D+b>UBw9N;VxXCj-0Ce|-O9+1huL~Z6x#y@e4;aK+gzzxLfn}~p(EO?y@hQ$sY z)YG;LG+W02gDq2O(!85)V){dUG4-eVm|$|Iv6Sd(til_b)Y!kKqu56CD6GKJ8}DRY zg&(om@E4AsxZTYrCV5wr{R1d2P}s6Id!pd+vik^>&(G5DO*ll7UG54{r3 zgy)EH_^WI)lAuJ9_v$t1uc*(QrrIj*-Iz~&H13o@p0GrSB()L=lYfX8L~M54R9v<@ z?Yew#dZPSS`egZ@^qKOw^h8;8+GUwFHD6{;`60WSd_c-1b&;ke6iC*@r%NKhbjdL7 zeaV3+rDTh0v4kuCCC-paMGZv_goF6a1s6CY`3B@T?=Q>A?F(eEM^K}Ye)tY(Z^*{# z9GDOG^~r!G?mNsJ=LEV(gb0;k<&a~{BEoF!O5CoyOpK`=fnTW^hpo^*3R(5NgERGT zAgj8`5e&VcABSdwqeA_l!q5gZHZ0)u50~@$U{?hxcwb>5{!Kid zSSWcz9+vv)csa^ERj`52N*Git=}78%3GiOM5~x-G0K2MxgY(rpz)Y13Sfh$&ZYa47 zNB)D(k@cp(O6JjiQ3E=}e?-6G)~8#dDDXVMSeAy?22!bxTkiP$QvENBcj@b?Q& z^_-8)UFv+7?HS&umi3;G#?S5pbz+xVKgIFC%2NBk<(q7HX*1jV2swF65oQe+jP8oB58;s+APc#C*8ylwm9$Yu|_vza7--epBybS%LybJou{1G(+3zpX0 zEX=FZ|Bhq@Tk2czH2vb-}-wXe4%yV9&ZJa24s z{N3#Bg6Hg)!{zo$LgSc4O>r(@Zn!*Pj%Oou-CKf;@qJ;#{{5W)0`qwtf~Was!WzLB z?1=C>{#Z1a=qb8Lj22xZ`iN!_GlT)6K-iz`DOg0#=l3I{c_Lyd=NA5l-4efmtiZoP zbBG3DIeCpj% zx7PEmrn{$Ibv^fi$^owI@&nGhrB0{#Z###zbT<$C)6;bJ?^08%QimzK{H*y+c+MgH5v9tb#okJ zj8-SdvdyKjC%RWTKY6M=C%k(9A>Z&&wr>G`+?P!)^0x;X1{Saifr#FRE+;g>sfaEx*DyNWbx`#C3uc5l^sO&`+?4_l$4k zw&fYw*SW8da?VreFGmEHvi}D_?2&YT^b5HVsmA-jUqfZkufSHQr*A5x^W1?%ZXN5X z^Ev2pOahGd{*2MKi|JrXrYj>j$P+d-t+aKdI@uPJEp6Y3k@ohu(VmMFj>W_{r&f|vvhqd{OLkO%w^Is{HbTe1#tZbBdVT==AL z2&|9v&I##Xq>H=`l_{UGd#Gn{?ngD}`n2tNftacMdy%_vbo>ipgM?yH*Car^DS4D6 zJLR^tZ|W)O`Bby?S8AoKed<@4E44&^JN28QUg~s3vy^NFn0!J0DCwO1a^hO~!-Ph1 zPuvNGG{&ZYbz1rD=+^QCO+8t*N+uhwNR|zh&60JK+?5uH9!kClW{C&$6vA@0NAL+% z3S_X7zXdGdy2D-3?zKv*wSBnnt#3QraYvCns0d&pv z1Jb#2Sod6RmeAb*6uB2Mzuh0``<`ZWH_tD6yLTls*w+(?^Y;d>1Resx&;oECHk37l zXa!|cad3!fkLbZ{G!srk2=ol{oMT2x_-W`|;U;#!NLGE4YzXJ6Vl}t1YCN|>lf{Rk z0)qdvk3&W0^;JU?mZ}EFeN_#K)u|TiCaP{m?!nKRDXLYfQOe_r ziHZ)gHL^U(4(V;tItdX;23f{S5Wivn5nVx!2zx=X0wHjS-!PJd_=0H9n-TuSEe&4b zVE$X|H{M_9T6X{$;pzb|cQ~QPc8XPM9}B*+nSoKZH4I{FK=Z9Mb-@Nv2W%PCe%lgi zknJPsw09;S+AGK!$4}}XmzYj-U!?bVC(+ye?dc`KA@u98k@+7f2T0}!E1Fft+J;O4 zDYgQzb9yp=xD%OaynD=dK|8=L60z1uG9XH}4(XvVqchdX?DbKJoJY}CZa{aQFNd66@IB$7uvOw|;m@RnqUA}1n3J3+9+Olf?w2%QtWEqPDoiknzQi9DeUJ5s zzQiPmc4{NFWz<38F7**%hH{7?Ad3VTN}dZ2h;HyP!5LnFH;$XlHgcLGGf@I!p((&K zWIsI~E+alc_rn2JQjibq@-=1VyARMNXFd9rokNeeDyXgIc4TAYEc{(v0k))eUwBqc zUT9U#?BMd6#6VAdgcYbi<#p+^z5VqzZ?~Fx-hDMLueo-kk5kvxCos(NwJ}aX%JkN#X}$U_ z{ZOr&xFyLj23QA-Dd%0B2$Q; zpk87#iCf_r*yhmekS3`0&+`B4`Nt=B9`Yi#Yo6oguby27y=OrU=B}*ns`{ z#!*G%jk}6LQ+)9|Q%y;w`M}?0W<%Kmv%BJhnXDdanOYlTO)^SsQVZAi%x1R>oDc1Z zo+b7f{sc#K@RD;xIM-E--}Ve4=X&?i1ASY8iT)+5HGy^T>fk$cSXj#GjJ4(s#MOeO z_!-eCJR~k5nn~=$KhlpxrEE3XOXeaU%G@L&TT3;Qo~1@h&QjUp4U}8djP4`2M9<+> z(-S!~tz$Q)s*%yuZDN? z4`x}e2U-|0f1A1!zLPaAeZ#BreZ4CB`E+G6@7cd&JQaT$x`~p}?l#3ITvv-Du+X9x z&Q(R<9P5ib_7TMr+vws{tEYI6t#!!=Tj0-P`|ZC69F0oPIX0GkcXBHxIK5Tl+|BeC zJWK2Nk$&t=ufcN5*C>+UI?p}dm*>0e9}v9gufR4129gT`H<=y*7g!UV1UCz1pp(OE zIA`#_JU`h<*oKyghersM9f3viXt0NZX2q($vizEv(Eg~8P^lJxDs}ZBdrVU}ImQd0 zk8O!Gk4;1>V;-Y>W1`uEb@e&2=s%q2QF3lawTOF3;o?#MhCOM{`ebz3B^3Vp_-KoBpA%nr>0|%_2%^o=?6r7m-UMnV2fe8{)aOGx5s$ zj%;8XPI2t1l+!Ve{?BP=MDFj*aPJ=`JJ1=>gh=2f5f8Sf$AbsKo!~KeC%Bls2AslM z2>ud|W_^%|;1t{z$pWBhXAgG8QaPSQ`2HRY7J zd0H#+y!5T&lNtYrEt$Y0N|vus50X7qZjzpp&ytLlqT*(v#iCVwN`yu z!Rtu3?JT%D!X5vQ7elIeI_w6oQ)mvaU0@8i#Fx$O?w!av<=M%RxGDB7_a!#sUV{#I zFOS@bd*MOuh-%h-ht%9L!Rww^;BBu4eCpi~+I+oPYyH!q!GQ|6SLi;> zV0vUuL`}V$8I9bDs6cRJI=YzC4E@3Th1LmsqR++I=rO4o{iR^BH!5wMW9k#!-%&h1 z96eCbNV`hdMR#7*CFZ9%VptMCh#xM=OgJFfo%llXU(!>_rsN$GVTw$=A!V#smNH!w zOlc{OPc9d)Pi`W%CN-DLPWT}O;?>eyv2A6&bvcL{yr&M3$)>A8$I1?KiE#q^6Zv zf@vRi*K`A)W1iLu93^gc|N$K{99GmX zPI82N*DyxQX%V}h(?0Gfr%ikcr(=A3PWyNPXMWs8&Vx9B+aOlTy{s$Y#cAjBHb+(R z$~DdSV%1cBreZ5!BzwdAAg#x1E`G$FEmCu)3VN_7@*;CI&UoY%x&x8HyWzI1W>8;d z3u_$t6nu$mz@4Ed;ORg=u*jPWmbhDk*$zFZwo$-T>mlZjWgP>WPtb!+zo@yUEV6;| zB7Wc48tY`J3rh{RLR}2|gV~17L7rhsV7;MRpqU{tFxt>F5HP$5zBir?EjHzZK3ZCb zURw2`I3ynaU zg_F>gn2h}y^K;|yJl=UCqOm4>2tDKn@p_Vw*h#0X7x_efgIuPtl8u$QL_pPy$Wg@* zkCmSZm$EfEM=^`i%3D)~(hKxDaS@FRF=m)R$E@P@Vy1KcVY1Ll`Yke(ZV6G;7}g3h z1^9&Tp`GDB6cieQ2ZH^>7XnX%NMMn#Ng&fb(qHLV=|5pT?%!s5;=fWC@R!%@_1mkr z`X5x*_~jKld=1Mtdo^WW-9*_^m$|IF^G{i-<7X*le^pv$D=qzM8(Nxc>l*ny5=qO2 zOCQ9hv$kxv%0@&qeZ`Pfj2Ap9lH|Rp7@^2dGK70sKDMf)<>-~b(h_R~XHO6nc3nW`7Dj?ALe#A+fwqA&Ge>w_D^dA|Jc zY_~f+%z=f++BD&z=1F0l!5Vr{dnwdWe<4^^6%OvKd>#~4R0Ud9bnvUnpLxHQ5AfV7 zhuqK0%r0kHiA!1b+S#^jr{h9d566bGBuA*Ml`~X!%^g?1$kUZFDW)5;DOQS%h&_w^ z8*4*b#yZ%IV~=t=#~8Q+bY5O-Z5@w@KEppA)m#v*z9BfMYA&c#)C$bW zp1dw%Hzy?8$#x3Jh>El+`i2{ijzx1(7Ca=9ICdMELhF&Ggaa{QEOceCFIw$$p}#$D zbcDMDa^7ixT@Ewc$1xh(=7?e~aR8vmUc;QVKcv^$*HYF<`r2Q6Lt15*&{J&;{lbPb z9qjc0wf!R4)v<iFXzk8m}7Ts#zcDFxZ_vN@bt@&fJ><#66;wSeD6V-a+X{wr*)`zEZ6{VL+c{}SF$ zd@WQZuM{j#`6>WY-}4`*4dHK0JIn8uwu+yU>f^UcVfgLC;++!a2F%+gxK zP8I#5dm&n+)rxdcTZDVnj3A)eDVU^`@vqA_@{UJz;#%W7yvdGerDm~rLa*t z2;C>|z<#C_ayF{+xpK`N?uzKQ+>5$D+!3*tBj>o4T@e2e#S^m7NeNR?enLl79e)v> z5w{w(#xU$9y7p{G^c2n<%`9$&g2b&+?Bact{o=2XHsT+QkX)ig{dws^8JEv5We0gP zP&a1-Qj12xub~6b1u%;Bp8m>OOwNd?z)wQ$gDasTUlX{syAwRl@g1IOD~C5*C&RBS z{o%0rI$U6$1Z&LQSeMOBfdaFL(U>C8CX=1oX`-m@=45Jvc`!A>yoH)#{u`MiHlyv9 z=Ri~IWH7@v23%`@2DW!@1zx&u0mFQafo73?l=X$)gUpW5OFz=P zxGrWjzW}%{Tn0v5hpaluWQdRnk#TYl8&%SrT#bU)J-P$GRU{dBd+bVn&-j_VKZ!}a zF-Z@2ykt8!FXb_JTS^HxEoCaFG6*je?x6@O9)A6l6VsPBDj|4&(&ZbF3+= zOE8|L@zrOocMpOZIUYdYY}+A=r4|}ve#@F@qQG{h1wegMBGb?$qHvRzoM%eIHyf$& zIpeKRGh@%-9)l~m-jE%9Vwe&9Zs-*(Ff0kuMkI8@BniJUuf_D%{`dj=Y<#mbh!uHq z!+-p>q1q4@YJ(etIn?3cGNvjJ1iuCbL4*7c;RF6F$lbsKv@C>jgyA}F*T`8uhgix# zL5c+?a;sMk}-wFj%G{EH1%JjEW#JK$ZU zJMkLv1>#>}HhGwTfO^F}NC((gnJ-8kqlcR^U0KKJc#uQdnS;a+It%|ne!dW=Yd`n$(eQ)hY{6j7K{YAzIv!T`-$kP7^bgIq@Osf1F_@|;aFu9_= z|6T>)n^_U>IZ?6E^}ZtPY+AX>5mWiz-nsINZDHkZ>yFAMmbyx{rM$AS^?v11d$TIY zQCW4@)vo%58?71Ro>w=|eZ`pT#w^`E-ECE#QO@ITvuBDM^~X5F!IRET;c}-MFLoXw zFS=IHDenEuCeJ6}vroiQ`?o@KgHiCK&@aS_ZDhB`J)DPxlQ)SRC=im3gjOU=`9?SU@ro-zkQPEy8W&6@Hld#hXdL;W(Mo>=VEobP?Dd zSq1vxBdq#R#CyT|7nlSNqc1ZKGDvSA9+6?(Lkz*UVB_$_P(1e4{}fx}?T4*&b1<8u z4llDgNwqbB$}pd#Zkc9M8;pm@pGFPA)lDoof3@d^g4f_Hd!*l;2 zgW2E1VDmpTJPTw+zB>}xU-3qH2sGx0mzZATiRLQew{-zY+4oatT`j0PULCc|?~5?s zpHQRl#ngBzD^j~YBn{vfaw;^MMB#tQZpcq+Bs-C5!Pyt7EFkDHe=BlY*qq%$tm9mk zHsq=01Nozriv{h}+Xd62R`3m49WSUG&J)C>aaYDX<4%f==AMro!HbS#xM&Uj#hyEDk~J_PFpIs!LBub6XqB0Z5@K~1Lbl0o1-g|g03GvQe3CDMyV z&}4c9YGC5oCBSa3ly#1G6fPBXK=%qU_7HIqJ4IT6UXlMohbT{@J=JV9R+ENIj#9x$ z)L+)2=waZA=+WTjsB)GriVrC?VmMl@KtPoW$y4gk^$IOJU9Mt(mPt8-qzGrCB!PWN zJP>7zwm~7`ES8jS0zUCLOeH6iX3%leCwK?BhSi@q#GD{bk~he0n4j{7-bcDfAY=2d zU}ztk`R@75>~dE#lOt=was8y5yV{WFoO|#C4oi5kV_C4u(LNaE5Cw(y+~92c$Y7bR zI5gZgFJ!az3tMbw@iF$UB-b&JI^;Y;uX88T&ply!w?By<8@xgnNL-`$){|ee_ zVg!StpYuy%n)4^erAE&Bqx`K2`}kiHTk}69uIK-g*o5CCp(DRb+*iIgwvDj4?yKmF z_KqYeI!6+Y@<|&+X{B;aBMG7IED5N3NUkfJi*L%^!k4na{N9r8970&ap3hH3b2y{W zY-BEah&34P#fT6W@d+j7&hQ-&+g`4j_RF-$Op$3xSstmYp1OSjI*_7 zg4P}MP0Jgqk%dp}GY`Q>n=WB?qZOZJ97fDAc*tc2J=M|}N4+wBr<tB^`%IucO#M!Zo2kqcT7w&>bH&vYbfYRr6aaLhU&7}FJ; ztUJ!?uDu2&Mz4ZiMspLXL#0=Odp4eS?jvb{4bLJ{UtDt*&E(Kn~7tTlO95$z`=-G zYaY2gVw0&x?okmH8{LhQ%cSz=11$u};9gNY1WQ`Lb7TXNg^HobS5($6Vpf2{n4iFin0)4W%z9>quA14Z;{kH51QbNou^MZ3Li1D}c(t-WGC}?k z3Cc#Jlcg+lk$63tAuLC_2{NI-yu~aL=M2ye9ZSE0?o)?>`{WbqdW30ziI^2SO^Ey( zhz6d8#B=BW$p7rEssF4A^hC3c{@2)+6Sq*3QOO8optV z&0Vl5*6-mvj+3E$_s)>mw2n7CwTL${!asCnl_ur#_1fy#+5OVNPbA#X=Lmc=n~5ydA6)#j^B*&(K)@Ca4i_5NkJA2mZ%?4_rkvnC);g zS_cy3ya*5YF3eD!kb6nMkh_6EkZ{ zhz>Ohe4~Ch7OUrmMpv&7oUHQswN?AP?y9Dq+RE?ly2|FRP{mHyoN~-Hz5IY6zZ^($E%Vp+HuH)7uf2VPK`#(4 z^)|%!dM}dAeNCxvK9ZRkhy{`0ZB}9U0sI$tv4vDRcOo6;zXak$X~0IwR$zkc8o*Wz zV4f*gF(XtN^flE%>b&YIxlc8j@F?Gs(F!XCE7}UKRHB-UCl26=#Dj1=xhFV< zhW*t{o$nR+!21>AdX>-{&pxQa(*e5Y;X>Wr-&t?n|A0T;oq$d5^oUHWBh}13mGHSo z6MfxHh;|X}_g0sM2)pCSmF`nil4l?t?QO;^^bG~)H3NCB_*A&_$(=x4;JT1pNJ+%Vg)Zn zi}}L@H+U0yN4Yjm3+{L1Huocx!OaD}a$WRkUUTvy?=f!W_rezPe}-G~L!o;7y}<#z zMS&|EeV`k=K_CWs5a7d;{N<3;{|~s*FK6ES{-qoGbP?~$F*4|lrsjLxbXRXDW`Zvk z*y5iGUJlf;9)u1;$FSvaQ{o6bg{puEKnTGs1iTJq0|O9}RsAoI&zj&U9rar@Lx8N2;E{ex)W*N;4RF zt(gdS&@^M=>ieu7Dle;pvWj(DaUNn->Kz<|xPnVCc$p_k$!$`RT}nF7i5NN*LRasOmo zPCszgu@98mSAtz^x555aKPb131U6Z!my%^vPi$!;1wInK7IoMBVe>fFh6a0zv3~WXU{Jjy{*Ae;bJ%@Djc89lkVd$La z5NnUy2TpSj09v~$m`v9}dc12WWpjEd!nu~-=2S2noNVBx^Dv0JoeEd?ziNN5qqVcxk(m$28hw~oKN{xGjhZ32pm`%aq$WgMb&{}3B^F8)kNBl> zEpL@{5C;=aVGk4zLzeK!2v2z~_zSrK9FJHVF<=4nl9n(piAT&gY${_7r2@Ku5}4o{ z1|0Cb1opUl06gb=26c3y7TZ1&=dJUw97{?###9wNY5XUUX-M|HuPyf;sL^}w)u=rq z^=m!<=mD>yy4Z_HbVoLQp8s==IWV@aN#H-jwLp%kTi}C*71(7h53ubQ{YlQDKA9`v zP4MjW9Q9>+R{Gz1E(J$>OrhL}s=1~28@|-%Yc@22&OoYdQsj7;7BmhGP3j{bTD6-68WV?G7VC zv&O|O+NA!cdZ5s%{A5g3g7|`}dvJq#Xdqk5@1LUc>Er3-y}tUT!Y%qIJvFXhfPP~4 zV%^5B(^_h0p?X!Po3gHBlj3IkANgQAOa8X)kG#IER57`Igwm@6tXk0Nr*7@KsomeR zMi1$o<1!pAHu6O4jHiZf7|%&W#zc9Fp-6ew;HiG0->AK-d#2y1l^cV#drkjbt8=wh zZgbO>+6{W4bI>RN*P3oa^DV*fT5B$fW%t8ebPU6`J4twr^8oR;^EP>%Gl8OWT%rl= z6|^C{fDW@2&~j{tX`!|h>TO#96=6F`S#3W_u5l)lXM@L(vCwfOE3BQQLBL3Lh##a4 zNN-|3ayX$1A;UjIB;(@Y0^ks|2fYPy1IYp3g*^vjA>kmovli@bzXm>I-R7ddo`Oai z+gxk#0K8E@4>6!ygxsy&h+M5Xi;$~7BfM2gc&aK0mZn?-4N%+z56XK%cjRf#blF?S z9hrw?jP!zIgEYy}DIM!PAuR%pmE8dklRt!vQ|O_yRBvHX8ZE3{e;%G{8tzI&{en-n zqhXoO7-%Lq5waJG0w05&1L@#RAO&(VcmtXNSqn^qcH=(4vxx{~200eJ-j&*Krmq4d z%x&0@>~%O#jt?$^dl}ox%ffQ``+xvN4tZ{eLzh{X!B$%!@S7$vqR~V~L5$l_y+#arv!Nb+%kULF z#c&?A!@xpF^vN)>jt=>zsRR|NZ#siir|eqg4LeoQY%5Xhvxh1kIVLDaIxAdvLu1rC zAemYOjHSoHGmOWPA(l{-pY1Ek!%>c?0C8Y5T%9>D5Z2!7L|MHZ3(QX(Kg`*nJnIgq z*7Zg!bg?QH!cO7mA{G)4A>Bv?2pO4=m_ahaPm=Orc_cMdMt%+*PRW3@Q7a(5bRxH&kI5;F**l(mjvAF0;kxXjJl@BO;I zUlN$VlmvFKBYJx5#BcIQ#h!DYg&E{&&^_D*D3ed_MH?34;G!jH8VV#6($(0U^Y`9gaaepIyxdQP4TK}kP?6q22wk>VcbdvUW9E%9~4NuJo} zNk`Z=NzK;HvSy2?{I+SE!q0F*5v02)|EsBx6VwT^smkxtvkJZ>PqtKiRI+R^f5>a# z_`ub^_}&`f?jCZ__0ID>*V-2f`KNiwJ)e|WG}5>DV!lX zAfyf&g=@w2y~CuczEz5}ev9hnAVv#_-|An=E}8Z#Ct7{gtL^EU0%xLjC#X_e2brc- zK!0k5FroG`{I(W{z-x{nc4*iLvxbd4rn!Y2(*8yH>CdC)8mmyBEF;jdwy)@Zr;Abz zzJRg1GIM39UjfQ2B6Q8BX>y@xkx?`{c?JxLp?J@*W8-%#$+C?5}R>Fm9F>HtWC?sD!0vw|D z1`*XP=Xf>E@l~aBFjcMgd#V!q29?QPratS))vO26w6DP@byi53VK4Na2?}+Z^I=@; zPnf?0?aEgiad9L6!YHtlkS_QQFai z%2m{SDi+m3U4gzpm15S=3BY_t2X-Di8aJNv&DE6_;uG8#;L6-ID34k{(ATQh-)` z9e}{QVOnq*01g)c?7y#1qMr)8ydx3O#JfnkbhqW)rk zj(%r9)4=F|Xe<&fv3wCPbKI1VhI~}NL(mKmRFc_&cDDzkAcK zjl@i3Ilj-u*ucTB0c5BQO@VkIIiQhnFGoB?X#E8mWs=($8`ze^S{I64b6mecEz^?J z*{W>ycEx%%Qx>Tzlz6GKhr(4d(Oz}@0A4-0&!HOV<0;L(^A$IR|H+v>J<`iP$&#q< zdqZtqb%S?0wW1B3J_C0;G6!aMTp#G^s2?2FxlTNzYm4+(4?*GA8>t%ApP_*aQnh2m z<8@r=BHd(poVG^^*7T{asjsUos?l0MrME6tu~r|U@HV6<))-GKBg`&8mqn!Rvejs> zI6mq3gH9T!L1vp;VS(ln1k{2?=9)F=mF7~6#nsdNU;*%JEr~?BWhUvIWeqvUQb8%P zmQfq+r)gHFm=O)R#GD6@WUWR%cJ-t5!rM7* zgh1|3LNsp*Uc@_%_vS6dA-NBLDoz0A7&`^+#T<{kK>rT!qrHJmq@kfS>Kn)u>K3q= zdJJ4oHA9dzG2}TT9{Pis0UyUwA(`v~l+z85sb&Ae9%E0%yRn)HS*+`%MXc47;j9SS zC}tgFKJy@J7IT3ch53;4kQKzEy4*om*e5-RZh@Zvx!JruxLlth-dh36eNDg~Pj)cZ z>p*Cx_u2@)w>&DzCnSd8vp9CG&(*l$J_T`4d}`vJ`h1Mr?Q*H{eWv`2KOb$}MHyQcoGQ>t$2LzUn3 z8-g(;;!-88KCg$dgu zH0E|sGx~ImGc4=;q@UZlN$200q-pDmIG6wf+pGjf;_!}& z!NK;oqHS$s`^#Gfdh46t^gM4m(Y2s)MhCHh-da&-Z9ZH#yirgGuj{NEQ&UmbRSl}& zQ@N&I{kOd#vLdZvby-Wpm(pL2yi$DQ=8|iT^Go;*1;uyj^NKy{J`|PJwiKPKU0pP% zHmxY6c4kpr?Z%=TwQq_?)Gd~bm8cvoyZrW5awq@+OXN z$_{4p^o}j9H#=UoXLj80%4-te#1RvJ@DhQ zTKF}Y7(QLT9`;Xh0T!-`hThhop4pYSuFERSGhKFGF_RriGt~h# zJ-1aF_10C!C1#D0VmfK`FhY$R^(&1c?HAK=O@MiiN?~bHQEbnZ+Z>k_J)khf6!36) z8TgHS1vpn83%)DIf_KOyU~kzI&?VVIXQs@@@lZyw=gHjd<76rJGqPijr824Wy8Irf zLU9w^pzMR>sW(9LweB#L&VYzAbRlC+{m5q)J94Yt8&T()$`HY9_!h`-m;#mt+YA2+ zH6pptov8ItH}oxNDCP;Y4)_Vv;wXrD_+Q8j;#*WE`3w30^%W+Deg?oYQvfMTgT3c= z5ZlW6huzHm4qW1SVlMOi&_ZrII*04JQ|2^bQaCuw1~)8b8%u+E%v1yZOemJl@W=7! z@i-AJ0YB2^nG2&#!s*GYalc8cahb#*7niXdcN;ejH^G%X1Yg0*okHx8V=*?<4#)1aKE*Dy#9)V;vVbn*1OR5>pugw?QQ^9kh&pW+yj@F$ zPu0AG*)(@yd73WRUhP`gd>t3|ST_itp>IPRG$@ciOe0YB<_G9ARwi0xyWlcY3NR;} z%^11s^r2hZU*uRE|J{H?I9oMZ6W3IdWZvjA7V6r4B-^t1Amp*fE&w82Mjz40On?6 z3b~^I8s|Dt?v{hy!v2YEXMMn-nA@=?1{^D-O~PhV)?>$!W&mjfGI|a63!)b@1{Q=g zgInQQAU1TbqY<2B|Li2&?%1QO&#cF+d<({!W;$YZ8XR`0{*Jv#x86b1F0p^oB-kol zZt+~@dCMEc67wZX{dG7g#4!-hoa z6=J0NoOrQXDpqQ4NuFzyq)YPsgF#$QX&TD2eaH+8W_ly0YK zn(mbOvF?>+&_z(-8rInZO%R8td54o>Sr78Dbb#kt=R$tkX27P|l?d0&5!neIg?$s=F=c#wQUzhKU0F2+xAcA0ZaEJfg(0u{1;h=z;h}i+o$io3uQBwo9M0EuO zM#lxXMXwJS7ri{-ax^>OUDU~dy^-|+ph&F$=7>ap&+wT7RoH03W!LBGh2Y0NRe=t# z=78y*e8E!>zz^%5=Cg&r$LkGmvB!5VlYhre>vD|n-5#=^vi`9bF|lk8eFUqJx`E|Q zKE<3#yu+A*e@ma@B333~+Nn^Kf_w%cCg!;QdxPs)n8DM4!_F+sbO#AN-?j!d*HVG> zGcSV=nufuejMHIs!(C{m0S6tg{|xz|zW}b$9|S$p?{tRiH{0{{J8g6IPpw}1ZVSf1 zHI*CUjnRe#eYzo1+iXbIbQ#uaHXHua_!$1E&lzN@yT&->E8}}5!IY->XXl@b z<_E^xxL+=$oJ|>P^u^2_LBHgj1Eb zg;>S-p1ZR0Zm~458z#Qql``bk`BC(_bL+t9&WOH(j*8yk4s6f%_NcB~ZHGIKwb9yE zwzjs6ZoSwvua)0$qUAwdO-pjEM+>3)W(%`Q(31F1-LmU%U(55q;Fb>+qgt+&Uv1e| zCTTfPmelg1^kGX@DY|81$@%6jC77ng#g`fn6$dp!T{0v?@wmqD;^xM4C65|yrQ4ep zmu+eqEdS8_;ua&dfAl2L3N7i2K@UDN>k=Z!VVQQJuIi{_!^HIlOr@ZS~7qN%h zX%SxQ%83^vEE!P-e*}WjWudsnvPb;Saz@-?xhdgUS|wT51JZQc9ocMqyL`GcP;na+t#T!K)DG|ioiBu9 zI1agFWmH|NE>#>^=UN|SBg;0bn zCOt&8Q1)UVG}lcAT@4&%z5))jX8I?Q7(1hbYa!R+Tnhr&2GoSSQS8)i?z9%aR(SrpAEpNm6)v*0KMz~woU>E(S()2 zzhaKVBq#*zF#IKKCiEU`Hn;({4de@Z@7Mx!+P=VdSebC8IS;YHbPkbY+=?hO%thSR z&qT!NcEIbkKj8;m-RN-5R@i{L8FoaS4)az|hsxA20e*6Ym3Bm)as zXy%y8rJO+#h4+EA$Lx8F9Bp?Af3s`_o0iFN=V8M1_N8q*C zt)w*9{`3GhjP?zWWGu&Z}1K|Mo5Mdq9jj)h+mXPE+1b*Sw zxU!NJ*h*eEAm-_SdAtF@pLYe|avc~WcQxh}rvQ`0fn&gI*Km$?4l{<)irG%HVNxgx z^ik4FR1yJ;$iXgvhoGNBn~=jGXJCEcc*tw#SI}t3FuTY$XnkxWm~&k19oH1V;L14a ziMF-cVYZj*WZP@yLfZ~`hD{)&TE&ukRu`$qx_W4hrE<__whTJW9z!Xn>qDpGfzR?vz)^HMFJ3_w--LuZ*wAv&`*CPo@b`&036j&H4}VgLM!IVgjW2fU)p$6hCw;7*b8cz@Dfd@zZND<#@-3yA}`;l$^- z8$=qOPvE&|1^);P>~O*=%tJywnoHb^Y$VM=& zjCKdJm`=h{>FaPq^w)&L^g*JO5lp_#I7@9{Xc>vjbXFp>nVrt!xM5g{ZaJ*coI%zs z-gDLs_g!o+PhU5_R|aRBPcpZ_kIl;y4D!bWxbv$6&bz+~*yB+ZP~>?xQ15v(xX0sC zXs-LgunfK|>^NT?`oWzYQti$Up}7YJA9KGJRN*l#u-20iaMbgqKg%U4B6z*=EAs{f zpVDXpfhEzxfZn53&n6{*(ejC{6$&q4!$uqxV@K0Xi(kg@nB z=zjcITphuan2x)I`-Mt|KLi)p8XeK5Tt|o51o~m!%|BbA7JVaLMna+NN*!WYiNFSs+WL%(HZFERCtNZ$Xi;i`rb#!%|Y#-M5Q@BQ4 zDz27El!>w?^#@s~?v9*m)+v*n-m1l*SmhF%KtA2DUV1=tLcCV>WniHquzS0BcUwn) zNBe?4hcI@qX=t&0gVd<%lH5?4MSqpieFgIIy;r0wdZ&odz3)Un`XdHDh-yW|p?cA! zp>3i#(Y^u6K=eG*x9$X_eJl{z9s$d`y~UazUJOF-Q{gN z+H>lH+P+q1b$qN8b^WTD)oHFRZv9asZ$MY&S8uB%S04ZOxbnikZIwSNn*ODg!pkEI zz$Jk{-xU*nB$eQDr@hbp>sA8~?N|XdK((*5J`} zv*B)&ycyFH)%v;>XtTARXlJ!`v>)tZc8dDYy#qrAu|i2x$LhWteN0`JQp*jS-Ez{o z-*Opx%2tJX3X);J!%}dquI6nfXg0FIm9kE^LZLeyIQT3`H<}Eu!}h?}5KvGUK>*Ij zuZ05m9dI2X2Pr4!Aa@Z~!AuwpxEEIKq&ipF=Gc;4`O#y>kG5&XH}-7vd`FEX$MM{J z!?sVq*R)GT)b5ksP~0E-APErN8|djz5FT>v+Ckl0TOW4mn)mjcZ+_IjqHTfrY&Tbt z*jJ+R9MCBi_3I@EdM^xq6P6Ak`bs1RMCG!ngSVs={iR}iw?@3HW3e>5W15QHZPe)p z)aKo?KD%0*=b~zxTuIkqz&_|h+*pJiTZ!t!1h}$c%i+7Ac<>;^8*~V^22zdcM)7g; zab?5=QW+_WGDP9g9?|YG`OI9m18%{**KYs0pJG+JKcb)H3&C}7hucYPqZhJRL)J*N^lx|67(SbDdHEMh}l5{<3>|4_*%*d!e0uU zc%C$i;KV(^=AyEY$*|{;G0;%Zb*K#z2Ty~&hrfVl!dG-p)Hln<2mrB3;J@kNPL{6*XcS3rrG`)RC=8?UbAs}D z!vuNUI-eiB$=;)R-@STxd%T*thrHT3SG**g8D94|ot{Y?Gf(A4WbL7^Cm$h>0rmm& z5CA$K3I>8*t;iUV7?T(FN103sE=pk1=b^3otkv2=&*#1$Dt8!Yl>nfRxl91ENFlHpP>3-$w9*5*8@evB>}0!pZOmeo*yuj1PLBW#)r)w z`98F4R>hSZdeEO4>${? zbBLT~$1CtHa0KiJY#MSadx zi8~qx6WhNHQra$x$gP+9=d@(>7Pt8I-fr34Kd$xYAg`@l{G+{En$!uA7Ihz!3j3Z* z?+kGy$0fIhrii}`JQbz(E$^KpZ0laqGp`fT1#O$x&Tk&mqG_DeB5LeuD{BQhT~_n1 z5k20Wp2E3p2ZgNWww|R;OS}JT8s7D~>00N$rYRkm220x1p2MP~5Y$ zWoF->jp>(BZ zHA}Q#jopU54qwx5aHa7Q2&(yPl1i_tu8K&~rvq1HQIhehX!U9x-B@ej*bK%GkR&S( z^%Jz3Fb&>DC84GCLR=$@PHE@B-3GYL9AF9}(bDDE@h}PeDS!GjY$Wn*y z4rKMTcF{XFH4k=io9+!ncf`qkM5onsrA_6p<0%5QOl6&VyCF~83~I4nz{n9x$PUsZ zrXPD5>y~RT%=VNL_qZ|*HLNZ0Arc&(i8+VdjY>obF+8+Cfq-5|dxB}=_~HyJc}3iTChdU2E`x?U~+StA=-WVeo3O@aPJz)PvJLd z@nEVlQJ$kIQ7o~m)kj)puhFh>zO~K-!yv(sLgX1(Isk>4uq)wEtQz@{Fq?3n_L1Yp_ZI9Iq=pKE z3&M#Z?I9k({o1v$7gr|$nSl?Dt}U7o**Ge?folI&98Ft@_8Op8CTh<)MBcD^qfG)O+oh| z0q7D(rZr3FYMe?Z$*=U&hTM8mdzIZAyOwreZvWo(u>D+naC>9po7Oos3+gvl?W*jm zi>~6fZED=!x1u{?sJlN?e4{U8kkkFI&)9WUc(KRYi#*L<&A z{3w0~_cu3{&*5J2@ZjfoRC=O3wtJoM*yEMs(dzldJ;QxDCy<*)yTBezoW|TvIK?EA z`g)v9%Tyg50-SQ&`!7X*buhc=9~8U`X#na8mr~6 zKHYrB(ra=$4wy&TEml9)t8P5?QTBPPH(i? z{xcF{1&zaN1GbF9hQy3vN65!D#HNm)oRB{roR~b`J1KMgfuw)qekDE|eQem4 zXS;t zYiE_8u6t04s$W!{T63&wOU2*6D@)jA)x}@SZkO{b(kli3ZdS)v&91&z^SowOLv39{ zTTav4p60gw0}DEb4LSFp*@?=sO8A@=cyu=-&J_fdv z15x9FYp^<~07AC`pemCG=(xcQVj12$V)dUbtF%w_v((|LN6N!;H-$sutK2DyP?~yj zlqcHk^0UqUVpF4L;B3?G9!GOfC#d;K>#*iG4V6u;RiEomlqmnz=f5pfWZ(L+=Tq+2 zppU4J10Ue;>prZ0H!&;W{o&7+tOwt&ek=b@%5D6v{P`nS|L5bcGi66hCf3GQMz*}I zThZ~d@mgngv#<-%#_G!JV0EcFqdT{DHn+X%X1BEUGTYolab5ew(tfh^@6bu9NKz%e zEKW&$znbDd)QcQDefgdVj2L8RGdpb&Nf z@{O$-9&U>Rue7|eKQ={JUg|V1w-8TvTGp$OiPHuL2k!|#4_)b6BTem^ChzEhDfjl$ zRlWVQv>OH&8KF{=`KN;GGP)c!zEU32Q7jiRFJV#th>lf4_xAa{ zja_Spp7fR|B_gt6+0ZfTav9lqQ{4{zWvWL$ck(bvFaqWr>I|wBcNTGj0!4T*$*5F@toQLyH6VjeMNr) ztzu4tDcJy$>~0Fh=@TLb7=-M1k;gB&+E3ph z-_5h_yY*z4+{xr(;d&&tiMvz1@kLR6@ZDXJ;m zNL7NcRps6PN=+JktW`*gO?Tx_?b*r;;3gFawn`ZYFH(demManvfU+O9Rg(cW>(7C} zrYL8H)f>FdF$6se-39ALxxpu6(-HHC1?a!Da$=0zMdo~u1$?3JULRh7(62spygw%j z1Qi8N-4X;m#okiBPnZ_!8?w*i67-2PnyyIHnmjg+B`U(|aN6l<#G<&ZitB_gaX# z=&nXHd3Izj=QnaWYXx#Q4eWY;=};6l*f9s$WHv#n4e55S=Af}lrqBh8o@f^L9#DVm zZB$PkOjbkXqttUWw>2M((Yg=TYC{z0jA0v8rN0X^>B^yY-2mi>{xo>IJ`J?d71O+- zoNdF%+|4Q}&-_hx-rA)M0tKoi@SnOW;Ed@Cae+OUvKxGrhK0?cQ{W#M3z2~=AIu9k z3bB%VoVn72!mspY_?!;R70APu2Vf!t{8vW}6Qo5E1pJ65|F>b`K@);DghUC(2X}d= z1d{m!zIygGuTW~Y`%hvHzmV{epGlg-|3SIWpGB?VF{vVs2epWmOP$DANaoS-SSR@! z{03pYT?NcH)+4rQJzVF-EQ?8;t-I3yMgFeGCfd{;)*aV9t|hx?Tz#={daaM}Wi3q@ zSdZ^n*I3l!-8|6K(h3(ES}S_rw14P5+r6WAM}L0bkc2U4R}dAaRG}_^`8Qj+YC0IB zybL+341yq4$>2%aZ18jQW$0?q8hAhA2o(%Fy_)W5-RIKF(tXV~l0y*wGWG<)m(z$R7D)bWqZQ6wt6;DOVD%j-Ed3 z>DV=i)5c;FMQKsPGe#!H8xv>86er|GQ4=@q z`Ci2#`BMd2=B2nU4p(j&7^?ya`Kk+DfLhc!Mfbb=ifLD0g>~1U%QhofZMh?H8YfBT zX*bIEE88`j<(}qPX}vQ~YJ--^!LR}OcW9gZ8blzg2gS?g*+0p)S{BIe8aK$67;#dO zB~umvPM1GIEm1aOpQvA9)tarCX`17RO3eUlqAn6zYM26#G_6PGoAWRN^IIU%XvU1u zl_5E*SCBZ_XWMnL#8@^Y)W?e_>lu&o-uhqU_2-aG!R5y zI(*+6&86;mbz#RLHLv59%Dd~K(!aZ1$>pJ=@WZ)u%^ z`r0-Y)!y+BUfnYTw7##`@@z2K@LWpMzf#RHE;f=a>m6bC>Cg|(V+cHW3`_|HgV)36 z*%!hlT6RGem|r--mP6JcYmp((dR8^w^i}j-d%HbQv8*;)`sLpgIj$0^9$)iC|FZs- zaeKomeQkZ8x}kwDr!_tty4Ad;e?v=L&)MeFooS8b?UU_$HYm5F{+~QHPzMlU3 z{oge|&KEArw*I{M?cxt`HY<19_a`|aIlsT{$(iwaLiW_G>tF6=$v(Aw#(X~Tc}Mo@ z&l~g4e0l8>+AXcM{k++pUofu!c<~FVtjwu?S~XFh-gw0LqvN8h)rYfW^y)2{{YfSl zDMvS5MpZ|sUuuF46O5(iSIz|66?iPj7aa~8!WCj((>4>c`RC~Ag7t1Af?9aOpz|I} z{r~fd^QrdP?~&yn!wm~L!Ag$&&LGFI>Hi{&=pDgVXs>)fQCOad#Ch(w@f-O0I4E~J zaD??9ok8a#^QaW~ZHhnS14-nJBYd;H#}3)r(N5=i#4gBM@JGm3TcGooah4UQV;F9! zCu(Fekuq}No8(0&XJBUIlO9Oz>h=RQ&s*lyc{KYr#I~>-54GKCT+{is;e5}}hN%7n zjTPdLt%)k{&Ifvl@RvDu;JGh1a#<3#;vW2NDlDb(yVuXT*GUV!x43sG2y-9?%4qy#$G(r7{ANm;PPdb>sl^RE>AwD3^19GsR5s_#aXab622}DfMJ%NhUDDWB8 zQqU&Nc~G_CEO?sr6=*d0nf(xIz9ka>)!0O#8A_>(47p^5@c?m*ISi+^ZonR}lSd^UU_~_MIm{2E_TZL$3Kxi&*D>EGohOPvkMdQ20n6W9WMK@=zxGYM6lf zGkgz`65)^C9Iiy~4znUxh0aHG2B}c%{GR}qd|c)^j~ApSu9_0VzDik5H<6E$pAzx7 z^S~(7D(Dc@V8wzKXb#zaODj!~!BOh#{l4O6;cnsWuDsUc?V7rv*7g5Vn~#^hZTeVx zt~sn!)pD*ZqBW;-hW+RknUWqOMXA-t! ztkfseboK;Jo5x76lm1r(qr=Mrsj=3;`~-Wz_+fAT9u1TF>`wIc;f-MX?n=Hb2u=PW z(2dwGxRMC<+ZBJ*cTDtTA8PnHZ*=G%uVrELz1BrgyapmZdanqFcozqs^_l4Z)OWlu z$#1>qDM1QvpP+)(=afyRD0#dEC7y2G(l4|rg$d4?-ENSCt|nM;&qS!RZ!Y-a;8c5y#BTm1 z57Xz$KWY-?Ka|Z%m_ni1qYO7rR=&2jDo;B^iXqTW#c%K}Wf7FAu7{`U(8z!KKbY%= z4%|^=A#t+lIr*45)0JdpP_Nh*(Ds3D(0{_h8LyFEjI*d3`f2nL+Eer(?Ip&ajz!;b zHM9>>PQ!@A+n{{>2qy?9aQ?d-_>8T=D!MLY17m5}9p=F(Up6#$ zHYYi*kN+;N!fP;Yy5GIHEB>wVIf0?WMh9OR{v~2dl5c!+GHQfw)TY!!sa>NNjJ`a2 z&X~xw)1wDcPmhMBJWAz^YDwNPYGT5KkxwHK$vXvANtgJ4hkG$@#@{8bh_PaRN1BnF z!lDqz0&gOI`L09EbZ>`kaHD{~(b&$d1i=0YJ%XplcgvshwfN_$ zFGuo=zL*OhX2VLIIr7StdG~8&`JWnFe|xlU|8u<~yD+PJLCJt{*WVF+Giq-2E1E72 zbamtoSbBF1bPXO5<;Vc>Ds_as#&|<}-l4ZlfHy!=F>+uNegcg~+QgO86y6WqY=V!T zuL2ST{{^sv)BU}}=L-U&w)!oLneBTwrp{-6%owjd(R(~bMeXK?M11Dn4Bfz45zykc z(HG9X=m}>%;|DTla7px0ZgG_Htjz=!<1`LOivs*fBFr${QuHz8H=(&BLJo>iuxA?pM7d7|Y&k;ZV`|&Psf9~#| z6**^qo&MhV=h*iTh3z>fN>M*<{>A5?t4{xOtv;nFv}s&PN-L{uQpfFzTp_FSx5%yb zxa4;e%*8NUqd6noqjwIvK3Nt1mQC7HOS8$tl4ohQ$gKyh_bpp&+f4CxhCa`pq21z$ zQh#>5P~|%=s-$+gW`o^LPqDo){j|-q$60G2?=0o0@8&%G1#<``+6pr&I9djC&*=lTB7I*wouJ7hr?Jpx2Xr(ytQzY3bN( zDjjixLUpVq-!&{Jk5_q-zR5-tUr0{it&$ViN@+c2w7dtIr_6(YS2e=Y)e+DN^)e`2 zeHVO2y~JTq7FgfO!c1u*jUFx(s0-RPa&-$=Jh$c7j)L;6)$UCTK23}_RptVS$$Eoyzacrvk|NM*gRbK zv~`{t(tgiD>g<8k_b}madpQW-{_*gLK_={wlm>Invfwes5O}_0C87&H8r=%4B#a|I zr_ZD9;T~oCdzJHA{C9aB3XuvRkwZc2V;_a>j6WV(lR$}yPl$^{Crpo*B|wJni+ev} zSML(W#3ZgqsMyUA zyouc%2x2D*$ZUj{gw^6wLFLec=&|^C@;KyS+)+p^YKrp$B-eJ*_Ry7Kqw3x%H>mXD zsfuI$LGr+!)v~~@@sivwG-sIyli4H5RsZufM^J$l0AQ+pQ4CBpN{#J(_fRDY3nt7wM4 zb?As`zO=>ap=@%5Xm^0G7(j52iHf>w=?4CDNOAw5^9kXIp9C#x6fq99fiQ>y@N(ov z+-L*|nCxoT27zWE@%Av-JBt5OfLrSp(le@(|3aQF{Xi^G83RX znXlnznXgbRW;t+;^_s|Zi=%mPOl&&u81IHV)U(Qy>HEe9>R%z)5||lyC}?x=<)F%t z?ZG!f4uw<(SBC0?riCT?XNKnbyb39CUl2lN`vi+Ac_CAAgQ0Nr=FpFbKcNlq($EM5 zD!2ks9GHiE><>qU`>aEqb}vIscDsd~PLGCr6Q$tKK#H9Ovl+FHlbS!KH*&q!Al{?= zI}jnA-eVTgIvG9RTPxbTo98s&ZhTR{py76vq2BTrQ-7gsV|{ArgnDL)s{UI^ZDT=+ zru9W>M^{t%?*7ofyrGJJUb1ulx|Q~-K<%oUOvCmDs_A%hrg?9Bgt?=u-Ey=KZ~Zp- z+Ww#HJ;+Tn9hz&7L6w5%5R%YC^iQNpUJvt#-#y;_u(#g*@hO1~$qOTiY10$p$8Jm( zjo&lcG{HX6Z<62CjgyLJ;wQ7_T%NpOzGU);Me`=-FEULYy>Q>8b@Sm9@6V~3=r=oe zLfh<-6Jlq*9}k&%XzcXq`q68rtw>!nrD4>DN&4hl6Sj{C87oM_r)Y+^CA~@Lj2jV~ z9j1y*^Pd|0(PO~Rlik9vp~9H}ZX7WI@gDUa^bMS4{bAj0)EegL`I;S?`^tQ!NZuf; zm0cIVmWo_)pQeFSX=guMI;U45E)Z@UT-N=qzq)H-@2k$-o{G*ZUGmP9j@FK`Z9m(( zTbf(HH%GL-Y0PSqHtg(ludnMaskiq&X{a7(cb&TLHf77-Hg~Eowtm&sbzCzZ?MX9> z`p?<|#r_V!)hGARQk^4=_Z)w$5WB-xV-K0r zSF|VWOLfoffZ?}2!NPEm9oY^EOyG=1e{mGxo9sQ5SX(*$gY_u0)of>NG;L>YH>T0= z8=g?F8CYbYK82K`gAp!hM7VdFr&urTGGMIk2jF1{0LB;(0td|i@YG5M%=Y8h1x_pW z8^qUTMzi69;m>hTkpi3(bql9L*Wid49dHNGqkFJlkq)dCz6JXfd>43POUAhAOHous zKm7YpFm!Tn5ICZ9vhzi&+_9|%WM?(?Ss9HY)BJ|V`iS~bn!q}y@i0DAh$H)on z{IDmi$lzg&CVxNr6z^o}Ro+taT*eQ=MdDH5D;k6N4?N9jG~YADXrh&Rsc?uRG6|FV z&bJ@#u{C|_dRX_j{Z|dBWpvfshQ(ExHCfenDjRD$|C;NjR4D4j6}-m%HOA~ z+%vf|u-DWRD>~7Kl=23ORfmTL^}l2)OQO2KK{R5)4Ynr;7-Tc%AZi?bKQ5g#g=i(` zk#i}2ln4rnGLHO;vY5=E#F6HcFA}p!&xtcg!9)S+13^vkC!C^15)v3+2y56MiBY_f zq+kyNsmdpe4EDQEj`2?+mj!I6%nf9dodF^e$^Qp#$j^ki;yV)s^_hm4@BJE%^io4B zJzqk8d$1tq`I*p}yb_p-7l4f59>V~fN4PwR=gd(-^a?GpH*~R^mVXIqWI*aO54?e#o-H zulBUQIi~-*f9hs+NL7p5zRA*C6hrfym-SC>;`D52jPGzZRJ73>N}4kp>5XlT`3(=6 zObxhJLW5rirQtw#c0*a;#fE~xh=xqbrv|Bl()d9g-Sksi(_E;()AGzv-CAPIY=3Dw z)3wPwM%ZbA4Lr3{#Cdj4MVgC{9|iX@Q824*IRp`S2`wLy&vC=?Je3rU|5PH_5ea ze)szq&N^qEz4m_J=Sg~oQ<)-oNv*Ga}%OQ!|NE=c!$aV(jB-w;$*}mR5=I-8FXLsJFUk&$%Zw~g_@K0g~~FkNM32V zEZb@($r#3!vXA-!1xHU&uGL9YM4euFUl(9nY6)_T0p24+} z(!qJ+roj#3NrRWgQGwm#3)P`7H83i};VhY#iye(|aT2uHS zeO4hP`F8;^-k)cPVduVyK<3O20cHugQ!_`fi0Mn|LsA)(3rX`y%=pQ8L(D83BJu&+ z9?nBXhKzttkOpWlt*+rD+vwN`_WQOYBv7KR^CTC|_NBu3}~V?ux5T zJr!fx)|J~jZRO?sobtZD5fvi_XcYp{@ye5uT~#xsz14LxW9>afbmO0@;C88Yj9|La zC>GfHYM5`Mu{+>eIF8=sA4lZFVi+^AiM(10FMJW}eDw8TX57N?EeUg@x|8s+hmw!R zzfJioaed0ZBz{U zsSCp&Bwr7GkO&Ii9ox_S9yNkh5Qd^hQK0bek{AhfA=A-K6*^dieqS@<|-LuFKo|IdsTh=&-X2}tD-uN*FNGy8iR%UR*m>s z_Z<0rAxHU1yiARjpH|nYwrL7A0lTs;QIn`&r@2twgED1cOlu%gNU~tIOeC1M1c7`j&lfoge{9AwA7P6SWglB_FwpF*CU+QTZ}vFH{q6mk+`{V7;X#tDXxQ% zkKaIn5Rzy&2=C~6LMa1Hm`JDLhX;J4x5)?5D54g=jc^}i!0+~&aRi45bH|d2eqcbO zuWKG-4yZ8LGR0cl5BY68UcL+WLVgqbNnV1PD8G!_F2^9o$N5bh!3K%avM9JF5=fl~JqVch?RGKh-S}?fiXJYG|M-M>iI0UN+$jMNKv4 z>n&q#%i4U7ja?nCX@YRi_krVpcu6VbvN9OCPFsUJ9H=e!IV8+m{`jCf(A^R9(F;lLO9l<;+gsp9e}UEQn7YRd_vdVd0JV(FNmTgn1!R)3f)5 zf6B-Y1*Bx~B=H68k&#}#h-2H{}d||cJDBLdHAf!r9^&OJ_CvZ!_g8Smvf_0)i0e5g(@81J~Pj%o4 ze|~>yk69Sj^GZPP*})&(v$SVe&(ogE{KLKL1T^7EVX-J<5Fu@l0F@);!CJg(qw$+A z&mL#`$5Unh6ZphKf))aD;d8+i2r`@j*P~{_Z)1z$efVs|S9~?{3w|aFfU89A$F(CG z@XHXr1a#njco}_$_&+R)9D<`#zu?|6uH*ddXdItA2Dd3_IW8&W4(?^x6a1&}Cc=N= z62i{#Ongz;YV57hPni9o6bwBi6)g-7K_~Gv$VToHL?mY!tc5)eHlOtf4q)9wJZ9NY zHg*DbE}MdX#u5CEn)`gL1ZERToexDj=GEzN8LsSbjR?7$ROy+h!Dui@JHaz@J{fRi22}Y z5nI9V@K2!cVIiQAA%(z{pdX)8^U#^gI&3SZQ_V+-KEplqE$ux>m8vtqXWZ+= z$PQX!BzN>E(QV~l1MT9U{YU!ag*}2p!Uw%J;ZH$Vf4-15FhSThs1-gHTl#us2!T++ z6XdGGdlj0v-f|tOceefw|B{i_bIr7@`>VO3`;c{Y&m#M*-fHK&{#%}A$q|53`3#28 z{fqu#E+#H<#L>2UkFn|C-9fF$x(Eg#HTE~{Tr!VSo<2A9Yu4K6yc|WsjQj~HlENz) znjvFy@`fhoRSo@B@MYM`qQxU74keC?9o8}W>xlPbu8cZ2ren;iF%QSF$FRqr867|2 z=P33>@yLY9IV1KI-yQyT%En#rG?2=1N=cV%vXfa)TW00jT@6T0j?AxIX>Q%}^_+KR>_`rdto?Cqf zdN%Zi_w3@Q^ho$0_;rF&0;+IX-|c~~{iDShgChbhf^Q0q?4<^ylmuJ=1f$RZu`o=H z){E9zHi-R>^|o`J<-JR8ws@H4Bi>B&bYGFl?hi82{CtA~a83UNcugk)Npy9Pv-;bx z{~3oO-kYzW=h)b|QI6dNi|ZIk=lP3*_x+D@2k?l>0llJL0XwM8U<-94=mq5zU@Q58 z*GC$3my`Co2t=#HM&vj)5%7*X_+`$^`0?)h_?x~){2-W(A3%Wczc4DioESkEM#&~z zq{R?6(}VH#^b@#7`bq3DIu$LY8j*jKJ+Sk{C13>ZhyNhvU(YD?Ip+-YGTTOUiFrAO zW*CL`XcwZ3RbCWTnS_`tZ-M1n`y-FI9~V8&`@HGNwy!Zy6TU5bn(=+hll~I=lct}mpO#d_ zKmS?v{MF`Pop1B%2=7bkO`j$vhiwX#M%{=Qh}#(bJuy3O zXwsa7ki?$E#R;nt_3@NMU)1u=vhu~!+`e-z8G48bY2K=Yp1e|Bu;Kph>7OPyXpCB@+ ziiCeid-x|s@m(wX$G4aDrM6OfcQ$49JguMFb+xvkWBISPwkOr&TmPw4wBjrFx11|a zZ@yd>)`a=Fry=-f*zcI1z}l5RQ8nnFbAFBa>HoFAJf%ifA^g3rI}7es`sM;rekvr^zX=}i z4>U9YAFv3}aC|A`5Gema?3drW#B7fad_%O`D(?IR7wJ|l0A@sO`Xe@><>TpW21 z*Gekj1rru=y|^N7FJ>55fclSHgPg`40&nBQLT#+y;9lk%pqn`XaGQD4|AUp~2ebb1 zv02-^45rirXHIn|GCZyYOt^C^6YZG5xM*vpkFiEl0p>!Y!kC8((WfALwX>jO)J=dZ zs)O!sWsXfRuQJxkvNVe&b@D9n2T_$6-+x8a)OSmy6Fe8s7sN|Qy}gqD-W}4u-Vix} zuT>o6x2fXzH`EP13T=G%E!~_>ul{|<5#x;ZN9LsVEta}=y$#U`wWoC{9WDG@?iGDn zU(4X%ps&*7uvaP+YM*`?ZmjiBQmA_eEd=0WF`+$NHEM6jD*V#$zXLA2JuF0QE>9W% zIt-B59XToaLbNTF7MGp&CSgX#m84@?r&HWH5$VTsx-x5WsoF7Sg!7~F%->~(b9g? z7BSqgW?-FeqcBg?CAh1u?7gZU-b+@;@+Inty*%}wy^qzgg43#neF68TaJ2llutg^B zpCY?IkR)>s-j|;fe^E@9F_cFY*VGm21bvwWkyr{UHa$vdfL1Azz-t+ zC^a?iHf3{c4tYuR7osC-A>n4^VtjkVL&BtpR8m^FnYt=m!W304 z8&wpU7UPY)8viKrdJ-(cocuFfnX)nLQVJmyk)#hUOnlEvN)U0f63SV-5=qRA#EW!a zqMuflG?O|z=>dh5`E%^7zD{;9=9L(={K6+}57G z&$B-zVHrj7ag-NPE+RTqj!|&`guCcxL8FKZJS$OkHYJ2?6nW2Tnf7yvEK`nnqxQB? zrhLQilFjV2ibu9Z3`}Xt?koPilE2|sW!I0&?HyCg_O#(kbj^+5TN`J5!~Q<{Wk=1N z&xk6<$M$m4M`r1|54AsFAHIJ*{o&C)*eI*Hzz-{GgT2 zFO`+AtAJMBtDaR0s6ADGwEk>!TGPa~u2yi@y!K7}Pn}DJpsqKAOS?}?-u7&ki}(*! zje=P1$G#fFxBm6!zQJIdTI6tElXSWrvbVl`#Ztf(r4Qs#AB57i5LlINH{5CfA^66N z$kS#Xifws>3a}?p?e-Eh!+97z-Teppibsm>@s?pQ-d+sZ`zN~D<3Ja9>QE=VB&5Q- z2f5V;LnivpBb5H*h%#VGz^eKlQ3D%5yg~&dqA~seJu(xPLXbj}NX3v8ay6)f8Ukd| z^8Goqm)<+H`JTV1f4Emuh^|Sb4rd;T>6k$5v{w^N_A$g>+f!np^%GuUX~AV%aF{RV zo##b}zo3N=PYLp;&UfXz~^0^e0c0u<7pz7+8$_n5(>_V4{d^AO=g?KimX419H5Igr8u0DoeqUrFj`^MFmOI}=(e2ILoQ_QEn1TnU5HKEl0P(VbI!-8*_qt1Q7PMkV&g+tqR8vC zF(K25i#aPXL+Fig4tXSqg?sAVi|lodfdp7>{(9qufVudr9i$v$J}nU#mJZy}CJLm= zo}Ox1WmlGDQ@cwX)7mV0*gPPb*0gA_y7A3`tno{~uqjg5({!=#cauTzrTJKIS37UI7w=d=c#6^H|d)76=sel%%0#_>oR(7`=$db zfMXzHa19ayHDd(utAzQ8Z{#(|bXqKOKI1oXAA1hc#dV@ugU_OyLY*+){W4?*rT&GzeD*H^cXZ%!DKMsml|j_65)Xb<^$bR-`Ue7awt=JSv;9{!TZE&v7y80p&Zxd9rh9*PXaT`)EipYXBbS+DZ__o6Gr8`V z8Q5KiwY$4^s?K!j z^qw3fKd+jsoUMJR>M__faLZgR$o@mCcO!MZK7hUq@WZekJlD_x^%~KLe~d#>4&!HR zqUj($-+Y2N({hWv*t(lK(gvsX*m4-*wiV1^+izyA{W1&b*vo8lPG%N4)r|G7yY#c} zAG9al4C+_k70P4(2J$NZ4HCeAitx98AAY+37H)`tH@3hJ#1MVMQ8&DGh=9-z=Jefy zM){wEuL62N6G0P!1&|;>5NwvO4)MfWi0XE~!hChD!7X&I$Co%x5nk9g5$yHK#w6)jFZnj1vi0kK74omi6}!HCubBTOwPN|_ ze=6>LGFQfYnp0`}__50R5&SFRLvGE*_ZRDO-jDt5djFxp{=wHg<8yr5l5dKTMLklY=}_}YbEH`bR9MA@8j7lM!9Z<3e27CxY;^6R@Z6tidptiGjouPA#i!%Q0lRq< zKwE<{AuobNFnRDgggkf+z#|>-c8ioAPlmJXGeH=#fWfjIy{|ihRtUAp^sPxp`ondkgH5B*vl*guV?%T zE~0-1@21ZLo9IXghqfPFPCW%`r7Q=2BrgP9AzktxAXfS26Rvo%xKHjIm?bU*vdS?Y z9%tJH*=czT+-8pOL5+>BIKvTJygtMuJ4tK3wv#%1_4-ft@ntin!iPy+fyiR>;6Y_rn^D9uIIPxc`sWrUNBcR zzi*x9xA2($>;TSmO;lhNNt2yh6qmf&8XSuHoWLKq+ir=MtiN}g!)0p zdlja0xx&@;O|hkCzXI1gM}Dd=LFVem1)grGyia^X6)roZ-J&!Y)3iS<)yCKM@7B96 zxbwQZ&-=uC3Mlmd0aXGg1lT-TSSqBBup5S_K;U%xMZ{=U74lagp?xptU+jM&5Ad7A zZWF#myd@S#JtWSH*-p%j^%3{Rk0h}Y^2p!>5BYK8e6lTZ9tD-qK*@=hQ(ndOQs>1g zsg@WOZGQ9@+TN%b+MI~9R8x35H8pGmB_(t>nHzGF6dOE^cs&S4{F7TvJk8lel(0mk z-3&i@Gd+=G5bR;;Ps0axqo(gFqE)3m4j0?*qXu{EiH{o)^ zmxw1sNF;}NG%}Wij?j{hM^uue5q@%H0&LOHI4ilLXOhRzP3OqWJ zfo+O>g*g=Y4xJjwLt4UBh_wb82HOeZX>Di3*0x6yWt&4bw|$0UNc&sWA02Zvdphsyu60)!jJ*fV zRl`iT<_)|4&FuGzyKl{O+siYizB1)AF-^R{P6__O2gI6MGYz9|&zNGLfmRNakoC z4A{t4FB^G9d5mDauCQqD!|~j!<<;kH`xo>%|Ae`}<#uMhV6YyzO}@MjO8SK}%%!k)|`<4;vqLw>O^aVKctGfa zexQ`0H!(VhTR5%s#NbL(zV@fMuL4u_JtIk3k; z`3Ppnapayb7fKMBi;0O6VGEI!FQ%TM z&ZYH{Z!ngTLYU2jN|qGAg}n=x&o0G|VGA%XI6%xewig3rzeSg_!RY6#9JH7D9P@zr z6uW}O!uGMgV*A)!>`FEe)6H6p8OL7Bzo;0*3(5}o333nY5XlGq zmlO*5MLZ1F6K8?x#2KKG1V3;;{te(CY>fXjGGKOqKJ&Oi0QW#Ao!J<#on^SC0U4I4Y=%tLBz>9Et7}#vwHs7Z)pk{{s#JYa6{^{! zqG_+IHtSI;kKw%fj0vTQG0)U^EVp$dY{Lxkj)kU5H`Dsk$95bA&T%zC-g~YiCirqO zJirV>2zU-989tm*g#N`DPRI#Pr6h$T>HDMJvi8L#avvm~2#HGh8U8a}8r7WD7t@-1 zJhnBzJZ^U3_IN^(Fk#hDM$+VA`6(xc2c>-Mft#p+!8hi zSw?Sy9-({zt|2}O%xe1_E6^$CO1MFP6(Uu4f+i`70b?Yue8xevkJ?x7-P$|d^Ps1~ zy{TK~?C;*{i0s~EThrZdsq2xN^Lxh`e+ZO@Wx|X4ZntJEJ`HcE$M=P9pRhzD9-IZhh6AGqTe{!#NuYxs3H zf1R(fR8Oq_P?c0ku6$UwrLv}UPSx=eV)gzXZ+|^5iLHf{M%Q)yoYjCTo8NT2JgGIL zg3>-vxv)!IUC^6Qvsd^}UDIGdnJW!yicsXWJW(%gZ_!D*%SGqx z4Txiigc>XpQ4~jjjO>0vj`S1hlR@KI)zFdL^>9njP1N#`LzvdEO#Hd<4W!y|0d0Nw zQdW3a7I$9Aub^webAulR0fNi9TY?v{Zv}aoJA=N_i-HzW0lXumI~*E6v@emkmqx zH|v&be%1g~>#KQ+j>&#mZBz8>)Wxp8dify*QDu*Dc2iuBk`$ zjnY3BPPUNy>m92G-+79~Vt>1g3=UPqz^{;Evge}IQq(O5dHO|VXAGEJw zwmELHtDJmps5_MF_I%*2_3h)G2UPHi!7I7duox~0af7oMwTFEJZDRez7BlN`ADIvW znsJ2C&d4P=>HUN?^cDCz+5mnRZ7qR9{Y5-OxkY|Kl2Yplz4Wtq4C6a?C-XDf%c?~E z!NDUcxzpemd0d!<$Ataj#=}0b-@#t65@4^GX|OgX7G`4Jfhk!_Vdbm}*lpHM*d698 z*nLJbY!`z83!-m_UZdTF5~$-Ko5?%DO~gOI!T4Cvek?V>bov7rj0yu3BG>w-Bb>fR zhy-6S?7sH^B*?Q95C~3tpF0n^&N`^}v$jghaciD&ym`KkXbe@y=vov)%^i7>>Wz%2 z#7HN~A4smrmWYMYLXk`|aqyM6d!R^c>PJZK3WrNC3R$u{!b$RX!mEnk!aikF{~xNm z1OHRc5KYv~kaXyf@=C*I)eG|&?J8Ti{)-c6{N@>NJ_-o2o`oEBL?V&yJ=mlEAw)v} zW-R$F&AuNLmmUpL#rkkufUrW|krvlzTE}WC1(& zT+zHZ(NK26>S4nZy~CQ5?+$yII%TLJojBxtMtPwp3to_ubu=$2i=ADX(UsAfW=cJs zaz6>2M2lM)e?ID4EHlg>^*A^<+|2fd^w5v<{v&m;AK>WB5aa<`1(ZV}0^Sflc|tIJ z`(#9mX&*$P?FEijUiaYx$<>{MJZ9eZ z)^95^wmC>Pic{(;asTPR=h*|f>Yap~;TwZ} z)w8j&3GACO1?=wVAolM_6?44y}a!n6{l+PWwr3 zrC+7iFe=D(EGTIRn@gO<<`aROa6&f+PB_Ea?S?aB8~{xz&VXS%AQXMXDSIh7|#fo7$m|`x{9!XuEsm) zukmB)V{y}HUDznv4Rjst3Mztj6ETC92Rle*K@=nb_%{ANXfL`QxD&wuY=%hv8$k1X z^8qgCGK3zB3Hd~Wxxvjcj%2h_{k0_9uUU`D* zl&n_qMkbI?ldqCZQzS|sD?_9!RH4$h>M^o=nu7|Cc2HTSU#^~NoT)iwZqe?rb?Jt= zB6M!=bbSjT!XN;>GDSiY&24bGwGq|j2*V0o-w9IhJ_-hqNk0bq#?FEQd0IFsG#k+$ zK}0Q$x`y5mW5Yzm2Vv?HK4STaNAZUfcM)$S43aD2<$p`(MnR6DPg@+W5>DW2JnKTdm%rH~}(3Ap2^wMafv2vH*u{*Ungx$>Z4mOG$( z`cy!&D#&Y;ZgTG%ggRaddaSd%^+r|4AG*p`re{%s6K!b!NS6lEXlaPEwT7?%M3ij@)>u;It2U4 z`V3QP)uG?nkf?7qD$-~JBPUqjA#PeT;a@GcU{5Rr=sxp$$RyKoklZ*GNY%IdF6#bt z&(xUgC)KCTmz3f_rW~yKDOITA#IF^=!JSfP|5ypUFH{uO3mX{MgBNb*H*3Ob9Uf0CNx8201^zL8H^Lv)GH1adsX7yffH}pN~ z{Ci-1cagZI$14BU`&8}eyJ%R{f5q~Bu*OM{z`a{!7lHN4dr*P)0P=sP49s2o6nv9s z19>u#Ob>!iV22`ugN9;C!}bzLQ38@Go=zQ^B%>Fn#WLq-!r3L+7kS%qKZpFC9~R!9 z{~|gse`DO7yl)B4+!slGIg^v^S%*_rWUNaWn--G%Cb>N6NMce#P2AGBo6(^$L&9f7 z!Gjdxc9tuQLiLAa5GMvL#A3LY5q$P<$e+v_|2cZHtCZYhi^J=TPP9$?3$a#t5xQ2o z3G{04nZH9g+|$B$I{Ujm+84IJv`%XsVcykTZrt0<)(3`r&G}}p($G3hez46iUEgt0 zEbKyygx$MDfAU9*77L0+SA}U}Tz{4L>tMd5Ts&Wfl3kI{Qt`xtW`jcJIH`E; zU7;uk{ZF|EK0~EK2bw1MQ~FGj)cBd&ZCS+FZlBBg2#Gp7!thgvEI^pqwTMjiS@<~iIoLY(T^Njg8b)T1 zfgNFeg|nG{_!nj#VijXKawL5wDvR2VCXi+5%|rouIw2AD2@gcp;Km_#V@qLjY@qaq z*$JM3J_*#Ih60?3od7Oul0P0S@-cvmydeQ%_k6e9{nANrHQSy!H(5jNFD#F&2Q3P7 zjCF>g%6de%$(pO#WcjN4WML>5nGYytnrh`0#%B2|!)XOnAE7v}RVZ27WaW455Y>OW zM73CN(@r(b)cvr=8WJ5zM!$QkWrwfWei0bta)K}T)udzBf}JVaq)e1us|`jV!tw zGivDY*!RPx#3v5>o^W~Ct*88B$6LPo%6X$W6YQk4S>%4#eAX z=Em;L%84eW&yDC!ZVa=>-wln7(gZIG)$$H-8#$jC&)F#QZss;zG<^W!qIw}&Li|#1!iF!RCO)=Xik|?~bgL&SJzF%HqZ@QP&^T=cG)_azB z-*m6)zU?CQ1ROd1MK+&cn)N^79m|segC$DLw&0}2mTB@Ti%GS?M%6B{Up35d&NJ_I z*=&8DEZ1R=-#5=Y2SoEOgkJY@5w)IA=;y>YcL8Upul!%hKHpc;5-*?N@J_;i@Cb1yJQK0O?#<{d*SmldZ#}fzjQ}}4 zvjM}scJJT*d9Gf-L`M?frwt15SbhR|mifR8%X%Q)avgBfa@}8MdGC8;k$G#ZIo_4l zh2BQ%WIxdg1xPGapaIM6z@6h?=z2?Yz~dPORaw77)waK&pY26ZgaZTq<|qeRoY8lYBf6yL{*8# zsn93~WcBh4$q;Go;5zX;;WN=#LHa;-kG4O(t0s^vdfjVov+)6~XS?3CtnFCRoZ430 zC~qlmc-8!%zPhQQp4U|L`(P8aPTw@U?qTzY-_Vxo`na~+4eE}A&CE_;>-#QE$3XY6 zo=e?p`gV6$3=ZkJAi2YDkv|ZuQ2kFhLdzTYLtifvnT|<+TW18^5~DOd?xlv+K9P9~ zsL%QZo^4-&-sdRA4{@cEmbhP2L%qdxi66w;2ZVDDf|qlT!$90Sh%?-=C?`jcoe-G9 zZnFo8M_A8D+XEI73VjygA$2#dgFGBNl5h#F#Lh-tK)yzTpugdJfpxGI-X^HX>4w(Z z(xG2Xe?hnERzWIN#o$M>Ss=9NKLDhk=dI}7=$_ZL-C=8+WINI{(NggHt0}MMg5kfa z68+4IOdY!{Ths6ptUgfsT{Z6K2xVs3A_cd+Mkc9TD!p0Fl&t+F6`!j8AV&T^E7CM9 z6K6NA5Vy9xmt1b&EY0uwEq%~?PTJOADm6($q+Z20sY$z5dfpT%QQEFcB3)O-Z@hl7 z0-%!^z$LOO*hM87d02fGGh5q*GwG{{6O2jZo2Gag($v8?W**I|FyG~DG=JhQHgDs8 zGnu(BOeeWhO#__2Ersk^wnNODPAL7EJB3=~>7W$)5=dtMF`^KlAXI@O@$bPX+yn4^ z>~jbm^B!^({Txb0t$@}eG%!DWDxwNng${=7#l8TaB7i{#VkPJj$qw2`E(dL;oCN(t zodx)$1j^(~NW77!)C-haf^z4yg(0Yx%Zppqzs`=oCJG%u@UvO*)b zs{dB6*4@yJG=4GcwCGInj>YD$9=7!lzsSA-yv_L)*6o>t%JPR{+d%;0YiKa_4dM>7 z6?2_OBnU!}Q)8oGOnlsW&Ywwt2hr13g-p&Y51W#+G-6?1UexvcJu%LL&G9*f^Ap1g zT}h9Mn90?JcT!3V#HpJLB2)SKYg6Ck{h8v-`I_9AwJ_Yw(rmHD7)IGn1US9N9Y{xrhv3)* zh;fua!kvY1y$gcg>jvQro;cD%?+;bDJb@R3h&c`-NegK=77 zc*1rPJ#i9ApZJ)3Bk?w+C^3lgJ%K^R#$Be4i)o|&7fq+liQG-!6+vh4!;CC=7=iUV zbQ$Yf$XgaH_ziPr&}1fsdy=_|eU&wqxt=|e&fzd9XE}cpZ5$u|Aa_4@3vULxC1?)n zR`5_{UGN*^yx?)jc|lm@D{c}ho?V1G&8$J)ViHj^m;j`V8IRn>%tKCLvXK8{Vvvo@ z$*2uXD|!s;e!v1M$DU`+!VNG)gh*OBF_W^2$S0)`O@x)iCwM3^1M46(W8s7u7!Lk8 zIvzI_H4_U!K1bV;Dd@$4gq{}Oh>C(uLKq=T_A3IV z+w)ybR;fd7d1t4a-&u~EP+X2TZd%63Kqulq@c>=iE6$JsgRIuTm zBt*IojkEw(qkn_yuwICm@CbH{+z6M`bCEGDF=`d>0Qyjf53@WX1>=uKW9P@7#a@ZO zi2aqIz(pl)!#NXY5@sgUkZ1`g@`rc~3jHph014i2V>6wjRVrJ_LM#X8L`AZT{Epi~h~FCf`fbOz#jK(>*lc{fU(}+tUZH zTi5h0H=patHlFNY>zB2pXva1jRj;bcQ_6nLRPt`I{kKUVm45zHyiIb92A6r%fP>?4rur`19m9`#vj@ z2Y1RH(ibwfQX{>heJt5vxFNQh9FlPBcuBRrMta4yMs~&{k>B-W6n#L9DiMrRZ-Y+O z{0)Dlor3~t_hNt=19qZNQFqC_?nwm_B+z9x$Ww96Lw zGGsotQ-O5BmC=sLO0VsUYMeDzm1e%Df|*E4uVK4tnyx`*(-_rOl|eg2@k=L=eKMSo z$W2u7Uh_54Ict`PY3GWt&J58IcdY0y&jryE?=VqTPTwG?~6-;b0lTp zP-zR~zC0NEOi>cZZ@z~OYHaYQ`W1*TMm}=T>_+`4FwhgAT z4T05KWw1-u8&IwFe~^Eyb3h-glK_8OgS{dv(!I!vb;7J^0j627rP*@8bk{s8K<>Vz zZPA}mS8Hde)~foI4-^{}9$C6Pu#1yXMCZl-4rm4x{fmS}!h+s`zLPy2eT;6V;8y2< zz4DGVy@l;-_?>M!{$P7r@1%|!g0L=A-+KP5{(?T{;9B8tF@FFgJ2;r8JS}>qF-sO3 zHp`&q*Yf?gGfJ#;ma5k?Qe*OO*N+BW36Q9sT6BmG$5YHYkC3nvAfw!aOk+HT6FHla z7lWfP31R1O=Exnyr_r}4xY&ubptwG|HDNpRZelaLDCsokebNJ7WYVFa^-0@_J!m7+-%GzdmHkoWfJVJVI5?cCLfe1mjO14fA~rVxZVVT*Imb7>pIsx z$+^9=*|D>eY(Lpawq5A_W?j@JG&lC_GOBwQ8}NN=bzl0I>w*SzbsRBPmnFsP^5oNW z2}+S}wdS!NqJN}sHvKjnw2=%t=K^E6r_PuK7-M9CI}FwEbi*c8wqZR+Y~b2u;9)fYV5vpF=~D+?R+FN#4 zjS5WxhXuDm&IQebak)+KiJXZD3OgEcfwc;m$!tR0=xV6VKC`htj~Od=JK zPLVl;85APcOx=P0N?(i|V6I0@V8_BioCFw>vkQ8MGY|TbGXne7_eZrZ1e^Oe(+T{BMOH%F^ zgavx-Pf`!(c~YO-+go|- zy>)j<-QC^Y-7R&E8%aol>oC9wGaug%e#0;`=bXLwTF)vjN5>UA{5MJ-`nQ*spn|dx znq!I!%&s^UI9qi%u&mk_7-i`kIAObtO?37Pj`Iu;CHnV;reHato?#-yrcMM2;BB-L zGK5OFboh}_i9ZvcCw|J>kWOWKBuUePz7dlO+|+-A)y7`P&V(nNoyjupo7924xb%hG z$~wci^XlH<0`=IO+jVDh`qoKj=ca#T%hTE+St+AgYZ7m<(v7=WUGx)K-*mT;Nt$U$ zk!m;+QjA32$d)4gC0|*u#WAd&!c-Q>tAc}^Ij{)<;O)>VsE~OFiKz7 z3R6dVgej9R1_ml}0h{s!_*hv6U01$l=;V@hYzg?!+9u)7=9a-%6)myJ zW$}S_MPJeW`ThOF{`~Ou`MJWI@@S5n&RgHp9<6W>4TW4eWUcESGr&ba{oT!xIqvRUv%71XU1Ify^I;)lj}ZvpXy?~PqZxWYxNrMUgak*SE2H3 zlI`?Nkg`1%@k}3I_{+apFgYOO_rT`y+5}H>=ul1c|6a!0LLP=5&@ey)!KF*Q=1YB+ntoDgRL2 z)CG|V+SBy47(I{{I~sKB$HGB_f*o&I%B^GA%Lfe6+Ft)vcr*5-XrAu3s6=yHRINHG zdZe(3I?Fc;_sPZyUQ6TonD{e)ktm*@C1}J?<-t4~JBPQ7^`7g5in(KfKb(hjXLbRZ zf$R$vv)F+mD9b+rXzy(s!QBbuXveScQQJS5-2$R(t1Z5f=8m4RRfubTWjn{cir@Ck zig`9gMUr)b>8G{5$!6VKaoRShN@Aa8u64YrDRix}JoQ|)?eaHqtPGU8wuJh6KI7~C zeaP*YIPxS!Fck3&>JiCe&0-F)cR|Tf?}S09;Lemh5FHye?X9C|-lXoT<|FDoXy(m4-mH5Rg48;* zurZUF*l1xrQG?<-Z|kRJbg9=f?N%LrsyeMz^5rCN()9R6iERzSc)RY4alU$up;#W# zPn0x>6$%>ZUU2GZQ{gshm>H{ROD>gaL;HkI^gLhddB-{Hz>#6rkx-!81B|Pzj=VFC zB3G0x#EVP2;k=R?VSC9DTvt+!*DpOAHkbVj_ccuq{jD4pdTE{>j;YxZ-fnpuzHa*y z?%;5SvfZ-aZ|~aRT69G4OmKHdihm0orrw6*n33TNU^(8Ab&QDPyd|>)a_YT!482db z6u7Ef1%1;jW#z=oVox*-;2elg;O;cZLl%s-SS7yOql6izoo@+RZv@^V7^*6kSa|{f8F77n^ z$2gmn9ieEi6ramm(iQHwf4V-vUHB!lM z!fMAp0jZ%7vw}&b97KfJ8$23b;_nz7?$!lj?FwIEO{wQyYLQ=XbTgbGp{XeYjmS^+R&?+YbY)$A1V`xA|zR{`b?+>f2ui)O7!rQw#n4 zU+u%+6_$>o}M`1FE}{>h@H=mAN3V5Ia%V7I(WpqnBc{i8@h zSIUQ=ePv1%lsxzA#a+Bdg%jNG_=u|xXPC1y>$$@MO?CVLS~{|6kwZdS?5FX7Jv%(q z?h1Z!JjCSAkAAo7uXmsOt-GOTmBa6aZLhtvEGxZFYU+BORTVz4;+~f-f9A!@*gi!` zv2S!q7oV-9pZ`zEu7JLz276fAAvCQN$Cc$Rh;ydDRL9Es5nI(KW_h&+cvW)>TyJ>_ z!FCqZ-;& zuy=$x*o_bbf8eUnkPs8P7knKuVam`8R2k~x#e;)A#z4O7jNjwT@;9K&*U%mD)85O0pZ=*q zbD$o69Wzl_=mM}6U&+#uGdN!(V+1)&Uujctrt%K_S!-d>(l6m+##Mr5iBgd?xr6v= zid{N7)h4S>Yo#!x!HUnR3lwC^F~zIo^NKb}C*`XWkIOD4oRWs)=St7VG18NU&eDsq z{iHK=ttB;TOfp2dR7}aBolk>_`$zK(! zXl~Bw=ga>GURLA) zLskDV3pKsyfR0DMj#)($v8R};`m4ZqLmAZ2I1IiK??c)|>%AXIPq_1wkMZb~B*C1N zX~O3z*y(#LrWRmqu5V63I# zz2E@s3a#;W0C+~JZ*f;I9*lGZ9z(O0)jGg<#DcDb>_csKD@a=nx>>37rI_55{) zHat*oPLo~r_056}nzwk~Ag^V01EN)n2E{EM4W_m<*8ki>ky+KuRPT4wWp(#AM(gxw z)Fp%6U~ZZ@b5W|ZZtoOFh9voQ>W8E{$+HqhCgdCc7guc98oNGrx28tdPMN75DD9(w zgiR%vIiQt-!wpc|=zDBJq>FKz620G)ORNbJ>+G#9S>|kVg zoQAzCei!Fc;yo^wJdzKmtmnT@Z6c7S&gVN*NAhQ-gm_O=y71uS7Tj@(=Q+9Y7dfNj zrm=tM2eO;QY(tLfbVxtVV`QDW1G|Uv24{pK>MoUC<>{nNdD-G!ygcDuem(wKel~X* z|2aF8e-OUH!vQhgJBQ$77k%sSaq=%tV6+G$n+q? zo*jC}nHm0MIP$c5~7ln#NZhJ( zj$;9ny&>Al`pmc0(%ZANCg1t1x}R-z)$Lksh11M3wX2v{cBeeKba{!VWOq@d1S&jV z{IgJ7%oOTMb{2Lk9auQKtWM$M^5micrXIyDD}I!;ty)#upt@CAa?SPfHnnckHfwyP z$hNiWqN8c`aA&wy^%_CZrT4Uc}KBfWI1#U%d1ZET20cnVXu0|XCAA8#R z-a7_*-&^*2?wM`wlNAcrxYFhhTj5B1UEc^1I`a%v#?jyyq&Xde>IRc`cUlzWolJf3Sy#%Kb%XS@3k=53vd(=!2oY z(Btq!_8~&d=a88~ima6Eq13XE*gX zUJtJX#P~wGDKVZ(Ae-SPN)sAN1p_~#vB7ib1Kx9t)U%yg=g9!Ndd7mgyfS#0uPxHr zpT_|LZ@FiJpZM*=?*$lfPV|bJB$-bOWC*iGJ`|v%&bY-2Gb>psLQ0fuPPS6cEl>{P z;mU1%O1WGpQM?pMOXSSO$soSCc>{9_!k$j3V^ zTPB>S>ML2Tn<{^7c%UjtDA(>vc^LB|1JW<3`^aF+yk~6MKoH-p!LRt5hMDochOOdf zH?SDbH)s==SARlWtIU;#%6fkdFY2{0T&;V^u%*r`L&uD>`l|HK`faI8^?j4u=|u@k zVt2)jia8XE=u$M7G}D#MRi~x56@P`K9N{UYNeC$J2sng`sUZI;-h)eHPdOd^S;%?! zJJvAAW_Xm<1kJ6j0w>n&1nO2_VSwsRbjRwsG{2@V-L3WC4J?IMY55?)-nNq zzVtiyi}V_&zH}|}pEM1gFBt&V6S?S+P)0dj+fC??-rJo_DhzB_IB3)>_*!=`wYibJLY=rSnj#vaQd1$ z*ZcRl{udCtuVPMbld#SY5VHb0>P~PE{T^=v+$R4(Yw0Z3XkZV!FD&McLVoi9<-Qe; z5xf$&5tm8p$?M6RtL(}}I+waU4%AIasM3Qev*MSrY?GTX#Yt`{4ptK*Daoe|Y~r}t7fPxUEsQqIfHBzKnlO}r`Y8UI}PJ#K(N zA3L4bN#o&6RuITj$x&7_K|FMveFE4BrA17UeZ=8#MMxWHgx>Jvc%L}lxa(Lsj{NFT zw(%9)YTuULudZ9jRH^f>R$Tp)SHb(W#Z>#FrlQXGvWnB+*HyOuex@?_N7Jg!KjY2I ze$A>5{gKpG{VlZS=bg2;FG#n4EL>*4T6D=itk`95TRPo7yFA05ThZ7ttm>4bxaOpD zhOLv6bWL_$@LhFZ#~yoo;?w<0sj5IZ&^A~F&j@#Cx5wq&wfIB+P-3FMLMDnPk(b0T z$VZZgWLIfxVwkiYo+z<~-bq>oSBhI)rw(=BlTGgOJS0wgZsC_ao5Ni_YohMvbLe_cls)Ke?W*vmII=wJtt;JgYmT_u zR()}HuQ=$)i!#Hg@~_T~<+!VZX^RW1_|N^ca*O9_)fZoLGlRy}Bw{UVwIN}xJ3Pg* z2XAdv;YHT-#8lfjQfQw<9(SyzxX!awGuI_5-hG9<=Q&H*z02`xpDgU~4GnkjO$z<+ zO%ILqWe5NBy~A4gQ&HT17wv}5LYoCzqZ=_H`V!lT?!_LU5SHf8L{VR3f1(%hgx#lH zPh1?w6h~jH+qS5-zh%DpNloX~{K zM)#ZdPn3<4q1ndkqpIX(D}M1N%0_VW#D_RO!76r5R8CjRy2Gjg2g22K0(6~B2fKy4 zFt@NpG~mBMP4cn{hpR3A$UZUr%d#}wuG$yMH;Y0`Du0B43OabOVnT37Mcq(~io@ak zm6gOe^Ajqi=5yqh&wJpj^tdpyLc=Pi|P`+g>jTZ(14ETw*~|}2;9h-3@t%+!g25}_&IopHJ{ml z)QQYMPLivUr-T4Gjt@i*;v?9xILR4E#`7jq_k|+*qC^iA$YUWwX=9aX{$Y>N-Qb*v z4RU|SW%1ME|0g(}s1g~I4C2E{i=?uop0Z1crHa0Zvy@n(UOhIUShGH1hW6k11KOam zqpqdlsE!>=Xcxtt(3I=8X*OvOX-;V7Xl$yWHbbe=rpv+_v*fR)r>IulS=d?mlK)u# zl>0;4hh0ZB2g>71n3n8h(gXqFYFZIA5D(Gjp;~VnY=LV5+QHG*x6*dW+tqs9v&^b+ zf3WggrPc$^LfZx>Vn6Cw=eX)<;(Tf^aD(>6o=x_DeC_Q8DBy4eUb+4auJW+L9lbws z)L%rNz|@g3q4~^oJO_M5)n&D%Z?HFj|8aM)Ch_-j_6gmBI0-6=RqRw8(#+HLi0!C1 z#a&5263!#V*sN zX|E|}sD4S_DW(Zq$fj_ANyZ`jg-&P&k7T;DYbX|r8;<5aVXK&9{^b$B=LL1%HIzK! z7)ZRby(T!;H&J@RNPMDoIbLfMl5AUu8tsrqwmEy#<6M*JfO{x2%p+#bdyX@2y$zVB z-apI+-#ex?noj3n&FG#XQ^Y|Kw1Cc}e}dzIOx70g9p^hdM3BIGCho-MOTC;?3V?f4 zd4NZ&Xh9>*Bw@0)T)01`uW&}}4#64yg(!V+74KPGQ(nWkGu*PckKFlj%Q(*sZ`u3w zn~?OFXkxs!8oCxe8MIe*g2pS^kV%mSca=|tXUdMj>!d|6Aypx4Ne}ixaS~T39L>`9eCTt&osta|+ln+MT|t}j)O>l_ z{JcY@HF+0G*X7}*4f5BP6c!99=~8&Cct`QlB1h@IqTS^uiw;)QD>7A1EuK)drzESI zUwWb@T)xBFu)<}ZVP54NUPDDEj6K{odw(y-ndLj?Ziznk&ImU57le0X{}QvpFzF;p zBTHxrvlDy=^+1jyBYC5_S;CwAbCPYszA~R^q~fV4NBLOvR#_$*q8u+gptvHKE%)-? zMR}L&WfNH6r2m2u$xvpQcyeToXb&Y5o+W~U0l1AfIedp*5NZy;#dZKg&}!8> zcZ~hPpFz&}zuld5ZU@)ayt{6opvZl___$|XS&4UT$J=KK%Dd2Jzr?}VQUN5M|fCU}|nJhWKy5!6X{gjXLu$re@(|1-*jK4N%*qu_Sz0BdycEGHv$pSLJ{SrCIC7D|Zg!f#Z9XgMtv zj|PTHnnDjGc9u=rmi=0);kK1z^G1m;^Bapk^FN7_1Wkp{1^b25g*-ut@G9RTn#Fr0 z&f;E^AlwwmC2m8hnmb?GmODifBHh(oXn>IhK0QI%jxXt_Pmho@Dnm z@4xP8zR~V={vRY<7HGI2un%M5mk7&B!!*KfN4S!JL3r zf=bp~Sj<_6?B;*xE)uU6%#sfkcUQ;CVBKlOFMX-{t?`8Jd4f$pB_Zjb5fQX#-_B@w@gWi?UvFvW>Ly>-L=&I+V!bFHOe%O>S}79@>gn%GB??)`d?CS zH7}vLnj5!IH8^&WQmW<2pD8cMj>!I%Mo-j|yMnsn5!?jf5@ZlR3o7Iyz#(=6I+gW` z91kB0_lL$}Q$WQ3liA@tLyvM_jAT2Vkv@*AkwXpz{Xa)5X0_utaMyVmEOKp!BJS0! zrk>@WmIQ~#E`ML$1!9$Cz?>wZQFK|!!g-5B_++{S#7zo6~XTv{)Qjhql8k>jF0bRW@B z=9E@Z3xro+o1GZH@@IA?h*rbwtN& zLu>fUn7P8?fJeLu%9b)wAH#JvN4=eMPdA4r)a&?A+!FrB`1OL_iJgQylCFtvC2x`- z$;HwY$uHz-$>X9F!H8->(q#3M#3P#92_v+Nd*WQyCXlrGsw0>zb?LP4l%>rSC>Zu@0v5j{~mc+RgoeQQ48i8icDp~-aC*pwQ z;Ic?pbP$Pn58!IIIMl;&1G{Y79~fZ?po1-G{&AKBUz)}2xn!l?fIZWh?P%!e@8sFX zIK#HH?lfCl&vV;2-&T7HI?8bn>if?T0Qk}6G=KTxhwOSRjzq&_b8f^l$MyTlpse^YuVHAy>}Os7++ ztc*3O%`>*A9L+eCJTT*S;)0CZ@%=Mq#l@#n`i%5zF_Y65X&rx36#}vYC4U+QKSh&Vn4OI-($k;&nn7unB>? zzAL`XF3df|p5RzfJK83xdS{WF4%JL7b(u}Yf2)ob^{9MUIHGcH0a}R_0_M(z|I}y; zO%`R*f7aY0w_RV{*1;|wZp2O%g->6`YAIFQM6R%UjUNjjt0tEyM>OkIw=TZUI{m53fE^>f#A<~;? zq}=?a)N#QMs-AEFxk~teSRuTRcM}c{!-BQJxBRx)I_{Q0OZEj+!20PI!wr0Mz$ZQ} z(9{ReXMBkf#J7&T=x;!bMBy-oehX;=!vik^`}{G1J)RALey&usz#&2bTc*!$+3meu zJH&IPX0wM~ljSa{8Rda$UVG-$w)e)=Uh}oE0RCJ{w?L)kSTJJ2!XK=?2++Ea_+Y(D zPPDb4r1lO}zT;VBoohtovpYX>(%XbWeQT&V|7WrVT1G4hEW)1zc7)#s`h~^?*w|*& zjBZ0~eZK>2?}0#f&$qxePj@WS{S-Us?v8zP|VA5c5T``0@bc_-OBxPDph zIFz*qtdq<&HNJ{s^NTWTWo5~livNnEsea`NrbK6=#ciRTqol>M6x*Yb7O9EpJPY*!Gu^j)kTRt}d0A-M(tM_eAXx z{{Wj9#T;$0RjxL{3eS-6INu8*HE@J#7y3cZBs&5-=wHwcXf7gSYd9G1v7nKtop`Y{ zTh?ANPSIC&Ub#opOw~-=Ks8ePMwO;ZS1!|SRrJ>pvUxExB+{5-;pEu5d^mO_w`uGU zjw;r`o*r`)`KCL;qBUNaRAoaI@>L)z$pTXaK42>MIWrYm5V1m;B*{qddsNHNYWy0u zA!I;{12g@Le5ZVIZky-3bG&~o&nrGHxGQytMk|!!0+m6UsL{&mN7p4X=A3+n zK1;sF@J_BXN@Ww`HPX@XpCoOf>}5-Qxo~292LE83oqNJCj=eK>4{NjT60}ou1URo+ zO=F5xk>j%BsIK-XbxZOr!WWw&??t)v2jTcAqx?9Ca5q8_JIY6c9dHA1EnJ@wK_95E zpp7U6Z1^ld5I)H44i9EFgpV*k@ut8gA_*)evsf^7kZq>L{G=#dF$;JljRjxIUqKgD zec{KNTS%hr9J?}B&3&)e@Nenu!c&H0;sRYQR8hVh#JXM!ic1 z>NUE@v5jL=WBSGH(JhKKYPZK$YtHJAs(YOFq9c`DYZDAc`>M>JKk&#D6w zOiqdhNqh0@idL}0{3|fV$pcViXygdo2X}#Yf{TGhsEOX}A4xs+9U!be37+h|5bEol zi#79}McKZ(KERjfS?fRPUW0CQxdXdh7qNw|lAzkXKDfhkC)Cdeg|GRS648!4H7z<- z6oiH`^TR)Z&x9UoNN$0TM^+=6C^!3MG%@l6vR1(3rivyD8cN=ao$~RDWYtDZL!BXJ zz5b~|V|-(5mZJkV(b*)x?UZSFer-3=eh-!wp@R z!_QqO@gJ^SQsz#e#=7T6^4-6f&7N5BKTj`M?HSK9c-FE;dMaRN)T7+Z_Z8ZTt_B(G z4VWF?4|XJ9fOTjL90H=?d)6~(8>cV)jrRpvBNTJ8MK0b9$$$I`>0ZGt*$tsc{#)2U zDHo1ZO%u*iKNpVFkb-_AlKWxAYFd{Vs@nxl#VY85w` zZt|g#N|`aDkph%Uj7K_)h{$K5mtG-w$@Jz=h^A@hfHOHtXgAUtJ`9gyjRRM)-Y_|= z%XDv+B$5nwqPjuL$sCAB?gCNrBGiSnLRRYkpW}1L@`#wzE3%c>A;Jin)1yQ>`kJ_a z5lY81KVR#3=rWh(oP66D4y?(zmIM)14I-TZucF99M;<>yHj^8Y95 z!u!InPo6bgXF!$5#`xPMTxojmIBbfkx5dHwJ@+z2F?Dvu1@K*8x&>Tg zSMADm)qKvk)lMi{Tw7JT*wV-J#NsroZS2~;_9ylfXSM65C&3%>4MQu@O~C~i7B+`3 zkYmZg(HZY&U;^_2x(|+JIiZ~#Av}`DgWvMMz?H%T*dh|bm7;y{WzlO`EZPY=gf3u( zpqh@lHX;{!?Wsi^KiQt0kK@RX@C%kXWMZ*GC*k-I1*M0-02Ka?*+!g<{D^*2Ia!3~ zQ2fwS@;CN^Oha8nUH=dq@bN=;yh*_}o|A!>o~7t~&whWI$B8C;7X(K5GJ*=9GpzDI zAR3|*s5t>1{U-1jps>|Yad0ZDWoRCf7Cwu7AO!4g`G1#_6#nFeB_=)guL#omV6K%$NvQ#5@bV&Py+rIb^wcna?l}| z20rEw2itJVfQ_6?<^?i|ehgoXbOk9g3m6~m$CU?nN9G2ish|FjM8v1U^E{KoyIg1} z#l^>tIlTdqYqS4|`;@Pjr_$Tlm*DB+Z{>c3Hg&HGB)UIh-8_eacfG~oS^nunQ4r!mJA#mqOr`e$*4aVO$e#B&qq1XdE9@F=NGV(-Kui8b--lSap7B%O&Z zOggIjm9$D*FKM{?N>W`_`@|cHqJ%T@14c@=*T6`h$J(TT&KAvZ%oh(-9S}8DWC%V< zZ}F_+ahyHEL zdIb`_hXMj`G|JqY7O3*hz#`rcp}W4O1mZhLz4sfKMgIHXD|9NnBA{e>1Mk@bvCEvJ zK^J#f_#*c!@tk`;0&!O}v$)s65N{Og0)Hl_qadGmOSC7dbvh*4B0Dc>q*yQgtPIIJ zt5u5q8j%G z+ADCX`tZsX*EzLv78{iIX7v>BgIK2S8*Z&el~C())_QUbX(LLbavIT7`;juqflPf-B*s# zQVP4qq4-C=P`+JxMK)bNRFW?_ExIo}CNT1za%G(6tP6-9_yO0Y?t;ef9@-KJM0;2D ziFe*fIOORYrN11+_PBNEUzgXP;%@J~;SqcO@v7W?d?MF2-+Nb2f2M1Ne~DY@f9d{) zw(~p)h`c4(P=C{)3%wA&9*7VFg5AkCp$Cyj3U{0JPUn?ZkoV@NX0;*3Wg^Rl_9 z;G%H1SSsx#tyN?zTdPNFzG}^}^g4Io0@8m8J%j>*^-~@dMEzXPLAKJQN%S5&UjjaQQN8i08+%dqv+z-rF?r*vUcRTf) zV<(?*Kq7+F5F=RM@L}-B(1)n6y$oUp(!jQ8Jg~`+GjGtT3>;9?n!vS)0!tvjVTXto z!PxMG;Jx64P)uNRsHMLo_|>-nGkNO=R(QDnZ*HBhscXE);$%FnoPRut&SKAgC+c17 z;`kmp1L#=icdUc+W~iUD1aIaVMdZ7Al-m7_k!YhJ`Q1_q;qk~C-qd^&(fW7p+#&q7@ zfr*~i=y6XSf1dlC@2cy&7jQ0ddF=Nbf34T;n%d{q%hkn}p;dTIamCZ>_T}}e9+WJu zoKmE(=v*+(l#;)F zr*v0UxAG3=pb4#+RC>H>cVyUiFZKym0K>J z&3P&y5Q29ezQY*^%2>7ZP^dlmm6?Yhq;7|{5PYm#XtsYr;Dx8Tuh^+`J8Vy!u(h>q zq9xU$t%=lhsh(%HRN1OrmEWs6R?e&}t9%vJxL&Mes`XWyY7ui+Yols~y>qq8nOtLa z3oQ!oKzPyyT}TL0y8 zu5;7*dVW{oMq#R$7U8n#QdqG`-cBV`UQ$`qW_5GzH+7eoQR<$tC)M5cSJWL0Bh@0q z5!E9@AC*GCS80e{C(ns#FKea!DcPxMBeJWG3R@|H{3Y^i?iE>AHZJXrY?1trwKAGJ z`AMXLM+;`d3B0S2o8y5Vu>S{jj^2e^@CLvN0YE%3jcLVjqQ9|{iUJnNd(;kM9aRVa zMV8}#$-Bf(@(F3BpvW33n~9Iq2Tnw2NXQ7_tH3|Vc`*8*!>jns5J;$EZxnUpwh@E; z4DlHuAlWBcBmE_wD^HO$Q8baV6|ZG=6yKuf#{Vhi$-gT*$y+J?GLvd|lwcks`=DMR zJET4-OHyB#-c;|Du8F3w<)}K#+A18fdGf(BrSyzcBzB4yi=@I4f;iqMUNiO&&UE-Q z@)_{5B=jO^5Y-ttM093E;cbyCq3%?@;5}k%@P7DJs9mUT7{n^W=0F5L9q3DN&>}*N z?!}$xegZ&qiIst#WVZlDhOv*-q~JN~XlPwT5FQ*M@b1hyVjeh$%!B7gh9m#dHZ}pA z$O*yt5^Qw1Qy@Lm5A7SgTe%>?4KXH<}bw+=nx`+zN4r> z90LTl0I!dgQZIn!x-;sV+Smd!PsbYvKq#U8HqiUkMpvqA$RGx|KRPp72g%TB z&O5$3wpZ?AOO|tKO{QHJ$2cklONrH<$NAGJ- z`C4gXg-Ci_VU(81kI2$wb7Z?DZ)Lwl1+sfWwk(}LOWK^*P?E-NE3$HC3wN_O@|{R; zo&-M5t^q%?b~6@8OxI;*Q7x#4_y^n;JRB1Gv4Gyw#HV+>cPp&V>{PAH;x%utc2`QO zIOS_iol4=-Ek%!tLIu`>WBGUUuIKA=v+~S;JLZ-BS)cd$w>j_e?;&{~e?$2lf0Y&V z{4Fi~@q2pl@;_-M=D)hqirjz8Hsn1mZ&gs&lvVh+;#TpJs-dMTs*&>JHRme6T838z zZ5?X*MElGi+=K1WIiT}FV5-{_s_RR_x1!nPyr3}>6TVCDAUVvt2p`Cy|AKpfZO|a7 z39N_j!1*jIYdjL|U9jU>2iY>#Qsf+~Co2F`td{UpI2)P|Rf8E&Q|1adoz4LEMxVWx zR0g9Ui|9k-UAi^7DDs8mMUsgfR2(saFcH)7!US=DD)CLif;%`B+rJ{My`a-%y{A-;3)YV z+(vn!5z#3|JDO&-W&R=!faORL2(uyZIC2MSi!^`%)^qqc>o6;sb(Xb^b(K{Xy^iTD zF*^p{&i)QJ;naasIqC3tb}sywy%ersYv6~-8Cb!30x98jz#YiINC0mni}8`8XaZjp zc@vsW&BQvAjr|1C(g)yUJQu@#JV_z8rz`f%b1(4Bn;xxrcBAWjY83E&@E`YI^6x@# z`6~l2&{f!%KvwWH);iQaxIA<^0@*}aEYmfHi9QvgWx1~ zXVxw52KFKWm%B@Jf&V}X2tUhc@khl~sa4fWk)`3Qu4G39bCK7=B~SFfA;`%gJ(SY*ZUyQ!QU}(1GQs~ zu&>zTkSREiXb>6@T`k5jGW-=S%JurmsxyWJ^#VhG4ad+{Gslpod18=g^7St@ zd9hZ_o|wZLp|)DxK%-E>s{V?riqrCba;=n*Zj>As+r@lQoUpZ^9e*fqKKBp@<*3;e zNDf=UT8Kn>-K>e=TR0xr2cBT|0s{IteK>MHGKjiG)g|4egzSggiNE10qFq>q-v~X# zJB2)WgK!SMl4wRqNHVHDu#?}J+Y|;4q+3Bb%pq16P>TG8-f|YRp79jyJpMMWP4Jn2 zQ}|xkO>|gvRlH3ikbIF2ku8_)Q*@HwRsK?ZQhilkQTI~~P#;uXS68U2G#%85nr!uS z&0h5jO@DR1`jz^A|!pjqX*z zh*9W{;0?5MXgk_B+!MVR{)>k3(Sb&IC@_t99VjI4Vdtq&!P7J=l+X0TQ-RIIH}C@W z6naemU~zzQ;a&L-en07c&U0}#5-;o;RTKG{_na${RAe!67;YD41BKWo zdT?|OTIt(`pYsk2o$^e=uDG|LuUz|l9_J131gFYlblBYzXA@T==TYaTsFJ&lYlyR@ z>%4QBTi`5k?{E$BG;p~*CGPFs^B$vbwr8)uohRg{yxHgnU+cg-e@sw=0-;B!9iJ0$ zlQF>rYDZ{wq%uq~a$+r@i;||wBcs51^rmQ<$uejJ&=2|z#>1JQ748phh0~#5P!04D zIt5LKmO(P8IrtvD0S*8T0ogRg%!(w@Ey#tDe~3{L8E%P;!gC|v@l&)Y{33EHh*9$c z8;Ik6AiUU{7M$bh7jSvT1mvD)=#T%S=&YmKSi3Hs%w*!p#GT*{g;ImMyZ6>_-Cen* z?OT^ycXz*a_fn$*v=l28mjH2hotbaG#d=tazp!M^dG^`ox2>k2cFY)!*vP4Yc#k3>@|k53&POgWH4h;GN)<;NSRHrvex8 zs*r_~?g1a!|Hk{(-^u&kH`n{cJJY+_Gty&rkHT+*qup6fTuZVejtbjyd%WeWHQw~m zRAUGl2I48>=e3*KTd~NUsYqhvwBLy_L}aEVYNLP^>tI4BkK>Tem3}9KQvudH>tMj$gO(~ z?bH`dQ?<`6|LLFN6oCS#!`$Za*}D2Yj>DmHmlIp%okMg5D5Mi1J7qS3M(+tiOe6Fg zPN0tCc<7&bt61UuDtNxI2RB=EmLDhnDp(-dE9@X?7Vei62~SGa2-ivo!a?HQLaLZ7 zI4$bKw+i`u8GjXx2;(p+d4sOXc?)os>(DS zRXTNj%Q$sOD_uixQ)p(X&uBE-1=_p%F1infS_5qAYaEWhwij6w%*$*=mgkP`wpFf< zj-zhO_0wy|@9qNM$IyhpQ}ihU5F@d@U@p*+yo&UKmPMg3T4){E(;1nZ92Sc=kbRZ^ z0(J{r+yoJW*HzSp{~ea`e~A|gI*FNr9MJ;77h$a+AnYxa3GN8+sA9orUIG6Q_ZIIh z=OnifzR$^HoA8cwJo^dj2P>Zy!&Ec-Fk%%HQ;=|6!vyT2Y4To!%G}7i z#8}T=MnA#SRtBf)WE~Lr1h4lCQPt4xJ zGpvu|VX$2Cn6p9pm0Ka3$sZ!SDfmzJNLV1dB)TlyD(){ECpJm_l4H`-QkhgCT_Cw7 zT_TB-4iWE_5=1qU4I-lWp%4^Z;Xf2^;RXfM;U>O-b(y<^F%v#Y>(1IrNnxBP1!ySn ziF$~zfWky$py5FexZLj}p7mv7i03xKCc^~>}eck*ge3t^_e70bse_$xfuSfO=DltI_2PPwO zK!rjO8O^0+VJB(J2|pQ^fN89kq$v0t^p@L!lFrMfZsTvHnFKQ!{L zI#C;(AYKZ8moPc$l53nv(hi(H(z6^1PMG#dOWUFw;;-trKY2$e#oNGC`RuqP>+SPw=Lwg72Zf8sE- zFX4a4RP0`8JNhU1FPa{>h!p#s$XowAB;T(?e1TzT@4zFpF387T26q!ahoXp|Lw4XP zVgyfPO40?wF(?m6B%8oIDgg1Q^<*LK47r}3LAgk8q%LA?qs1}1(XKK7&|cy`xRtCn z8iU=J`ii}kdYiqSnv0Wbn^_H1EvpyxC-VUH65}y-HvI)vMms_|LG42RLN0)|LUCXV zxQSRue1#3iszM9#nzJf+#B<%B=^Es*Il8+FY_l8%mW{R&(=AJ#G0M!;hm33V-3=n$ zM%_E@5$y=gWOZ&E(l)8}bZchIs+KjXb1I!`sA`vLx~h-rp(;gXRds9OtCqJ+QZ=-S zTTbICKi4!}+EiMXhNEAm%{1K6tuv7gp!u^Au{tdgjzzX5E{Ef$ccD8HCq;Y>$pW{~ z>Btts9zrH?638Vjf|z885=~h^BT=8w@6$BQ3`Q7h2eUo<0xJ!k#%99x>|dO4_-{^M zct58D+#bf*E8)ki8SpITP*}hK*=K31SzjnKnY&0fx&xR`8-WEVTafqA-rx;zpnoUf zgLggJ&OI@B)Y-{Tw>5f}TNXO&jdk{M`bieIMr(TBw%)L-MW|cQ^jkBp!PIu5eqAfE zZoTScZA0_y+Oti6)xK)XsiQO$)NO1K*1f9#r>?H9p-xq|ygsZht$uSIzdl$;Ygkg3 z-cV6@ym4jy%%%+uJ5=PxKdpr3A?jpRvvzjtbNz1h592j$qxqHotF_8F$^n@2T}hUH zo~~A}Pia5xFLe@w3tUkllRFVz>Y0I+d-I7(|45)`;1!q>bb`M^2#6vrU=g|poPcTo z9U1~|qOHI|v;g=Y`U04X-UNoAhk>E!Y+weO0jxqHU^3z*BKVnu1PGguN^A=5U?hb~ zLf1pm;DX@lz^p*M{}f*H5&tgVZC|PHj<1Ig^*a4Ky#~CV2m&{KbAtnY4MEhuI&?aa z5K;$zhAMGB{f!VgbT4!h2}4FBl}G@+j9$fhU|q0W>_0*r)<(FFIq@3gAr=s#fOUku zU^B?JZn!+|v7Wulo-O`Jy{ z6AoeuYzs<6hlTbc@_;J%$KNTi&1>*0y?{60Gs*M9{n$frS=?t`-QA0vPuzo?lkg5j z;m&eYxQ9EgyT>_JxraLDxH~y!x?>#2+$m16ySq!|9^+o`-r;4qO}@jP=K-cSKe*Ws zBf`KE^uJ&gAqAOAJdgT;5aAJN8<0(wktR~~DbrLfRSH@bHow;{ePQhIGwdf~z zvqZxmC@U3$iUXnzN{RSmc#`BJ-W5L#Zj@SR-?oI5sj+*6T5)B6~_2Vj!$ro zN5Jn6c!CS=fXovV%2I@K`4nLXMT{^~aZrFNJ`3(B-U?zA8~FdoKjRAXRUTi;=MEH) z=kyldfTe;IHiIu_W%1fG-*YE1CvgVg+7N>wXT7JBnd_)G7&J-*Z9H^{(g8$CE?^~4 zMlcg;*nVt3x)SY)JVU~fzM;VgEBGqp2+l`Eo~d?AG(B9M1RAMWt?OmXKsh_$voVbeF{#4m$IwjTJ}=-DyxiL$PBS|Gk!87 z>D%ewXj!yHREW|*en(b7{Yi=7J7796nxG~MFa+~p`_N)+7IF(q#Wjex!BdDja57Zx zpBKF469-OuKKmcLulibCH+*zwi8snA#(nii-M1ZM+=m?_JV}lf-blwi-!O;C-^bYt z*PRap&N_9$iLS+=IXJJe)WgOWdN6{?>j%2}nc$4TcG9!ZO!7i>Cv_j;3cUb0%q$?y zXU`+IhtE)KoC~yUZZ`cDuRY@fubz3Azmc^8|KCIlD%dxL)8Pc+dpKW2;`}Qb#_b?F z#l0_j&DDwy^5{Z8FG5J=h4b%o4O|y@Io!m#%DN37W$a~lqMckZ=%Y`uAJ)&X>GZd3NjT$djoxbcp>MRT)<3nZ(ciRu(l=Ps49Bex zjHR}T<{9?BR*qw*?U_^K80GHZ!ZVfJ7H_7H;A8kPUvsd~e+7vMOhjV?^{6H|9(#k& zN}q&g5e>N4CmJP_+M`9JI&2CQi`~bQe$^105JvJ4hLL^~`jbvz2uY0X04HN2;1IsC z@)NyB9E;DSVRSJ;gZ3kQz%`{=C=n|}n$R}nGV&kNKa>)BAGjFe`USz6-WP#4p80`+ z?sk5iE7E_(xe6zr_wWyNp7v+EhWPdFfr0s+zJYJv_5s9O5$x?t3f}Ye5B2i>6)N`~ zMTYv?kOF@XbeMk(2KxJB5BwQ~k^V)5ya11w7E}<=h2{fXI4_7`z7-jmz$pLz!hU?Joc#z(|RK@bZi2POnI_{R7u zJ#pSh7uDUvA#=vs`rApC)z&1_1@jX_k?FL)gYlHM$*@QBM?VG6WldBIwEVVcO?WF^ zou;a9i*LT)3N>9*nH&8oMdPRDn~m<~O-(t?+nS}#mzo=zO{!0-tvFJCO56O_g&JAg zZmmK6P5)Kf+xVZJW4>nWZ2e^3>R?%$T$dc3yjxs%10TKJ(C&U4u{?AcO2-oLSJn!K z99+eE4-Mv|kqx}X)UARMG_&v~OlUFq|!HP&Nv0C@%@ql$`_a90T3ItzO8Z1#BEkNmK2SCAgChF&8CRDlt&1q6gp21WsEp$?=t$`GiEmO+`y z;NiQz<#Yl25MwN79CJM{m6an9v-=9G*~Q{mI8j^$j~83uwcfsqVMcBQ5d^bIEnogzeOz*3}yY``*42uW+s7mlWyf^(cZvQs54jt$pOZ4=rRo@ zou#@#GgS=UqKLrbWHPvq`>2|uHdIUwaYCz?_Rw^E+LIg}1;19=5|By^LtiS&>;9bChp z6F<>zV0Wm~knNN{!JFjXfnm@{|9aAFpB|j$%K@f&4a6+(U;@*#70q+MMkcsy!B?(f z0h;rrZ?RM96+6azSoRtC2F+sE18aqApw;9`vlY3PIO1_N{SL0j_&ftVau4GD+gs@K z`wj(}{t3wVKpeI<2oigSh`=KxmK1?5gFa)mlsw`LIumGNt|TpDe}SBwI?8$8ecA%S za7MJSgn36ikyRooWxtap!vD!LIiGOzi%oHX&k7Ur>%!IwriR@UoD6#*xE*#;a4T%N z;A)sm@IrAwP$qvV(8>-9o=X!2sp8H2p~Bs~uKe!!)bk-+%JQ-2GI}#{jhkKswNk6W zsboJ9fO?=Gz*C`hM7!TZ80npgzIS~@^r&tFDPFg^Jqp8N<(fHnX)==+7 z4MV)M4T+vY!*owCgUVfMT;<+nG`V}2I=drHOWiT1*X|tiDi7Uq#FJ->_FlwOqxLvY z`19O<2UEQBLcjd==wG34*bB@~s0F-49dsI~qx=WHq4gmxpg$rRnLMaF>lCyO4uh_9 z7D4sg<>YW4L|(w#LO#dyldtfvlD7%^lRF6>K{bL~&{#nt={|oBsN($t(z(Zg4xER? z(Xf^<3zlP3*aOf7tVCohqagHzt_VJ(jt^`mZ}D?U2fVj{)t(iEB=ky=_2|I zolAVM6Y@NBl(`EXb?$$hQSPJ86Yejr2={l_3HMG{wL8`2cLm*HF1>rbOY0H2-gxR< zE4;T|Jl{5FtACr*7bwNOYO~!(QI401J@vgMW(6h!FN1GMDIp!S3BkzcFePO&A%o&0 z#!|D13=4H@se>cu08EEOw||Qq=6JeC*2RjVcmCQmY!zntUqC1 zXjo{uYg}usHC5SZmcJcKY(iJ8UE}HQZ1ZJ%Sb>+mNg-F@AvPJ;+BKL2-`cS$b6#Au&kiiCaX2MgQ_Kp^*EWe;dx`jb$k~A^I_RC#8&K#2o`E zz;gO(LL&7O+JPbn4THwu%F6<;lQ`VH0*iFiASB!JAlov@-`Dimd%-x?!!`h}8@db5 zq1p}(Ky9@>Z*yChwWV76wQeyFXelzSYUyBnp~^FgR67k_UoTRBiBV-BPrLd7yDvTVWIuI4D6iuX$LTAvYq0?zCXdfC4 zrBM@*V#*Ta4uyjpps4{5Ir)zJz9zJ_nmXO)wiA6N~|#1X_tT zfnS7Y0VB3K*ah7e+=D9cNnyv(VDwQafK5UgFf;m!Fa+yLSb&oPr(;(LYcUVuC1D>? zj(^N09wROVsKnvG6=HiZn>Yb?M1O!1fl<&ez(^hi?k8(VGRg_kOX>`$KP?XWL#rgu zp^wLPj!TrT^mmkv^iP!A^kX(p5`gP~ z7F<9}rUk|nbDr_N zHOG`~?~nWF0+#Ns-PR=@sjbxe$&urKVIGmp${LQ;3knm(YI`{AYpExXri%2Nz4S1JX30z~~vJAbJ*qwHk@SNJ6(2iV>oyV1T z1F0_>4%8!Ki8Desupc2FIvu|^O%Dn}p94oj+XB&{e*T}h%jkc>EWa`^$M@NPz<1QA z_PzHV_mA;i4aEC=xFWeMG|=xx4hME(#2~Koh1wGx$ZW7X`jWJiz=T#2qsUW;^_2EN z3Y88_p(4N?nim{Jx8wYhN=VMkg}$>+kvp(wlb5o~$!GC%lRcJvly#6io_Q2L z=p#tiaF4<{N)s@RTua94D=EBH*y^48yZcd2N3M3zZK8h>4C-*8BL0cHFRhb*5XcIv-hbT?`B68e{F~dTE{F zUTxjw*xe`GS>N@){vX^%t-#wd}Q`9OSy^;yDZ&zC6J zm&E(n^F+&7zXfU*gFlTa<*FG8oOATva2#zH>ln3+agQ2HyFyt=*-E|-<=`{_^Uy`2 z6^bHck`|+*z=a_Zkm0{YaC!$|`ECMw#i2p6ZPlR+%jba8^vs`cc;_qB6MSUtS??On zbuULF@qAI&d$y_HczUUKyD{}ZcfOkIzO9aTKUSY|+cfJvIofC5bbYuNF`V#yF$Voh z%yR<@i#JeYD-RxXw1s-QX`u=)2kGiFB4+}35npHyx(@A*g%gHh9^eka2&EA%lsCXH zni<@}_yPJ^Ge|SoZKUU%1*8D?6GY=ZBYoi~kTUqu;7nc-@Gox&@j3Sf!Nmm#y*Q(= z9q?iF9s3s2#M&KlF#CmwbYl>voegAC$M~00SiXnQ3vVlFfR_SX^>ifY+y}4@?m_TiMFCHt41%L63idwo6V^V+&P*a8!Od}_^b#yh39bvBw= zWsWdjG#t@?)1A^S(stC|)@;-+(2Ue(Yu0K{Xl`kbY3^zFYO=LCnsDtV^;hj#^;T`U zdb%!0eOmuglWi>5O|ZN*#yS+1Gw%I%i|?}QaWK|XflSAD$+ic!5$i+eNF&iA@_E8* z>TO^GeGmABc^sO`{zaL{?M!>jU&u@l&SY;EL!4ET9Xx^b4}Xr#EI2K15Z+Sk#66)E zB2=+K^h@4fSSej9m?~by(+g|4PQeTAef|mVX|9bM4ex;~nb%mAxCiSXIhVGb6hnDS z{6mh$zLIt!4p11HNpuEO#CHBZgb7|Y+UOF7{;{q0Z#9*BN(>73Ox=6;Xx$XIS^LHP z3V#OgZt+=rH&q*EH}23bX|C4&);_iVa?A*>M)foqeUh*XZd$HK>f09;Rs<_gIpd2^}fc};W%S4Sto*QsxqH_0z) zZ%CggL&1@F4}XSq2slcL0+}Ql_!Tsg7J{=$Pk|w%t%QrZCOL5_G`m#?Z5SI4O-t$GqA3wdQEM& zwts7Sv|g+p)$+0GXp8udRdwmlYE{olOLJM};^x090!_Ax_f7c~pPN(_6}t9lDC|6 zj=u@o!*7B7{1UQ~e}deBKbky=A5Ff+t0dcaT`AGrE@TY;LEg)jLRHLxxEC>pbcFhy z)Si+K`tV)w&!7+73bX?=2y+1^`VFW+mH_%tA}9)I!NL9m;5^>|@E@-b+~E#@hh1O5 zP0poYrX2y^+Rgz|>qz2a3zv{@3KHT>@z{0aH*Bi04x43~hZUK}5;j||5*OMA0ZScX zaI@1#+U~A~c6rU@9f6^g+aVpb8Cy+f6Ccs5!F3FrWJeE>_tEpIQ|Vgze~cZhS zEY=BL4STYnjQyWzBzv7Wn+;2TuwKbVvF<72*j%NQog0w=AB_@lhDSf*e2clo`5nvV zY>DN<4Y3TkYpjs{GqxxDM(i4PL2NF}i#5Z;VxPgiVy>|_M;&4!;koo&#Wm_kX&t$p z_!y~71d@6RnWQO#n*4i`7_W3Hne6w`LB5H^uioCo>z>0zwP!kT+H(%v z<`t99dOtxAecQ?9{)H4*U;>R0%%W+60s5-YZu;+#o54n=GyXxWOe*@7S%H~Z?})?L z4}c%=F;aidBg8FXTpc++u6(L`F4AUTltQ2s+;}7&&A+8$zrDLmw?+p))2YP9xeB%+=ot z{HNXHPgVE#?r4p0|4^}9l19uiyuQdbx^|-_v3j5}^k=R?R4LS5su-`mQxU5TtC*xw zSLigx%AeZIKZy2Y^%32s+A;dc^+OGP8b=z_o9CL?EgMWVZClOTG@C6#-9F0`Lz8uv z`K;}p?X4rt>2}t6mF|B7La!8I`|c5v0?WWXq5qMs=rwvA;Q@;Z%!0Ro#oUjOgkMM= zB799*B0fl+E*(M}DyP!>Dhe3$mD$V_;ccwz5o-2~$PMhW$Obqmsuz4d>IY{~bYHG4 z`XBD^=nUSZsAIfikxjh3$bo!P#2@~Kh#7oC_%lI<^0T08*j+)G;*0>2U*mgZMf?h> zjeknY+l`AjjBKSuPO|4H;wutF>rE)W-pUP?Ym`bnQj>tvJVnXjdnhChX$$m8-zoVT1pco@8z^^|30v@%E0EcBBUCpC{8MXn+pB5A;AP)=+l zo+G>`?7~dgXKW)j1e=Izv03OHYz?{*JB1#_$}l1!1~U-O5PK7ofeK=fv=yX~lSy4D zWjLK^C3zHGMTLE=>TdQ!>IwF0>V9^6>i^j3)D7%^sfS<%^*8(; ze|Hb2RdBx0hjZK04{~?W_j4c6dvW*C_H$g+@%Z!iIGaG)!zcol<6egxiWogadKuaZ z$O4nFUcSzuVV))arLKVIvh#=YsbjY-$4)iVtjYQVW|k(_P}uTJx4B8G>0S4CtE=ja zYI_B@QCs?=zWc9>HE(~Mty-J^x^mT5`|rznL&~E+HkN_!^GiqNN=gdfJ}4Rg=I`RR zS6K1&m$!<~z1UU!@cFgk7tbS#4?j~EFMb|_pPJ$;FU-Z(SE7=3uM32P_vfJMdJ5;pQtVyCJ8eeOj#(#9bjZyk+!+sn>^ww}ohZ*{m&bn7>*+Mc5gI56ET*D5{Ft<@KL4;VK3vy77i6{bs}o|fUrDVqW#*}oFjJEswA z+#o3Md?!Wv=0H9Cx#Tf{3d*dYgE}UJ(L~5MS{@ojpNUSSJJ9!x_1IWO3HBeO3LAqH z;P=trB6YN1$P;Q6(nJZO5=wWpFL@985Yk{H|#K{Jkyf)HM;Z$ghs0`AJUz1hRb2PFdkMTljWbRaWY2!o! zU@dE2z(zUXSwWfQdBPkRWbuoLcjZnRBig}PnfyQT&W!cSf3rHohI;pJ2M)wKv4(!@ zVjeuLV`i_Zcx>Ith`mYWvY`q4WkZq+m9BJsEYQ)JG^~rfT~wEi>B~B^(n~Y$r|oSw zBlT+1k(8eCYm+`lx#LVSB)mJPy)c7Z$Vvk&^aj#TmVwIR0hD{ZodCxEie}R9p${1U zKsEdfj#BwYd^#aV(m$Ec-4@#e+AbA)bLi#9c(kDNL9GEkG6LWocqwTiE1NKo?DVY$raA#=hC7C{1l5ES7>|-?3ia)` zN{iDW(UXK_>?6ug&~|YNwqN)Qaflkw6L>Zbew`0aVhzO0~ zo*~{~KgP7&$E5YrQLH?rS71~;=c{>j3&q*XC?Vs}BM zM;8(}PW#{64+o6)3(?NH5^3O zMhP~nl6*57_BhYgjI;Ewysh{BcInzzywfND*<|=uB{H1&vrTuhYOSt)eZDDI{n}k& zQKI)9eBii!JK>XcRcMkW$+y>>3F5>W-+!E7}uyF{Y;Hn`%U{oorOCZ_qAFY zzqG+k@w#KJ>+K4|y5LlYg2eIVP``vmQoYCyvK<*f9*TUR^&t@0m%t@FJM@&F4lRSH z0j0IkLuL9TIWKxOiIgRS0vn$b3ftj2ywJ>WH#c)K}A9hz|8q*oRl|4La zHosGBrSy2bJFFspQP_=`2h!3=qL3Mu#Lbbi;J!kLRl#Sob_#pLJLNkClBnO()$!S3 zTN4(APmf;_F(l3zDT^N)IW9gryf~Jx7!xU!bd$RUuSHwALGB^=AUlJ#irK_WWL{(( zVr0|x)R#CBV-$Tgu4F%99Oa+nUXrd9u2)PIc98GlE|g4XQUv$N)!Y%_O!j90WjUZa z_zLY4?;`!9fI5fW=0Peltg6lZpkWOTrp&Z*teJ+@y{LME4;0O-Qr5A zNYNy}98s%S9KBzmk3Fq?mq3l$n*1~VaQf{ON~e+SGBVqx?#rB!7;tvJ{!U_-))Dm~Yk;rjMray7_(WB!%~IWMo!oq(Orm=ESpZ$4c3fPN_dc#^rzbdNcn*-ll>rpZ^pL|9tTKkWb&g0-rcvdwz~9xcx1%{6NbI@?s&9WW{PIQ)_<(|=4N6$x;=x#>7xVvH+cQsh-y+i5Y{~vW- zU^}Hg$fBGH9jBENB<$1BI6-@Qfn)~UQ}z$;S=yA zI!K=n)lhzbV<`k;3;8#3C3yw0gxm)>Kt2c@p>)HiIag69r5>rFe#H0;GBJ@0szWkk>z>m!YD3{57*hK7^g5F!7=ydrCIMr-v^~ zc^BhKr^gqhC&#-}m&dhF%!qy%J1p`*bY#T(sB;k$qm&WC@Sn<)a;p5BaGs=&J5_v} zvqfU%4OdWwK=@8^M$`w%r`S4K$HWQpb1AD8eN(OSeJNV$%OtV*Xq;C#E@miC5Gi9Z z6w%~r;aY$MuO*n7b>MsU21*&P1I;M7O?`=zVo2OVQZAm0{^i_Nvz`pBDr zXOKK|*P`?NHN>RQIedA&BcVK4gs$~p4~_IC1}FI9gHQZDLdOC_@L68F5ZkxhU+rG& zjdApGueFWyEVo&LkSiZJ7Yw6gKqp+c$4B;ze93b5WSN~iMfpgW9d%#2Bj%!fUX)o{ zp-d6JmQ-?=3b(*Lgx%n0;-R>YnI;e`l)`Namr$$76&_X$5V91d!mi;*#jKc9vX4oF z!qZdDQE{o0BOfGu40{$eLm~=G;*XMb;ary-fQJcxvQBaS&?nLpARSmhyoxPG-y@rl zt4K0Zg~X%BLNhQ$U^`mkeS%DMWe48aCwVtmj=Clr_4Yj7SL@!kCuUC5H+^~Sd3Akd zi|RvJWn*IT*t*L#)JuScWLhCyd!8X)VV{dcl+~579 zad+?+@GFDOVDUF|ilr@rg0MYevNBKnQn^yptP}`PrHW^Wgt;rC@jS7ZDe%0g=PW|_ zc-mOS5-3N}0h|y%l_ZThMtPg~ifKs|@!0Kd35{tAi8yVXq$Dj(vb`Nqd^MRT>KHd% zkP$JBJ6E=aWfDH6$MeRKOJOZ(6zdG2rw4%1)X_i}ayBrMOaXGpHsC9D0=R;fM0!uP zlXEFLS{Av9agMy2wSYXE9S?nCm4E}7YtTyiasMfr(0!l!)wPxuaGzk#R>VBV31(Qio)GJnW&`H{+Q^4HOSN9QK^5>KQ)Pt8a-rJc-}(0)n=Ib&A( z*!Jes-D%qrJ;}n@!?6n^wuGOR_m}+?VdA5Lox&^p&w?KOO1^+!%G<$zz@I1J3cm}p zC3f){`5EbtFoyhj*x0a9ikr$=a$?vwi9j}25GDwNA26RV=8!v3Aff@^K_`b!h6Z|Z z8if0~+w0lo+TtJSmWAefQ!tAE67g*C7wH|ckn#szO8WP#$bAEmGS^6df9pJ_8t39F)L!ekR-WT%3&%U7l^U#6zecC&r=m6HLFgJ=8M?-K z44dqpPFUxOBOJw(L2kKBfzwW+TWsrS-EWo~Qw@uC_w;n_9$krMukLYMfp&V!{I>s^ zKdY)#?VHDn;;5~Eo^!un7P*e$JJoKek2S6b5u_qE0+-ke6BpIB${$5*}a zxXTwg<`&O3UHtV%yPB1sf`a!^K05`hnG)m-1Dk#Roh%xwGJgNBKJaC6t>V+VYFBQ2 z&6=0Cy4YtC4TPt!8}7ekHay5(&=mGn+ZrssV1%lQY<(KMw%*OKiQe>|ZcB4Fy`xoS zwdyn7=S=53gN<+PPqlB2pIYzfN>w)uGgRT0_svz#)y?IeQ!S0&ExIKhhF$3F83@@2 zk|sNrG1q!fo+`9jti-xWaNdVh=Btw?x<*PbJ7!7$=R7Cg=N%$gAL_$9NKEAKA>m|J z5+d$MS}VK)-Q<6wCkg-N2;^6IT0HCg-?)5Ae#~`3O}GHPDjQ57h%rLA=vHtnf4}24 z>$%|#S*$&c#_ErHHkb>oH*KYc1{ATs+>GxVEn!1?oT07{2)*@Y$ z8P;6U$F*J8_Eufj&2BiU$EuI&`u)yqSz4S|S6?)u=C7ZH^}Bw)YPs@5tsVYDqPt%N z>MF_)7<<)!wC~c20-Y?|fjJI@(&jlzpBi{fKY$LWeZ!(?{X>^&F5hcrw5KPW=}G2| z^NtjfeB;FX{H3x z#hHYoyzGz%X8FCWOz$CPZ})RX57!LZDd$bfR_9jef{R1yM3TrC zM<*Hho09gkcEvZ4wb2iWGnJo^Jn6FFUj9k{MpjqPSMqn~K!OXWu}?LF{wYSIx7zg9 zd)6A|wK~K;z?JT0y1KZ-?R8GT{KsCezh*DgoV8z8_qX0w(~Use?Y0{&fyPbEgxbXV z!m7`8z@G_q=PPNA-F}-@w}0ogJ+6$>j;pFSbgN6YL^bwv>}fW7B3h?;_ozdjwYqc8 zFNWo|dxp7YpRR+ks?Beh+ES(WwXQLC);zF)hHLf(=JT#}>kdz>L+P9DO$Z%DSAdCR z0X?57krJMO6c=39k1U2_nfeMIPjV|)aZj+#v;{e8 zT|mfk&H_2!(NO2WWpZca7MV`ak}i|}1?UtTdX+vp_!pz2KZ}m|ZqqmTW%Swp9D1|A z9pkX?CNm4qRGfFgvdyW`sC55tBV@*CG#g;3>v;9n7 zzkt2M!)Hghe!(4F6F8S#EN+$aG@g11aPK<~z#ARI8PyJmvdHEHnk@a%oBCIQGp&`L zaI0>wX@Nz zu5EjwPS)>jBb$D-9J3@f*I8tEZn*!BTQ*+fp)9h-4@k5=;Sk`pU{BLWv zJx+7YGe$os)Wi4?P+A63HrsTJTt_wgs51lpWa*=PjU&x9p30l z2fcY+?t3?+a>e@ve_nrh@MqPB1(l@SqTlgvKb57tE-!Y!$}F1n;#%R+XXg9?Pe*;1 zJ&E|f|MA0uYfrdEBcC2Ci+^$c&-1sZ>sNp7-l8Ztt9@LOZH}mnu^VgL?h%d0JV#r1 zdU(1+F1=acI&WL+E^%c0NX|_EA7^}^tCQ^S?7Z#ki0{6%1X!U_*bRV*J3ehD{6)aL5j)f3cVO-EYRw0>3nt(~s=Vd&Z7G$E})YoM*W<7;cs zwX*f6YiS$B$!?oq&uXo={%+}Rl{ekA6xHi3$7>H-22`sp{i=LcWwqS?u;#dDYJGcz z*z`Zr^p+R&N{tW>GbD3ITQBf#dH}(WP_%dy;jv5vc9YK~&616Q@DzEnf`?Fk5g2R@KUc6m{p zgb|>aG|uTdw=tkj(1fWvw*K3Y-qy9IR8vshSD#a@Gajm&YF^ryZADdUowwS0`e@n# zp)f-;T4|-=*|43_3QskHOGd%m06Q4v--GXm{TsaOV+Sw#@`8&4CxUkn8S*zFhS-5b zp~z|B>}YtJph1Ypl#0}_#>jsn@g>KY=Sh7MtnI`p8`?`#D>F`~{4Zl@;)e9aapzLM z#{`lyV$LVdjj2jF9-Ec$FixDfGX8tg>ZB3Li&Kdy;xs|Z(ll4fziG!)CbS!p{2*m( zk~Haf{IY}|(LZC#!movok@Li>ge@#De1i0anuO#M7Wkj|m-ra2_FlQ|oBN{WhBMP- zvwb#pw|3UAwX|q`R)Usdk>gw0ehpvUtL=Qlebt-FBMsw=$5oFic=LPh*Yc9Jd7`2j zAGJRsKMW{1`~G?Uw~vYWg?Vjwk2~^5%`aE+gz|^K`G2CTch!V9G}QmyvbI^SNo-xA zm#TXk*R}c0F|DzdXw?wQjpin6r5YGM3=NZK5kjW$As!gN0Kl4PRf~>4yeC>zCqn&yr%+Ay$D7y}f&+4L&Ey{?FK9yvP z7#TBEejt3X@ReKvpA)U7&*VHHZ=-JnKS9Tcqrfb*64&##L0f}al(WID)O=(p^*Q#4 z@{M?bd;=H*{U#PbQwaM=ORx+e2B}7@p)lVP|1u}f?Y3q+c3P&}mRZNz2H2O|%bkB* zG|x#-FTcgN15FO@1uR%KB?ro6Fz6MmEcg|hgV%C{NW|(Y{>+>$*}*s@SxL_qH_{OC z|7bJCYT8oiWco?@SXN@#RLQw50m?L z$xd=+_D!I6c^%!MQ+}8;!zF#2<`efw-6x_Y=Luy=+xWr6wfvq5s|4KmWny96Zuyp2 zZFqg`!>F>@TQMVJm&IsevSa&4ZH*ljemQ2D0*Y)Fw}z$i2Z{Euhp@G@E))l;H@FD9 zOsom^1(tg!fwNpv@R{8W+H7vW`lIUYSW#0gqZFtZDnG)K*tqY<|J}Jec$V~;y z|3P7;{SYn9pI|fU=RqddyapYqDFWQ89Th)UpC7GnghU#ezC@0+f+Ihr_ajbKR;1A& zj?A?K!xgSKp~Y@|V6Nk(cbs*UlW3Z4$uW%8lXUA<>omRE3Y4c?74m-?i`ov=jFQ*> zHmSisujnU#e_+1wO=*jKd*Wn%yX!jpZH(LVb-s7Z=Re-i$A{ju_mf=Aw?gZ)*FnSY zmnzNV=f4$A&vM(!p5{ppJWZ3VdwNHLc@CAFewi=(_rFmJ@B5+JMW5S@uYR1ijH;Sw z`CW@Q*EL=+ooRh;0?5F|UGmF@5~W|eP;*=P$N*_uVm3>Y#ZlR5w^hE`uTd_Kl&YQp z($x>4C$z6nGffoS5Qmx^3REz7F&}$2AjG=}*ea-sXAApAp`s3vnWFoVJEDD&Rl;AP z^_koJIRbz?#{1W0;pThZab^XyoIz1B=LWDh7X(?zc>rr*&q4T^gHcoHU(j2qR?JS) z4Rk4PFLF%k3h)Bh(P$LVKCmzJ&eQB!;W}iy>1Z|{vIDeb)^er9QYB~EmdI$XF_I7d z3F3J8vUqLue(UdOmzK-n0Zl)G+=i9@{k3u*r+TJ`{AY^8{99+mRQiqYD|;9+e!Vd~ z`gOvLs{GehRHb#UszrJpG_4A(lFp5mt2%%L`u*@`%dS+ea}wqsUrrh}q)fXUAA@y* z<`BrRJ|tWUk&M8wNcZu(iFYXiqJXX=bzoOe_a!|hKeG4m)CIq@dbaoGdOF=N=+RA4 zG`!c}_C5Oj>G*2Uz0Tc+KJAPw6O?=zW-7Wf^lR?#A(yhw53Ulr2dOgO4jj(^)t}9! z_C>L-_x{9e=-r)N*2~1(*VC7o=z$h#yG|0d?*!*dIux=R3-6{2auyJG3ASQdSOUap z>I2|${PggI)XCl=*b(PMfWeU$`OgUm+;W}qm3mUWOmB&2hHs|J=&y224-T-73H30| z3k}f!2|~3r-!-M(y}xa{W1*yvwWZ~V+151QG^yc6 z*m?Z56aXQP?o2#_olM+J#E=NoyOhh!RK^b8IBvc0ljvIxJ-0SbmS0|YE$@4~wYgh5 zNONX(q-3A$2oc#k7zAbQr?R#eU#5x+8wukJSlI1(Qfyh?aNOCva=bXNj4(d;2canE zD1nlVBb*d%BksxkOA_!85xa7R;Mf^>R5BO}_2bt7`lr5%oP{|9CxNp(7o)u$I|8*9 zt(RxgxW=2Aj*ix;w!Mxm7Ogwa+{v@ixXCkL|I@upt8Fjv7}_cdos&H*VP$Oq$Fi&DO7pE3Tp7t^OeV zLUc*etKh>PheSvu%CR@Vjnv>ve%{7S@fGl6SjsO&+DVU(WtwV-~&m zeI}^r9`|fPHq)9dPHz=Z$OBjm-2U{f=)qKK3XyUH9;dQlcd2Kg7pOAGQCeT{sq`+O zyY#cbr;PW21&j~z$Mlluc52r!jCeHA8yoY^MAy4crhIi|z}z+w&}{h>MVLMQ2WEq3 zmgSk-Z0qGc?x6d>CQmrgHwW|o$2pik}CjW(f#Ok=h;q}$t7FxkapIn_l4 zf{umlL>&sIL&2afp8|`tF-&&elWZH=`>SZXTmV~TR^+F7kkA`)T z_5$a&ro^u{ii4-?@vcv`7z?-ho9@S7wMz4ssYv~^N4EdZNr~X^>DHk&XIdKSv&9`6 zeKK0hdBqM%x|%H;r)e)gq5iA%sQzkBs)p!$s!kd=s(j{R70mKhPPBa%-*@h4`p>hw z;k%#RI4}@z?h-P#E{YzKECBSC-G|IlSl}`3(3Gd9+|;kO{g@lh)!3P?ZMf~u-?-Iw zE4H)sFs8_yjq({zApdG_!SAc~KxfHg;M6uPpi;g!u2YVW<*0W?mT7l|ChAuNQjI&j zm&_;JG;6*i$NI&x+e$LDH*?je^l>>){YzZc=4~nxcdBJJZAuQHc0cg-Cc-%t);KuNg=P+wLN{gOmXwY73HnxW~JfzEM?0xuTuZ)nJVSkBjwNM z0>!=;jJDF3+a!Bmr?*P~Q;B=N4NCufIHH*R`KEf~w~+SGuMzrQRqu_Sn!UF9jZn8i zoD%pT&ks*f8^fCnnIWE~IIzXB*4FOa*-hmrzP4H|RI;GLpiuvR0 zhrj1}O)d+pr|k)UXKaX#XCV`VIXu88?oHq>-T`1HPnw|c-bPmPI{T}+o89@Gf9+G) zM9W9!GIJh7Wtu~;GL_SZnn`q|r7gX`{WA5XOG}>QBM?3W&f?NSIT%u?HDzJw1=JR_ z0m6Z;QK)ZWV7&XcyT#FJUuWZ)S6liSa?H21FDFk-Yn0Dzfx^S{n38Fh>Z)dUTY2hr|T}!=$}m~3O}X3ieIO016?L} zNzUo(QpRJJp&z1#W4|EJ5JAYUlzqsh^sJ;`@BuQ;<)>H$5_EA^Bi5Jqn>4s+AvMze z0-e)wC;ewatR{G6ugK2}iNhzJW7ZJ~O|ALeB_$O_Dk6UPGj|J$?-DT))-E%N+ zyZwW`)|G{S+<6%BL@AuSsKZ(6>2_2)sBi)!kVno~mQ_M;7GSAM*`JA7jKgUTYPZz+ zNe}70v?=hbsP<3?{5WJeWI4Daa3|<)d=r=-$%UK_T!0Pt=;0fkDEKRD3cT2u23xNk z2K}lcL*B}Vfn?H`i7#S)S$3g<5}KJZf4Oc0lWS2%-JP}GX)(h z_`gbzaE+agvR$1Qu^^qVWzah3(Q`X(r5)`=r+zMV(jcXm(tCFNM%R=q%UId|8}nZA z6V`%4B_B`XC5*lZU5@yg?47KOXaG}#10z0P zrr+%fCryP~>wN1-LyI|}O)=Y*Pc4mYYpmxa1=f`m%NW<&eaXNVS1?Z(9paP}p5YHGs1Wk7;$Fp9E7K&O0u*_qe zd%S;`Ls`w~Ul|7|K-x?~FOn*)0cS}4i++(pNa>TzLXjbN;Nw7K_`ZY;Q67sU=SIs? zUWN~(GJ+4#{DMtsCS3{V!w{lLTGC?hL=jJ(J=Q%*A{Wt;Vm+=}%goH;A%0 zzXx?p{yJ*M{0)><`OnD%3yMf-1^Wrl3fAGf=T~7L<^4{Zlv{^+mYacb=j_8~WdFjs zv$hlY!bnj^L>V#zJqU*z}Q#S-EP|tj&D6Kn!Mmld|-r6zPUY1q3G!q%?)l0Cc+H;th z>XKA}B96?I7eY74-T|@FDN%sf@2_aBbZu+xWE;}j$K0p&gmFfz+%QbsM{k!f4JFd; z#{4#fX_#DSvdVv$mMVrCYL!{KC8`zbi)xKxowiWgqFdVXpZ-_FG~<$*LFSQFVe9Hj zm0ecZ+qLUA)H|w5>GxNchGx~iiyUs~8oSg~lbF;x46t7^3lNtc08~pa0G3NW0C?hK z30v#w#I06(qBQxhZD|$7-K{ec<68eFu8GBo5?fhmDhPfe%QW8nrH3ZqBQqwykT_Ky)~|^>1(Y2 z+uu}ObTIZd1s>9Tb6cwnX9V)MzkcYs^ctC5WUdKs(%BAOQUxI07jHM4>MLB4E<#6FnC_ zkz}SByd45q=UndyYrV^7n&EKj2iiw!7TOrfuhw(&Vr!-Jt?j;eo&(uZ>ipEia=&h1 zd0*5O`4`rV4D9~9AkbD-5jgU@kN;ccJ>TQXYVY>n6Fp;o+ueJrk}34R{s27 zgBkJ`RaOr7kaJ{Kl@B%Q1Bob5LrViiDVIN$RMxl8ijaw`jQ+(Sh)&Xytx>vi$!jJd^D zdP+ME^+`K0`C##N;_2d!_~xQtxc?RP#||!BmUg9pm9{W1Cv9hTZQ5s1c3QRIR@yFJ zSB#jgL$@)zrQW8~Q00_=k>3cn;L4=ecx9>)v?&Fa=n98LvEZYj`HAy^iII7})+ABo zj91{f<(lm&w%a{xt;@WJOs#%^VPK#{>j<1sTm23d-giOTdktY!uH%L30OJ!HBm2#M4x`O7Ku86yDCwKfGsg2&4Zkhj@aY+zv znI1fBX9hgZpMJNe(cd?)(|degra>|nGjn!tElyeDH%v4g29 z{>#2zynuVM$j)C_)LtMf1Pjyidx_@d3bMi3l$_V1Ww}aW`#e}CI48iLk&WU~gx6Vp z1r)|m?n>G+)@$-(Mk7H*`-@eO8_>Ur<5J$^E8+F{NstKs9*Bq!C#d*0Q5^0=C=)x+ zzb_5$9gaTco`SmR{1?$^UkHU-Cjc&*pGV6~;^0$Liyv+7>Mb;%bk~`Gx@s*&u36Te zE}cEqGv3Mdt#>m5*F8@||M-OA!T!4N$)F{CAjz0K8fS&w0C{99_){bR`xA+!ltliZ zHb=x_-RcZ9*s;ED^8*J3mKYnid(>n_9UuTK5hZ*TQGzuOI|KUW!) zl|tj^-)7UVKh2hZYOuDSb)TJ~CWv=b>vg|VwkCdy&|f$rug!yIsK zOZ(D+`}d>xq6A^{aNPX%{r z+6NidG!7DKIs}C@BOt4qpMc-CyaI0(7eIPQ3t*hK&4|NFSW3NmO=>@F8#>+4867Zv zP1|AJhI{9jPmsDh5fk1P;^V+FLXYrh+`(8Qb`tP+awhd)7b4rRpU}s#XK?s53-LzU zOe!|*JbesS!R&{>&&eQ`@sXsyLJH|lb{@%_2P1DT*h(ocs-U9Voum%yu#IxB<1%v3 zP6fpB&J*y*I^V`E?To>iN>$ji9k-{cO8A)8_WRIn#k_$wna@j*`n;IwNKLo^*@Pt`pmCe_yPHKi=%R}KiB zR@j3fg*8Y}b`A7Zz6kVH;e$(5$HPz6<*{x- zQ^o|Qq|T1qMvnzdNwRz9qQfcU(q>`eI5S}^2|~G@q{0JejchC(#al#o3L+UDMNC#n z_FPVD9+bbk;C|-2Vw?!xo+x@&g2;lG(z51uW@mls@;mE8*TyVxw+_Ms-O>f;x^Cxv z>9U+VwUdXlyp+YhSHfWJZP&_#6b)ny$)BGd$k~w279FK+6`Z6F;^vY5FgxK4v}QD% zv=o8I^#)%?3lafDQ}jPbMrdxLx9@HEw#($-X20*Qww`eaEn>?>OO;VzIi-V}kE^>H z&5GNG^tMvnFG)hH7IQVhmRst@&8wB1rsZvy8{bIZH7=KSZhR!eG!1Qg(2P`cZ*EbJ zYN=7>ic#v-l2h7*Y@zY9{FbdmwcOQR`^n2U&hUAxfWR!rtI%}M^JsA}E3r6Q1?mfA zKzc!HpqCNpa42dK5`$5pYVe&gN)j2@LfJu_L#rmgW(=mmnQr<`&Kc%betXWO%(uL& zSw(zPPN|@0?rQ-y?;$^yzhBU&V7%aBfm^VxpoM=T-^h*UjpdBU*~jK&oo9U#9%iWp zquC4|m!;w`SuobDjPDt*7>gNP`ndGn>4T^dYAYq1e2AzajK-7Go+eE!<*6k|4RSAH zcGBoK9|D670{9`ou; z6Vb=cp3&p3^k}i`L!`)!4pqDJf)Csql3pW3=(R@|dFTBd`_K0>{>MKzt`5-RPXp=% zHY5Nn4jVy(W2xXI(G;>8_y#f#G7&;n&xaY`Sc&{j%`A4Y}_yOus0g&2(Uq`vh zKR^-j^C>9a6$*pfKAO9S*@^G3)^(^7EUI2$z0&_1zF_aSmdn-zGizT|zV>hFG~V5dNb`xH(?a%tx2V0lY<=BAdyAvd5wPuaQY;-EOyf`6CVdBsPV>To zSIx3?RFqpuZ8NQn(toVq#a%737L@r{W5~R`0b?ntE3nS48Dj(eon{?fwaQDyL~~R~2e|{#~ze z*XC+wH&8X3o2lBpVwOHzMm5Y+bTCw_7aFGND)paD6#W_NXamNv+K_NxHky5}OuK`( zOgAGVP1j*Ca0`&R-}G+{YcC6@NxIO4MdKA7kPZ(1~onK zmd5wHX~TV=srS82lq=p97@B%F6Bp}XfW_LI9my2aU)5^~ZJ2c3&xBV5(ssAn{A zw0A)KiI)bvny4m>Ld{#Hj^g@*|#pNv) zm{f0ti3_X~nr~QHjbkmA`pMSowO{P(YVJCNH9bANnpNK3wb|Z^Do3f{1>V=C^@ADU?RB}Ecce0it+A;))_UXr9wUm7j zK5;%^J1#q_Kz|N*Lt26n=(nU<_<1lrj`iEaHeYTK>^bercl+G4J?9;IU!m=_zuBS) zG@8c;q$WXNnQ>;I%n%6*41Yr(4DTa*44o@#Gv2dvnE$bVu$OU0a5Ffwd37AN;0XJ@a0gs==-#W$w8xj!*5b`7cv^DCm1k@WP?oRF!M_Tb6HAs`ZNc*2XB7>%L!gxU~~ z0%M`~eG$+=-_H1LU%Lp{TN>Em9_%f0LYq5)=q*gZZKD5sMMq zkd>$g)W2!N(am@}_BDAP;Q{R!nadbYu`*+{UYuX)7x|YNbA-K_hq9)!U*@E8yXCIq zw&lsVpYo&J?FCo3KMUUQ-V`k3dkTnxPx&_mSMmw`r+LG8r*hYFV>$16nK?|}ne3Uo zC0WC`VBs6qFu@fDkw>EqW2aMgGn&aeY2~CPq-w$;ybya6^FQ>slxZnTV51OQK-=NV z5?I*fC>lB-)CZjDe*yT{yEW!=KaHlj`i9#a$y>JX4PLQj`>hs-FT;ZMTs04Izc;OO zPc*J^V-1U4m-P3Y4*h6nZ~a_{RbTDo8vb=^jC)-gGsbPPay?f2C7-~x%pdWt3at&? zi7tvD6J_yhz#pKM;NP$r&_gLD@D=F4$b&c(N>5C|6q4((OxkqZA^KhX?Tm*62WtyS z#_3C4!VS^~@tWIx1Wud?@THI4omxb}bIN1AKmxtcNJ6PjE}Z*`rt zr#e%%N3~7PQ1wybRQuEe)l_YT`hY&9{%Go~uD7gJJ8TCulN`IW2-iPamxrPI;H}el z_K((Q2Da&{gCliUL#cXHNNym6gT_HorYR$qX<8Bsn8wC`nHDA9nqdIDr8|gVeG3ZM z9N_8p;oya~MsTjx0(xTY1yopj0S;R4$KP4a(e>8R;Z$=xu+}u#>oKOdryKS-Jchfr z&jyP{V|Z>}srQ&V>TE`+ZkYb0?tj`AJzMS2*Qp2wfMT|OOIxe%x2#Y%Mlw-1y>*4I zqWQV*QBx0HQ6o}YTCdk+)wQZO)Ed;wYm3yjnpc{QH48N#Ysxk6YW8TFYg4uRYLz-) zUA5tEeVvKcATdds(#`1RrDkAD#EcUkHJ3>Tn@_Zn%xB~+W{PsHiKhw}QJP(bIl5kk zqlP}l<))#g!3FbM_;h_$Dk_ifniyR{oR(mP% zh;0}sZjC~6Y&lStZ9LRqONE`ca^YM{CVZB854?l<3GB6HDl}o`LZ@0!Kweo-fD_i4 zV374+;2#?Wu+v_gnB*86U*IstjwEyJm5zdl#$F%xIJhB?!w}Rvp9lW9fXVh*mG`@I zx%;DYsdI}9W$)|GN{)$gv&dU&?Bux8h)xlR4OK3WZ&dzG^i*Xf^s3K*$LjmQHjM&2RM#DHQGW_L&Y**?G*O@& z^Dv0p@)kPCwg}eVu@}DBrA2H>HlVr$dLgfb$ER>(m8e4CWHby4Ov#b$B zws0GMwO|l-9CtnXGixe}&RC4F(d6*Ulu95Bp7<37@sQ~!Kd>1^~`WW)WQ3ieD9tykX8w7U* zQOMKb_ox%Gqv*qcrnGI4mAKi64TK%Z79$Y*nW`jirUxl1rh}f!nZTUQLvp-)h+qN# zjcAczf3__1QXXCSv|zbtVv$8Oy**7R?eId_zvPb)+3~gTf29>7R;O}NZKus5RVSFJ zuvC=!rDLjq*5M*=O1r0=%SFjO*8H)IhdFC$qeZ_-4VlIGgS?8gmuw%J$mFH0N{_-X zP}W0U5q<)rSXSae>h0K9Bs*eAvL60RQqv*PWgdU9hYRCfZa?cZSkKtjm>-#`#$|>S zomx9z(@o7#(Ub_qCplcvMK(auNn%!vm5>xO#orVM#7)X#2}N~GGD>q=a!B_@qBk6s z-Za+8YEAd$BJ)|rMvGN>+x9?BcU(`-NUQZ{-9gho-Xbf;cfh_su+%j$+{e2w)*Rdg ztd6RnH-UvnCNwW~7~)IXoYWlr@w6qR_xR(~v!prc4HO9@CmqCi%78PzF(Hf=mNH`; zXA6_f{mzW=6s+xh73;IW#Rg~E*|&wSIB!HbJcOtNA0X85#|ek=44Jo+1C_%0AUMfB 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
EX6?cIkM;%|me3V~qC2r)^s?|@(=)*+VzO{g@; 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%0DrvY) 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 diff --git a/Resources/sv.lproj/Localizable.strings b/Resources/sv.lproj/Localizable.strings deleted file mode 100644 index f49e2e22b2311b0d99077f31ad16c6854f94c394..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76658 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

dy5XUTJ(A; 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 W$Bis!t$NH+Xv(-2%#Eg-#{UB+S45Hk diff --git a/Resources/tr.lproj/Localizable.strings b/Resources/tr.lproj/Localizable.strings deleted file mode 100644 index 763c447881de4a0880f02ae0753550d32a0cdb7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76180 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 D9C`uu diff --git a/Resources/zh_TW.lproj/Localizable.strings b/Resources/zh_TW.lproj/Localizable.strings deleted file mode 100644 index 6bc719931ad1794124eacd1845c5d01680cb66fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37650 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 S8F%a7*0H(i-=6aCN&G)$*wt(R diff --git a/Settings/InAppSettings.bundle/Account.plist b/Settings/InAppSettings.bundle/Account.plist deleted file mode 100644 index 3e7005173..000000000 --- a/Settings/InAppSettings.bundle/Account.plist +++ /dev/null @@ -1,319 +0,0 @@ - - - - - PreferenceSpecifiers - - - Type - PSToggleSwitchSpecifier - Title - More options - Key - account_mandatory_advanced_preference - DefaultValue - - - - Type - PSToggleSwitchSpecifier - Title - Account enabled - Key - account_is_enabled_preference - DefaultValue - - - - Type - PSToggleSwitchSpecifier - Title - Default account - Key - account_is_default_preference - DefaultValue - - - - Title - Push Notification - Key - account_pushnotification_preference - Type - PSToggleSwitchSpecifier - DefaultValue - - - - AutocapitalizationType - None - AutocorrectionType - No - DefaultValue - - IASKTextAlignment - IASKUITextAlignmentRight - IsSecure - - Key - account_mandatory_username_preference - KeyboardType - Alphabet - Title - Username - Type - PSTextFieldSpecifier - - - AutocapitalizationType - None - AutocorrectionType - No - IASKTextAlignment - IASKUITextAlignmentRight - DefaultValue - - IsSecure - - Key - account_display_name_preference - KeyboardType - Alphabet - Title - Display name - Type - PSTextFieldSpecifier - - - AutocapitalizationType - None - AutocorrectionType - No - DefaultValue - - IASKTextAlignment - IASKUITextAlignmentRight - IsSecure - - Key - account_userid_preference - KeyboardType - Alphabet - Title - User ID - Type - PSTextFieldSpecifier - - - IASKTextAlignment - IASKUITextAlignmentRight - AutocapitalizationType - None - AutocorrectionType - No - DefaultValue - - IsSecure - - Key - account_mandatory_password_preference - KeyboardType - Alphabet - Title - Password - Type - PSTextFieldSpecifier - - - AutocapitalizationType - None - IASKTextAlignment - IASKUITextAlignmentRight - AutocorrectionType - No - DefaultValue - - IsSecure - - Key - account_mandatory_domain_preference - KeyboardType - URL - Title - Domain - Type - PSTextFieldSpecifier - - - AutocapitalizationType - None - IASKTextAlignment - IASKUITextAlignmentRight - AutocorrectionType - No - DefaultValue - - IsSecure - - Key - account_proxy_preference - KeyboardType - URL - Title - Proxy - Type - PSTextFieldSpecifier - - - DefaultValue - udp - Key - account_transport_preference - Title - Transport - Titles - - UDP - TCP - TLS - - Type - PSMultiValueSpecifier - Values - - udp - tcp - tls - - - - Key - account_stun_preference - Title - Stun Server - Type - PSTextFieldSpecifier - AutocapitalizationType - None - AutocorrectionType - No - DefaultValue - - IASKTextAlignment - IASKUITextAlignmentRight - - - Title - ICE - Key - account_ice_preference - Type - PSToggleSwitchSpecifier - DefaultValue - - - - Title - Outbound proxy - DefaultValue - - Key - account_outbound_proxy_preference - Type - PSToggleSwitchSpecifier - - - Title - AVPF - DefaultValue - - Key - account_avpf_preference - Type - PSToggleSwitchSpecifier - - - Key - account_expire_preference - Title - Expire - Type - PSTextFieldSpecifier - AutocapitalizationType - None - AutocorrectionType - No - KeyboardType - NumberPad - DefaultValue - 600 - IASKTextAlignment - IASKUITextAlignmentRight - - - AutocapitalizationType - None - AutocorrectionType - No - DefaultValue - - IsSecure - - Key - account_prefix_preference - Title - Country code prefix - Type - PSTextFieldSpecifier - IASKTextAlignment - IASKUITextAlignmentRight - - - DefaultValue - - Key - apply_international_prefix_for_calls_and_chats - Title - Apply prefix for outgoing calls and chat - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - account_substitute_+_by_00_preference - Title - Substitute + in phone numbers - Type - PSToggleSwitchSpecifier - - - Title - Bundle Mode - Key - account_bundle_mode_preference - Type - PSToggleSwitchSpecifier - DefaultValue - - - - Key - account_mandatory_change_password - Title - Change password - Type - IASKButtonSpecifier - - - Key - account_mandatory_remove_button - Title - Remove Account - Type - IASKButtonSpecifier - - - - diff --git a/Settings/InAppSettings.bundle/Advanced.plist b/Settings/InAppSettings.bundle/Advanced.plist deleted file mode 100644 index 5c2c5b8f3..000000000 --- a/Settings/InAppSettings.bundle/Advanced.plist +++ /dev/null @@ -1,217 +0,0 @@ - - - - - PreferenceSpecifiers - - - Title - Presence - Type - PSGroupSpecifier - - - Type - PSToggleSwitchSpecifier - Title - Enable smart address book - Key - use_rls_presence - DefaultValue - YES - - - Title - Debug - Type - PSGroupSpecifier - - - DefaultValue - 0 - Key - debugenable_preference - Title - Debug - Titles - - None - Application only - Application and libraries warnings - All - - Type - PSMultiValueSpecifier - Values - - 0 - 32 - 8 - 1 - - - - Key - send_logs_button - Title - Send Logs - Type - IASKButtonSpecifier - - - Key - reset_logs_button - Title - Clear Logs - Type - IASKButtonSpecifier - - - Key - send_db_button - Title - Send Databases - Type - IASKButtonSpecifier - - - Title - Notifications - Type - PSGroupSpecifier - - - DefaultValue - - Key - show_msg_in_notif - Title - Show message in notification - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - autoanswer_notif_preference - Title - Auto-answer after notification - Type - PSToggleSwitchSpecifier - - - Title - Other - Type - PSGroupSpecifier - - - DefaultValue - - Key - animations_preference - Title - Animations - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - vfs_enabled_mode - Title - Encrypt everything - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - vfs_enabled - Title - File encryption is enabled - - - DefaultValue - - Key - start_at_boot_preference - Title - Start at boot - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - screenshot_preference - Title - Disable UI's secure mode (Screenshot) - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - enable_first_login_view_preference - Title - First login view - Type - PSToggleSwitchSpecifier - - - Title - Primary account - Type - PSGroupSpecifier - - - AutocapitalizationType - None - AutocorrectionType - No - DefaultValue - - IsSecure - - Key - primary_displayname_preference - New item - - KeyboardType - Alphabet - Title - Display name - Type - PSTextFieldSpecifier - IASKTextAlignment - IASKUITextAlignmentRight - - - AutocapitalizationType - None - AutocorrectionType - No - DefaultValue - - IsSecure - - Key - primary_username_preference - KeyboardType - Alphabet - Title - Username - Type - PSTextFieldSpecifier - IASKTextAlignment - IASKUITextAlignmentRight - - - - diff --git a/Settings/InAppSettings.bundle/Audio.plist b/Settings/InAppSettings.bundle/Audio.plist deleted file mode 100644 index 6a2b70e36..000000000 --- a/Settings/InAppSettings.bundle/Audio.plist +++ /dev/null @@ -1,301 +0,0 @@ - - - - - PreferenceSpecifiers - - - Title - Codecs - Type - PSGroupSpecifier - - - DefaultValue - - Key - speex_16k_preference - Title - Speex 16kHz - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - speex_8k_preference - Title - Speex 8kHz - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - opus_preference - Title - Opus 48kHz - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - silk_24k_preference - Title - Silk 24kHz - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - silk_16k_preference - Title - Silk 16kHz - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - aaceld_16k_preference - Title - AAC-ELD 16kHz - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - aaceld_22k_preference - Title - AAC-ELD 22kHz - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - aaceld_32k_preference - Title - AAC-ELD 32kHz - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - aaceld_44k_preference - Title - AAC-ELD 44kHz - Type - PSToggleSwitchSpecifier - - - New item - - DefaultValue - - Key - aaceld_48k_preference - Title - AAC-ELD 48kHz - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - amr_preference - Title - AMR - Type - PSToggleSwitchSpecifier - - - Title - BV16 - Key - bv16_preference - Type - PSToggleSwitchSpecifier - DefaultValue - NO - - - DefaultValue - - Key - g722_preference - Title - G.722 - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - g729_preference - Title - G.729 - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - gsm_preference - Title - GSM - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - ilbc_preference - Title - iLBC - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - isac_preference - Title - iSAC - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - pcmu_preference - Title - PCMU - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - pcma_preference - Title - PCMA - Type - PSToggleSwitchSpecifier - - - Key - codec2_preference - Title - codec2 - Type - PSToggleSwitchSpecifier - DefaultValue - - - - Key - audio_advanced_group - Title - Advanced - Type - PSGroupSpecifier - - - Key - playback_gain_preference - Title - Playback gain - Type - PSTextFieldSpecifier - KeyboardType - NumbersAndPunctuation - DefaultValue - 0 - IASKTextAlignment - IASKUITextAlignmentRight - - - Key - microphone_gain_preference - Title - Microphone gain - Type - PSTextFieldSpecifier - KeyboardType - NumbersAndPunctuation - DefaultValue - 0 - IASKTextAlignment - IASKUITextAlignmentRight - - - DefaultValue - 36 - Key - audio_codec_bitrate_limit_preference - Title - Codec bitrate limit - Titles - - 10 kbits/s - 15 kbits/s - 20 kbits/s - 36 kbits/s - 64 kbits/s - 128 kbits/s - - Type - PSMultiValueSpecifier - Values - - 10 - 15 - 20 - 36 - 64 - 128 - - - - DefaultValue - - Key - voiceproc_preference - Title - Enable Voice Processing - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - eq_active - Title - Enable Bass Boost - Type - PSToggleSwitchSpecifier - - - - diff --git a/Settings/InAppSettings.bundle/Call.plist b/Settings/InAppSettings.bundle/Call.plist deleted file mode 100644 index fe4541a0c..000000000 --- a/Settings/InAppSettings.bundle/Call.plist +++ /dev/null @@ -1,171 +0,0 @@ - - - - - PreferenceSpecifiers - - - Type - PSToggleSwitchSpecifier - Title - Use device ringtone - Key - use_device_ringtone - DefaultValue - - - - Type - PSToggleSwitchSpecifier - Title - Send inband DTMFs - Key - rfc_dtmf_preference - DefaultValue - - - - Type - PSToggleSwitchSpecifier - Title - Send SIP INFO DTMFs - Key - sipinfo_dtmf_preference - DefaultValue - - - - Key - incoming_call_timeout_preference - Title - Incoming call timeout - Type - PSTextFieldSpecifier - AutocapitalizationType - None - AutocorrectionType - No - KeyboardType - NumberPad - DefaultValue - 30 - IASKTextAlignment - IASKUITextAlignmentRight - - - Key - in_call_timeout_preference - Title - In call timeout - Type - PSTextFieldSpecifier - AutocapitalizationType - None - AutocorrectionType - No - KeyboardType - NumberPad - DefaultValue - 0 - IASKTextAlignment - IASKUITextAlignmentRight - - - Key - voice_mail_uri_preference - Title - Voice mail URI - AutocapitalizationType - None - AutocorrectionType - No - DefaultValue - - IsSecure - - Type - PSTextFieldSpecifier - IASKTextAlignment - IASKUITextAlignmentRight - - - DefaultValue - - Key - repeat_call_notification_preference - Title - Repeat call notification - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - media_encrption_mandatory_preference - Title - Media Encryption mandatory - Type - PSToggleSwitchSpecifier - - - DefaultValue - None - Key - media_encryption_preference - Title - Media Encryption - Titles - - None - SRTP - ZRTP - DTLS - - Type - PSMultiValueSpecifier - Values - - None - SRTP - ZRTP - DTLS - - - - DefaultValue - None - Key - media_encryption_preference_pq_enabled - Title - Media Encryption - Titles - - None - SRTP - ZRTP Post Quantum - DTLS - - Type - PSMultiValueSpecifier - Values - - None - SRTP - ZRTP - DTLS - - - - DefaultValue - - Key - pref_accept_early_media_preference - Title - Accept early-media - Type - PSToggleSwitchSpecifier - - - - diff --git a/Settings/InAppSettings.bundle/Chat.plist b/Settings/InAppSettings.bundle/Chat.plist deleted file mode 100644 index 498152fe4..000000000 --- a/Settings/InAppSettings.bundle/Chat.plist +++ /dev/null @@ -1,77 +0,0 @@ - - - - - PreferenceSpecifiers - - - DefaultValue - Never - Key - auto_download_mode - Title - Auto download incoming files policy - Titles - - Never - Always - If lighter than max size - - Type - PSMultiValueSpecifier - Values - - Never - Always - Customize - - - - DefaultValue - - Key - auto_write_to_gallery_mode - Title - Auto write to gallery - Type - PSToggleSwitchSpecifier - - - Key - auto_download_incoming_files_max_size - Title - Max size (in bytes) - DefaultValue - -1 - Type - PSTextFieldSpecifier - KeyboardType - NumbersAndPunctuation - IASKTextAlignment - IASKUITextAlignmentRight - - - Type - PSGroupSpecifier - Title - File sharing - - - AutocapitalizationType - None - AutocorrectionType - No - KeyboardType - URL - Type - PSTextFieldSpecifier - Title - Server URL - Key - file_transfer_server_url_preference - IASKTextAlignment - IASKUITextAlignmentRight - - - - diff --git a/Settings/InAppSettings.bundle/Contacts.plist b/Settings/InAppSettings.bundle/Contacts.plist deleted file mode 100644 index 4cbb1e6d1..000000000 --- a/Settings/InAppSettings.bundle/Contacts.plist +++ /dev/null @@ -1,83 +0,0 @@ - - - - - PreferenceSpecifiers - - - Title - Push Presence - Key - account_push_presence_preference - Type - PSToggleSwitchSpecifier - DefaultValue - - - - Title - LDAP configs - Type - PSGroupSpecifier - - - Key - new_ldap_button - Title - Add new LDAP config (5 max) - Type - IASKButtonSpecifier - - - Key - ldap_1 - File - LDAP - Title - LDAP 1 - Type - PSChildPaneSpecifier - - - Key - ldap_2 - File - LDAP - Title - LDAP 2 - Type - PSChildPaneSpecifier - - - Key - ldap_3 - File - LDAP - Title - LDAP 3 - Type - PSChildPaneSpecifier - - - Key - ldap_4 - File - LDAP - Title - LDAP 4 - Type - PSChildPaneSpecifier - - - Key - ldap_5 - File - LDAP - Title - LDAP 5 - Type - PSChildPaneSpecifier - - - - diff --git a/Settings/InAppSettings.bundle/LDAP.plist b/Settings/InAppSettings.bundle/LDAP.plist deleted file mode 100644 index 2e8ae294e..000000000 --- a/Settings/InAppSettings.bundle/LDAP.plist +++ /dev/null @@ -1,318 +0,0 @@ - - - - - PreferenceSpecifiers - - - Type - PSToggleSwitchSpecifier - Title - Enabled - Key - ldap_enabled - DefaultValue - - - - Key - ldap_remove_button - Title - Delete this LDAP config - Type - IASKButtonSpecifier - - - Title - Connexion - Type - PSGroupSpecifier - - - Key - ldap_server - Title - Server URL - Type - PSTextFieldSpecifier - AutocapitalizationType - None - AutocorrectionType - No - DefaultValue - - IASKTextAlignment - IASKUITextAlignmentRight - - - Key - ldap_bind_dn - Title - Bind DN - Type - PSTextFieldSpecifier - AutocapitalizationType - None - AutocorrectionType - No - DefaultValue - - IASKTextAlignment - IASKUITextAlignmentRight - - - IASKTextAlignment - IASKUITextAlignmentRight - AutocapitalizationType - None - AutocorrectionType - No - DefaultValue - - IsSecure - - Key - ldap_password - KeyboardType - Alphabet - Title - Password - Type - PSTextFieldSpecifier - - - DefaultValue - simple - Key - ldap_auth_method - Title - Authentication Method - Titles - - Simple - Anonymous - - Type - PSMultiValueSpecifier - Values - - simple - anonymous - - - - Type - PSToggleSwitchSpecifier - Title - Use TLS - Key - ldap_tls_enabled - DefaultValue - - - - DefaultValue - simple - Key - ldap_certificates_verification_mode - Title - Certificate Verification - Titles - - Auto - Enabled - Disabled - - Type - PSMultiValueSpecifier - Values - - default - enabled - disabled - - - - Title - Research - Type - PSGroupSpecifier - - - Key - ldap_base_object - Title - Research Base - Type - PSTextFieldSpecifier - AutocapitalizationType - None - AutocorrectionType - No - DefaultValue - - IASKTextAlignment - IASKUITextAlignmentRight - - - Key - ldap_filter - Title - Filter - Type - PSTextFieldSpecifier - AutocapitalizationType - None - AutocorrectionType - No - DefaultValue - - IASKTextAlignment - IASKUITextAlignmentRight - - - Key - ldap_max_results - Title - Max results - Type - PSTextFieldSpecifier - AutocapitalizationType - None - AutocorrectionType - No - KeyboardType - NumberPad - DefaultValue - 50 - IASKTextAlignment - IASKUITextAlignmentRight - - - Key - ldap_timeout - Title - Timeout (seconds) - Type - PSTextFieldSpecifier - AutocapitalizationType - None - AutocorrectionType - No - KeyboardType - NumberPad - DefaultValue - 5 - IASKTextAlignment - IASKUITextAlignmentRight - - - Key - ldap_delay - Title - Delay (milliseconds) - Type - PSTextFieldSpecifier - AutocapitalizationType - None - AutocorrectionType - No - KeyboardType - NumberPad - DefaultValue - 500 - IASKTextAlignment - IASKUITextAlignmentRight - - - Key - ldap_min_chars - Title - Min chars - Type - PSTextFieldSpecifier - AutocapitalizationType - None - AutocorrectionType - No - KeyboardType - NumberPad - DefaultValue - 3 - IASKTextAlignment - IASKUITextAlignmentRight - - - - Title - Analysis - Type - PSGroupSpecifier - - - Key - ldap_name_attribute - Title - Name Attributes - Type - PSTextFieldSpecifier - AutocapitalizationType - None - AutocorrectionType - No - DefaultValue - - IASKTextAlignment - IASKUITextAlignmentRight - - - Key - ldap_sip_attribute - Title - SIP Attributes - Type - PSTextFieldSpecifier - AutocapitalizationType - None - AutocorrectionType - No - DefaultValue - - IASKTextAlignment - IASKUITextAlignmentRight - - - Key - ldap_sip_domain - Title - Domain - Type - PSTextFieldSpecifier - AutocapitalizationType - None - AutocorrectionType - No - DefaultValue - - IASKTextAlignment - IASKUITextAlignmentRight - - - Title - Miscellaneous - Type - PSGroupSpecifier - - - Type - PSToggleSwitchSpecifier - Title - Enabled - Key - ldap_logs_enabled - DefaultValue - - - - - diff --git a/Settings/InAppSettings.bundle/Meetings.plist b/Settings/InAppSettings.bundle/Meetings.plist deleted file mode 100644 index c8eb2c99c..000000000 --- a/Settings/InAppSettings.bundle/Meetings.plist +++ /dev/null @@ -1,19 +0,0 @@ - - - - - PreferenceSpecifiers - - - Type - PSToggleSwitchSpecifier - Title - Allow broadcasts (Beta) - Key - enable_broadcast_conference_feature - DefaultValue - - - - - diff --git a/Settings/InAppSettings.bundle/Network.plist b/Settings/InAppSettings.bundle/Network.plist deleted file mode 100644 index 65fa5e8a6..000000000 --- a/Settings/InAppSettings.bundle/Network.plist +++ /dev/null @@ -1,203 +0,0 @@ - - - - - PreferenceSpecifiers - - - Title - Edge optimization - DefaultValue - - Key - edge_opt_preference - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - wifi_only_preference - Title - Wifi only - Type - PSToggleSwitchSpecifier - - - Key - stun_preference - Title - Stun Server - Type - PSTextFieldSpecifier - AutocapitalizationType - None - AutocorrectionType - No - DefaultValue - - IASKTextAlignment - IASKUITextAlignmentRight - - - Title - ICE - Key - ice_preference - Type - PSToggleSwitchSpecifier - DefaultValue - - - - Title - TURN - Key - turn_preference - Type - PSToggleSwitchSpecifier - DefaultValue - - - - Key - turn_username - Title - TURN's Username - Type - PSTextFieldSpecifier - AutocapitalizationType - None - AutocorrectionType - No - DefaultValue - - IASKTextAlignment - IASKUITextAlignmentRight - - - Key - turn_password - Title - TURN's Password - Type - PSTextFieldSpecifier - IsSecure - - AutocapitalizationType - None - AutocorrectionType - No - DefaultValue - - IASKTextAlignment - IASKUITextAlignmentRight - - - Type - PSToggleSwitchSpecifier - Title - Random Port - Key - random_port_preference - DefaultValue - - - - Key - port_preference - Title - Port - Type - PSTextFieldSpecifier - KeyboardType - NumberPad - DefaultValue - 5060 - IASKTextAlignment - IASKUITextAlignmentRight - - - Key - audio_port_preference - Title - Audio Port(s) - Type - PSTextFieldSpecifier - KeyboardType - NumbersAndPunctuation - DefaultValue - 7076 - IASKTextAlignment - IASKUITextAlignmentRight - - - Key - video_port_preference - Title - Video Port(s) - Type - PSTextFieldSpecifier - KeyboardType - NumbersAndPunctuation - DefaultValue - 9078 - IASKTextAlignment - IASKUITextAlignmentRight - - - Title - Allow IPv6 - Key - use_ipv6 - Type - PSToggleSwitchSpecifier - DefaultValue - - - - Key - network_limit_group - Title - Limits - Type - PSGroupSpecifier - - - Key - dns_server_preference - Title - DNS Server - Type - PSTextFieldSpecifier - AutocapitalizationType - None - AutocorrectionType - No - DefaultValue - - IASKTextAlignment - IASKUITextAlignmentRight - - - Key - adaptive_rate_control_group - Title - Adaptive rate control - Type - PSGroupSpecifier - - - DefaultValue - - Key - adaptive_rate_control_preference - Title - Adaptive rate control - Type - PSToggleSwitchSpecifier - - - - diff --git a/Settings/InAppSettings.bundle/Root.plist b/Settings/InAppSettings.bundle/Root.plist deleted file mode 100644 index c211444ee..000000000 --- a/Settings/InAppSettings.bundle/Root.plist +++ /dev/null @@ -1,229 +0,0 @@ - - - - - PreferenceSpecifiers - - - Title - SIP accounts - Type - PSGroupSpecifier - - - Key - assistant_button - Title - Run assistant - Type - IASKButtonSpecifier - - - Key - menu_account_1 - File - Account - Title - Account 1 - Type - PSChildPaneSpecifier - - - Key - menu_account_2 - File - Account - Title - Account 2 - Type - PSChildPaneSpecifier - - - Key - menu_account_3 - File - Account - Title - Account 3 - Type - PSChildPaneSpecifier - - - Key - menu_account_4 - File - Account - Title - Account 4 - Type - PSChildPaneSpecifier - - - Key - menu_account_5 - File - Account - Title - Account 5 - Type - PSChildPaneSpecifier - - - Title - Settings - Type - PSGroupSpecifier - - - Type - PSToggleSwitchSpecifier - Title - Enable video - Key - enable_video_preference - DefaultValue - - - - Key - audio_menu - File - Audio - Title - Audio - Type - PSChildPaneSpecifier - - - Key - video_menu - File - Video - Title - Video - Type - PSChildPaneSpecifier - - - Key - call_menu - File - Call - Title - Call - Type - PSChildPaneSpecifier - - - Key - meeting_menu - File - Meetings - Title - Meetings - Type - PSChildPaneSpecifier - - - Type - PSChildPaneSpecifier - Key - message_menu - Title - Chat - File - Chat - - - Key - network_menu - File - Network - Title - Network - Type - PSChildPaneSpecifier - - - Key - tunnel_menu - File - Tunnel - Title - Tunnel - Type - PSChildPaneSpecifier - - - Key - contacts_menu - File - Contacts - Title - Contacts - Type - PSChildPaneSpecifier - - - File - Advanced - Title - Advanced - Type - PSChildPaneSpecifier - - - Title - Development debug actions - Key - debug_actions_group - Type - PSGroupSpecifier - - - Key - release_button - Title - Release core - Type - IASKButtonSpecifier - - - Key - clear_cache_button - Title - Clear cache - Type - IASKButtonSpecifier - - - Key - battery_alert_button - Title - Battery alert - Type - IASKButtonSpecifier - - - Key - flush_images_button - Title - Flush downloaded images - Type - IASKButtonSpecifier - - - Type - PSToggleSwitchSpecifier - Title - Auto answer call immediately - Key - enable_auto_answer_preference - DefaultValue - - - - StringsTable - Root - - diff --git a/Settings/InAppSettings.bundle/Tunnel.plist b/Settings/InAppSettings.bundle/Tunnel.plist deleted file mode 100644 index aee4e8bec..000000000 --- a/Settings/InAppSettings.bundle/Tunnel.plist +++ /dev/null @@ -1,53 +0,0 @@ - - - - - PreferenceSpecifiers - - - DefaultValue - off - Titles - - Off - On - Auto - - Key - tunnel_mode_preference - Title - Mode - Type - PSMultiValueSpecifier - Values - - off - on - auto - - - - Key - tunnel_address_preference - Title - Address - Type - PSTextFieldSpecifier - IASKTextAlignment - IASKUITextAlignmentRight - - - Key - tunnel_port_preference - Title - Port - Type - PSTextFieldSpecifier - KeyboardType - NumbersAndPunctuation - IASKTextAlignment - IASKUITextAlignmentRight - - - - diff --git a/Settings/InAppSettings.bundle/Video.plist b/Settings/InAppSettings.bundle/Video.plist deleted file mode 100644 index 8e6dca3eb..000000000 --- a/Settings/InAppSettings.bundle/Video.plist +++ /dev/null @@ -1,183 +0,0 @@ - - - - - PreferenceSpecifiers - - - Type - PSToggleSwitchSpecifier - Title - Automatically start - Key - start_video_preference - DefaultValue - - - - Type - PSToggleSwitchSpecifier - Title - Automatically accept - Key - accept_video_preference - DefaultValue - - - - Type - PSToggleSwitchSpecifier - Title - Show self view - Key - self_video_preference - - - Type - PSToggleSwitchSpecifier - Title - Show preview - Key - preview_preference - - - Key - video_preset_preference - Title - Video preset - Titles - - Default - High FPS - Custom - - Type - PSMultiValueSpecifier - Values - - default - high-fps - custom - - DefaultValue - default - - - Key - video_preferred_size_preference - Title - Preferred video size - Titles - - HD (960x720) - VGA (640x480) - QVGA (320x240) - - Type - PSMultiValueSpecifier - Values - - 0 - 1 - 2 - - DefaultValue - 1 - - - Key - video_preferred_fps_preference - Title - Preferred FPS - Type - PSMultiValueSpecifier - Titles - - No preference - 5 - 10 - 15 - 20 - 25 - 30 - - Values - - 0 - 5 - 10 - 15 - 20 - 25 - 30 - - DefaultValue - 0 - - - Key - download_bandwidth_preference - Title - Bandwidth limit in kbits/s - Type - PSTextFieldSpecifier - AutocapitalizationType - None - AutocorrectionType - No - KeyboardType - NumberPad - DefaultValue - 380 - IASKTextAlignment - IASKUITextAlignmentRight - - - Title - Codecs - Type - PSGroupSpecifier - - - DefaultValue - - Key - vp8_preference - Title - VP8 - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - h264_preference - Title - H.264 - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - h265_preference - Title - H.265 - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - mp4v-es_preference - Title - MPEG-4 - Type - PSToggleSwitchSpecifier - - - - diff --git a/Settings/InAppSettings.bundle/ar.lproj/Account.strings b/Settings/InAppSettings.bundle/ar.lproj/Account.strings deleted file mode 100644 index c7d0de614c753f5f2f2ebf5d25a89113f76bca3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1268 zcmZ{kTW`}q5Ju-|9{3ejDsUP|izycs#Dg0@P=H|IW;OS$D~R-?swp{EcXrK=|}+a)C-`kK6Z@{BTVP@9^3t|NsS zqsUU?rNl8bc_$qkzE?b z)ZX&@jT?83ed)0$sU8-&C)D*d6JnR-El^zVHo=>B=shbV$1vCOhwhqj19}<}>xtip zn?f@;Oh@)#d>>{~Mo)NeQx(W0cm7xYx2kZ22J_k8yGUPWC_PDQZ2!NT*bAr`6Y6Gm z27j|dzt`?OwV5C2i&9%GKV&TZT8(PORY~zv;wwX7FvYhxFs_m(Y1%S694W z5^Xcy{0i7ax1rkEwcHrxfgIq-87lnbpYz;d2K^rNVB22*EV|e?fA68$^hPlE&*E1o WOSIYypkVLUp{p;;bKt)dPSGQaou}FW diff --git a/Settings/InAppSettings.bundle/ar.lproj/Advanced.strings b/Settings/InAppSettings.bundle/ar.lproj/Advanced.strings deleted file mode 100644 index ef75e244073124e09280197b0e24f3798a5a411a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1102 zcmbW0-A=+l5QXPzE_{jxf<!9dmc^6EERN=s5>Vwx?x zbmyEoXU~3rRpdq%GLa?YMaH}<;>ii4?8~ui@qft9SVr>1ZjZ`mRtrg($8yJ$;w@Q^ zWX|(g!2C~b%G!r*ByTb;p!wR@hMs9p2O4Na(w#%65*t@N} zynRrz>Qkr76qVJ7@I=4XUcr~hOzs(D+_3o^w~8GYYfbmH18Zx8c_Jy++0+R}qnf0@!9)?FM*73bWU;x4WxU9Q{u diff --git a/Settings/InAppSettings.bundle/ar.lproj/Audio.strings b/Settings/InAppSettings.bundle/ar.lproj/Audio.strings deleted file mode 100644 index 362258a403e26c46e4bab56220c5188685fb25db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1494 zcma)6T~ES55S*ud@K;<&3`!8gmr9He1uKL|tP*)gBuGRtqDKAk>f9ae9kdYB^m5&u zot?ez?e9+xEzEI`F-BM*2Zb}fIppPBLMcn0Yga0g!zp%X@8gBoF+PbZ;|P!F;MjnZ8+paN?^LKzgY(5|v%PW7DQ3*2P+@FZZ{VX|2&tYBULI*X6VW~u&z#m8i`)H2R;U5k&|#FGA(X%>fxS$eqfdM<$dw%#TN zrZZhHJBvlMQNl4#q2h7)wpCOk1Ep;-s?Y2$SDQCPe_QXA|G&vjaDHcr5q;AuJ|ebQ zM8xdGtT(^WNc2^0c%mHQ(ZSvs3%^?ndjzRNKHfX%?!_g8nt5085!Mrzu=>* zo_KW!(vWM;P=$~?Jxzu)R>i_&Hl H7 diff --git a/Settings/InAppSettings.bundle/ar.lproj/Call.strings b/Settings/InAppSettings.bundle/ar.lproj/Call.strings deleted file mode 100644 index 278363358b79e67d2c3f6f15fd96c5980a1c2cc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 584 zcmb7>O-sW-6h-gqE<BAkl(|h>IYCwn^Ive$cA>TH6vZsi6J)>Um>hf*X}E$-H@) zbMKw`c#k#JLbaY0spR{p*|y4brz;Khs+isxBi61R*|8;-S)`^PDYul`S9^A77uL5} zr`qBFmOWLWTNs6|Vcsxn_W#Zw*g5>4ghr#l?_6tD!T$>KoD9!Ak=|IV$hX#pd7C4* z5pMUPy88nXjkmR@NXT&#Qg$`|!u8!bXW(R?_u-7KpvppL5U4r*hWvoH62}XiRQN7~ z?|V%+sn&05LpTZVFK!BL?_0$+dUn~NPT;*TW~A==u2J(dSq4q-maNnrrT_2roBjlA CK2k#f diff --git a/Settings/InAppSettings.bundle/ar.lproj/Chat.strings b/Settings/InAppSettings.bundle/ar.lproj/Chat.strings deleted file mode 100644 index 669e88953c939873bbb2759323f0962cbfdc9389..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 506 zcmb`E%}&BV6ot>~E_{kf7Xq4S2quIW76hk}L=(jD0Ekjdijua<&%-NUrzCXg!o^JQ znd$w`x$W;yq=CLv=u=Lw>>GV3Y7j)vM%0) diff --git a/Settings/InAppSettings.bundle/ar.lproj/Root.strings b/Settings/InAppSettings.bundle/ar.lproj/Root.strings deleted file mode 100644 index 9693ddf1b7154d41ceea5ed9044d286d1a633e7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1358 zcmZ{kTW{Jx5QXPy9{MXBN7Te^lahdjxSIw zYhk@JXD(;X`tKiKZseJJ@&4fsv8qg_4GB0{v4*ON{SY5qm_+>&SA#hf-`%(5SI)`&67 zeoVI!W0w7xUL(dVIp#*jFt&ofnLKWBZw$2b0=@#b!jiWH-&F2p3f7Y~*o@u0mMzo> zN=QpSjwUIwy`vWz`^s!Vr#Vw>0h@nR~P@>H`oKhsT*-$9u-mI$3 zI((-`rPq~XWkYof`MDFbiyq^e@2%6}48(5sA$9i4m=XQ1okAb*&1z8-s_auiQu+?? zSi6XG`7OWLnXWy@^F8?<+1stLxy`ZF?@UYIqw_!yT=%*1LmiS~M5mq{J6?)A5$ZXN zk3bZPxORER#9y-W+|69DtC(%}$Tbx^Wu$OtXsdIwg>S)&Rd`w6%VRh_EGy`PF-?w% z@Zvf(r7bwAYG~2XM`CndW3=hR-bS^_45{OpE+)jt;AsO>Q~p!OW5($d+@`QO-eNFt z^%d2bB8x1Eek1QG-;^s@tn^}PUJ==*V$;~Tdh_m0m3bzcqiNo{Gqt?b`Z;83ZF&ib d+ozMabQ17>LB8Va6?0-=u_I1=&dnpA+CRjAu!8^q diff --git a/Settings/InAppSettings.bundle/ar.lproj/Tunnel.strings b/Settings/InAppSettings.bundle/ar.lproj/Tunnel.strings deleted file mode 100644 index e9565b65de11b0c14dde30c64db65a8669a5a6cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmezWPl>^oA)g_IA(cUiL4m;*h?N-B*<9E>*v!~0*_0Tp8MuHVjzASD3`Iay#XyLv f(vr;$s9GIJ!c+$UO)O$4K~v`nRN=^G096G5c%l$s diff --git a/Settings/InAppSettings.bundle/ar.lproj/Video.strings b/Settings/InAppSettings.bundle/ar.lproj/Video.strings deleted file mode 100644 index 072ab4225f66b0e9119bd87ea48e556d1f90cdef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 846 zcmbV~TTjA35QWdvJoqb`#)uk`fJnT=hjNpcXfPzaBa}!~AQUC~umST0cjL zzoFK%OMA3##Grs};TJ$_gO{l4({V)gjP5Z`fR~-i_KbKg-KhJRsztOLt#u@*0Uf?L zO*Iwm1TKz3P9A(p{GGMmB2t6(17``xO&!|ms+Ymsl@s%WhZx^TnHy=Lzw)QHkFtwQ=fsb(IyzNFHB~bi a*;qd7d_z_ki?iD9;8|O5Lv~)XhBmgsK3OqX^R>kKZBX;y zd+g9&*)uRlcEzu;d(N)FRXhuubFQ*7BVuv?r zy0l+dZaDvF()Dx08+j%$^w^!9fl*Y~tSk6pgo!I*6<5UGdEeDm*#&$RnNnO!-qQIC zGO{2RaaZW>?arR?d<*Uge6!^kqoF6uWYfNa_?K%2dXATZxRjT}JW-3Y6RMLd2^!;m z$ms;Op5JGHzI3mSP*r1g^%u5J$r0d%^d6AB*})_3p?} zLLah)Q&Vv2Bxh3;cH~z7>148pc%wa>KCzJdrA_Qj<~8jE#4)*Q$*X29MUr;a>8aaB8+|MA>J-gZi9M**j4a?wJg3+m zebs*WXiBoDxoGVJ^Hy#qZJyO{N*?CKqJCGl)w|AKvQ&GW)O6K;x5mB%t+?}>;S9bT z_F}inqZl4oVHTuREK;L^QUEzwg-5 z9i@(NwtFk3Y^l16T*@QY|8Ed=wftxvLyh8G%)B3E_!gUVDFe!%qV77y0e1l-$6Y(~_sj zV;Z8W10DLS6L0~CDqq2)-3X~lZ%n_N@y$AG9iBy}L_0EK9!eq;`oG}4l=IeED{$ZY ze202^#7|t_n*9#OShfw#F&3Zeu;U%D=H2ggjy6BRItwNmcOx7M+m4 S@dNp!jwQUd^%?VUjN=!P`p@wI diff --git a/Settings/InAppSettings.bundle/cs.lproj/Root.strings b/Settings/InAppSettings.bundle/cs.lproj/Root.strings deleted file mode 100644 index 459566bcf1e326a9cd86980fee0372093bb4ea76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1364 zcmZvc&2G~`6os$1NIU@>D{sKx3b7~wBsNu*KqQtJE^Ay)xee8enuLkk54&z@B z;$`f~oEC%=yGuW^=2sr|gz!SfFIb zz2ZySRwuP%Ovv*FR@q}+(4k=SsM&z;*yd4VvZ=Vb_%j##*voosD{%2lbQbUD(rK}W z+t@ntHl_9=35tDn(^i9xBYLa1g$i>t&>U*M^2pzW2zQnxkM^B8uI+(6&-n;aYF8k( zcFjstoH~8y#9gx1`Op+^*o*r$vnQwd4?E&_M+Fa{EAY~EK@H-rT{a=!#KkJG?^vbm zsdk-)aOP%qfbW$|O}=vw**W7e5yWpCTe+?N<6pB+y{?i4?||_&e{ef3tcF<1Q68IK zr@o1@uKs-0+GYpgO;jNL)}QhDz7D9eH9PRes`|f z|4r^)r=DEyDSqa}JCf0wzetFw`EA)#4eHI_)ge{=eEOK`syZS))agT{cJQFg)Z@je giyPhEonC3NBCbwcLk>Qlzlg`-djJ3c diff --git a/Settings/InAppSettings.bundle/de.lproj/Account.strings b/Settings/InAppSettings.bundle/de.lproj/Account.strings deleted file mode 100644 index 8733cff0be30ff0b5d66a5902ff0f856153dc185..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1336 zcma)+%WfJ$5JhX9uV}H2`~^`K*f^2p7cx$=#=Hh$3}ObH_*=d7XGBTP?V{-hTah)I zo|$^wy7ijBe_D2F3tQR90?(y2Hs$$XwY89Z=5E;!v{N*rt=)BDH^R1MpX>u?+Xh?< zTO(`ml&)`gcF)_ez&no-8qR=z7GrLRApB;B*5P}MevQA-`g`b^T@P)aNJGvQ=WK_b zcy+<3tpei;oiZGA53onw}fHnG-^ zNGkA^+sn@0`Si%`4ohu^>a5KV_K{niSBwe_^;uJ C3*6}d diff --git a/Settings/InAppSettings.bundle/de.lproj/Advanced.strings b/Settings/InAppSettings.bundle/de.lproj/Advanced.strings deleted file mode 100644 index cb79cdb26949fb62454587029f172f0bcea1bdfe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1254 zcma)++e*Vg5QgX4rwHEr1mZ=t76qw75wFuzT1*p3szsmIXYf+}{+({KQl%0Sx;yh9 zW_Gq;pT~A*jm@m(t!%>g*fKlg^~n1+^2Ykqj`&`Zm)qD%ax|P zt9c$1#%r)^a3#;uilC{rvU>@3Y|nUE1kOhgOMBs+1@3C+q|c5ri$r0--XeHwV09MN z$)%mA(x#}#2)gY^RMg; z-FULmRS&1?>q*FH@u!ni{+xaPeb`xK(Y&cov74G4P1ObkpF_>3PtPIG(cvw4olKL= z!$YXV{dE&0t!0?`-_B}3nx6IumF}+S#`q0cC#rHR{>;v)N7Eq&-Lr^I83*KQ&c#)d zU9eWR--#wCBvs zx$J4bziK$g9FK?)VuczM&iKz;Pq9ba01M(Gyc2PNBP6)Q#^dDuYKtiHTU(!v=(Agl zVAT!xma$)%p+XZyZq}RU4iIBTJ%t9@R@cS7!VRu}y?=AdE4Ezm=D7g^cDIfW^)Kix zQz*k!=`>hJzKXn#V5)QuchC_`l}@vytNDBcQ>|0{vPGTZYy{}x&YMGfHj~rFPoZne2VxXtSM_7wN^vUnx z-qUav9}yG~Vljwtd*}U{vsQx)_%^IDLdy3c;@;)e!4hw@#dzVm66xk_dTW0s`khTX`k~Ym~u^tR+^ht7F?onPa5^V zs(bwubC6n=%tk6wtRlv diff --git a/Settings/InAppSettings.bundle/de.lproj/Call.strings b/Settings/InAppSettings.bundle/de.lproj/Call.strings deleted file mode 100644 index ec40d3f395b13bd9f383973180804ab21068540e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 678 zcmc(d&2GXl5QOKa~jOwb#4j znTfBLT!n%fZImez*D7zjsowRhCmob?_Q=RJyQ>(>D>ABj6q|EBXvFNu1)Xmo%=7}{ zD=Y7H^uMZpzrpxaYE>uhAK+H-|K!W`MXrWbt0QZ_WkoKMIioeGgL$PLvCkesG@K3l z1JSaU3Dmg4OcSyl$lK&kuh-c8FM}m&BYFZnYMhA4iG}7k?+z5&!@W$pn_KKs-wt2K z8tQvhbI|sTlCyht4R@Kx+tg{Nk&ONQ;kCF&=Jd~-BEAlOpXd(B^$w?7c>7EG23I|E A&;S4c diff --git a/Settings/InAppSettings.bundle/de.lproj/Chat.strings b/Settings/InAppSettings.bundle/de.lproj/Chat.strings deleted file mode 100644 index 091ab6724ad2ee99fbbd8083f7fa93dc8be3f770..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 528 zcmb`DO-{o=429pCQ;f2ri=F_n0MSa7fCY#HgtSc}r9+jZ{9Tq?bX7q=JG4pnT_j_V z?e9I$-*2KDZPe;bL392eimEtMvY?VIBU^ctbF(C>v`|C5rc#k-`cguE&38WDl`fz? z;N%l-gU&a)L6`0&=oQu0os0(RU4Mz=6mPj|ZS`|9cY89|sZ4y&n#vkxVA?ipVB{VJ z-le2cP`lR*SCfI}BYhdQ+TWsZSJ5dp(@zAwL#yFhccqiAeS{XLBYTU7u6 diff --git a/Settings/InAppSettings.bundle/de.lproj/Network.strings b/Settings/InAppSettings.bundle/de.lproj/Network.strings deleted file mode 100644 index 22c40dfaadd9a8ca07f9eaf8a4bb3083e4fefa27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1008 zcmaKrPfx-?5XIlwPtkBNdhqJSct9nQ_$LHJ6K@Cwjin`R!QkihV;J=}UDj=t5VB== z=FOWoJG0+kEp;@}OtB(mTBy{E=B#&(s(q$ZEqte}maed-*kitRbgW!UY%?$?+T;5G z$CPEPsS>SgEGgI=kH`3!0nEk{X+VZttLhuFd;ifNzsuOwIkg0|KRfT8hU)9K=D*K=zFVHjOYl>3rb9Nz%=QY$B9;>b7_L}J3>^)cues5&V>Be^UCaV0^ z+^>2vA$E?2Ud3Tv-?K*)P4z(!68d4Cw!05Fr!Aa)T(CGq8=eUaSuOei)rYlQ0khcX z@Ce6oPy7T0yEp=7J4d^!B;&Rsb*W>e%!wn~^V?=xh`;>9x%zfFb%lS`gy#Hft7ToL1iL_of75)HitfBD$ diff --git a/Settings/InAppSettings.bundle/de.lproj/Root.strings b/Settings/InAppSettings.bundle/de.lproj/Root.strings deleted file mode 100644 index a8ab5f489a57a7c5be5ea70c9bbf3c8c370f054f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1406 zcmZ{k%}?7v5XI-*zrxC$10Ox19!wepLaGo{+)XfXL=q$0Nksqfo~oAL+rim2O|**R zeLHVH-pu;n-;v$hwcT1~g-uztt!-tUwKf9##;>Nh_FF1k@L#Y~A2JkLveS&G_uwkT^DmSl>s-FYl17^oA)g_IA(cUiL4m;*h+!h748=gUH3JurbOfqMVJHHsDh7+fRD#4|q979> Tssn%~7BQ3n`7m_|5s(T1vuYAR diff --git a/Settings/InAppSettings.bundle/de.lproj/Video.strings b/Settings/InAppSettings.bundle/de.lproj/Video.strings deleted file mode 100644 index a95779d8927a829e7d3e0f7079970288351f1dd2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 908 zcmb7>PfNo<6vXH3rwF~PAS!}*u;QPKPzdB6lQap|q$IUszpUTFqx#$3hHNkarKFqp zGH>3@?DyA9*Lu}PwO$l+mP$BR{N5F)r4y^+e@1o1^BdnXQ4Fw|DsY!N7(x5&F_Vch zt^dRy!&-qZQ0i|8>C}3&3NmyrdE4S6qt~krsaJa1JE}O1(}K+b4lC{WUMinpUXwvK z!Wyx;fy*$($|8kS5o_ATA}>{yK>?xMxGW0c^+7ybhqL)C#!Yp885;1Su>|y>w2E^9s|h)hfL_H zSdFM(M)hcp7sf5=6D`Y#dEaBoNv?)Db9}So{m9f+a|jXVOfW$j^kNy!ZYt!=*W%Ol z5T10#3Sy5{Si4@ObFWm&cu_#D#=W8Si+y;UXl*t{J=2ntOS%>vy8wO2r%_YlWL6VQ zox&gP?(-b;YxD#ojDtM(U%iiH?l}9p4GZRwbGNE(qfVogX^2;3xC=6Qiz3Fso7yu$EA2>pR(r}&pvS3=On;H=-S+?h diff --git a/Settings/InAppSettings.bundle/en.lproj/Advanced.strings b/Settings/InAppSettings.bundle/en.lproj/Advanced.strings deleted file mode 100644 index 3e7cdcc25fdcd12f3a9221fc1c4447e285ac19d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1100 zcmbu8T~5O=49ESs0_;0XZ|;s9wkx{0lw+Q7u+fuG}532H{Ap(tA#`~P9r z{r;NClXS9@p4~{r?@S80X6GVTa>4yAnNCXCl3jq@@zjau>}1I@zMkh&TGm^_c@EZ8 z7pRr;E_K3|-dWajsAGxtJ<2uiVm-N-p>9GgT15_*j~em;6)zikWmnX%=a&AYx_{*i zuGgRrsPFLKvmD;FyBoL)c3vf|?OX{Q-6DhNCinJWsp$AB#D8L~k7w zV|D4>;J2YSI(fN{S?9eV9S4fCo~Yg6ifP0HyUW4VLBqfd(8(zp8frat&z(Y@$> zI@1{SJ2cOoe1^_fOjOHzX;6uLQ+dX=fUB21-dteQFIHzO@|?~vh8OTU17qYkqKF^) CAhkLG diff --git a/Settings/InAppSettings.bundle/en.lproj/Audio.strings b/Settings/InAppSettings.bundle/en.lproj/Audio.strings deleted file mode 100644 index d3571c9a5d55b411d79fbd0a0a29d3e8fefad5e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1524 zcmb7E%TB{E5S%k#Vf79YrQ#vPA%UtKh^UC@J%p-6gtnr9fR6{pvCM8`rxZnr?A@8! zN7nxS>fsy<++&IoEA(J+#$u?u~rp>6A^ zlL*S%JSt~&i8bO0v3uvO`2SN*g80Sa5qUE!8sRMtF(yC5tR%C+PbdVKVn_z&FiTQ=ux##KcH;f{F%yD&~ABcsGK^IYPA-#Mcj zgi3$moSNKchIv(Zp>n~m)vURHYHX6qc+FY;EpVd)!oD*DF4@2Q$@$ b|MFtdQbxAghI6&xvtm_J$9jY~)~fyhO@7VD diff --git a/Settings/InAppSettings.bundle/en.lproj/Call.strings b/Settings/InAppSettings.bundle/en.lproj/Call.strings deleted file mode 100644 index 841da9c055264cafd1945800562158840e7fe633..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 754 zcmbV~%?^Sv5QOLKQ;@!f@unsmPy^~60ZkL3#GivNug>GLzUJ5>!xC30)@EFB+9@VK$^t1i>`t+w+nT$ub6D@(Q)aAS(Avx=dREMR z=9A#Yvz9X%+`0GJ$MkqgtaC``-1bbQnX_TWmT9$3yF<>K@hQV9=akc<=PEhhklT?U y(;qEIs+uR=zuh<@>o}e#uEQ42IT z;Efh!RB0RDN&lQbMo;ueH3{ARNAFTEnroW*lckHerS>&>*BY@5adpVUVqdXK3N6Fs zh<=3`%r(yr)rx*xRydA`3Uin&4312VW`VEC_|Exb^f5kJB4SK`3i|3Y_B%4a&oufl zk>wSJf|KlH>BF?SluVZ6)Ql$7y4A3g#VK!$d`90-c|+#uth?4$qX^UB?}eX6Lx23u X@VgJRE&GaZnemLN%}>xZF<#{#Q7emX diff --git a/Settings/InAppSettings.bundle/en.lproj/Root.strings b/Settings/InAppSettings.bundle/en.lproj/Root.strings deleted file mode 100644 index fc23ec16de033ca9c388e04c5bbdada144052bf1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1362 zcmbVLO;3bC4DH!pLG~Z`buu0hHSuE1uJMiw5wZvd2FU(-^|cLQ28T)9kj+lo_g*`% zouBUw?dXYKD58}1_!{b|CPN)<5WB@Mgt(zII7RY0TbyQ3*Ac3a$Tp<#kJ^oA)g_IA(cUiL4m;*h>=CC8MuIaN1%KPLlIC-F%Tlup^HOQ2LR10VkkjU JhY$g&004RD5xf8Z diff --git a/Settings/InAppSettings.bundle/en.lproj/Video.strings b/Settings/InAppSettings.bundle/en.lproj/Video.strings deleted file mode 100644 index 533b5eb720be445a0da015a0c0cb2a6995381d1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 880 zcmbV~TWi8V5QWcke?{=U6~q>y_+U$GUj#w$J;sQk^@6b#`{UIwJBDP%OOTM=%aQC4Q_De7-M}-BOr>%4#EY*!X&-D>m-iW7p>POs$;LJ+xW`y|ts~3GLApd9|BG(|!;ZgC zu(Y5=K0_qxUYjiz_MJPrrkH0$xGp?KITOjs3QR!Q*dy5ob}92Y_?US#iQ61WS6IK) zsqXGKB|=SNqD$(_A^#7iUb@V6Y_pwv^ax`c+GWAkza9Sy^p5WMyw~_^_D<)Mawigb zcn8agys#VQ=}o~E5@)-lPFt#{S%@4$8XZt~d;{A&SK1lxv+ssx{jtDM#kFZmd%)78 zY`81tyheI=lq$oSeItXuLQ|OLytOx~opvtSIY+&g{XO36EM245G^-couZl1NK^Z!N zrZzF_8?@SvpLwfPVZA*g@iq39=*1GdHH3GDQj@fU7ZuHwlmT1)06!HtQC6A TQL^X1bhrE?aJcm%skI9lb34bjBt zi}TE8j|z0)ZR0JBR}fV1K%T0d=0l8}d0`~&TYCaaU+<0ZhrFn#pHs0@kPxSWN(e=7+j9RYvI~hqI*IRuq z-Mp8U_MFtnIv>HQN!q9~>SV9B`u7IaOGdiw;xFx`m@KlUe&6J&9#sEj1@(7m+3D9d zBZ<>n;-(w=2ru2l5^xTxEYYOqNa7U;aKit?O(Qbl`2vx;+~xGS!UK3s;6s8_-`h3nXNQ5 K{n{A!TJH}d0N<$q diff --git a/Settings/InAppSettings.bundle/es.lproj/Call.strings b/Settings/InAppSettings.bundle/es.lproj/Call.strings deleted file mode 100644 index 952c4053e76bc63b4b22ae99d608630848157083..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 656 zcmcJNyKcfj6hx=aSFHRSh%Slb0uu2^zcHK05*W)dF8FQwBS9)3X^8zDw-p8PQ*sVbWlL0RqmFpTO-;ViyK?e#R<2vGe!^)t zf!dn>w0B;KD!d*>~rQ`_LBryBe;2f5C4!hS>TjgF4)57(LzwN#ck z>)q|?fx`#-8`c-h8POhe#cA2hb&ioqXYSL8aPD9=q`Bx|Dm==VUd2tx-L)3@njffM za<_H=am2QceHyVgXY)KElj;>Xo4CENL@ScFC{7b!klQP5V)n8n9qD@->UffWQ@eM> c;CrS=-Jv{jraXPM+O>^;fZ6_%NT<2`1$Ta9)&Kwi diff --git a/Settings/InAppSettings.bundle/es.lproj/Network.strings b/Settings/InAppSettings.bundle/es.lproj/Network.strings deleted file mode 100644 index 61f9c3e4355331a451671c4054faad7a119f11c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1062 zcma)*!A`hzJg4c!i^K_ZsxA zTyVaCner%qAq&~H_(nu8utx`!MU7BjJLVD0m2BJ@GBN8MHPwv7B8;IgU1|#v_U^NK zlCccsq2&*jW5gw$SfNoU0l$*qL%A_ z6ur-;Cqx_HGh8}Znww>CKHugLZG0W-(|Oy%*N1TMn k8Fl$7D5)_ph3QbcWunpA3Eg1j%<<^y*;6)IC&BCf0Bw$`t^fc4 diff --git a/Settings/InAppSettings.bundle/es.lproj/Root.strings b/Settings/InAppSettings.bundle/es.lproj/Root.strings deleted file mode 100644 index f3ed1332f359ebedd3b2d0e5be0a57b173b2b222..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1484 zcmZ`(%TB{U4D^|=i24V-PKZMYMIcobYAfz(5=x+Ls-zEA`l5uO|^~nObAmg9D-`S8@XHND;(WSUJ8m z_T*?7`tk~f1d;TW;0WtjW6lt5d|@k(Ku$d#KNItGW6q9Z=;_9sAH~qqjk!3Ap{E;j zc@#sBVaDjz8Y@R1XXsSZ$p{K9>4fxqQLquzl=fnaUg-fou_(Vpn(^_v+6P zk=J_oaW3x-ka-Ik;!J0=sHYBo-)2z}PMl*kbqw$?mIc1D&ODMA{P*X^S+Z8#P`k53 zW~ID&oFmxNnr)(UxrEI>cOu{DkJ((EDZ0doO%8ZB_u;|*4sWV`FvKn5w#re+3N_dS z2Z+hg_YIV>+eH1Smam^px7jmz3}wHoe~S9PN;^=3kA0+?mJ4g9(!71tn>V<`uIcm; z6(<@~)TdGTDWbaOCpz%)mL}j$po-5o0Cs`8bIqt7V>#Wx!|5ge9xT+JdtceGw#9W; zQ^hgz6FXPo9U?cV?nUDY*`cHC05zfBf#wsV>+EM!H&v>%f)YM^bvSeEIV<>31ZTmi z;76w#>2l!QuW=@8p`JUSTz{yCF>(@kJ6Jtc*?ZYE^G;@`ES0LzOTMr6Zt?^>iy3l) Rr~&zxI%$rdcc=Yw{sC#2?_K}^ diff --git a/Settings/InAppSettings.bundle/es.lproj/Tunnel.strings b/Settings/InAppSettings.bundle/es.lproj/Tunnel.strings deleted file mode 100644 index 011a6e911fe3a2ad88ea5f704a8113687c9d2435..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124 zcmezWPl>^oA)g_IA(cUiL4m;*h+!i6K$bNF7m#!W%BL_C0o4=(Awr!CLnc@>nIRd- b`pl3A*AW0TvxuPtNo@c_DNsL13}!9>JC76Y diff --git a/Settings/InAppSettings.bundle/es.lproj/Video.strings b/Settings/InAppSettings.bundle/es.lproj/Video.strings deleted file mode 100644 index 125d843eb6c34031f8212c74ec3883404da3ac44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 956 zcma)4%SyvQ6g_LdV#rGxP75@ot95zFNPq$}SJ;PVauz(;M z)&!S0VEs?WQZ*%Z87U3go_N?-XN+e$Tsij{bIken&RiLLU5X(wlCIjyAV^K^eRq6I zqO(1?Iu64`{)}yJVnU4>nMyj-{hF)rjz{j4b`>Xh&7mi~J4Md9Te&l{2qhEDIVYKd zpWhP`%dEehzUN(UIZ{UPS+>6WwC*s%IAGVc&(+6rP3?lbD|ZVGr)4;$oSt&tfnhCJ zUods+8pq7gxqrlZgOvMF_rjODsr$}!qhX1W?{Jq-ze)L)g(HnL;;tem%y|*`@N3}-BOr>%4#EY*!X&-D>m-iW7p>POs$;LJ+xW`y|ts~3GLApd9|BG(|!;ZgC zu(Y5=K0_qxUYjiz_MJPrrkH0$xGp?KITOjs3QR!Q*dy5ob}92Y_?US#iQ61WS6IK) zsqXGKB|=SNqD$(_A^#7iUb@V6Y_pwv^ax`c+GWAkza9Sy^p5WMyw~_^_D<)Mawigb zcn8agys#VQ=}o~E5@)-lPFt#{S%@4$8XZt~d;{A&SK1lxv+ssx{jtDM#kFZmd%)78 zY`81tyheI=lq$oSeItXuLQ|OLytOx~opvtSIY+&g{XO36EM245G^-couZl1NK^Z!N zrZzF_8?@SvpLwfPVZA*g@iq39=*1GdHH3GDQj@fU7ZuHwlmT1)06!HtQC6A TQL^X1bhrE?aJcm%skI9lb34bjBt zi}TE8j|z0)ZR0JBR}fV1K%T0d=0l8}d0`~&TYCaaU+<0ZhrFn#pHs0@kPxSWN(e=7+j9RYvI~hqI*IRuq z-Mp8U_MFtnIv>HQN!q9~>SV9B`u7IaOGdiw;xFx`m@KlUe&6J&9#sEj1@(7m+3D9d zBZ<>n;-(w=2ru2l5^S9)3X^8zDw-p8PQ*sVbWlL0RqmFpTO-;ViyK?e#R<2vGe!^)t zf!dn>w0B;KD!d*>~rQ`_LBryBe;2f5C4!hS>TjgF4)57(LzwN#ck z>)q|?fx`#-8`c-h8POhe#cA2hb&ioqXYSL8aPD9=q`Bx|Dm==VUd2tx-L)3@njffM za<_H=am2QceHyVgXY)KElj;>Xo4CENL@ScFC{7b!klQP5V)n8n9qD@->UffWQ@eM> c;CrS=-Jv{jraXPM+O>^;fZ6_%NT<2`1$Ta9)&Kwi diff --git a/Settings/InAppSettings.bundle/es_AR.lproj/Network.strings b/Settings/InAppSettings.bundle/es_AR.lproj/Network.strings deleted file mode 100644 index 61f9c3e4355331a451671c4054faad7a119f11c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1062 zcma)*!A`hzJg4c!i^K_ZsxA zTyVaCner%qAq&~H_(nu8utx`!MU7BjJLVD0m2BJ@GBN8MHPwv7B8;IgU1|#v_U^NK zlCccsq2&*jW5gw$SfNoU0l$*qL%A_ z6ur-;Cqx_HGh8}Znww>CKHugLZG0W-(|Oy%*N1TMn k8Fl$7D5)_ph3QbcWunpA3Eg1j%<<^y*;6)IC&BCf0Bw$`t^fc4 diff --git a/Settings/InAppSettings.bundle/es_AR.lproj/Root.strings b/Settings/InAppSettings.bundle/es_AR.lproj/Root.strings deleted file mode 100644 index f3ed1332f359ebedd3b2d0e5be0a57b173b2b222..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1484 zcmZ`(%TB{U4D^|=i24V-PKZMYMIcobYAfz(5=x+Ls-zEA`l5uO|^~nObAmg9D-`S8@XHND;(WSUJ8m z_T*?7`tk~f1d;TW;0WtjW6lt5d|@k(Ku$d#KNItGW6q9Z=;_9sAH~qqjk!3Ap{E;j zc@#sBVaDjz8Y@R1XXsSZ$p{K9>4fxqQLquzl=fnaUg-fou_(Vpn(^_v+6P zk=J_oaW3x-ka-Ik;!J0=sHYBo-)2z}PMl*kbqw$?mIc1D&ODMA{P*X^S+Z8#P`k53 zW~ID&oFmxNnr)(UxrEI>cOu{DkJ((EDZ0doO%8ZB_u;|*4sWV`FvKn5w#re+3N_dS z2Z+hg_YIV>+eH1Smam^px7jmz3}wHoe~S9PN;^=3kA0+?mJ4g9(!71tn>V<`uIcm; z6(<@~)TdGTDWbaOCpz%)mL}j$po-5o0Cs`8bIqt7V>#Wx!|5ge9xT+JdtceGw#9W; zQ^hgz6FXPo9U?cV?nUDY*`cHC05zfBf#wsV>+EM!H&v>%f)YM^bvSeEIV<>31ZTmi z;76w#>2l!QuW=@8p`JUSTz{yCF>(@kJ6Jtc*?ZYE^G;@`ES0LzOTMr6Zt?^>iy3l) Rr~&zxI%$rdcc=Yw{sC#2?_K}^ diff --git a/Settings/InAppSettings.bundle/es_AR.lproj/Tunnel.strings b/Settings/InAppSettings.bundle/es_AR.lproj/Tunnel.strings deleted file mode 100644 index 011a6e911fe3a2ad88ea5f704a8113687c9d2435..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124 zcmezWPl>^oA)g_IA(cUiL4m;*h+!i6K$bNF7m#!W%BL_C0o4=(Awr!CLnc@>nIRd- b`pl3A*AW0TvxuPtNo@c_DNsL13}!9>JC76Y diff --git a/Settings/InAppSettings.bundle/es_AR.lproj/Video.strings b/Settings/InAppSettings.bundle/es_AR.lproj/Video.strings deleted file mode 100644 index 125d843eb6c34031f8212c74ec3883404da3ac44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 956 zcma)4%SyvQ6g_LdV#rGxP75@ot95zFNPq$}SJ;PVauz(;M z)&!S0VEs?WQZ*%Z87U3go_N?-XN+e$Tsij{bIken&RiLLU5X(wlCIjyAV^K^eRq6I zqO(1?Iu64`{)}yJVnU4>nMyj-{hF)rjz{j4b`>Xh&7mi~J4Md9Te&l{2qhEDIVYKd zpWhP`%dEehzUN(UIZ{UPS+>6WwC*s%IAGVc&(+6rP3?lbD|ZVGr)4;$oSt&tfnhCJ zUods+8pq7gxqrlZgOvMF_rjODsr$}!qhX1W?{Jq-ze)L)g(HnL;;tem%y|*`@N3&<0xgWPYOUjLoteQK+I2;*7`k z*xsM-jyy^wUUG4G*0PZmo~1O>f#n`|N5-<2Ei6vv(mg}n$qg_)nc=E{E5YHwS4t*R zc;@hmTzy~)jl+l;d>C;7gz*f3U%>Sakh2f}Lm;lzAA*-}A169DR5liJO*~vc1Ftr)uD^MBO8bo6@oQ*Ks ze|ZdClh4qEJaHd+uzxYV>ng9R* diff --git a/Settings/InAppSettings.bundle/fr.lproj/Advanced.strings b/Settings/InAppSettings.bundle/fr.lproj/Advanced.strings deleted file mode 100644 index 8d469ddf1a45522c14597bde10237f587762aed4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1702 zcmai!L2lbX3`M!lDFknlF4_wOT?lat6bRBHMh+lLP9oHfT}h7XBl{9*-ydo`YNI$1 zBxq*H&rkAm{=7`=hc&jamiNg@z7xyrGq0Z<{yDj{Gxon=S=ii`SZAECST)x1Us%QC zcrEL>t$BV9FmqybR@*ba4Hk}3281W}gi_ggK#DkuQWLY|e92SW1Akgi%o$Bt&uzk4@yJES5)0k9HMUE9Wtk8@xN7_i=8pQ7!Iy zRRR64;V|TM%EsBu>=CaWTvkMGd5TaUuUQ7(c$AcP4g=@#ILQ1pUInt)sUij6w~?J$ zPUTgHkGlOjb=%6Hy&GfZLlct_31qv8O_*9^Di8qdQE5S z;glZwEzw}B=}mpqzA%4Lfz*p>$Ry^F*`0mkR#0xbsmjoIp{%H!cxQHDvrvx(E2&gd z(bkGbdo;RGV?Kfzumq+mqZ165Z p6e&ttNnO?5v*l&Mya7Wr^o1FfV(|2b%+yoX|scR{dE_g z6LvZKhl|e%yL19`S+B+C>~m?ZWz)rRtjiEj-k#GiV-xLSQtV8(j~!wdeVpKev(WZD zd~BC>6<`TwSz~5*x%xaIGB(ka>)+*0aB+uN#<%y}0i{C0Ke3g1?~Bc7}XUwGj=F3#ALUn$j2*Dn#p)0<(572`?e zFytsEn(=(U@jYiu;gHKmKwAG=Fk*aGa3_pQ{h}KcUC4LNN9JJaWs)08I+qG^a+XvW51ExYM+^S1OFZIOydUTq c&fH}cl1FiWWqk6TzBFr+Y@0Gum@O;*2UKCu9RL6T diff --git a/Settings/InAppSettings.bundle/fr.lproj/Call.strings b/Settings/InAppSettings.bundle/fr.lproj/Call.strings deleted file mode 100644 index 349b828da5accb226b65c02bfce05db23a2aa902..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 860 zcmbV~%T5A85Jm6Wub8lL=MNZHq6rJc4C;R5Whe6>3>f%ienLG}&Cswg5!31E>3ZFJ ztLyu#r?F+3~BJ*rg?-yOTB2YjDuv?FJQWy;xdrdYFC1+$iTGtD_S z+LC>%E4~SDtbv}180ZO{(OI3#Fik;5<@0(S;sEai)|D$<5IKQk$;!0GR>8A@*@fTi`%(1UY*RgS{cnRt({VBIb} z+FqpPe{p1)`I|+}iF1zMPz!XQa<9R*uFRc*d4sD?xH)}Uve%B#A^(w@a1x1d%e>1ad z|9oegzRTS~Sebk1j4 zmfNup2;@mlxBmflK%hBRNB*@(Nu-#LS^av)aRyJC&FrJQ zx~jT&=JTVbmNGqSBBzCxT5F~`>rJETeW5}%a@VYy?h-_qAY8&y*M)9$4*E(b+#g|^ zvW&k_u6@EcBr?;hHt5e;1)A=sA}|byZpb+ez^t^b?$K3@Zpa$S<3oL0P5ecC`1bzp zHB?{SBp)Nkh*LUV(nU#UB|1ay=BFTT?xR8%)Eq>nGo0H@bC#djgowHPt4a^{l4}R& z3dX3?A!75&&~`ZUID7xi-6vOo^R9Xo(>h@a5vK-D51`jzX6RX0ehL8-^<%^%8g!OX zwZK8h)p2fnA?%>zxaozOpz{EOb@U$=Uvr=)uvi~C-#e7sxY_D5anaDY`YV1XIgkP2 zJL#Zros6h%F}X35*njW+;}g-;3%Dtl%_{8S;Nq5?ou)NYh%<=MNfi&%%h2;D(0n-< h?LXMtm`?0$ta#=LQ}ZYOPTY`wFJ%0~r%Km5`2tL}oeTf~ diff --git a/Settings/InAppSettings.bundle/fr.lproj/Root.strings b/Settings/InAppSettings.bundle/fr.lproj/Root.strings deleted file mode 100644 index 29f3697eae9ff7546e1063fba42608401143ff49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1430 zcmZ{kL2ueX5QXQQUtw`+du-C4svamwq+Hqvs@_d(ffYg=Fd%-i|3usG?PTq>WMo+^ zGxOfgyqWR8zY|;7gFRYixjpf`+QGKg*xn}CzVl9OhV{j2tR?pB9Wk+Qc7=By5W??y zD&B^(IC_R#YhlQ3$5ZlVwy_VR2?v-!j)#@o^j0eMT|V-n460jdB!ncE@I>v z$9%nrk;gF$lxlb?v|OQTuja4Ni;AvngWcor_?O!fWlQuuf-5+^COD}ozGK&eyo+o@ zWX$#eR{Z^)Q@R{&9`$GB2DhbLGjiJSq)avWm%-*tGg}jt&P#9ch@Zqab|RylJttgq z=4y{GC%dTI?=X+s_Z#9253RAz0xdMFPed09@3gbGc%;1}ZuuwmHe^yW(Iwah4W;yw zdsm#bM^ZU{t)kAbsrx#o-JNze zaV!%=6>fE=d!i0hxF)9H<`Wr9_dKXnV6DP8Wd$bPjs+-9*e>|{Z1v?z5g9qPFt(vu z)xP4Kc3U&AnpK51?G!3;g*4O7rzy~8sBTThIq8GuvxZ?yg!e&{Do%Y3H6_Cydq4gI DO_b*X diff --git a/Settings/InAppSettings.bundle/fr.lproj/Tunnel.strings b/Settings/InAppSettings.bundle/fr.lproj/Tunnel.strings deleted file mode 100644 index 91c6ad49d5fd34f61568fc492f8e577b9e660fae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmezWPl>^oA)g_IA(cUiL4m;*h>=CC8MuIaN1%KPLlIC-F%Tlufy7~=ApH>40YLML M7)p@TAw)nb0D5c@y#N3J diff --git a/Settings/InAppSettings.bundle/fr.lproj/Video.strings b/Settings/InAppSettings.bundle/fr.lproj/Video.strings deleted file mode 100644 index 56f07a118fe96dcfc0ebe7c9eb6770af6a7a001e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 984 zcmaiy%}&EG5QO*4Q$)S=1V{)F65>$)FQ7_Ay@w>F6=@S=O z?Cj32zdn05uoru_!sZt9pIO2`=XtZp97t>x-yXXY-kzP?N6oFkV|%a+H2$UW#6E+2 zY+HQ)$`F$;fm?QR3|gqKs<6esc}6zH#|oZ9F}De;C5|$%Q2&U%@Pd%6{%PBOI0{}qRwg+JT*NUgQr9mKQUSDq22c( zN(G)~Xn0>K%Eh`uooAdYyH@F%mchn)Z95kx4w{@G^CuEU_FwaeyE^TO| zmi8@`&F#LfMB05a>4xdPxZ0!cm7i1sR}%;sPGJgJ5tY)_DNJ>4&Z`;CIF0NPeeIp? z@&;c`v|N=aIUYY-bxHMpddQ>1cOR&m80ZsFlCj`_pUNu{}Gq b{T8E*by)`+Si(H(hD;ZBW!oLKE-L0Xbg!Sl diff --git a/Settings/InAppSettings.bundle/hu.lproj/Account.strings b/Settings/InAppSettings.bundle/hu.lproj/Account.strings deleted file mode 100644 index e8fded3616e59d3f5e3c7785f39d5b06b6bd4ffa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1424 zcmai!!EV|>5QZn$K83}#k5Ki1AgF1Rh7{7f6DJPA7-T!N@OFI^A35}d)Kk^=`**Xf zsT4)X*gHG(&p$K&?%zK>yRfBIc4rCil{GfwU0Q8DEbn=GHpQ~G)^7OCuoQSd@HBRH zQrpgQzUTP8vp4+r?Uvuto@jIs$7?oc9n$23BDkzP98OqcxG`0eOh+ z9?KJ6LQan|MZSIZQ)<~!S3^u;3x_Gjio1W#92k#5tf?rm&+t|Uf|xX z1t_^aIxKZs`Ss42jr_Z4flFd%Hhh(dCY{1eYFNTT$om7cvEyCaH}3L>6L?oncU329g8Hw~MZ(lI3-zO*<9=E?9bWZkHn7u9Tv+?vOL8=v0e>no z&{pL7zrs&s&~!^TJALI&A1~M2x34y~Q73P-_{^ttaRshUc%zB&=x{D3>5@*6yLlGJH+Ke4ww(t^+*$W%IO z$^HUw&7ph$d~nFR7c^^~IB8L5PYU&DeyZZ>Z!a-h@IA*P>SN&gS;Eg(rnC2&h7&iF r9A#+cQtOs~p|-@Phf2SIsf_;SI=%&C-{P&;*e~iV+-;%RXb%4Xykh+I diff --git a/Settings/InAppSettings.bundle/hu.lproj/Advanced.strings b/Settings/InAppSettings.bundle/hu.lproj/Advanced.strings deleted file mode 100644 index 436cf4dd955c2d8b3a1dff71b2e2e415e7c2837e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1222 zcmai!!A{#i5QZmLp2Et#Pk=Z?5Cj!as)z@O<6u%d4z=Ax@P@oVPrc;Gp(muCD&YHP zyKxGwBFoP1&dfjm{4<-E=e}K9ZBuJ_E1U4`TVe;ief!9+^z+glt>t9j_V^C*99!zP zgvdF&8hgTT#uM-w_Ngs+iY?4jVq3>8ZDzTn%X4Bs!TG{Iw>!HhU%{z3$tPo9az1s7 zxJE8VtW*1jSI7GV5i5-YwS>XuATp1rW&td)B^Q3ezmAycrDQmK_ja(c^uq!0Jj22aEOjh?X1biuyT4=~U50?(e- z8EeSjWxslqo4kSfk+|Q<&uL4^7jy0R#+bDh#Bv(LZRh)5wa%&ZtmSWW`)bX(xj%3V z6?FEgcC@eUfo?s9=~o$3MZ1Q!N{;DQ+58Wc9Mi9|)zi;*E;(jMrTaa*DhU%+ruv+n zyFy_fyb~Sz)0s|lvINAgp6MlB7-t%}?O)XE9+cT4YDV-FYnLgpeel+N{|P4{`I99g zX8x??h-e9j1Nc*Y$uyEBM-&}|SpuSbnDV^l=3&as8juCI!L^Qy62oVr?u zYdr46qa3(PecD**C;E3;X6bfwWLM+0cvoK6YB=+@lx4d2oX_>z`zv3sL$^Yu;<+Nq zoZL>m+AXTFh8?m#0=4il4$04IvN{fY#`bP}>&`su&mJtZIGuo4(D^0noHcf<@_zd! vcX)0nhLcmIh@y?} zc4ud1_kMpeP36_7lvCjQsN(;2p*vmaQmry-XGEryb7XtH=>@E#$7`u?B5JJm7&gM+DZ-N2FS8s#ykq`2Qj!gsi-U|ry7gIYm+(!F0V$Mpg3ADnt7j9V+oMddXNJzW)SX|||!2><9{ z#s`!Fjy=3JO2K^JYr@tBzauJ*=30Sn@l=3LnC;dlFsz8Ut6hf;9dQd!rV^`xOtZtC i!&tNJ?W@N3j!ryk&UA+DoPb&zu4TT?-aT$LI`{*1nRcH5 diff --git a/Settings/InAppSettings.bundle/hu.lproj/Chat.strings b/Settings/InAppSettings.bundle/hu.lproj/Chat.strings deleted file mode 100644 index b9992ccaf9030821dee83b0269bcf65fce7349a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 568 zcmYk3y-veG5QHZ!Phq)&XFwDnB@!YO{5?S87(4L~;4?q*+op6ug_H^b-)@NF;_h~D zX6I)2et%+}>s76u6luZ!u39DMj4aZUEFr5r%D8zXDwQe_KZBIyiPnnA&sec8Kv&x8 zO*bRsZ^%rs0NtWj>19+9EgUzkmaJs&QSD)*&dsUpP;ba<*elLhr#fQ4#@`2e0lecr z(lJrZImb)OP0-1})1F_UZ+fj)%-vf{&5T;(@6^X+3A{BO8nbe}04wt-VoFPp9Bisf z+>8fr-8)v$anL6$tBY72`?tHb4$WiXr(p*j>nY`(U1d+yGs%?s?A=Y!x2YL3r?&CV vvw?%j|IE#I<~};!+rZyz+<`Q%+o1EHTlzTs;1!Air}n!Ub)~)rESu3EcwlQT diff --git a/Settings/InAppSettings.bundle/hu.lproj/Network.strings b/Settings/InAppSettings.bundle/hu.lproj/Network.strings deleted file mode 100644 index 0290c26d4f055950032d3bba615edb6dd66c1027..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1054 zcmaizPfx-?5XFb9pQ7Pl@Zi;p@j!@)1ThGL=RzwYWs5CB;M;QKz=_18`kO6li+|H> zyPbLS=IzYR`&(HqC6J+n;z=x1naM~dtd;n7AB&MPz6(}aI@mW79bkR_6~E@YmK4;v z9Pz%#`oL0NgKt^jse$uljL)H5REMlD;5~AMlE~b?iwf?fD>wMZaHr&r;U3!TJFJeU zE;UY;$GQJZn{u>a$^8xV7&Q9ibQ}(KjCD$$l#`|8=<-%=2K$6v&f+3GP9CD`5rk?q zdwquL&Hv?Z*{D<&{dKF0Y2Y6;uHq0U#72VBSv66ZkCY&m0Rv7 z=5R`y@M=XAsq-{LsotI~yW)gga#bN%rlc(|~ch7vn5ooIS}HTI`x+D3_o~tKB&}cUEv^TfIW{-+&+4CA%@|EWnIe z-30uvTib^H*uBSK?qRI>UbC9>ZuP9#%{m?i-p^!*X*@n1rSa5{D7sjC3($!_L|8YxHcQ=sQuJ4`Nd~)3MY);<7_NaD& zb;{&Pmp0p>-D0^y3#qTUZgP2zT^SZ+b88b;n)V2GOeZQL)Mu%59jBdcUV!-qGse1x zCG|7#DbGvt$l00sZnHD7?+0}>DG+x~o^ps`se_T9U2)qQ6s_<`nvoG1>I`ZUCVaIW z?Qi|e+>8DLX~)l7W<|=+w|t#jVN3hPyLdE1=lIt7RwXM?nggxFKKH02N2>{Ufw$8A zN1!tBwKm;sk8;L5=$N diff --git a/Settings/InAppSettings.bundle/hu.lproj/Tunnel.strings b/Settings/InAppSettings.bundle/hu.lproj/Tunnel.strings deleted file mode 100644 index 67335eff14f00ea74c6f308295ed9177a4fabf03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110 zcmezWPl>^oA)g_IA(cUiL4m;*h(RKsfg(x_)(l)g(h>?Gfkz diff --git a/Settings/InAppSettings.bundle/hu.lproj/Video.strings b/Settings/InAppSettings.bundle/hu.lproj/Video.strings deleted file mode 100644 index 8c5ba5c86c1839e5c6796160ce0f2609254a0d3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1036 zcmbW0Pfx;75X7ffKSje`O^g~7<3SB-VoV@SxR+883lu3r;DdVS$ib6|NA%iOk#vkaO%+&eJalR(FiHWWK22?&!IR-b- zQgiaQ?lX7DSY=Gc{4enzul%q1hx8!c!d<1d?){Cmfx{MTDIRiO(=2zmK)ix5cXiLy zeKi>u?0e4Zq}1t}^VcRna;p|->qMcGv9@!syHYrxIo1LAkvqMiGRJS8tWO1xx#@#3 zFXlG?#@m#yR8#OTtpxs|5_%IchT2Eb?o`T2hVFFHO8J7k-Mgtf=a{?T)0r+6UFX|w zr4LKf?K8NtlBWRP36VL9_Wd)SCHKK9QqI^TZ-2$y>4zIkK3w*1?80pxie6kgpE2Ic zO1EFp1eIikZP25WlAmIqclAblI?%BWONer86Lqu&Ww9J}hf-D7xGl47Mh*E1WZbsn diff --git a/Settings/InAppSettings.bundle/it.lproj/Account.strings b/Settings/InAppSettings.bundle/it.lproj/Account.strings deleted file mode 100644 index f3def01a923e7a75f65d4e9246ddc4e9b237f77f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1334 zcmaKs%}&EW41|5=DOSC3;1Li9)PlqTs3>qxn-(H9P1UCSy*U@)n{~r(%a5XD6MH-! zd%gMm=-H(;wz8=O)}^&pu`XLS{tElC9q>H030GqqqFPW>*22a% z=dH|G_Hn{gpemvY?&h0uK;#VD2Co>4oeW9WKI1ahQO4*B6=F`TL-^MA2;UV})j8vy z#N1wUV%|ptI^)q@)pu}B$){Rt-gaYU2}HE4>Wci{tpPdLu+52k1@m8g2`1Q6jM(t5 zUcGS@vCfXMQxfdL2AK|h{jOmM!R+d42xnt2 zRF`^^+nn(hQ~{fMAr)vqTXw~AVP5v>dSHE5~J{|+M% zi9ypnA=+6KsdtZ6q`u1dR4)A^W-&wB<32ex84viR;ICQjQE4O}%<3MZX&JA^y`yLsQf0Jv7yzW@LL diff --git a/Settings/InAppSettings.bundle/it.lproj/Advanced.strings b/Settings/InAppSettings.bundle/it.lproj/Advanced.strings deleted file mode 100644 index 82353b72a2c7b93198536bee402b9c221f8a1659..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1192 zcmaKs(N2Rv5Jl(NuONN#$uBTIkXE0x8XG@=wn&MzG=MeslHs#!DWYDzz(xjt1gg<0t)G%y-= zAbvf%ddN56FC5D-*P3oW&D~kPgB^(RYBUYk>{sp{sn@>ev9AwU8mC|CG;zM4!pNy> ztkw)m*88Xyd*Y-+`;b9%5tZs5d!>zipS)^nth*GEQ^zmZ1G4UZNfzade8oaN)07KS p_g)hj(dICaCF$>yl(gg&PH9J$Zc#*h0?G#hA-l0xWGFeuvQtn@M`we-rRt?%tzK; z(VIa70rNiNsIQr0!deD(=2rd2&~j$HQ=h3(mzf~pL{HE{2lqQBwT}~5sk4K!|FVka z#8u7@P|=*YN+UAMvKP(SrBYqXs!HH^l`fvto=f1q9ooc;-I-w*hlpdeaf(Y$p{_J^ z>_6)|!jhP0^;tdCYV(B1w?lKTf0H{Q;347}eY;mQ!$%yW$NVmyl}3nYMp9u!fj z)2(~{A9c)xx4PlyZnYqnesvbJqm@u6Ga-Q6vQZ-E0PpQSeQr4MR{TF(X&P1ta`;+$te=@hRs+w4D z;%CWxadvELh*n`8hp8E^P(jtyR*6?`5|uiJ`?BC~LEW%UAMPXXgEe&s!ryg$5@m z7`~4vhT9T3)>z>Q&EA4XBVn)ST*2GepW-y;m~qmxW<>2cpI}3_ZGimEJZi-pql)+` z(W18AFXS%i?Z!u;W36Vk7B7DL4Edz4n7pzG$yDNM)750@Y)aXQvK#8~7^!+ z$akPuLk|@d#euOo_DH!q@88{H-v$4Z&(V{~ZK5L5{gIUYJC7s_T{oPSU7fAAbPX#_ WpqR2ENa-kgl1;^^*w1v2&chcCnq@oy diff --git a/Settings/InAppSettings.bundle/it.lproj/Chat.strings b/Settings/InAppSettings.bundle/it.lproj/Chat.strings deleted file mode 100644 index c0ff702edc5dea256823244ac3b5ff78617f5a6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 558 zcmZ{h!EVAZ5JczPuds5W-+(w&h*n7S0_q2(B!oyIMMT|H2cVKV&U0wKz`D@(| zwNdvO)SR}L?ol%zYBUF@=U! z-gD2K`!gT!k@ak9ul8cjR<^d>=C)+*E%x6lOD)28!;0(yTa6HA4^|k(FZs{ln)4sq z0$XI)cEbLQZN}0WDV|+}bBt}lavpVIx8OqDn9~X(oQ+}2tn_=Wr)d?YLWk(Sb;+(q zhyO~`qfKmNgNDDhv=OIdvqs^DY&K|_uuF}yT>30SeFmUpaj4FDr+#<#SLPv%8=fsZ z8GWg>fAxIl91)umBL&Weo*{2Bh%*P}Eb-?Q?9DFy787dPA+sqRQojQJ48`X^o^IzgL+NQ7A<|$ly=opp&qFl)yy_ARe$gCDHm0wN9_{uyTcu5 z&wUrv46p7);oq9}g43(p5O|u^ydy?8DW^JhA8Ttpi)!@r^>d(?|h9_BV{ON;S#Uu4K7vT6AS^O*#H0l diff --git a/Settings/InAppSettings.bundle/it.lproj/Root.strings b/Settings/InAppSettings.bundle/it.lproj/Root.strings deleted file mode 100644 index f90311ef32d22e9f99a1dd2db3a2f2f615d23660..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1438 zcmaJ>%WlFz4D`8Q5#`czU#F^v6sW`nRZ#UFk|?Yi2ugSeKECaYmt{9?6h#4JduHvi zm!I!g7BZE0i6oT_Pc3`d$WB^`;d{XwOVWu%7ep-2a)anx5yZE64Bj1Va(IRbyoHp= zG+?acwv%0Gc7c4$`1icKfT=ImkGdZ~G1iZI7(g-Bk9r(HG1iZI8bC2-Q41)y!(*UQ z2_3zvQ(4Ov6SIn+kx?VZT#*y}N@WSX3#fiTB!^W83<;tJaicTq=D3>oK#|#>n_!O4 zXR|(gxI>@K8ljpBk7pXm3dj_Fq}QtHOFP@+J(g#tiX2f>BVPgAT>XBJK6EoT@P=o0 zy{^j~`fzJAWaj~Aa`B(FCeJ-a-a(mb%wP?R8y~5{OPpK6=8fXqIF)d2iTGI&!8^gp zINTO?178JX1SBU{fpe?Vc6-5YIa%I2&X;$$f#ubm0h4JCc^YM5b_Rat&I!*AB?y5N>mBi7IP9kmCm4^?n% e+!w1S=Wz=3pTpk^oA)g_IA(cUiL4m;*h+!g$3^@#$3?&Q?fFjlmTtLzhs4j(}2&lFg2odT% f8S;SQnLwFLhAJS;hwBIcvWtLbAk@M{5}|4U{mm6V diff --git a/Settings/InAppSettings.bundle/it.lproj/Video.strings b/Settings/InAppSettings.bundle/it.lproj/Video.strings deleted file mode 100644 index f4ea4d485e035911909922f988d49597ac30ebdb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 948 zcma))PfNo<5XI;0rwF~PAS!}*@V^HOg+lK!+0w-{4N0`CGbvv1ye zGn?Ttx=YI@F`zk{RS$HeTdW~@6IIBSAoMpW} zI{pHL+shp{b5OKrzTHG-#3}I#hsISA^`|@u3R+b(eq;HhN?rM;FJow@Y!!2O%21mQ zPjMIm^_)G0UCNk~uTikZov3M}{XWTI1oJp+FPvKvn zp9NQ{7O~5Dzsd`{nhuUxo&V=wr20;YB9O+Yf9LLMQ@*8NonJCw?6R%H89iO}G~3u% ip5#bQX@FnBj(@Bjlm$7g&)T29Il?o3FLS3}zLh-e$~U63WI@vGz!w(t=5 z>9>sz4p(})D_Fq#kdmc!nSO2hDWxz%bvizVn~MgHWmN?9Y)O@#Gt{CHlzA7)vC%lj z052KC4vyW~S+)Kb=p8Z#s=dxHXZ;Dk@QnA-S!+7CmYtF* z$?hX3Ye_Bx5?j1h8NA*~bUm^Qse&(~#@b=_2yil5=Ni zRUk*B(vu_4`k=kUD^EMEdP?$f?ykj8caGhEO5LxAx~C)~lOEsxPMGINjMzO%Kb6RC z9uUD6J87Ft?WaCFau<(SQCpu0nUg?HduObVE{)H3P&>cA;TZn_zK{0Q diff --git a/Settings/InAppSettings.bundle/ja.lproj/Advanced.strings b/Settings/InAppSettings.bundle/ja.lproj/Advanced.strings deleted file mode 100644 index 10ff11498dd5e830ffb302b0e96716f00b61367c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 900 zcma)5Jxjw-6upiL{sBQKbrvqTDGsgGLBwjRLKh`%ZCcU~Nur^HgM%Pcu@v+N6mfBJ zQj4R5g)RJS@*eu! zVS>!jbV=4F1Wha;O#)qTvC%zHdOGrjw|gA;r<0WhtmZ|LC+&`%3an5l^oTQ@U{p|3qbZUI!<+sulN!ujs64? kRGYK|2C7pp{s7^&Un%?=UGw^_BU||MJMR_h+#tN%ACo!0lmGw# diff --git a/Settings/InAppSettings.bundle/ja.lproj/Audio.strings b/Settings/InAppSettings.bundle/ja.lproj/Audio.strings deleted file mode 100644 index e9838e26dbd5c1a7d04f94d2a3f0921acac57f0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1436 zcma)6u}%U(5Pg-2e#M1evm!x_u{e}qArT=GEfEP45Qv~r6MsNE3;h9m60N8$v?MXn z&eF=lgqEmpZ?o)jcMx;A&ECwLH*fZ4=l3UqH8gO55{hUc0tc&nBX|@8@hqN1M?|oK z8Cr5^5>>(({qu;UiVa*?5##*9=%tCV#;YQ?nD>O*9K>LJT4%Ud=d7T{Tn?g)4eAZ^ z`Xj?D)sePWMY?c#qO(Y16YFD6Y7!=#CCUo?`u!|6CY)vAA1pQ|oFx`=mVPZZW*kfK zUj|tWMzf@mwR+Bl`c~cq@?K|}E;bg0NMR0(JcX#mVcSMg%ONOf)2JM?n_Ma05c#dV z75@JOJHhykMI&-vuh!Yh>~k%8cdN`@g;56oF22OQ=y}uQfxG^2hNOus;+UG6IOJMqCI>-= z4@PywXsnr24zpL#CQpH@WT^4`$g>$0W`ey^$qO|NxW==YTU|?%`3vN#c^rA_k?JI0 z#?vVGEk3fkvQ=OI?tAxhd#ZgSrpw)IRqToDVTGfd3Gzz@hrQ6?)1qFZuqV3WjjFoT H73BH@D-qkc diff --git a/Settings/InAppSettings.bundle/ja.lproj/Call.strings b/Settings/InAppSettings.bundle/ja.lproj/Call.strings deleted file mode 100644 index 65f8d8c4e57dcedc60dc784f4205d5f0029d2988..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 480 zcmezWPl+LzA(bJIA%#JKArnX^F(g8HE({?Iz6@>*#SBV7Ia?rBVt|Qd8z8HlWKi$# zW}w7i&AU6jm_&yWjtVLH&9 zWS}c^fKY*<1SpmZ^g%vDDUgkDsYCfgf2XuOgPM?HgI|H+23&pt)11;KPldS>WF|4@ zRF&a3Ck$wFCeS^pK+|%8uF3?vDwH7z=xc;)?iegF*lF<4;E%y;1C7!=1DHG{#Dajj z3xGHg=mTUow C2V=kh diff --git a/Settings/InAppSettings.bundle/ja.lproj/Chat.strings b/Settings/InAppSettings.bundle/ja.lproj/Chat.strings deleted file mode 100644 index d4fd6d64475a5610d663f4e5af610f0b4b6ef2b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 518 zcmZ8eF)xEr6g?|H!2I$p*v>8niAp3I(JvjESSa7C__WoQVjy;j(JT?8tsxjBCYz-( z85)y{$-vOyyw`r(7~XsLzI*RE=idAC9bgJusG$Ud72S0d5$j!&XRszOFK@$JRzH!f z7^|qtE-Mnt&tn&X{7IbvPho4m$y1*3jYYN(o0&VF^Mmi~@PW^4^HNrT2@EScEv6mS zRfV%BT!S&sWw0#Nnr9jxK!+X8HH3Xlm-#=di<$DOE2=LG!AQN+TNRV-DX)v8hJs>q zn3aaq07HxSyph5ymY75>PomFoB+T-N5vRG&++PPX!g3RFJru-I@%rrmVls`*g&~{t z9jc;&ZGRhNk&%-A3>)HqWb)hXs=ueY=Ww$zz0Fzi#$JW%x{tFc`+_fg)zmv&_uKf2 N(!4!Bpo?|Y`~tx_br1jm diff --git a/Settings/InAppSettings.bundle/ja.lproj/Network.strings b/Settings/InAppSettings.bundle/ja.lproj/Network.strings deleted file mode 100644 index ea5a782b992f32b09ee1dba6c53ddadb2b07b3e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 828 zcmaJU8y4}=89Ex-(sFb9&IF-`cQf!mb)|R^X2XrY8I;)FxSL`M@ zsGH)dpo<^~4h}A&zAyF54=WNbxqNr;-Mjnl>(fL6MU=4)11{=lp@JH13wh6X;lN~U zfo9@J&gE1bLAlbOwoS}qlBZebmuQN?K^5H)LdP807M*XCd6St2Y}Rd{?Y)C4I({r4 za_ys%Sfth+Jzl~6o5iDt~OvpSVFslG`K8NQVYhvzkVK?Tj=$P<;E(5BM5 z2Oay(mLf}&Plpv6oa|q0H!_r0vR(PTSwuO^cB#NX%EPuo*k^f@GkK7EqAq>ZcwRIf z=ah@Q7dON?OKo!@<^dTmvVM6BB07P|~4AG1=s`rhK? oSNE^>Tigv5D$JXq4 zD4#`7LoA(3qCvL*@y{ah5{IL0X|7-I8%mC9%VxQ_SL_< z)2LzGIy6lMpe?Eb?c!84w14ptZ}B=m%b8bjN|ZO0+6r}ns&=|+DYZu)7-r66 z>`a^gby0EjR#p2o1Egzc`gQ)OYaha0RVfu|p5}0peYBK|)5w#-SvFnfP{f_N=Z()x z)g%6i3U|4Q`da)KHE3m9siwj9akA9EQo^a{(*1~F0}^Vg4jd7-RFMtwzbX$~{0GzB z;WN~ra}NS7yORcYQFS2uQ9`7bUFtpr>zX~DZH%Ne_Z6~MP;(YM7d_X|bpc;TdEz3P zgHH~eNr&9{rvCPG=$-HbZw0CYl^`q^s7{ymji4wUZz0n_zP diff --git a/Settings/InAppSettings.bundle/ja.lproj/Tunnel.strings b/Settings/InAppSettings.bundle/ja.lproj/Tunnel.strings deleted file mode 100644 index 7ee10729b0e97d9279dece845feb6a959948a7ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110 zcmezWPl>^oA)g_IA(cUiL4m;*h>=CC8MuIaN1%KPLlIC-F%TluEiyQ1@Wx=LffY~; WqA~zzRuMx9lA5~)e+*6-K;!{+#uSVI diff --git a/Settings/InAppSettings.bundle/ja.lproj/Video.strings b/Settings/InAppSettings.bundle/ja.lproj/Video.strings deleted file mode 100644 index 4dc69d4b86bedc9d504fa511dc9f8774bf266190..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 734 zcmaJ;u}Z^G6g`uuUr{m&+KXrr#X+UoMQBs0bg9%fwLwiwQ!Ul0n^15N^b4GHa1a+A z9V$2$=^{9}1V2HHCyB8MEhXf=ch9@`oOAE9e-y0X2z69&h&*>41?~s@nux$8l1GiJ z!f2Vl0;~0=?n(RdHLG9=lSD=_&yYr$4jQhaM(q+$$Mm8R3o4JP zR_pfsLds{0&B59#ooYksdh#V*`IK)7S7xYCWJQH)UaiR}*lSlhaw9#l+W{Q7JrnNN7z_dbX&b?wU>>2-e?TD*qXT-%sw0Jh`&`x=47H~!`ap!L2mc*_--Y-A<;jZ13`RD<$ zO5`yZXJ81iQDO+n5@OCb(W$$4QhMQ$x4CkyH86+P2J;Py<@T6y1VipTpog_;k<$VZb8A=yBAXt zcL3s7{DmwnJl+j?3G3d&+5k=Ykb=0de#Ls#H>De;TD_U;uCr2o7+KxdpAuJAu4 z2TQs|_Yi+zd$wQT%I8_9zXdy{v$I}r!qP|EwjcHQjB&wGmLhx1;jVqOn!PG;g)bS~ zK6&bsQ|->+K&WFz?s#vbCT5+wMmw=dM5ayq=meY)f8#yh`l_fCugKvTm3o)XiBnIM zt5L`IA+^vRQGR2OzXOLVE~YlDUH`Sq{|>9QBZ{ZUjy<=GMZ4(^6;oV9wqiE*tn&v= z$)=>OC!E4)h#ixzGr}U_N6&Z7^cVKi-tqzH-e1?T=ZJ#4T`;G3kSD#`11Hu$h AUjP6A diff --git a/Settings/InAppSettings.bundle/ka.lproj/Advanced.strings b/Settings/InAppSettings.bundle/ka.lproj/Advanced.strings deleted file mode 100644 index 445cfa02c5954972804276d26664ca5208f7fc03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1196 zcmbW1%TB^j5Qb;%>O4Zjo+mIai0I0wiSYpnC=wA2REckiT$F%fizb2#9zp%)9BLbB zG@9nn+nN71Q$F5vawsi1kv6L#Wqxzw$rdZ?&8BSde21OBl%&pXkID<~S`u*WONGPX zwYe`zljA&v`JYMtXR8bleJUT%u{*_bR~c@ zj}GgNRnm5khlMiqe&$>>$oA4ktV+$%nx<8~kvQFHD&26$et+9?>RJ6!T zaq8q(UG?vp^9d;?4yIs*wth@~pF5XJ#Iv#G@nnfseG{YWckNuZWR%*-|ERRhMK zu{8tzDnjtmoi2jdmP^$77E}KRbOsYNb*xHMRjlNg8l8ys-4psfVZWvw+N@(Y>o}j| CLNd_+ diff --git a/Settings/InAppSettings.bundle/ka.lproj/Audio.strings b/Settings/InAppSettings.bundle/ka.lproj/Audio.strings deleted file mode 100644 index 028099a2775cf4685737b981f068cc352e34cc0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1570 zcma)6T~8BH5IxU4%}?0$T@y=#7~;bgNO_>Kv61&$8*C`Fp=i`!*)No(G!ZohH8K7I z;mo~k@7<5CX0so6?wK=Z=FZOT-x9Xb$18Nu#t#bVU6}C z2E=yoj;Kf2z!CQF!ShS+NAgF0=6Y`y`fgHz@A-^z-%w$I3bLNb-K1v|UGx|$K$*T- zz5ebh&-_edPu)#=h6q{L2iV0vc2-m>4^zxiW(H~fX%@v4v#kFIi(-mdDmk@GYf;R< zSh8oCWl8r!h&rBoJr}QShgNZ5I@9&Cvsgq85Am28mOT#NmP9?tL8&c9HL1qMs__re zwcYLV{HyE)x9==5qG@`?N5mG3Xwbio7aoVR_=qrrP>V&hm;bn*bJA*&A!or`v~a?C z(BZe!HIb2gUXKP#V9?)en9=2jYeviob-FhOY3szRpz&7K3Ws4 z(VV*N{27tj6@ezK@}2`OBQ%%;cpRYV2%`J3AvI AkN^Mx diff --git a/Settings/InAppSettings.bundle/ka.lproj/Call.strings b/Settings/InAppSettings.bundle/ka.lproj/Call.strings deleted file mode 100644 index bb7735a00ca7a9e455efda453cfe9a9cbe03132d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 596 zcma)(%SyvQ6o&t`tMdpU`#yoV6Cn#PwCcXrDgl!U>U-8!rPu_TBG^?QLH$nbG}#m- z%$&z!~uUI_|mFrrOQsR~Ro9a;KI@XaM6mxdKidEUn*0y3_SVtbGHnvFNZbvh# zs3&wM_Qw8d1$(T0?eTxZ)l;G~FcY1?aY`02+I+ij{l%2vVxW<-+SM)i1DxIQMS7%{ z;d-Pe^2XiDUTkh9%XN?K9eZ6BzqY`IYvZvW1@3)VfWkH@yk944Q@P0i=0DV@B<(pKp+S=uK&&#)9! P9>W{YsY_f>IKz?wL91_`v0H<^y5DS4sP$Y7Sz_)84 zE-5H>Ja2aVe(cXpqyt?k*H}({>Qt9Xc%FfrEH}GcY+@b5V8@xDmQO$#sy_))8_bc{R$d|%2fyN)wI?&w|D!nSDRUBFQ8dCr7g|r!3tY5U)h^I(r+2|RocQLRUQse@L$wt9HN|t xd~r=@#oMJl*SPPQJTWWa_Nv7%+bK+`u0wU|=mg)}f3sxUyYaPh`Lp4@d;yh{aY6t9 diff --git a/Settings/InAppSettings.bundle/ka.lproj/Network.strings b/Settings/InAppSettings.bundle/ka.lproj/Network.strings deleted file mode 100644 index 622759b1d2bf29d462541410468c944829d7d265..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1044 zcmaKr%Sr=55JhY4sy<=JLUiHQjkpM+5Ks}HYe`guIFTeO`jsP5866W6U#N?Gf_kba zZI6m!=;>$Ox^=7S^P?n-Qj-JOlSmqJENwZIBgTd7x^+WhDRDQ?D9Np++R-Z=Xe3?j z=>z+WaifX8GbdV-Iho+)4jB6kLye^_=LM8ZhuYOUMh6^wxy1068~8oJCXx+UHRaU( z1BY-wfJtAk-9P>IT#*H03h(_s=d~$YvM#HI`*8B}#Uu(G!@fmCE!b@FH$E}vN34Pe zk1!*tQzj!ai!nowKI|@uHNP2fGUUYeK3;GA+us^~T6|}4Xp*D<{q>w5Q#7EiV;y7F zfNLac4x?SbxOcpamF3TLOvyzL=6#n{&+f0~-#2CQRU?Cqf~P5%PZ#`|8o36+eo9Q6 zRP9}^{Wd5yv>k_ZjfK@<*J(WttxVn3!8(Ii1r1JRw!p}r_^fqM@zqt+B`eQp1vVDj zE*Og_S|u0fqdxiB8yTEBa7!Go94*x+SD^uK87%9sHu{8&zG8c$FZu|A)w8MM8IT~8uG5bS54`X@~I2YUKsd{8_SU(7{~?gS9wT5d z>Uk{ZZRF-Lx;pPmZXTnn^EPwy7+syWm7B+?&pVL{G;KlQhFoS`dNyYgeT0%zcoe$x z6}wAvE_Gx(=^(p|RTR{`g&TcjKA9)K3~LBiLPy%js%5g?Q7zqZmW#XSpa>>)Tyj!9xJHR#ILjS9AlMg&8c`%I-7U;iXSMkVUTq- zgE9lFd4Mp17H>dJfb01#JlZo4TgZ;(+7uwaIO8k58dy*1SApM`ss2Q_WISF%JpjKp zdaMGm3^lvZvyNxU)Gp&~4Gxr`dF4Ny`>6D!zk$f_7#(y%{+xuN)$z)3+E#s++Tb2p zC-ksu-B4*i)xI*_=UL(W(vj=H0Z#j?b>_Pw1G?el4iR#q&s1^>o=$kK$?qKzuj)Vh CPj0dR diff --git a/Settings/InAppSettings.bundle/ka.lproj/Tunnel.strings b/Settings/InAppSettings.bundle/ka.lproj/Tunnel.strings deleted file mode 100644 index afbdeadbc93a9517d6bf821a5665251b2cc8c770..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmezWPl>^oA)g_IA(cUiL4m;*h?N)~2wV}kFK|QPHV`W@STk?|#TWYC7 lp%$d(p}+;8+6w{?1g<0L2mqQ}#885y_MX69pqfW;H2|c)9vuJx diff --git a/Settings/InAppSettings.bundle/ka.lproj/Video.strings b/Settings/InAppSettings.bundle/ka.lproj/Video.strings deleted file mode 100644 index d3933e77aac6ef064c4bc6919a9960e6fd45231c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 958 zcma))T}uK{5QgWvtMd~U?@fq`AiAjN<0cRU@68XAO2xILex>EtZfdLvp&N#iK zc2_iH*)wNmXWx0}o%#7r$gw;~L#lEwIc!<-*gKvlvBV~llR9St?}#@cE!9;YYNQ6L zg`Fr5+g6smVyArTs26StIg~B3|3lAFD=$Tuv=B--PCKLdwlL(Z zw`@T7f$|eG3q1ur(<%M**pdmAyX08nvW*V;K8GY3p<<^@L#vaIRdDHC&%s^NH%qq% p5hj7}@A;){%Z}{JZX_cbi)Zbv$kH)C>xxQeav{kWT0E*Ve*pxZ>Wu&Z diff --git a/Settings/InAppSettings.bundle/nl.lproj/Account.strings b/Settings/InAppSettings.bundle/nl.lproj/Account.strings deleted file mode 100644 index 1afaf680d3a95b9da54712c3f7f3d3cb11a19b7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1454 zcmbu9+fLg+5QgWPr?9w1eFD@Al+c3IL)1XIc4CvbO`OPfTHxW^e*aEZyMdspsw|&o z{`u#)^ZVDSeYA~rR$IY)YlAhsTkGu<$y;tAYOXFr)Ioo4CulEh&b6@}Rs)!tcWE%^L{?GbEEUe0+7qiUm^*L)?0_x#P!?C_!7I*>vM7p=$WdaAxc`bb@l$#CBA$6Nq(wYiu?{=>d6pvQ5(CmA^wuM+stAN zhq8BR)+b%R9RQx)WC$k4}hZl#`U-U^$B>ZmeZX8D@lt*>olml-<# zyY@581D*4U)--LisNyAIgh> z?)IFjuey>r)1J_5Ynw?s=b0FV(LU6!iJMe=poO*G$GPOIp?^KkmfqX{vyu3@nWX0x!}nYs7Q z?ezOAmsjazA&%Wh#cwW|+_F=V8@b~Cp3Fi@*^r%4x#g)7&$*B}%kUh}rL?Sdgn3D= zu})ztWhZrn7T;OcTj*mB_Y=%D>V|$&F{`=@y=WJyx^&bkpJDN`l6Q7R|9WomC+7Vt zr&qnC>Hzx|{fv%O?|Qur-st3|9G}p`X|(s+Q`OI_POVL;|1~M+a}4DH{0^VAeuHoI@lEadU*O)L zeLT|;^*c1poqPu8D<-Pty)>{4cw>2nHU-Pc2il5&reCbi)_`+9!w_cF>kOP$K5}0Y Q*}<_6IWA-=LoQnV1CiCYssI20 diff --git a/Settings/InAppSettings.bundle/nl.lproj/Audio.strings b/Settings/InAppSettings.bundle/nl.lproj/Audio.strings deleted file mode 100644 index eecff866a22f6beabb525244b4d26e0d2ea53179..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1560 zcma)+TTjA35QWdPzhc9?CL-|?<3mw`4-$!uyko7tW+|7Des ziL0FKp%OB2l~!byWiKI9r&9edt18NPl^z~~J(s{eyKEZ+yEAnkYs3*<9N~;pXa*W# zY@51>P!jW0%I?~$%Qr-xUAEx=-{wxxyhc2c+PxAIKH`Wz>w9<%G&B+tNrjMzBeKo= z9jd1uWz#2o$c^2fnS6|hP?>;5}g(qG!`<{(>S5QG~`+NiI7^l)>MTRAPE->bG z&h7?PCFNd73AZM>Pq?U9dtf8j@GaFN<`|vsI{bW0IFr@O- zDh}vK)*#Y2KUj0QjM-tJCMeY2R=K?g2Xlnp{R`$JMa0~ z{`xF6RnSTc6>8X@G~b=BG}Bl&8dT!Dev&f6DuNa7MZX z_YUh2$Em1OJeFIfPOa;xL9fvA$||(st|hllZ`fJSjPt;Q5@Cajr4$GiLP2*}FG@*uBMUF}_=SnfL2NTabfM8s? zE-Ub@HqXvt-i90NUF!JXUq;3;j0@1_AYFTBdTr77n;}QW85+)Q%t(z8N|Y(5(yiP2cT#rgJxQahsQTli7rS)EN14OxpU7?d%r~* z>ZnQw8LilB?PWO^AfqiP1?@tWakHVaTC1ck=vZ*7iz4uV^*_G8IZfrJUYGW8B0ot>2~_2OTI`=+Gzo2_T`pE}%Xj6;; diff --git a/Settings/InAppSettings.bundle/nl.lproj/Network.strings b/Settings/InAppSettings.bundle/nl.lproj/Network.strings deleted file mode 100644 index f9eeebf57fe9123161876b728fb9aaf51cac34e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 984 zcma)*U2DQH6o%jH{fgkl*#5w7WEV2L5atlw$FuYAwp;72( zbUVyYE_wF27VJmA!!aW`%u%u^I5IVw)p}K;cP<{-$N0Ds5F_>{V_#jOenaNBiANVE zsJx<((aA2AE=-e4&dG9g&1gccJKeRiI28@dDc-({CCoAXTG92x|LJd^_LP on~Gk<-D|HlS!ei$o955A!Q0<8KU-0aWnS>j6P*#+Udr(GxDCy6u=gf6v#=s;tgfQHD&V8Qw z`dr9HR`Mi~q_V|ROD~ml(#it1Tf8B}jhw;1HXKH1@sxNwoEc?|5yEJc*vlWuxx=3F zO|vcnEc&KdmjM=i)2yoii@s^rb$~^mvNn=qejTP+$YA5SF!dBdaQ+k{jJGM4Oy-Y-QZHh`z3+o(}ur!t1Y7;4daFt>$JK$RR zkOtqk-|imq*U5m|8e_E@{cG3k&qkTmPezONt+wY3v!ZIZKxa<9G5&myGVXvon8-D% ze8-83kATiG{T^G>JH;K=@VPhY6s~4nn~XUsZE=dsjpc;K`OYIWLSmGWVt!=v))yXs z&adpH*%sB;$kB92oi*MDLl}+nfEs#qP#{8v=?s|99^ceVFN3wjL{rR=8W?-~FHf^k hyB(r)AKb%WD%S3)P0hv)QsGo1@7B@DdwK*`@C_zh*%1H$ diff --git a/Settings/InAppSettings.bundle/nl.lproj/Tunnel.strings b/Settings/InAppSettings.bundle/nl.lproj/Tunnel.strings deleted file mode 100644 index fbbea56674de106a2817a91a12bdb922f643a334..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmezWPl>^oA)g_IA(cUiL4m;*h>=CC8MuIaN1%KPLlIC-F%Tlufy5!AN(>N{0YI~g M7)p@TAVfea048n_y_+U$GUj#w$J;sQk^@6b#`{UIwJBDP%OOTM=%aQC4Q_De7-Ms zv1jg_d+yJi>%V^n_Qh7Vw$f7GwY669ezL{}SU&I{*bTPhWCrH@4mD#{adKiuJcl;p zx3Uhu7DUNAx2Y{y6+NDF$K3KvIe!GZwGG&E&y=yAbJpQ2ru=|8W|YCP#QQE;IR6wj zWi9TI)fkq>9$>k^s=DUlar8?sy<+}LM#@-c~B^_|bj=&2XQTm8L?ak(KKE^2J6E7omHMFQZ4dp@ znfIE2liE_7xLf$)o-vNMZk$z^E4xMoA+s|Z*=a9M*n94;Ft@1J>$xCC{c0sCecPg| z2RsUH{+*kY5Nl}PY;2!;(W1r2JEcc8{nQM`3Uu@LbmlIRYBYV)Kwus1vTN~@ax{Gf z=RQ}>Pz7sbI|r9Dvr?h(s>q`r>3m?FQ2CU-=0p8$9piiOx@~!>M$M}f*rEF=>$PJD z>c4f0Y3V`@O1_&tT3AiAW>VbxKFl3sx6fh3sq}E~qSTJS8_WP@AL(46(f|Xj#ziW}*vDz%RcFp|*o>QCI2JeW-EvMW{_EVeldAx%2%rd@p z1M@$zK5L(BGuzpsf!4h9UL#k>oZQc3UcfHYGqJtBb~d)M_p^P4-ACTLdQ{1!*w_vZ z;i^-6gy;d;N|4`JF@4ZJqfgEJLvAYW)uoKCtsGaKYYrn@I-dxuW>R2Vu#50b`KMUh zvV+w&80`LOFVBtQympN)SD?amZ$ySd;&^F)ph2C z{Q)*QU*@wrb9o`-(&Y@5KEW#GF7Qq1lC;>?`yRgD8Z-S6HNrcnR~q)3Ey1nd!I-*t zOjWblI=;D6g0%0WV>ip1$s?!S*&;M075eFYIzns3dz4_d)QHXsR4Z(J%2NdEmu oRSA*ulaKd2IEFRW7$nv58)HC(_l;nB?Ce1jmkQsNQ?AGO0c-`t?EnA( diff --git a/Settings/InAppSettings.bundle/pl.lproj/Audio.strings b/Settings/InAppSettings.bundle/pl.lproj/Audio.strings deleted file mode 100644 index bee4538d5ef4735419fe71b8a6b4f03a5b26df88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1596 zcma)6%TB^T6g@25_!SL%O+?}&#zm_H6D1OfkhrV0VpCqBAnI?sSI?cX%(NW{Axt{= zp2wX#kKdm$v@orbsxuz&^(wX2iw#AmRuoNO6NNi?b)uX%dYV(H3TxS#Rf54Mq@+Oiadg`p$h&-YZUGh74v@}e_ zM)(zkL^L8=-*0=(#i&O5db?#6 zl~BoO4ER=z$&DCIsINy)Rku)zb0Wk&;h0z7;Vib73y5`tRu~2&pe(rDg?XcB1T>B(@ Lo8g<@dT;&!+@;;L diff --git a/Settings/InAppSettings.bundle/pl.lproj/Call.strings b/Settings/InAppSettings.bundle/pl.lproj/Call.strings deleted file mode 100644 index 930805bda1b0dae7536c8a934d117e2f1e1a4b25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 636 zcmbV~&2GXl5QN7EE<8n)*QmIl3Mq%Sh@W!c6hfdzBtZ}q!Na$Fwu=H1qEZ!E*@rhyKM+3T@l&2-Y-Y(Z|G;$PGS-7=4rXvm2~?=XH4 z{muUTOi)PhnyFIZy|3ZT@W17YR8uSHt?dJiaMeBe3BE7( zm&6W{YfTobRsWA-15bnVj;X!MV-HuAPZTXaa$FU7v%b5jMohEqD&&F5byDL!!foGF z++c-X&YfL3M`Sxz3huUp5~Q2k$}75EOQpQg8G5dolWsn#e+O=Y4ak%^g}ZPs%6i9- IrW;&b0NOWblmGw# diff --git a/Settings/InAppSettings.bundle/pl.lproj/Chat.strings b/Settings/InAppSettings.bundle/pl.lproj/Chat.strings deleted file mode 100644 index 0f3fe91785fa27ce117da24296cedee2e8ded156..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 518 zcmb`E!4APt5Jj)8Kd^i0if<4Li%KMHh!3DBQ8aBSe%l`BO(nV%vFLQ}do%amdGmY( z>g%LJM>#Etr4CB?&p}RGPz2gr7IU&DOSDo>o^q3bBV84Mdwl=n>#7Oc7$+Bab98R# zI`q0N`Ul)~kh(@&P88NX*NQ7g3JZlob@!kX4^-IekHUjL4M zvJHBfO%>PJXSRtDU FeF5KRSIGbX diff --git a/Settings/InAppSettings.bundle/pl.lproj/Network.strings b/Settings/InAppSettings.bundle/pl.lproj/Network.strings deleted file mode 100644 index 568da346a0f48c671345d77382f0b6456c8a9c21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1050 zcmb7@%SyvQ6oyY$f^Xn%=tA@b+=z>M0SmP)z38H=(5h71q$F)aif`>+{mx7$lPV$- zCd{1kpa0xHKN@l)Q+bw0F_OwsRx*ls5rg)_8`z=JJZhR5))p!0#FhBLg@y+1P)G!AT1%Rm@OE(t+D~ZOIiG z1+;%Vtz!EY?K29JeZ(<2Er~COHz$@6e~l(VzTg%-c!uv59gtfoY;D%^7M0|s85eNO zxW!e>zcKW{kyd z9Yl4#%i|93nukvE4HcVE@p88h`#Uh8t0j}2Sx;Ks8Mekwg)+QTOCM32w{FvliiGZU z*|*I0Wrm+E*2)p)p-ChfCCFL#*oc SC{kU@(M{GF8%GmvF7_|eex_>x diff --git a/Settings/InAppSettings.bundle/pl.lproj/Root.strings b/Settings/InAppSettings.bundle/pl.lproj/Root.strings deleted file mode 100644 index cd44a197a47f2255ab0a7f11f96adde4e281b167..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1406 zcmZ`(+e*Vw5ZpY7;8%qHfww2|p{)ucNNLrAKBY-$qqUKy7ut_kXLh^xL>fXRnKQGy zXLi@0@0JYYUV0KsA}O9ymNJutRMG-=jbBSXfD%jaW$cz*$q7#S%BHr$Q{YDyxqJ1q z%)v@!f+(MwXQRA)7t>?4Yx!e24Prd(Dkz~RZrT4U&KeZN4=c_a6vPiJE*ccX4=XMk z6vRz2kQ|OJ;NMKf@Fw)m99`p#eid-nRk!#~WF%9Z#InL!hPN_M52X_wMX79Y&Io?) zbuNJvHANepa?DsSfzIb)7+}WgqLL||edRsG_3U187c-F5W}}PR46!(m>ckq_Ii_wO zZGeoq97i7MN#||`EX--BVSdL9&Tt}AaI+xdE6@b4@T@{Ud&|Kvf7su?M#!P4l+E3o<8ALs zGsC;W*+`&@k(2v9sp*HZ0k*~8x9B*kb1Xs!Do!Tvu+i!nabD|TTPKiMjN6b;MuEq@ zyaQv2TTH;n)ax0L5?nfv0WIKg0#Earj{`X0iTJ;R6Z{3m2$9(_I_Y1m-!pN37dWBM z>^oA)g_IA(cUiL4m;*h?N*Z7>XDw8Ipi3YX&YL=?Iih0g9zE6ayhb9Y`D^ T3R4*XG^>cA1W64-1Y{NfFa8k$ diff --git a/Settings/InAppSettings.bundle/pl.lproj/Video.strings b/Settings/InAppSettings.bundle/pl.lproj/Video.strings deleted file mode 100644 index 1a4693cd5719104171c897a2adfb42badc17d524..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 934 zcma))PfNo<5XD~(Ui=iHcNIiM5D!-T10oiRy?BaAs5djJ3c diff --git a/Settings/InAppSettings.bundle/pt_BR.lproj/Account.strings b/Settings/InAppSettings.bundle/pt_BR.lproj/Account.strings deleted file mode 100644 index 1f5230596eebea459b56797bfdc688d56ba9690d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1290 zcmaKsyH3ME5JjivD=b<*0Z~LrkSKtNKzio|krF4^4v)`86sag_D1dW!v+SA#Wcjf( zckaxN@9fv-p`F{(N}E{5du6rFco$aLA(j(vA#$wM7O}B+(DEPK0ne6=xR$miss=OR zo!ijne2o*9w&ShwW%y;Y*W^25aP-k+_9pRYvnjfdxbyL)Pte2I~Xpo zYEM({5y-H=$n_hsaZH&7j=*^XqbkJ#toDkMNd_ztAUNL1)sQs|x+$B4O{i+GI=j)PrqlPwXew zk=nc>u0iEQYWK=tC+J#u8CqFSVAKS8Ba%ZT+Dl&@1$ zF@rO5sq4Wi?To=ov$?&|_fSV4&LL~5UcIdy;}J;xS#jSHS2$~df3cm)bozgDXnvJT zEYhvcg~C4Eo}><~edWrgQ((Hy5vpoC{S|iW@@jtfYxSDAd#X|wG-1lD8EoqJ3d;hd Y)RI~AG>ZMw$)Z|x{*>V23F52z24DKoF85>c>+1JG;o)b+Qp$s+be#ORwajhj9D q)!W9R`OSzEo4y9hpLJ@FWbugw`-@1b9%0eW9OC6!Q>#>`$^8IT>CTY= diff --git a/Settings/InAppSettings.bundle/pt_BR.lproj/Audio.strings b/Settings/InAppSettings.bundle/pt_BR.lproj/Audio.strings deleted file mode 100644 index 0215bd55cc0f684e2cac9881aff7b8525b3bccae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1572 zcma)6%T5A85UjIbG2yO>NPNV2Sd`!aB9Z8QT@W|&3J;_Huz#Ue?=Vd7?0{y>U8M zUDNaU`L5v_GYl|9h9zn+xZ*F2UgChUKIX&?@lM1sPVtIcd@9bae3gB^m+P~ZdB?hI zx-)3N=bY1c*44~0W-Ws{xmCZhY{-ny)G>9|G7}{1=^{GbEd4PxdisxW}A2{cBbFQK4KAV9N~;zs4EQ} zE2AzVD2X{#pVfV>HcyCr+icGDZ*nL2ypK3Uzt}4p;UX5%BfpCWrQstQkyH>8v50JY zzV)2TQHxA?54<78ly||9WA7{3#8Z4RKcJ#h@9})4_`nn2S#i=v9Ocx|>@_A-oMJ_$ z;lI2?rc>;aonb-D94~xN$u#&|Ra_Z%%dwv~T&L^rIYYNOy)5W-Rj7~oJt<<|b!Qus z`f@`WbytQOu1br3Q|gZk{3AVxAK~_jImvj*M>;f8J?b&O*m%e}3h`;FgVv3x%l&It auUxrF7gEP?56<{3Ia5EkYPC3Clz#!B71ve( diff --git a/Settings/InAppSettings.bundle/pt_BR.lproj/Call.strings b/Settings/InAppSettings.bundle/pt_BR.lproj/Call.strings deleted file mode 100644 index 07709b6f291dad910d1a35982701d08d0200a512..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 628 zcmbtS%MOA-44kuHvEet2Cm+ckd_=`Nf{#sHA&4IQT@U_+IxP~!s24*DyX~|y({R59 zm|=xI5*Rpsmx!LX9_AQgfCB>7I*b5))=tDl$a$|3&E5cQw1}=J&tNfOhsB5!$Bo`^ z(|`Ar43>Igr0}YJ!?`iF?f4iJ%z1iCapbvXnKS2+F>iNBK5`{M62YKl-%<=(_oraVQ% i!=4PXx3%&_dQR!H-d@!yDESB8JFd9sW-to>Cam1GI~be+}I%-S9ss#zR(H^+?C#DP}#+O)3|or+@= zABMA}ongrE`cu-~G+loOs#e-t7HCX#`la4k&31W(?n*Rz=Kc(>%!}ZuD-tV4+$mUN T$=bjB@xI@-pvyH%tXjq!4mVnM diff --git a/Settings/InAppSettings.bundle/pt_BR.lproj/Network.strings b/Settings/InAppSettings.bundle/pt_BR.lproj/Network.strings deleted file mode 100644 index 43f379e072ab7b7970a3589e5cc2c1877184d93e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1012 zcmb7D%TB^T6g_LdqUplu54bTd8bm_^NBXq;$nv3 z-h0kH_tE#a7+uV;K!ylwY*1r~70(k=_g83`q zd>6#7sV>6MG1Uzwv!wJUoJYp^8n4W^Y_M2VP+*pjDdBWxL}}{gJz{r`zs=@7%4sN5 zd`pfQb^MPfpo~Y=arE%r!t@h)uYaI*~2NL_Mcxtd-FT4 zTlzjU*^&rtxNxc?!hruglWFVI;&WFGO~IP6Zx)*ntDTch?R?}i)b2H9#)6)bzj=eH X)3OWWmDFTZtT*otg^;huEF-!+h{wRfxYFP*&I|@16ob|nZ2=RoLxI#>K#|d zEuPp}f604C?2ePIXA16UD`&3YMzs2t@$!s9_-VzfGYa9S z6|c`Igook=FGj8oN7lHQ-MhlGm3`sXZ$J4cMkp`98e7aTn5$h=)?9aZ3J(@Capu)7r!K|tFKyEp?;yG7YPk3X$IA6LKp?MGU;IRk$hLf?k zmG`|M^V+w%b$|7(l=G{J_6LQ&9Zlv~r7V>x{?4Nwc;EOGQx;7!s)L@G`BYIjp{^oA)g_IA(cUiL4m;*h+!i6K$bNF7m#!W%BL_C0o4=(Awr!iLmpTsNai`v W6p&tsjsPI9h@k{YElea4ss;cB=@Tjd diff --git a/Settings/InAppSettings.bundle/pt_BR.lproj/Video.strings b/Settings/InAppSettings.bundle/pt_BR.lproj/Video.strings deleted file mode 100644 index f4a60a062c047564d484d2c6b07544f8c92e5965..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 932 zcma)(PfNo<5XIlwPqE~#f~W}Mp^E>&LZQ-oO;ZfEX-TT0U)O`5z^nS3-K0rOky1LF znSJx#yxE`cNIgAkrG@4ibEb+pXZ+seR8Sc!Cq`sv{3G2e^QhF{IAXVdt_0MI80l0y z#Q#*rXvScdEuEgPrR4J0UWmsdY~f{Q6%FU*@zt3C9=n76$2V2DB=R2>~Tr%i8r zsOGPEm)s{?aQ?-GJ&aJA&~HisQIIwFJMjF5nS!-lf9i{@pu?(8HAgjF=$Uexm)*g2 zrBuN3&TYMcd)(QJXMSH@X6F@S=A41BnHTF_Y*M?@K*I)ql?T`7UTMM`7}E+y2XD#* z_P&mo5ufzn^FsT$t!KSkBh7u-L6b4?C9rilg8l{5TVLGbZC9)J8R(>;J;Ime;r2#* fI?%BW8;EADjXK(ZvRXj(VZPM0c3W)isv&;?3rUm= diff --git a/Settings/InAppSettings.bundle/ru.lproj/Account.strings b/Settings/InAppSettings.bundle/ru.lproj/Account.strings deleted file mode 100644 index f1126856bb3da16f9319ebf17f18512a5c5a1313..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmai!&2th#5XJk@Cr^5k@{p`}^nz4S3@jhnC6O`$CF-37VyFrq6*hkS^Xji>8D`O> ztgU63-R{@#z3$oHzsmAKR&pydiCEW?$((g58!7W7<}S+;Z~?!@hn zKySj@7}s^UL;no+3?EJTf`0+4MEnqD#?M@Q!&-&i2^ft6LJFG=9k>DECoKO(Iv}T| zuV7Zu*W5Ly)p}BQHGDrjmq_}O7MR%X|2#(2-*A1$rQ5y!9a6KiRpD!;L@mge!#8Ly z`sX7@psnNw+Cto+!#mb4Ui!FC#7#gmFN{G}h%Y&Z9@~f=*%-1w^ zN~~^=r!hN=H!i&$lY~k(2Vb{J9-7J$Cn~R2-&SkiGp8RxS-{-p0_6{UQ(n-$3a8Q| MRq#A~v2u_80J7n+bpQYW diff --git a/Settings/InAppSettings.bundle/ru.lproj/Advanced.strings b/Settings/InAppSettings.bundle/ru.lproj/Advanced.strings deleted file mode 100644 index 452c4e0ca1865cfa330dfd6469ce6059ba2508dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1190 zcmaiz-%r|56vxlQdD@d%mdq!t?AfFu477lj`XfdHTgd)^f)2@440JR5=ck`@OSyHD zEzPC(mY(mgbNc+JDqmzFH?m|s$b{dj1kzzuWmkI|vJ#E8Dv`Y7*%@!8GL}2u45+&2 zw2+K_D%V^&){^sB=3GBYc<=Q{BOU04wm|J`Ac?lM1O9-0sC7Nj23*CHBX%u4;QxaC z6xOl)lxYdI0#=01I_Tm0&5`qSjgCGlrYQBkcC-tN)#NH7&Id3REQxbxzBW}?oc@^F z!o}b90~j-z$#>R-Tx>rlx3Y#$TElA{<~B+i&gpQiU?jIxJi&jDk0n=%2TObgPQcpC z@Y2f!|9{XdSST9UT^3P0$aNRmK@A3l^lhC^^^+oq$G|t>yZpwYjCEX^GbNc5!jzIU5 zZ1bGYZ&sR{k5nDIufdYF*@< zwI?KSMYVP144k^#8G}dnUxR(QxzmOGcKw(zZ*#i!0G~&$psWL0jo;8IPMG1Zs4dP- z=gc_zYvre4FXa){sYAE#-lnmPYyI3ub*P_Nxp(Viixm7ce*?!R<}JdudoQ1Y2=1m+ LY1uZIi2~sTVPT*+ diff --git a/Settings/InAppSettings.bundle/ru.lproj/Audio.strings b/Settings/InAppSettings.bundle/ru.lproj/Audio.strings deleted file mode 100644 index d343f1229a7748722de39146ccfeb94aabdaa798..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1560 zcma)+&2Q5{5XIkNPaF{^4wV(ot@26Jm;g4df<&W6MD!j)R3buK5kSBnPy5?lIlGBB zRb|;;&%AkWW<5K1{~LOz8-3A2bFI}-rXhDj&&_MoH9a#hebZ2`C)lRC1-H;25G}pb zH@(-tC}y9(9^HR1Hh6vH1-ie;E>l;*S7n;^R+>w#(8|;%ww`awyBnFVw2F+qKC)23 zo*wE<=Q`c9Qx9R%ENv>-&3~6A#-v#~k6?*0X_jtcFL!f^G5c8R|FX^!Fcr&KAETZt zJQEcdY+n z!###)t{+r#tFJt-$uHAm_+P;@aO|fj3{7*x8RlL_&P)A-f5y`?ulWA%Y$5jp(}Aby zG8=6&WD=rK;^~kZt2A*{+4Y*s?$%YbUk9e;G+S_% o)X`+eI;?ZgL@xyiu+AA@|37>V%Ea%fxGtr%vRBCUId+!LW4A)ZrG5F_H TVm!)lF(Gr_x%zLf`m6chSA0^r diff --git a/Settings/InAppSettings.bundle/ru.lproj/Chat.strings b/Settings/InAppSettings.bundle/ru.lproj/Chat.strings deleted file mode 100644 index f52617f9d1677955f9a06d729f278c4b339b301f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 558 zcmYk3K~KU!5QX1iPM$n?G;!0D-b$5FKq>{Q5-}zke}JNb2`Ygq>W^2yT|qhQbZ4f0 z@0;oOSEO98D)l0#JK{pmn((|Kb9y8jl0Ajnh{^-EiS9M$KBY4uAL>I9d5aTi$1-bL zY8_6)VsnZuAU3*V_pNPRt5Hj-Bv#NnunX&x7gTz@Q%5yJDN<7# z_?*M|j^iAHPl%j$1Etd~JY`_qTjSbBqk(T4IGQ%FmYoHHHk}&PDimHNAy$H8hgg_b z`SmQqK4$1oad7O#Z(Z-Fn7SHj z^}kt|9@_iowvik N@hpBDNr>_C`yV1XOd)Cr`waC#gLcycrZxu}X_C0*di@HloG^S^_B1KVJQ9pQ}b=ntgP4 z=9_Q6nf-WoBqN#1lMESeavSd>3B~2kW4N-Ydm8Ab?l9`Qs)wvSb#e?> z8Zw974G0emgBi*|UM&n)ceSBi-DY)i%gpnFsL%K~asj8Yyu@?Cpt$$7rcJHJbLQQa z7F-JJ>_1_3DOYkXr`COO^3`IQ>_>2)kk14zSImY@$oY_65n%x>i~@UUR&~}Y$^`Ig z#5ezqaR&B;Z${iPH7R10!E2`Yj(o>E$1lV_f|(;{vG>&SUV=wUkHFYcPdm&B+a??{ z-F|wNiDz5*RHaWvBP&J)wkuYo5^>h)2vgV0zakwqHi^F1AoS7iFO+!@)=}?w6rYY7 zfH8whn~Yy%!(!o(X&vr0Jq9VD(`>7R#|a!vHn$)gpxzydzoy;)wc{&b?8oYxs(Sp@ zQvCuLZgZC9)&2pC$~Dhi?qwz`SxT925pR)Eac!Q8>$%7!Zs5w&kypeo z45JK7o?G4(XJsik-h%6bjA00*>yF(K?-@)@NrN6ReY2Wc}X3|N1|!9vw}2d_UA+ ziFn(2#hy&a^Ih|iPLn+T!_?T&(L(-sTnF^6x5!lcWqzEI?N=c4AEA3wCl+WranmZT;`d!`;LP$d;&(jI)>rF?yU}7@TKVHgSoEGB)WFm z?x|C)13C?jD|L7S_Cx;n&>=)w z)mC+AvJ0w@YLP~o?mWMhZo!IbI!B$~#_p6Vq>fIj>*RG;Q~`C}gLmf=`X^L4vfDM8 iYKV%uv4O-^wLwqm^oA)g_IA(cUiL4m;*h?N)=S?pQtSR8@akVT2Xnt=-_<_J`i!cYWMR}6#* hwE`?AEDkKDK-Dmn0YLML7)p@T$OBDsU~z(~009594=(@! diff --git a/Settings/InAppSettings.bundle/ru.lproj/Video.strings b/Settings/InAppSettings.bundle/ru.lproj/Video.strings deleted file mode 100644 index 53c428c754fa9e81760f030d98a046f6373f0d76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1016 zcma))O;5r=5QgWlC;xzn7n&X(5V<7)eODBa}!~AQUC~sgtXlq zX5X*b?=M#(d6SJS?D&Dpa2Gc~aE=K|Diw!q3*|k8v_%^^UWc z+RjG_t=hq*x3w02*NTrr9JsE!O~0F(CONEHP&P6dBF1EYHe_S&qbziC+R1RbCJ zn@uL=ZG+MSf8SGRa%;g89?W?o0~r>u=2MDhB-oM*gNdwQqL*kR_i$h%wN}ZvYv70NQ0VAp-h*ZUzf@03@16J y6He;<8}!@G5zf7g8oN)O-O8C%y;5QXQOr?7I1@&t&BCNuE2q2zJF^$|Yvwt#*5@U2VR!7G*b(E% z9(Xpk#kvK%U_gqp>HvUAxx;-U7CuKxz|P#17frfofcB0cPd=k#pYdNaGqzVinE}EFEzRou(5rxcd&xF;`_=jm~V+IY-(F#GjKcKZ+S25g%Q{q zzNern+ng}we6_ZQb52~*gO6xog$y}|#7}K+%M-2n28b!7b!p-q8RWhP)L!@{W6+1EZvOIe~)~Q<> z>a1Cn-Wj7pNr{TY8{>3yRnf*h(Md*)LwFk0s~^Oq+pI209HD!Xju25E8J@t)(Q~BE N=fGb>cTdiAkw5w?z)AoB diff --git a/Settings/InAppSettings.bundle/sv.lproj/Audio.strings b/Settings/InAppSettings.bundle/sv.lproj/Audio.strings deleted file mode 100644 index c0e7eb516dd2937f1ce9a402af045249fc321304..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1596 zcma)6T~ER=6g|)WiiUShMB+z`51SH9lt?7{KF5GLWMoXD{$75AkLqblY1s-G!rI<* z?z#8&7v>*K)@Y6L>u?G*|Jl+IDVBT zE2!pQRdG3fm6Ly{xE#Mq%d?l&TwKmJmHJuMRV>G-bn)oixd3{t(Gbt-X4+e9Et=86 z5ze>^O-IAEZL%&rENL^WKBL=M9lj8`)@aJ}4|x+TZY_qj1~=-vn72v}$I+F0ep^DLX;Jxy>tZ>;)O+TD`~j72y*v{Ko2~jW|oGVZERD zerJ5Y6RJ)XHsWfCZxkF$EIDRt#N^#2GbWPLcg*jU-U4-X$;%XPs95`SZMPH5I%Rxa zkyM{>{ibX-d)o&EGhQ%@VwJnBQdTl%#j=i+t1?%R5zZ!c%jNs_Rx@#bHbeV&qEz diff --git a/Settings/InAppSettings.bundle/sv.lproj/Call.strings b/Settings/InAppSettings.bundle/sv.lproj/Call.strings deleted file mode 100644 index 6692e23e5b2abf7aac9f515df88e0f527704de73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 582 zcmbu6OAdlS5JYS3DGYm0VB8rK7Jh=CJ%SpdAaT?adj^;4>j5JRKMO;KX}YVctBd^Ju>rhmJw!5PzqVgr8zvRT!nkozM=F8g8uxdu8 cXfV&|EAhhm?GHCKT70I%Q9W=Mcv$)I02Yp77ytkO diff --git a/Settings/InAppSettings.bundle/sv.lproj/Chat.strings b/Settings/InAppSettings.bundle/sv.lproj/Chat.strings deleted file mode 100644 index 3de550c8ab1065b5dd075242a98e348b612e74bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 538 zcmYk3O-{o=429pCQ$$(8f)k)FSQLRM5(066(uO3;B&{YXf9K^4EP>A+kcq$rpU3?z5`(e=Aa7 zqcL$e`eNEdZndP`JK8d{^Bz;}T-A^PCl%fQ$`OqVop9cPzJrW-`1GDr_gUx}N0Yle z%bZ=~rKUTn+r7h^ZPPKuxJRb(lFHKGATn|9?s}g)qFsAb@MbMY1AC<#TrD%rTNDzr zBC@TGzxAEMyxlO@^BGD1is|Oj_H1B8-?7d#Qir`#z^lEUp^5!SHR{#RLQi_YA}+{gv-G zjxi>hYws~Mu*9%rumlbn=>cpJ+r_>C6R3-(R9km16%_sm2H&4&Zt9+TN_6p^dwc4u zqi4@wTB?Xk6s}O8QBj7L{vlg}eL>zbL%|Ta&TRF0s4wMdSnJ+-?l!oLYe&A6-kfq* z)kJjk+v!P;5qXA=(-31_ptd}^PGwrMHPxyM?K2{a+Xc4c~&+Zk^_?Asi#eERn6)b{ue9bW93XU4ncEL6+C zv2Uwfh89yc7$2pdozb?4B{Q60O!K zx3o#3`ZX4*`DF{9WrN63GH@@k=Jt%YMBNV%1*cV%v(L;F`vZFgHbsS+H}GZ&@77+K zYw@4ysUvo5^N|K*P_6Cchw#)_sCZygF!62#i)=p1ol|5>Jr&irvF=b}-E<-(bWp1s+-c=8<{;PW6x)JwBhXy=#xeNBUP%dw$AH2(^oA)g_IA(cUiL4m;*h?N+87@jbsgGHJfIOxj0p(|_W~_ou_Y{)=cvQdLZP``~q-nb| z^X9!b)Bb$7)z!P!%Jrs*_grJ%3$72fWXMEX@oW>_aK^o$6dy cx~L)QxhCrJAC%2`)C)=vdQ_*u*34SuF9?;B6aWAK diff --git a/Settings/InAppSettings.bundle/tr.lproj/Account.strings b/Settings/InAppSettings.bundle/tr.lproj/Account.strings deleted file mode 100644 index 176ad8a2be6a289cea88e9d38194e665cea1c5d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1300 zcma)+&5ja56oqeZeF-~kU9mPU5JsI4l{gGr!jB9DXh{F);Iq2t4P2_MtCAQ~XfWI;_#va6L zd%<&HD}E=dm@h#ozObbo__uEHec-zwa&}A!!w#fS^F;bN&SV17@eW_#PXlh0%0@!qSF zd(KA`Bg5Ez*KYdB3TMh-%{%xR!BkKWVJ^5*-MSnDuV7v0pp@Dzd-H#tv3or5e3`_0 zPT(*2eJA_8vp0(5%*si0cf!pAj;y6NaE$8P&1K^2AIT#+n^6z#@}c3Jf>J$|wLFw9 z^pwav=_k?*9_~P>uTr~%E4Od{j0)|za230$J+2ytTN~O3kY!U_k;2jf}*$|YB_z4UX;xqPBzY|w4DtLCF1sxZ>>!WN` z!@og8feCvJ#}ua2D=eeBL@i*8?G|k#^jGjs)-#( z%CPiXd-jA0QNK%V_b3~CJypIJKDJ)NCOE3>;rh2dvQWjAM9zC^U+;out~>)e31RY! z+HAG(=rQ@i8G*Awo3h&QtJ6@OuPf9zU+0)Fn$gh9H~ur~Tjg>J-V_XZXgYeFDfP(N z4wfBCcl%oCl!q)G-Bf=DtffEQKXnEy-36+2>?^3bdf8*ChB

BP`tqn!id}lUkKs ac*0lp{_WL)U3YBeFQ6iD(D?vnDfMLco;ve)M`9#!n+tik=5VN#t z&pr3tkG1{zuHhVWJYs|)7N|ktjH8B6eBlEtqAN^k&5502hjR}v+>h{1UW`Lba7m`~ z++?qMA8++_R^xfYxUbAnp#f*J`G&1FX382S^sLjjns3Nj_6%2QJ$vx0K|Wfh+jRyp{Giq8qFGy=UW=i+lVsZ{@ERmE|vN(Z;znM+{y#@fWa zKAG-JI>a#A*uxRKQ1>)^Y@KxyU<+Pvo<1u+!y<;! zrGE!^o`yqwMp9u2Vi?1}TkhAqjv8jd*We8UWW4($u3cVj?x#r6k7jzd+FhapEb+j3 zsPEaBtCR}P_ewM3s6fG0#v8HZ%aU^xm{C^|&AE=FeiTPmxkHs9@j37QGv`b*tLnm= zXx@`%h1J|kr{|&Sriu&S}F;m6YD2`;6bJ(0)v<;{)ucqQj zoKsagsnFFK%6h?1`ZM;T^)#-q&kl&MbY)4F;u})1I^hf6XAe^XQw6AYIpq@dp!RA z$u!fOdhHZd@P4RK#h>t^O1vDec56dqjaBJI9rm6~g`ew78U8gl(=Ay;G=I;6#P}=6cUYOObjJHYr%!Sg`*zd>%h;Y_>WOr^IGJY# zD!Bqf?7*1bs0m*33PTUQ=dQOUx_69C(Q%SCZbkM}lG##!uRCU$pDnRD#1 NM0>-{xntI}{{i^mR`>t_ diff --git a/Settings/InAppSettings.bundle/tr.lproj/Network.strings b/Settings/InAppSettings.bundle/tr.lproj/Network.strings deleted file mode 100644 index 9fcd0ef14bdbd704a4da94960159fc94c23cc394..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1002 zcmaKrOHaZ;6ooHaf5n7_!KE8F#sx7hh%W-7aYeA8A(leg0)Zc|ey79GL5XRmy`4Gd z+{fJe{nfM^8{3CX%-P%)R@&5NtgVeIdv2LEIlE%T*r{zmrSOIgadKD_E3le&X(zm2 zu-{qI%|LDk`W_usK=a;q8P z-$(ak1MAsCbYAZqB2I~KK@J6Z6~r^(t%x%Am2>SOC^)+%j+AFq<(QDC!yfYu`33B6 z^)9%AXN|`k#xZqaa?Yh6^m^DC_&G5->sIVCV(Yx1rn+g}T8#1e{^is=9?>SNF*iDo z*ez7gB0st=Rg^iI3*~j5(HMjKPvCE=`a++@Yztla-KFhV5^<)*29>s-RlTSSh-iF)=kSs%*vzlk9!{0Q%XQ AumAu6 diff --git a/Settings/InAppSettings.bundle/tr.lproj/Root.strings b/Settings/InAppSettings.bundle/tr.lproj/Root.strings deleted file mode 100644 index 2872a4e99fef6a34aecba5ba3fb9399f50ae230e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1416 zcmZ{kO^(w*5QWQIE)gpyApEQlix7T=gwSM!#A@V>qlp#AK~6Fwb3tyv73LBM_+IsN zx<^W6wcRe)dsX$S+W-EJZEm0JtCd#SHP_Y-*4f^6Hpcdvl{{9q#9rACYq|F}DaQ87 zp5SreC~@q#8rGh@coNHZ$JC%U#F-QWtF(KpExW5?&%MV#Fisz3Q`#hB`gqJE*iR## zok7Tc8u9!LLiW>$7iSQ%pGLeqgOEKS=2W-mYS8ZnC6j_v8(hPne)NBbUu6qaT+*#u za5cMahWmE34fLsW{q8TqF8)L3!`<)lnPhKVobmfM2Y%sbm=c}$5?9a(0! z;w_($&&2GAe#L|&zb~He9p8FeKVlml=kLs#!%{%yb=?tv>G^t{BX7E04 z{NBSE^SJOFmU!))MJKgqmpU+~+Mcz6=bkU>aPN7Jio`Q>W}V)Wtd+S=bz=EV4GS!- z`w3Z6+Y;8se!4AY^aix%bP3mhm(H>Fc}IhfqG@tV^a>L^DRxvIncjmuP}d5Nn!4`D zq2*b5_BGaq_!U}*DUAQ6r$vW{s%$)Vho>~rA1EnUQqPu-DnI2GC*i=`7KEl@M@;1& xG*Rs#raGnws#KZ`nNq*7j`(B6KiL|OkWULj%IQru^;`;uy%gv`?cs}4{vT8d-zNY7 diff --git a/Settings/InAppSettings.bundle/tr.lproj/Tunnel.strings b/Settings/InAppSettings.bundle/tr.lproj/Tunnel.strings deleted file mode 100644 index 3e6670369f8b778179cf11ca91b2ae95d7c6ec35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110 zcmezWPl>^oA)g_IA(cUiL4m;*h?N+;88R6PfV4FO7m#!W%BCkr#N8Y98OFM_=e+YV z#zs9FdUSegra7aggXKfLrl^?5ux{oLrXh1Ayq)pha*4KPEt`mqvWBd?RJ`XoJ$+R% z;-3rMB|pv_bHOYXZ)=ywp7c#RV!I-BaOj9?*4pvquj8%^_vmA=gVWvH>fcba%*0AF zmF$JD(=p|_fgc5QgV4;=mChRpLO5FC4f8R78m5#);!rk)VkPm~+~sG!pqx;}-byz%y$* zc4#UTIkwlk&%E=_?Ed-f%STzujm*X4zL888+*h&{pOKKum#2E7$J*4swt0G^Eq$+^ zM2sXFYsgqzeF@|-b9-{hZ!NblGFH#IPvt_s^E9h5pX+N4G-YK9u?@?Un5R@byoLIf ztGS~NSbYWO7LHM;dr>N-KH9oYqw!Ae#VA#dA#LRv(m7f!=PRyDxMlto^95QWl-YlX zK2Lf@j8unCXQ-o{(l2o5_-R=$d8#;%$n2$zSZ^*yDDB~><=oV>y<8VCHe@=LUnsm! zYB0Ufnyfb8XMU5amAdwc{rqo?yOpAlnoAeSdpI3bT?^yNFIdmy`> zq%xM%TC8d$kCx!k25)VTR{Ebowz{9z>JS%-GUi(6*gl-GD%WQ_XaTFvuzhX4U@m@j zI!gy89 z)Dp5bUaw}~y!U1%zkk)_qip0_wyc%R`K^hQ9;+sYI?_68tclj7BTqRyB`TGf+!E=y zb;s96GWMx_;R#qK4mT|L$wm?LeglcDyt#aGv#IjL(yhuS2g#W=Cp zwjQz18Jv)LCf{XILViY66Lh=%mR*l$Qrx)W#tLpuE?~5Pb<}u3{zN-or}63VeMH7Q z+t@2Lja9ez^_aHs>anl~RRxZe=}K=wOSY^$ zsNw(xLv*zDo%iU}yJT)zbs~D43!CGhb0a@}J?3=Wnrf}c7m@e+V@&_bvqR#*T diff --git a/Settings/InAppSettings.bundle/uk.lproj/Audio.strings b/Settings/InAppSettings.bundle/uk.lproj/Audio.strings deleted file mode 100644 index c0b68a11a7da7a08fac15c5796f9ac5d9a4ce259..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1554 zcma)6O-}+b5PgR^dG_Q1H+aS%ASz$F3y231B9S{HQ6i!dHR_L7U)$`qu!We-e$Bjj z^Jd!4?@ty@JmU@%jIlr#0qVT7*pY^mcn05Yi z^zp`6>ot)*=6$ES03}#otkmy~b51d1t^ftbruF)~tC9Xn<4D(QB144iX%1~%qP3<| zn=pQs0xMY6zsllb{4B+Pu(%jMOUcvARV^-N9ZPyG(<~MfvvhIo?70x;-*_Vo_0F{W z*jfytgMA#a3k8S6wJoDgJSb(0Q3GbTxjH-{>fd;$T>pqW!TPNwMhx^`aS^e_Ao`5& z;>O{y78enw5Xxc@v;J@58 za#zUOkQVQ{G!wmc+6B}+#T#>s_*CpO{y%A()t-?9sZm`yQOMax_DE|!;X4P_6EiDq zo;DSam|>=whpa%=qq6jMRqA`eOLgkr=~YHf$()ySxngJXNw4RbqS0SWe1eI@3Z`!~6yO8SGzKP9M}Nlr8khxmB zomxy~z#37F?VM_l%-aFs)UzWx3Mzg2x|9Du?QiS?&Lv9bsHo6WHhS(g#>ZC2GIt6r z)8KHiWgnpHM4?K&&|YeTT-bzbHb0uV0k;ngG10W3;4m4 QoP6!vko(_$B`d#v0Q6{6n*aa+ diff --git a/Settings/InAppSettings.bundle/uk.lproj/Chat.strings b/Settings/InAppSettings.bundle/uk.lproj/Chat.strings deleted file mode 100644 index 1058462087433e40711ff221e32a1e5569330c92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 566 zcmZvZOHaa35QWcTR<2yQ_oge@K?MP8d06TrsWH*WUQvMrl>k0}y!zcMDht!x>71GN z%$ajPKO*(?q@^C^bVGd6gQmQ%Ku#0T5Og215tTc#scy9(pV66uhk8>4PC1dbt!;@7 z?7*6~XBBhm5%;McQAv5)w!?91P>(q&-&Snb>Y;l^C$=1h8n{X3)TiGHtg%H(w85NH zG`=!%fr57wIhBG+r)%^qgU0fjt}-*zz*B`gvBHjFZ^7QB(?H?Cx}cIWVl{l}b>-$+ zzGvpak2(A^COCZYPApI|3Yo*d37s*$LMLd<*A)Czoc!cI)3Vk6srjut=!nDKZPX;e zkK%XVLzunue&aC{=V9B?8vhpm_wX{a4s12h|IS^&GS_p6PM11I>)-ut;(M3b{?`26 L)j@HHm6et+jBZW? diff --git a/Settings/InAppSettings.bundle/uk.lproj/Network.strings b/Settings/InAppSettings.bundle/uk.lproj/Network.strings deleted file mode 100644 index 4c3b876d574b9a17ff4b21a68807026ec49b0f09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1006 zcma)*%}>HW5XI*(@!*LVZzj@kP`n{QsA$E4s3fQa6wgM~m|#l)HTuV^zip{q{EBI2 zyY0@rdGluW{VgX=8OWX7h$EqlWGeUafW699v=1ea9A_SulU1#0U0vPPzE-rLhrG|! z`NYV{jx6GL3BoOAFasINi-oa5{IPBkm3SplJu*Jx???|mV|j|!G<$mP6Th#;XicJ9 z(ttk=2>AHvL$P82=0qL<)Q1EHjbVUe$G zP-+p|x+cnfkIR1X@afBdeuh?-JbX8-Tp937%)=fTlK8y1YJ6ga`ydQZ@Gq1l5K8p* zcNCv_8iMf*mlicYN!entOk@QnMlm;1N4u3 z>Zun^yV0+XRr#OP)&|eqn<=WK-CNa7W@JmtSR9@B`!FzbX6~Dra|aIQ#+ltU)dlRw jyoVNA24xDf8(0J{?xyLi2cL9Gj-yV;JvS5S&RBi`Ndtwt diff --git a/Settings/InAppSettings.bundle/uk.lproj/Root.strings b/Settings/InAppSettings.bundle/uk.lproj/Root.strings deleted file mode 100644 index 4d1eea03af107450d833158413ea83808c61ff78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1474 zcmai!!B1L25XR@Qr=FUoNiVH=<)8$8#O`fubDLR-vnH$XXt_Pta9vktmHDl?k~QoV z9+y5!7&E>*)||a?3Y2$l*B!c!YZIB+p=-GVaK5@GICX3}R(p*{VtWzB&I<;+AjuwB zyo@YwiIjbFAY8b7XZ(r0gN`$_6MqN9VEKu2t#-IyP8mE<@=uyC&bo zO4}16dUkCi5E5H}&}TP^ZhlK$QX*U6)Ih1BaG5$)T$Qt&L7RH_iH;**6IH>p@ak^B zfAbGk2Sy{l^-jsSufaM7ulbyd*yId4HY6_YuTNx~t?b{uMoSn@?N@~T9?T=wKHfRj zPv5;`B4QRLZf$xN=PS=PSucEN-{9SkaHU(tGpMtZVmbOTo(qpXu|M{ko#rC(%3pKy zEql$L>N&v{PhJ963SUj0W+buHb5dn1SqJr7*;HxQ4RB9M_m^RVegK9p%neJThX`u>%kue7@?y zDJKP!|M`TzKZV6TnG8Ybqtz0%M*R1@mVHj|(6@)8gEbXD!bw#R%u@0SlaaC8$D*ve zUR&v`yz|pya@6s2?ozE(qowB`)KK?^yH#Dyg|byQJw*9wJ~AqK0KS;$^oA)g_IA(cUiL4m;*h?N)=S?pQtSR7fxSPWT|7_1q%fMSk7H7N{5Ky}4H jh)^rQV#4CUVhU7k09P9TG_i=G1WA=V&^!kgC#VVlCRz`B diff --git a/Settings/InAppSettings.bundle/uk.lproj/Video.strings b/Settings/InAppSettings.bundle/uk.lproj/Video.strings deleted file mode 100644 index 1cbb0ce9d31aabee2c86056303aca29f663e1a68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 934 zcma))!B4_a490ut$(vVW!sMuZ#4!~97-VbOqCoJYI?rK`>VpOJkrBDpWi+o$S?tQicV{3TXeLBpa+c7)*Q9r`)2 zYH+$+T^$tc@uj3b=ypoYe#mMJ>LPrNHoeAGmoWI?Ytr{V$Q6zgYHCRfv?|*AaQJV9 zYw62v3iD?dKGU)!j*8~)u{~4NScjUdn32V7ChXb-MJ(ZmIxQj&_4QxR!jHp<=+WqeW84ais0k>dRiR0mwqTpmCbpe?0Ff31aS{Xv zpTI}ZS8#I>UqA{D;?MbVd%3C7NkVdOa?d&6`F`^KrBjYv>QS9EtX=Y`g|$O{((z>* zw@yO>@;Z<)cfqV9L-yFlP9fud!i<(B zE)B&#DsT+k2$BBcIbS=-poN{tRa8XA&?rmkUlGI?fh$70k86M|dULgUs78j$i3_JS z`00eSp7)g3BG@hs;ZtSvl3((qLK){ZusI)&8o2Vbp7uUxN_#4pRuCP)Q zsyqceDL(pTV&4Np>HbGU>q^yt!WDcnA}Wo;4v6|4<`q8 zb7S!#)bI3iZ4;ZAn48<)_MGqM+;hG@^K?!=*%V;AWa62p935b%MfPa}|BsQWlR-UX z=YZ_v%cl@$oh&TD7vS3<538Ht{0~;BR-tClfSd%|+QZ8%Pa3QY&T;!2)t znfc>PYs%cC$UD1E%U*XUlcoLkldXU+qz<*PP1ML|4|kAMSeTi)WUo;h@e#QD@DyO_ z@WXf20V;=`&KLVFTrpo!Ic$~3_kHh1GFMQ42y_vQtUm%P*Pz2&xH|vM{&BZZ-!HQb z$$AECJ3_|}h8M4jj8~x5iMpItd3sd#B!o9P8$2OmBEm#(s9AQ{(O!L_O2rfC`KXT( zJ=E*0Zf=OTjjCgxyHiqjy3?W7TsoU0iRYOXj(r+O_hX`S9&XPCXN=xfpBh`&B}3w> pKm~LQO+CW#oO2Ij1T$Fp!?WPxZ6PLV)qvz~{KgapB_mrGdEWpvo>%|? diff --git a/Settings/InAppSettings.bundle/zh_CN.lproj/Audio.strings b/Settings/InAppSettings.bundle/zh_CN.lproj/Audio.strings deleted file mode 100644 index 127055761106908bf30bec626f98d1f5ba2bf04c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1394 zcma)6&o2W(7=03PkhnT;_Kv8ge#K!+LqaK~;UsG{+O$e6P3xdX5hoYKp-27~2`2}4 zXD4^O*~ysEor-LBGV^`!z3uTK}VIKVE72oS=BgBkuV23tLiw~L-eso-K7{fy*s zNK_FG=0}l21q(Pe7~S%5_QaoDot4ZL);*y&2TACh@@dbinq^d3%Rz$NxL;eglWCu+ zVwzdW^x$zthmgS%=DMuZUl_Yef-~s!->G6^>?&jbP%$xfm84}YJH42gZYuG;jH_sj zQpsY?ICCE4SZ32GL?=_9VjYo)c?@HmtB^1>%-C<#qy;5n3YBMdU2C27UE zB%wJUw+*5ZuK48wbIlTOozLDz%Qgb?MLvJS3Yjqn^W78{|yrQ$Ls(A diff --git a/Settings/InAppSettings.bundle/zh_CN.lproj/Call.strings b/Settings/InAppSettings.bundle/zh_CN.lproj/Call.strings deleted file mode 100644 index 9e233c3f3349b70b7e42024f5c652565097b7f59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 432 zcmezWPl+LzA(bJIA%#JKArnX^F(g8HE({?Iz6@>*#SBV7Ia?rBVtCvAdHT8u-~3w2 zLK%V>Jb@zC3|v4GVMZ`eGytg9lfe(D*B{8jX3oW6#tHaULd^99x+R$*pCK3QwsfFr z$w2qz0HFdy2~aE-==OYuQXm`QM$^)}-L1XfQnk{TChLU2TnI9WeBEI{TQY%mrvlB$ z1-c*;>;hOApob1f+y@>uK|oyvK%5A4C9(_hfM$aHkOnpxB%28o$wTtV*@?W7H6gEq Lr6xQrhxh{kImuUq diff --git a/Settings/InAppSettings.bundle/zh_CN.lproj/Chat.strings b/Settings/InAppSettings.bundle/zh_CN.lproj/Chat.strings deleted file mode 100644 index 513757febfb07abc391c87eea9ffb713ac9e049f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 442 zcmb_YI}U zZ{EH)GjCr{13l!(5J6zYSYV5Q_ku`ZL*x*JD)U%bGYjA%Wghb-Aa-zoLEPo}A72Me zvW@6uPu`R|N9qcg%8S5~s+n@quBrdpuh}iNUqYssT!MR+o2AtBK06jv%i!~EhymSL zH7zr*Y8QE*ox^BuK=bxFRsK@x+b3J1JbSg-hP>G)_hDBPV|FLlsVFdkq~7;WHEwxV I=}+~<8%j=2DgXcg diff --git a/Settings/InAppSettings.bundle/zh_CN.lproj/Network.strings b/Settings/InAppSettings.bundle/zh_CN.lproj/Network.strings deleted file mode 100644 index 71fa34d220fe483b951854470ee9725b8b715c09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 840 zcmah{y-LGS6#j4&Tt!?A8AM;8gW?dRLqXe^*oq25Ni+&+Qj*xxZcZW&wj$M0CttxA zurK1~;^3}+H}RTVDlOqAC+D2+=iYn1zjPGg!ox8%glHnc85&$&)YCXb0G+iBuDo}l zGH>fx$1HPu>^|WV_y9gSO8;wFR%N$M)^ql0u&EiLmA-QYS)cQstkarAm9R;ld6)dp z9PFYB3uUFAXGS}gxvM69#`GT3LzQpgB4ED3C|8gS(-D&uOftuO+Ek5r($f{j5t)KT zrhp6~ooX;szC_`>8LW99-M7Dc8ShZ525-UTt%VBL3Vp6BjGy=Y2Z53K%twtVmuEEz zIlTH0X>dAx;@Z?KaR)6F6g6Y#S0;apPlGoS<|1L>|t5cpAGl0tnpcc9Q0nmBwR{&&F^y0txIYVR*RC91+7sD zv<=Bq;!~ zL{DYp&e4_t8eDe>DF_;I^;rf+~Xfk#DD$6L)o6XXaNf3@1F>5BAugB(RvlmTy} zk1{&R;%|vQZD=>qyM=C@t`0f(i`b{;ZmAQ0o0HM_HVW|O$?!zVBEMff@7#~Zv*Zin XYI#c)rM{bL-uV0FOg~AzH2tWLKLNSn diff --git a/Settings/InAppSettings.bundle/zh_CN.lproj/Tunnel.strings b/Settings/InAppSettings.bundle/zh_CN.lproj/Tunnel.strings deleted file mode 100644 index 3e423053867bb3707b9228743667ae6c32b69ba1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98 zcmezWPl>^oA)g_IA(cUiL4m;*h?N)=v-snc7_1q%fNV#gTna-GP`(%l5o!#=9l~L1 T0)QqIF_a+5zOQ;543Px@P{9y_ diff --git a/Settings/InAppSettings.bundle/zh_CN.lproj/Video.strings b/Settings/InAppSettings.bundle/zh_CN.lproj/Video.strings deleted file mode 100644 index 09b1c54b65e07548c78ef574977065c053c07d84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 698 zcmezWPl>^ip_HM7A)g_aArVMtG9&}(93ZS@P+%wqiX<`=0ZAnw&lZT47+y852x5po z9jU}%&AS-wY;qbj}eiZ+q75XZnpI{1-9l&IsV;W*-qUqRF&TC~Yk_!HW+ zscq~2MnUukqFs=k>-c&j_Q5c|@xF7;J@>x*MxQF}kWDQrlY+HLF4eF$$RQPxExand zn@fA=o!%fYR4Ghzh(xG_$EG%rE-+=R1u9Y_JIH5)ZNb!lFoA6Y%gn-* zlFYd{T)AYn;OSsER0Sh}yzJ7%TLND=mfV}tt+6zC?Fw!d%ra_Zj~2cp@-!K22hJ8U zYsUhsLDfMY>cIAqZI;7md$`#b456-2oU|EjFXnYkho*z4iwas(eR|w~=m|XyyB3f& zc=IU0S|bA^*7Nb+AQ!_rf%p8xN+5){3xo6*L_>5yr7%$KY6a#9}8K#a?^4diT$r?)!v%bLBsEPePw7YQS zV`y;1X|=%0VW#Uz$Jvp4>b`6a3P-HFSQX0KNFV@v6^dNH4^=*c25-T9{k!`ARN}nL zsMm}tO4niKO_5F=oR)hdEv;$Q?g?ZK2-!j0M{(Z-i5t9sR@-A$txvy`*n_%<1Q_2z zBGx?H5WgmJk*-#Tq%7OR(5#4x-1D(Fj|NeCI_}j)whr_pv#4C(ZJemLf>#2|r*qWP iA|C$__=Y8e@9ZXAI9$IFoH`hMM?bNb9A`;<~UqaQ;&=C{ir4S+_5z+72HrG5Il}L|wz%@d&cn{P$*1p`~^GNCW zJW(NTaLR9#oUH~&FSwQ90ySXf`>& zOk&!fy4hBSk6nM1tEjaV=p&>;Ghx=~OSlv&e&SV(yL`lI8^(H1s;hmWS$$aQ*|qZ2 d6- diff --git a/Settings/InAppSettings.bundle/zh_TW.lproj/Call.strings b/Settings/InAppSettings.bundle/zh_TW.lproj/Call.strings deleted file mode 100644 index ebc68bf93a57beefb7fb395d9e377df2b7a35944..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 436 zcmezWPl+LzA(bJIA%#JKArnX^F(g8HE({?Iz6@>*#SBV7Ia?rBV%QwOIALi@eB0;g z)-#kCtQoj~VhH`g44w=DKy{uBen5TxKo%}DAS$`KKqhf@!A$Z5+MLXg&yWjtNjgw} zGSD?SK&Ze_0u;*yx-_4m6v#%nsLlWPG`k5-X~<>}qfcr=VHdK#FrdkqK>JdGcI5(X z%>>&T$`Azf4Z^m0U7x2v^xs&$sn#JJW@8XgPXQ1o0^Nmda~{w{kgL^ip_HM7A)i5kAq7a5GvqPk0O>>^Pk|v5$V&$Da>1;0phy~!mBWzAPz+=j z0A+H3{A7ko1|=Zh7KoJ?UNv3~;`Zb0-yDz{I3>#?Bdj{LREfcwfeR?-3pBR^sHzyK zs|sj}0)qzFWCeyKpcy4#b2X97Vn|nyRFCA3;rQ?C?;Pk-%lRK>k}KF{ML=BzKz#~8 z7lPbW3^YF->bi2E$t4UKKsg@B~+{9MErxk^c+DQ*>aW zrJR?QWyB7r8`5pc2~s-f@F_e*tPi*=J4l7ijP)JbR8ILDvunZ|-`ru9QFJh=6j33j zQw{B0FH`hh=1%{^TG-CDytP%#!mj=?cgZc34So-w-!WEntMn`oG6A0tmD$3Uj4shW z?`s`neycJJ<|8D2OvNTWj8Ie5jg!5ZsCM&e;p&L`!j(%#gOhu_zsYY>m(zKF_V)N> zzMj8_(%&I@BF!16C}(KTYo63+$Vg83V+%Q-0i!Y^x2a- EKbh2yTL1t6 diff --git a/Settings/InAppSettings.bundle/zh_TW.lproj/Root.strings b/Settings/InAppSettings.bundle/zh_TW.lproj/Root.strings deleted file mode 100644 index b68e2e27c08ee3eecd9c2dc74eb44674757f442a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1090 zcmbV~%`O8`7>2)%g}MW)Nmnc^v}}k)6+xttj-QCcn0Bfy)uBJrR5YnXgbKQlN-XT$ zfD3Q~7FJvY3kwSi3EuBajyavwMkbRv=gjkdKkxazzk;OG49$~9CMEIMRHi(Ys7OJa zjp3CbkOIWkcQ++JY9pCRyUr9}*ExtyB3d^y1??(5NAs@;6 z&Scm}^1d@Ub8Mh-y(+0m{52^-InWw8pe?LyC91L5 zS8kmI8d4E~yB0W=xoN!rI=R##hN_PuUk;CV7v70md6Y6>)Z3b^_piwOG0|5A`3tnA zM7gWIok?avOh6u_ny0s^Hzg545003MBq&RX6KbBfBsGD5j)-E@4sBz_Q=|!x63CIp znkSQ8w((D$%l~NI{^KHJ3XzLgX=3gRSb2{9O-Kj%K212pYOXNTrtivItykk&mwk?d z;aN#RQ58M0zJL=i=Vxm@w{bdBm6|DdTSkQ$@D{qSp#L1crf|o?X%>!|@F>;h3+L{M zbzdAhyT;@E<))0sb5(+#9c3pgq5`*mo)^oA)g_IA(cUiL4m;*h?N)=v-snc7_1q%fNV#gTna-GP`(%l5o!#=9l~L1 Q0)QqIF_a+5K7h&r04OaF8UO$Q diff --git a/Settings/InAppSettings.bundle/zh_TW.lproj/Video.strings b/Settings/InAppSettings.bundle/zh_TW.lproj/Video.strings deleted file mode 100644 index 085e40d1f98d8d4c226e9f0f4c7a35bab3359779..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 694 zcmezWPl>^ip_HM7A)g_aArVMtG9&}(93ZS@P+%wqiX<`=0ZAnw&lZT47+y7A4T=xF z8l=Qv&AGpQJ8Y86lx;aZR>>XH00_)KtP2w(_C(xVmV5x6i}qZB3% z3125*4CDdbTn=`52{5b_fMJvgjIT_fyA^JD6JdOaeh&sc1|tSD1`{L|$YQ9fOtGi}i9uBP S0&Q|-aA(j(F%4A|q!Iviuy^. - */ - -#import "LinphoneTestCase.h" - -@interface AssistantTester : LinphoneTestCase - -@end diff --git a/TestsUI/AssistantTester.m b/TestsUI/AssistantTester.m deleted file mode 100644 index 2afd916c2..000000000 --- a/TestsUI/AssistantTester.m +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Copyright (c) 2010-2019 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "AssistantTester.h" -#import -#import "LinphoneManager.h" - -@implementation AssistantTester - -- (void)beforeEach { - [super beforeEach]; - [UIView setAnimationsEnabled:false]; - - [tester tapViewWithAccessibilityLabel:@"Side menu button"]; - [tester tapViewWithAccessibilityLabel:@"Assistant"]; -} - -- (void)afterEach { - [super afterEach]; - [LinphoneManager.instance removeAllAccounts]; - if ([tester tryFindingTappableViewWithAccessibilityLabel:@"Cancel" error:nil]) { - [tester tapViewWithAccessibilityLabel:@"Cancel"]; - } - [tester tapViewWithAccessibilityLabel:@"Dialer"]; -} - -#pragma mark - Utilities - -- (void)_linphoneLogin:(NSString *)username withPW:(NSString *)pw { - [tester tapViewWithAccessibilityLabel:@"Use Linphone account"]; - - [tester enterText:username intoViewWithAccessibilityLabel:@"Username"]; - [tester enterText:pw intoViewWithAccessibilityLabel:@"Password"]; - - [tester tapViewWithAccessibilityLabel:@"Login"]; -} - -- (void)_externalLoginWithProtocol:(NSString *)protocol { - [tester tapViewWithAccessibilityLabel:@"Use SIP account"]; - - [tester enterText:[self me] intoViewWithAccessibilityLabel:@"Username"]; - [tester enterText:[self me] intoViewWithAccessibilityLabel:@"Password"]; - [tester clearTextFromViewWithAccessibilityLabel:@"Domain"]; - [tester enterText:[self accountDomain] intoViewWithAccessibilityLabel:@"Domain"]; - [tester tapViewWithAccessibilityLabel:protocol]; - - [tester tapViewWithAccessibilityLabel:@"Login"]; -} - -#pragma mark - Tests - -- (void)testAccountCreation { - NSString *username = [NSString stringWithFormat:@"%@-%.2f", [self getUUID], [[NSDate date] timeIntervalSince1970]]; - [tester tapViewWithAccessibilityLabel:@"Create account" traits:UIAccessibilityTraitButton]; - - [tester enterText:username intoViewWithAccessibilityLabel:@"Username"]; - [tester enterText:username intoViewWithAccessibilityLabel:@"Password "]; - [tester enterText:username intoViewWithAccessibilityLabel:@"Password confirmation"]; - [tester enterText:@"testios@.dev.null" intoViewWithAccessibilityLabel:@"Email"]; - - [tester tapViewWithAccessibilityLabel:@"Create account" traits:UIAccessibilityTraitButton]; - - [tester waitForViewWithAccessibilityLabel:@"Finish configuration" traits:UIAccessibilityTraitButton]; - [tester tapViewWithAccessibilityLabel:@"Finish configuration"]; - - [tester waitForViewWithAccessibilityLabel:@"Account validation failed"]; - [tester tapViewWithAccessibilityLabel:@"Skip verification"]; -} - -- (void)testExternalLoginWithTCP { - [self _externalLoginWithProtocol:@"TCP"]; - [self waitForRegistration]; -} - -- (void)testExternalLoginWithTLS { - [self _externalLoginWithProtocol:@"TLS"]; - [self waitForRegistration]; -} - -- (void)testExternalLoginWithUDP { - [self _externalLoginWithProtocol:@"UDP"]; - [self waitForRegistration]; -} - -- (void)testLinphoneLogin { - [self _linphoneLogin:@"testios" withPW:@"testtest"]; - [self waitForRegistration]; -} - -- (void)testLinphoneLoginWithBadPassword { - [self _linphoneLogin:@"testios" withPW:@"badPass"]; - - [self setInvalidAccountSet:true]; - - UIView *alertViewText = - [tester waitForViewWithAccessibilityLabel:@"Connection failure" traits:UIAccessibilityTraitStaticText]; - if (alertViewText) { - UIView *reason = [tester waitForViewWithAccessibilityLabel:@"Bad credentials, check your account settings" - traits:UIAccessibilityTraitStaticText]; - if (reason == nil) { - [tester fail]; - } else { - [tester tapViewWithAccessibilityLabel:@"Continue"]; - } - } else { - [tester fail]; - } -} - -- (void)testRemoteProvisioning { - [tester tapViewWithAccessibilityLabel:@"Fetch remote configuration"]; - [tester enterText:@"smtp.linphone.org/testios_xml" intoViewWithAccessibilityLabel:@"URL"]; - [tester tapViewWithAccessibilityLabel:@"Fetch and apply"]; - [self waitForRegistration]; -} -@end diff --git a/TestsUI/CallTester.h b/TestsUI/CallTester.h deleted file mode 100644 index 244293d75..000000000 --- a/TestsUI/CallTester.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2010-2019 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "LinphoneTestCase.h" - -@interface CallTester : LinphoneTestCase - -@end diff --git a/TestsUI/CallTester.m b/TestsUI/CallTester.m deleted file mode 100644 index 8226981be..000000000 --- a/TestsUI/CallTester.m +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (c) 2010-2019 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "CallTester.h" - -@implementation CallTester - -#pragma mark - Setup - -- (void)beforeAll { - [super beforeAll]; - [self switchToValidAccountIfNeeded]; -} - -- (void)beforeEach { - [super beforeEach]; - if ([tester tryFindingTappableViewWithAccessibilityLabel:@"Back" error:nil]) { - [tester tapViewWithAccessibilityLabel:@"Back"]; - } - [tester tapViewWithAccessibilityLabel:@"Dialer"]; -} - -#pragma mark - Tests - -- (void)testCallPhoneNumberEscaped { - LinphoneProxyConfig *cfg = linphone_core_get_default_proxy_config(LC); - linphone_proxy_config_set_dial_escape_plus(cfg, TRUE); - NSString *num = @"+3312345-6789"; - [tester enterText:num intoViewWithAccessibilityLabel:@"Enter an address"]; - [tester tapViewWithAccessibilityLabel:@"Call" traits:UIAccessibilityTraitButton]; - [tester waitForViewWithAccessibilityLabel:@"0033123456789 is not registered."]; - [tester tapViewWithAccessibilityLabel:@"Cancel"]; - linphone_proxy_config_set_dial_escape_plus(cfg, FALSE); -} - -- (void)testCallSIPNotEscaped { - LinphoneProxyConfig *cfg = linphone_core_get_default_proxy_config(LC); - linphone_proxy_config_set_dial_escape_plus(cfg, FALSE); - NSString *num = @"+3312345-6789"; - [tester enterText:num intoViewWithAccessibilityLabel:@"Enter an address"]; - [tester tapViewWithAccessibilityLabel:@"Call" traits:UIAccessibilityTraitButton]; - [tester waitForViewWithAccessibilityLabel:@"+3312345-6789 is not registered."]; - [tester tapViewWithAccessibilityLabel:@"Cancel"]; -} - -@end diff --git a/TestsUI/ChatTester.h b/TestsUI/ChatTester.h deleted file mode 100644 index 0e79e4162..000000000 --- a/TestsUI/ChatTester.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2010-2019 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "LinphoneTestCase.h" - -@interface ChatTester : LinphoneTestCase - -@end diff --git a/TestsUI/ChatTester.m b/TestsUI/ChatTester.m deleted file mode 100644 index 078f176c7..000000000 --- a/TestsUI/ChatTester.m +++ /dev/null @@ -1,335 +0,0 @@ -/* - * Copyright (c) 2010-2019 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "ChatTester.h" -#include "LinphoneManager.h" - -@implementation ChatTester - -#pragma mark - setup - -- (void)beforeAll { - [super beforeAll]; - [self switchToValidAccountIfNeeded]; -} - -- (void)beforeEach { - [super beforeEach]; - [self goBackFromChat]; - [tester tapViewWithAccessibilityLabel:@"Chat"]; - [self removeAllRooms]; -} - -- (void)afterAll { - [super afterAll]; - // at the end of tests, go back to chat rooms to display main bar - [self goBackFromChat]; - ASSERT_EQ([LinphoneManager instance].fileTransferDelegates.count, 0) -} - -#pragma mark - tools - -- (void)dismissKeyboard { - [tester tapScreenAtPoint:CGPointMake(0, 0)]; // dismiss keyboard, if any -} -- (void)goBackFromChat { - [self dismissKeyboard]; - if ([tester tryFindingTappableViewWithAccessibilityLabel:@"Back" error:nil]) { - [tester tapViewWithAccessibilityLabel:@"Back"]; - } -} - -- (void)startChatWith:(NSString *)user { - [tester tapViewWithAccessibilityLabel:@"New discussion"]; - [tester clearTextFromFirstResponder]; - [tester enterTextIntoCurrentFirstResponder:user]; - [tester tapRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] - inTableViewWithAccessibilityIdentifier:@"Suggested addresses"]; -} - -- (void)sendMessage:(NSString *)message { - [tester enterText:message.uppercaseString intoViewWithAccessibilityLabel:@"Message field"]; - [tester tapViewWithAccessibilityLabel:@"Send"]; -} - -- (void)uploadImageWithQuality:(NSString *)quality { - static int ind = 0; - [tester tapViewWithAccessibilityLabel:@"Send picture"]; - [tester tapViewWithAccessibilityLabel:@"Photo library"]; -// if popup "Linphone would access your photo" pops up, click OK. -#if TARGET_IPHONE_SIMULATOR - if ([tester acknowledgeSystemAlert]) { - [tester waitForTimeInterval:1]; - } -#endif - - // select random photo to avoid having the same multiple times. - // There are 9 photos by default, so lets use just 8 (2 rows, 4 columns). - LOGI(@"Selecting photo at row %d, column %d", 1 + (ind / 4) % 2, 1 + ind % 4); - [tester choosePhotoInAlbum:@"Camera Roll" atRow:1 + (ind / 4) % 2 column:1 + ind % 4]; - ind++; - [[UIApplication sharedApplication] writeScreenshotForLine:__LINE__ inFile:@__FILE__ description:nil error:NULL]; - - // wait for the quality popup to show up - UIAccessibilityElement *element = nil; - float timeout = 10; - while (!element && timeout > 0.f) { - [tester waitForTimeInterval:.5]; - timeout -= .5f; - element = - [[UIApplication sharedApplication] accessibilityElementMatchingBlock:^BOOL(UIAccessibilityElement *e) { - return [e.accessibilityLabel containsSubstring:quality]; - }]; - } - XCTAssertNotNil(element); - [tester tapViewWithAccessibilityLabel:element.accessibilityLabel]; -} - -- (void)downloadImageWithQuality:(NSString *)quality { - [self startChatWith:[self me]]; - [self uploadImageWithQuality:quality]; - // wait for the upload to terminate... - for (int i = 0; i < 180; i++) { - [tester waitForTimeInterval:1.f]; - if (LinphoneManager.instance.fileTransferDelegates.count == 0) - break; - } - [tester waitForViewWithAccessibilityLabel:@"Download"]; - [tester tapViewWithAccessibilityLabel:@"Download"]; - [tester waitForTimeInterval:.1f]; // just wait a few msecs to start download - ASSERT_EQ(LinphoneManager.instance.fileTransferDelegates.count, 1); -} - -#pragma mark - tests - -- (void)testChatFromContactPhoneNumber { - [tester tapViewWithAccessibilityLabel:@"Contacts"]; - NSString *name = [UIDevice.currentDevice.identifierForVendor.UUIDString - substringFromIndex:UIDevice.currentDevice.identifierForVendor.UUIDString.length - 6]; - NSString *fullName = [NSString stringWithFormat:@"Anna %@", name]; - [self createContact:@"Anna" lastName:name phoneNumber:@"555-522-8243" SIPAddress:nil]; - - [tester tapViewWithAccessibilityLabel:@"Back"]; - [tester tapViewWithAccessibilityLabel:@"All contacts filter"]; - [tester tapViewWithAccessibilityLabel:fullName]; - [tester tapViewWithAccessibilityLabel:@"Chat with 5555228243"]; - [self goBackFromChat]; - UITableView *tv = [self findTableView:@"Chat list"]; - ASSERT_EQ([tv numberOfRowsInSection:0], 1); - [tester waitForViewWithAccessibilityLabel:@"Contact name, Message" - value:[NSString stringWithFormat:@"%@ (0)", fullName] - traits:UIAccessibilityTraitStaticText]; -} - -- (void)testInvalidSIPAddress { - [self startChatWith:@"sip://toto"]; - - [tester waitForViewWithAccessibilityLabel:@"Invalid address" traits:UIAccessibilityTraitStaticText]; - [tester tapViewWithAccessibilityLabel:@"OK"]; -} - -- (void)testMessageRemoval { - NSString *user = [self getUUID]; - - [self startChatWith:user]; - [self sendMessage:user]; - [tester waitForViewWithAccessibilityLabel:@"Delivery failed" traits:UIAccessibilityTraitImage]; - [self dismissKeyboard]; - - [tester tapViewWithAccessibilityLabel:@"Edit" traits:UIAccessibilityTraitButton]; - [tester waitForViewWithAccessibilityLabel:@"Checkbox" value:@"Deselected" traits:UIAccessibilityTraitButton]; - [tester tapRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] - inTableViewWithAccessibilityIdentifier:@"ChatRoom list"]; - [tester waitForViewWithAccessibilityLabel:@"Checkbox" value:@"Selected" traits:UIAccessibilityTraitButton]; - [tester tapViewWithAccessibilityLabel:@"Delete all"]; - [tester tapViewWithAccessibilityLabel:@"DELETE" traits:UIAccessibilityTraitButton]; - - // check that the tableview is empty - UITableView *tv = [self findTableView:@"ChatRoom list"]; - ASSERT_EQ([tv numberOfRowsInSection:0], 0); // no more messages - - [self goBackFromChat]; -} - -- (void)testPerformanceHugeChatList { - [tester tapViewWithAccessibilityLabel:@"Dialer"]; - - // create lots of chat rooms... - LinphoneCore *lc = [LinphoneManager getLc]; - for (int i = 0; i < 100; i++) { - linphone_core_get_chat_room_from_uri(lc, [[NSString stringWithFormat:@"%@ - %d", [self me], i] UTF8String]); - } - - NSTimeInterval before = [[NSDate date] timeIntervalSince1970]; - [tester tapViewWithAccessibilityLabel:@"Chat"]; - NSTimeInterval after = [[NSDate date] timeIntervalSince1970]; - - XCTAssertEqual([[self findTableView:@"Chat list"] numberOfRowsInSection:0], 100); - // conversation loading MUST be less than 1 sec - XCTAssertLessThan(after - before, 1.); -} - -- (void)testPerformanceHugeConversation { - size_t count = 0; - LinphoneCore *lc = [LinphoneManager getLc]; - LinphoneChatRoom *room = linphone_core_get_chat_room_from_uri(lc, [[self me] UTF8String]); - - NSTimeInterval beforeEmpty = [[NSDate date] timeIntervalSince1970]; - [self startChatWith:[self me]]; - NSTimeInterval afterEmpty = [[NSDate date] timeIntervalSince1970]; - [self goBackFromChat]; - - // generate lots of messages... - for (; count < 50; count++) { - LinphoneChatMessage *msg = - linphone_chat_room_create_message(room, [[NSString stringWithFormat:@"Message %lu", count + 1] UTF8String]); - linphone_chat_room_send_chat_message(room, msg); - } - - for (int i = 0; i < 50; i++) { - [tester waitForTimeInterval:.5f]; - - if (bctbx_list_size(linphone_chat_room_get_history_events(room, 0)) == count) { - break; - } - } - - [tester - waitForViewWithAccessibilityLabel:@"Contact name, Message" - value:[NSString stringWithFormat:@"%@, Message %lu (%lu)", self.me, count, count] - traits:UIAccessibilityTraitStaticText]; - - NSTimeInterval before = [[NSDate date] timeIntervalSince1970]; - [tester tapRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] - inTableViewWithAccessibilityIdentifier:@"Chat list"]; - NSTimeInterval after = [[NSDate date] timeIntervalSince1970]; - - // conversation loading MUST be less than 1 sec - loading messages only - XCTAssertLessThan(after - before, afterEmpty - beforeEmpty + 1.); -} - -- (void)testRemoveAllChats { - NSArray *uuids = [self getUUIDArrayOfSize:3]; - - for (NSString *uuid in uuids) { - [self startChatWith:uuid]; - [self sendMessage:@"Test"]; - [self goBackFromChat]; - } - - UITableView *tv = [self findTableView:@"Chat list"]; - - ASSERT_EQ([tv numberOfRowsInSection:0], uuids.count); - - [self removeAllRooms]; - - // check that the tableview is empty - ASSERT_EQ([tv numberOfRowsInSection:0], 0); - - // test that there's no more chatrooms in the core - ASSERT_EQ(linphone_core_get_chat_rooms([LinphoneManager getLc]), NULL); -} - -- (void)testSendMessageToMyself { - [self startChatWith:[self me]]; - - [self sendMessage:@"HELLO"]; - [tester waitForViewWithAccessibilityLabel:@"Outgoing message" value:@"HELLO" traits:UIAccessibilityTraitStaticText]; - [tester waitForViewWithAccessibilityLabel:@"Incoming message" value:@"HELLO" traits:UIAccessibilityTraitStaticText]; - [tester waitForAbsenceOfViewWithAccessibilityLabel:@"Message status"]; - - [self goBackFromChat]; -} - -- (void)testSendToSIPAddress { - NSString *sipAddr = [NSString stringWithFormat:@"sip:%@@%@", [self me], [self accountDomain]]; - - [self startChatWith:sipAddr]; - - [tester waitForViewWithAccessibilityLabel:@"Contact name" value:[self me] traits:0]; - - [self goBackFromChat]; -} - -- (void)testTransferCancelDownloadImage { - [self downloadImageWithQuality:@"Maximum"]; - [tester tapViewWithAccessibilityLabel:@"Cancel"]; - ASSERT_EQ([[[LinphoneManager instance] fileTransferDelegates] count], 0); -} - -- (void)testTransferCancelUploadImage { - [self startChatWith:[self me]]; - [self uploadImageWithQuality:@"Minimum"]; - [tester tapViewWithAccessibilityLabel:@"Cancel"]; - ASSERT_EQ([[[LinphoneManager instance] fileTransferDelegates] count], 0); -} - -- (void)testTransferDestroyRoomWhileUploading { - [self startChatWith:[self me]]; - [self uploadImageWithQuality:@"Maximum"]; - [self goBackFromChat]; - [self removeAllRooms]; -} - -- (void)testTransferDownloadImage { - [self downloadImageWithQuality:@"Minimum"]; - [tester waitForAbsenceOfViewWithAccessibilityLabel:@"Cancel"]; - ASSERT_EQ([[[LinphoneManager instance] fileTransferDelegates] count], 0); -} - -- (void)testTransferSimultanouslyDownload { -// wait for bugfix -#if 0 - [self startChatWith:[self me]]; - [self uploadImageWithQuality:@"Minimum"]; - [self uploadImageWithQuality:@"Minimum"]; - UITableView *tv = [self findTableView:@"ChatRoom list"]; - int timeout = 3; - // wait for ALL uploads to terminate... - for (int i = 0; i < 90; i++) { - [tester waitForTimeInterval:1.f]; - if ([tv numberOfRowsInSection:0] == 4) - break; - } - [tester waitForTimeInterval:.5f]; - ASSERT_EQ([[LinphoneManager instance] fileTransferDelegates].count, 0); - [tester scrollViewWithAccessibilityIdentifier:@"ChatRoom list" byFractionOfSizeHorizontal:0.f vertical:1.f]; - for (int i = 0; i < 2; i++) { - // messages order is not known: if upload bitrate is huge, first image can be uploaded before last started - timeout = 3; - while (![tester tryFindingTappableViewWithAccessibilityLabel:@"Download" error:nil] && timeout) { - [tester scrollViewWithAccessibilityIdentifier:@"ChatRoom list" - byFractionOfSizeHorizontal:0.f - vertical:-.1f]; - timeout--; - } - [tester waitForViewWithAccessibilityLabel:@"Download"]; - [tester tapViewWithAccessibilityLabel:@"Download"]; - [tester waitForTimeInterval:.2f]; // just wait a few secs to start download - } - timeout = 30; - while ([LinphoneManager instance].fileTransferDelegates.count > 0 && timeout) { - [tester waitForTimeInterval:.5]; - timeout--; - } - [self goBackFromChat]; -#endif -} - -@end diff --git a/TestsUI/ContactsTester.h b/TestsUI/ContactsTester.h deleted file mode 100644 index a344267e5..000000000 --- a/TestsUI/ContactsTester.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2010-2019 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "LinphoneTestCase.h" - -@interface ContactsTester : LinphoneTestCase - -@end diff --git a/TestsUI/ContactsTester.m b/TestsUI/ContactsTester.m deleted file mode 100644 index 67c168c65..000000000 --- a/TestsUI/ContactsTester.m +++ /dev/null @@ -1,160 +0,0 @@ -/* - * Copyright (c) 2010-2019 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "ContactsTester.h" - -#import "ContactDetailsTableView.h" -#import "UIContactCell.h" - -@implementation ContactsTester - -#pragma mark - Setup - -- (void)beforeAll { - [self switchToValidAccountIfNeeded]; -} - -- (void)beforeEach { - [super beforeEach]; - if ([tester tryFindingTappableViewWithAccessibilityLabel:@"Back" error:nil]) { - [tester tapViewWithAccessibilityLabel:@"Back"]; - } - [tester tapViewWithAccessibilityLabel:@"Contacts"]; -} - -#pragma mark - Utils - -- (void)tapCellForRowAtIndexPath:(NSInteger)idx inSection:(NSInteger)section atX:(CGFloat)x { - UITableView *tv = [self findTableView:@"Contact table"]; - NSIndexPath *path = [NSIndexPath indexPathForRow:idx inSection:section]; - UITableViewCell *cell = - [tester waitForCellAtIndexPath:path inTableViewWithAccessibilityIdentifier:@"Contact table"]; - XCTAssertNotNil(cell); - - CGRect cellFrame = [cell.contentView convertRect:cell.contentView.frame toView:tv]; - [tv tapAtPoint:CGPointMake(x > 0 ? x : tv.superview.frame.size.width + x, - cellFrame.origin.y + cellFrame.size.height / 2.)]; - [tester waitForAnimationsToFinish]; -} - -- (void)tapRemoveButtonForRowAtIndexPath:(NSInteger)idx inSection:(NSInteger)section { - [self tapCellForRowAtIndexPath:idx inSection:section atX:-7]; -} - -- (void)setText:(NSString *)text forIndex:(NSInteger)idx inSection:(NSInteger)section { - [tester tapRowAtIndexPath:[NSIndexPath indexPathForRow:idx inSection:section] - inTableViewWithAccessibilityIdentifier:@"Contact table"]; - [tester clearTextFromAndThenEnterTextIntoCurrentFirstResponder:text]; -} - -- (void)addEntries:(NSArray *)numbers inSection:(NSInteger)section { - [tester tapViewWithAccessibilityLabel:@"Edit"]; - NSString *name = (section == ContactSections_Sip) ? @"Add new SIP address" : @"Add new phone number"; - [self setText:[numbers objectAtIndex:0] forIndex:0 inSection:section]; - for (NSInteger i = 1; i < numbers.count; i++) { - [tester tapViewWithAccessibilityLabel:name traits:UIAccessibilityTraitButton]; - [self setText:[numbers objectAtIndex:i] forIndex:i inSection:section]; - } - [tester tapViewWithAccessibilityLabel:@"Edit"]; - - for (NSInteger i = 0; i < numbers.count; i++) { - [tester waitForViewWithAccessibilityLabel:[@"Call " stringByAppendingString:[numbers objectAtIndex:i]] - traits:UIAccessibilityTraitButton]; - } -} - -- (void)deleteContactEntryForRowAtIndexPath:(NSInteger)idx inSection:(NSInteger)section { - // if ([tester tryFindingTappableViewWithAccessibilityLabel:@"Delete" error:nil]) { - // [tester tapViewWithAccessibilityLabel:@"Delete"]; - // } else { - // hack: Travis seems to be unable to click on delete for what ever reason - [self tapRemoveButtonForRowAtIndexPath:idx inSection:section]; - // } -} - -#pragma mark - Tests - -- (void)testCallContactWithInvalidPhoneNumber { - NSString *contactName = [self getUUID]; - NSString *phone = @"+5 15 #0664;447*46"; - [self createContact:contactName lastName:@"dummy" phoneNumber:phone SIPAddress:nil]; - [tester tapViewWithAccessibilityLabel:[@"Call " stringByAppendingString:phone]]; - [tester waitForViewWithAccessibilityLabel:[phone stringByAppendingString:@" is not connected."]]; - [tester tapViewWithAccessibilityLabel:@"Cancel"]; -} - -- (void)testDeleteContact { - NSString *contactName = [self getUUID]; - [self createContact:contactName lastName:@"dummy" phoneNumber:@"0102030405" SIPAddress:[self me]]; - [tester tapViewWithAccessibilityLabel:@"Back"]; - - NSString *fullName = [contactName stringByAppendingString:@" dummy"]; - - [tester tapViewWithAccessibilityLabel:fullName traits:UIAccessibilityTraitStaticText]; - - [tester tapViewWithAccessibilityLabel:@"Edit"]; - - [tester tapViewWithAccessibilityLabel:@"Delete" traits:UIAccessibilityTraitButton]; - [tester tapViewWithAccessibilityLabel:@"DELETE" traits:UIAccessibilityTraitButton]; -} - -- (void)testDeleteContactWithSwipe { - NSString *contactName = [self getUUID]; - [self createContact:contactName lastName:@"dummy" phoneNumber:@"123" SIPAddress:@"ola"]; - [tester tapViewWithAccessibilityLabel:@"Back"]; - NSString *fullName = [contactName stringByAppendingString:@" dummy"]; - - [tester swipeViewWithAccessibilityLabel:fullName inDirection:KIFSwipeDirectionLeft]; - [tester tapViewWithAccessibilityLabel:@"Delete"]; - - // we should not find this contact anymore - XCTAssert([tester tryFindingViewWithAccessibilityLabel:fullName error:nil] == NO); -} - -- (void)testEditContact { - NSString *contactName = [self getUUID]; - [self createContact:contactName lastName:@"dummy" phoneNumber:@"111" SIPAddress:nil]; - - /* Phone number */ - NSArray *phones = @[ @"01234", @"56789" ]; - [self addEntries:phones inSection:ContactSections_Number]; - NSArray *SIPs = @[ @"sip1", @"sip2" ]; - [self addEntries:SIPs inSection:ContactSections_Sip]; - - [tester tapViewWithAccessibilityLabel:@"Edit"]; - // remove all numbers - for (NSInteger i = 0; i < phones.count; i++) { - [self deleteContactEntryForRowAtIndexPath:0 inSection:ContactSections_Number]; - } - // remove all SIPs - for (NSInteger i = 0; i < SIPs.count; i++) { - [self deleteContactEntryForRowAtIndexPath:0 inSection:ContactSections_Sip]; - } - [tester tapViewWithAccessibilityLabel:@"Edit"]; - - // then remove the contact - [tester tapViewWithAccessibilityLabel:@"Edit"]; - - [tester scrollViewWithAccessibilityIdentifier:@"Contact table" byFractionOfSizeHorizontal:0 vertical:-0.9]; - - [tester tapViewWithAccessibilityLabel:@"Delete" traits:UIAccessibilityTraitButton]; - [tester tapViewWithAccessibilityLabel:@"DELETE" traits:UIAccessibilityTraitButton]; -} - -@end diff --git a/TestsUI/Info.plist b/TestsUI/Info.plist deleted file mode 100644 index ba72822e8..000000000 --- a/TestsUI/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - - diff --git a/TestsUI/LinphoneTestCase.h b/TestsUI/LinphoneTestCase.h deleted file mode 100644 index 8e3dba274..000000000 --- a/TestsUI/LinphoneTestCase.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) 2010-2019 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import - -#import "Utils.h" -#import "Log.h" - -@interface LinphoneTestCase : KIFTestCase -@property BOOL invalidAccountSet; - -- (void)switchToValidAccountIfNeeded; -- (NSString *)me; -- (NSString *)accountDomain; - -- (NSString *)getUUID; -- (NSArray *)getUUIDArrayOfSize:(size_t)size; - -- (UITableView *)findTableView:(NSString *)table; - -- (void)waitForRegistration; - -- (void)removeAllRooms; -- (void)createContact:(NSString *)firstName - lastName:(NSString *)lastName - phoneNumber:(NSString *)phone - SIPAddress:(NSString *)sip; - -@end - -#define ASSERT_EQ(actual, expected) \ - { \ - if ((actual) != (expected)) { \ - [[UIApplication sharedApplication] writeScreenshotForLine:__LINE__ \ - inFile:@__FILE__ \ - description:nil \ - error:NULL]; \ - } \ - XCTAssertEqual(actual, expected); \ - } diff --git a/TestsUI/LinphoneTestCase.m b/TestsUI/LinphoneTestCase.m deleted file mode 100644 index b1ca25fa0..000000000 --- a/TestsUI/LinphoneTestCase.m +++ /dev/null @@ -1,247 +0,0 @@ -/* - * Copyright (c) 2010-2019 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "LinphoneTestCase.h" - -#import "LinphoneManager.h" - -#import "KIF/KIFTypist.h" -#import "Log.h" -#import "Utils.h" -#import "ContactDetailsTableView.h" - -@implementation LinphoneTestCase - -+ (void)initialize { - // default is 0.01, which sometimes confuses the simulator to the point that - // it will miss some keys - [KIFTypist setKeystrokeDelay:0.05]; - - NSString *language = [[NSLocale preferredLanguages] objectAtIndex:0]; - if (!([language isEqualToString:@"en"] || [language containsSubstring:@"en-"])) { - LOGF(@"Language must be 'en' (English) instead of %@", language); - } -} - -- (void)beforeAll { - [super beforeAll]; - - // turn off logs since jenkins fails to parse output otherwise. If - // you want to debug a specific test, comment this temporary - [Log enableLogs:ORTP_WARNING]; - -#if TARGET_IPHONE_SIMULATOR - while ([tester acknowledgeSystemAlert]) { - [tester waitForTimeInterval:.5f]; - }; -#endif - // remove any account - [LinphoneManager.instance removeAllAccounts]; - - // go to dialer - for (NSString *button in @[ @"Cancel", @"Back", @"Hangup", @"Continue", @"Dialer" ]) { - if ([tester tryFindingTappableViewWithAccessibilityLabel:button error:nil]) { - [tester tapViewWithAccessibilityLabel:button traits:UIAccessibilityTraitButton]; - } - } -} - -- (void)afterEach { - for (NSString *button in @[ @"Cancel", @"Back", @"Hangup", @"Continue", @"Dialer" ]) { - if ([tester tryFindingTappableViewWithAccessibilityLabel:button error:nil]) { - [tester tapViewWithAccessibilityLabel:button traits:UIAccessibilityTraitButton]; - } - } - [super afterEach]; -} - -- (void)beforeEach { - [[LinphoneManager instance] lpConfigSetInt:ORTP_WARNING forKey:@"debugenable_preference"]; - [[LinphoneManager instance] lpConfigSetInt:NO forKey:@"animations_preference"]; -} - -- (NSString *)me { - return [NSString stringWithFormat:@"testios-%@", - [[UIDevice currentDevice].identifierForVendor.UUIDString substringToIndex:6]] - .lowercaseString; -} - -- (NSString *)accountDomain { - return @"test.linphone.org"; -} - -- (NSString *)accountProxyRoute { - return [[self accountDomain] stringByAppendingString:@";transport=tcp"]; -} - -- (NSString *)getUUID { - return [[[NSUUID UUID] UUIDString] substringToIndex:8].lowercaseString; -} - -- (NSArray *)getUUIDArrayOfSize:(size_t)size { - NSMutableArray *array = [NSMutableArray arrayWithCapacity:size]; - for (NSInteger i = 0; i < size; i++) { - [array setObject:[self getUUID] atIndexedSubscript:i]; - } - return array; -} - -- (BOOL)hasValidProxyConfig { - LinphoneCore *lc = [LinphoneManager getLc]; - const MSList *proxies = linphone_core_get_proxy_config_list(lc); - BOOL isOK = false; - while (proxies) { - LinphoneProxyConfig *cfg = (LinphoneProxyConfig *)proxies->data; - const char *domain = linphone_proxy_config_get_domain(cfg); - const LinphoneAddress *addr = linphone_proxy_config_get_identity_address(cfg); - const char *username = linphone_address_get_username(addr); - - if (addr && (username && strcmp(username, [[self me] UTF8String]) == 0) && - (domain && strcmp(domain, [[self accountDomain] UTF8String]) == 0) && - linphone_proxy_config_get_state(cfg) == LinphoneRegistrationOk) { - isOK = true; - break; - } - - proxies = proxies->next; - } - return isOK; -} - -- (void)switchToValidAccountIfNeeded { - [UIView setAnimationsEnabled:false]; - - if (![self hasValidProxyConfig]) { - LOGI(@"Switching to a test account..."); - - LinphoneCore *lc = [LinphoneManager getLc]; - [[LinphoneManager instance] removeAllAccounts]; - - LinphoneAddress *testAddr = linphone_core_interpret_url( - LC, [[NSString stringWithFormat:@"sip:%@@%@", [self me], [self accountDomain]] UTF8String]); - linphone_address_set_header(testAddr, "X-Create-Account", "yes"); - linphone_address_set_transport(testAddr, LinphoneTransportTcp); - linphone_address_set_port(testAddr, 0); - LinphoneProxyConfig *testProxy = linphone_core_create_proxy_config(lc); - linphone_proxy_config_set_identity_address(testProxy, testAddr); - linphone_proxy_config_set_server_addr(testProxy, [self accountProxyRoute].UTF8String); - linphone_proxy_config_set_route(testProxy, [self accountProxyRoute].UTF8String); - linphone_proxy_config_set_push_notification_allowed(testProxy, true); - - LinphoneAuthInfo *testAuth = linphone_auth_info_new(linphone_address_get_username(testAddr), NULL, - linphone_address_get_username(testAddr), NULL, NULL, - linphone_address_get_domain(testAddr)); - - linphone_proxy_config_enable_register(testProxy, true); - linphone_core_add_auth_info(lc, testAuth); - linphone_core_add_proxy_config(lc, testProxy); - linphone_core_set_default_proxy_config(lc, testProxy); - [[LinphoneManager instance] configurePushTokenForProxyConfig:testProxy]; - - linphone_proxy_config_unref(testProxy); - linphone_auth_info_unref(testAuth); - linphone_address_unref(testAddr); - - linphone_core_set_file_transfer_server(lc, "https://www.linphone.org:444/lft.php"); - - // reload address book to prepend proxy config domain to contacts' phone number - [[[LinphoneManager instance] fastAddressBook] fetchContactsInBackGroundThread]; - - [self waitForRegistration]; - [[LinphoneManager instance] lpConfigSetInt:NO forKey:@"animations_preference"]; - } -} - -- (UITableView *)findTableView:(NSString *)table { - UITableView *tv = nil; - NSError *err = nil; - if ([tester tryFindingAccessibilityElement:nil view:&tv withIdentifier:table tappable:false error:&err]) { - XCTAssertNotNil(tv); - } else { - XCTFail(@"Error: %@", err); - } - return tv; -} - -- (void)waitForRegistration { - // wait for account to be connected - int timeout = 15; - while (timeout && - ![tester tryFindingViewWithAccessibilityLabel:@"Registration state" - value:@"Connected" - traits:UIAccessibilityTraitButton - error:nil]) { - [tester waitForTimeInterval:1]; - timeout--; - } - [tester waitForViewWithAccessibilityLabel:@"Registration state" - value:@"Connected" - traits:UIAccessibilityTraitButton]; -} - -- (void)removeAllRooms { - if (![tester tryFindingTappableViewWithAccessibilityLabel:@"Edit" error:nil]) - return; - - [tester tapViewWithAccessibilityLabel:@"Edit" traits:UIAccessibilityTraitButton]; - [tester tapViewWithAccessibilityLabel:@"Select all" traits:UIAccessibilityTraitButton]; - [tester tapViewWithAccessibilityLabel:@"Delete all" traits:UIAccessibilityTraitButton]; - [tester tapViewWithAccessibilityLabel:@"DELETE" traits:UIAccessibilityTraitButton]; -} - -- (void)setText:(NSString *)text forIndex:(NSInteger)idx inSection:(NSInteger)section { - [tester tapRowAtIndexPath:[NSIndexPath indexPathForRow:idx inSection:section] - inTableViewWithAccessibilityIdentifier:@"Contact table"]; - [tester enterTextIntoCurrentFirstResponder:text]; -} - -- (void)createContact:(NSString *)firstName - lastName:(NSString *)lastName - phoneNumber:(NSString *)phone - SIPAddress:(NSString *)sip { - - XCTAssert(firstName != nil); - [tester tapViewWithAccessibilityLabel:@"Add contact"]; - - // check that the OK button is disabled - [tester waitForViewWithAccessibilityLabel:@"Edit" - traits:UIAccessibilityTraitButton | UIAccessibilityTraitNotEnabled | - UIAccessibilityTraitSelected]; - - [self setText:firstName forIndex:0 inSection:ContactSections_FirstName]; - - // entering text should enable the "edit" button - [tester waitForViewWithAccessibilityLabel:@"Edit" traits:UIAccessibilityTraitButton | UIAccessibilityTraitSelected]; - - if (lastName) { - [self setText:lastName forIndex:0 inSection:ContactSections_LastName]; - } - - if (phone) { - [self setText:phone forIndex:0 inSection:ContactSections_Number]; - } - - if (sip) { - [self setText:sip forIndex:0 inSection:ContactSections_Sip]; - } - - [tester tapViewWithAccessibilityLabel:@"Edit"]; -} - -@end diff --git a/TestsUI/NotificationTester.h b/TestsUI/NotificationTester.h deleted file mode 100644 index 1598643b2..000000000 --- a/TestsUI/NotificationTester.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2010-2019 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "LinphoneTestCase.h" - -@interface NotificationTester : LinphoneTestCase - -@end diff --git a/TestsUI/NotificationTester.m b/TestsUI/NotificationTester.m deleted file mode 100644 index 2440d8d60..000000000 --- a/TestsUI/NotificationTester.m +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (c) 2010-2019 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "NotificationTester.h" - -@implementation NotificationTester - -#if !TARGET_IPHONE_SIMULATOR - -- (void)beforeAll { - [super beforeAll]; - [self switchToValidAccountIfNeeded]; -} - -- (void)testChatRemoteNotification { - [tester tapViewWithAccessibilityLabel:@"Chat"]; - [self removeAllRooms]; - - const LinphoneAddress *addr = - linphone_proxy_config_get_identity_address(linphone_core_get_default_proxy_config(LC)); - LinphoneChatMessage *msg = linphone_chat_room_create_message(linphone_core_get_chat_room(LC, addr), "hello my own"); - linphone_chat_room_send_chat_message(linphone_core_get_chat_room(LC, addr), msg); - linphone_core_set_network_reachable(LC, NO); - - [tester tapViewWithAccessibilityLabel:@"Chat"]; - - // it can take several seconds to receive the remote push notification... - int timeout = 35; - while (timeout > 0) { - [tester tryFindingViewWithAccessibilityLabel:@"Contact name, Message" error:nil]; - timeout--; - } - [tester waitForViewWithAccessibilityLabel:@"Contact name, Message" - value:[NSString stringWithFormat:@"%@, hello my own (1)", self.me] - traits:UIAccessibilityTraitStaticText]; -} - -#endif - -@end diff --git a/Tools/change_ios_custom_font.sh b/Tools/change_ios_custom_font.sh deleted file mode 100755 index b1e7f9d63..000000000 --- a/Tools/change_ios_custom_font.sh +++ /dev/null @@ -1,102 +0,0 @@ -#!/bin/bash - -## -## Copyright (c) 2010-2019 Belledonne Communications SARL. -## -## This file is part of linphone-iphone -## -## This program is free software: you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published by -## the Free Software Foundation, either version 3 of the License, or -## (at your option) any later version. -## -## This program is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with this program. If not, see . -## - -# Created by Gautier Pelloux-Prayer on 2014/10/07. -# This script can be used to replace default font with a custom one in every xib -# Please note that it changes only .xib files and not hardcoded fonts in .m/.h files. -# It creates a backup file with .backup_font extension. - -if [ $# != 0 ]; then - echo "Usage: $0" - echo "To avoid reentering input, you can preset values, for intance:" - echo 'repository=. newfont_family="Movistar Text" newregular_font=MovistarText newbold_font=MovistarText-Bold newitalic_font=MovistarText-Italic' $0 - exit 0 -fi - -# quit on first error -set -e - -#################################### Input values ######################### -# read $2 from stdin if it is not already set. Works also for multiple reads, but -# only check that the first read variable is not set -function readv { - prompt=$1 - shift - if [ -z "${!1}" ]; then - echo "$prompt" - read "$@" #cannot use read -p because unknown on MacOS - else - echo "$1 already set ($1=${!1}). Skipping $@" - fi - - for arg in "$@"; do - echo "$arg=${!arg}" - done -} -echo $repository -readv '# Your git repository where we must apply changes like $HOME/code/linphone-iphone' repository -readv '# The font family name like "Helvetica"' newfont_family -readv '# The normal font like "Helvetica"' newregular_font -readv '# The bold font like "Helvetica-Bold"' newbold_font -readv '# The italic font like "Helvetica-Italic"' newitalic_font -readv '# RGB values for new text color like "255 255 255" for white' newred newgreen newblue -newred=$(echo $newred / 255.0 | bc -l) -newgreen=$(echo $newgreen / 255.0 | bc -l) -newblue=$(echo $newblue / 255.0 | bc -l) -################################################################################ - -# This is default Linphone text color ("gray") -oldred="\"0.35" -oldgreen="\"0.39" -oldblue="\"0.43" - -if [ ! -d "$repository" ]; then - echo "Invalid repository '$repository': it does not exist" - exit 1 -elif [ ! -d "$repository/Classes/" ]; then - echo "Invalid repository '$repository': expected subfolder Classses/ does not exist" - exit 2 -fi - - -cd $repository/Classes - -fonts=( "system:$newregular_font" -"boldSystem:$newbold_font" -"italicSystem:$newitalic_font" ) - - -for font in "${fonts[@]}"; do - system_font=${font%:*} - new_font=${font#*:} - echo "$system_font -> $new_font" - - find . -name '*.xib' -exec \ - sed -E -i.font_backup \ - -e "s|\"|g" \ - -e "s||g" {} \; -done - -echo "********************** -Done. Created .backup_font files. If you are OK with the change, you can remove them with: -find $repository -name '*.font_backup' -exec rm {} \; -If you are NOT ok with change, you can put them back. -**********************" diff --git a/Tools/check_tools.sh b/Tools/check_tools.sh deleted file mode 100755 index 2e1c7af1a..000000000 --- a/Tools/check_tools.sh +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/bash - -error_on_quit=0 - -echo_err() { - echo "$@" >&2 - error_on_quit=1 -} - -check_installed() { - if [ -z "$(which $1)" ]; then - echo_err "Could not find $1. Please install $2." - return 1 - fi - return 0 -} - -cd $(dirname $0)/.. - -if grep -q ' ' <<< $PWD; then - echo_err "Invalid location: your location should not contain spaces" -fi - -for prog in autoconf automake pkg-config doxygen java nasm gettext wget yasm optipng; do - check_installed "$prog" "it" -done - -check_installed "ginstall" "coreutils" -check_installed "intltoolize" "intltool" -check_installed "convert" "imagemagick" - -if [ -z "$(which libtoolize)" ]; then - glibtoolize=$(which glibtoolize) - if [ ! -z "$glibtoolize" ]; then - echo_err "Please do a symbolic link from glibtoolize to libtoolize: 'ln -s $glibtoolize ${glibtoolize/glibtoolize/libtoolize}'" - else - echo_err "Could not find libtoolize. Please install libtool." - fi -fi - -# just ensure that JDK is installed - if not, it will display user a popup -if ! java -version &>/dev/null; then - echo_err "Please install Java JDK (not just JRE)" -fi - -# needed by x264 -check_installed "gas-preprocessor.pl" "it following the README.md" - -if nasm -f elf32 2>&1 | grep -q "fatal: unrecognised output format"; then - echo_err "Invalid version of nasm: your version does not support elf32 output format. If you have installed nasm, please check that your PATH env variable is set correctly." -fi - -if ! (find submodules/linphone/mediastreamer2 -mindepth 1 2>/dev/null | grep -q . \ - || find submodules/linphone/oRTP -mindepth 1 2>/dev/null | grep -q .); then - echo_err "Missing some git submodules. Did you run 'git submodule update --init --recursive'?" -fi - -if ! xcrun --sdk iphoneos --show-sdk-path &>/dev/null; then - echo_err "iOS SDK not found, please install Xcode from AppStore or equivalent" -elif [ ! -f $(xcrun --sdk iphonesimulator --show-sdk-platform-path)/Developer/usr/bin/strings ]; then - echo_err "strings binary missing, please run 'sudo ln -s $(which strings) $(xcrun --sdk iphonesimulator --show-sdk-platform-path)/Developer/usr/bin/strings'" -fi - -if [ $error_on_quit != 0 ]; then - echo "Failed to detect required tools, aborting. Please run 'make very-clean' before rerunning 'make'" -fi - -exit $error_on_quit diff --git a/Tools/deploy.sh b/Tools/deploy.sh deleted file mode 100755 index 2e04a5946..000000000 --- a/Tools/deploy.sh +++ /dev/null @@ -1,28 +0,0 @@ -APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}" - -# This script loops through the frameworks embedded in the application and -# removes unused architectures. -find "$APP_PATH" -name '*.framework' -type d | while read -r FRAMEWORK -do - FRAMEWORK_EXECUTABLE_NAME=$(defaults read "$FRAMEWORK/Info.plist" CFBundleExecutable) - FRAMEWORK_EXECUTABLE_PATH="$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME" - echo "Executable is $FRAMEWORK_EXECUTABLE_PATH" - - EXTRACTED_ARCHS=() - - for ARCH in $ARCHS - do - echo "Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME" - lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH" - EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH") - done - - echo "Merging extracted architectures: ${ARCHS}" - lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}" - rm "${EXTRACTED_ARCHS[@]}" - - echo "Replacing original executable with thinned version" - rm "$FRAMEWORK_EXECUTABLE_PATH" - mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH" - -done \ No newline at end of file diff --git a/Tools/exportOptions.plist b/Tools/exportOptions.plist deleted file mode 100644 index e93a5d1b3..000000000 --- a/Tools/exportOptions.plist +++ /dev/null @@ -1,18 +0,0 @@ - - - - - method - app-store - signingStyle - automatic - stripSwiftSymbols - - teamID - Z2V957B3D6 - uploadBitcode - - uploadSymbols - - - diff --git a/Tools/git_version.sh b/Tools/git_version.sh deleted file mode 100755 index 6f2c6a0b5..000000000 --- a/Tools/git_version.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh - -# git_version.sh -# -# Copyright (C) 2012 Belledonne Comunications, Grenoble, France -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Created by Gautier Pelloux-Prayer on 2014/11/03. -# Generate Classes/git_version.h which contains GIT_VERSION preprocessor macro - -linphone_ios_version=$(git describe --always) - -printf "/* LinphoneIOSVersion.h - * - * Copyright (C) 2012 Belledonne Comunications, Grenoble, France - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#define LINPHONE_IOS_VERSION \"$linphone_ios_version\" -" > $(dirname $0)/../Classes/LinphoneIOSVersion.h diff --git a/Tools/i18n_generate_strings_files.sh b/Tools/i18n_generate_strings_files.sh deleted file mode 100755 index f626ca7d3..000000000 --- a/Tools/i18n_generate_strings_files.sh +++ /dev/null @@ -1,120 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2012 Belledonne Comunications, Grenoble, France -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Created by Gautier Pelloux-Prayer on 2014. -# Generate English translation files so that they can be pushed to Transifex -# for translation - -root_directory=$(cd "$(dirname $0)" && pwd)/../ - -set -e - -if [ $# != 0 ]; then - echo "No argument needed. This script will (re)generate .strings file from .xib files and register them in the transifex config file located in .tx/config." - exit 0 -fi - -function generate_transifex_config { - res_name=$1 - file_filter=$2 - source_file=$(test -f ${file_filter//en}&&echo ${file_filter//en}||echo ${file_filter//Base}) - if ! grep -q $res_name $root_directory/.tx/config; then - echo "not found in .tx/config, adding it" - echo " -[linphone-ios.$res_name] -source_lang = en -file_filter = $file_filter" >> $root_directory/.tx/config - if [ ! -z "$source_file" ]; then - echo "source_file = $source_file" >> $root_directory/.tx/config - fi - fi -} - -##### 1. Generate Localizable.strings from source files (.m) -function generate_localizable_from_sources { - #WARNING: in case of sed issue "extra characters at the end of g command", it means that - # we are trying to modify an UTF-16 file which is not supported.. - - localizable_en=$root_directory/Resources/en.lproj/Localizable.strings - # The 2 only specific cases of the application: since we are length limited for push - # notifications, the ID is not matching the English translation... so we must keep - # the translations! - iconv -f utf-16 -t utf-8 $localizable_en > $localizable_en.tmp - IC_MSG_EN=$(sed -nE 's/"IC_MSG" = "(.*)";/\1/p' $localizable_en.tmp) - IM_MSG_EN=$(sed -nE 's/"IM_MSG" = "(.*)";/\1/p' $localizable_en.tmp) - IM_FULLMSG_EN=$(sed -nE 's/"IM_FULLMSG" = "(.*)";/\1/p' $localizable_en.tmp) - rm -f $localizable_en $localizable_en.tmp - - find $root_directory/Classes -name '*.m' | xargs genstrings -u -a -o $(dirname $localizable_en) - iconv -f utf-16LE -t utf-8 $localizable_en > $localizable_en.tmp - sed -i.bak "s/= \"IC_MSG\";/= \"$IC_MSG_EN\";/" $localizable_en.tmp - sed -i.bak "s/= \"IM_MSG\";/= \"$IM_MSG_EN\";/" $localizable_en.tmp - sed -i.bak "s/= \"IM_FULLMSG\";/= \"$IM_FULLMSG_EN\";/" $localizable_en.tmp - iconv -f utf-8 -t utf-16LE $localizable_en.tmp > $localizable_en - rm $localizable_en.tmp.bak $localizable_en.tmp - - generate_transifex_config localizablestrings "Resources/.lproj/Localizable.strings" -} - -##### 2. Generate .strings for all XIB files -function generate_strings_from_xib { - to_utf8_file=$(mktemp -t linphone) - find $root_directory/Classes -not -path "$root_directory/Classes/KIF/*" -name Base.lproj -exec find {} -name '*.xib' \; | while read -r xibfile; do - stringsfile="${xibfile/.xib/.strings}" - - ibtool --generate-strings-file "$stringsfile" "$xibfile" - - # remove if empty - iconv -f utf-16 -t utf-8 "$stringsfile" > "$to_utf8_file" - if [ $(stat -f '%z' $to_utf8_file) -le 1 ]; then - echo "$(basename "$stringsfile") is empty, removing" - rm "$stringsfile" - else - echo "$(basename "$xibfile")->$(basename "$stringsfile")" - - res_name=$(basename "$stringsfile" | tr -d '_.~-' | tr '[:upper:]' '[:lower:]') - dir_name=$(echo $(dirname "$stringsfile") | sed -E "s|$root_directory/||") - - - generate_transifex_config $res_name $(echo $dir_name| sed 's/Base.lproj/.lproj/')/$(basename "$stringsfile") - fi - done - rm $to_utf8_file -} - -##### 3. Generate .strings for all InAppSettings PLIST files -function generate_strings_from_inappsettings_plist { - tmp_file=$(mktemp -t linphone) - find $root_directory/Settings/InAppSettings.bundle -name '*.plist' | while read -r plistfile; do - echo $plistfile - plistfilestrings="$(basename ${plistfile/.plist/.strings})" - printf '' > $tmp_file - while read title; do - echo "\"$title\" = \"$title\";" >> $tmp_file - done <<< "$(grep -e '>Title<' $plistfile -A 1 | sed -nE 's|.*(.*).*|\1|p')" - - mv $tmp_file $root_directory/Settings/InAppSettings.bundle/en.lproj/$plistfilestrings - - res_name=inappsettings$(echo "$plistfilestrings" | tr -d '_.~-' | tr '[:upper:]' '[:lower:]') - generate_transifex_config $res_name "Settings/InAppSettings.bundle/.lproj/$plistfilestrings" - done -} - -generate_localizable_from_sources -generate_strings_from_xib -generate_strings_from_inappsettings_plist diff --git a/Tools/i18n_update_strings_files.py b/Tools/i18n_update_strings_files.py deleted file mode 100755 index 966923c5c..000000000 --- a/Tools/i18n_update_strings_files.py +++ /dev/null @@ -1,76 +0,0 @@ -#!/usr/bin/env python3 - -# Copyright (C) 2012 Belledonne Comunications, Grenoble, France -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Created by Gautier Pelloux-Prayer on 2014. -# Update non-English translation by regenerating .strings files and reapplying -# existing translations after that - -import codecs -import re -import sys -import shutil - -kvpattern = re.compile('^(.*) = (.*);$') - - -def find_english_for_key(file, key): - with codecs.open(file, 'r', 'utf-16') as fp: - for line in fp: - match = kvpattern.match(line) - - if match is None: - continue - - if key == match.groups()[0]: - return match.groups()[1] - - return None - - -def update_messages_for_file(old_file, new_file): - translations = {} - with codecs.open(old_file, 'r', 'utf-16') as fp: - for line in fp: - match = kvpattern.match(line) - - if match is None: - continue - - english_value = find_english_for_key(new_file, match.groups()[0]) - foreign_value = match.groups()[1] - - translations[english_value] = foreign_value - with codecs.open(new_file, 'r', 'utf-16') as f: - lines = f.read() - for english_value, foreign_value in translations.items(): - print("replace {} with {}".format(english_value, foreign_value)) - lines = lines.replace("{};".format(english_value), "{};".format(foreign_value)) - with codecs.open(new_file, 'w', 'utf-16') as f1: - f1.write(lines) - return True - - return False - -if len(sys.argv) != 3: - print("Usage: {} English.strings CustomLanguage.strings".format(sys.argv[0])) - print("CustomLanguage.strings will be modified to take all English strings with its own translations") -else: - new_file = sys.argv[2] + ".new" - shutil.copyfile(sys.argv[1], new_file) - if (update_messages_for_file(sys.argv[2], new_file)): - shutil.move(new_file, sys.argv[2]) diff --git a/Tools/imgur_upload.sh b/Tools/imgur_upload.sh deleted file mode 100755 index a73ab699c..000000000 --- a/Tools/imgur_upload.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -if [ ! -z "$KIF_SCREENSHOTS" ]; then - cd $KIF_SCREENSHOTS - - if [ ! -z "$(find . -name "*.png" -maxdepth 1)" ]; then - # Prepare location to collect delete commands - if test "$TRAVIS_BUILD_NUMBER" = ""; then - TRAVIS_BUILD_NUMBER="dev" - fi - download_cmds="" - - # curl from http://imgur.com/tools/imgurbash.sh via http://imgur.com/tools - # Documentation: http://code.google.com/p/imgur-api/source/browse/wiki/ImageUploading.wiki?r=82 - api_key=$IMGUR_KEY - for filepath in *.png; do - # echo "File $filepath" - # echo "Command: curl https://api.imgur.com/3/upload.json -H \"Authorization: Client-ID $api_key\" -F "image=@\"$filepath\""" - result="$(curl -s https://api.imgur.com/3/upload.json -H "Authorization: Client-ID $api_key" -F "image=@\"$filepath\"" )" - - # result='{"rsp":{"stat":"ok","image":{"image_hash":"dKZ0YK9","delete_hash":"r0MsZp11K9vawLf","original_image":"http:\/\/i.imgur.com\/dKZ0YK9.png","large_thumbnail":"http:\/\/i.imgur.com\/dKZ0YK9l.jpg","small_thumbnail":"http:\/\/i.imgur.com\/dKZ0YK9s.jpg","imgur_page":"http:\/\/imgur.com\/dKZ0YK9","delete_page":"http:\/\/imgur.com\/delete\/r0MsZp11K9vawLf"}}}' - if ! grep -q '"success":true' <<< $result; then - echo "There was a problem uploading \"$filepath\": $result" - exit 1 - else - url=$(echo "$result" | tr ',' '\n' | grep '"link":"http' | cut -d '"' -f 4) - download_cmds="${download_cmds}\nwget $url" - fi - done - echo "All uploads complete!" - printf "Download via: $download_cmds\n" - else - echo "Could not find any PNG in $PWD, something must be broken!" - fi -else - echo "Please initialize KIF_SCREENSHOTS env variable first!" -fi diff --git a/Tools/liblinphone.podspec b/Tools/liblinphone.podspec deleted file mode 100644 index 496ba154c..000000000 --- a/Tools/liblinphone.podspec +++ /dev/null @@ -1,13 +0,0 @@ -Pod::Spec.new do |s| - - s.name = "liblinphone" - s.version = "FRAMEWORK_VERSION" - s.summary = "This is liblinphone, a free (GPL) video voip library based on the SIP protocol" - s.homepage = "https://github.com/BelledonneCommunications/linphone-iphone" - s.license = "GNU GPL 2" - s.author = "employees@belledonne-communications.com" - s.platform = :ios, "9.0" - s.source = { :http => "https://www.linphone.org/releases/ios/liblinphone-iphone-sdk-FRAMEWORK_VERSION.zip" } - s.vendored_frameworks = "liblinphone-sdk/apple-darwin/Frameworks/**" - -end diff --git a/Tools/sdk_download.sh b/Tools/sdk_download.sh deleted file mode 100755 index 2e303ba8e..000000000 --- a/Tools/sdk_download.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash -x - -function die { - echo "$@" - exit 1 -} - -if [ $# != 2 ]; then - die "error: please provide what kind of SDK (for instance release and liblinphone SDK version to download (for instance 3.16.1)" -fi - -root_path="$(dirname $0)/.." -sdk_version=liblinphone-iphone-sdk-$2 -filename=$(find . -name liblinphone-iphone-sdk-*.zip) -version=$(echo $filename| cut -d'-' -f 4) -version=$(echo "${version:0:${#version}-4}") -if [ -z "$version" ]; then - version="0"; -fi - -if [ $(expr ${version} \< ${2}) -eq 1 ]; then - for f in ./liblinphone-iphone-sdk* - do - rm -r -f "$f" - done - - echo "Downloading SDK" - sdk_dir=$1 - sdk_path="$root_path/$sdk_version" - if [ -L "$root_path/liblinphone-sdk" ]; then - rm "$root_path/liblinphone-sdk" - fi - - if [ ! -d "$sdk_path" ]; then - if which wget &>/dev/null; then - wget https://www.linphone.org/$sdk_dir/ios/$sdk_version.zip -O "$sdk_path".zip - elif which curl &>/dev/null; then - curl -# https://www.linphone.org/$sdk_dir/ios/$sdk_version.zip > "$sdk_path".zip - else - return 1 - fi || die "error: cannot download liblinphone SDK from linphone.org. Please check the README.md" - - echo "info: liblinphone SDK successfully downloaded." - fi - - unzip -x $sdk_path.zip - mv liblinphone-sdk $sdk_path - ln -s $sdk_path liblinphone-sdk -fi diff --git a/Tools/sync_resources_android.py b/Tools/sync_resources_android.py deleted file mode 100755 index 0c402a6cb..000000000 --- a/Tools/sync_resources_android.py +++ /dev/null @@ -1,99 +0,0 @@ -#!/usr/bin/env python - -# Copyright (C) 2012 Belledonne Comunications, Grenoble, France -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Created by Gautier Pelloux-Prayer on 2014/10/23. -# Create the correspondence map between iOS resources name and Android ones. - - -import os -import sys -import hashlib -import fnmatch - - -def file_md5(file): - hasher = hashlib.md5() - with open(file, 'rb') as afile: - buf = afile.read() - hasher.update(buf) - return hasher.hexdigest() - - -def list_glob_png(dir): - matches = [] - for root, dirnames, filenames in os.walk(dir): - for filename in fnmatch.filter(filenames, '*.png'): - matches.append(os.path.join(root, filename)) - return matches - - -def _halt(message, code): - sys.stderr.write("[ERROR] %s\n" % message) - sys.exit(0 << code) - - -def compare_md5(ios_dir, android_dir): - ios_images = list_glob_png(ios_dir) - android_images = list_glob_png(android_dir) - - ios_md5 = {} - for image in ios_images: - ios_md5[file_md5(image)] = image - - android_md5 = {} - for image in android_images: - android_md5[file_md5(image)] = image - - common_list = [] - ios_list = [] - android_list = [] - - for key in ios_md5: - if key in android_md5: - common_list.append(key) - else: - ios_list.append(key) - for key in android_md5: - if key not in ios_md5: - android_list.append(key) - - print("Common:") - for key in common_list: - print("{} = {}".format(ios_md5[key], android_md5[key])) - print("ios only:") - for key in ios_list: - print(ios_md5[key]) - print("android only:") - for key in android_list: - print(android_md5[key]) - - -if __name__ == '__main__': - if len(sys.argv) < 3: - _halt('Usage: {} iOS-repo android-repo'.format(sys.argv[0]), 1) - ios_dir = sys.argv[1] + "/Resources/" - android_dir = sys.argv[2] + "/res/" - - if not os.path.exists(ios_dir): - _halt("The directory '%s' does not exist" % - ios_dir, 2) - if not os.path.exists(android_dir): - _halt("The directory '%s' does not exist" % - android_dir, 2) - - compare_md5(ios_dir, android_dir) diff --git a/Tools/tag_missing_resources.sh b/Tools/tag_missing_resources.sh deleted file mode 100755 index 93a2df735..000000000 --- a/Tools/tag_missing_resources.sh +++ /dev/null @@ -1,73 +0,0 @@ -#!/bin/sh - -# tag_missing_resources.sh -# -# Copyright (C) 2012 Belledonne Comunications, Grenoble, France -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Created by Gautier Pelloux-Prayer on 2014/10/09. -# This script will search for resources contained in Resources/ folder but not -# present in xcode build project project.pbxproj. Since we do not use folder -# references (because of http://vocaro.com/trevor/blog/2012/10/21/xcode-groups-vs-folder-references/), -# it helps keeping resources synced. -# Basically, the script will set a red tag to every files not added in the xcode project. User will then -# have to drag&drop these into xcode project. Red tags are automatically reset by the script on execution - - -if [ $# != 0 ]; then - echo "Usage: $0" - exit 0 -fi - -if ! which tag &>/dev/null; then - echo "Please install tag: port install tag or brew install tag" - exit 1 -fi - -# quit on first error -set -e - -# go where the script is -cd $(dirname $0) - -already_sync=$(mktemp -t tag_missing_resources) -to_sync=$(mktemp -t tag_missing_resources) - -grep -oE '([^ /"])*.png' ../linphone.xcodeproj/project.pbxproj | sort -u > $already_sync -find ../Resources/ -not -path '*/Images.xcassets/*' -name '*.png' -exec basename {} \; | sort -u > $to_sync - -# clean red tags -for file in $to_sync $already_sync; do - find ../Resources -name $file -exec tag -r red {} \; -done - -# 'comm' command output files contained in second file but not in first nor in common -non_synced_files=$(comm -13 $already_sync $to_sync) - -for file in $non_synced_files; do - find ../Resources -name $file -exec tag -a red {} \; -done - -rm $already_sync $to_sync - -echo "********************** -Done. Created red tags for non-synced files: -${non_synced_files}. - -Drag and drop these files into your xcode project. You can go to the folder using: - open $PWD/../Resources -Then use search feature and type 'red', select the red tag and go! -**********************" diff --git a/UITests/CallUITests/ActiveCallUITests.swift b/UITests/CallUITests/ActiveCallUITests.swift deleted file mode 100644 index 44733cc49..000000000 --- a/UITests/CallUITests/ActiveCallUITests.swift +++ /dev/null @@ -1,96 +0,0 @@ -import XCTest - -class ActiveCallUITests: XCTestCase { - var methods: ActiveCallViewUITestsMethods! - - override func setUpWithError() throws { - continueAfterFailure = true - UITestsUtils.testAppSetup() - methods = ActiveCallViewUITestsMethods() //to reload accounts infos if testAppSetup change them - } - - - func testViewDisplay() throws { - methods.startActiveCall() - methods.endCall() - } - - func testOpenCallStats() throws { - methods.startActiveCall() - methods.openCallStatsFromStatusBar() - methods.endCall() - } - - func testCloseCallStats() throws { - methods.startActiveCall() - methods.openCallStatsFromStatusBar() - methods.closeCallStatsFromStatusBar() - methods.endCall() - } - - func testCallRecord() throws { - methods.startActiveCall() - methods.startCallRecord() - methods.stopCallRecord() - methods.endCall() - } - - func testRemoteCallRecord() throws { - methods.startActiveCall() - methods.startCallRecord(remote: true) - methods.stopCallRecord(remote: true) - methods.endCall() - } - - func testPauseCall() throws { - methods.startActiveCall() - methods.pauseActiveCall() - methods.endCall() - } - - func testResumeCall() throws { - methods.startActiveCall() - methods.pauseActiveCall() - methods.resumeActiveCall() - methods.endCall() - } - - func testRemotePauseCall() throws { - methods.startActiveCall() - methods.pauseRemoteCall() - methods.endCall() - } - - func testRemoteResumeCall() throws { - methods.startActiveCall() - methods.pauseRemoteCall() - methods.resumeRemoteCall() - methods.endCall() - } - - func testToggleControls() throws { - methods.startActiveCall() - methods.toggleCallControls(buttonTag: "speaker", parentView: methods.app.activeCallView) - methods.toggleCallControls(buttonTag: "mute",parentView: methods.app.activeCallView) - methods.endCall() - } - - func testOpenExtraMenu() throws { - methods.startActiveCall() - methods.openExtraButtonMenu() - methods.endCall() - } - - func testCloseExtraMenu() throws { - methods.startActiveCall() - methods.openExtraButtonMenu() - methods.closeExtraButtonMenu() - methods.endCall() - } - - func testHangup() throws { - methods.startActiveCall() - methods.hangupActiveCall() - } -} - diff --git a/UITests/CallUITests/ExtraMenuUITests.swift b/UITests/CallUITests/ExtraMenuUITests.swift deleted file mode 100644 index 7026b0e50..000000000 --- a/UITests/CallUITests/ExtraMenuUITests.swift +++ /dev/null @@ -1,53 +0,0 @@ -import XCTest - -class ExtraMenuUITests: XCTestCase { - var methods: ExtraMenuActiveCallActionsUITestsMethods! - - override func setUpWithError() throws { - continueAfterFailure = true - UITestsUtils.testAppSetup() - methods = ExtraMenuActiveCallActionsUITestsMethods() //to reload accounts infos if testAppSetup change them - } - - - func testViewDisplay() throws { - methods.displayExtraMenuButtonView() - methods.endCall() - } - - func testOpenCallStats() throws { - methods.displayExtraMenuButtonView() - methods.openCallStatsFromExtraMenuButtonView() - methods.endCall() - } - - func testCloseCallStats() throws { - methods.displayExtraMenuButtonView() - methods.openCallStatsFromExtraMenuButtonView() - methods.closeCallStatsFromItself() - methods.endCall() - } - - func testOpenCallNumpad() throws { - methods.displayExtraMenuButtonView() - methods.openCallNumpad() - methods.endCall() - } - - func testCloseCallNumpad() throws { - methods.displayExtraMenuButtonView() - methods.openCallNumpad() - methods.closeCallNumpad() - methods.endCall() - } - - func testNumpadtyping() { - methods.displayExtraMenuButtonView() - methods.openCallNumpad() - methods.composeNumpadNumbers() - methods.endCall() - } - - - //to complete with other buttons -} diff --git a/UITests/CallUITests/IncomingCallUITests.swift b/UITests/CallUITests/IncomingCallUITests.swift deleted file mode 100644 index 81036d30d..000000000 --- a/UITests/CallUITests/IncomingCallUITests.swift +++ /dev/null @@ -1,36 +0,0 @@ -import XCTest - -class IncomingCallUITests: XCTestCase { - var methods: IncomingOutgoingCallViewUITestsMethods! - - override func setUpWithError() throws { - continueAfterFailure = true - UITestsUtils.testAppSetup() - methods = IncomingOutgoingCallViewUITestsMethods() //to reload accounts infos if testAppSetup changes them - } - - func testViewDisplay() throws { - methods.startIncomingCall() - methods.endCall() - } - - func testNoAnswer() throws { - methods.startIncomingCall() - methods.noAnswerIncomingCall() - } - - func testDecline() throws { - methods.startIncomingCall() - methods.declineIncomingCall() - methods.endCall() - } - - func testAccept() throws { - methods.startIncomingCall() - methods.acceptIncomingCall() - methods.endCall() - } -} - - - diff --git a/UITests/CallUITests/OutgoingCallUITests.swift b/UITests/CallUITests/OutgoingCallUITests.swift deleted file mode 100644 index 247ac06c0..000000000 --- a/UITests/CallUITests/OutgoingCallUITests.swift +++ /dev/null @@ -1,39 +0,0 @@ -import XCTest - -class OutgoingCallUITests: XCTestCase { - var methods: IncomingOutgoingCallViewUITestsMethods! - - override func setUpWithError() throws { - continueAfterFailure = true - UITestsUtils.testAppSetup() - methods = IncomingOutgoingCallViewUITestsMethods() //to reload accounts infos if testAppSetup change them - } - - func testViewDisplay() throws { - methods.startOutgoingCall() - methods.endCall() - } - - func testNoAnswer() throws { - methods.startOutgoingCall() - methods.noAnswerOutgoingCall() - - } - - func testToggleMute() throws { - methods.startOutgoingCall() - methods.toggleCallControls(buttonTag: "mute", parentView: methods.app.callView) - methods.endCall() - } - - func testToggleSpeaker() throws { - methods.startOutgoingCall() - methods.toggleCallControls(buttonTag: "speaker", parentView: methods.app.callView) - methods.endCall() - } - - func testCancel() throws { - methods.startOutgoingCall() - methods.cancelOutgoingCall() - } -} diff --git a/UITests/Methods/ActiveCallViewUITestsMethods.swift b/UITests/Methods/ActiveCallViewUITestsMethods.swift deleted file mode 100644 index 4f95d5727..000000000 --- a/UITests/Methods/ActiveCallViewUITestsMethods.swift +++ /dev/null @@ -1,120 +0,0 @@ -import XCTest - -class ActiveCallViewUITestsMethods : IncomingOutgoingCallViewUITestsMethods { - - func startActiveCall() { - XCTContext.runActivity(named: "Start Active Call") { _ in - startIncomingCall() - acceptIncomingCall() - } - } - - func openCallStatsFromStatusBar() { - XCTContext.runActivity(named: "Display Call Stats From Status Bar") { _ in - app.representationWithElements.makeBackup(named: "call_stats_closed") - app.statusBar.buttons["status_bar_incall_quality"].tap() - - //app.callStatsView.representation.reMake() - app.representationWithElements.otherElement = app.callStatsView - app.representationWithElements.withElementVariations(mainView: ["shadow"], statusBar: ["call_view"], tabBar: []).check() - - } - } - - func closeCallStatsFromStatusBar() { - XCTContext.runActivity(named: "Hide Call Stats From Status Bar") { _ in - app.statusBar.buttons["status_bar_incall_quality"].tap() - app.representationWithElements.reloadBackup(named: "call_stats_closed").check() - } - } - - func startCallRecord(remote: Bool = false) { - XCTContext.runActivity(named: "Start \(remote ? "Remote" : "") Call Record") { _ in - app.representationWithElements.makeBackup(named: "record_end") - if (!remote) { - app.activeCallView.buttons["active_call_center_section_record"].tap() - //app.activeCallView.representation.withVariations(named: ["record"]).reMake() - app.representationWithElements.updateElementVariations(mainView: ["record"], statusBar: [], tabBar: []).check() - } else { - ghostAccount.startRecording() - //app.activeCallView.representation.withVariations(named: ["remote_record"]).reMake() - app.representationWithElements.updateElementVariations(mainView: ["remote_record"], statusBar: [], tabBar: []).check() - } - ghostAccount.waitForRecordingState(recording: true, onRemote: !remote, timeout: 5) - } - } - - func stopCallRecord(remote: Bool = false) { - XCTContext.runActivity(named: "Stop \(remote ? "Remote" : "") Call Record") { _ in - if (!remote) { - app.activeCallView.buttons["active_call_center_section_record"].tap() - } else { - ghostAccount.mCore.currentCall?.stopRecording() - } - ghostAccount.waitForRecordingState(recording: false, onRemote: !remote, timeout: 5) - app.representationWithElements.reloadBackup(named: "record_end").check() - } - } - - func pauseActiveCall() { - XCTContext.runActivity(named: "Pause Active Call") { _ in - app.representationWithElements.makeBackup(named: "pause_end") - app.activeCallView.buttons["active_call_center_section_pause"].tap() - //app.activeCallView.representation.withVariations(named: ["pause"]).reMake() - app.representationWithElements.updateElementVariations(mainView: ["pause_shadow","pause"], statusBar: [], tabBar: []).check() - ghostAccount.waitForCallState(callState: .PausedByRemote, timeout: 5) - } - } - - func resumeActiveCall() { - XCTContext.runActivity(named: "Resume Active Call") { _ in - app.activeCallView.images["paused_call_view_icon"].tap() - app.representationWithElements.reloadBackup(named: "pause_end").check() - ghostAccount.waitForCallState(callState: .StreamsRunning, timeout: 5) - } - } - - func pauseRemoteCall() { - XCTContext.runActivity(named: "Pause Remote Call") { _ in - app.representationWithElements.makeBackup(named: "pause_end") - ghostAccount.pauseCall() - ghostAccount.waitForCallState(callState: .Paused, timeout: 5) - //app.activeCallView.representation.withVariations(named: ["remote_pause"]).reMake() - app.representationWithElements.updateElementVariations(mainView: ["pause_shadow","remote_pause"], statusBar: [], tabBar: []).check() - } - } - - func resumeRemoteCall() { - XCTContext.runActivity(named: "Resume Remote Call") { _ in - ghostAccount.resumeCall() - ghostAccount.waitForCallState(callState: .StreamsRunning, timeout: 5) - app.representationWithElements.reloadBackup(named: "pause_end").check() - } - } - - func openExtraButtonMenu() { - XCTContext.runActivity(named: "Open Extra Menu Button") { _ in - app.representationWithElements.makeBackup(named: "extra_menu_closed") - app.activeCallView.buttons["active_call_view_extra_buttons"].tap() - //app.activeCallView.representation.withVariations(named: ["extra_menu"]).reMake() - app.representationWithElements.updateElementVariations(mainView: ["shadow","extra_menu"], statusBar: [], tabBar: []).check() - } - } - - func closeExtraButtonMenu() { - XCTContext.runActivity(named: "Check Extra Menu View Integrity") { _ in - app.activeCallView.otherElements["active_call_view_shading_mask"].tap() - app.representationWithElements.reloadBackup(named: "extra_menu_closed").check() - } - } - - func hangupActiveCall() { - XCTContext.runActivity(named: "Hangup Active Call") { _ in - app.activeCallView.buttons["active_call_view_hangup"].tap() - app.representationWithElements.reloadBackup(named: "call_end").check() - ghostAccount.waitForCallState(callState: .Released, timeout: 5) - } - } - -} - diff --git a/UITests/Methods/ConferenceCallViewUITestsMethods.swift b/UITests/Methods/ConferenceCallViewUITestsMethods.swift deleted file mode 100644 index 18e25a476..000000000 --- a/UITests/Methods/ConferenceCallViewUITestsMethods.swift +++ /dev/null @@ -1,24 +0,0 @@ -// -// ConferenceCallViewUITestsMethods.swift -// ConferenceUITests -// -// Created by Quentin Monnier on 05/08/2022. -// - -import XCTest -import linphonesw - -class ConferrenceCallViewUITestsMethods { - - let app: XCUIApplication - let appAccountAuthInfo = UITestsCoreManager.instance.appAccountAuthInfo! - let ghostAccounts = UITestsCoreManager.instance.ghostAccounts - - init(app: XCUIApplication) { - self.app = app - } - - func startOutgoingConference() { - - } -} diff --git a/UITests/Methods/ExtraMenuActiveCallActionsUITestsMethods.swift b/UITests/Methods/ExtraMenuActiveCallActionsUITestsMethods.swift deleted file mode 100644 index 988728198..000000000 --- a/UITests/Methods/ExtraMenuActiveCallActionsUITestsMethods.swift +++ /dev/null @@ -1,87 +0,0 @@ -import XCTest - -class ExtraMenuActiveCallActionsUITestsMethods : ActiveCallViewUITestsMethods { - - func displayExtraMenuButtonView() { - startActiveCall() - openExtraButtonMenu() - } - - func openCallStatsFromExtraMenuButtonView() { - app.extraMenuView.buttons["active_call_extra_buttons_stats"].tap() - - app.representationWithElements.otherElement = app.callStatsView - app.representationWithElements.withElementVariations(mainView: ["shadow"], statusBar: ["call_view"], tabBar: []).check() - } - - func closeCallStatsFromItself() { - app.callStatsView.buttons["call_stats_view_hide"].tap() - - app.representationWithElements.reloadBackup(named: "extra_menu_closed").check() - } - - func openCallNumpad() { - app.extraMenuView.buttons["active_call_extra_buttons_numpad"].tap() - - //app.numpadCallView.representation.reMake() - app.representationWithElements.otherElement = app.numpadCallView - app.representationWithElements.withElementVariations(mainView: ["shadow"], statusBar: ["call_view"], tabBar: []).check() - } - - func closeCallNumpad() { - app.numpadCallView.buttons["call_numpad_view_hide"].tap() - - app.representationWithElements.reloadBackup(named: "extra_menu_closed").check() - } - - func composeNumpadNumbers() { - - let textField = app.staticTexts["call_numpad_view_text_field"] - var digitsLabel = ["1","2","3","4","5","6","7","8","9","*","0","#"] - digitsLabel += digitsLabel - digitsLabel.shuffle() - for label in digitsLabel { - app.numpadCallView.buttons["call_numpad_view_digit_\(label)"].tap() - - } - - XCTAssertEqual(textField.label, digitsLabel.joined(), "Text Field value differs from the sequence typed (is equal to \"\(textField.label)\")") - } - - /* - func openView(buttonTag: String, view: View) { - let button = app.extraMenuView.buttons["active_call_extra_buttons_\(buttonTag)"].tap() - //button.tap(action: .displayView, on: view) - } - - func closeView(contextView: View) { - let hide = UIObject(identifier: "\(contextView.rawValue)_hide", type: .button, contextView: contextView) - //hide.tap(action: .hideView, on: contextView) - } - - func backToCall(contextView: View) { - let button = UIObject(identifier: "back_to_call", type: .button, contextView: contextView) - //button.tap(action: .displayView, on: .ActiveCallView) - } - - func checkNumpadView() { - - UIObject(identifier: "call_numpad_view_hide", type: .button, contextView: .NumpadView) - let textField = UIObject(identifier: "call_numpad_view_text_field", type: .staticText, contextView: .NumpadView).element - - var digitsLabel = ["1","2","3","4","5","6","7","8","9","*","0","#"] - digitsLabel += digitsLabel - digitsLabel.shuffle() - for label in digitsLabel { - UIObject(identifier: "call_numpad_view_digit_\(label)", type: .button, contextView: .NumpadView).element.tap() - } - - XCTAssertEqual(textField.label, digitsLabel.joined(), "Text Field value differs from the sequence typed (is equal to \"\(textField.label)\")") - } - - func closeCallsList() { - let hide = UIObject(identifier: "dismissable_view_close", type: .button, contextView: .CallsListView) - //hide.tap(action: .hideView, on: .CallsListView) - }*/ -} - diff --git a/UITests/Methods/IncomingOutgoingCallViewUITestsMethods.swift b/UITests/Methods/IncomingOutgoingCallViewUITestsMethods.swift deleted file mode 100644 index fa3aff06c..000000000 --- a/UITests/Methods/IncomingOutgoingCallViewUITestsMethods.swift +++ /dev/null @@ -1,133 +0,0 @@ -import XCTest -import linphonesw - -class IncomingOutgoingCallViewUITestsMethods { - - let app = XCUIApplication() - let manager = UITestsCoreManager.instance - let appAccountAuthInfo: AuthInfo = UITestsCoreManager.instance.appAccountAuthInfo! - let ghostAccount: UITestsRegisteredLinphoneCore = UITestsCoreManager.instance.ghostAccounts[0] - - func startIncomingCall() { - XCTContext.runActivity(named: "Start Incoming Call") { _ in - if (ghostAccount.callState != .Released) {ghostAccount.terminateCall()} - app.representationWithElements.makeBackup(named: "call_end") - - ghostAccount.startCall(adress: manager.createAdress(authInfo: appAccountAuthInfo)) - ghostAccount.waitForCallState(callState: .OutgoingRinging, timeout: 5) - - _ = app.callView.waitForExistence(timeout: 5) - checkCallTime(element: app.callView.staticTexts["IO_call_view_duration"]) - app.callView.images["IO_call_view_spinner"].representation.isAnimated(timeInterval: 0.5) - - //app.callView.representation.reMake() - //app.statusBar.representation.withVariations(named: ["call_view"]).reMake() - app.representationWithElements.mainView = app.callView - app.representationWithElements.withElementVariations(mainView: [], statusBar: ["call_view"], tabBar: []).check() - } - } - - func startOutgoingCall() { - XCTContext.runActivity(named: "Start Outgoing Call") { _ in - if (ghostAccount.callState != .Released) {ghostAccount.terminateCall()} - if (!app.dialerView.exists) { app.launch()} - app.representationWithElements.makeBackup(named: "call_end") - - app.dialerView.textFields["adress_field"].fillTextField(ghostAccount.mAuthInfo.username) - checkCallTime(element: app.callView.staticTexts["IO_call_view_duration"]) - - //app.callView.representation.withVariations(named: ["outgoing"]).reMake() - //app.statusBar.representation.withVariations(named: ["call_view"]).reMake() - app.representationWithElements.mainView = app.callView - app.representationWithElements.withElementVariations(mainView: ["outgoing"], statusBar: ["call_view"], tabBar: []).check() - - ghostAccount.waitForCallState(callState: .IncomingReceived, timeout: 5) - } - } - - func endCall() { - XCTContext.runActivity(named: "End Call (from remote)") { _ in - if (ghostAccount.callState == .Released) {return} - - ghostAccount.terminateCall() - ghostAccount.waitForCallState(callState: .Released, timeout: 5) - - app.representationWithElements.reloadBackup(named: "call_end").check() - } - } - - //expected format : "mm:ss" - func checkCallTime(element: XCUIElement) { - XCTContext.runActivity(named: "Check call time increment") { _ in - let timerArray: [Int] = (0..<3).map{_ in - sleep(1) - return Int(element.label.split(separator: ":").last ?? "") ?? 0 - } - XCTAssert(Set(timerArray).count >= 2, "Call Time is not correctly incremented, less than 2 differents values are displayed in 3 seconds") - XCTAssert(timerArray == timerArray.sorted(), "Call Time is not correctly incremented, it is not increasing") - XCTAssert(timerArray.first! <= 3, "Call Time is not correctly initialized, it is more than 3 right after the start (found: \(timerArray.first!))") - } - } - - - func toggleCallControls(buttonTag: String, parentView: XCUIElement) { - XCTContext.runActivity(named: "Toggle call control Button : \"\(buttonTag)\"") { _ in - app.representationWithElements.makeBackup(named: buttonTag) - parentView.buttons["call_control_view_\(buttonTag)"].tap() - app.representationWithElements.updateElementVariations(mainView: [buttonTag], statusBar: [], tabBar: []).check() - - parentView.buttons["call_control_view_\(buttonTag)"].tap() - app.representationWithElements.reloadBackup(named: buttonTag).check() - } - } - - func noAnswerIncomingCall() { - XCTContext.runActivity(named: "Let Incoming Call Ring Until Stop") { _ in - XCTAssert(app.callView.waitForExistence(timeout: 5), "call already abort after less than 10 seconds ringing") - XCTAssert(app.callView.waitForNonExistence(timeout: 30), "call still not abort after 30 seconds ringing") - ghostAccount.waitForCallState(callState: .Released, timeout: 5) - app.representationWithElements.reloadBackup(named: "call_end").check() - } - } - - func noAnswerOutgoingCall() { - XCTContext.runActivity(named: "Check Outgoing Call Failed Popup Integrity And Close") { context in - XCTAssert(app.callView.waitForExistence(timeout: 5), "call already abort after less than 10 seconds ringing") - XCTAssert(app.callView.waitForNonExistence(timeout: 30), "call still not abort after 30 seconds ringing") - ghostAccount.waitForCallState(callState: .Released, timeout: 5) - app.callFailedView.representation.check() - app.callFailedView.buttons["call_failed_error_view_action"].tap() - app.representationWithElements.reloadBackup(named: "call_end").check() - } - - } - - func cancelOutgoingCall() { - XCTContext.runActivity(named: "Cancel Outgoing Call") { _ in - app.callView.buttons["O_call_view_cancel"].tap() - app.representationWithElements.reloadBackup(named: "call_end").check() - ghostAccount.waitForCallState(callState: .Released, timeout: 5) - } - } - - func declineIncomingCall() { - XCTContext.runActivity(named: "Decline Incoming Call") { _ in - app.callView.buttons["I_call_view_decline"].tap() - app.representationWithElements.reloadBackup(named: "call_end").check() - ghostAccount.waitForCallState(callState: .Released, timeout: 5) - } - } - - func acceptIncomingCall() { - XCTContext.runActivity(named: "Accept Incoming Call") { _ in - app.callView.buttons["I_call_view_accept"].tap() - checkCallTime(element: app.activeCallView.staticTexts["active_call_upper_section_duration"]) - app.representationWithElements.mainView = app.activeCallView - //app.activeCallView.representation.reMake() - app.representationWithElements.check() - ghostAccount.waitForCallState(callState: .StreamsRunning, timeout: 5) - } - } - -} - diff --git a/UITests/Methods/UITestsCoreManager.swift b/UITests/Methods/UITestsCoreManager.swift deleted file mode 100644 index b81b9ab6d..000000000 --- a/UITests/Methods/UITestsCoreManager.swift +++ /dev/null @@ -1,380 +0,0 @@ -import XCTest -import linphonesw - - -class UITestsCoreManager { - - private var mCore: Core! - private var coreVersion: String = Core.getVersion - - private var mAccountCreator: AccountCreator! - - var appAccountAuthInfo: AuthInfo! - var ghostAccounts: UITestsGhostAccounts! - let dnsServer = "51.255.123.121" - - static let instance = UITestsCoreManager() - - - init() { - LoggingService.Instance.logLevel = LogLevel.Debug - Core.enableLogCollection(state: .Enabled) - - //Config account creator for flexiapi - let config: Config! = try! Factory.Instance.createConfig(path: "\(Factory.Instance.getConfigDir(context: nil))/linphonerc") - config.setInt(section: "account_creator", key: "backend", value: AccountCreator.Backend.FlexiAPI.rawValue) - config.setString(section: "account_creator", key: "url", value: "http://subscribe.example.org/flexiapi/api/") - try! mCore = Factory.Instance.createCoreWithConfig(config: config, systemContext: nil) - mCore.dnsServersApp = [dnsServer] - mAccountCreator = try! mCore.createAccountCreator(xmlrpcUrl: nil) - - try? mCore.start() - - ghostAccounts = UITestsGhostAccounts(coreCreationFunction: newRegisteredLinphoneCore) - - appAccountAuthInfo = mCore.authInfoList.isEmpty ? createAccount() : mCore.authInfoList[0] - } - - deinit { - mCore.stop() - mCore = nil - } - - func newRegisteredLinphoneCore() -> UITestsRegisteredLinphoneCore { - let authInfo = mCore.authInfoList.indices.contains(ghostAccounts.count+1) ? mCore.authInfoList[ghostAccounts.count+1] : createAccount() - return UITestsRegisteredLinphoneCore(authInfo: authInfo) - } - - func createAccount() -> AuthInfo { - XCTContext.runActivity(named: "Create new account") { _ in - mAccountCreator.username = "uitester_\(String(Int(Date().timeIntervalSince1970*1000)).suffix(5))" - mAccountCreator.password = String((0..<15).map{ _ in mAccountCreator!.username.randomElement()! }) - mAccountCreator.domain = "sip.example.org" - mAccountCreator.email = "\(mAccountCreator!.username)@\(mAccountCreator!.domain)" - mAccountCreator.transport = TransportType.Tcp - _ = try! mAccountCreator.createAccount() - waitForAccountCreationStatus(status: .RequestOk, timeout: 5) - - let authInfo = try! Factory.Instance.createAuthInfo(username: mAccountCreator.username, userid: "", passwd: mAccountCreator.password, ha1: "", realm: "", domain: mAccountCreator.domain) - mCore.addAuthInfo(info: authInfo) - XCTContext.runActivity(named: "username : \(mAccountCreator.username)\npassword : \(mAccountCreator.password)\ndomain : \(mAccountCreator.domain)") { _ in} - return authInfo - } - } - - func accountsReset() { - XCTContext.runActivity(named: "Clear all accounts") { _ in - mCore.clearAllAuthInfo() - ghostAccounts.reset() - appAccountAuthInfo = createAccount() - } - } - - func createAdress(authInfo: AuthInfo) -> Address { - return try! Factory.Instance.createAddress(addr: "sip:\(authInfo.username)@\(authInfo.domain)") - } - - func waitForAccountCreationStatus(status: AccountCreator.Status, timeout: Double) { - let expectation = XCTestExpectation(description: "account status is successfully : \(status)") - XCTContext.runActivity(named: "Waiting for account status : \(status)") { _ in - let accountCreatorDelegate = AccountCreatorDelegateStub(onCreateAccount: { (creator: AccountCreator, status: AccountCreator.Status, response: String) in - if (status == status) { - expectation.fulfill() - } - }) - self.mAccountCreator?.addDelegate(delegate: accountCreatorDelegate) - let result = XCTWaiter().wait(for: [expectation], timeout: timeout) - self.mAccountCreator?.removeDelegate(delegate: accountCreatorDelegate) - XCTAssert(result == .completed, "\"\(status)\" account status still not verified after \(timeout) seconds") - } - } -} - - -class UITestsGhostAccounts { - - private var mCores = [UITestsRegisteredLinphoneCore]() { - didSet { - count = mCores.count - } - } - private(set) var count: Int! - - private let newCore: (()->UITestsRegisteredLinphoneCore)! - - init(coreCreationFunction: @escaping ()->UITestsRegisteredLinphoneCore) { - count = mCores.count - newCore = coreCreationFunction - } - - func reset() { - mCores = [] - } - - subscript (index: Int) -> UITestsRegisteredLinphoneCore { - while (index >= mCores.count) { - mCores.append(newCore()) - } - return mCores[index] - } - -} - - -class UITestsRegisteredLinphoneCore { - - var mCore: Core! - var coreVersion: String = Core.getVersion - var description: String - - private let manager = UITestsCoreManager.instance - - private(set) var mCoreDelegate : CoreDelegate! - private(set) var mAccount: Account! - private(set) var mAuthInfo: AuthInfo! - - private(set) var callState : Call.State = .Released - private(set) var registrationState : RegistrationState = .Cleared - - init(authInfo: AuthInfo) { - - description = "Ghost Account (\(authInfo.username))" - LoggingService.Instance.logLevel = LogLevel.Debug - Core.enableLogCollection(state: .Enabled) - - try! mCore = Factory.Instance.createCore(configPath: "", factoryConfigPath: "", systemContext: nil) - mCore.dnsServers = [manager.dnsServer] - - mCore.videoCaptureEnabled = true - mCore.videoDisplayEnabled = true - mCore.recordAwareEnabled = true - mCore.videoActivationPolicy!.automaticallyAccept = true - - mCoreDelegate = CoreDelegateStub(onCallStateChanged: { (core: Core, call: Call, state: Call.State, message: String) in - self.callState = state - NSLog("\(call.params?.account?.params?.identityAddress) current call state is \(self.callState)\n") - - }, onAccountRegistrationStateChanged: { (core: Core, account: Account, state: RegistrationState, message: String) in - self.registrationState = state - NSLog("New registration state is \(state) for user id \(account.params?.identityAddress)\n") - }) - mCore.addDelegate(delegate: mCoreDelegate) - - mCore.playFile = "sounds/hello8000.wav" - mCore.useFiles = true - - try? mCore.start() - - mAuthInfo = authInfo - login(transport: TransportType.Tcp) - } - - deinit { - mCore.stop() - mCore = nil - mCoreDelegate = nil - } - - func login(transport: TransportType) { - XCTContext.runActivity(named: "\(description) : Login") { _ in - do { - let accountParams = try mCore.createAccountParams() - let identity = manager.createAdress(authInfo: mAuthInfo) - try accountParams.setIdentityaddress(newValue: identity) - let address = try Factory.Instance.createAddress(addr: String("sip:" + mAuthInfo.domain)) - try address.setTransport(newValue: transport) - try accountParams.setServeraddress(newValue: address) - accountParams.registerEnabled = true - let account = try mCore.createAccount(params: accountParams) - mCore.addAuthInfo(info: mAuthInfo) - try mCore.addAccount(account: account) - mAccount = account - mCore.defaultAccount = mAccount - waitForRegistrationState(registrationState: .Ok, timeout: 5) - - } catch { NSLog(error.localizedDescription) } - } - } - - private func makeRecordFilePath() -> String{ - var filePath = "recording_" - let now = Date() - let dateFormat = DateFormatter() - dateFormat.dateFormat = "E-d-MMM-yyyy-HH-mm-ss" - let date = dateFormat.string(from: now) - filePath = filePath.appending("\(date).mkv") - - let paths = NSSearchPathForDirectoriesInDomains(.cachesDirectory, .userDomainMask, true) - let writablePath = paths[0] - return writablePath.appending("/\(filePath)") - } - - func startCall(adress: Address) { - XCTContext.runActivity(named: "\(description) : Start calling \(adress.username)") { _ in - do { - let params = try mCore.createCallParams(call: nil) - params.mediaEncryption = MediaEncryption.None - params.recordFile = makeRecordFilePath() - let _ = mCore.inviteAddressWithParams(addr: adress, params: params) - } catch { NSLog(error.localizedDescription) } - } - - } - - func terminateCall() { - XCTContext.runActivity(named: "\(description) : End call") { _ in - do { - if (mCore.callsNb == 0) { return } - let coreCall = (mCore.currentCall != nil) ? mCore.currentCall : mCore.calls[0] - if let call = coreCall { - try call.terminate() - } - } catch { NSLog(error.localizedDescription) } - } - } - - func acceptCall() { - XCTContext.runActivity(named: "\(description) : Accept call from \(mAuthInfo.username)") { _ in - // IMPORTANT : Make sure you allowed the use of the microphone (see key "Privacy - Microphone usage description" in Info.plist) ! - do { - // if we wanted, we could create a CallParams object - // and answer using this object to make changes to the call configuration - // (see OutgoingCall tutorial) - try mCore.currentCall?.accept() - } catch { NSLog(error.localizedDescription) } - } - } - - func toggleMicrophone() { - // The following toggles the microphone, disabling completely / enabling the sound capture - // from the device microphone - mCore.micEnabled = !mCore.micEnabled - } - - func toggleSpeaker() { - // Get the currently used audio device - let currentAudioDevice = mCore.currentCall?.outputAudioDevice - let speakerEnabled = currentAudioDevice?.type == AudioDevice.Kind.Speaker - - let test = currentAudioDevice?.deviceName - // We can get a list of all available audio devices using - // Note that on tablets for example, there may be no Earpiece device - for audioDevice in mCore.audioDevices { - - // For IOS, the Speaker is an exception, Linphone cannot differentiate Input and Output. - // This means that the default output device, the earpiece, is paired with the default phone microphone. - // Setting the output audio device to the microphone will redirect the sound to the earpiece. - if (speakerEnabled && audioDevice.type == AudioDevice.Kind.Microphone) { - mCore.currentCall?.outputAudioDevice = audioDevice - return - } else if (!speakerEnabled && audioDevice.type == AudioDevice.Kind.Speaker) { - mCore.currentCall?.outputAudioDevice = audioDevice - return - } - /* If we wanted to route the audio to a bluetooth headset - else if (audioDevice.type == AudioDevice.Type.Bluetooth) { - core.currentCall?.outputAudioDevice = audioDevice - }*/ - } - } - - func toggleVideo() { - do { - if (mCore.callsNb == 0) { return } - let coreCall = (mCore.currentCall != nil) ? mCore.currentCall : mCore.calls[0] - if let call = coreCall { - let params = try mCore.createCallParams(call: call) - params.videoEnabled = !(call.currentParams!.videoEnabled) - try call.update(params: params) - } - } catch { NSLog(error.localizedDescription) } - } - - func toggleCamera() { - do { - let currentDevice = mCore.videoDevice - for camera in mCore.videoDevicesList { - if (camera != currentDevice && camera != "StaticImage: Static picture") { - try mCore.setVideodevice(newValue: camera) - break - } - } - } catch { NSLog(error.localizedDescription) } - } - - func pauseCall() { - do { - if (mCore.callsNb == 0) { return } - let coreCall = (mCore.currentCall != nil) ? mCore.currentCall : mCore.calls[0] - try coreCall!.pause() - } catch { NSLog(error.localizedDescription) } - } - - func resumeCall() { - do { - if (mCore.callsNb == 0) { return } - let coreCall = (mCore.currentCall != nil) ? mCore.currentCall : mCore.calls[0] - try coreCall!.resume() - } catch { NSLog(error.localizedDescription) } - } - - func startRecording() { - mCore.currentCall?.startRecording() - } - - func stopRecording() { - mCore.currentCall?.stopRecording() - } - - func waitForRegistrationState(registrationState: RegistrationState, timeout: TimeInterval) { - let expectation = XCTestExpectation(description: "registration state is successfully : \(registrationState)") - XCTContext.runActivity(named: "Waiting for registration state : \(registrationState)") { _ in - if (registrationState == self.registrationState) { return} - let registeredDelegate = AccountDelegateStub(onRegistrationStateChanged: { (account: Account, state: RegistrationState, message: String) in - if (registrationState == state) { - expectation.fulfill() - } - }) - self.mCore.defaultAccount!.addDelegate(delegate: registeredDelegate) - let result = XCTWaiter().wait(for: [expectation], timeout: timeout) - self.mCore.defaultAccount!.removeDelegate(delegate: registeredDelegate) - XCTAssert(result == .completed, "\"\(registrationState)\" registration state still not verified after \(timeout) seconds") - } - } - - func waitForCallState(callState: Call.State, timeout: TimeInterval) { - let expectation = XCTestExpectation(description: "call state is successfully : \(callState)") - XCTContext.runActivity(named: "Waiting for call state : \(callState)") { _ in - if (callState == self.callState) { return} - let callStateDelegate = CoreDelegateStub(onCallStateChanged: { (lc: Core, call: Call, state: Call.State, message: String) in - if (callState == state) { - expectation.fulfill() - } - }) - self.mCore.addDelegate(delegate: callStateDelegate) - let result = XCTWaiter().wait(for: [expectation], timeout: timeout) - self.mCore.removeDelegate(delegate: callStateDelegate) - XCTAssert(result == .completed, "\"\(callState)\" call state still not verified after \(timeout) seconds") - } - } - - func waitForRecordingState(recording: Bool, onRemote: Bool = false, timeout: TimeInterval) { - XCTContext.runActivity(named: "Waiting for call recording state : \(recording)") { _ in - var result = XCTWaiter.Result.timedOut - for _ in 0...Int(timeout) { - if (!onRemote && recording == mCore.currentCall?.params?.isRecording) { - result = .completed - break - } - if (onRemote && recording == mCore.currentCall?.remoteParams?.isRecording) { - result = .completed - break - } - _ = XCTWaiter().wait(for: [XCTestExpectation()], timeout: 1) - } - let remoteText = onRemote ? "remote" : "" - XCTAssert(result == .completed, "\(remoteText) call recording is still not \(recording) after \(timeout) seconds") - } - } - -} diff --git a/UITests/Methods/UITestsScreenshots.swift b/UITests/Methods/UITestsScreenshots.swift deleted file mode 100644 index 15fbdc5f7..000000000 --- a/UITests/Methods/UITestsScreenshots.swift +++ /dev/null @@ -1,778 +0,0 @@ -import SwiftUI -import XCTest - -extension XCUIElement { - private static var _representation = [String:UITestsScreenshots]() - - // hack to add variable in extensions - var representation: UITestsScreenshots { - get { - let tmpAddress = String(format: "%p", unsafeBitCast(self, to: Int.self)) - if (XCUIElement._representation[tmpAddress] == nil) { - XCUIElement._representation[tmpAddress] = UITestsScreenshots(element: self) - } - return XCUIElement._representation[tmpAddress]! - } - } -} - -extension XCUIApplication { - private static var _representationWithElement = UITestsAppRepresentation() - - var representationWithElements: UITestsAppRepresentation { - get { - return XCUIApplication._representationWithElement - } - } -} - -class UITestsAppRepresentation : UITestsScreenshots { - - var mainView: XCUIElement - var otherElement: XCUIElement? - private let statusBar: XCUIElement - private let tabBar: XCUIElement - private let app = XCUIApplication() - - private(set) var allVariations = [[String](),[String](),[String](),[String]()] - - private static var backup: [String:(XCUIElement,XCUIElement?,[[String]])] = [:] - - private var elementsDescription = "" - override var description: String { - get { - let description = super.description + " (definition = " + elementsDescription + ")" - elementsDescription = "" - return description - } - } - - init() { - self.mainView = app.dialerView - self.statusBar = app.statusBar - self.tabBar = app.tabBar - super.init(element: app) - } - - func withElementVariations(mainView: [String], statusBar: [String], tabBar: [String], other: [String] = []) -> UITestsAppRepresentation { - allVariations = [mainView, statusBar, tabBar, other] - return self - } - - func updateElementVariations(mainView: [String], statusBar: [String], tabBar: [String], other: [String] = []) -> UITestsAppRepresentation { - allVariations[0] += mainView - allVariations[1] += statusBar - allVariations[2] += tabBar - allVariations[3] += other - return self - } - - override func convertForComparaison(screenshot: UIImage) -> UIImage { - let elements = getElements() - if (svgManager.rects["mask"] == nil) {_=svgManager.parse()} - _=elements.map{ - if ($0 != nil) { - if ($0!.representation.svgManager.rects["mask"] == nil) {_=$0!.representation.svgManager.parse()} - svgManager.rects["mask"]! += $0!.representation.svgManager.rects["mask"]! - } - } - return super.convertForComparaison(screenshot: screenshot) - } - - override func getReference() -> UIImage? { - UIGraphicsBeginImageContextWithOptions(UITestsScreenshots.screenSize, false, 1) - guard (super.getReference()?.draw(at: CGPoint(x: 0, y: 0)) != nil) else {return nil} - let elements = getElements() - for i in 0.. [XCUIElement?]{ - return [mainView,statusBar,tabBar,otherElement].map {($0 != nil && self.element.frame.contains($0!.frame)) ? $0! : nil} - } - - func makeBackup(named: String) { - UITestsAppRepresentation.backup[named] = (mainView,otherElement,allVariations) - } - - func reloadBackup(named: String) -> UITestsAppRepresentation { - if let backup = UITestsAppRepresentation.backup[named] { - mainView = backup.0 - allVariations = backup.2 - otherElement = backup.1 - UITestsAppRepresentation.backup.removeValue(forKey: named) - } else { - XCTFail("unable to find an app representation backup named \"\(named)\"") - } - return self - } - -} - -class UITestsScreenshots { - - static let screenshotDelay: TimeInterval = 0.5 - static let pixelTreshold: Int = 3 - static let colorTreshold: Int = 3 - static let screenSize: CGSize = { - var size = XCUIApplication().frame.size - let scaleFactor = 3.0 - size.width.scale(by: scaleFactor) - size.height.scale(by: scaleFactor) - return size - }() - static let defaultPath: String = { - let path = #filePath - return String(path.prefix(path.distance(from: path.startIndex, to: path.range(of: "UITests")!.lowerBound) + "UITests/".count)) + "Screenshots/" - }() - internal var description: String { - get { - return viewName + (variations.isEmpty ? "" : "||\(variations.joined(separator: ","))") - } - } - private(set) var debugHistory: String = "" - - internal let element: XCUIElement - private var _svgManager: SVGManager? - internal var svgManager: SVGManager { - get{ - if (_svgManager == nil) {_svgManager = SVGManager(path: "\(UITestsScreenshots.defaultPath + viewName).svg")} - return _svgManager! - } - } - internal var _viewName: String? - var viewName: String { - get { - if (_viewName == nil) { - _viewName = element.identifier - if (_viewName!.isEmpty) {_viewName = element.label} //for elements wich don't have identifier - debugHistory = "UITestsScreenshots : \(_viewName!) : " - } - return _viewName! - } - } - private(set) var variations = [String]() - - init(element: XCUIElement) { - self.element = element - } - - // public functions - - func withVariations(named: [String]) -> UITestsScreenshots { - variations = named - debugHistory += " with varitions named \"\(named.joined(separator: "\", \""))\" -> " - return self - } - - func make(after time: TimeInterval = screenshotDelay) { - XCTContext.runActivity(named: "Make \"\(viewName)\" reference screenshot") { context in - debugHistory += "make reference -> " - guard checkVariationNonDefinition(), referenceExist(expectedValue: false), var screenshot = takeScreenshot(after: time) else {return} - saveImage(image: screenshot, path: getPath(name: viewName)) - svgManager.createFile(referenceName: viewName, referenceArea: getElementArea(), svgSize: UITestsScreenshots.screenSize) - screenshot = UITestsScreenshots.imageInScreenAcrea(image: screenshot, area: getElementArea()) - let preview = UITestsScreenshots.createPreview(title: "Reference", image: screenshot) - context.add(UITestsScreenshots.createAttachement(image: preview, name: description)) - debugHistory += "done." - } - } - - func reMake(after time: TimeInterval = screenshotDelay) { - XCTContext.runActivity(named: "Remake \"\(viewName)\" reference screenshot") { context in - debugHistory += "re make reference -> " - guard referenceImagesExist(names: [viewName]+variations, expectedValue: true), var screenshot = takeScreenshot(after: time) else {return} - _ = (variations.isEmpty ? [viewName] : variations).map{ - saveImage(image: screenshot, path: getPath(name: $0)) - _ = svgManager.updateImage(name: $0, area: getElementArea()) - } - screenshot = UITestsScreenshots.imageInScreenAcrea(image: screenshot, area: getElementArea()) - let preview = UITestsScreenshots.createPreview(title: "Reference", image: screenshot) - context.add(UITestsScreenshots.createAttachement(image: preview, name: description)) - debugHistory += "done." - XCTFail("\"\(#function)\" is a temporary function, you can't succeed a test with it\nafter remaking a reference you have to use \"check()\" if you want to compare") - } - } - - func check(after time: TimeInterval = screenshotDelay) { - XCTContext.runActivity(named: "Check \"\(viewName)\" screenshot with his reference") { context in - debugHistory += "compare screenshot to reference -> " - guard var screenshot = takeScreenshot(after: time), let reference = getReference() else {return} - screenshot = convertForComparaison(screenshot: screenshot) - guard let variances = UITestsScreenshots.getVarianceAreas(reference, screenshot) else {return} - if (!variances.areas.isEmpty) { - let errorMsg = "variances found with the reference view in \(variances.areas.count) areas." - debugHistory += errorMsg - XCTFail(errorMsg) - } else { - debugHistory += "done." - } - let preview = UITestsScreenshots.comparativePreview(reference: reference, screenshot: screenshot, difference: variances.image, areas: variances.areas) - context.add(UITestsScreenshots.createAttachement(image: preview, name: description)) - - } - } - - func addNewVariation(named name: String, after time: TimeInterval = screenshotDelay) { - XCTContext.runActivity(named: "Add \"\(viewName)\" reference screenshot new varation named \(name)") { context in - debugHistory += "add variances to a new variation named \(name) -> " - guard referenceImagesExist(names: [name], expectedValue: false), let screenshot = takeScreenshot(after: time), let reference = getReference() else {return} - guard let variances = UITestsScreenshots.getVarianceAreas(reference, convertForComparaison(screenshot: screenshot)) else {return} - guard !variances.areas.isEmpty else { - XCTFail(debugHistory + "error! : no variances found with the reference view") - return - } - saveImage(image: screenshot, path: getPath(name: name)) - _ = svgManager.addVariation(referenceName: viewName, name: name, area: getElementArea(), rects: variances.areas) - let preview = UITestsScreenshots.variationPreview(reference: reference, areas: variances.areas) - context.add(UITestsScreenshots.createAttachement(image: preview, name: description)) - debugHistory += "done." - } - } - - func addNewFilterVariation(named name: String, color: UIColor, areas: [CGRect]) { - XCTContext.runActivity(named: "Add \"\(viewName)\" reference screenshot new filter varation named \(name)") { context in - let size = UITestsScreenshots.screenSize - UIGraphicsBeginImageContextWithOptions(size, false, 1) - color.setFill() - UIRectFillUsingBlendMode(CGRect(x: 0, y: 0, width: size.width, height: size.height), .normal) - let image = UIGraphicsGetImageFromCurrentImageContext()! - UIGraphicsEndImageContext() - saveImage(image: image, path: getPath(name: name)) - _ = svgManager.addVariation(referenceName: viewName, name: name, area: getElementArea(), rects: areas) - context.add(UITestsScreenshots.createAttachement(image: image, name: description)) - debugHistory += "done." - } - } - - func addToMask(after time: TimeInterval = screenshotDelay) { - XCTContext.runActivity(named: "Add new areas to \"\(viewName)\" mask") { context in - debugHistory += "add variances to mask -> " - guard let screenshot = takeScreenshot(after: time), let reference = getReference() else {return} - guard let variances = UITestsScreenshots.getVarianceAreas(reference, convertForComparaison(screenshot: screenshot)) else {return} - guard !variances.areas.isEmpty else { - XCTFail(debugHistory + "error! : no variances found with the reference view") - return - } - _ = svgManager.addToMask(rects: variances.areas) - let preview = UITestsScreenshots.variationPreview(reference: reference, areas: variances.areas) - context.add(UITestsScreenshots.createAttachement(image: preview, name: description)) - debugHistory += "done." - } - } - - func isAnimated(timeInterval: TimeInterval) { - XCTContext.runActivity(named: "Check \"\(viewName)\" animation") { context in - debugHistory += "check if element is animated -> " - if (takeScreenshot(after: UITestsScreenshots.screenshotDelay)?.pngData() == takeScreenshot(after: timeInterval)?.pngData()) { - XCTFail("no animation detected for \"\(viewName)\"") - } - debugHistory += "done." - } - } - - func takeScreenshot(after time: TimeInterval) -> UIImage? { - XCTContext.runActivity(named: "take screenshot") { context in - debugHistory += "take screenshot -> " - _=XCTWaiter.wait(for: [XCTestExpectation()], timeout: time) - return UIImage(data: element.screenshot().pngRepresentation) - } - } - - func getReference() -> UIImage? { - debugHistory += "get reference -> " - guard svgManager.parse(withVariations: variations), referenceImagesExist(names: [viewName]+variations, expectedValue: true) == true else {return nil} - let filePaths = [getPath(name: viewName)]+variations.map{getPath(name: $0)} - let imagesName = [viewName] + variations.map{viewName+"_"+$0} - var images = [UIImage]() - for i in 0...imagesName.count-1 { - let image = getImage(path: filePaths[i])! - let area = svgManager.images[imagesName[i]]!.area - var clip = [CGRect]() - if (i>0) {clip = svgManager.rects[variations[i-1]]!} - images.append(UITestsScreenshots.imageInScreenAcrea(image: image, area: area, clip: clip)) - - } - - UIGraphicsBeginImageContextWithOptions(UITestsScreenshots.screenSize, false, 1) - _ = images.map{$0.draw(at: CGPoint(x: 0,y: 0))} - let reference = UIGraphicsGetImageFromCurrentImageContext()! - UIGraphicsEndImageContext() - return imageWithMask(image: reference, mask: svgManager.rects["mask"]!) - } - - //create attachement to return when calling public functions - - static func createAttachement(image: UIImage, name: String, lifetime: XCTAttachment.Lifetime = .deleteOnSuccess) -> XCTAttachment { - let attachment = XCTAttachment(image: image) - attachment.lifetime = lifetime - attachment.name = name - return attachment - } - - //image operations to prepare comparison - - static func imageInScreenAcrea(image: UIImage, area: CGRect, clip: [CGRect] = []) -> UIImage { - UIGraphicsBeginImageContextWithOptions(UITestsScreenshots.screenSize, false, 1) - if (!clip.isEmpty) {UIGraphicsGetCurrentContext()!.clip(to: clip)} - image.draw(at: CGPoint(x: area.minX, y: area.minY)) - let screenImage = UIGraphicsGetImageFromCurrentImageContext()! - UIGraphicsEndImageContext() - return screenImage - } - - static func setBackground(image: UIImage, color: UIColor) -> UIImage { - let size = UITestsScreenshots.screenSize - UIGraphicsBeginImageContextWithOptions(size, false, 1) - color.setFill() - UIRectFill(CGRect(x: 0, y: 0, width: size.width, height: size.height)) - image.draw(at: CGPoint(x: 0,y: 0)) - let newImage = UIGraphicsGetImageFromCurrentImageContext()! - UIGraphicsEndImageContext() - return newImage - } - - internal func imageWithMask(image: UIImage, mask: [CGRect]) -> UIImage { - UIGraphicsBeginImageContextWithOptions(UITestsScreenshots.screenSize, false, 1) - image.draw(at: CGPoint(x: 0, y: 0)) - _ = mask.map{UIRectFill($0)} - let maskedImage = UIGraphicsGetImageFromCurrentImageContext()! - UIGraphicsEndImageContext() - return maskedImage - } - - func convertForComparaison(screenshot: UIImage) -> UIImage { - var area = getElementArea() - if (svgManager.rects["mask"] == nil) {_=svgManager.parse()} - var image = UITestsScreenshots.imageInScreenAcrea(image: screenshot, area: area) - image = imageWithMask(image: image, mask: svgManager.rects["mask"]!) - return image - } - - func getElementArea() -> CGRect { - XCTContext.runActivity(named: "get element coordinates") { _ in - let area = element.frame - let rect = CGRect(x: area.minX*3, y: area.minY*3, width: area.width*3, height: area.height*3) - return rect - } - } - - //comparison functions - static func getVarianceAreas(_ image1: UIImage, _ image2: UIImage) -> (image: UIImage, areas: [CGRect])? { - - let margin: CGFloat = 20 - let replacementColor: UInt8 = 255 - var areas = [CGRect]() - - //compare images - UIGraphicsBeginImageContextWithOptions(image1.size, false, 1) - setBackground(image: image1, color: UIColor.black).draw(at: CGPoint(x: 0, y: 0)) - setBackground(image: image2, color: UIColor.black).draw(at: CGPoint(x: 0, y: 0), blendMode: .difference, alpha: 1) - let image = UIGraphicsGetImageFromCurrentImageContext()! - UIGraphicsEndImageContext() - - //findRects - let exeptMsg = "error! : unexpected error during image conversion for comparison" - guard let inputCGImage = image.cgImage else { - XCTFail(exeptMsg) - return nil - } - - let colorSpace = CGColorSpaceCreateDeviceGray() - let width = inputCGImage.width - let height = inputCGImage.height - let bytesPerPixel = 1 - let bitsPerComponent = 8 - let bytesPerRow = bytesPerPixel * width - let bitmapInfo = CGImageAlphaInfo.none.rawValue - - guard let context = CGContext(data: nil, width: width, height: height, bitsPerComponent: bitsPerComponent, bytesPerRow: bytesPerRow, space: colorSpace, bitmapInfo: bitmapInfo) else { - XCTFail(exeptMsg) - return nil - } - context.draw(inputCGImage, in: CGRect(x: 0, y: 0, width: width, height: height)) - - guard let buffer = context.data else { - XCTFail(exeptMsg) - return nil - } - - let pixelBuffer = buffer.bindMemory(to: UInt8.self, capacity: width * height) - - var rects: [Int:[CGRect]] = [:] - - for row in 0 ..< Int(height) { - for column in 0 ..< Int(width) { - let offset = row * width + column - if (pixelBuffer[offset] > UInt8(colorTreshold)) { - pixelBuffer[offset] = replacementColor - let point = CGPoint(x: column, y: row) - - var rect = CGRect(x: point.x, y: point.y, width: 1, height: 1) - for i in 0...1 { - if let prevRects = rects[row-i] { - for j in 0..= CGFloat(pixelTreshold) && rect.height >= CGFloat(pixelTreshold)) { - areas.append(rect) - } - mergeCloseAreas(&areas, withMargin: margin) - - } - } - } - - let diff = UIImage(cgImage: (CGContext(data: pixelBuffer, width: width, height: height, bitsPerComponent: bitsPerComponent, bytesPerRow: bytesPerRow, space: colorSpace, bitmapInfo: bitmapInfo)?.makeImage())!) - return (diff,areas) - } - - private static func mergeCloseAreas(_ areas: inout [CGRect], withMargin margin: CGFloat) { - guard (areas.count >= 1) else {return} - let areaSize = areas.count - for i in 1...areaSize { - if (i != 1 && areas.last!.intersects(areas[areaSize-i].insetBy(dx: -margin, dy: -margin))) { - areas[areas.count-1] = areas.last!.union(areas[areaSize-i]) - areas.remove(at: areaSize-i) - mergeCloseAreas(&areas, withMargin: margin) - break - } - } - } - - //preview functions - - static func comparativePreview(reference: UIImage, screenshot: UIImage, difference: UIImage, areas: [CGRect]) -> UIImage { - let realPreview = createPreview(title: "Real", image: screenshot, areas: areas, strokeColor: UIColor.red) - let refPreview = createPreview(title: "Reference", image: reference, areas: areas, strokeColor: UIColor.red) - let difPreview = createPreview(title: "Difference", image: difference) - return createPreviewTable(images: refPreview,realPreview,difPreview) - } - - static func variationPreview(reference: UIImage, areas: [CGRect]) -> UIImage { - let variationPreview = createPreview(title: "Reference", image: reference, areas: areas, fillColor: UIColor.blue.withAlphaComponent(0.3),strokeColor: UIColor.blue) - return variationPreview - } - - static func createPreviewTable(images: UIImage...) -> UIImage { - let sideMargin: CGFloat = 6 - let imageSize = images.first!.size - let globalSize = CGSize(width: (imageSize.width+sideMargin)*CGFloat(images.count), height: imageSize.height+sideMargin) - UIGraphicsBeginImageContextWithOptions(globalSize, false, 1) - - for i in 0...images.count-1 { - images[i].draw(at: CGPoint(x: CGFloat(i)*(imageSize.width+sideMargin), y: sideMargin)) - } - - let tableImage = UIGraphicsGetImageFromCurrentImageContext()! - UIGraphicsEndImageContext() - return tableImage - } - - static func createPreview(title: String, image: UIImage, areas: [CGRect] = [], fillColor: UIColor? = nil, strokeColor: UIColor? = nil) -> UIImage { - let lineWidth: CGFloat = 3 - let bottomMargin = image.size.height*0.05 - let allSize = CGSize(width: image.size.width + lineWidth*2, height: image.size.height + bottomMargin + lineWidth*2) - - UIGraphicsBeginImageContextWithOptions(allSize, false, 1) - - //image - image.draw(at: CGPoint(x: lineWidth, y: lineWidth), blendMode: .normal, alpha: 1) - - //rects - UIGraphicsGetCurrentContext()?.setLineWidth(lineWidth) - for area in areas { - let newArea = area.offsetBy(dx: lineWidth, dy: lineWidth) - if (fillColor != nil) { - fillColor?.setFill() - UIRectFillUsingBlendMode(newArea,.normal) - } - if (strokeColor != nil) { - strokeColor?.setStroke() - UIRectFrameUsingBlendMode(newArea.insetBy(dx: -3, dy: -3),.normal) - } - } - - //title - let textFont = UIFont(name: "Helvetica Bold", size: bottomMargin/2) ?? UIFont() - let textStyle=NSMutableParagraphStyle() - textStyle.alignment=NSTextAlignment.center - let textColor = UIColor.black - let textAttributes = [NSAttributedString.Key.font: textFont, NSAttributedString.Key.paragraphStyle: textStyle, NSAttributedString.Key.foregroundColor: textColor] as [NSAttributedString.Key : Any] - let text_h = textFont.lineHeight - let text_y = allSize.height-bottomMargin + (bottomMargin-text_h)/2 - let text_rect = CGRect(x: 0, y: text_y, width: allSize.width, height: bottomMargin) - title.draw(in: text_rect, withAttributes: textAttributes) - - let preview = UIGraphicsGetImageFromCurrentImageContext()! - UIGraphicsEndImageContext() - return preview - } - - //util functions - - private func referenceExist(expectedValue: Bool) -> Bool { - guard (FileManager.default.fileExists(atPath: svgManager.path) == expectedValue) else { - XCTFail(debugHistory + "error! : \(svgManager.path+(expectedValue ? " does not" : " already")) exist") - return false - } - return true - } - - private func referenceImagesExist(names: [String], expectedValue: Bool) -> Bool { - guard svgManager.parse() else {return false} - for name in names { - let realName = viewName + (name != viewName ? "_"+name : "") - if ((svgManager.images[realName] == nil) == expectedValue) { - XCTFail(debugHistory + "error! : \(realName) image \(expectedValue ? "does not" : "already") exist") - return false - } - } - return true - } - - private func checkVariationNonDefinition(caller: String = #function) -> Bool { - guard variations.isEmpty else { - XCTFail(debugHistory + "error : \"\(caller)\" function works only for views, not for views variations") - return false - } - return true - } - - //disk operation functions - - private func getPath(name: String) -> String{ - return "\(UITestsScreenshots.defaultPath)images/\(viewName+((name != viewName) ? "_"+name : "")).png" - } - - private func saveImage(image: UIImage, path: String) { - guard let data = image.pngData() else { - XCTFail("error != unable to save image at \(path)") - return - } - do { - try data.write(to: URL(fileURLWithPath: path)) - } catch { - NSLog(error.localizedDescription) - XCTFail(debugHistory + "error != unable to save image at \(path)") - } - } - - private func getImage(path: String) -> UIImage? { - guard let image = UIImage(contentsOfFile: path) else { - XCTFail(debugHistory + "error != unable to get image at \(path)") - return nil - } - return image - } - -} - - -class SVGManager : NSObject { - var path: String - var parentPath: String - var rects: [String : [CGRect]] = [:] - var images: [String : (area: CGRect, line: Int)] = [:] - private var parser: XMLParser? - private var current: String? - - private var defaultMask = [CGRect(x: 376, y: 2492, width: 418, height: 16)] - - private var referenceStart: Int? - private var maskStart: Int? - private var clipPathStart: Int? - private var variationsStart: Int? - private var selectedVariationStarts: [String : Int]? - - init(path: String) { - self.path = path - let index = path.lastIndex(of: "/") - self.parentPath = (index != nil) ? String(path.prefix(path.distance(from: path.startIndex, to: index!)+1)) : "" - - } - - func svgRect(_ rect: CGRect, lock: Bool) -> String { - return "" - } - - func svgImage(name: String, area: CGRect, lock: Bool) -> String { - return "" - } - - func createFile(referenceName name: String, referenceArea area: CGRect, svgSize: CGSize) { - let width = svgSize.width - let height = svgSize.height - var content = [String]() - content.append("") - content.append("") - content.append(" \(svgImage(name: name, area: area, lock: true))") - content.append("") - content.append("\n \n") - content.append("") - content.append("") - _ = defaultMask.map{content.append(" \(svgRect($0, lock: true))")} - content.append("") - content.append("") - let svg = content.joined(separator: "\n") - try! svg.write(toFile: path, atomically: true, encoding: String.Encoding.utf8) - } - - func updateImage(name: String, area: CGRect) -> Bool { - guard parse(), images[name] != nil else {return false} - - var svgData = try! String(contentsOf: URL(fileURLWithPath: path)).split(separator: "\n") - var lineIndex = images[name]!.line-1 - var line = svgData[lineIndex] - while line.firstIndex(of: "<") == nil { - svgData.remove(at: lineIndex) - lineIndex += -1 - line = svgData[lineIndex] - } - svgData[lineIndex] = line.prefix(line.distance(from: line.startIndex, to: line.firstIndex(of: "<")!)) + Substring(svgImage(name: name, area: area, lock: true)) - try! String(svgData.joined(separator: "\n")).write(toFile: path, atomically: true, encoding: String.Encoding.utf8) - return true - } - - func addToMask(rects: [CGRect]) -> Bool { - guard parse() else {return false} - var content = "" - for rect in rects { - content += "\(svgRect(rect, lock: false))\n" - } - svgInsert(content, at: maskStart!) - return true - } - - func addVariation(referenceName: String, name: String, area: CGRect, rects: [CGRect]) -> Bool { - guard parse() else {return false} - - var content = "\n" - content += " \(svgImage(name: "\(referenceName)_\(name)", area: area, lock: true))\n" - for rect in rects { - content += " \(svgRect(rect, lock: false))\n" - } - content += "\n" - svgInsert(content, at: variationsStart!) - - content = "" - svgInsert(content, at: clipPathStart!, parentElement: "clipPath") - return true - } - - //if some variations are delete with a svg editor like Inkscape, this variations are copied in the clipPath wich break some functionalities. - //this function is called at eeach parse to clean the clipPath if needed. - func removeClipPathAnomalies() { - guard (clipPathStart ?? 0 < (variationsStart ?? 0 )-2) else {return} - var svgData = try! String(contentsOf: URL(fileURLWithPath: path)).split(separator: "\n") - var index = clipPathStart! - var use = false - var line = svgData[index] - while !line.contains("") && !line.contains("") { - if (use == true) { - if (line.contains("/>")) {use = false} - } else { - if (line.range(of: " Bool { - rects["mask"] = [] - _ = headers.map{rects[$0] = []} - parser = XMLParser(contentsOf: URL(fileURLWithPath: path)) - guard (parser != nil) else {return false} - parser!.delegate = self - parser!.parse() - removeClipPathAnomalies() - return true - } - - func svgInsert(_ content: String, at index: Int, parentElement: String = "g") { - var svgData = try! String(contentsOf: URL(fileURLWithPath: path)).split(separator: "\n") - let line = svgData[index-1] - let prefix = line.prefix(line.distance(from: line.startIndex, to: line.firstIndex(of: "<") ?? line.startIndex)) - if (line.suffix(2) == "/>") { - svgData[index-1] = line.prefix(line.count-2)+">" - svgData.insert(prefix+"", at: index) - } - svgData.insert(prefix+Substring(" "+content), at: index) - - try! String(svgData.joined(separator: "\n")).write(toFile: path, atomically: true, encoding: String.Encoding.utf8) - } -} - -extension SVGManager : XMLParserDelegate { - - func parser(_ parser: XMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String : String] = [:]) { - - if (elementName == "g") { - if (rects[attributeDict["id"] ?? ""] != nil) { - current = attributeDict["id"] - } - if (attributeDict["id"] == "reference") { - referenceStart = parser.lineNumber - } else if (attributeDict["id"] == "mask") { - maskStart = parser.lineNumber - } else if (attributeDict["id"] == "variations") { - variationsStart = parser.lineNumber - } - } - - if (elementName == "clipPath" && attributeDict["id"] == "clipPath") { - clipPathStart = parser.lineNumber - } - - if (elementName == "rect" && current != nil) { - if current != nil { rects[current!]?.append(getRect(attributes: attributeDict))} - } - - if (elementName == "image") { - guard var imageName = attributeDict["xlink:href"] else {return} - guard FileManager.default.fileExists(atPath: imageName) || FileManager.default.fileExists(atPath: parentPath+imageName) else { - return - } - imageName = String(imageName.suffix(imageName.distance(from: imageName.lastIndex(of: "/") ?? imageName.startIndex, to: imageName.endIndex)-1)) - imageName = String(imageName.prefix(imageName.distance(from: imageName.startIndex, to: imageName.lastIndex(of: ".") ?? imageName.endIndex))) - images[imageName] = (getRect(attributes: attributeDict),parser.lineNumber) - } - } - - func parser(_ parser: XMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?) { - if (elementName == "g") { - current = nil - } - } - - private func getRect(attributes: [String:String]) -> CGRect { - var values = [Int]() - for header in ["x","y","width","height"] { - if let val = NumberFormatter().number(from: attributes[header] ?? "0") { - values.append(Int(truncating: val)) - } - } - return CGRect(x: values[0], y: values[1], width: values[2], height: values[3]) - } -} diff --git a/UITests/Methods/UITestsUtils.swift b/UITests/Methods/UITestsUtils.swift deleted file mode 100644 index 30fae7ca1..000000000 --- a/UITests/Methods/UITestsUtils.swift +++ /dev/null @@ -1,204 +0,0 @@ -import XCTest - -// -// Definition of some main views usually used in tests. -// -// Real utility in order to have more explicit test failed reports when child elements -// are defined with them. When an element will be not find, the error message will specify -// if it was because of the element non-display or its parent view non-display. -// -// It Allow to really simplify the screenshot comparison too. -// - -extension XCUIApplication { - - private static let _phoneView = XCUIApplication().descendants(matching: .other)["phone_view"] - private static let _mainView = _phoneView.otherElements["main_view"] - - var phoneView: XCUIElement {get{return XCUIApplication._phoneView}} - - //SubViews - private static let _callStatsView = _activeCallView.otherElements["call_stats_view"] - private static let _extraMenuView = _activeCallView.otherElements["active_call_extra_buttons_view"] - private static let _numpadCallView = _activeCallView.otherElements["call_numpad_view"] - private static let _pauseCallView = _activeCallView.otherElements["paused_call_view"] - - var callStatsView: XCUIElement {get{return XCUIApplication._callStatsView}} - var extraMenuView: XCUIElement {get{return XCUIApplication._extraMenuView}} - var numpadCallView: XCUIElement {get{return XCUIApplication._numpadCallView}} - var pauseCallView: XCUIElement {get{return XCUIApplication._pauseCallView}} - - //MainViews - private static let _activeCallView = _mainView.otherElements["active_call_view"] - private static let _assistantLinkView = _mainView.otherElements["assistant_link_view"] - private static let _assistantView = _mainView.otherElements["assistant_view"] - private static let _callView = _mainView.otherElements["IO_call_view"] - private static let _callsListView = _mainView.otherElements["calls_list_view"] - private static let _chatsListView = _mainView.otherElements["chats_list_view"] - private static let _dialerView = _mainView.otherElements["dialer_view"] - private static let _loginView = _mainView.otherElements["assistant_login_view"] - private static let _loginWarningView = _mainView.otherElements["assistant_login_warning_view"] - private static let _settingsView = _mainView.otherElements["settings_view"] - - var activeCallView: XCUIElement {get{return XCUIApplication._activeCallView}} - var assistantLinkView: XCUIElement {get{return XCUIApplication._assistantLinkView}} - var assistantView: XCUIElement {get{return XCUIApplication._assistantView}} - var callView: XCUIElement {get{return XCUIApplication._callView}} - var callsListView: XCUIElement {get{return XCUIApplication._callsListView}} - var chatsListView: XCUIElement {get{return XCUIApplication._chatsListView}} - var dialerView: XCUIElement {get{return XCUIApplication._dialerView}} - var loginView: XCUIElement {get{return XCUIApplication._loginView}} - var loginWarningView: XCUIElement {get{return XCUIApplication._loginWarningView}} - var settingsView: XCUIElement {get{return XCUIApplication._settingsView}} - - //StatusBar - private static let _statusBar = _phoneView.otherElements["status_bar"] - var statusBar: XCUIElement {get{return XCUIApplication._statusBar}} - - //TabBar - private static let _tabBar = _phoneView.otherElements["tab_bar"] - var tabBar: XCUIElement {get{return XCUIApplication._tabBar}} - - //SideMenuView - private static let _sideMenuView: XCUIElement = _phoneView.otherElements["side_menu_view"] - var sideMenuView: XCUIElement {get{return XCUIApplication._sideMenuView}} - - //AlertPopups - private static let _callFailedView: XCUIElement = XCUIApplication().otherElements["call_failed_error_view"] - - var callFailedView: XCUIElement {get{return XCUIApplication._callFailedView}} -} - - - -class UITestsUtils { - static let app = XCUIApplication() - - // function which is launched before every tests to setup - // it checks and fix account connection status and checks the view displayed (Dialer View) - static func testAppSetup() { - if (app.state != .runningForeground && !app.sideMenuView.staticTexts["side_menu_view_sip_adress"].exists) { - app.launch() - } - if (!rightAccountConnected() || !accountIsConnected()) { - deleteApp() // easiest methods to clear configured accounts and reset the app - app.launch() - removeSystemAlerts() // accept all initial permissions - connectAccount() - XCTAssert(accountIsConnected(), "registration state on the Status Bar is still not : Connected after 5 seconds") - } - - //app.representation.reMake() - //app.dialerView.representation.reMake() - app.representationWithElements.mainView = app.dialerView - app.representationWithElements.withElementVariations(mainView: [], statusBar: [], tabBar: []).check() - } - - static func accountIsConnected() -> Bool { - XCTContext.runActivity(named: "Check connection state") { _ in - let connection = app.statusBar.buttons["status_bar_registration_state"] - for i in 1...5 { - if (connection.value as? String == "Connected") {return true} - if (connection.value as? String == "Connecté") {app.launch()} //relauch the app if it is in French to fix (happen when the app is launch manually) - else if (i>1 && connection.value as? String != "Connection in progress") {break} // wait only if connection is in progress - _ = XCTWaiter.wait(for: [XCTestExpectation()], timeout: 1) - } - return false - } - } - - static func rightAccountConnected() -> Bool { - let manager = UITestsCoreManager.instance - return XCTContext.runActivity(named: "Check connected adress") { _ -> Bool in - let sipAdress = "sip:\(manager.appAccountAuthInfo.username)@\(manager.appAccountAuthInfo.domain)" - let sipLabel = app.sideMenuView.staticTexts["side_menu_view_sip_adress"].label - XCTContext.runActivity(named: "expected adress : \(sipAdress) \nfound adress: \(sipLabel)") {_ in} - return sipLabel == sipAdress - } - } - - static func connectAccount() { - let manager = UITestsCoreManager.instance - XCTContext.runActivity(named: "Login \(manager.appAccountAuthInfo.username) in \(app)") { _ in - manager.accountsReset() - - let sideMenu = app.statusBar.buttons["side_menu_button"] - sideMenu.tap() - app.sideMenuView.staticTexts["Settings"].tap() - app.settingsView.staticTexts["Network"].tap() - app.settingsView.tables.cells.containing(.staticText, identifier:"DNS Server").children(matching: .textField).element.fillTextField(manager.dnsServer) - app.settingsView.buttons["settings_view_back"].tap() - - sideMenu.tap() - app.sideMenuView.staticTexts["Assistant"].tap() - app.assistantView.buttons["assistant_view_accept"].tap() - app.assistantView.buttons["assistant_view_sip_login"].tap() - app.loginWarningView.buttons["assistant_login_warning_view_skip"].tap() - app.loginView.textFields["assistant_login_view_username_field"].fillTextField(manager.appAccountAuthInfo.username) - app.loginView.secureTextFields["assistant_login_view_password_field"].fillTextField(manager.appAccountAuthInfo.password) - app.loginView.textFields["assistant_login_view_domain_field"].fillTextField(manager.appAccountAuthInfo.domain) - app.loginView.buttons["TCP"].tap() - app.loginView.buttons["assistant_login_view_login"].tap() - } - } - - static func deleteApp() { - XCTContext.runActivity(named: "Delete \(app)") { _ in - app.terminate() - let springboard = XCUIApplication(bundleIdentifier: "com.apple.springboard") - let linphoneApp = springboard/*@START_MENU_TOKEN@*/.icons["Linphone"]/*[[".otherElements[\"Home screen icons\"]",".icons.icons[\"Linphone\"]",".icons[\"Linphone\"]"],[[[-1,2],[-1,1],[-1,0,1]],[[-1,2],[-1,1]]],[0]]@END_MENU_TOKEN@*/ - if (linphoneApp.waitForExistence(timeout: 2)) { - linphoneApp.press(forDuration: 2) - for i in [2,0,1] { - let button = springboard.buttons.element(boundBy: i) - if (button.exists || button.waitForExistence(timeout: 2)) { - button.tap() - } - } - } - } - } - - static func removeSystemAlerts() { - XCTContext.runActivity(named: "Remove all system alerts \(app)") { _ in - var alertsEnd = false - while (!alertsEnd) { - let springboard = XCUIApplication(bundleIdentifier: "com.apple.springboard") - let alertAllowButton = springboard.buttons.element(boundBy: 1) - if (alertAllowButton.exists || alertAllowButton.waitForExistence(timeout: 3)) { - alertAllowButton.tap() - } else { - alertsEnd = true - } - } - } - } - -} - -// -// Adding some features to XCUIElement like an UITestsScreenshots object called "representaion" -// to simplify the screenshot comparison integration, a custom and complete fillTextFill methods -// and the opposite of the native method XCUIElement.waitForExistence(timeout: TimeInterval) -> Bool -// -extension XCUIElement { - - func fillTextField(_ text: String) { - tap() - let initValue = String(value as? String ?? "") - if (initValue != text) { - let deleteString = (0.. Bool { - let doesNotExistPredicate = NSPredicate(format: "exists == false") - let exept = XCTNSPredicateExpectation(predicate: doesNotExistPredicate, object: self) - let result = XCTWaiter.wait(for: [exept], timeout: timeout) - return result == .completed - } -} - diff --git a/UITests/Screenshots/IO_call_view.svg b/UITests/Screenshots/IO_call_view.svg deleted file mode 100644 index 55297d3d1..000000000 --- a/UITests/Screenshots/IO_call_view.svg +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/UITests/Screenshots/Linphone.svg b/UITests/Screenshots/Linphone.svg deleted file mode 100644 index 43005376b..000000000 --- a/UITests/Screenshots/Linphone.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/UITests/Screenshots/active_call_view.svg b/UITests/Screenshots/active_call_view.svg deleted file mode 100644 index de7508ac2..000000000 --- a/UITests/Screenshots/active_call_view.svg +++ /dev/null @@ -1,369 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/UITests/Screenshots/call_failed_error_view.svg b/UITests/Screenshots/call_failed_error_view.svg deleted file mode 100644 index 975fc24ea..000000000 --- a/UITests/Screenshots/call_failed_error_view.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/UITests/Screenshots/call_numpad_view.svg b/UITests/Screenshots/call_numpad_view.svg deleted file mode 100644 index 2c575de20..000000000 --- a/UITests/Screenshots/call_numpad_view.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/UITests/Screenshots/call_stats_view.svg b/UITests/Screenshots/call_stats_view.svg deleted file mode 100644 index 79361fe94..000000000 --- a/UITests/Screenshots/call_stats_view.svg +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/UITests/Screenshots/dialer_view.svg b/UITests/Screenshots/dialer_view.svg deleted file mode 100644 index 5c17914c8..000000000 --- a/UITests/Screenshots/dialer_view.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/UITests/Screenshots/images/IO_call_view.png b/UITests/Screenshots/images/IO_call_view.png deleted file mode 100644 index bbb76c4e9f19a948fe779f34ceb0287e08763b0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95590 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

~ZYAmX)*x7~beBSr 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%0DX%<|!w;=^UR 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

y9=M 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 diff --git a/UITests/Screenshots/images/Linphone.png b/UITests/Screenshots/images/Linphone.png deleted file mode 100644 index da4517c6532cfd69301fcf1ea2ac3d96996457a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66542 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 DDYe4` diff --git a/UITests/Screenshots/images/active_call_view.png b/UITests/Screenshots/images/active_call_view.png deleted file mode 100644 index 7739b1502619d1d7ca729994bd8a4807d0f6a268..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112269 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Μ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

=A)@Ibamoi4apGYC5rcN>F;RX~cc4Ak_&*879p2 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

( zuWQay9CpSb*J+ZBFHaD#D-2>d&LK?&iw}q9(|4AJ7)c3w4i2#L+tb(jn&VVdAvm6O zis?VA>TZSJ>3?TNk~3-oP58t z<7epS2D-G@O^{_B3#teQJWPru~Vyvr`zzN z=ZCKfk}Rr5OZRZXRj@Y~ytiM5rn0~b&d%HNjHQMtb^BiynG9>ugqSV+&(rc5RsA-SGM5VYzpQpV@EB31MZZ#jtzdX%@0UkTS>b z(t#qU@*9s)KD)f(i*2AnN>@K1e%M|OkB_<7U6HCZh?)4N>7aEplD5&&Hj#LrT(8yI zhJvr`d|IM#6f@$WfqgzR zt3A`n5dRD4S@$fDc_q$wQC-7K{xy-k9Ak7Zxw^1$I-Xdjpw5m)H<)Lu#0r{X-`flt3&#DcB`zQ#pPhRWK9Pum7IE)N^0=0;te?HlHB9kH_Sm(siQ(_lw@(^mMfFawqiPDR3zbXBT0V))xs1ngr-j5 zB87V!d1q&9LSZ{IP_IPk4u2(aT(Th21~mo$`u^i2yg09>RL4>h8s>vfbIEp2dg<6% zT%HsSA5iI`EfKZO{in(*<@1cn?;N;{XxSQZ#3G=`!a4LuAu9Nn56fYGDG|`_Sn$}%hYDgcW48G;IA9K8a?=j;kty!wy;Uh>rdxE9?w3< z5tIop72GX0^y{5*J4G#3HBMIuLt5g;1}O1`J)BSNi#7imi9#{JeGP8Ve6G2M0PE9s z^%XduL8#?k&oP~G+JV=FXZ0fQGBZ+gcNT0FJ9aBP&PTA0#uVl3HH2ZzCti!D%=Es(mw( zEpOhE(f88Hb$wwKCnU$kjdt>!mu^Zf0LL1;r&Q|f(7cuAMfzHJkxymwF=m5Tc!*^| z$W-Z*tf9`BwfW^KWho#gbtNokG7}wBT1VDKm1s067amD6z|Q~Cq5rs`fbL+Nd!esd z=*Xo1@X{hMI?2ve9ZSxrb8VshIA3)#?YeC?WM&Ylp^CjkQqW;T8e7<|U0tIi9ikvC z&zQ{|LCFYrv0A)ik_-|Kry*Y`9VjHSPk<|uffBk*jYA^tsjZ78Qh;rzT^)6U{#;{s za$R9qsP2Y?meg~o=0>=kK2N7N8|3E^AiW&ZZloUy=^d134H1j|#XJ?FBiP(`AOoe7 zMI=V$ph27|@qYlg`wN1!)sxDC1er`MetbCRq5-OB6@-QNqgHAOG`gAz(Oi`pS5(h_ z)j2@F1g&TGPG0`?t>FMCD=yIn^+OoLqXKBh*b0G+x-?{IhiqicKu$`4O%R(A>mBQg zPO4x0iWFhXfjH9V;EZ!~*z=pd19iR=Ho~#5_pD;FI6$9$=zZJoeUo;PD;te5Og{$c zO2Y~KS-WlxFzl1l-1?d>A3`*H4XgHWzCQo6|4R^(1(aKGB;{FZ5Owt@T+WqyjFadu*{4>5_!`0D;=?p=iv-#dyG$K4*N1`t&Ww z81Of7?%(A;8G--P?-^kRSD&flzqf@OC%W=xX_k^Q)7Zm!Sv}puB>4P8V51eKPL;1x zyX?HM`3t{55&PL{^1j%vQJkYuBH=p-|($aa3JR zIJ3A#p%8%dWbtfl2$*k(`Drt1T-O<&a5Lu9?P!IOl!tU45=9#-U|>q%)cSwd4kOOK z0?GQnKYe6HbaX=p80Mzxt9yVlk2%Myi$AFXFl58{IB;F#2i!H`4kWJ*;p%Y6IfDse zTFrY&Ft?9)U&pX}c<#=RzV9>&h*oj4BXTNl1s`vZi_GvYQz89u_De8ZXU37dITFQ{ zz5h@E7Ndy-V}d_T*?auLFim1~Y50$a^5i)G`*wA;^F>h~cqD!phU+VjX={gET&7*5 zmj(sq7SFo1J86rPFbdzFVljR`tR5~^Rho*A_HJ6+DKd7Z&NkQUwNIh{p7Sm)sRpEP=&V- z%AP0T^bosM+;qgHm%p$?O7%NA!qkQgCpCw|`V(>nO8GNd+)^61MyeXmve6(dt#Z4G zFS#MqqhHi%{=qxMpLFLGN?#!k5V24q`IK1^rFfftaSQAn2qe|=O7qif>Ydvdft0Cq znwp|&q><5DUkoN$Qu8siu^&`n2)T;*sol>9U}AMr5qWW9BpbO`;e5VWSqN{~hFt3Np2pk-z1gNsLt za<$3$&hh7~8IaTWC-WHL$3G(n$^a^v_O8N54yX?ES#h_Y-0tLm#k|yrj*?Id!P7*7 zOo?w72PP3?RUY%0k3nE}D?JBk)y}crGC#hRJ&_l_&8y8X16wPjV>?|i5PuVP?XG(u7TBs$)Z}Q#sDpE)9_0(J^qg78g_~HHL9bPjCT1d ztan;YExtn;Us|v7J+I3gy7Ajk9&T1f8*@w3iMvo zm132=@-Nki%v|Y<{ENIa|21Y)j32}wK{gaa_{MB7ySEN#y=efAjUay!d9yz@|D$kW zwn%V&O~vq@Mb5O%R7ZZPfI|CY6$YQPzdaD^aQ$IwhmJtF_4BurYZTq_Joh@z7rD_( z@^q4eC;`Ga#@QuPT+*Zq(|JSf`gW@_8@~T)slR+2V~4?~zlUlIre@&n;(dph_e6Sj zB8+`p06&W_SCmcQ^+X1_u`I*w&W{DO;t3TLj^GD^}F~+^dDIa@j!?f zE)Y5c+~=Jq_4N7EiZXr-Xk)O>nU-$5cqPIt!cfha`cSx1VAO8pSi>gH9*NmfF~aJi z^VUl~e3&082OLI+`Xa*aB-%6Cbcs49k+ZSp)BcNo+KCYMm=0e_R_&xn5xy-}Kn(-2 z$*$3EE%l(za{X*6>zk|pQXN_VV#CNb?e^U62_;(&6;+&b{z+|G;}L;l*Lm;t>5!v( z(|K=B?MHI&?1gk2(oPuwM-<@)x+NWM8XDxWzZAYdPw%Uq4#Kd)xjNlbT7Kq|jvPTz zDF@)f;gihiP(YC}TZ2+qrnA6rK)dXEg!YM^8!)CIucDBUZ9XG`4DZSIouJKc_BWE$i*r-s;@Jhy3RT%>f9@e^4Xf^<{zm zT36>8k_x<{5*LSrRir18Y-egE9F2wyYGtg7@rf*gj<#5J2n9gt#H20Jytw&T8F@IB zOinBi-^@gX^G$7iLdDZcSkrFhcM_Krz~!2auPIebkc1*0c`sbbN~Y?73r|L{eaWR6 z|IL8BogC+$5srF+y2D@?|3fPEhRKKO!-uysh0uM8FL)-~9x_;pFDpPO{-Kk-Ka(t) ze>=Jw!f>v!Oj-N2e97Sba&sjQ-k~T^JhQ88KJ2Rm;t(!)-UWlOX&2ftz&!wd6Z7yVf*;LI!Va5^G)f}0VMYC=jD+keo7^g z-XZv!4YStQlp-39eOr?4={6TI^o^w-;T`GyV&f{hg8N#pe@pAj!!4KDE7-H~&vV>> z^VTVC3`cc3DQ`ix4Fkh3R!`y`cY3V|D*cL>1Z2;)@?UoeaIUs(oz?49ayvme7jPgF z)3GkeilumZx~_y_=gVsRlf!n-{2b6TcY8 zido#}0z6=rsxROWkzxaWhnV2$F`(8y^d(pCs?&ejjf;Tc`r>`FaFJgsj6Ej>lc;8x zA%uf!#3vL9H?o`;Db(zT`0cp!=S+<0EYmxRi-g|1jf zbbwK!SuIH<3o!eBLhFOb8lK86NxoLHbSbr6hL1~~ez{_+^3z0e=%(nUc6(WY%hHlo zi3#5a$>%5v>g$ZE3pf!JQ82@PIl30~;2gKFkK&^uO|RBCU!w!uq(iWsw@qEL3|4sy z}sZ7wTbTBmxf1#*1M)+(8B(?AqD*+al(&Vs_(onl}d3&R4i5{qyd@$KiL8| z?-$x-}WLlL*P+dR95Ul-{3CqK+W|%Ia!~ zS4^6~VyI!x0+O_P!AxN&zhD)0k}&J1=5|@7m9idHA$)aR*rO|42>Uu+b~9q9C>z|f z4S5s;hK~Wf$rubdv2RE1z5+o<<<={t>P?~b@2?WQ0fcs7*;IX*1>@bA1JV2Cx+Jzu zwlW4ixhTlTxRawG7n48}sB49?g2%jF=lDsD+ejc-LaDlyzXr9J*Z!#Bb0pgnTS7wW zBl4$5J~)!_zf6fffLB^CXdd7~Gr^r8+$VjJ377?&OB*avA&+qHEQ<&v_xRF33F9F3)jH@?3|DHyLC->do)xoBc}zxnkhFKaWK-~>z z(Q$ql?Gx#Ow-_PLr85Gp%o340;Ou%wb8Q~?4TzL=3a&>?K$Ay3=#O}B+rQL05FCe! z(t}S#V(wz%9l|6Ythm@Yk!+>AJi`nC=Z^?bjGN_^>{Zgvrz}q(KR+VCg8(HS6bi>$ zdV)Fy1*$Y(MU7IP(Xu?U4jKP4_>Yf%Bv?F6c>D;T!~-5y+!w$bPo}jAqMzY~{{?Fv zZR&0@6tnMfX@D|T|CihLw7L-p!wuQ-KTN^(qpAj0G^Pc|7W>Fli5kfOGRRF;A)WKj z|5yOv*8f4sT`}lq7CiBD_{~y0!e%$0gpz6Oq^=N3g0MO?8`WyxCoYd`U`~QCK z{~s*Pz2qZme19gAz*$Xhy zAD$XilAWT1$CyUT5bAi@Q`yN{wpEmkW0zB4yY({*j2F@91vt!FWeX#jDM<_f+In)? zbm0DblopRgKf*JE-Z~*ss=iS|iXj-2G!` zv4G1ypYv_#DyJwFCkKb%XSWH+`%I4_#uJUo)$cd|N7G=$6Wo0|>>ci8k zvJhe+chizNGz&a8;XF&%SDS`g+q4KGyO2nYb^FGX^ty{5w5Kwux5vdr?eXaCq#mc0 z<=Lm@t@j~po}*htMO1GtYFw7288WEIe5U8wD~tY!l-2(ktXq;Tnwe&8<>xx{2`pxa zUXt2msH~wgk02H>&?r$%kT-w-&%WZ$vlVGXd;@L)uMgT2-00JG_!vu&Chh&Q+46$` zSBhlLqE!QMh?;@i1)q_uapGAF zPj7Cvf37|b$g4Uf`UfWU^aEHIWs$nDZR49?8?KJ`)g?$*rz6I*bTf=R%0KFs7U`QO z0sh7Qh}grLfPVsH{y}O`zrqSYzQZq|f9H?m0I`L2~M z1ik^nq??nQwHvLeAI=Yy$_n+H_r+Zcs{Z79>m9wUim36qi)>E$a`zXVIXY~YRRL*YdkgUV$B@df~ zq13A*0NDK=LOr*Y8gy(pZ98KdK4(b}wwX0wN>zRm=6(@Fk_^mpkDF6K=@D+s`<{=9 ziIKet161UcG|kN$LY}N081moNL?V8jniZ-uok#twt>w`xq)@T@>x1IZPALVY5y-L^ zBZp&Qd1L%&b&f2<<8D!hvxK%isxA*p7Y=|9HIVh1T<{N`ns-qby{5{n->+zNTHdG8 z9|E#@w_8LM$`e)kQ4LR1!zzi|9#-N!_ve6C z2}0>qVnfLSE26ZRfYUQTdF4e?%RPob#ib@tB3|r? zMcub1q6QGNPu-YGPB7#lIoE%%QF5t-rIoFSTy`d=m$VBI_kV*13Um?*6|G9<%NPb2 zV6f2~8GZ@#_phB)?aD#Qbb1G&&bn;e*hMTznuWSvEB;s)fdCpDKc zgqtl7guPf}bnyuoxOcjuV_sOrHhlJCk5YM0j7{C?rIKXVde~Pj(pB|lhEF{7u;xPe za%&(`L|0arKI|+;;aiHGlNCtIQ=w51h`VA{%N40Dc6I#J8iV?^5JV~1dP4G8no#+Q zp2g0MbDQ{AZ}c%reLJP@H~8s#%ulubV!_(MWx`EM1!d$-F^78NSWKY^VRmQ7sxqtU zg@4v4w-hg^+QS3wkLe^L?L49j?$v>JeMS^hk_Mo1xgi5Ok;43k)*9k@S12MS#y4N_ zW8=xyKpQ`d!;|h8E|yLZ8v0O7!T6w7>*6(z>Kx1EDjR!Mujt>3R(HBB?@L)~M|H$J zd^^!Ll>B7bE2Fc(;Kn@=Q$E)kfGWnQ93L;oO%`)yf%Tisyhl8AaFz?bW!~bh+knZh#W5cveI2k7jwCa#lD;_vM*TKK2Zf*Q@m6427q2o zulE|#D`W|gw6~U6o1|))RNpgRvZG#GO|ot9ZpcG2r#r?v=;Y&FubeAgJwyc!)2PAh zq(sDZ;UxK`yapwC!F?(_skZaLXo+qZYnV<^lknG%J&QqefYL4iC0&*%@Wg*CVu?y(!fuJp@|ZjB z`1qj+M5}6OnO`g+H&~F61$Ii#SFlbvapGDFso4iQW5!Hl_NGIFAY87!vBHLD8JLY< zwG>CJ2X5e9!ik~|c-3BXCFyX2m}X;WLQE)WF}6tmaX+sS9}(F8%{?CUKdPMTI(r33 zT6;2HYq(5aK8H2~*QER&5+d<72GF%7=}U*bci#~r+lzvT4M)d1j;dk(eokoU;Ey5D z;;63vc1^_GcweDwyQIY|A3OJwVZ0<#Q(t$Kvqd_Vyo|*7bSt5KwsI=e%Kg0(QcuB$ zw!5A^*1#-Qw`Fq^!5*VpSX8SNDr|4qV!}@m(4XBxo3X~$*%GUN3QfK?iSG_(;s+VW zlQN*5b`aCDPnAJyl^p?)N?d%c3b~SE20@lTCuIkwcx1F zoW@_e*MSeMvBxF#IRA$sf{ljTq=bPFkd%e;NE=`Gn32w9VU%9L!Rn84Ke!JIS4wz4 z@3(lnS{jpoRXhXUBN}C`L+|S3X6~n5lVvX+)M~ANo|368YFuAVBqGb)*Z!vWc5D|5 ziTmPUu6mkf8OF>zxmEW)W1(oZ@Vhi~r5#~fMwv|Nt_41gf$$2~UX7^$Yvny=PdF`AB zHA1uz6Sj26NK%322tKa~CvoAv{M;sr9I*4}rQ zmuzv9EV@7Z%B>i(G(~+6kcqX(QMBqwB-m$87MS%U_HFN!(;Z{xqao&vsiS)0L*v{L zya_j>$+wQEtEqj`qU4iQ@w&W_F>xHC~IKLK*g6{!=mhH1m4 zhggh_U7d?eY>{7if~BB|f$^NwK_!`AT!S^ijpG}CI0H<`0(2}2Ij6?k4y>XfKUFU3 zECBxvd$8?%vU=c~g+|3|aV(Srvw*xpawWdL!$8gY?-v3u5NSGrESAee#e@+@wt8xo zk80?3&T+)?LZBoRuuTcaS52ECAS#jLM;unjVMwJq)>nFY1K6uj?Y2d{F@Ol_A#!<5Ka{1=CSS{ZpVBf|EiG=S9|L2r{(ahtQ-lFIvBnaV43{Qmx=$U{&+2trOxA0$g7fTJRG3Nk*-(7+LcNp}2)HNQC}*DV4PlL<*{%+vfgj!ZgoL7shztdm|vXKk`MtH13IK_lr7~=-9wX^E5 z!|EUZ0K2O!aoiemjcvRLZlW+Sz}VlZF`SWR^eKG%m=tks<>d=lit;mPOtZPk#&h6 zEPq3DCRI6~M75dvGertB8h;K$okJQ+Li^ycUJ^}8%2`g!F2Bx612Pvwd33sy4d}sT zvG9U|WxLiKav)5W?e{a-lu-!()5)RoSrOTMdDijGc$?DQF{b^RVJ`kNj#l&I=^YCQ zQ(lfJh{JSP)5Pu2BF=Sd^n^O*Ux8F`je ziEGcY!HBf)3+dmSEO&dd#{MZ1n0W8uqANCfVywxfuDgRIL83U;g}+lasa#V4miSsh z9{Vw$4b{y2u+!Y}*KQ|`!hPa*@*;#G4F5GBhU#^8wP{0&t`e?pxrPBu|4#)fiF}ml znh}R4l^GDvK5Jzo9M+|Rlx>AAwDFPdI?l>LE6^Z|`=F<;INDr5V4veEw&i!$_{V(l zqSzL*qI6c9>{X6-@MJL8h`lSz@&4HiPy> z25cSN6&@R0@|&d^?~caNyv`fgWqXhdI+a3}I(v;?waHb}IQqdf{a`AnXHvnHLbnFp z2#+CqZG7ao=4EVGL*l-5HG3uh6}H!-m6iKLjbdF__fAbdkz-&;_<@o;-9$nllbdpmn$&7=MSruOi&MSCj5HoIn_ z2L=8KwevKqx|r-iG!K9W{F#(U(k(?s3$}gf${j%-r~MYblM*UpnOIq|Cd0&GhzIO@ zwPwt?qpU#eiMXfm`fQ}HBq|2ZZTI;$jVebbMaA1bK>ULVmO7>Yp?7kD}f zQyj;=NqFZVrqi$0V3fbxSLy(PP1?E2sdJ)6Qr!O8@?zs|oNYHno1 z?KjoZlINkkZYP^T~Lr?6J_69WHCowtW8175fzs zn=^K)<2m@N2+)_n(@t38dND3eHikF6m1hi3ITU@AB+$PlDa9F~a(tlGgwQoRQSuy1 zo71W_A5u-4(v`ocRqC$aX-i9#ANHI>MXztg;-e0}P%fDHre{uxZ#Gfa0^5T<*r1jG z#s14)*jPPcz;N3rWGwiwYvC=l%cVf*RWpf&hK0GikU(;7INQXyy2xlc#M;`CCLiq@ z!*?m*`c`syT5DL2!4ZC_QbFH2u&*GHD}z2suYF0(2=u4F24S-bajJ|xrz6^8ydmO( zCQ2u-TAO88lDx4~#6Ka|Nq_x$Tu)tjcvGs(__yl&_HK#l+44lno|{5$e*&b2f30y0(}E_33eP-9JVO~^EW zfXv~GFZ{d)Tq{(E*%u;~9_Dizmx>ge79nv4Zl9LNA{4_iJTiQPdWsDhN-bzCM|5)b zF3qhbOY%(e_^~yX%$#qM{4}dH-Db>D`Ce7yWF2aEGWz-!849b$K;oYCOUx30Z@jZHfw@HLu^Vvs01cCyLe)8A^uE?KgANhg?vk>Mw9iiAsyaL2|oH+p9u3gjPvY1bc*yJC;5AE-a_3 z*l~*?F? z+LxLrOiC?Xra+be=-gj%>A&{wuKbE-r~lDvJx29UR*U52sGG+_ z3fJWoC}d&NG%?I^zc2%A{Iho`Bk!C9%v3)MFwvJ_pCoG1V&&+AXCFYy}EF5RBjMy;CCoJ%J-7z_ z#G6}AWDA$n;tK;Oos+j5?a3Oq*0*H*Qt3vz-?`N5xvzUa$MNnj zdw&veu~>8dXN)<p*Z;MmaDn5&nm>RT7kmyu$XX*Wt5%=D zi8u;mB6VNHc}WZ>(NfS<4!C^|d< zuk_FGZ=?UH1Rawf|2ExLY)gnn`4t|4XQqQ%YlYW$_o9&+*O`1ZqLvxKD%bJ4_sOa; z`3S0LVxL(2+v6v=s0FExvK6#DC2=i!(*p;KRGP8|guQrkKE8|eS}*rY%7GZQn}s5} zV<-na;4R5FB0O`rjO>1+#TwxuA}ff>K|T28r{a6Hfe}4lYVLxNa4Z^O-=F|CDeNp^ zY0@FMk#&nas?kDJjE2n!MbC(E0*J42bmQ7W`_`9iy327C>o%5O;gVDGQf9;K_6gpK zI}z)iZeR1Gm!W2HNQei&E}G7yu*t~k0dtH2l3CQ@R;i!5j@B%m(RQF{A7;lFpoI97 z@^h+&Zl`eTEJq-o{8aHT)khp%^`_N&|lDo=>l||JWvCQy8b>TB5fD%YN_TIS;crE5CTxo5 zHVvdKjXkw%W*x2xcyAo>6y=Ee-)VQDs`>go^2?6^2p{=Wusr@MovZy6Rhnc#s=QUD zjXp)S#`b*M3H2q$Ygqrd9?9ppOr8tuk33(SzgD*P%XN^P7a>yU=^P~i4O8YqQ&|7~ zr4LYR^e&p7pe2J;m5e6tuhi0sloAo`?<^}oMoj<_fins=<_X!9rXQj;nAYMk(q4<7N8tF zG`Z#qHJ)Dq9a4_Zfhzn0zCFOBtaFtI$H)jkr=hoijfHl%5UWFGma$nuxY(lCtqny^ye@7waC06U)knom!z9>M`SGqo+m)Oz$WJ#5EK+PFm zr@|4{W+p6W)BL_=vz#jGAoc7zGBCtWdKtTU)mUAo?t__vU~x1Q;a(0mJ_r5bDuziE z>CD6;<>*Yo|YeuHF$ z!Z4e=^ZB>7Lnsj1@|LQ1#`St=us)WiVai_7$I3QWgKM04#i=CXAkI&SO#Dg8vTlv%Bh#dZvHaKd|{)Y0AM`8h@3bIB~13 zsl9Fewrm{253A8)6)g;1*qf=XiSP^#tF+xpur-|kTZ$;W1F72zGgSkiA;)@aXm~6_A{*I(tez#`=ak(rLI5l*ZD}z%Of<*C8||gR%A=oR$X9wH(9ZocG$lX zT~U>s6px3I9%e`XpN{l~)V8M_SuMVf`r$-QpM^yclyG-N8t#M(tq%Y|~lI0(>@;}x8v@nct!l>`1r8$D# z{Ms15(=beV0yPVNZLohe25zBuE@v$f4}k%Os++2`DOZ=DlwfUdaxb+0za-Z(qULW=# zKnna@wH%$QjDZw@WDNVVHLya_zWLI&M`Z@CLdGzj(&mvo- zY0po0FE2NvtC`7?@(Qc~)NU^rKP9alCGl z8@E^$d`PLZ3#bYq*BB({#=d(TXs`weh4QkY6y zWkx)juV%)#G!5x_uD-MI0Pq8%*CAY9Lq4R(S0Z9*3&lq0A8>bGw=_mb<#d@xJmkE( z*ec;|mf|u}Cp@}HHwO(ax`9i-$-@UtEgB07HX%pR=sanaJI#y)uK~BjqTzgEkni^G zeLl`JRb^s&TtHR0b-&o4_FBc7`VKUP-Fi1x?JD>)OwBi&1vKbS>VSzg5_i&KCLi%N zmO6Bg^*LnI`89Zroki2NwDFdfyIr6vtrmw^bph=42eGYg<-ZLo5xPCmN*am}QJcq8r3R*51CZ2z&bo`LGQ&D%?d z<*5S?4ZDwJ&HIhO2fP0v?>4jN+aT}lS(JAQLJAOgpq3DAZLy_k&SFOmWf$Al{J1#a zxR=GYecF=a-*kCXX|0_O7!mKCQjO%RpMGdM)&zRoN<4a+Q6Y|k z-tH&i8l!9;j%xMiPCR=aXAf9*b;yOg%hO%l_f+l}tmftVVlo)RfC~EEm|s8a=JeNA zp_a$>>9`DUJvOeP@CJPX>V~ExUXn(-B%(m=nMiY>z%w#l_=41GVE;b zEw0B=Cpr($?JaI>r>M-MBOdA;^V8(rUyr(VJ1}DWmPa*fbNk<72298%o415i94M0` zM?v*dO0Mp{pYdgj|7f0KbZXk~*AH11n&V$=0L_Ij1=>htq>N80iwfdg{T;hDl<|B*`1lHbSus}~b>RZoTl@d&*q7SAHQRw51kx#Av_l&X% zNP}dZDd?|q@*6V<%-M`KSJn#jn%!wn+gK&+*@~|g*B3m!ntuxU$glvn>u%w+OU?{I zyIEGhjQ6gs6YlMEs1TG}ZEjf<_KmC*xFT?J)m-c`cVhECJqb{qyCiXHo!t47t?@Qd zMWgF|=dULICPs5XEQvlGEeYeRN~JqmM6ju7nGC5pgijKJyKlZiB)PsgM3Zveu>Gdp zZ2k?8ULrohh%*v|srY?=%-}(BB&{QdYcmgQ&ikpE#mWY+h85povT?pV=h9yl>`T6c z2I>ZJ7NTeV8oMMhu<6YuH19;BkA2a9zSXWgXS>D|Wyos_OdE=%g9r+J)JRqA*8#C? zH@lZp@2!W|BN;@RoFj`Dl1J(VPdn%BPa7+q5p%o0PeyT>aF(JOBNHT(Q`eGPJbfka zhG!;3>75^{mynxBO*xo!9TDE18_~E|bSkrPs;24mb7PJuZ$?8ZS2`r@|6n9ydPb z{bg77;ERMz8_876!iw1co?5F6Da;}2WZA=D}dDp4L;GbDnp*qysLU1psWP8<90ULdbe)u)RKh9 zpIh{N;7(&sYbilq&PwkWEI7T?W=G}6WvrTy>|92~HU0m20C1cI*b^?|_Z~ogN)}a> zSPaY9MNTz9sIlg|3rdY>DDGLxYwuBI9L21o6f#QWuhU_p#OMv?#bWx1)Bsr!?H-oO z8$Kl=X+yEZ?Plao$VY!2NeO=n0V5yUQ{{@?uA7gkn6Y)#W=+Osw!$g<9O347?#bPk z;$Ztg7EJ?; z{=#>3`$smtSL1y~#@W;noGF^W$UICAfY6ZMU*_D}HyuUY4Xw&FG{>7Xu!%cs14wD& zkLhpdA-|Ils}0_MjxBq6J~x(<1Wg|5Mz3tiozX9k?8rgx0wZTk_YGc=boN-&CYjt z_EhVykoKj2qPIyt9E@1AreDDMmGz(}FU6z!n0qM)gzh@MDFO+q|ChE!% z;IwEgGwx}=1TKH?+i3%@_+~X$>?=j#6_IVYL_wl&#=0lAFiN+jjBr3WHnT7DF!k6@ z40u`cza$pzC?K$fy!3}eE+uuB4HVwd>(7}1rSejTC}IvzI9AUZN=zx6|v>?w549($YNS|cMeqI1f? z9OHVf+gV!GbQe%ZoKx@GdB;hPANnp|-F=JTu}VnI=-BR9Yn<(8rKkYIGuYthVcC=2 zjN4MAYib9+=-;Yl5ap6YkiX^{$N94qd_;JbQ;v(XNJA}kYcYF~%@qC$`z1#Iz|V@V z9*j@5B^Z`xr-BJ{pN3lha+3aiT3lSM9Rkbk9azzNIXC&+g72)y%F`q4%axTF>iEK8W41&FABA zXd2gdpERZ0Rj5*lXl*S5S)|3xFgF|CqS4BiLD#W3J*>N-Xv7yWFV$Zcp<4)TC{P8k z$#&uO)DCK9eFJ#YHy`wI9-62^jeNyhhX`Y&TYSC9|an6MI;tAKGTOz~N5N+nqg8CV## z|1OM3VUz1>Qea`^8>$T9!9Q{7%Q-F9L%Zkn5tBF8R%!z6vMN&IyktB1Wz3hl6Ur4m zQfNJ(TAV~sG_qy|pyXsFX1Pnm&{O5tkzXE_3-1X5n95zrFf@KgCPLfB zU%W-9POCbD4e;W3LKhz?c8k9O0j3U4PW)uPK|&1&n^gEx(vEswo+P|1#r-$gOOAnX z-AA2mvwS6RGGG^$C+%c`7*9#{W#4|na_#Qkgp=F>a$fwt=BAOs6 zM?=$P0p57CE-%}I9Ha0Q=s7xH*0(LG#XG}nK3gw!rSnV{h$*^mdS{ab{rT9@u6wFu zWlNF6tUjqE-KCExZ^A%dASfqKVgIc~_&oT~$c{2yD^LebLR3P6r)aK05tQ(-=En{B zhS+cy4`io`ytEI;Fqk67i#Q}%C0hIY`%KRmZK%>8NziD_tf5kG6mRz6c&|1LIgU7u zmnzBDi>$o)P_JV%BAZy(=-Z1u8tx5UN-uZ$MlHaL*?&EmQ1T-`PIBW=|JUJT6#W|c zK)t&je)w42w6~il2~iVjcLx;SF>aV%DpAm4{*nLwKDwQRhs=))@bevd^TUiRm2WhMtK4VG>^V0FXramB4kSk-Q374EIKnw87gfIt1 zkp@mUSI?!#Za147s{>g8o^F5Q%|oot4V&dfnF_-6=idz8_P)??Q{z&b*$SX?DyV$r zH?dXB3xbPf)gH%u&PrJsuZ2+*b%W$|4Yg{kAe!pqPyP}2dy3x{xwYq;n|Rr-Zttax z>D!CkpU5*6FI|nzMBORqCpZ%!oZR93kR9Wfl$&kLyH+MHE-2hM$nu!G{YaaNDSl+F z_o$nXRLO5;eWt}=rgcH3rO#ZjxwZ8n9v|PVho>5S`58DozR*;Z?p30o{@XWy&v{^x z5lDmJ|2R>9v^Km|-Xp7>J@Js`RbgvZz~yRRMdbIEcMrAcjIt>8RkVCqp;eaitRB{{ zoMt+X8pJYn$@>4J0$|Fph_LnEm6bTr>WIX`o`+35d*~}C*Cl{hGRmzRf{(N2!&M<( zOFW?(5lf95OVp_h?7D&%w_Q+&&Ph?jb~K#zOV;wbF|hf4d@ZlCj&bd z)HsZx@CwFttOYwi+AX&frzzu%O(1M`jTb+^FJ!`^{Y8|Vr~q5(6V@gRYBSE~&+&+2 z1>&scS>oCt`AYuyPo9Rvsg2cni~%u&#LkEitMP=e?}lzcR!Utbtr6m*dZ<>mD=p1t z5I224RVbQq4z1(W-EtQ3yM!uOtwm!mmd9o5sKgbqmip@ix5{ssV?O{d!Q*?V^5~L5 zcfJYKK`%ciOMhy&FE9J?Xzg+QLv%HQsI;*{vl8l^)gqwB$xl4S;z@_#3KQ>ha+l>B z`yPG$;$=Y@KxpiM{`S3M+>WA>AEAG0em?&B=A%pML-WIo@D4kx$sz9D4WJ&Nt$bW$ zx?7XwT}CsUf2KCwRX(1Ng{{^Ew3|%wFK#{GK_u?H9^}1xdYk_#K}{4z zC>k4D68JER=;*y#jTPNfW2+Y!_&R@clfnE*mC2rq7{m*zApNGp*Vw0d+4>rCZ@{#C zlXpxgCVi-X9$JB#$_ANRs?wE;e%*<1CrjG<{me;D$b0tL-Fp{DEyHX(kDq__hbu?I zNiR#(XTWeNWLIbPwUTK-uzxyDd|)_H<~zs?QcW^WusZ>%ou?WbBf}$_GVqlDCb&ok-5k7;I`2|CP{W zHKZLeKFM|NS?h`&SZ8ct+nDrnuaq4%1ASCWejqbFO~`d_s)_dCSFsJ`3*oz3zB%4? zsnj`~E-h=Aa^u}d_ApytL0-vuqz;W_B>)_<2skJ5iBWmj_H)9oRJ0E>DN1R zWt&+nHD<~0y(lhFboz_Pcvkpxgy^+8LsP#>F{2w1wo0JuDp{ACwkLFa7n_NJ!c!Jn zcj42}i~}}HhRXvNCz#H#7}HVw)h5_VtQ3eyxbRRSB#kFwLS9CP{|=s|E0tf0ePC_R zzIMG&)Q2ZqK+jp=)0P@gobmhn^N ze4Nw#7PFrAe9f3p|4aYy(Np#JQG{QWt^Ndv_2>7IURQcn^oY@g>6f=+4HmsJLCm5c zrO<*^Mt%+~0n<+OZ^}}Sj30#wO`oOoizm>}9xdB-92C-(Z^WpPNs|^Gb?vQ~QkwIZ7AW3Xlw86{lujrHZZPuM|h%=Z_Ku$kqewO*~7=CM6(n zxTi)S4zM9nOR(VA{k==DrW%Ll?t|}}tx)p$2THzZLX0@x+=giPD1J_jJbABj zMUSCYW6PQ2o;klnZb&TunPIN*hr|BIY60Zfq7QvM`-z;Nu7)P)U{2DPEwjNIkueiZ}6`rkgcmdVbzrK(0jUnP=$7oUtS9~6yHcv@MC zCqjVBLLq)|&^;O9ta+bdBJ063{x>@cu9my5P}^s~^RW~ANFl1N?{i>`^P-!LSe=xH zkkvMlC+gB8_In$*2KYkNh8+ZA9=L>|X8& zJuI4UNN);0sJJS+PIoIU>M7o{R2HVxbc4u8{L)9eXZm?X5uXt=lA=_4l~F}Oq1&1i zEnp*i6Ht?f%1M}2qhnCMVNbNuj+Z0ZoNVt_*xsEvxlgGgmxV7hS%1@@)DMnBB~KxO zUa_)^ZaAK3EDPjWoT3u?fdh;#>E*5wR(Pb!vzzI=Nz&JZ=7&8XXmHIHrZ zBfv0cj5@mw=kAYAmZj)Oyh=dW4whSQXz9r&5 z5N@S;=?sTFR)lFmKRxlDK1}(=H~;QquhRIroRi=;XN2jt?v7UBqPZV&&x-7KrV|U@ z=}(+zljToI&c@UquOr`9x*g6~`3t`<3=+JXC`R}031UTigSL|6NUco)!4TWUTlMdo zXN{t3KSVxZ-n5OlnQE3H&qZ8Meu1X*OVHpeq=}LgoNzob8WSNFY(Hfeb0A`X9O+%L zyj<27)3Av7PJO+35Bg+k!6YLDI*<<@K-g2I}ATpYscdm5qQhWCH(*Z+SL>$`{S0 zDKxem#eQ#W98mIl^+EV`*Kjyp76e<{%k#rgO{p1o?(ac*zD9TGnTwh$aP*>?zfI&( zK67c1i&9l|HNK`Wb5MY}`U~;TN&MR1|5hz5n@HhSZCwkTC$LuoTr>6!mwI%Lx-Fa< zl0ld|o{f-3XTA*lZ{J@cvDlj!tFO1LvePOJ`;Dl@2K3+O{7&3?ktA7W5Le2lt*a87 zW!^^{52=%P;3m3)7Mi?W_U{#IboNlym5 ztp+CA65Z_9BbiM*^+hce(GC`;8B_98vB0E2N+W98-}1Ffw}ODeA;OYxM=@XQ(?fTO z*fa^|k0Vs~cxOHM<25KZD@S5lXoygP@j-qenThK1^V9O-2m!&gXehec*0AiKihWC| zpeN<%YEXe1H_x^+_Cp}ZfYYacV+UkI!B;m<^8Qr6tM_QANKi|p&4|Lg5SnTBZo3swOCrJ`AFVxptW82+?W zI1PHxf!g+8sOaCtZlB@hG~M`puM1JfrFUMMQQzxPxat+o zlytuyY`(eN3~s3zqei*fi7e1^gN!bbcj7kJWHgF5#!S2?;WOGxJ~kpY4jb^85IIZg zOv#tOab+A;K6OU15E_C$N8(F(gaoIjL1@q?3{L4y?!hT=06JItbm282oAR+K(0RI? zy6LqCrh;25x5{Ho8Ef<;jgJA%TCq%=7oZe0WUCs*p~#yP`1U+C5^InKFJ+-^0_o z%&TX(>$xV6VYGn{XOzBEfHE#G2t0ge*1or*Gpj7b1edC9`D&xSN5$BJGquO znv=#E%KBXSGX;L)D_|b`QZnE5a)*1$e`{sHxcOCyPGw-Qb($ly@XF3$qu2IVFsG8= z;CWDrOphZfKKYAU0D8D1K)xM7jMl51D|JeYxjM*6jr1g& zN9=glgAyR&=G!u)R`~$iyD*rflCAXI6)@8Slx|Fi*wSBhu}kc*y+bR?7l0AWmgi#r z@n8OC`M1cD$qK`6ew7RZ9U^<8-P*3hAyW@sNwd_%&W`-ea`YkYOOf}Q(uoB?sUDkc zb)7D$+)K|?V~a+|m-83+T=)(ld}%OFuW@|}w(GZoS)WDAimG8MKS?gQW%R~rRS;{p z_7;?~Pvf|@PBfraG*u5>(jGa^ zxRAKou6B})b6LHf-a8GWE0#$3X_{C^6{5{B_@;Ure!mqb<~9!;``yJ~CcH8x3RF&+ znvRj~R~wX(8={|UFp#G5JvZBx!{nDJ%4{Z|(RDmQw9iveBi5hN%E4u7Jc<4K{PF^T z>rH}I$z>QT`wA=)_=$)&!R@X$K5b_Lm*DOZpkvgNas|k8#W%I&kS+U$@eLPa!=U(| zRFeA97go{^jv|_Bwa|QSOlA)9oP*Mc6pBrU3Iu2f36Cb#CBP8_&WahzLH8#ZPD!z0 z@IA<3HPeV!OXG07z9UX6IscH^?JU5M^zjwXO`lCuL$#-iG)$%LfpG*+ zGzAchTmr7lce+egUfkg0uMJI@u9O?Tw1Lh=3uhgmn$4plZ-=RsbXAW37!;|oTY?Tz*yNY|$0`KNbC*D~~E z=&wenrlRMPXqmZV} zzeQR8S>i^%6;@h15i)Q*XXm zpB=e(z0VNdN@{}O9PCr{OijYo8i*~F>>7EM2|Zm7osBdQIX5Rj%*%WXqv&;`sFPsY5+~R1(zvx?o7l-5C{Vom@ z-glu;zVETjO30Qwmz_vl1_2PzOKBJH=9^X6@*C%g$EJ#$4uFuueD%Zhk68jff-L-n zX>d`{2;d`V(J(c!zY{r_4Qw)w;EsvXNEQ#_yLI^+d5_p;8!6TAVj_z+izBVT0^3x80V9t2}-5=ar8W(R!VuBpiXsx7_x;a(yCW(6?)GF zu%lm>JodP2iDMLuiOHo_`7|R-;B|Eit~OLnb@SX%1nlhL-MW0<>mVC2?k2IQRW5O6 z5H#QQwbbp{8<&VaYB*!uj~-bX1pUz1pCL+I^Ph#V-1G^*+9e&g^c)5JuIhfy8l>i- zAkX<$DlpDAxBVINQ}l6MwodPtTJx)~NSaM=<aJmq z$lRM>Bsl~{ia#SjIfA1S{6@5QU^-6%?;(2owOD?I>{CJ>#e_Kk|?Zpcnh)2?ht5^`HdfksU6Ce_NJcf&!Zzh3PHOC}?k zn9^K1AmUy8&-Ds_ruM_U!Dkn2OtKaTd{t+{(mXv^l~>#}8>zK8zZrN+WY152qRSCq7Oyft2sdpKa1k#N{0w?SR;Mx*NL*N zEikwL4n4^1RPdc=q4$%F9-B;qd?Ew&HA{Fc07P+Z`q4fqaMd~pw6ICEs7+swKL3co zj`gkxV7Xcf$?WNLN+#pl=4%shIMe#X%R2{qNnB?-bl=2#+F@EGa}zec5}#NIHG3{o zna$(K7W@nW?cU;78(3c;oxwRQ^_z6NA$2)aw06=_ocTe(U!V4?5E!CApe* z7W(FIP8D3uCXNLBT>^N0zcA2^PI&v(Tl)3b*z_Jy7$vvHeX+RsV<;9Gl;j-yF z+BnO*OGuEZcfF&+BU5P!=`QmVgD_8~kiS7P+s}<006{kzCdvf0B|wm!pm6(oP`nfy z(OorlAHrnRO5wr%o`6*n4Xq-vpi#})Q*_gb%T_W*d_<@G^qeTFWg6|On;{9nl^G`F zIBZJliPvf9fQiz zC)H;G^?Bm#(yyo-$vx=NKrtD&lu4DZNYzpr^32Er=H>0*pzAFIt7P%taZNIwKajDK z{oNp=dc$CgDAE$_PTvT@S!{0SPzay9@)sOGU8;hY2eVDTS<#gtnMn<_1HO@ardONK0&Pnl&ElXV>(&kmn)7Ci+9-0l3p<-NJ; zg=K0tFg^TkHt7>XnYpOrX3~8AG$h;;5qAn%*PF#22>+3dH=NrWDnolz7ShGI)X;a+ zuj7C2H8CMj-&PHzQEsOX%(eEOf-5o#9o#JlizV_@52)#X^Pfp@DMibjnEa;uSN<{& z_gYy_pTWxE!rkU~krUIY9~rD^l{12yiXD#&JGTKh@kJEMQ>7=|>hWSfE?_q{=IX7x z$f?kD7$6q1Bs*-+MCB&j&frsiUu95xxEv7sf~rP^+Suz10OzGPRC?e;&2kZizRd)f z7J^%?5T8r(-`k`B_ed>++ZP9CeqfoHZ1_N{h%74KH}5r>7WQL#7wHzw)WlHxyGg z1}ddWrDHQ9<3M9?>Jm$%x{ULhVbQ#vUK9cP!U`5Re(Qc-1tRp3Xn)My76ylFLztMc zu%v5pS;79Zd`53(8}mdmo}=YEcM@Wqq#URelH@!4$x^s=IKR>cbkNAfwIQQ5QqTk~ zuLZ>7z*&b>LjE~c<)0|dgy5?;g~>!M`PUUXASw2k8A~VkZZq!LDMISCnq9?MW=<3kCUSUmkic0jAD!cG@WfdP_p5!zN zGS4`PC-GH-taT_Pv6AJP?hJ5!w%ydfz_Ly*=h3{KK;m&B<`9mg zgKRfWjgLdWzVd~eP5#_<1c?KK70wS*Dj$V@PM{^Xv^2x<|`=h=SJMS*Mk zgBQtS*wp&AKkM9@xM-7_C$n?Z*eMJA(0yUH6`A>67ANbkF3DwxgN(6O**5)PuOkHR zdqdB^J>B?|V`Pg43B$19KM6yS=D4(*>!_ec(AKn+Cb;zFAPowD4A^``_=2lz6_a)@ zoZNWN6;MbUFL^i59KbadLDqqsDlq1uSIKcDYNFBY(}%d>;gliY0+pZVp?2%!rNn!i z5q`uOZO!V<`+U#itV^zUt%5bQU3QpF`o=d>j9qdZ+!nX^P}>EKQGjf2Ix9oI@|Czx zZCu+!tkle`IDl~nMj_Nbt`2rzD^76;vS&VZ0DQ(f8hfVU>QvlB%780936Qo3VTIfJ z%ekDG!ZQ;F4e6H3Zl}aPEnAO9Iswal(NQnlv^Q0m(4weB!Wqo@ejV==NS*3^SV!3W zcjJmm+gN`*^A4=<4B9EZ&1|)(02N*QBsGnhuVDq6?{! zWTy%wjS?GwCUGqVd?4d;U0 z7sIPk9JmOvh&KOW5*+!cR0#`QeD}T-tO9{g6lFT-j#SRYGBPV0m^BGtPqOxZ;3=O; z@P;51>2{CE^BGOwEStt;ugnN*M?mGW4je01H&1!w_CSP=<(I~I*k|&bBp%dZW5!mt zFhY|O+B$5_NBgRYP!nMqCBH-lKAb6A3>p>;2OA9wJS(BVKfLJlbBY_vRzrCL8=o?$5^P& z2vxyXL^LBSGHJ@(+4_4dxJX6R*h#;ERrX@{a<8a8qePKXwc5aoF@T^)Tb36jiGZXZ zH^Le}xk^PG7Cvp(5U+H6x$B~{VdWqVH;|6@^M<8zbVKxCzqn^>&as`P5|{Lxh||t5 z#MXSaKLOq$_y&C##u|63Jy#+mpI)tKWl~Fd4DG%fVw>v(m<%^~+W&U};AIkqC+ZV@ zFI7G13F+XubT=5L_cFN1$cn(yRzNvHJG0{Y0iIMfPQA&>ZG{8l4V%L4?d^3)SI!o7 zk`R$Ytq&Qc*o(Z+jPIjo--_)9ii-=|;`l~?4f5GMylylh-czbLnKwM?+qO9=bUK*| z8%;PZtTHHC>nn6>E>tgzP+SdQ*&PoT7MoS?kda7rLKfdVl{JhOaW#G$>e_!aX(HUm z>MJ)H8sNpe$T5^L2Aq^7ocJzCL! zvMF}FLE=5ewej{rDbd?Ih?HcWW^_?)Y8m%~GQhVOxl{-+{mWWB)50_rDXK97L=4Y6 zNWZZ7q0eEYcMwqc?;y5g$UZJbMljiqNA7==D*F+k?-j@Jr=bLszW*2cy~8H-Vw(_7^?p z(^QdX5N3^T8}!7 zfkv{_SR9sJR8O$&8-80M^$7lFNM)rEyP(^tnV%-JZXlgyG4r z4mz#scqd?Q;X&?`|9brp{r~0l#!9|eB>(kRpTq8yqfaCMY3}cS24AKXJs^e6T%3GA z-9s8f0k7w`Lz#72aD@dV^3)XAEabfaf6_|{L*m| zOG-4P(N6ICA{%Xi*?s27g~WL|K)xzCzNS@}j_9wRRHc{Kp6=pIZ#I zTsOErL3id8?^s`lznTyo3quFdHc~i5 z(ROnC1PiWm~KnA3_6ryUJ;itF_>~ftt$5_<@$JeyDr z)YvyRlh>%MV^B@n?cW1)@qgx)LIl6~H12?Fg-lmSTgTq)A@ux57?Xxh4gr$u^aSZ4 zGH3L<0$~pnxvyew$lRjySg`Zi`H{_O($zsHiA;$KgG6=S=Rb4w0T}GGb*2ISo`PVg zd_wxw%O)^-L8g`ZX64PVy}_GsWb$$b^ei+h=Pf^b^|6(LiF)eg>L5JBzW4=*D;b#O zU_gNx^Jfxx(PGkk@11lIZbK|;EBZM0H9?DDK_%KuKCHjSxB~2RZ%pSiGpQD)9i=1~ znml&;Gmj6Imu~l7>hHHCod=meJDmL9aC3pa*|6DDvd}U>=pUA9eR^#}qG8>+?Qc%N zk~Qe5<7R%fh3C$3iH1LKF@$nDs){FdV3B$q{!MP6N8aPsX0)r|e%MHj_%%Q>m6~A3 zs;*2j2M2uFEwy7GThH>@o|LG*>`ZmH$9R9zIZ;R~0$-{yP?~us=a`#>n{OvGTw@?A z=;jQ+hYl;LY;;@+4u@nsm@{qY#p}{5aS-|41edd@!KyQV4P~$1I3|nPhU;vux&yFA z)OQhT!R9R%_wPS*`L)cRb4?@-iam7d4w@`_!IufMQ=B@d^KLz(&EMlI`1+h2tSTCz)%(+c;?F~VigLDqif5h- zeG64Q&^lsy6HVcD2g%u!UrzJJbLnTYR&jH{Jx-GevM@9G>M#l~rt0kxM$4t@peTdc zONZtO%MFsPr|P$xYf{O`KWPkN-wD%c0Ps+U07-|T30olQAdtT3a+ z^r4h?+ik7UhVSNUo7O<;LM7z%hdx~#Z?gzp$<@sz31g_x&l=dC*s>OAku=Zc&FSO1 zS>E$2BQiRN8pDNp##R>+cfBXiJ{(oXEUlKwCtsHw#NYLo$b%mFnGjkz7ji-4lOeVz92~Tx>;5(BS62c{s z%AIN4=K5Gi6b|q++IML*ObbNL4-zexHBs0q%o15`Lb2{#)EjLao(x-i1pu?EwR)4Y z;EzHk*w-FRL9AQus|lvC)Y3kjv-PM!)tqZmmtXBO@{%duPHobkd`7)|;b6;k zBlW7pNlSOv12TuRG^$0h{#@hZtVx?d2iU8i|{3Jmv50 z{SM+Wii)?zKie7q71F~9$j9tieXJJVi?dN@uukkse5Ov($eT7gb|)sM)_85?)4^4@ zH)^AdOQ9ed?^brzvbv*@NwP3=+hn0UrI#qqt<#b8U6ok6;V_j~(C+{6_10lgec`vb zASy^H2q;KMN-L5gf)WzaJwu2z%z$*45+Wc-N`sP;5<`Q6NDf`YNOyNL@Y{oazW3hW zbD#Sk&pd~7&aQW_cdhmAQ$NN(k9g4ah;vw^ZVOpqPG-K+R_eZgPDJN4Rl#%faNxtN za9jL=_%u&OpMj7gY#Opha{dV}dcZslK1Y3DU7lF*QV-nfjpUl2+cqlZj9Bw95c(TZ zl)yTP(k*y4UC5aWd#*tlW?H^|pJA=tisfq9#elivk-=+7KEbzYtoKr`f=~_i*Uwb- z@Pl!w0xwg|?vA)2_x)xkDqd$|KXnOOzF^ap-_15lfX=8<%SW}vxgKD;p)mMgQc8n z`@<8CRdO~*y6muHbtXabZ0fs$5%A@Dhv7cMy6W?o z^8m1+jwC;JU*$ZHo-ai?QAD`*4+!ha+LgI4ydz9i<4p=lD;)h4Wp-#uAbAnt-%1=3 z{09(zDTA%=WWV#k@a{?bIqmsz1~CSF;?qyU=dV`R!qDGXy!=ShD!Pgpgf zcEN)9+@BxLc;|>?{@Ax`B^%px;MFu2H5`59ES|?nP{o1%P&ZdjdQAJV@UG7Zm%2^+ zFJ*<>7jTFSj|^G=cSQbYUsG!rBm0<7`wcvoD5zd|*~PN`4R-hh{`9#2Fd|qa;I&2mfMc@veYSfC#do^= zNC)G-j1@L*$Sa1#K3)~wEYh_K#_^bXk@Ma3$NON;A=nca(`yR}qmuo<$>KAX;44O` zEV4o`(-6+{>~Y~XO&S9ynKjLb9O;>+=#sS}8uz7=^L}En{lQ@HH35leGx4(4!Y?O# z!}F80=e2~0^6Jf^bS|fCVOr^s`k|ib<7@j_3)XFrX`{CO03?{EAwA26~5Rk zB_#0jy%3j5)>4&kh2vwRnGQilG<Kau8{r z{w-&fh~omjCegrbMHTr{2f~IvCA6$@&~5~VfQUzS$VpYmPeaNAIr8-%;2Y3NR7aS1 zL0;WVH;1U%coHb9 z7aFm;N=7t#NrG@OC_YXVVM$Dyt;7HIr9h;sL(pgvcm6A5h3-~FZs~j#nYZhq@z|E= zM&bs^glpdKw~QS{tEe~IiT%U|{M@cHd~U04<}^|>x3FXJfgHc#e}LK{!7WDgp9ig* zl6^lSbrG~D#~BXmE5tjTUtueo=FVY>tkTQN!lpx)iEj@*8GKZt2N2e(gVCdPrar0e2fn@Pd`J39`62!6?3vA(y~bOyRZbgBmf-DS+Cf64 zyK)i~H8JaNDW^s?H94ic*>;iQrQ!HVDdb6-Ku^~p@2-hV@gFLn{m?q1hAG&9Zo4tDmGy)$l|b(LA>KR%Zx~wXt98D5~-tKnfpq zi8z12Zdf?@{&-}>`5->F3Syz}7C8u3%Zki|;&klX@uujE_yb*^XjU!D74toLxuy}% z2Zpj1qcMgl&arTgg%w*T?&uI*tklZwbhC^H$N*iOum;e3+S1e!6k8A+~a>fXy_K=V1L> zP!g=)+ui%#O27-nD(i_DOBm18M#K5m+*T32>u&Ha58*>BOwx##82Q17o^~1jcKS=* z1-v5jn;3*%jh)V+7|@dUDnb)o7rd4;sDZvQO}}5b7c26fU$NVZe~s37>+4h$V2H~lCilY` zWpLa$no?_XqNgxc>rO36e}(X3y4?0F?v+7kHtLtMVL1hrXSk5|hHhUz@ShXkEV!uG zbL>*6g>q1aLgC5OigkP%Qr#ITo!9HbHSS=OLuy>3nh*bIocB=@=O4SgeYy<@6TP|W zq$jI1SH|>;yf(agpr#fTE6ePIr3t@-?_tw+zvUbFXe$$F(mKQ`#nS3JcHZ75z2m*+ z-uvaqa@DQ$X5Q zZ9ClY|kNx{4s_e!#$ zoW(DO7sG_+&s>}17G+jy+yJLiZVo3zz4Tc5Ar2BL4#gh{QiKd>4vd6GPkCnhjrZZc z`#7b7$r3bVJ?mFS<=4Y1CI;t6XR^C(n#d6FPrI;|gGMzb?CP_`_ve1}kF-gP#yfTi zebxMFGcSf0((J1#fV)%c9AMJbTE%&Lf zQ7#wGFDM=lyCxW2YI1z2s|l3gPx)`5m{Kr$yLhu1fk+`rz}5JUhb&Hbao~e#8Y?l< z$n=j?8I8M?Clxrs&2?jwpm@~8G#SD{;#Wy{4za0YiW#vQHTfR%i| zXi9N6bY|Zl`+y~Ue>m-b9Z-kAd;A+^EogJr&~T0|S#Ro=DbmS8diPMs`JnQuwQZiA z7?yQk5?rz=%F1^%;JXqi0lkS2)i!DH!PxmEI1dJcAnN%f7#uKnx=&NROfY@T$)2)s43@g-PzDtk+QeLam~g- z-NDb06(PlB0bX;2Jl*W+)G~3AQtFOMLYz%!bPXtUYgkxw0SFWW7%EUFphD`?US_$? zb}@H5@fzoEqO^Q#VvoEdz|Q~P_lJ|Dj6yNyw8L$ML>`ZMYQ5U$*-XOz#^NekaOEQd zx-pz3wi9naw0ag56US?)R7&L0-Tp74qX_f>)AX|`_3&)*{Oq8iR6OYf@CROB8;fkvnneP(6;3ZA z;8QIntFdh^$gy&lRBv8eRBx2il4!BR`N_34{T}qzV4HfXkK1Xu_}PP*-2Mp=Prswo zGTU^|U)%3|MmHWP6|H&D-z~w-(OABGIz6K8ox7Y#?9habF=-TdjaoNRv19ty&9scl z;0HZCL7Q=#t_hGcJEA*Ju)#g=ZJ^?}sI?JoHm=4~X=OI6;g$Z8#-g`et%w92dAR4B z-u`uw(=+fHn*7#2s-e-H2IFq@Ffr{y;rMx$s4jC)(M*U1=Z0=MRIQq!P(ipLfU z=iqwX$yH~iH@sQDAMrw~hUE7EWG3h33c|ub_fUxu4#t1emXGYS=fYiwGeLO4SbUbx z@I=jqKGoW35tYpyab)=+oG*;~l%w@6EH5~7;J3jiIOb~D;hg92$E$ zpF(cqU?aF69m5Sl-~WJ6C|=p6z6K*VL_;3mkQo=bu{Q!xPc~?_Ni&CP~-ej5eliiKmB3oT2j=lG0vQQNL9S9=R zp=f58dlUv&QZPMV5?hqY6^04<%W-^TD?jt^)O*lDgdI=Uo_=wUPpku2p#bhW@s_1R zso@~dXa+eBXK;Alfm*k8e@bnhb4}*bMpDhI5r0vuu88PfF^(N7UZ?JFtOk!2rjNcy zR!SU;<{fgJDjM4;%%(M!7s2eP#CEr`r*zGA0Y0m+YbK)#Ag|V+!qT)w*qb>hp6a=!Y=~G8oJ^YQaS`w-1LkFt z)Eim1q<%_n*4ayYkeAD6ttv$j=|4GKy|0!0VDpy)Zy@;GMwiu_ud!X)^Dmxao=cn( zm0t_2$+4-hJ!o>E*PWhT+}c?SYjU$kl<_tozK&a;Og6F=XzWeD!Xot^HC&@d@Bi)E zt+JCSs$r3d^}e}|CY!ptXFJJn%rS_=Sg7srs5?*U=0;qLvVXGb{IsnPM$xUV{?(3y zu*3efs>!o*t|te*Y&`nk>KIOXjSbhvhFM;$z$=ooJ5NYF?~5$Q?Sxej0={DH6Ku0| zuL*K*vu!Rf|JYli&Z?#U>Cy`&|MDBJk?1&)bRQ=|v>3ee#Rr$2kHh3|k-VD$6W%mF zEwB!RE-H4e%VzQT1s;X*?>|?ZEw5yF=%Z3}tH8KUSsrwjZW{`f?awT?xJ*3}fsO)^ zA$MF<)VRx&bI`X7x+2|#O;ysI@EWs7v5V7sOp(zX{J@2m^+#;jvu4IHH9z-H*^Re) zYsFhmu^)RYFuOavJmgFF*NpaB$-8+x-J7jNCsY>RmF7|1pXy2ou~nZRutmH^%CP9| zY+DzuG-VFrmu>b9HKYqS=-1|S1*7}Cvi&a0_Z(J>#i6^0o5h^r*IDo6+Xz`gM0U@}(x@Y~ zH5#R!I$Io+J){rG;>)8_b@80XgjOdNG?vQ5%UR11T|z zj?c|%N(HTzUh{1!6Ak(0-%HTymy(!yqW^Q(<;{nw5+1jdButt6C0H(51L}?tJT}J4 zwaMqxmikSs(5AxRCuN;0`5#^3jLQp(&gz)hl)Y@Mg=`SzjDyZX2JTWkGuMJX3U8>? zF$Tx%$|zTLoOVc=2W-@E9(`4Qx*)WEe&@;ZkDom3UktK-Jy1|ge(ZD%by1b0)o)f7 zwHTP~pTG!AA~96$h%fD2pW<_h3_~CM(LvOepL=P)A`Y%yTR*|fF5mArGu7tU^-0*7 zPmP(k%Vrkg&+HM;^pA9NMmY2lox|q+y;;45?Ub#z?}&RLG);Q@7BI8dm6IN}M5DI{ zX~@hK^#;+G7MdJryuKeccAOTQ=GYI-d?kn|q@*TU&Mx1aUn{D?@B41% zh*Pt%2V#_HVr7JnMUA$?+_AHG{_w9DT_5ZEE8ZrA3vE?qqfajf9-(V2_p~_&f89Ai zIFL)Bz%HXhpc7*LKm4u%E-8;^yZi4>bic18w}k!1X^U60X;=~N;}u3*R8>m_R7cDh za?srzFLs_<{;;$89OxDG_}~4nkN695=PaUQewpSVe|pu>56LP}u|>m=I`V%8?X|DQ z-MeYSfF_|k8i+w;?b;t%RL6yUZSd|6pAQ!C$Z^nnPRuuOTM0vE9c7~QIVX;GR1E&( zg_Yjj-Ib)nqC)YG*(sI|Jtx4hc7^iv6u>$>&B>{@Nv*Fli@$AzGotl!^U=g8$~^j) zbqp$uxWPkeL9K||bx5#{xHJ#}AunG2*xc%_EtYxo=OvwvL==)tK_F+V&aCyegB8nK z;}A+0Cg0Zw2*JA!TNC1rze0n5wAoh6Jm)dkf9tb6-CTHuZGlT?6^(gQ7sCwIH)|jY zesdX>wd6)pUerR?=HxnCT6jf)|E#C$8!0k#kS|o-OzhRZ&ES*gv z%@^b&or}0(rqGnXL#6C`a)8kNu3te@QsAV>A_9^bb^@Imlm8iyhj@QpBJ3(AzRqMUhih=dnMcP z;ARdR8lpch_3*UGy+kq3;9*2K0;beCR^o# z%chLx{f)G`BIi?%EsK_K=iUqGvjiU|two6SaQEA8#L%)Q#K7Iw^9{dARfd)zHH{|U z6YT3fl;z6|k>dvuSO+(lQWNz5>p$hMH^{4i5nzt-1`k#4Rv2XZxtikZAE)BnFpGjs zN813qkRFD#JvweUHC00vtiNm2nV>-L^&M7RFrD){lI{ok=qMvB?+|G-ImHRkd9WWX zzy9`Opj-Dc2^=>uBn_ICo&kaM8_G>6PdCPs2kN$gm#+3#3tfId;Kr`rB#){Bu|Kg|LYk;@A}e>f1ZPg zkRO`oY>Fg4&a#8EN}q-_8;B6=eLW?;f{%orCnc;G(;y6cKyrJ z3L`tSe_*3s!7jh1aMcJw*X!Ytt)&2tsOnF-{g^klIkyzj0A*S~UgB>=xWYy4Xr3|+ zz;;q^);-I)$d(j?@wIM4UFNV5Te@0tS+$Uv#E{kSk(bf6DKKlNc=F~=(v>y@Q62n6 zxX;=G%*biTa%8F`W`)G-G&gMBp)&SKP2ZOQYvZW%ZFt`j~?AL-|qAg6xZm6PQ&V&o`?t~I!i1_)h#s((#~Q{5NS|cqs#AM zU%9b+RYbs#0o?;@$R}@7E>8{^l$>%caP?Gs?QB)a(kh-khd(O!l&HV*P{0)3uz(nw zT38AKFRT@Z;+167Q$}Q_qO%4WXu-#UM^js$JgIeV)!FMp{hk|5zxSP1@AEHRKDL(* z%H`8Jd2aqKFM0{p%|6_@2a=STcoT6K%48Pe%Dws%_=m zofqo!df)bnY<83dNX%tF&!^DUlqlu0ejDVHFhj*IbPaI@KeFP>{+eBGuq+KdZiG-R zgcutRhLDf$%qEExz)4k>5h0Brx|rU(A?WpAPQi-5yRqo#h3nF#Klw)yll;I~X{7d; z5`7JIpxE%lyK!!_%kSO4_jNBp4*fhB7M9bq8{>rP{cQ9?Lm(Gn>STyM3S?Ooj9^=MV!5}TcjbOa_X`m~G^zoz zxXzAr=5&?>2dl1iQ6Nc`$u$EpuMfcarrinAc6aGANpDXxc_!~R%5Nd-|}*6B@4K6SN3Q6aFh zZ@DP8{U!52x*i;@08ww`Y6R-}IabzR%XbTpA0yT2?))e;&gU`jA1irV7R;s3A2`>5 zni(MCsFYx&e!q#ue6>D^v!pVgZvs`!Y*uA7;<}=?FGN>{U!OE&6>GNfw}tvYZ$F4{ z;AXk@cL6B;hvH?Wf51EDg}wst|N8CJ&exXmCxJdg0hw53MrFBKd3A{PV8}7UU19?>Yj1sajjGU`$&Lt(Pl`rNP228 zy^@3SVDh4To*I_=RxWJ%CI2~iP~Ou|!}jNIn2VNZt7T8tnb_;)d^hh;dafrcw$*%j zO^O>K^hSrjmJpUHDGtN~yWJf5rrLvw1qY3LwrpMVZ6eALZKA6$omcG0aBy$5$}#jV zf+!r@uHVs?JbRJzjr?dWCN7T`=@N?38LhVN-X2^TtVk1h06PWS=^IQ;B0?mV*};5I z+xw_J&Oo&x$Sls1|7+}?Lw4DRz>NS9s#n?s^);GA%YO%U=xWCaLXY~goDvaM!O}E= zU=c;b3pgF#4|9c?Cho3 zUzZEH$I3V>q~6anu6ys$u7s%DE(=Kh)-k%(n$*+%i!{3`J91r%dF&@&-G|!!gad^y#no>Mco6VFdNzlyc4lP==jF?+3S-~YUGdArajfB7|9S5$q<+xf zwp7ff?}>b8?vwL0x*dd?%o@o%Z^jgVg({k-+NOl*zIcVu@3Gwil#S_SnX-o*uq zk(Eh-H=oulvzX_zqoZr3O$Awv(!RsgJ;S8LTr=`k_*9u__7ipz(s9r`A)yd zza;0yB5+eQmHoE|bBwBUYO!UM#~dZvcIOzklbCnvM^yHVa;gK+4CpzQX_Ly*$d9o` z$nW*bfAZM5^f~H81!|T~pC#^%C&NT)I2PnqB#nQVoSf80-@s*InG_P>358kD7RKxf zs>8q=pfk1_snD$EC!u8zg@lFer5REXELWQfHK(KINR?=K2)eEQG6)Su5|kf za>7Yby^7@Slcd{f7APR0p169i$t2!3ljur0Q5~}(7Od<@dZ2oVHmfR|2S92Ee#YVJ zxxOaZ&Y$1peH&?Dkj-Ez{KD?`VP5aeAd?Di4v>76@2D9|m+ zH1tH~8dU0g9AI2r*R&Bg!l(^OpGa!Rk%xH9*b#-rPjr z0ejA0!{z{MkIUp{aW4$k+sF(tQ?aHP7u)FlRDrCWpYIKuVe7JrCto|vPq(HfaRE95 znK{(%ezl>OCC;Bg=6rNUz;W@|E24ZMMCCLr z@U8oTApHsiS^d?25NwkdcTCBQ5UR$7-EpOSb8X;@Cu+>tTa4r|qR-~QoTyj(J1405 zZwp52VAZk=<{ugrUm(WYeiF?D{&152xatszz&4ms9;nE>kt2+gRjv64oppTUzQ4ps z1S9&54wjV-U7UFMWy3d%ih&?e*L1~cSwER+A z7?;Eafhvn@rKyvVkuWY;9w>1S>pOH&CUgsJ#lwAg^A%3yW|J>?>irLwLZW}|)}`^> zSd_yx;*_$bc}@aeh6jfqdZ_sW+~}6VrMaP~6rSO?68w0Lf%qsb{UCvamV^%y3^X{D zVMO8tpoPHt`O2*gR=}Ujpkj(^1oi*R`e-uu*fJ1C+!6_6JFUjjm*6Xr4&PRN)qpAm zT(91jryGHD@Nqu!snD+=2@^aWe!kP&*y|vQ65PrraP~p$-!B+opCT@V#F6(MxF~^qznoC>+oWfp*$s-{boP@#B)9|&l`;yF6tjBm!5!WhUfKmYM zc@sEYbErW&!wB57Irnh{%?ZUXVc*{1-j7%t&7Fo^UOc`V_)s=?G{?4 zV~G_F20I7av9t=QhL6mDPH(w%*1K;m78`LV&xyZ#0UzHw4z^WlC|;lIqZq#)3VU>m zg&1tp-(hpr03n|5wb^2AfAt4Xv6eHS)XxFBE@55x*^E)7pdLg z_UlYggqzBv=94;rDnR3LB4$JgrR?ZDp|_(rnm9ibay%_7xh1NqWCF#N4Q%>P9#~fE zig*HztiLP@?6p0P33QF1J;xwp_c`4Px}%(YW;6Ld7&)JceR3i(uo_{%(dCpBmV$o zi4=o<3aWNR5qj*`c>t#Ih|9*OOLs&$q?Bp-?&3s4-5La<@8WVZ-VkK?*A@5tl0a8v@}g%u z0t>Ras3kLRM$X&SBX+_PdLQf);g~?ZyTo|W$HdfI9Y;IsETaeyTb+QG6o^gH$on>z zz?;ju+p|e*@VaeB>lan!tp_a7i$DUjYeq*Mg=0q$NN!0pG?=MF<7E(4tWF!E8zL3k zjkXPPtpRIXu_^a_VIAF73#Mo+{Ntc`YUi$Vg`322Jv&uD3D|UqnFdN{0hSqcpOZ5N zW4TAcK#wma!2sj`yPg<0a04s^%VU;I6SFSIPl%Z4jRhMWADn=IowPUEC_3NS@ZI70 z$X%i0KMz)i(B|UI+S`DzRW2gxH&k`wC^^x6c=nKFmEZVwu?4l|os<|B$%kB=riF6v zO6ehvJ0rOQj}F2V+XTZblK*4yJ;`OAsy?bll_Sz+qQ)O%#%Th>4hVaMlSI-@X}+w- zhX1~^oJ;;gbb;r#;1r1*LkE(yb$$Kpv{_-SDSs(pUv`lLP)OMgrSe~1+E6y{lcDBB?)y|gFm6Q0j4Mj5eAryF#Zs@ zZ3~U90Hrt5;Ct3&{F73Jk5=}*X{u38?jj-Ftm)i%WOfPMzd?FbolyV3bM)rDwKY=n zQ$|P#^B1{PEJx34`zQ-=^!A&ZY>`I6t!L?EJdoXMh(OZrVD;<*8KcSI1%sEjvQVOVKf@+cjtoTTk9G-hwj8ip z<@$%}vHCI6ZZDJI5Qnp2!umQpVdXBjK0zMMgwp#J+urZ)i{M>nz9C5UZ#EP7;R+;< zw(piG^5l!OK;*=GyT19n?3fNHEH1TBjdI7xLJp<+3JsnsUh6BlA8cLKM5LY1=Bni5 z@|!|}Fm|AJ2zX@;&M+=i=Ivvohjx6onoQd2FVoBSA3OQXtl^q~6pNYW6ox4t;`X#Z z;%K-|sZ})ky-4}^6SkjTQh4|jm~Vg*(Z3#VUf#pBkZN@!_KR~aA9m#5F=mPf*mL$Auy9_i zsMlac*?|=$b+Mw-bU+BcVIWfaBNd*RJP!C;kffGj%!K z34WMWf6M2-KH~LfF04~;%xO=%E;^N7EX7Rh*uDIX^x%zW=LQzK&)s%N#p-us3Pip1 zX$v{Oy3_t;V9*t*7Dso zMF_eKK1{FuLp}oiHmu#S!#n5kajtg%;BI5UM3S@*#=8~fGL+RR_mcH2xzRm+&lRdj zjuW=ynAtb+lRdDbdKQofQG%+6ok902zSNV+S?gZ(_N4y(TGJUotwe{TPKDrId4$hC$mJ0qNz^uPuLcrFTT# z_zb_NOx_VRs;-HsUGrmNJ8FJo1pO$j_Or{3C$LD!ag4%RkTng(Vs&+Suu}1Di%UjGvaCWjQCrEvBkHZ+jA_@}7+2vBUFoGH+pGdQ6kw|AmZq zvN--WfAv!QM!wlkc5_T=z?m4MovIV23U>ma(qHVN10Ug9>~+Fsws%{xVLnV@a6mU2 zDpv>pK#YwS$SWlUyCl~4l&{81q}Ad<(oq9iS)bq#5#yufy?K?V4bERDTCLinL^F93 z5)$pup~+Y)c!%yNYNv)wp1|U5Jc>I_)ryMOz&_skdKBuB;dj5uquCJNu>d+B)?A!3 zps+V9=r?cfY0kesEMZ=)EwLIRJPK*!1?^NEX4{S;xiw=*(|=p zokrub-<~hM_denOWa4$B|Nl&UnS?Pa_NWVTX7po!Ahw;j`*FzGT;l}~FE2ojO>##Q z0@`3wRWS!>skVC&Q4%A77RQ#kNCXp<$pR#?Yl>Fy&?co7M|v;6OL%HtU(E-6LZh{E z0RnAETayX*iaZbVjxMqKu|_p7NKyA3L$2Ara?$b*~9JQ z4o(jpCc0ysVpvx$siBc5U$%QBP&gaO3FOzH8kN_wDTV?^bN17Fk8&f9KC~nJCVRiV zD`fNui@N);m-ihp*RJ+%Le`9X~X-bmCv}nYg~Kp?d|D&Ui;KtP07`J_);|Q zDSw<+DRFk^@o)(zWwsfELt{c!+vlk84lSrk<+8;-#5MgYmh=Pdp!85≫_6l7Q>0 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%0DI=>UCBHsuv7MD~_f*pjfS7|~}g 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 z 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 QaKMk0n4D;-u&&Sl19hiiMF0Q* diff --git a/UITests/Screenshots/images/active_call_view_pause.png b/UITests/Screenshots/images/active_call_view_pause.png deleted file mode 100644 index e90cdbcb76ff769e13bb6ec504e5fb954706b95b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 162549 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 UGno4$8VLB35|bA#71s0lKLMlRrvLx| diff --git a/UITests/Screenshots/images/call_failed_error_view.png b/UITests/Screenshots/images/call_failed_error_view.png deleted file mode 100644 index a8300918d858b87ea9b084ce7888e55972ab0a52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 225988 zcmXtgc|25a*gi>$GHoJZ+N6>#$!WnYTQGGrGsmKd^( zCB{DXv5zrh_BrS0`@X+-KA-1v&w1uK|J>)?_j6y@eLeH;u9?X`QE5>D0fButZ(O}E zARu&JKtS-@?p@n65~Vw4w~e6peG?;rk{+3*?Tf3N?^BuVDt-to&PP_ z9@5)m`}S->0ikUx_}^Uij{o~r=zO-&|9uzy_TR!b-#GNPk$G{|{K2-}@!#C`XJC7r z{r|RKK(JzEL!i`5K;VkN&8vnF`~_DVIy%4EK3YGvJ6CCXxb(%qWbJU$rGb-5ckiKv z-|h~4`0}}NqMJ#*$a-JY*Y9TouigKUCh~H(@6O8UhxZcm79V=MoTx3oXwmh=rOex8 z)dLh3y1KpEegtpG2Hkm;gr!KXj-$Tp^P6~>hGLWZ-;uBFw&Nn#c z+W>^u2ua5-7h;z)2}~r3nGrHA88S_`L~U7GKF4k}ixv3cxDy3TU?s?$5=3ns5HZ*Y z8^H0$a2W<13K+scqmiq0DjLP3cbFrW=}Ux=1^NgfghAgVzsfRT)>@iX!yCK<=X){+ zGAt2U_Q&cTf-mvNqtbru@z75VLZTR;$`o*f^ z?}Uba^L0fVO1HFDJU+-?e*)WL(>>^YOvkT7P+GaP;T12xP`@{NSN->`jLSU`gUIqF zZ_Dsl-AYRLEFa(C{^eJR-SN^45iQNLc1S$bOL$_fN8cAP1ibZkZ-JUxWzhhowX!KjA{D4Y_C4swEsoLIVp2prH~3FQv%Nf|;+ zpcA>pu;)3Ou{c(20l0+&*6A}`5{lDq0`ubhF;%(wMO0d?$Lr~in4}k+FL0Zwo69B+ zRzvpAcbdYc?loNtYwE!6c$*YVQ1BlYwA>q(o3~N>Sx_0G8YKj*yM2KnZjS$aA6B3t z;Cvx-c!1?97trkH|BEM#$Ci^9HiJ}ZJbb6ukH=+(6X|K-VJPylCtglqFRAmGN*3JzGwYA_N$gIcK$S)nJx*vSPHV4Z^93??vx2}>p+ zb0%gmkOo6>P#}*`_}9((vS=)d6df#?OcF2_v{-YLHORK~c%jm-QbWCb z?P9gvau8;|-VDgM2n$?R*u+GQc_Uv~h0teciIdsZ*DnO-!07ce(c}enuU8yf&{^FC z9AjwC5*e^3QHQQS5mEETXOXpmWnPW>2KSY=lfDnS=%ztw-3k{t5WMyHW$);bSLGNv zhXC)~({Y}&>UwVbsvF-%IYgu&+sdjUD9(4hH>|iOP4`!Xs)iQ$qCMj%B+gC$at1er zZ;jDzHEGiYhXJT<0E_1~yl{wt)BV^&Q&Og9n>_&I4^Vj{S^SZu|J-f{<@82N z)Oh?oEG>FbdW`Dh_#*vkTlA;gR`IpU7rm95VR_*@qW`4s_%fP0+jv;D4ih?+o%F=8 z>3VC+-s66FV%;$L%Ef88x8ccg>j-#wx0|>@r3*GcFLaL_V=@9b869UfyD|9dZ30(> zZ7OL2uP!7Eq)(j_cH>}>q_gv5>O3%bmkHo$$u8bo=h=M za8BL_6Em8U!MFb2@XpeFTv-IKITp6ofHge@b1z=%O5ysEp*|+8m(j0sapf{CffMX# zx<`JR8x2!1hk_PnId4=&Vq(6@v07lfmH`ZZ6q6CM;If^ajbU`-0t&B(qKE9P4(?n^ z!!D(nky!C0|G*Vn($5_WZa9XUIU=Cb)(jCsOEZV_2jRt^0Ag@AG2Lpm@M(Qcz?{)M zuh5a#GuHwIHkQ1%CbT}>_PAeqf9i8jp{BG}pltY#yDjHKH<0GCX2N@$97=rw4S~Cj z<7)ylMvfXU71q1P7InWrhjgF_#<=I)fddO^Cj5o3qGAkn5&q%h{GboITMJK*oWNrZ zTvH2`%f+fvCocDZuRyyKyAMudG8xW=Ld97H8|k+GE-MA?5pR*(VIBVhGOORGrf zV~2nGU+WD?jUG_{$@H%RwcU@uVTvwYfQuCR%g)O1gp7ZESAiy<74(K7@a? zOPQ7L$aL4$NVu)K`(>NxehreKqmRGH8{g${JT-!7*ssMuvunI@DDMw)a|T+WPSB|k zC7itwXikwW)$sMak2CB;Jn%PdPWv#as0SebW+*@3#cz`zo^hU%p-(FXUxvGRxB(`) z1A6d8+<745Md1CH)w09 zQweJ<3$;;fE(^57!$o(jzjvJlk%&8EDqPFHDehI_o9qa&1DF>HQadu058HKp$o%Yd zCn(tRUgP(-9iwMGh9NIEQhRQZ{2qHSCh$iukyh_yJz_#H+WUbF**Y3p7IfCctni~{ zVUNL}c}AhK)v}voefyM~<6$Kf5046-xzkAj0ZO6Av~Cz}xAHY-10cw$pOmM+g>KItjWm=zAZoDOVhTGi zH*DE@gFlbC=b-xRj>iT(5V_LcOlikJG>THYsXty?N~ z(#D8ID^86)IHX&FuA87ETv4{*Z0;nZnvcL|X+Gf1PxejpWW<5c^+YWA`}>CN{;6Qn zcdb5~rY+l~u89RX8MlY&iz{%xB<>R?d|&ER5gq}Lfw0cmcO7FHrvzZW_&IQZ2-I5P zr{4{fCrug#Ywl7UUGR!!u?4-Fj~eY>d5;>2DszXKw}33MhJU-rq`JV*)KkcQPdfo&{2B zu)|VQMLs(Yx=Wl9HPgTWS_Y~ih5e=HY?LJ~H2rAa$;)v%nu|Vhihc~zx|inUo=83p z8lobrr|kCDV$@V0j0;7JB`%^C52Q98h89uJ_2z_{iPuumwsGSXMxZI6zsJ`*B@Rk;Syf4N;ElWCfOIF$1HtlxtefeEE?SRKA5S?9}4PoIUG z4Mt;KYC$wgdqSI|qfOgaz-a!gAMl2NxF1(eY{X3+;m_Ds{QH$TJdZf>^iDl}RGNZ> zd_b>+VEDBzg$-WdA+cX2x%L*QBz8{Xr-sOiFH%c8PGK<)!R=?Gx* zL=-LJ4*hv|+D9C7|6cF(z5U;{ZT4am$-xaTq#PPJ_u)-%vhPOiENN{_m(jG_TeXk+ zx8RaKC3O0@Q+k`J=hPeAPgpY8wvppGvo|S?{Y_W7$wR?{8yr zdh~1avA_uqiBZj2V&E9bvM3o77t_ry`&aHjX#`Jf1i(Qxh^*^Z4!QFWsq=MbF{5%J0C9 z)TKkWr6HyDt{G08;O2WhBoCdvj12vNYn}E}FS;#7#699pMpViPjYUSrBy(hMwuP7) z9cY2fEAalPd&X=-K%|XFv+?t1xVBE4rq7v`&K;y1Xf3e?USqvH3JJYgO?3nXC5AN zWh5Iqv1_RKOBG#=f3pPTze>$M{0;j%ofqMzJl#m)X_(Zod zZU$=aV|TC`b{eeQ=UCuw%4|nvX@WuTH5E0_Kj5Vu-qFl?|9UKOpiZjPXzOxh<4Kp| zs*EJf-J(}3w9blTV`4@E_(#r|W%~B(YvIE8&^aDr(3|fkuRL%YjVpv8^`~Br${xS& z*?;XyOzL6D3gug_2#>qjaRz#&3)L#;->^odeyM9N9$N_Hbf2pET3yk8k?ZZQv3yf3 zaN|>U9L)rrNj^Tw%SE9cexsfm$kupqJ%u@l>YJoj|9{p3Pi5~rfYMF8ze?dMlQH3^ z{4TlGp=u(|oB1|ff%?xMEE<5Wt)geHxhXr`|H^vhb>BsA)#+vZ+@5@=Q8K+&%tYCO zA3#*vFcx2L6JsJKvbKYYNm>a3D;o?DfZqVAXuSF^o5)$Q7e78UQNnYn7a5iff%>I`C6S$P3SsbZIIYe*1?K$nXyk9^cyT~eY(ev}bjc+PEvw9( zf7{P-A_$A~b|E5LtKYg;UVtyI&L$X^8_Y{6zl`^)@1zB@nJ;UzasXBZ%Q z`j^GZqVkc!Kr1{(s8eBtb@;Q|wU(su-}`@XO|I?nOh!iCL{(+zrZImnHMlY(;?8bIA);H{}i;T`1sne$kL&a@2q{^H$h8*t{KCYv8YlUth*! z%`XFY#*lK`Y4~_B4ih#}em8*ldlJccz#sTDHXp}{zNw|!GuiXytBmuowRKwbv=3oV zlty^l?nl1MWd$;0$Z!e%MGtv^{>2G}N$kSxL2h}o#P@dAiSF{RXgOWVQgrD3Z2tVB zg8yXPcQ`8uH+9ae?n;Li;+fszQ(1#J61~aNTfXxvuJO3Kml5rDNQbdQZ5)> zP@yIU=`y*~K%f5ol}_Xz&RLm$7nmvsj~-kAvv;ew@jYC8VAm3#t1C?W_7QZl%6PY^ ziMylj^%mZ7_jMC|1q(`9g12~@nHi`GgKt?wX*~k`JCE0Sd0TIkIx^eYi+SayY$%5| z`i-aPt7zBk^7xp`*h{*Ko<@pilMwR~k7AJp(2*eFufCWBa8IlmB6w>*sQm5lqw9;% zVl~TKN@22}ZKigc{TegN+{v%+efPw>&$MhxQD!8~Tr>A|%#Oap8M%G*2)C*XRzx8~ zCN`q?IF+KQeE#~c=xW7A)yr{D1$+-5ln-JEn8KXatZ^rY5N?+cAzcbVH|R$~>Yy3B z#ZzZQwB@b>;zuH)mJGd@Uz|xzb>l-g`XO3;1jhiEP94I%MEu899iaL0j+PzC(6gj! z@_f~LdEAf^tCZ6?f=$Q!&6sdYPs5(OemgrX&=VK!L$dC3X^fre0EQ0i5)t0(o#$~t zu5Dw;Kj)rS&l2RZ5OHO)h2K8eP7FS>*ROKkspRR-g$tSI7Rn!$2G*dGj|u2b)k1s$ zDsL3z_mF&B19b7T^+Z}VQm>v@38&7mw_vXEepp%t5o=vrbypiuZXJ}p>2+{0_`cEf zN%Fdeh+vDL?(~x1@%H);wlo=OZ;d0tZSg@zM57L^hASF2R(xvgH4Hb`YBt#$IhAW} zko{3aZue=?Gp2By$vaPRi## z11SM@(YLEEl+@wT z@Z*QJNu;TjEmz|4w5K*f-1NE6QU-KNA-J*>;W9wp`@hNGJ8pzZu0`Wc8MfrV18>sb zd5=5((X&B^-NQB-tovjZskFWkJyOhskViBb|KP0UGO^^MurZ{B!pI@sjIh+e~O5@%PrFdUO_dr_Vo`iO(1;1X$&B}>lsKH$^Yr{L;bwp(2p598Tc3q1j$Z{i(`=u`(RvMLdHQrzzL&Wu>V90um|unvA`7yUfH8 zz4dXS*BO9c zT{7&(h;eZ45WxjVL_E0~T@{T4bI`9 zGH)`yWV`!xtIX@$U3PCYY;`W!F<2|`oE_rMvc=IP7jcK3;+&m(yB*Va+r>DD;|l{s zavS}NwAW~I=k_V6a4rWczB)5pG~G1EyS069;f2` z#a!+XcpgWKC(RCl&YYauDl%PS1Ip%U@=eLOWqp1ziu+^cBM;j)2FR%aufU)@ zHmQ<{UOydt-VfH1fIq+UB0;}Luhy9P!bgPx=l4T5rV0BsJLQuopdUhdQnzBj zNtG-)e<}1{-#wkXVxaGHhlllzP+`+d8+^y~SgTn}tUc!r{B^2dpKIn%6&<%i{?xwP zE4f>^zX#Z@sNzDU4696OqFsyuMq@8;FR#^Y39b_X>4v=lpzi@KNqXHjY3L;Kzk7#8 z$c9WSDS#N0aQ%a=kO`Xpgc< ztXr@~N$tue+7Lwo*G?4z#k56QCI>xf;`Td5Ry`V4v9@wSy$$ZKRsIScLR_JinQY)b zMo-7)vVXencTKFc(ms4%1qLnb~_q)=XErYM&$NFT_!g>k0@t=`J~Iv zxDgJ%x{9w2SVP9Z^Xu!Zyr4#=x%>(Aew33f7Ns-tLrWi@a7``+#%TCv{=AlyEOlT^ z*YRlNHTkR7mZrIfwUXo;+;fT{7LcH@mdWXsm3%)lm?{#+$Y`F7Wt;Ss_PCP1aZQ*g z5^8)zBa>R-9o3^24DM=UH_djz#MuzCEyUZB50$fyrX&>xRPh$0YiG*0wAW`$H^uVj zF#r}dL_<85>)GZV$AJ`{3Ihs#I0mFN>jN6RpUCSgEyVvR>E6zu zw!o?9D=Q8hQ-_g5{>3LOvEsX4wKWa?5=+onuqM~q13ARTDxd-5v6p=;Wheq;>tF-U zm;@R99(AL`*tU+6{8MB5mTbYPj!X#`mV3~ZA#XWJHl7W!i&e%Xq6W~fssYUKP!)I} z_ImvYp!wSCZNv(nwksZ%Fx@$E@rieLMk{k~{ae26`k!_@?fRkWxVEaz zyMguCEp9h{v{#|0DJ{#CZV9F|U;yZE$;|l#>5Ixts9()gEy_#eA$RWrRFam}{`wB! zS;}pE#m!=qEjB@sE!f!NL(rnnD<147MLuT0)>@-gSny!;NHO39R1G=up^Z_DM)GD; z#3VwlW_7;39Qkh4OBJd4V9#aotQ~)fQT~)G+2+cl+7iL4bEjKc+iw}~g%~S@b_sZd zI>C${6fW0O71Z_>F=9=^+x}eJL`a24#vYP&ZAqBPrpCf0_Ew^+Ccl2YOQk#tkDd{d z^0(b_kE%I!8r70r-FTu!n9~35c)M$ zVilNy$1Og?XPLYOon4I4vc&nkS>UEu(h!xT>YRM~<~Y1!nK0z-qY^3^JSYcn?#dJE z6n{x-t#>u9*uVVTcv-1cyop%1(6gSEYFskh7Ka;p7`(R3Hvt6p`T+youvb^1M>{M| zy3OFRsL_%vD%X#Sn|p|!K`CF@c*p2w=t@Y>s}R|69@CMJPCX3=rQ!S;H@H@El7rNX z*?)HN*W$E?c0}h9?G9Snh^9%g1Wn>HeWn#cZ@Z{wwhhvo@(S8SgL{8s$s@K}uF8TD zLxMSue{4C8!~vcWA~;@=cK&2na){r>w#WV(wjTt?5H~h`RE4t-pX{~HnhEn{JW>qM zkOZXj$wd%`6*MSUl*~HlnO~$I%5%!vs-=MV6wr>0`a;z1C^2QGA7x7xFG!^{%qnW<$%!QZ z!XRz*A=p9^H<*|WVuN8>8xI&vV4HPx&Dn%PxmMa+!O17{TT7Ek2d;`5?zD+L(hv~# zC^L8G!zZfk$4^waobH$ zH`IUl-`rC$$bW-XJxka(iy$4dq(B+oDwV*^s6}R;Zmjo-o`^gfY{qn%?Yxu*AysaA zQ3KiVM~n8OBy_o2?5#~yUs+;dY4jdpf$}H;o2@u}PZ!*W=*rg-iJWl{%V=3LQ8XKVd~t*_4y1+u#0@P>c|euv~8&3_nSxuALM@Ut@DB0>KI0* z=f1Oai@uz3_U^_Ozb(;D?A3$?KUYOhOF~pQU-mYCvW2NcRHN@uj93x~Jp{4Reyv-? z7%<!p$SnXU;K$>y9RP;>eMoj&xL&`$ivdvv zm3vxau$-+-W_^Lo&SygZL)DUDj5qdD@!x6ZajH<%7(gCAio6=F3uLEo@o>q* z3Ai%Ng{R)*^5dt*?~Q|X7GB^#q{hK?-Kc5tLhbItE9Zs<2i!OZkdhZ0FWUjP)jE=J z;%$@8xFm(AI{oBv3<0(m3Qcs^b7Du&E%BVXZ!VG)K`A!GWTpK2(^5x+IUFH6=7U6{b0B z%SW>#5E2AR03qmE&gM+4ig6f6Bzb?g*7cy5XlRj5BUs~5x_u5cH zKY2+XwWTZ2x+3xxhQ1=F3H}Xu|MKXT+8q-tEbwJK_vEX+=XxhcJVWzW^gCT zqb{hv*nsJxfIeaP;<4%gjqwjT)OXKl!Pyk;sY;iMwnJ>P&ZbhzRoqcEyM+Sai=V1` zNZi74RJ^5hI8o;Hg3UrPYM_rJ%sKykndhFJY_Rb^3_mP*jC#rd3Z||xV67?gyK)L; zQO|fOA(_v4chV_A*KV5hDX9G@_t=ECu{bdd6n(#JF`2jM{D%gjNZAO^cB z45X%^@lAO$S1;{7^>}y4`XO}hvdoEKDG@*0waDs_eoIsP(jsk_cl^Q3L_azpNI_2d z+iX7*`=wY-n$J8CFC&b4pT&Cpp0qLs_L}l`=vr}{n^*Grb*tLR{Vf>XY+ zDmTDiK|K-dz?e@xF#+r$`W}hR-bMBx_!5kY&l-tdlf>8N5?PUXi>?=`Ub70_DZG61`G#|SXOOBziXDWkOAWO`w6C`TP2(cuVl%v1-wPTAPyV9 z#WrWbDR3Ihd0U}rIcEYh2An|&wk>=SHzXI$e^-46{0a0S=|+ku>bNr(on^;>arYy1 zwc!qA^$iVKcEO?u1E9y_rbj6Tn|eE3pDm&ApSIin|~YWjSgm&&Na?F~?lkmbOY-MEI`@jG|lFf5X5C zMrfpeTR3B_g7{hoiuQa}5NRNKJ) zH|^=Ai@A$mpHD0L8E3UOwBwdhQgL(veb$${?UwdL@ueVWWb+nBVd{4JMJ@V+phujD z>rFZvWeMXIA)m=Fy#S|>ZLTYYGGfO2II!-dJ_bZV+(E_P!&LIQR#KhFVde@pTV8v4 zc%2(lMu|BrQis_Y3)@zuNaN357ezDw9s9`n`!427GXZDjzg3c~sNj_0eZ|(iB`Nl8 zR(_6})(9&2Dl{<^&0J zoX|0b=>ntq-wv%Fc-*1v9^3bER3Q}{uF7$O>J&h-rX^5k?TO@FfCAK(N5J+A-wrmT zPs?ALiU`?;DgWe2BoSf}d zZ|ePATwy)ks{JeImz$sA-&E&SQl+ji${Cmh30%Tb>b+b0#9)HLT8k>FBWtM@jONBwHy)yt;GaXQOiMn6k)f;nKctWERfRtZcZZVU+Os zwqTlUquqPKx>KnAb(d%WL{+=q(8 zRH9?9FKk%q_vS(ET<9t+sK(#o|3vo6x4*tU+j0H0$@T1V4KZul$z6ubj9}?#iGN1r zaIIje`>Acu?u!gu`dVR@YRTE-HIQvvcD5Ee^z}xi23*T}Agtf=iYm_Y5oY>>@9n2G zy4az4eW!Rn$W9e{@8JUV3dl;wP1)64iPdlOE?|sKNr`CIsmU!F{t6`o{~`%~n<5a` z^FXPT=STEKvR&1rsEBmp5}ccJZg|v!@3sZ6zs*l$O3n4+UcdedE%<%AjC9raC&XH>Qee&V`2Xgf=KD=+CZo&bx%xYQlh(M97pI-7mqeUD*< zT4MX2(3>S?b7H0!h2o&=NpyF@&A7I#^RKMrVF9tt<6)nco>H`tG)Z19ssYdZHJ{3a zw|K!A>J-?_-ELDvESLzJLRniF2&Pj|ExKqc?}W<#AV;u00NLl264VQydwY8oEz@;k zwvvpS#k}mPdh>Yrx_vb(C?1?wd9MwYtGv_9@Z(yE#C4A=TTN5hj|EkfbSb4vV1z3MGMfL7wyJfg_}^$oai+C;)mPm519qLPn5GD z7KO<~tsItp5>Y&+5VD=@l3fgcFGY*AH9nVtm&NOvM-$~}F7JM$2}^x7{IAF!>=@2s z$!DbJ*6*cO@DZm!gXJ0+3pQ-``Sd3O;rtg*w7r!a-f{vh-FxlgozuxtHgWF-oW7Uz ze>xeZ|G;>NYDrLf)dLCs=Phs&81^A@P(F?H=*E=iQ zF-WD^pI|$NaT{Db$2~Ltke^4g9@Yy7e!S)Ke4fpqniO@gV=_2Wyse&iDTW-Rf;+v? z`}Az%R$k*tty6@02QR~a_P}o>rvA;WPy^+ZEnCW_l`ac5d|{%wJ~z%!a6qP(JI&NfB*v zdSYQff}Hc-aG@jG*#k(M4AYged9;~H_RePwm(GfQL$7QhGIEIq)l=I7@d4N+<)@0Ooq{`ws30*E}Y%cJqv%**-gpP^yPKR$~SDu zYEYh&V9|fRKdDMiwb4C&3HWf?o1?V)DaE6%fj6P zrHOU^PRh)Tmk|LB7pP0%02j^0QE<&G+{@ZV-I|##e8NOeW?#RE31dPJJZ|DyGS!d^ znVeH(cEEbJ5~&Bv_ASssvWYr||zsKBWy?j9j9^L;eJg;cQls$b3)@irW*1 z0|pWI|AH4`&o7r8*670HOM2lvg6hWB@=^qpH?=er4X%-{+QF9&9u$)jX;zhxvC)#! z*OM>(>|!taWu>Jih@d+9lhu~ld@T6L4nu#BpRS%-@hjQ$71oq0^0R}!cIK7G?CCnL zO>2$&kDlKh28k{)5xyyL#;Ye4j?#ll;U2yi-YHmlD0;{B*{da$H77zB6XSYc*@uc$ zjqZW@=+Y%wqfoxdP(|3_XZ75fSAojc)1GDFh|<^TeM|f3s9}ot-KPB`KetvIZ^EuC z%DI7B_@u}DeDnLBBpQj1uU!bP2F9w!c2)B~!j%CWAKmHEw#}HxRM!T{DFaDGJELdW zgWTw?#SAVk^R&sfApgn=47U1JKC=CJN<(TVFr{d}qww^t);MzTx+1^Ba)wN{1v~-A zH8t=D?PsvjFJgn@a1ZP=)J@iOpNs#TyT-xjU#%Wha?F_BUQ9z8N~MUiy|UIyi%rRRrCKt8GUL6V(~gwmeL zifeB|J?*>&a{`)_XU#Gtp8ndE;G9|6bbI!hjKM!l*g0YV~&-^7;@nv~lTTN>yXBAm6L2aAxPWuCno0RD;XNa z#0f(l(c0gPoTGWBOEY~`%xNMy-zhjG`APa04ASk%KeBl6decYL9AUKYa&UpkvkA}f zpxGWcx06ru`_0rAsWHIUSOe2~bFP3|fc2uH%el#^JZOfRXOhPJ(Lsjndh@P{OX95q zs|DS&K1&`X&{(BKvvlN|iUs1GTCvG0YVnfWHkmaFr=)S+X=H#Lp10`8-Re3iWXnvR zX^Py3xE-n#%zBr}h*c8-H;$&h!mwcep>8s{5K`Qr8G9tw{eIr~e+L?i4iDT^Hap_z zc;#wJtxYG#rc1RzRyXOcLj0ZVt#zo8}$DPo2x@w+f0A**9cmn_Af zM=RR(wp*~?DD)_rDA`O%L(Rro;~2GBxh;mxs-8UKu^^e9+52A7Jg%dpydO6N6FzrA)nK) zxLUA&fi>pwPT$fd7{f>N9O+^t4JOL#jY1-7Z#uIbmd|hTn=9WtfRZs~@ST3Q^IxVd z)lLf`0Uw41Djl_QB<*^+pkv7$JNwLa74tFxq$ke~ zYi(<9-+-4g4Y?=zd!Y4GIoE5qsOBL?e~lb>Mp}n{*!-Jw(O0bRR<4-xhU>@}`b|lM z6@DpMwGb}(9V`AYs4b@tVn6+}MTz6Bf;?X|Q#k$gf0fT2|0$n|m(r~rN~4O3nk?hz zyRPA|_%CHR>_ZmoP>Wcw1G?DrZOHVF=()SF*QsadQ|5FraVz~ICf0@-vI5&gdp~FA zr<>b?m(4mz_1w7k4Nv96Tmw`xP!8TeoYI&cYWBrMC2tac)Sc6JRM2%;*!TDU>>=A! zin%IqrsJEc2k!^>d-BEB+;LLOn7y~%%;aC=mlR~i-H9Kd0p_;~?%K_?E!PaGZe%z? zr|d3Y9su#w(+*U-6`X9rvje=AAi63 zt;0?s6f(nu0vLSm2O1-dFttE(El?Ebpbpw}SLzSXRQ&dd<{Z(nDRbm~RmN zBw6z!1HbWsH>f8t#_)~@k-S4$S`(bP0t0va&bNQ88ebXyfeRiI+(}Wm78{qE>tvmW z@$sNO@9ufk=HQw@3)-{z*YLTU`R9U~dm8@Njhjk0Nb~)|nFVda~zqg1G!XxZ>$BRWJ(d1N*q0zm2dzbYiG||RT{YaEeyu5c)nF)U} zx$5;>y;uOEI-|c~K^kh6fj#1%GNzrgo-+4#j%)BW5JzTI&n@XYi(uy#*dozB7FuF} z2k^htBVIiC1$W!~7-L@d<7>hBuywCKW!<8$&VP^-6z>besi%H;IU4aW+;?S3vW%dK zYu6|9|DpQNocIY|%nF!zC#(xLLi~Tds$cj{P%48LfEx>7GGG|$E-jgB~Af@_53!&l>RQdxr?hbZ_ zaE}@6j1Qc;wxO?J|Cz~2G$?JX?S|?GEG4UCyh1LkXWeTq6d2gGXkg}Qa!0^pf2u^C z*b%hlaGv2`%7z zVgE&uq1KMG=e1Ui!yILJp_5q;LaQfBzn?vKRP<46gukoR!o^3p9apMbJ_o+kdhKX1 zeMg5-XcV9G0-NQ|uYToorW~!u`D3zc#AR^vxJsKg!E*^BRK;V$z?%cC?L*c7>C--{ zyadzyS`%Qh-cTiAx#VOB+G;{g(`j8r{_Kk|pE$pRJN2$z#Sl{$R_??wUUX$FA_4C| za%2@$-x)QX^|EfaR~w$&%Izx&D>O*wYmghwC6)HvONX$4rOM&Q6JQjwf;ao5$j^7Pp(OPmzmrkQRs_Xt%{NH~8 zXdtIQOuir6NF;4CWC9({JJpH#z_*nAZLyN_BK#M;7q>OSeSfW@--v`J+fJHtRJ4vh zSvr#ve%|S|MEV^#2ZM!6Xeu>Dz8du&O~Vp86M{>@|4;;LU*n=M2&9^pUZ*VOkBVQ90a*WWK0}O`!{quqSGAx4+#O zxUos=dI(380_qDwceK9FzYHutbUJ5fZ%2}j(4HYRTS=L@N=;Goq@dnbJ{w;4N=AHR zL+eL3sY%t08LINmDD1f_Y6YWrKY6IpOf9+y5#>OFn1W$6~GuA_hNk{oluOjNXRAugbp>HWW=sfE zV(^eU$9UnMzldz5j?2(@T^^t>*WW0S*}3+dW=i<+SF=k|tS<&#wh>_n8k>p~KjKec zrI^Eq-gNQeoV%Ti`+l-a%*!LJ@dfNE8>XfRd5l?M$=jhd+Lp7b2UJLnnE+0C=X6${ zph5fJ#YY%mq|&L)da=&X|5zVRcn0WJ|!WRa~BQMx0cS`SRMZa#Wz%yOES~{gYv6 z5~TB;G5dkAI1Evfh-gv7E+g41o=XtMKckS!XG!}|V}Br;pq-1^dhiNYC39Gm(RY@? zTfnBLu}gxu!oRYvQ)@tb=al3EaG{dM$6PHNIAItol=bZDg2|PAaaUq$Gpk;X5S3k|z5|uSYi9eO-ulskDom^wf4A@9nYqJ|b15F> zVGPU=pL6TubG?5~IDU2Pq7DsGj>=KqL1jUtvV+6F=b@=n+)`%mM%7tvQr)~4Z@!^CEp(MTEXP%bQ#ZCCt+ zt-gjQYR!1@!wy<>-t>*IL{~-bIxS9S)F}Q825lmM7-R61OlFf`wdvikrzMoAL5ou< zj_qh2ZNelUc4JQxu_?eGWo!7jj=))L`kASi1)Sf#ZkVeB^g&At(G5qPbv3E_Y;?f9 zl}ODRXoLfAkf0$~$_EPC?G9%cFbNk$o_AD->yYg{!Z2g&Ntn>RsFK~tDqe`6?zmR? z`~+QC)4v9MWfsQwti>3+Dq35t4I3vY-{-ASOScdMDW8SJOmD|tN8NpY{+;ULVMnPa zqUzFWIxmDGIa1BBj->q0>6oVIZyNAq|L+5~Np}zV)eed}+vA0ySrJ8OK3i=EgsO#MwAe z$3K#mt)9a2J2fJs?wKLmJ_qb7q9iPrp(32!Pk$}btE20gPNoTx!Xu5Spr%s@^!$6% zN_%cM&syMXG3Een#`pj`a%9*4j!Unyopi)-KSIDUP9&FQ_4k=cazhH;CFyxG%Ik)Oc7_@JAWRq|o7 zUtFSk*^}|7pQoH}8$@%g{-OGquwb6VLO^Wmm zi+&CHT1$v+^0y5yLx%$5Q6vQczPC(WuqLolw?tP|$Qy;op`~V^o2|g;`{@>`or?)F z@udxKC8*&xsT6J%)?wCbks!|KIa?x1vBrA)X2DqFsh#8bD_J#T!(9(1;Krb)^`>^% zq7rlFY2!F(tHw&jc$FX&{T@8UuEM;wf%_4W&YAyo>3k+|1as7EslD+>YiQq0tk#^HqH=G4r@?=(6VB;rCj2(*K7J?uII;vp?p0uu`TYSh<*j z-?hjMAw=s%+6T*}>|>bjWVmPb$F9XHz=^vzsh4Y`QwuU@(TIgm1N*#fnd6d@@`{Re zs^DO~|6?e-o|2o#?0$9&wpA|RP0<}`y+EBzWxE1vA4FOMve@~sA=~XfUHE|U5+G`V zT`s1L##5G`Y?(d+F3R`iE%}9cdyd-useQoB7=f+%k1{4}xbt<4IumTz9eJEIGPbFg znEJr0+a@ULDz)|a*&UU+uwPwxgEhb66|$>4H}oBMoInf7CT>eapZXCaPy&%uFCJBt z4%u@v+wLwwJus{_)cUNkzViA3AJ1`~JAMbJ+tJ`n$Szv-A_k$s$Igr^6Mxw9bmm zxyI{QEq8-4`yNIm%`Xoc^bcJvI}EoC;YqM$aMi8S)I*bh9jfPkG2Aca!Ek`i94`$A z+o|Bqb^lxDI+F6OuX5#GL&L~$6g=`qQn0zlwEqk`{J=)l11k5B?fkc9yk}IQ)E$D? zFY$7Th}d?RHN`+nP3O@89leiV&_BVyT zFfY&Oy7=V6m0)KhmJ7{-h=T@_k{k~hOj~gAZowWihBGV}Q?1#I+bZ~Z`LeDnHL?#n zc*5N}DW2;N+B1YY{cb+b;=~uCd>#e40lb6$J*;Q9VSk24^+jBkaJxRqXf_t31HQI` zRe{S7$D!O81C?q|<*<7tJK~w931xGZ?rjF=5mW<@worqbBW=*vyReE)^q+>(fpiaok3EC2fwDZZp12(D?XgA8h{5%Inr*wUJU8_qW`230p4%jZy_={7Yqrz3g5K%x^m5><-Td}0jUSYJFd3Hr29U?mO-mjBpJ6j zC`fsyxDkQ7Y=M&|d%2))fX0fFG{5#3K{V^4`qLz9xwv*qPH$Si`{NiG{*bdC-`JA5 zWb$J->#KFb5V{qlVVqgx(`{b;KXq5(qLK!_d9!j6v#6uNy2w>rCuh&EE4rW8$zER^ ztEYC!28QDdDOhH{V=Of0J7R9$=M{j-tvR1Bv~;SHKkw0#x%H}9c&y<@uBhJ`=YCk# zt+vm-lUD24=ytQ#v0e0L34Ek53$Y|O*ymXF2ci^_3_NxUGgSy_%7mV#yc(JvK-?ZlP50gW3ZHgfAXVn*&Xqi_{uxp1;Q)$)=YIiSxfQl-<@n zqOoi;0b2=dUD#H2e(ia7rb;_j$g=iF+3l#*)1RY0^S3t=zuyNFn|YoK?bT_`9c={v zi`juF0d2bbHK*GB?Kv4c^?ogTjdOCER+Z#jOtdJ^c9y!2UkpDaqJUZ)Deq!mmKQdN ze1+#{dcN!!~`#;SH3v#vh3D=J$c0) z!*%-9GwpTst=q@D?CyHU3qrZK%bC-<`Wqu9ou42+i2fp`>b2*Tc-=#iRjo@Bb@yv8 zbBt1&TG}nDIzO;5^z+X0Os;1WGg~?H=lA-NPJ`6(s=u(H?H!Y#)tEb=N zsjDG(#PW6wkH5#dxD~o*{hV35jU0lIi?ulF{o?|+qdiMpB$x|j9%WB#>8lH;Hl!?} ze88LgE<8FM9~;B4tK2}z-8EgLt=H_`ao%yKl*Oto+BjVPjL8+qCf|8@%+Qp;B>7jA z?nrYKz!0Xk%Cc6eGOeVj*jnzRzRzX65~~EriVag%hyjt2*_tOkR06d)^R>(M#P=?_ zknIGsUQETyA^da%mxmpDl3_cw|F_U;HY*m?moOA%fgH_kG#v1`VRjCvtMSb0mcn=J zM?hcuac-#4qedN$ub*UAb&gX%w5x0HJQ)6&Ew79^+O&|z^VN*2_d|jv+Yv$YTrz8U zk|pRwE?vkzV|~8S7@Q8}c$DJ3imf+4Tn+0(QbLAu9T(*p@pyCOyQT_pP8sqRmU6$O z&@a2gVa2!{UvD1_V>>BhgK_l(vb9RU=9le-oTZvK_&Osj-qLG074bvyvfnk>4=XHl zH&@hP#6)c+-nl2zl>5!5$>|a5v8Nu*7+sy6F^oL}-e>NP05slH>HSSl;5>J-bM&LZ z-7`M~91jWX3SIHL`BrSIi?FY-ih0L?#d_FJZppD`eL+-uLY4(P*>%@1LpQMw=YRM3 zoVek0rD8^e$aj}YQdeQK-|53+dgBzAev`HML;X$L_bjltJNZpGf`!^HjgssGCmp?z_4GR3S z`3UTnxN`aFbOLSZx1iI1K|x-koM+G(5KF=)vE(XJ8%%b)KXH^$M}!Y1EjDaLy@uTg z!~YL8`E+9_la#d5GxgB)Q#UjcEHf)!|Jd9)jaorheX@3dnZuy>4CXE{nG~7@_vozZFv_ysS>n^#u}`Zl zm@R1UE>!QOkTh9GExg~o z_h0dk-y3CE6GuM=ZqE!Fo>ZLZFp(>L*fbV<0P+6OqQv^7;&eymq;t%}k};`=~{V30i=EFDagk5jktMbDNiVTYcNm`RV(#c@eLQsxxH zpWWJL$+!el@vHqKo{nM1Z1T`W>SOzbT>)BGcK0FZC`o>&E}ftRtiJq6QtE_kM%*H> zopI3eCnvrDk4*_rS^8&yjdC-BD;fB^{GHvo^ysYK{@MCtauYN4M1%4w!BJqMZs428 zs`(*~Z;)g<8&AE18 z-(N~Q6Y$`q)MC2VzMEn)L)q#pC^hbo!rj*{k}A2d}R1DQ8PCk4m_{ z-5OZ7Q1|#@<7HJLd#`hB!+u1TT-B++*mqR6vsO5ndqApXM<$scXXLsbbm!-I?cL0m zyMqadS_012RA0F<_G#?EfhJpIukGbC)Vvj_&f}9CikYJlh!ciE{RzQwd83Z|B-XwI zJ#w;M4m#_<8Sdz1;fS+Bmpj9F!BC!bh=Xx$OM)ukm50Iw7W~!^dI!JZ$wiY>;C%;s z>Hbk)UKXZ^&G?-NvL2*Z2k`Ugv(3@cThE_n>wF`W?ia|+1JsxsKJsUU;OpVwp582n zHLGn*W3+zmY8pHlkxsSUm0Rpn3FqI~{ROq{ZAZ2Wq}oRcA~AV{<_`wbqy2^3Wj_f4 zDClRlD{P*)%6l1yZGEQZqEwvCVG;Exwy`#qUB>yN`FgZ_s`5*FC(Cx(BDILCGExV= zDs`EvwxE>T(O}iehD+MT+QJ)s8Uj4q8v2lEzXosQ!{6tBT-7GwW1QqHd3m=n%qP8Q z{g9vd1(9Qc+3DRG$N4`!@;K8QYhv`}$eBIgJ`XjDJ=W-{eP|Z_X3wC~qPnwUWt_6n z?L9bUowW7B6_f^52%%KIl29`%$(*e@GvJEJ!pFYwoajDq(pkm~?`Jh)E%oJ(2pR4(XFr_=5zLTc4*Wk zqD-gj;(cIMOO!*F z$O(W_q&t<%@otn;N~5C*ulGPnjxEQXiA=s1bX9+1c$*-`-*E%`%I`xSGjr)Qmhkm= z>)E;*s=Uz0sVtYjf}1LHx{a~b8x<5j+_;ES>)D&4rJ79H^M93kyH6VqJ4jSn&b=2p7&vRwsDQSsb> z7tv$2k2N66{xdZzK?Or(p0Nn(ZKQF*Fo>wuUMSJPJE+pNL)yc-&^f5_W3Q$@85mfy z_fql&9W`f3Tujhc6O+)?^~&RNYvjH%RVnc7sTn7wTY4)e)NekOkezg3dtg25j%f6s zxh}{YHzWUP-h#c=LVpzH;N?{7ENT|H#sj|uBTAV#r8ILOOIaOVxP`j&d|ClKlIU+O z8?U?8B*^*r%7E#wb!msA#(kvezH`aVEKa|h$bAcjY+(n3ctV(YbFc1zC*bgj`q#2& zvA736x>G8?8M+_OoDrma9>|W+?`jTN<%%<_fGX_ffSMp@R+4)S^p8(I$&HBsZ}zF$4%cyZb8H^ zG@9B;cHHLceJ5jQIHO%GHw(?B7{Xt_ebrYt2P5E%Uj?M4tF)c4CSH7=viqSK`1xT@ zj45SJEGI2T*3+iu@NKP0PRy2Nyt|Zp^gr#(=H6oRNT;+~{`kkA`O&hUnHEE0%y*+q zLF7;rZL(HkM*k(Z!(r_MSDi^qm54Ef0AZBYp{5=UYFzeqfn= ztEcJqZiu1|_ox9id!+Hu`*a!grULLXA=a{F$(+Uz`~F9Pt0x6d<(#pUTqdx%)U1_; z6(-BN!%XopO%COO0RGM=0mG+M$6Q1NFrV~7SeO|)p|&M$+wjASP`&%1M!We@cQvO7=7Wmxx|J|Rt* zLu;xdR)C?_yuZ-cOf^1qRdAHPI|=#+az$gHi}XXsrCnXk9kN%ZDOE#6c7?@uP16PD z(ylH8t24Bc-Q|a5U~;r_$p;uWWqbcO^hr<=ZU}SS)UKWR_jWgU{mBJiWsRsOBSf{$%5a`VPr)_ z6~g_AN_hODD3XLwI3d5G>09J7SBhb~9v9WRB0_AryU{CFy9uALm+|i)r2{Q7E857O zfT-p$D*FSgW@#hb{v7$?!Yh$9AbnHPFphiH>yP_vBP-JzjR&%>>RoJt1O6tMOe4yN z(x@WAEYIwwVt4G+>L(IlhV_ojhsZe(fpZOO6`gm%j|!XIX;2^Ff#Z)@Xu3076#VRw z<8mkJ6w4h8VR%!-u?A2C9-Ri?lXqVQ51@@LfG4H7gj9Ep;u=-z6t2*^23O zFhk3FSh!WX;>z*+h!RbAsS}3k?o7t`;h=v_?UPQfn3DwOC?{7@@ zo%f_)(NR9oULN2n%XeI!==9d*9@9eB9>Z|P+E-p~E+a6@WK#@T`Q%gaF}d3?_#jw* zt}bt?8@miO($Xne{74qg)=Iq0Ox@gJctJY&X+qeLcK#QxpA^Ghy-QGA@teFJCKur} zS0=dO0j%B({>ZT+h#Ow={vYG_-xzi=j73|-(3e??p(bI}rlH;VV=}uR)ZP~VmTSpl z6^?BK|1Oi|11%mc8gN!rywa6rUHjFgz5M1&v=pxo_UlpYD!7)we8o;ijc;8l{q^mB zSRyt{`%gA?X6334$IYNakp98qJnA3O7Bx8UEDPUKj7tF?tCj5REyV7BP+K`hjUGXc z)Mg{YJU-PevNq)oH+%gVYeGDPl8PK#16OeFrE5!NGvJWJHfvHol$)*tl85Cg(nb(2 z4psqkxqEHr8VT?>#vKATZtd8B&k##zVqasAE?@xN6Hjf=n%zp;FXS`tDJ|We!jR#L z%{Gkcu{OTN8Fa!9?eBdbG6V4WQ5I+2OYP4VNsmc~v2JX(Hie!4XMBtiPjXjnn{CJf z62I6r>iHe?t+9g9<^*Sni*2oo#@C!^SzSK_XZS`qPer$alIDO5J2sV~w0_sHD(+SA zB{!bk-5O-aT^_1Sc$iEvrT97^X{Y6^oSX_oQE{J`1I|?IKtPi-Rc$J0&^`O6U9aU< z3ZPXy_dNDotRRV87Hp?;{?@AE>bK_RzzM{fLo@e2xd1vg;YxT`^eEqBf;URRf$4_z zF{q~;SLWY7up{c)p8XGZJqP4DAtG})qQMijo`Tql=jWbIpUVyzvU9OvN?qH*sKCvK z?e(S1>7QtBdtzfkdhbT|^!!p!qi78!Qa_Fu_qKkS)55llNzs-4?n@_CwL^hEWN?Rb z;=e(O8EQR#jSKk<{`K=U;c!_dEaBz$#V=GnK-X?lk~x$U;zaIe>G3xE0R5>WL6`nX zOfv9^B-i7Dx`q3`0OC-6AKp*9lU1}+_J0E+uSkT!BE~g*1sn8o9<4=Gy>sk~?Lh7N z0U{aQ`^{y@pnIIUY6UZmb76?mK1l7IT6DD-{@MKMZsQ&y!?SijMLMluh=CR3vFMOX z_cs=*#-0nBS7|3;r?(McR6HEJB}$S=Y$|}41x4E^=^c`gI@_;hU3BInt75(ziVqpk zHsIQOF1rDpe3Wajz;I01QO?3%`x!|?|KCAD3m;!2X!W zSGMNVnL8`|EuIWwl3j7TE~+ZE3)BK|SnIngCN zu%dD(m`7~QIWU}h8PZtM5xd2_+*mcnQD_4AN}i?wRWZfRkxtA6`n$9p)R5_%dLMX* zbEG8gY&g&RZT~QEHa%r=EOYkzp0OW?%v=rpJoIiKC|x;v`)T8_=q(W|qYFA2<}XIG zJE5Je4%C0IpFjolKL(@}YWK$nJi5m@;6AX86cqQr_@k;?;zC~9-U8sOSy9`U&G7>n zszE&91MGk}?+x!FEd0BQ2(q{{s#TDI9#D|p!-Y}IAvDtLkF`1o1PIus` z%?>uDSllD)x2xYw^l}c9?u7GcQ$>gN#?N_)@(a_ujnlmJa|;88t~U%yayPz)(`I&` z;;@rEe=}7V{Dv;{2Q5H^^V!}Xo`0k-;iytfiq@Ml*B*%6@M&z^`jlOkoVC-8G8&J#P*%~ zrZu^q=g5ziZW#B>nNX9J{bxJjA*z4yW=zQ9UJBnJgf%`Ar<5M6Mw{~gT-fgIZuM@j z^_9 z3P<1zSFEM`Q7$BV*^m*x89&~j@ITS^z(^8y`^IKC+qyLej&8X9>Ok3asD=HEjm4!r z*(iOZP}vel2YY=0%)2z!>2Tadq*5x#T5I(Lf@%{fZU9QeUhRW-Iz3>ChKl`|TkZ1d zCbC9C?bqhH!^TN2VFT~_${%b*Boct0gt|I`%!E`f_Cm3E)^Vl3yM7)q*0uaRC|a`Z zZC*g(s627|GPqF1xD90+HDurC{)LXRfDO(brnz?aQI1g8X;*Su2st1B8-+|mGf!0S zHT3rcYOEIhxx1es8ObUKMFUkDTX*ZYJZw*$s`k8xya{B>peg0C;w9{sO_L%OS}#Frk?99D!(!Z zewd!I49XU&3JHH%VQeHI=Or!*OuFYM#Mtx3$8>2jhrB8z~>`dmSluZa>`2CBis4z))BXCz~3gh%x%m%g#B_=(lveR1P1 z!gR-oyiaPqaV^gw^f`20<_+ALtYyv99iGnPO}_7TRtbg$ilZ1r^9kfxvp!am!i_eF zR7GcYfr1p~6*`D%Wejhf3Qc+_BMJYzX}=wk8YLE5OKv~RkQ0a z;E6G*>JiN6m#Q@-9s3)O*uIw9xjj*a%`{+Dq~iHea*+}jrGfnNWn>|p3)@2;Ipxfwsh$rTM}m+-5(Hbs#)TQlAloXVoJazc;YZke#2J7Z3q zJebxyM$WbA8ErI$_(FKC0HeY`F8#?AZ*=L_AJ!sW#}eVIFZO)WM;S}IQ*utPQ^(|6 zRp?*9e4VI|sscFj1qA=P6+i~2(B3XANE!LbCMip;(VrRTM~@qkL<~u0HPd-DLNp)3 zj!z+gAh0grR_U6_BVE#f(y^EGqt7e{nv62wZ3j`5{o*G=61(=lXFk;~lAE0g8d$;M>i5mRhLodebyW3hRta zcJRmFWo4b*ttHZKAln;G25{%GTlYC`RzTKq`z+v#|G`Ahd&ef>CYbP$*{Esasofg7 zCpUh^Q4t(z2Gv&3bwM1j((RdY;hB?I+THrE&z7JPHGY-)O5(I5qWYEB5#Ps zI_ZK-@3ny6(ApNSh`jM3q<4E|ip*aRrUq7i zCGvvT8ZfDVByn4u^MMI)j`7hjC!XAgs@)&QiZ!Z=a57-f=P}MCwY}&A&mli@oVdP}LUZYgWH7RIPvM_G8xpkCh6@ z%#Q~?oTWFOVV@`lhs7KR4_Iv`YtWPeaVvS+czZ=($)-_u6Ai_lkl~D6!v00)p5)0M zUY0UG@y84}$B9B?+jUB`=jEtG4W_$Q{fBi+w1t<{x$4_q``P5>4An4HZIEvU5*?3Q z`kGe)lE%2R%)@>LO$-&kZ>0WS-f8f^IwWT@;D_*{gln?cjro%R9c(lYm_JA-m>V*O zMnH}OHiVf(VJD5)M0VI@Hq$JyG#Wo_gTGLX-KM6`Nd>oHx4> z_wIo6DC8fS8*Im|(4odxE?W)UQiCEE@~xc{p`v*pRcc$GK>#;3p_<-LCTDnsGyrSr z>W+K}e1u+9@r^o^)xv-*gb|=0elN4H`|h{soo3QiZV76kJ@9}&RSbe?fAcY9jX#wYJw~yeL)8_J)`sK5D-A`qW^IwdZVdE2_PaML zj*p;LqTzE*D+F7xr1!ovQ+_~GD#8R)Z0tVjvzxW}1FgB&cL*F@6#EU;`v*GiH&OM6 zM{bd(xtkw4+*hx1K9+M1U;}a<5f;d)jibklnb|g*<#We4#IuIaVh!2VVBKLTM-+0Z zG}`Fe$>S)|y>%gR^0($g!PZ(YlGpPl0TwqNnSfcHSjuB z3PCc!Mvb7j%cyK#B~kMV?E|lNtMI?#6+;dM%5E>@bv~gDIMDxEa`IE1BT83M*4zOx zuTFqh)Dlp_fz^=IxLayV*47JbrQ6MaESmqE#wdfB#;sp>N1#`JY?bd2cB*TtF#acS z^q?$NN5 z@$X&ueb?`6q;RrqKh3`A0dN9%lCxI~_m9`lp^uQ}bvSq&^Qx=tprj&Ruzrx!g-{(2 z$H-(y?v=&KyuX_Wz2OK~QjPFwxfnF~2sf-JCtY4c!ESkf3=U~}eq+1j^8l=(+w3}8Q z1%5c=<-@4|ua9jvo6Bny`yBaDp!I%eb(woRx76ajl3r;A2ww|7#x)P9{Y!V|@RIEB zd<^+P(2ua~G`7W1fNm)$?39oIH7DmnU}`wg+$$4)j0r6aHAEg^?q0ap0#Bh|eZ1Px z%EMgNOSW_$HLUxy2$?~aW9fJncgX2B{1xkGWRu3G!Ou*z&|*PqTZ{yHEDKLVV6CPX zO6WMb&_?h&jyQ=JK(kat>%TS+~elx;Nd4ekt1$mYjfW~oSL|`vMnU0j zrD!@yh$cDR8IIAc2BV6w%+VVZo$-GUSiV}mCvxcJu_vtyx+UUbc^_Qv_}afvN@Get zpWhnA+yKtQbD%`rGAvzkHk#UcWd=kyg@UulqQCV4b3cYH&7aC!#EtqtcX{(D%}w{W zS?+_t+nUrP*Q7sAwjNREmyR;{_BJjTmHwdMOzx3Df4{KtBft1siH}ibMoQzESG=!8 z11;NqV=My#xuTTJVmR*ZHd82uGrQaE?!_beC3QqcFC00jHiFN^vh(@T%2TzNxwM8k zDb4H^&A3JBb0NBUOnqP34H4DNr&61R%>$6;K?hk`L}k+CKkqt%Vvxt)(n7*-amYhz zkKZK~C5oMtDNvLtDNM3UKy56D*}L*R6EX^e>886QC`q;v_!;;Fo5X0nv&2 zysa0C@7Ek#xmS0%tL8$71=Us^Xrr-Ul_;|@2olk^=y)jo(36(e$d1FUGZ!;}5$%3r zQAJ43$~HCp>SI~`cQrBJ@bLo>k8tm%)j4sgg?K|(PJ#g<$8Jg1p~Yh3gxd5|;Dw?8 zJ-xW=S(o%>>2bSzZ+Qgatl8oXmWYp9)R+g4A2$0Aum;k=83gw;Ilxq~Z#1MciA71>R>8HlSFZCvubEdTssWy`2~3Q;V?X?N#_k1>7@HXLWVFZ$#<}@VA5mSfjPx5`weCuKJKzgFwKDBV36e0HS8v(8gUK&Kr?9gIBgBHpCH zyE~_9y>TuU?fqhoO(z_XeqD1V=<#5zSV4BOaLpfY?j@5Aky5rr36Ve(Uex_dMVZqD zudp=*GnLu=cLSxKVf8n=tQ(&g-pfP7(OiaUws}Lcx1&#w+($(y16GAibxy8yX)p7d zpgsbJmYf~}4pHUnU%kgcjm!jR@V{Mi)-eGE(oux}^@6UK5m@7LuUep-La>tSh-vW6o=G9e>NPG#JR()HII%DCJI2RC{9+oJfH^>vDg!jr?VpxG(ddwV}a=%3Yi_TCU25DEkg< z$L`+B0xV=E0=XVp(b}sGIM(+(?U90+E25UT#v~cp<$Y6oF-)0K7Y_8iMMl`1!nCd@ zJ4$eMwrb;ai-7gk*Cc%!f0t`pYT}$UkR897$|!2O1TZN$>KJpEp=g(;OdbBf%qLy#&9^5wmnN_AH6nUe@y(c zLtA&lXp#BMRM}iFP6Dz7Z9#UGx`Tl-e=<~rwiv???@?`=!+p|P!jo1i$~1^xo@5~n zTDxe|W!Ozfpb$9cpl!PN6HLd0R|yQKDq7#?jC1dl|MfP zh^zr(r2IOe3i{M29U_QRjBHaZF6~0If&kypUKJk8w2-|3sv$QMLU$VooVdP58d#p; zjAz|mb87|0w{Qj4m-0ytdzD?#{lcHTgnRZ|L3Y&xH!OOM0Bw%7>mYT2Pw?zV#x% z(wph`z&T3&<2SNrck2eA{hw@4yX))2fqB`b#%O19=UGz5!_13&NQQ6jQoMeOJ(bLQ zt#RFPnGh3|`Y2^x()#a4sAp!kB-dAzQTc?Qu;peTItJw^QLeDC@40Z58e+}zOprV? z6=!?5ba<$kR|=S(1FRg9a~LS-Ne{hB##GskfR7&RkgC!T>`zFWLS_uhl zaq~Bn!&|$5z5Hzxk}BV|A?#%=`|3bolp^wd!8|2ZGO6=v-tB)M*^-|`i?8_>;n-sg z_n4GM<7dnEqJ6zVWz!D4Whttky-OYf)yMJJ&9%6kcbrg39 zs<&^%m2QpPO7SV$J;|C9e($&X#kB*x5>POw*BqwB?XqdErro%v9=R<~1Z9i;!WLyh z{kUrce0G>OIPrVwD2El<-JCkivZG~hJ*BBhE0X~&b`9lg9|}2|$z*TO@T9Hix_~EY zKM>sgsR8^Kl%lGdiI1<9?d61g!yFXJ|214VGdcf{PA4G{_LtqO z%MbhOJ^($daLBeqvHiFs^QFw8(EWX$WAp<_x~>zcPZNg^nvF)?iQWh6{40`>e5{@6 z{Tchvv|;MIacCBF%dS9vjQyFc^~jlb31_gOHC#B-81e~Pf3*OV-p%@s*I>p!pk2^2 zC@@@RY}Hf9V|q2dY9`=jO?&y{pS+jd4;F2=8$Bf(DREzXAZ*SS_KeczyQNLFKLV=i zO77AvgNBMgiAC?&HtYP}+b37&CT>`aS?>eY|7Sje8Jgs^&Po9dAq+Fsc@;f-QYP7&m`yO7`-V}M|g+gY=ZOoNhiu@R_pZ2vzD z%i*$d@Eq@ab5o7!_MHPhWuw$eO#Olw|COU&ZAu6{Oa}{8QM|W(so4qW6yG24z>k>%|F1YXHF1`5MyzaO8R&E)4!d3B-Zh{F! z7A6EfRmkX6iP`tV&|Lhw)pmHZVbCX6TxJKjJW|)i9BT{_jAmG5;}3E|7>TOW(f!D? zvJ)bRi7ve#;{6AmgQXUi!aY>=zpF0KfV4 zkM>Rue!>z8~)esMurrg^)*g}C|S z{CN>sd&v%1DE#KRnJS~|ONXermGdtZJ9Fy>-P5|yDDY!CmlE$ok}m4YoS>;&Hgoeq zlf8w$d{1LkXIt+Fwy(7k(QnSPKd4_vCEPNoUN(rpMdsGf%)xBzHl?hLzShyTz6Cq27Afk5zmorMuIIoXXOSn#<;naf_08v=z4(HMR-vh)>rdh8XD z+~Q>lVi0Ry+OVhR{vodScsWzks}mN<1Mb04qO0K(t(G`E2eR>eMv!c9XkyHug_|Vs zOJ)Z+E(q401RHV;-{~u!{{|4<5e2kRm2tuyC*Ngob`_X+BgL7^orw<|viuIC+Q~wrqyQYe2KpNnwaKRx9E|^ln|RE<>3oH*xW~0w z4`enXtXtlHKz7Gj<%2b^*~fZSFtxNYf@W;*stIgvD1^S5m?Z6T>G z0ldXNyjVj@55HhLAp5iZ^19Lv zfEmQ%=f;_^7hFkjM6Vol#n7*Hh4f~LMYeMvu_!;?{)#!XuDP5a@q;M=8S?GNWvfr? z@G{U&6SsP8IV`r2i2fh%?C!tj*r)&8axz={vR82z40U-i&2iCu9wj$}>q*;K9y_<* zZ{$Ctt*D>t)K^vZoBo{d!G=vQA$TFuxH&!b@BP<>k5#y|vFZ1g>iD%YVt+}v1Dv@% zG1HZdj_3qK)lr!ze`O+Db71U4s=>qSo9}7|*EM!?z`w2!M*tJ>6R8*o?px^n@pbIO zw!@zsY`8f3Y|a*QYR@N&R#Q~Ekie5PH)D~K*s(sKrRw5v(O)u~U(LA2QIU%;8e5+n zgx+W`8xRFQL8?Wr+)0QRMkqe5*M_XOv#T>tCu%V4x&9}sah)241 zaJ2(yNjF(O^YTn^iAi`95`V6z$8k&W_411S259B91-&A}#A>q$&vLgAdhV)ST(SK( zAj{vqPm@Fu@SU-}2?Lr_UvZ~#h0-$HdUyBdnOi)yR2z&}bwvd11Uv0b@_2l4V+WE2 zXsLb*mS3PY&wU8L{{Lt?_kSk;|BqLSBoyV8Lxm)=kn>@cN(h}qIV?$(7$N6f;a!r$ z$|04*LQ**_=d(G)$YBmSABJI=^UP+4>-wzk?e_f#_RIC!>-9X`ACHGqS0f{W--!SV zEC>3p-MWBj)uaEgRX+Ap-&I72rpfD&US)RbFZ|)bX5rc;VuLdu~*y zMp|JuB(0bCA_uhimiGR#F^7LspC78OWO1Ocz_O*b_Oh=F1TzpDf3!CB2XrABi9!A8 zB6Szg8JQj!>ZhdNuZml*WaHoGJXnE}R=Fv16TCogEBPmG8T}k~lV6=zVf^>;m2u9? z3#(}h>V+a!7xgMb#QEx9-SN&-=c|t5esXxC{w%g@Pra_A-jwqfWR$8Y>|^Y)Tp1C* zWD|QY&*PS+>xs9~UvsCXNszs|;{y|f@7k3&h9*`UC9>I~XCF?JSKB{>6=d{H8rybD zu71S52cz@#%$R%Mpj}*v@}KXi8Liyp?hx^6O<=Y}G&3r~;H5Ay-C_0;IqrpF*yFfw z2x7fSypXqfZ)Liwa2XIaMXNZ< zLen)`kWTGJTutgyi?1KOIAx+VZ`< zCUFKZRh%%4U?717;wreoO_N^DxrZHHfwS3!mB}DVL2+G28SX4g zNg0^e#QcC8a$1qhZxbY0I-|G+L#$&CU<(bR0@6kR9noYZ?mu`|)RazSSn$cOz>Vcj zv9fV$co8AHGNF@y3cyX6an7q%E(Dvi{^A)WC zL*M%>X3yC!$;nTMj(g|QT%yQw9(zD=uCl4<%Cu$CrDf}AOB%4Z+DNFDRg)j~yZt}s zt@z&yk$fa>N`3h4TbcDcht<(>dmpt?sKbWu44AbWs>A<|NE>yF`#-V5k zkE8Z0{`Sva5TVj|o#}&8&aKo0CZk)WuyKLE*vu9CbQbFu+pzt^E=lK7?ojsHMR;MW1d-w}?)TdRZ zVL_L8^!R`wpW3Z^FGf|r$o%EM{wNb&^z`=9%!i-Oj$){dY~u$@Lows({MQ!*3SApM zWfNj!?mqJR+*YHY_(8`zgXb8MaFAA`6*tK^6^8F-N|Cj%-UjZ)7UW3;SMnOqT~r6ox7|l9GJ#$M zC(Cja$(kT0!`rM#!k)NdPBCOp(f5AJ!AB(cur$a;ze`nvmHF-FHu(SA=B zUicjzC%PZ4#JHJoGjKhpUO};RQ7LdEIfa~pul;gtl;z(dDJ4+2c*PhK6Bjw2P&fL+ z1MG0PjMN9dqKA84?vt(4>wRODZ$R-iQ@dvT8JP}Qo&T9$J!zULS81hPZT!HG{@>p0 zjquwOx+Y>9_ogvbVi_|jPnFbeMErJ``mv*0EusHYeV}aKDCHY}{Pb!Xm3w_YbG-ts z0DW-UX82x^kw}8gRJLP-yI#tGR}uXpaZ()})XgWOSDO8)MHp>Dli+xu!}2?zZT z@cW!+*tPGo?^X89oOBY;foUIP9{$R_@g^ha1?K1@!)BfQBSRctnee|?-%UBH0`2gP z*jRIkpNROjKs{FxvG$WnWt#DOFM9`VmrR8#SJ8koTCFR#6Iwrv`#p!bc}Rh&So|Ej z%PkJjj#AKE@LRxWU6c(p3+Q#-`dHNG*&Gg^$7*TCAGA1cw>D)`K^D$X!zRX!u!F?@ z;)au^HR0`|f$slBEt>K1oYLK=$?SxCdKw;MU!ib&|G#in#~?-@)#?`7x*E1tV_6=W zvrS*-u2#A(tim}>u!A8EC2&;oJfu^;r`v^7%YZ)O4O?MpDac{BL9X5PjY4sf1>9pB z7uOFkD#_XS9XzBAJ9G0M6^iL4ub9#?LlbOf7cH0&Lev~IV9Cvut5wi2VFKxO3s+#1 zVSP$reW!?L4R*exncpYqoDSfgMi7*G zn}KC$_}imy5Iw%-Oir_q4Y)OhVy*}618sf^8eSCfbPU6PUCUPxQWskLuAFlt=i>OHcv@r0B=>bNEc>1%ywW1aa(yGHxc{;P{)w8ofZE<*l~5+SOD=t7CzSL% zBVTyolW`7hWqTA<`J6*HVWGV&4T`lK`h{a@-l1T_qzVn~)mohiIl%@maU@}^yEUxF zJPXt?$L!Ps8g@#(U7xX0$V41n&>2rl+iMjT&d;H)iyzb=#hBk&P8v~|9p9H^JyQ)& zy++)4P^(5%Y?t5{qzMIo3T=*-TzRemArG8usffMg+UzPSl2L!TtY?40C$a~WzbPe&`Q8<-!;&blB#}hp zb9&^1!%H9vHK}rpeI;2CXJ?HnCP{V3_hY-;e+6c_Xn?0_L|Q)f#K8-@b2> z=@oT&IU1J+>JLDII+MR7y*G4^mOlc@9lL1MVYzk0jf)exVWYX}RniKDW5nATn@KX^ zvv=PGO`>E4YLYlezCZN_8U#I>#k9i@$nj1VcmJRtL7A4_9Xq)fg4k`XfrysKUH5Dk z(FzToO5#?k4pEOsePsd{cKH5A92Ue&OIa9feH!|WsQm0PeI$0Q=OPM$_bZwQ!r@y0 z-Yy5hSX->3!A7i@LsCv3z+Op;ZEy>C`W0@$1~m*;3>yYEoKN$h7iq^@LY5Xy0>#sc*Cse`L(MJk#eXmxGq<^G6lV9q8@O zcJ>mmv<5%+V9DT_{9A9&3D;BJNdQ`j&MX3Y-Aj!Y+hU_OL=+D=~vbjjjZ5C0l25T z*7aTqAJb+9-g{(Zl~$C{7X=*ZL0*vyi(okDA7T0MfRcb~_Q2ZLti)Y$XK4y@>t;|_tQQ?+DSRYJZHr`R5ANBO1L_#mxyBV zJ+cp&V-pcD7wVNfy*Jm>4OE4Ldm>+;Luch_33@PfIOQIpuZBPLld5;r9EP0;6g%z7 zFphGd=#4>lzpxXSOGoOo&HRZfUTn%{@L@jS~K0UV#d#Q-2j@<5Epq9tSts zGk#rlW0;t-W88-3F~lgmw!^PG zo_u{g3h_K+8tXgLq$?igYGLL6bJEaebz_ZD!kks&11rXFE;ih@in}QGC348h>g|t& zq=$cazs%;mIkTYVz(>q@DSFKM&z9l6#>=|B;dc?@ZE~Mao0h(}T=|?Bn3PTXs67@N z1@{yYeBcdMJE(cCC)G}sDyUX@yZ3q+ZtVxB5S*!=*9e4E?&R}m1a(Nd5B`V5)WIdZ zryY)uyF$fm!Sp_VdnCDK(dq=XeHE;0jT0p~&L0YmmCn#E-{%zAS;SCU+z-VD$@Aga z*(wCQpEbLeQ1%0YF|%kX6OcL0tvg_j2`yob0<_++PZH7efanO!%wO>Z_1YQ+#f*rgm{L(-}Lc?{Z^o5-7**2(EP}Xw$^hK#!X9?jWf*tN z4!MnZ1$Hu_x(Zwvm6Kq-lVm-@!35Oaro5PYEp!(p3Bz~&ii1`w=x8cz3xSFon| z48kci^7yG867c4+-q4c58QWTDDfUyhT*OD?nA1l~ubo;h-qvV+;yb@Eu6~eu*MO6q zkFWh{b?EDV`=m1a*NRn3xm%a!>?e`JgsGcR#w%Ru_*f?R>UMDpB*ej#$(9=~7k8iE z(dCZ_%dm51Z(@s<_%bf@NVJGf=@nkH*B!_;IK%yJ3p}`4>zO_Ab5HbRPavqq&G68g zq={R^nx5Wmwid5pwU}&hp?B9Gm>$ z%VFr=pU`OQfII7{4*M)FMH2Mel|u(*?wjuL4C!XscyK-V?HI$i70>X04Z^zwU;iHa z)---s_x$t)x!)r9T}EOJ^+b{sKdJi~R6V(gXyu>D^!H)&g)NvH&z6RNPT6^4weAVt zdgHxdqSx3sonAV%&JK91^YXKOSxQ%fr=nsc@e+^Qd&8cdz~m5i@6mIyxfyy#(w!c4 zv`P=s;Pb)-)pns=-_Ed7!g@uahU_PrN_=eV`P$uogHzIeT9j)Pe=}OoOBXbA`IIty zNt(<)$|HzH(3h(FQ^I2>pMOco%jeF1__uCljJ|~|}s8?gu*K70J2nCfAPleAUmc5uJ3PG%<8P z>M12B=-Hdf%o*Vc*Tr&5>p&o0EVB%uE!ghch6(!ctjRiEo0f%OwpIS=>so&`nEWi? z{ZW`FJtpI-1CN}eIKaK;xa;9H3uVOTq1++MZTsys;cL56F1OO|W4GZ2%H?R>J}Vd0 zkIA4thT`=_JR7i#O`SmmyCy#v^`HrrG<%#<3XStc`flF1sPSL0#u=YwFZ5p0p;PPQ zLaN!?q3$_xFaMfgE&i+1WTZ3)sjXiwoQZtaB7kzRdbg}KRVo+NY$31(d_7a zPUuKWvpAiT3pz5g;-X0A;Eu&$1iHJdvKRSBr3W`pWLBtc(=b}cTKj8@Pek&>E?%c? z-4qK$HZ%-K-y6#eLE~SV-aGf~+c)lDow>v_{SJ~49*>5!G9maj9vptUzV+SI=qUkQ z{YeAx29rf0l(ETgln-h|=3oVFsOFTx#4jBF*|^P42$4a54U-v#dN14y6=K{aYFpuK zdp8Afl*qkuMzgrwF&@Yu*mO=BB&6@6Pz%&7Qn-VRiWTD#wp$sA+ zI6qBscjs{h9p-oLZb1Za1a4n;Pu9h74Wy?b>;d7o2C?_hK@jIBZb!#9DB;2BOnp2U zLZu*ptrkEexqt)LSV=AeolN+YsrOFmORcHTyzHxs{7{(UHSz5$x&xi0y0UcpVZz3b z@es3m_x*)W9&*Q%6Y@NPMjx1sqvpgC&e708Ab+23)ngX9Q@qyy(jja~QMW!juA{t{ z{{Y2C*NSURaBSF1Ja#F31&pQm{Hhlft#myIasVc%53-_lra#Ys zYsBy9up61CDJdn;Ubpwi1lM_jG%xhIpY|0Rezt7m5y>ejjDgJH`?B|*_?5jkBTsJe zr@ry`dWEx3a#bO!W77Ny-Q@@Yhryrt(*x)*@s;754D^dBa>`O`${sO zpOcDRGu#EwFd_PJlkQE?Npvd? z@x_>DYU7X#j$Rb99e}(C$pww}-zEPB@`iPay%^spso@%EpE5|Mn>%C$81A@aIPKyg zIeVe_S3v6^_m+zPBRA6vTR9d`$njjHc5H7|4MRmKi=2g_0Sd-ILScW@P>j=7)?oY2 z7J;P@b)Jz=vtQzfuVCt+&B-HB-ShnxW9_{f0JdElDll;9xs`Rxi4WXU!x$(py(Ig;V!b_NCQU_3^)|p zyGw2JF*ty)ojKOAWBV)1!!aAvi2?UQR(IbBzQkBGt3)3*^jnbs_PuyUxS19Imid#2 zInCQ@_@8y%IvW*3Fx^-~kqW5<@Z?B~oUVIKCqr=vdH@z9wz9QM>%Zyjv2Crjl8lMB z5rgzV-46KH&!qf8x53%!eqd2AIM#^-+$Sg;$c_bBUgia_R*0x5L>usPi{$*;`eA}P zwHOhPZwq!L0r;Ji@o?m^cIH}L_NCl}L()e`H)`Vk3qIEQ(q)gQ#7R5e>XbK~=P$(+ zFAy`=3=Q6i*X_0svuz+=)ibIV3u>;ACbaWjorpG}h3D#N3Xd+j_)4s3gf7)Nw@Frp z?CIXicRfMEJEi&wl8T(r?#>c^R9>$@?z!1vxCkXskw*Kin655u>@N8E(uJ$~k6YqaFLg*Q#z}XsxSHdH ztR4Pc=MIM2JURP?-3R0JjUHo^^?^FvTE4HbV{S7#c?UT?&giQbILDf_VG!?TWd+=M zyPCcN;kTlNgm-YOw6V4CwXCqUs;3;>ycYJJBLYN5!JWs)n&-8?YZ*E~$gsZ^g?&r{ z8)x0<2GvZzUa<~@9@cS571o-iPF-j+IqiF!wi4(8DoHG2e1C+NVsloHpKsrN{_1m+ z8($l~|7q$^*7p9(vUTwOD<0mv< zvmPW5j)H+kw($Imb8;(=9c-=@X$kiVsWA-W}FLK@)*UD z@-{77&~xHuk%`N3^Wz7UkMVXM{cRm)_TXcs$bmTjh?CPlaUTPll~3^qk?9swsDrVO z_EieZB5Hrb*aNE%Fv0W=$&X0A`Qj7KjMe_Y#-~2X?*cnHHfvoEN=+;b-(K~UHNVwY z=%eh!7QY|G?)^j*cse;ye~m*Wp4NCY!P}`{cJV~^!NBRW*!u|6cE?l|YQPMr_^ zEd&w+(1E|@?~+Zjnmz}w6+zr}Ut;{?>i)_YgiO#@-fEMox9u8$m*rGzvZ2Tv0x^UI zP1a4vr3{j#Ad9-|Kp7M0_C@*ohwXeGw1fdW@t3FO94EInQ(x%R&3v2a_=|egir9V| zk%=pef`?ArMJ+@DfkmAA0Z!cr>id73`s73~rNC*;cNG^p=S#^6UHzUG0eI{tM&-RM|>)_9Q8*XPwbX?7+rnD<@?uFyAzE)n-U*IlX?;7_o_&J%PU%q z8j^yxo)|u#WqYJ8x5OaSD~zF;lwRCu$4;_=sJZr+yx$G=hV&m!=cm+-jU3ij15Os# zVrEdiBB8wn3=?(p(Wy(;&$ZHzf+LB)ZHq&^K9&5*7+Ydn5SNe=Ta^ut9MIPce6PnI zs2AEoul;o(v?A(cht;-KS$y3o-lN_4iTA@s9wVS8i<{v2%#io7oG7#|qIO<2#r+K& z71n@b7I`wy-i|AI(enkjRG)n-oN`U=r|8s9_x=F*Ut8XD38G7asUi_SYD#%-(}N3Lo(_v1|Iy>hfaI3Ip=jPj)tpEc=>2NHP#ts6D5XwF2SX+ zT5vSJy1KnNG_2O!?r&9B$r&ZI3LR(=&UWMA&pqZuitA@Pu?M1L)ioZxwyJRq8%^Sc zF+Y{yjjoQBeh|!WHA@p(XnEX8{|yEAK!X-7!ePTEuBHc6*B-M%`ct{~3e$2shr?de zPY4ISaasreVYf1f!utZphnUyylrKYeS;bnAXWE=ha?Co;f_U@Z_8t}|hXYw6)wm4T z07Vp)K|0x76mVyRNM@8bdqQs<98vW({=hiR;F2hdK&Ge$imVWuJq!T?dU3m@r)1j<&fNBK+8H>L8&?S zv(@wx$t<%MoDYQY3v7M@UkXB#q?7b%rpnC|%Daz8K413g&qZkq?W+ziYZjetGW4$P zco=*e(LZdBx-MQDGrM;A=?7(W*EKLtp<2DG)N2w6R)in@H6}c@BdXYO$jyX ze(YNbPK~yGLLz^8dZVJdTg7!3+7C76d3=LOFohUyiN4Xj$8^^Jbmr8ELJMuo`Soh; zE$9`n1Hc3qmz2g2#p$%?LwBfn{fMjICy<4$QAl2Td(XJwe$}9cU(C2i@=?y*mhJ& zPKOo;Y7oU#{zSL=AD+`e_3H!?Y~F3Wm%#`+WwUlL&`tzZ&j;ktkzfI?%zTX%_z5){ zNvMJJqt8J_t9#Eb@ASCHrnxRdpKmXh%BtR5*KMYq41yeTtlxfVKYC zS8FxAmL~e=#$^Hb&-r&%}k2#Ov>IRGj0m{Bv)zuyu_?q`Nf7QoscfM&C? zHL+3F%-em~u6Ujkz9Su<`;j33ktR85=9fmcHCsGAJ9QXe_7#fqVrL#l@UW($RwaDv zRmcRHB;2|<*!1*Vh1j`_TtYaln!`OYwa5f5cp4Yqw{U8bNnS64A}J~yG9BlFMxFJu z1Ueuh z;6cJW-JVP$`c*F>S$x4p8yEY^D?%YXJfXR=uTc!>e$sBQSZprFJW#=WmAa9nUy`DZ z7u17(;+~w6^oiJQ=vKFpbgk!9_zmfcd!__*r|;stHI4spV8Nfn0EtD&MZGQ|clMCw z!ke`NKwK4^jGa{-Z=QO-@Z_`Uysr~0(a8e8fm6|kdQB+3uCr?(o zhvQYe39u#4<0~Q*gK~iGvlqTNmyNu++P_45h>|edg2}JY=;JYRY=O!1&+d%)y;r=d zR&}0mrL|3;Ds1SxHP64&dKklxndRj=0$_tU+ydLa@fhqdabTN{o80`+1>7PgB%)+_ zNIt*LN+_OL0iw2XM^D3W3m6*iY}$rK-8Oo1=oC=r@UH>C0#+>_jv?A2s5q%G6f@WH zJ|>F097$OuQZwjJp*krJe6ihn(!pi2qB>2$e&-{4=cA@Bah+c8jD%R>N?^ko0*eUk zo|D7V2$h4xZcoUX> z#h>@O3qR^094(3X747_+N8(YtZml>-VvAmHo-;K6p&q)B4=ox}sOdX-XD3F;&s;2? zf7x3&9j*9Wyroj0ekL|6`<7q&yIs(GEBAvuR*nN}0r#b%UNB!Fd~c8Vm@OJHwr`@* zC3e2wjUP2UJ`mswF1SV9lnG_txi22I9k2kzYd)=u2oPe~KPrh;;#7b=&VyIBJy-#I zoLQ!}gBVU5sxRQ$BUaCuR6P1}WX)N|g(-4TgM_KaX~;uw6#9*IckJG|9dJkbT;y-X znSm6i8K6CZEJxbEI>8826)ac$nW(j`MeNu$+1E@?MFnI%}bUgEEX!~xc zEm5z0S%~f7;Ay^2hbf-V>Lv9sc@hpahh2kW`e;imZya7Dt=Q+2^}_A9O7W@HkMh7X zWrxoVhAHD~dArNGt6KS8cU#XDSZsw;b0@2dCdE0z8G=#ogJoZD$ODcriTWrb_apgR zm+$e)+;^#cup%9+iR{lTC4E8XSaZ1Z!dehvhw+;@u)4E3bY+;>;Z^;FzDza@p{w9F zRchQQ!SR3o5lh9*BjB~u<+D4T1a`g*l(}&mPP@%qdz*@Ys+rdBh!b@XkKFoeCy<^E zujUM3&$5W-`rKk@9{0*OTUNY=3+`k(Eg<^&FiOT~NN$MiCKUEuX`xJqSi6uImdS>Q zoZ-V^h0Acf)3+gmGovosbj(@D!bONXlvc8(ZE%I0HUXm`eGRh_Ym>o+TQJqj*(pVk zF{4q~DMtsF&E3i&`BZZ3yXBMwCp$*^IgxhVm}1LqTD|lgNn)jBHjFHx>u;JPt7n!q zqjV{4Tvzgm-M*{S7coA{{uw{wuCv?(sYf9-Eun(VC#{CY1C)a?9ATW7UB$7xZXwgQ zKOW_9Grs>Q98}g5|3L|TBwc?LP$k{2YlZi%6~%u2?(>Sz*we8K?w^jECw=|q8VN~I zs|?q3QZhto)f&JeSz~$aVK)~iP1Ro{mKzOba!$RVD4gH0ZT@53q4rZ@w=*^lYFCQk zZI9;cP5ViC-%%()KznF>69`!e4sF-?t7|BMs9M0UieXCAcU+lLvmVC|E}h|fDEjhU zc9{ry?!S95H7@d*^w4H(P-{@f;-?gy z#0Xp5bn=@E+1|7;s(NcBtQCd9H@>~fyptvGJ+f=B!A45qbsc?S9%^Bb8Iq_e+-x7;P@*imT_fn#RkYydz-!0Oftzb{F(zYG}jR z&2=cW;K|w3xoGh;BEaHPdji0jF7RseW;CkkaZDE;tk^SGixiP0?;uIzy7PXA!2r+{ z*F8#9aoTumw=hbwjAg+xsCIP$-cODHGq4C%5kgj%()NRE`5ZJ*LoDvF zXAqJnZ3)c~hnq^gN-|z0-Cf*JyS@!w!FCvHjuEFTJ*&2%_!F&xW&T$!S-1y_PDbqR9+Kfa`CCfwK;d1p^di3Xp(9mU#3@+)O5)M2ON4+8GF3RFsOx1w zJvFK%!>%c%JFIT#qPHVE__{VieRmkMw`2-_OFM0EGrxJ9`eae_rF$k;$Btq>ObGOso+k}=w zs$-ghO~_MC2y)FC7io3`%`tU83i};97Q)V4qe)X@5W9qtBPs}v$PNFb4gH?Edp8V} zc9%F^&bF*`es=oMlS-)}$7Fu%dw(SeGE&-^Q+~u()PP@Dvmu2pm}0Gwaf*-A;sp(t z@%o0LZ?O9li1QK{(d74?=UQEy9nYvg(JPkJdw*|sm;~b-hZ&x#`{|WNT|j(V{|e== z6T#1M^Y{ExeCC_&4yFXtwE(&N*Xqv(-UF|2 z2N}PCK9~oo>onyX!qgma!iJzhE@UE@^E0`->+Es(%!j?~DX6WQ$07GY!k$r!-KVAYo<@C5whd@VN$x&2cITDJ~zxyo$k-!46oUj2m|?~llAuBne@%}Mfi9JJrW zuEAa9wSaxEe;?YHYj?qQs0?;2UR_ZniE#m~ShWjKP}O|an<09%MgF%!!@8YaO0>(D z$Xav5Z<`096Ug4vmD9FAVZH)J1Y`sc?g7CC=oze*Kjtfr9F#KpB;+yw@~G@aNJ z%=10X?4K~RLH``!*;XuQ0nfoR5az6C|CQfaODpnD;;dLvG1kG#ryh>WF&m~zYCYLR zj|K^vKe+Az-t%Q!`(s@OflyipZU%N?mxp|2(t9-*^;iYHh@&P6!p(XkKlC|MF|P$J zVGTb7h51NPhH9yRb+-oV!MUzz04d#5e!buzld@;>>WXRYe^^v=kY*bRAvjj~oDnR2 z{rssk1?g|Xh2+pSV!-_`PpUKEzdop}=%$ZKTxiVg9=6k@VJV2KqIy!q=gytIyZ!1u z494I;2CtF9gMt!EwI;qx6Y@Q8jlwaDm83!Y~}6d#yzAA&D`&Sd@=Oe zuBpX;oBIHqZNQbnM;xLL#UMZq+K|JU8^9=TJf>*kx*+k_0oGR~qs4JH4y52v$*)C@ zj%?jy5f3IIW@_ZyUg$#Ex{SGfJH%dtGb!tk3-d4NGeugW)G35C-wZ2UhjZZ@98=40 zgpFRh#Tuvw|E*sG{Npe*1mv;vc;%k>cVO}B!p6s;`%PWBuVHRb7^7LP-kfg~wMEgO zBaDQ+q`MX7u~Z<9KMmU2O)62$A)MQ4nbX`;shH_rD`oNEys?dH zH?8PPUyvvJfi#DOW~fx?6)pgbD_Ro19%=~M`dnP@GG2Vt;PcAmAge--lE8Hrey<=8 zUBzmL>^^^`LPXpsJ|1V1_e9`S7z%%d`tG^_FlB@biqFrS+e|b1ptszG+j_m6!nN#E z8eIWaOH_wjM~BZqiJ(gOa1XHc=IjId98YgSg1|@x=KxVEz~p7K+#||gqYsx|Lx0+N z%ZjcvNg6gtvWwoYM-`5Fc;p+myRvG8FD_Ji^u2C1P&m-1e(Pgjp?-Um$h#(Imko@l z#{BlMU$FG!1Eu!fjqS&CK>-rl2liSJ#ggJjZ%GY%0z}8?abN2?(0tb{7ooE;9kL{BT(&A}>`G6{HT37QEMD6v-4%eyK1(dt!(zCj1-WfKKW@Ml zSILQd)^`DJb!X{dO)LjU!!1*b`BJ#HM4C@afc8@qhpc=LyMpWXjZhkHv&C*e zPh~66ws})mqI54o!tgVCA>>&yz_@v-f*{?jefH5~FR8rhZVh)0YrgOW2ebW(9#|E( z417}T9qC_uDyfQ(U!ocp(-X~Azo-~r$s-*^+tkdUclv)vM0z2>SoP4#S~0Vy4)-%$ z3#1BNd(uk53^{N5I8|<>4(&i^67B~mA8Uop9xI#AS9VFn>h9PvXFK-g5=2PCE2bOw zc2t=0gx&T~z>&{MR)L@ACBZZcMtoS%vd#MaA~^0kH@Y)aB2#uP;fA(3)B9TNU4Kj2 z;itB6MHl(#-5H&Q?z8BVf)zcQs+Xh?sqI%bO|`pz1braQ$6uMhAc-G(+~<4qWS{S! zN@j547ecC;qPpQsOUW1i==uj!W)ZhtmCk3HNLGHr`JDy}puvuwAPVs8Nbi{97DmhH zFV6n~$73}oFEsW-anJlE)Ai4c{uj@i#wFb%zXzFpYyCk>ai+ias*KKfkURBtCj`}+ zzT-g}{QR*s8txIWvIOY>)QT7E{_VT(+94#H0Idady8^f!dt4c-1lT5c^)ZLhoZ$)k zC5n?g;{w(d4Nb|hBW==fY+KMgE?`%+GZ$pq9Gr-h-TGn^IzMZg{15G2{0Ps(Tt^^_RO(Do ziFobQE3Q<*wstc)6}l!DW;D%D)L}SIf)-QZ!Zx2caxz;-4SX6%sP3h`s=>7a4$P%J zR?(58TPX!wfg%!9*B&JOe)LR1cWO-gvIWUf>G?(b-M7cy1>V!1<%MtFUSd1P9|Lh| zKjKn`r{BdtzfH{GYu4`3dFfB4A)(1)dwAtW*lzVj2*z-s4rP=jPV*; zUh_taS#Qth^KVyFpy@lxH6W9;Do6725M30!*lvdI zN3vU0KI&DCkP*yi_7so3B9|PNbLrF^dM8t7#aXDvHpK5#fKS{w;qPw>8#0(ZE&k634sv=u=U2=Y?wG~v zPG>d#SePqdc%VX&n=@fdNyIHA;#1X3F&=C*N0SpWnF@Tv1#@uJLHhu%mJd_(^VobV z^y3^xj@>9X&RHg~msg{$L;K?Cp2lQfV>i*L*|{zxiaHDk({bWBMoVfXb#(ox5m<&= zsS}&*Vv@L~SlGT3;VD+I5a?{!pk5M((*uTrnzD7ipy;ocrWneGsW~cEGZcOJ_}pjj z0daN@>H0IfUfYKxV^&zN)cGd2_fT;+yt`mA_R*@j$b#*}?lhn_KX_4_T#cu6s)Q;E zYJKBE4UfJ6s326sJMX`h2`O(y|HD3C)Ttl)kUQPI9u+{4$#`oZjkPN@gBj&^26RCh zZUwG>4fiMSk>Q3Xfvqm-rc~pR1Xj;jSuRB4<|4%SmqJ~rSHLgAuyD3YXwK3Ay!AD5 z1o0}@-*NQYP2B-B5T|uWnrV&cVAL#Mqv(zx3KE^ZMYZjJ9@FFWFjGBkwo@7im44Ch=F!`LY4+f%K!&t*VlXqJ{Xa zo$1}C#OEyk)+k%;Qv;bg%ZWr=R=(a=N}sO0_IdL zK<2!}sp7VUcTYYgQdph@g7-HYsSSDFJs7 zA{jIc4>snf34LO11DA*#Ar`^jIhqUYS;HI7tLGK3DV-_u!Oq=1hb4$28APr*ivx7b zYuM^eG2S`Rew*HA>Iw9&EYYeMCJYShW>qjplT7ARkmbT0Hf~W<@n&okNe5*DdX6~| zA+9YNE@+_s@qK%Lk*A=kJ7pqs{E1;JoJIImG>IOcXM2l$sY~bJB1Myz>7<|PapFSS zR`AL+gQwQ8HlAF8%D>9usF@DC-X46|<>r;$wxme7wuQZ--*U{9CKPM-K{j<|B6$6i z5nsK2GyWdp{B7Il2|bD14Gw;em!d8=ZC$(Y#o8b`aw&M$&^yU6!ni^_s1wgN30VJd zFas891Y4-IHZ1e{An(DINDo@Ft(kWa)5WruzL|$*ZJu^HUWGpEFzU3GIQED^;&!kq zv!rXRyQYx#@fmK*c=g@2p<#p2mp)n32B)0(cJ@$q$C@_>aeg`lZX!oI#Q<;CnG6!! zlXZ0%U4Y{p+=b#`@<@&c^^oVRD>yGN;VI;#G^%l`v0AOp-+ukC>y+c4LzXE! zos6K``FA*-O^L!d<5IWKB_*)`zN<{(MGkSBJN~TS_P}kw7cVoeKP`VVeLc7~i4Cjn&C zmPI|m_}3b=Ri-W34fumm&2TVUSkPtj_A7~+6kvD)(D z-w>oJRL5()_7gWcHSeRg&yuTk>@BD~QJL!cXhBPiYZF!3T61XBV zg^_;|0vtEnY!|UpS2b??aoRp^tYAI-*MGqR%Q(v$Iup&DpRPk*)m3l8il%0cC&?l+_MUUO zq%rpYUI71R2=yejwFz-fG0K_VAqrp@%f15OyZ5HGgAs+)ZB8_NL+J&aqY1yg9fD$o zcuWlJY;r9$eW`PtByN>GucNgHZD(jkv{>?H6H;OTe8%KgjZ3__K1H zl}0g|%)UT&?U%oInxUZj3FboTvwgLs+C#D*z&wxe$ts#!$p53uwjl&P1WD3~4sBCD z1mFpV%yy}tYB@EF{p?1Y>!egR^7FbWc&s#x@<-B@WNDwr{?dYGruevRxq#$>3dX4) z?+v$hi-%6z-KCngI`nMW%|~GKSKuzS@u2YQl4&O=k>1;n>z@v6B|cACsog0wLOh-n0eV))~GTB+GCdhz4A!F3^v9 z*7(h<^7!9oc`jC$4mquv-jO8dT<<%X)rfg;Ug)eEjnHjH?5n>4&X5E2f7gtC$V{)F zy?A)5>az1-xQ>WHN#ddTDa)5d3Q|@Y2M~m)c^NSh|LeF5sn^{bV}g@M6+V=&z4#CQ zT+(XOEMUNE#}KVD1kL;%gnNc%UQyH-I4Zv?5_IlGqj|=lOsm~`XiZ3FO+)mDc?-GM z6!jDf19l7jB`*Ehw4BsnS2RTX2GQ?&x8oAwQ@e$AZEt+o6^H$AojGFn|Yg67W$x-A!{nz|8<|`? zk8|K+(*I-X&BLL7-?;sdBwHofO@%}xOLnHHWDjL$2q8PkZbC?wDZ4CV$rjo7ZLBki ztl77*@9WGk`#kgcKF{wse*gJv9Pi_vx!>1)UH5su-hjXJq9)qEn2dmjjD0u7kLo(- z1^kh0zl1J4P+Sg)zH4s&Cn>mHs5LDF9fnxe34%6gbshnCdi+Wf|>z2XD(||Ojp5YhQz{Y z9j#~*!ryGpe?9ph?$lBEPWxlv^=oU0m<`VgnKcVf2qX-b?+#k4Nq>-zIr4v%_NhmG z?zXp)@;kW;nB)xE+alr~N8NwA+^UNk{&jcfWej!YFDlIPseEuG{<^`OhI`D*ZTRB+ zwY9w}oAB)jN5Ojmw%l2JQRN8{wemE*ll(V@h2eD`cg;?A&ya1yK;GrrcNbebl?}t+xiYuCu(sFd$(4vlIR=NMe1uiiGL%OnPv_MkfWSK)qG4OoPC zMliHtIDYF7rLZ)C#jE7Uo8B_jPGYL$$EZtqh{`d8KYF%u7!I}pR5?u!vK_A%Ogj1>MD}!dd7GtKM9eTl(+tO^z<_A$Q zXF2eIrQfocM{bgD4h;AFlC3`RS8_7h;LJ44`xG`o_Vqu2H9&%^{L4^H=U`d^;fIPk z^%R1x;lmW)ij|~Ns!K1DPSy7P*azBVpZ%x;Kr?*IJe&`i*);r|`r*Sp*=4?7^w!Xp zpcRn@@p|#eY7Ls}tZ4hg-1N&1)tN}aQrq3A8 zFXWRZze^Wah2he1AD&B@^G$_&KsdfB?2m&W7Jfj8_emG2onKJgCC?;-o z#684$w~__znzU-kF8mOnlG*O?0lYri!@fz|pz_bBkCp4qyk5agbvvS`-mNvOzAf>I^YKF3el? zSOhEo7UlLK$LBd+)U_!Qx}~p1l`Po}VT$&BA$cW|A`;o>i_`x(mdfDBDkaB*Yu%|H z!>62{v?2p63E8iIuLo&w}ippl|`z8A3C+g1s6f5&u2pY-WwkR8|q*M|Z zO6?1+poc3COW$XYIXQTxX1^ll%b{Ht7@1HtRx6(7EXjDIo8sO&o43sM)^dHw*=U0h zu4VK6*C(83UnHrOwZHzV;2C#Fm%VXY=nL1XR>ae)Z863>RC`649w`ZCg*YCN+u6upsGi>f;$L4Jir1Gi$bG(kS5WlN;ghbZG*wS$Y{V+ovp6d7qC- z&IvcmrEz<7fg~upbF9ML`FbBA;s?&&;(Q~%E+YGlDMHy)pVH^udsY0YaxgQmF+@>N zuWo3hqyoC>u>Lc;XmRbG=H_;$5tCIBGo8f{0yW9=Ds&1q^>{6g+#n}aK}V82%}87q z@7(T@?mxcw7c6ym(>n2C{8gUAI6G|t{9URl$iuu{04WEdBS#<%TPb}o%tEW$&a#}+ z{?AbLMl&U)dJ2tyE$qznEHjysa|XRX58mofBfx0W&#F`@6KXbUia8AN<-fS>xqSh! zITNT&UX@YJ^BniCE1eF9t=HoZQD#U*umT%Pxr`PuJ@kf6X3Y8|&MD+?*>MyiyB;Q6 zNj(rG--!1f4z(@+mpf67&o_3;Oor4a>s}7);c{AGlfN|1t0^)G^{O9*jK^kvC17I*C6!$XmGgCW3sc9Kdb zQCMi0^Ar<0e?CkIiq!uyzm}6WFcLlTdwE|&Lw~=7^wEsntUtoBYKAK`IQB~N_}ek{ zcW-vsBlYE;mhKi-(K%m>Iu7y1KC%`ajvu)=H_E)gaeDsa?b2pZtOh&zQ6T-&@43_G zT1Hk7su;=WPoYh-9vvdhXfnpfvTX8FVk2Tpvrpy2Z{Wf05^SKr7^A(AQcG};6&nVo zN?Ee{#;^1nzR>cMpXx^XCqj4j-MM`}+{w89c2=%jbul35!B`Yd5SqZQT78qr)3z79 zDUa7D1|L+^{kJRnp8^RHXXa-yRM}8HB@f#6h9aRh2Mrx|qBMr;6A2ZD$ili#q!!;5 ze<8L-o20}YQcBPN-}pnXw=yDJJIO@~WsQQaUQfs`Q398mineG1o2k|xMmOZWG4Jkb zk@?Nd+UqgV)41uH?hx|EAwu)xp7+}OQ$sWzJ5TGLI`G&pupMi3B4_R7n6)-Rx^fPEv@_W~T^>Lkza2uSJy4zgu+-Fpk_h^Fj1E#CUI^c1G zy(|0^Cd)r4yVFXnW^P$bB+1xlZ`HGvlYn#=gn>CH<-TgC3HAV-&jIB^t3*2nlsv|S$E3)?(K~7bvDw) z#U$V3yXLmntXeyVL|FIM1#9!3-sJply_MYelk?Z13@Z(|_g@ufi~aSC(Gva^FO%sN zng=0Yy;s=y9jud*;GPP-wI_`N!mewYCHbZsd5ijNx$ncnA65Q=|BV*pT9K@!bqX4^ z_-TOpSyRldpdJ6W9{c((b`mf%w3kiPTkBiivkjfA)W-v7LGv1f*#U|^VPvt9@(z3y z`n|(C_9Gpy2;Gd>mRa||8K3jsY8@l>ESWy9Xg}IImCZ@)Unil*{GWxxr7CxXKVP?A ze;kedYqgba0^3?`F4}rcQiAwIvzTqZRauO6ZdGdw$$c>JZ0vGa4oP433ec|uq7L*D zaDtWm=g#>7|Ken;4)Xf;EW`xsw4`V3q%$acypoBlz4;n||DQOA5ImaW4yJaO@88Ey zTPSSS!VD2HZj?lrnI=9Y0h2=V2R4q?e?;Z5!_p&0E;o^!x*h?9AI~sik?Q3Ko4Q1* z29PwXUvtt~n50?BcPr+q`dVMmMcs(Umy7S-Vn~mOcM90uIQFGjInlnW6TNu!28S3> zUncJV(|Y*N^vZ>3mS@#QNjcv4n9Wm5^N9IURaYpxkQt2J()-F>Uc6;pm*-f8|16%e+NQ$7(d^Llnt{T z?gg09N;#M-ga3ivL#PsDy7UkJsP|d)pSs@SuFa<}lt`6OR!2 z&o7PpS_odNjq@w3nQJ zKGb{5^bKBCu$!rIZcL5fJ;{)NYjBfap4&7$*(raAlafh{4&G&2+>b~qtme$ z{!?wZ$S*4^)bLCmIy+?OeIY!3N6d~3SSz(;dSZCT$o={S>wip?=pz zbU{R$S%7w1`ijC2qya;TU^#zJ~W2MZF zve#&R`73LEogAtAkZ00U_u#m(_)|gVOO3VSH%%-)tJ_EAF|KUtY`eHA*N|nQ3 zSbImkVHo}cr;C=P(gdtuywwW4cU7nA6$%-w$5vV6xBOhl^dfx770XtR%DwY#6m07= zKWiu`9q%9CgcYP}iM)ufF)RecQaA4z1Uxp~S?WzJtz=6kmM=95H=ikw`GZ$GQ;LBI zaGB`1Go zW1K=@?Y>w}wz~|eQ<;mV78sozak4!Xrv)yT4(m8d4Ka{Z=cbc*Hs{dE$S zlc))hP4Fap)IE&+zh0G~WEHNfuCHVtXi%KC*nprRL#46Sn&-!*YU}W;k36!>t~0|k zO1xuMXyc@qVp^UsX;gMjIbr$Jl)h$|qS7l3sO@&(EHvaYSQQ67zx&>M4t$tNs5(;m@i1~uiH~9kBU=MD2#)5tP+7c;66}88dcnI z6O%X?T@|RJR#F#@jq}DC&PLh%L}->n+L8)ra)N}!8FiL_z32NKwiq&eED!4o5BgK= zrW;JiC#ABmgC+f6{iJ)!P!lCYlTfk#Bct^q+|OO*&PA!UJK5}6@1}p~Li7sl3bMP) z?H+uEiL{UUwQb%J*l_-9+5KUi6+E|a`&;`5w;S{ogGH4Ik)MP)StWuJV(bl=ZiVo5 zIL9cLSm3Br0 zUr~j4KC-q?-=K7YqA4h%@^~bJT@d+qnIU&eAQ$c;Fj|F!P_=A7DAWWQ;t^FK&_VD# zBCHXs>V&ku3c4UL;EgRQSH`F|~#OIVKUEEIGTgh|J>UOm+eowp}8}C|S>yqqzp)i0}1;OF6 z7t_8w!Ow9$%?ceWK&{FZe~yPlfkH=FJ;$`$Hl(w0g!W%SaO(AXOBAe)3h~%bzSO+? zJI8hsRb=A|ob3$Bn-9|xfL-tx-2hDLa|0&$Q_u28Z|8R(Il?T7QNFguHQ<1zzr{iV zl~4NzF2@HveJ8{n^;=Mrt4%KM4)QSoA(8*c1am!FE}70>>ur~Hwlb*N0-mE_B?RVs ziq?@EjLBZQbz_tof?(=vLv@XG=S#94Hs<2QRZ`&Kk^nld;92G%73?aYQ*MWMF2-jk0tfN*jVscJ{$^=E-WESYZk>$AdG4dqD}FEe zJ~z zob7?T@@&&=Sf)$CeUh%?A4;yzq&>3-CTFa(M&+_d6kPTCs+WW0q{<>_ z@;#o%?}(|4iS~c0L_{Epy&n;?*oe|6$CcNGy9`bXK6k~}au~adekPk_{3na}<6!@y zAW70qfkxWenJtD5v|{xg9Om~mu^+Z2tf<;_pV|_#BlD@n1TWKaT5*TeQ z49~#my^$7q{Na+E^#nKm2TOujdX3z>gqGYId*WEtPP57hL_oAf9}nTr*&hkJ4_5kL ziE#gHxwZ}qrOjR~Q*Fg}R86-CTIvqWcA38lPN&UQOW)ojr$j_1BCQTXNpWTu=ep@x z$>CcSj6?TWsyd91SC&sViLQ$qZWhBp=d;(uBcXHN$S-Gbmx=mEPsX;K?)Edd;aT7{@(_JcibVS6^xAnls>x5X#Q^V5 zJFXN<8f*$u)#L|ft>8VhSFr8X6zZL%!gx;o?(H#PcaU!9d_75)1CZrpx6L?>IO=p7`_R zsb`nTGRJYc;N*`L&;A=#Pm-0|_p9$|`ZNi;4%5f^?y8%}#f&{DDO%!u?5K zhwyzqL`+w5(i^V%Sx345q8rN3yd&;P6cYYI$8`kqrl;CQ|4DWh^yWT({Hkclnvr>H ztrV~Z9OzY}8y-W&;PwdsUkF8bW=^^HGvEq>YC<@f-<8?_rw{7q;4y7uXTz&UYWCzw zQJ*S)mBY&~b6Sq_T?QpF(+5oB&m3d$b>-5wj!zZ%`lQvXr2=<5npM--qqPliAm31!Nhr^t zpl!6E_X!(qyn*c7If)otQ|MSa27YNGO?Ap_)>K$*BjwJktPrX1>@13IG*UQkj_!LJ zys_}?TQ6SBvB=Q6-Ms*n)*qX;e<5^#5o}1zL=J%to`t2@%^E((q~A$naoMqVGvs58 zMJ$YD$bTGTmB2o!lVcMWb&1KvO4hUD1hbZzPE}+%olPmtaK4`gL5}+&cmTNPH6Dci zcPT1f&mcNtUs|p=v2)d6@wtGagy8Y6XGTpohqdRs8J_o?RGY>&yKM8U#Ind zuck4zAhubsFY8WwDe9intGQW9EKTY8hRm->9_Je>22R@xG))h3yv53V!+)qKkSf(Uph)>=Gc36%x}!$F)5k&2Br&&R ztV+^;q4b2N*d9V1Ez=upNz2|Rzl^7~p6e-0+-H*Lf3#vuLe_mqLu_P#6SUY0#_Tl! z=U-8vAnK9s`A*@M!5qRaf0gRwD{~O;_$&WP_)e z)f=&{2wxaFuN3~BX6q=cA8#=_+Io*X!PjH3@o*uxb%Yw59WB z{S$w4*@w=~EIA+A@asa6oFq9l1Z95;OI2@DN674vve}O9bEouSS&?h{_x?=n2znVE_oaX8D!)I#h>7Gn-S zT|@V7zlu?*$W>}VZ>5w`9Hz)gOzV4_1>U@4Gcl`54#DPjQgnk0&^Er!ofuC7|5<6B z;7R%c$TgRI$}KG9SboBf8;c=WOA!SJ29C?%qE@Ph!aV)y(qVV!OOCP$2DA51s!qyn z_NY>)O+*n_ihcQy!$Eyk8Ur<&Do{ZaN(SC0UM!D!lt5Z{$`AcUZ0L4LTA_kzD!ALQ z_|}wgqg^9fL!Z?jS1z|wL6^}RR&q(>bnc{U#?#$)m9J}eE}E)vv#Th)-ZF(0yEISL zz3;zc$vRfvS%>!|VOAN2QBDcclnTvW4ISxLbdWy?vo;g6CmH!oO0do@$qOrd#^pFB zs^D-U^Mz?K6S6x|{3f6`C~^lx`z0|zfLFv5+o#|hyQsluAAi&(1f9F+N{;#8(E#^uu>VA2 zy{iit{vz*>zQYNX;P`+PX0Ry19%|z@E)|}X5=g1U5z+~B6UsJ^O~XRU;h#D1Mn<%H z-5VtK-s2<{sL*gmNC6U^xf)#}iSA=p3~;D$879ie4=Cr1IgNn!R&xW$pk=(I^4pFY z&so3ukVyy*iX4 z=sW^`OeZWBGCuMg@f7=1s_3q8!9_gl_w(xs(ca4u>{cQGw59j%NDj?PF@+XuAe{x< zuuIyUN0l*7e291w`YlVXfzY^PV>I?hd-b-NXsy?)GlJO9EVYnRmq)!5klbLpBvuow zM&U+neuGt1mVt_f@_#t}U*q=$PS`e&)}1OJ3-CxVn3THs+<)7kc0^dZEyoDuRGHix z4|;o%S5un8^$x2Mqb4`R4t9HMlU$VRm$+n{i}svXoCOhw$N+*F+UFE_Mx6pq5L$)- z(~_Q)gdD$@>W_QLz=#|8z1=$a!1Dw9M{2a0JQHEh8FL@(q6szCU0a5dsebxDmK~4V zpj=OVepKLMk0N3~pCQBBKTR#EXgk`l8I4J8{iEe1a2{BSqg$5sMfArq)H5?AUT2&W zy81;>>DyK2(9x3_E;g$r)3E^OZ)kB4jYc#sG2tLI3Mgw)Spl<88`m1qXq}trRd!hQ32J z5HgF)w1-EGz;6ix{`jg#7-5826X@*wwFep$nX{2aDV;ox8;>AK#?-`ylE9~$Qxd1$ zbht+h+RX1pm#1O;9Gy-p+`TXA-pUEB1q(P@(XWL$&y?2fsLN3K_IEbYzjx)AQrV(5wX?{#twyUJ*Po z8#o@kVj>#6KJ>2zDpN^##LE8w9um{%B>a#{mNO4`MtH+Od0Ul(no9Xnx)8di^m<)V zep?TKXRRX5s^h_TI@CSxbyv+zNZ4Jj$?g(^qOEcnXlDd$6b16>g(%7!Y`(^P%Nv79 zQx^LFm>nNs@Sdu!EDo?UHj%4mEStLx4S)gAmaBV5AaUWr}Qgo}fItjP2FD?B!zAkb&zDLvso)x{EsehnOF7Pb?j5GA+V9$Zikgn|7O_l;5CjtZojIrVSRKLmtp5h)x7KwI;I&l* z?BcYFi~vtJ2ROh>u51D5>Jwf34@a*z3{$&*e!i?kArN`DEP7iP142LeM0>;k*7Uqk zxMC2ikx;TOPNK{zAAye&S3B87q!eOxR%fpD2z$SA)9y-SpSS(Op8iqKPm7t>_~1fu z#=D=@qQy#S7wjI}23=cxMJI+%ysD?J-r+B_!KRRTz9m!FwiNFpbV2O|Z`@H|3_ zDBAm=3U=(CH8=6!b+-v5Rdrv^cy zq&(PvRRmk1i;k|AHw7k<#+-taNKrWr0U2iso=}lPiaO)nUNdi>tERThH7BFfiXScO z34Hmt-mW;yti`fDbGABKcE?}#z#CqI76}P6`AFZe4f~$G@p%P(yw(5d#Kc5V@eAG7 zAM4al?5c+qxBPkcVy}{3k>fkxJGK|0ctH5N;i35t_@h%^o90nvY5Py#+4rD9e^Xs( zli?TJZC&GakWyl6=4tWIZ04^%Z$;D4aQ?X<)n#vPFOv(x z_$#%?sazwSbgYw$#c{b~n{C)NGD2V@^a?iT7cf6&231d~0bgUIu7=hVjLS%z8vQ#f zH1kaP8#X`n6{Aq3k?u9pV4D~Z6djG|6l*c``aRQkpPVc|xKXnjMf$FBT-g*Df0i@o zXhitN$pZ9@FPEu;g5{s?t?8>fSv3NS57D(Km2lT#D` zJ)s=eSravZF`IEMDDT3sXSXBPWxGBw2wmEKCOcOa6K*>CQ+iG%T1{|T@!(z|W}2Vp z<|m$HcZ+PUHcK@BzH5Z~i;426lyBg!*eNW&IuJ6xd@k=bh2IOc3^(6Dfg1};w}8b{Up#GFWA1(B(~V85 zzQC@Kvpxi%7^xVA3O($)9@C|9N(0kYiN3DJGhFH)<^otZT5O+ItFs{^fwom0R5s$C zxdwQ=;ZH>`p!Tg|GT2S0!@3F$NvPajJ_C_Wi%1u(KUqK2j|qK>K}!mA{iM^O^`!8y zr`{C#qq!{!-VQT+U*6}W%V6dPq01T!`fUgMqb#Pa`|o$e1sRTqgasPEBN^#W@^|0? zcDHd4vy*d5dlj0amgBeSn;jx*+SFkuETnayi!9zHAjwdL9{4L>%CM=HXqFz3D5bCd zm2T^oX6N;r**(0WC-kfeN;JNsxairBfb_z$4{U0V`Rnxz2J$@d45`# zw+!DOTb`iKNgsh0P_PcnmW4HVO}{&-bB(rYjrH+Nvcmb2QPFvwv+31!RaylEmq4L+ z1@0ZB5&z0Nw+_&tEK~nPP7$O;9T_Ko^#&j2$4`A&r0kjus)8oASMYZw_ zHnZh=QH<6uHJzd{bQX1rk=KQ@$?gY;v z`g&cF-3H1(fiA_)3e=3}y|rz^jT-gbp9Ips(b#E4o? z#v^p{CDLfQ>PWS~#5wTz;?k&fUCRu#RIo0IZD6ExWXv!B2hGf9mbcZl=5vwq$Is*Q zIoIe1v0ce0p9rfetB{k4zSOUm{kwLTMGNdLRttw;tM|6v%X*nfeg1Qht+*y6Kkc-) z5Mw0ue5C>xLmdWE1lOp26MMAEjMW5;D6uJe0DvZUXzr{F!W}Jfv1&R)?Ztr95v5!Q zE4&qYPnBc#!ZA9$inYnFvnO|($&${gF17yJ?8`YZKbS6nE<66}W#x~reXd2WXG?G1 ze#!DS<-+5qmsEtL;&0b6Wn&6o@U>=Vk2A7qp9YK>N!RP3b)pM+X{qC*z*=!cI(xCW z_EV$cT~kYBsjuYSZ++WSVy2?a$!~a!R7~aazA@@06pAY-w|i^H47jS=m!ilAB_~9k;sM=0k;}YNDqhq2t9L z<*m;81IIk!nP{C#;ZS&!I8{fHOK#vgoL$bP9Q*=S3{L;T$e(?i0pIw&O=}D~@95mZ zSAF~)s{Qh_Xh8z!n&_m7A2CN&{eU&#hKw`w!8Lj33h&Y?VTCc1VEsgS@*G8FiN^BK zuE25Wi_?MqzGDOB)><(Mf~DcxEx9O{$Om#1zA*%4ztp>9ZGF0{&OeQyIO zwxA`d5D>5CEIPZhcE$9>2iOe7`a)mqRfnFua;_)8h2uYdTJQa=8&4l`X2pEH7!wu#Q{X^I z;;qnJ-tD!GpD%j$X{k57>b+$ry2|oAx87+zNfzYjZAttX$r<1@5xFTxBc z8x644_0_>|#2kxS7GFf{UZbk2#Kr8sUcHL!Vk}_3Xu)TD>+7pKqkr7kD>AZrN0*YW zab378-65biEhVN#JPq^{UBXSaV9@!MF zIGl>>P}DUG!Ife5U~UIpE`k%fT!vDP-cqy$Wjo{%X@8K+Fw!d!wSQ3gY1jL~;tctQ%!TEt;~7*z z<&WFjKjX2Hsu^buAl#jm&tbxn*F;{uF;*Z#zV^`zyors7Lw&jb)s%QwvY@QF_v8ys z9T-%%$~^6@eH}tS&xP-S zTHHxKhBFPT zKAZJEZg~m6hJg{^h_k&XxvQm-w|&oKS1-|WPMue*L4PHj?Hhy9D{J*qX`z~1xScn) zb2JO9Dm$?cLcJ>?gv&7_{96IpE*gW)R?j;Io_I|W`gG0`_7ePdRD+p`4Kc0~e;R)7 zwy0s0#ScZMt}fks&88sC^TaqdW;H@vDPX-Fc`tn{2Qa~?NC%=mD_zMZpyi92I~|1e zt#S0P^^s0jcT&`rl90hr&iV^#K1 zpX0xdU%zii%d572@ssjhbn5cIfL<;+#6?zu0lEm-Sc9ui47{+U*#v~1GvQpSXwo5J zj-$Nn6WOx-IjAYQe+Y+S+xE*BL$1spWzSsYv3gh$H0m5K+su{{cIu=ws@uBru|EBF zx=ahp+NaKygX+TZ)|Iqtt}4fCw}X&eiCy!yPoYu+nkT#pLdpkSeE|}UyA0{`ZC0rt z13VUTgPe4^E#Fpt4_MJAmVrG5iWw5dW4HSkW=2(txsAJAP7-Ue?}XvHZSmi01Du|4 zAqQ<8?dwIX{z%UJ05u~{g3+o+MOh|?JKzyAwJ4$ftmLMbpDUk--{kWi&g}_0>L{WG z9Dz7qJp&<~!6lq(b9_QIO@`Atm|wr}aOoYoWVQT05f^21>5vnL=5;A}=3QdYh|F>W zML2t1O4l-G5}un*u-QNQ7bSA0AWV~@IK`-myvj!s&;-+ux7rufbOx(4uXxiig^WMc zn?TLbu!ckw#oOnBq_oDw&1bU~O{DQwt$$ARJT{}{{$AU7)J_?}it=9slw}<;lH?b+ zRDMugDr;PJKG*ICH~bP2>G~M+ssA{e@U2E^`Bh~hz&)Y!WG=Bszem9DDH!*~ZfD{@ zevjGq+BV~7hUu0;TQO$SaIYR$KFrFf@>TC)uFo8-i@z>BV4m@3E3nauo7<{>Xk+iM z4eIG{UPU|s=f-q-$cKttJ$81yoL19ix8Q9#$@pocjH>S zcS$S4r5&CjpTNoN75$8yq)|jm?BYcIK#6gu$7~$={t3iLU_jMkbo#tcBiV52=-y_> zr&^}Zhno8h!Ld;fSk+y)9Afl$^$JjCd40PZ9eqEOm@u`;>QsM6^GeQT)5Z~*-Ryhfbg|M4IstSID*JZ&Q!5qRJ#RUr{t1jTYN~2mXee@&=3BU4%gvoaIdjg_{a&e8}#o%26jNuzV}GBSiAda zn{8tO^b8nBNfOylZ1#BzPRxl-@O-bRrSY%=DgP0Ei>q*ga1G6-Da@j7v6fCkuD&E} z@7H5c)q(pvx^4)iNLm-cM3WKZ?~$ZQFz8hUcm?5{7fI6t;`UA(Ma=wVB4S71-Z(bh z#3m{ey8H8Mb}q-3$VpE;3LUc^ZA#80JEnuwazg%yPCVlTi3?P^;P0QV3{B?|gVBR& zmHY(dtJJQ7i$Ts|7$kUGVgI6(k;me3))u<`=LYg#rAT1mj<^SPt0)PU&iS9Pb-C8&2m@i!;moblzV(OlDw=p!cQ4$4V$2Ww;=8QKsQMa=(!#H)zwY{r zmt_UZ9zNG>uKR`YPL!~-bOH6td`Qe0mn8i4e-)%|=fL{BH`CkUc5jV)UMKIHJFFSK zQjuNECid6E44s&@Wjp(-PNLIKzift$Pe-svOwoRkPO*ArdAX|diBvQTeK*sW0?!J> zjK#(5JR$w1*8}$f@fw`^&nw*E0V}5g6V?W>n+hj!x!V4L(`9$3WOqH1T@vw4#3F-q zYffv*->+X~c2dcUTR21OOE>McbZM8Kyc*EvhTrFVJ>D4fSd*#Gxq3X)Ztq=J%T|uE z>Je@v>+pSvvL28$0aPW`QRO?uyo=kQwg4)#4W!gY091DAC}upjHn(FcSfDmj9t&D)*r~DdE6F-2sLQx#QZ8L zQNfg1Antb=x;?!3Y&k($)PD61PZ)9UJ_76)w3?hNyGY#fP+P>prx`Xd3)`3%F9&-jlrm)H;u+5?wQ zXoIOt>CYW3yM9J4`Ufl{>~Jg0BWh%R@$f^dg161KR%5o3lPEG_{)8ipB%EA@6dAhj6zpK@xzO-mVYW= zPfcXN-H&D8r&5VIVw*qI*b{Qa%Y=u;qQfHZR-HX zlMyC80h}anWkL#JcHfa;Mkb&=X!NGbi^KCE0Epv|cFih&0MZdO81I?1{N4c>;_#D2Y)e z+D%Zuu_b{@FY(`(Sxzkv$7zU%oz&e-v+cg}e%Qhm5?@FOyngypV&PP3D!QJ+k@1K; z?I_7_jXFC|Yif7gOsAZJ$b-#;fn$|8YMW|$A#nrKMea@Pm}>h+<|T}vaw)_eO)y&1 zNv_U=pF%~#m-VUMowkmW8ep}5L+v!<=j}FZl1>Q%xN^e2M^Or~pYLV>sB~-rmdY^} z!J+}KKqjk-wKhE7fqxBp{7Gd0 z>qwT~QRp&oU2Q6I{)_00WE4>QdWj)C^cR?vwY*OdZm+#rv-$a`qAB#NqF+|TP@|kR zY7c_3Ccekdo$COP=T=!(*#;*gZSkQ2d{UQdbP@+!wmbe7ojWLO;Jm zz@w!CX!BDieac4+pz(gtsBYj1d&7#1gb8DFJ$OeNzq?wU#DeVVpD|hWoqQgQ*>H-z zuXxQpi7UWPw`=U?hFItzh_L(|msv8J-ihB(7TjsSqt3tX5t*?oB{g{$VG^wJF7-eK z-ft>L^h{+Pe9hI(aLBXlbt!SN03>;|SILq<$`$$lTmbD+UpJG-qXqGoC36?mPCpqv ze86yK@>a$x!Iu~NQP6G-XvoD5wD@^ZD^Ws)rV#Mh2!8RBHLq%G#)N!TbXkz(3M00N zwT&zR!vJ^vl}ViXC!D^Y@*&Z}y^>3!$qY@srj0JS6Q%5|GeIgtm)vHeWxQ$p|M+*x zP!ocQJz)}EZqK23v{PSG_B-G<gLB; ztT|7^pAAHp`HW8bJtnWl);bVot5I!>q{AAiI<+GT-aj-MjKXg{-lRI37UmkV*H;Oh zM+6hRGa(L!jl;_S*~-UYdC6SKDsffkLFQoqLb);?aTmO<8Rj72aY)-q4T`y@ zHgCBqbeDTOg(L+5kxxzK4mAPF_>5Ex$Um#+K^Mg10V8M@pavq$O~0$!>Gnj%b%0fD zQ0GY{}Drfd{~zg7H^#o#rCAV-2+ptIhdi> z^`eGjv|S&a-;ZDIdvhmby4N3w?iI4Ny@$W?m7!McW)C`(rlEY-?a1A?1*)Zd(aEv`GoemUcKkl`+*1r0ZZ|nH4g7n)&K2r#|0VOx(;}Q?I z^k*^Ht;OfG2k1`7Je01!rvd)ev7UUmiD!Uq9O0)IoK-F<4;fGONA99E*l|fVJk9Y< zCvJRcQO|}02obiq&n>9`=cK?a6r{TH$^1f}`rxL|NbsU>P;b_fY$#p^nmMen7QZ71 z!2L!OIorMPg+P2^YK8+^Rb?7HCiD^r(<6l8N@9FaBHoyl) zXlQBq>+T^KY&i$2OXi z%)-&v7Jj#5%3dL9#Esb4WPTq^f9bcsMia$wszjBvqLX|_$>YzCf z;+4I&pkOk(rVx@#4W)I`m2Vl)dt0q?H@Y$isj&#~L_Whas2zvPVCR?48Yc!572YV3 zv1=UAY>uN+KEHp46994*u4$GwySPDoyqZn z77g1*0f2Hrexnrw`mkBxoYNemuOx?@Vk3t+#2j)y%z1O%5!-Cnb?MG#Scmfse2)Tl+MJ(c<)=Ki zvOZ|Y_f96gKgD?$@B_@X54$FpIBs%8XvKKuQx0+H2=BI;9_8ihqZYFtLYDOX@6k>O zd>z_eyFrd1_hd;7!F$r^{S|x%4S8PIs^M**5Kxgm=}|ZRM@&Sysu01`eMrNW|EfA! zyfALb@&3Saz2tE6%-^j#4*pmtLc2`!yT#?F+Y$KhjT0AFy`PEfTcl%YH=aV~%@Ezg zKh%JL_G8gck;gEe)4`AV-!}TUc`|rb!DybP=6XD=&q>ZXv~=#VL@;~*Q~>USRHJK6 z)exbkq6ZdSH{7s(L7~~`vw)+7?H-GZy5dp`mZ>GiU}LU0PY|b>tLzVX%-&>bPd)$I8rv#l!y@Dp;F_jvG%GmJW${P`6T^>nVo7< zK8m8rcrRX{fAkh}Fc#Ha_^h3+B=S)QdaCc^iyI*-UhuaZ1$ap-^X;%kq!+M@Q&{pb~W@B%#} zFd1TzAK7wC&BJ8`B|UzNHSbC@F?AdqE45V1^6U5eTSn*^gTMaU*KOu9Fw?vlwAra% zxIM9jJCH?)-w=1H90wY(hU{1$t>n;D2|^4qOA&KfN`DJ$u#0>#u(Dy8$0w~U!+gy4 z{0oovHw}B;s@f}qb*GqN*&?>IoZpGx!UO1|Pbp<@344t7f9%;t6oNjQ8RzfgN>~Vn zeZb#n{{|~COJ~KL7DQe!6ll`kIcus)&4|^>UdfOlbY@EMzOG)}NS!-XkkYa+|L(Qg zId;n9Ro{g>>^p;fL50+y(4HDF2=}wL5AZ1bYdU4~%?!8qgVFKjvpedX4;35n#lr8uL^%wGHd~PTlicr^Z~{6M$W|!%Ske+M20+* zQgvzrF8#H*Hs7kQiFmG0QOYK=+^p&SRpTXsIj8S{iYq%*H6c@Lh=&oCS*9?MJz%rOINbR zU#Xi6zCVLU{RPfjTwX3lu&*=I{R13_wy`wLRs7s(#6&IVI4PJKhpm5~e7T5TD668n zfObcH3zYkm@cXs`&|3kI$*USwuA4gJiYqTFbu`60BjK}>=7+Bz2~l1DsXq1L;&p4U z`OKtrW#mAW9ghmyKN`XKbcT z(h6Z~&qEL=d8|}t%yU$uVghuabQ~Okd&_s+n3>gbLEhboUPbKl7$uxZ?lpWl$P$n+ z3S%FyibPn?kh^Zj2x+$60*1W#uOs-qk+AQ&bCx3?;JedV4z9ds+*vcfRP`avQbe5C ztEpT>c~L2H^yRN)hw*I)7cxvr%M%VTI33nm z>ymamIezmRb2jBhBu>vjo-)5EP#DZRKrsAbA!Chh)A>q(ZI%sS2|lYnkge30&wlip zP%cTNd7-z*E#XWZxX$GIW;KRf3_0IGy9)hC7|{IL{SFYT_WLs%I&~ZPb0CB!ZMiJ5 ze`5Ol`uNhQ=Uki_X`l7<*a^Ih?||B4q!V(TvxNq?3K5(n#226$&6XGtB%(pB@ms<8 zLIZ=1%7GTUzDPouIF z-iNQOR% zD?Oa^iTAOkV_<5Lv3`~$HC*c}G`ukB|L;USGeUjyn_9QR%ER1pN-R)XFkD=kaEN`u!}sc_JDhRX?D{qTE- zb$K0Vt}WU|NLh;p6x+J<`H+0ySdWIFGzT>I7UO50H0`Av#AXky+Qc z<4X{e2YN$tw5~iB$>09m5cyXz*bDKkz5({ZxLAL0(rpuDE3QM)&SZNq1y}y{huQfQ z=kukXWu>P+!+xffo(j98R7ZoDrCW6A)aS*=9Vpl5{R#G14eP}mwZY&nW*?eAdnP;p zvfHF;OknYT3)|&>_)%(0iu0LAniJbs(eoNBd%Km6?G~xtb#eK5i|xmxoQo&94#q{ z#~%i{2x(bKMac<|t6;Zx(8`q^j?w(D@#AzgQ|Lw8~#KjI|A? zh0RN%zBadw*Z`_t9Xdc4tAK&N8ye7YtlEROLZcYivSn-aUeC%7?OXjR^$pKXmH`4UKCap4}mXAO# zsiqA>*kKU2%8!fp|8zydd6+*otm=p8>um(Ic5Kamao!;;3Z}q;x#3N6v8SSC5N}4~ z7PfogAvH_)gROr^=7F&*Eu=R2E8&E9@8iF9{*RH9^aI)S*FDzr(GQSc2B+~}@TBtH z=vVc}j3GH@yN;Cj#_jZz)^+*z1|t+I0X(^>dQ|3GF5|~my}js!(G)#y>90O$Fk)R=Iz+PuCY7=j0Fp8DnMNzdkyOC(h&np9e&n zlDMbo!BgAHC@)SX6*=s8ZMqn?r+GC;Qsz;q#=$s2pgBECE*66n3=!4tuP3(1IyT{7 z%$8NhFY&}QR|9tmD?AVM?~(cMEZLSNr?UN@_NIT}Suh2ys@$Q@57lcsW}%3}ITlLr zMKR{%ql1sp1#>={ANoGv|ML#!gjp&bN2eFp0%5i0{KltPih~Rb&vIdTgG?@d6np`3 z+k}K@4Gm&QEj}&+p6HElFNLh(Ri8FzIC|Y1+n6=8*NI%s^aPW4PDw@Vg1}we!$(7- zWpDOK?dPT1K6~4cs&8M%NI9@tgARs|S`r3LA$7L4ebrL_Qx;mYdO?2nhEA0; zHIuz^76`>R^IiP3!%GoN!*E?zSc$IR!HxdOXWSuae*YIYZH`sl=2g)AWKPt~*~N>< zfi}e`TlrMhkhi3Em4d9H(tMo356iFn@4V{!0b?Dc-9VoWT0-r=QuD%GP`)W%a`s60 zeHGi7Y)}8yPR%zyrMoADw#U1F?lPct{iw~%$4M*NtHD_H{;^LYd<+BXgP%<*oe-J$ zytnMWM=u;3;Ux3dqtys8LZ6IkOlRI<;;EN1d^}Xqd-km?f-yS8jP;iUqt)vWRVlk! zbvaG@v)tW;Z7&6p3*#eC1%r-!imfPLZogo_kj=-k))Jn*>AUy3+pgOlY7sKD5|sOj zm^yb4OjkP-`GXDO#+t4}GHDgVAV31QW56`Lzv_+i#3k>3_$Kk){`Di81m-}KKj?A% z3w?63mbZOo+z>QUn<^f$;{X5^QQ^aHvQ1uTDFwNurR^VAlZq18Y&19EKj15i=m9QK zrG`@Bhh$rbLl#f0T5j)mF9IWGIi0eXkUvu%rBv2BmA%78VWKmq1%;4k9)27>44qif zG>?dewQmH9i}Q9&G&BLQFc!T*85BQ(=_5H%ke^k@Hfx7`;_^d z$4vM#Xb#iM5LIC|*Em$2qwVEd4QoZqt6zT2~iu>bp=ppC9>LGLjx);A7S{DJd3cWf4eX#YUC8I!@ zLNs8eYES)BsI%Zdo}V7bJ^N63d_J~npJ7nti;0U)03*d7+B-Ol-)60BhV(70i+NH5 zhm8vF%yyke0G)QT1IgalhLOFi-U4*eL+c35dQnFMu|uKG70-lbbkdAr%x-Vg9mKg{ zXXLXlrTD|1o%WN_a{qMgJQU8oiM*V4fKLgevor&0 zEfkvP42=zaZW@m@R!la&94ucg4YXH-qpDoTlL&A5kto`SsrF$s4+Hub@@UOpiEV2C zad;4ox@8S4JC*XQxFSY0& zvOPJKdNudY++z_p@WfD_SKNZnQKTOYzS7THG6k7e7Mx~1zkxxyhXU?4c1g~CjC-yR-k=71=nre-k0uCzY5`SZvOB$-opQ4G%OAd zq@*FCj_M?zV~Cjn`7Ul+9b{N^ih5C4^DT|70&h|M96WC0ogP@}oyi~MDWDN(eaHgo z3YHGx_C}_yXM>m^@-BYJMzI>j#%PETA#Qm6C2c>N_`%H8nq!5OK06&M-Eh|5X{{uN zP@iiRIzMvUV(j?KCpQWHtu1vAd^;cBMeVB^DGep4<(-FhdDm)y3?*qn?dt&cS}s+U zxO78z6?$Z3!%^>;%a}uxf7y49oAe3Nnx$zy`pg(%v)OOi2D6{6TMAPo4CX&A$)M>n z8}Kg?61Xq8ubdC??TRIJguztc6YntGuGKyK*{&$jD(T9E;h?CjU4%#Ia?`Qi!cJLh zd|MuZR$JnCzF8C+?h>;>70WWJhSQ|i-;1TaAUT2ZLdF5tTcB?cg92IJn7`S(w*}&3 zSD=JrX3M>o^y-`|v~T#(Ufp_z5p==afJ_6l@O9P4ZQh zeYsmBmg>SuT`xKu*J66vGzR)Ww{JLgzVPY8cEp?P6JBvw3benB@ba1htSK?YGCrpo zBOe?%_sXDxyGt{5M)7To|7}x+pUQ=}(87`}5yxL^%6z#Hx(w@dj><#Y!8VmIMyS)O zfu_g8BLiZarUPxVe7T)FP)-jj6+ea0u03!jyUdQn!75v#gQ^B>73x(4ZhcfQcr#>X zN#OcW)1>dyocrf+LwGAaV814Jz^&=A>qpLyx|lvYY&Ow`t0)uO?@q~Wh@wVHZX?I#`SH!^#?J-79!j3B7vk5KePVaG_4!qkn<#ieGcTJ*tf;$Tx zMC1K0XILjtnX?q#x6H$Y9gFIT$E`jz9tCte;A4mcgGCSo)<`|<898LuW9sI+wLnL% zSNle&2rRovCk62lTN`GLeEV01fLBVc^0`*ORUQRI9I5j8BdYdc(~#?&%b31?cNKDM z>mvFs-RMk~K>wPqsmmrY`bwQ)%2DR+qnz{sC?5l6O+&7&P>6?;OoLeN{y@&29%-Ww zoBj+L6!LMUMR;}BtfN@0C@OY^7%V6wU%PzK8j*uN;-P>WW7iG$K{1A2<#^vYP}%tj zK&C5Ol%OriBll>p@U8gpUe96gLJ6V^=)Rz`B#|+O&advZnMT_g!|vMks3MSwyAW4M zu_+ngf?<<>ydTlDki@ZvgREh$2vKmKDxoO#no~<>lYu1jMP1$dzIUg8e3HBr`NTQYYCz#Io*t`{<;0uCNBQJPh`VLu z{~cpn3MuTdPC-u^o$1<;P;x_3x|z+!k~-{(*Eg~|(}p*Q90eI9&`sKn)v|?pHk1*)F zTZ!BJiZ2>p-=*o3!nc4gQyDU={lHc$@OKzk!N*H<%NX`$lnlcwdvn%nPJH+4RBW{o ze9JvKT*0&^$JBhrR81aHx0t~ND0tSC1;?V-jcc8rvKC4FlphEk!!tHtnz3V+A;&kcP z5dF{^TVWKmar%@)J669HyKveRz=HwG9z%2YP&b>1OVz+14O~?rnrDZ>t_OhI1Rr=3 z0YXhVs9{f^@NX>H(rTRXYA(u~b(T9(zfnS;Xz;6b3i+WNcZn_-vQRF$X2Q6LR{qeB zfeQ?#{_vUgMgt1i-=&!ebmKXCo)y~*ft-5p5nn;zhoL+~ZN@eIM9827-~-qJT3Uik zA~UnIi|H(U2T&t)Vfh`Xh+K0grS>6~K}J_;uhGq4Ve0plC=iGpk{ST_Xcn8rXN#7F*%3Ws4`w+EYS!p=zA}_V<iEka%(C5C1YeYzsrzFmIHp*4rZ%xU#hKGnN^V&g|Z z=HxHMAO|}36hnKhA3=?q?$6va61&!|)xox1=!M zCEq%Izo9vB@o; z8}*RF%^7|sDc0<>ZZCEYxAc%}!7rV*+NLl1EVLw1axFO+P*ywiawvOT$(@7InPdt>kynTWTD=m@iT zP0$O^#Yu6ZLq;L#Axrer)=|0wO$o$dIcFYTG<0 z6dZ_hFCeuifCtaFOeTis z&1)u82x;>zc`1Jr5@Kjdn-%)Qj)`)sNdtT6R{c50RVZ)MqJ1^yqZ^JhLj39u-QH(KyreZPNY15t*B+w8wdQ6(pp#W1%u zz7`$G^nWm%YS7L|`-D zwVzj3siNi=f0h(wA&-zM*ha8llTt~yl>eRG%;4K|G;&yu%V?k#V6bfQ&n?juaN$ke$)SwHl1S@D$5hm+2Y zV*3N{ZE>y()vL2ER1N4s8l|ZZARE?Lac&*ZYSDWQ{AUyw9&lQJsaoMi(-Cov-qQh1 zU7>CkPG^0mKU6*ZsexZ|pZK7{IfFz3X$QU?dHAC|mesW4J5X;(ksJAJnlA(JSc0|rrhSWaWv*I-ILq!O^&&W-kvgON+>GBO5%O|{ zjFSKH$SW86Ap9hkFeQL9)oh?cKb5icd%(IKzm`;KTHpmQbv}mG>KvoQA^&J=4RUqO zhZ77&4%O*j)W&H8eXsRs)s{f zujWhh7tnWyI!J+{lhB2^|IjPmOcMl}f}Rl@?jR@+43m5^r&o}F#$P&_2&RP=!n+pI zM9g8YE_RUra6&Jtij<=RQ=m>-4XW$mvCtXc>ID@@EY$b0+V0Ci(stWQWJ5}^StD(! zQHFLx!&rICi2i`_IRzh0nAYu+$(&USVoYVe5v#BFJwL1BbDHxdV2F^0Ub{Cfw}JJ! zyr-OXj6iL>`ky2eV$l~k75qWVa2I|TVk{RJCT_2c${v!KD%t%t+>M~F46Y^MORPsQ ze(co-pTZbg+T8E8N6vl9jOap}tZC;&NKHJ#Iho<>B*J{NV+BwDyF|qRzj+i5wl`PY zsk#@xcniV(s3kOUlCPi~@n zXyF?+_R!&9T3JH+L#|wbjW_)@80y@j!K2ka1_{Dp&$%DoP&5uDy+j`S*r>NRHcEJR zQccT65rU0y`0e*f8NMRzPY#W|rT;ld-n%37oYf3w{MIzhH6Y+KZeEt6@{(rD`lbI= zq4OnUSIo?WE%|{iSxMS0&-T{oR^ixF1v2LIcEQuPf+6mcqi*A=vpVK@nSVhemVD;( zXMMw-js17z?@~Gxt`}-V(^U=CyLV!AF8!8S(M+EP=u#AW=Bu&^5$9866Q%m~+} z-COSKfMPYsJqS568jl4fGL-G|tv(RYUat~>pu4JPPTQxr1IisbL5H7-FqoYAF@3gc z$8|g_mgl_VkIuxq;C!e;3a$ji^NJ0;G|sTEErUG)>xkX6K6^EEBX}yPQT92txqId~ z*=Hkz9K?ZJMkvzzDt=Jd->ViYS4QuSh(}M!Z!45$OPz-8a3HJK_4C0hcluXa?lHf>q z6o8|Sk*{65VGa54R7WY#8#dyz z9z+&_JGn|r?M8O|H=@Gh#R`Zmt0+YvGM_Cp(MO7Fywh}0G-fAN2jA}T)O0Cqy%`NKgZ{NCH1MppW5V&>B!6LZQC*fLC{ z@-cqjhYAhK!J8NvHaoPvmYh}S^T%>RvZ;c8PMK@>KVd;GkatI$7BtsYbMTBvv|a)#EK&1-%+#d%A-WX{W0j=8h`b)q?>jw~ zjaE~ylAaz<{pvm55we6IUAqkiIc=WZCI%I2Jtrr5B*LF;KSaw#L;m$m=V?HXwx?7e z0y_g5C4Ha3<;W0|e*l&1hOYWnsl<|tq!xYBfBWZt{<5spk@b+?A1%lCIQ$vjWjE(I z78VR4x2awe8y>ufU^gFK+;_vE>+|gg=EAo_PMiv>=x~YFsoKFOFU{OxDegiI#8YQ^i$X{ACg=@l! zub$MfZpb{azAv|M&dXtbB66awm7^|$9UBbZX@K)+^9#TNs`S*+GJ>*R!}L4ozm&L| z;wIM*ge{{NHl?p#o4I^K?>`i1_1mu|iAR(JF5k>8|L58PpIrp^8ufwu)_a$VKrFsh zW9(~}nthV~e#UijvvC}g7_3+zp{%u3e&oP-i?)s2lFl`N@AO6iB(dQ{B053)LihZpU*F^ZA zC&LYA9R~$HUBFoK&*55+>Kl-853~R>Q}Wsx_YNPkas?4l$J>4a8YMw$==Xu0%1T(; zuhQobDb#528vJpjWV;*q@%3ytNfEc%HYvOQ_OxVeJXCb2f|;t?zvl|#o5_W+jc+HiTRs__lFK(%I}n3x#GX{KJ>ibVc)Au(}~RDuZ67$s+q$4q(0m3 zV0zi^OQk}Hmjs7Jr6eM9vtq!04m4F9dDG;1Cdcd%U!a`$DAyf;-=3Vky7K3db?${0 zxWn|P?~QKa8Ur7B@dn(7LEU2{90h-<=}4)TSz6)0pyjDI*cEg_mfo)vz@$10^k-Rk z|1Jb!GI`)7g23Eb{}r+M^aSs16-{H??L_4gTEpOTX$^i_zDHi&=-hz;f^r*k-n$lz zTo2~0)!0XMvTF`rZhw65_SR!Hk+9Dx%_|D+m+GejQ(D>Yt6H?ILk!m^^QphpY_HGV zFiziU!z)VZAC`2<7>K;QC!)N(Tlneyn4b5C-&|LG{V7fe`6q#YfHciBSrUCC#1|UG zFSy1n3i2%y56HFJce_9}@Ufz}*5E{^?A|c{yTWFl)P?q(oRQV3l8!qgC~wePvyP&` z>EjXNQ;sLCXdPc(N5ZJ*dD8-klt-VkUaY0R>Y4ZhxbG_S*gc|=N?ETH`8yG>?4o$Y zkab^q6v?LSy9LL!MgopB?4NrZhQ z^ux&)%$CQe(Ih7(Bq>es0-~qtu3SAY0;a2;p%0e!4W}@m5kYiC?eFOzWV;OF&U{!^ z0WW|l*#n{_`q{yq-wLh%C$_4pmu<>>3o_AwwFwDPueku_mnLbjo}wRafRpjoc1#Og z2H00vo2}JzqXVJJ_&$K2PyDgz%|~@uAPm#t$}@*Fb}74sD;Qli8^L>=88=m4m&Gtq z6Kb%jLz1YEsXo%ilKMUr)i-L|&^Sn4+#FT1Lyh``rl0B-H`hlBhp|(~U3fy&E~7JM z1k(C*L^U8O0O=X6)1;lL2xOmoo9jgF_pJpU`xd+A$*w2+2ntD!y+4XMIq>EBmJ&4b zL`LADn>5|Zo!cAif1B609uVKW&YP3{TB7~6=y1XymO{l~GKu+owZD0mg! z_|ECOT9>c?GQzLLzV~mw?+yG=GJhC9hx0-&>6EX0l1wK^90AkQby{QYx>af7mcab1~hwARf_m3(Dr*Vn6?4rfgJ%%9hhpFQ*hB6(XCiyOTE8`{?|1X~g-~L3W8y!}-(kFMyl4KP{a$(U#Hmx`1t$he z&Yrg8pGwnh`~5w?z?{}OlAG_D?=Cx57ZRgRKVltY$?ctz;YUw}l2|3a27c)>3dtK~ zUqTWt85bDGTKhdy_^-SR)AS7C_@$2{Jzy6H52<>|C@)~8(PW{9m2pPhv%gY|^1#U& z?X7$@ljjT3I=j_Qh#7aX?D70@fjW2wvaH&oc2?P?=t{xB1#9O|x9oJP6VO4!d5Zq0 z!4LKUcW>)uk@`Cv0M+#Z;C~8?|CacI4$r#b=i#YJ?>0f%%pTcU{{>@!YWs0u_6XA( z=YdY2N9ch(gL>Tw5g6qXF&FN$hQ2H8c)sE91|G?B&jehfKH|8)%<=Qs27)9eL>fdn8S=5b4y*^W zlgHq}L?G!S%hTj2WLwQ69BTneWRcvy@-r0>%sH`;m>IOd4b@eS+h6^h|G<6DeuQ)z z#@sfd!&=`MSOAucV|E-;jnz-#B;a?}Xk--@T;NuC0Y;Nn5JR&D{+fE--E0+Dj*?lM zeC0}RnmMx-J3=rByu%AHzjQC=SX{4}^C6s5ww)XsAq7oEleSO@1>)qFXy_*V)!~R1 zeTrRgWgLzjg{tZhDeaAOoKT6Elk?xBECV9GK7f%!O~ z9Ny(Qc@JLY8#{sxq*hi762mVC#E-wSO>cAT=9;OcHCwV;#{minc9;9QUn%hE7Nu3KC zBR1@?YE_TlNjV1|Y|8l-`S{g1LioSeB12DNV2@g^BrcQdMM(09z<*8w_WMhpo{Yu! zO$eyWh;;M5o671zKQm4dno0u+=Z=&I-rglXwfrf=<)X5RNw4_L*{3sZ&P5XZuhbhq zvt-@bC*k#wY#`Ev+0727~*lKTHg$8^~lOXe$d$toPo86!5S3q>jThf~%|$ddWWxc!cq+{uc3HEdKD%`KSufl!-6GQXzvk35>sSf+ zMc~1~!X1OSP@;7G^7OS~qkM@8Hg0E!%Z$QOv1V;`6BuXseDXB?2vk>Np~AlybB zuV)IF7zvH*;$855NWwt@bv(q3W0v~H_-052c2n@BuZ+yGjkQ8>zW@ThTJV=&;Hd~2 z($hgh9qODrEJ3Re>2d70*vZ{{wATB<#xJlJMK}R>zpNJdbr1W%`F$CO*+K zlb4ApeugDn!}PXspZK z5vjce30Gi8NAM#F>o0)QoQ}e+g3zwA4dP+e)pITM9`>;nwl<9V)A1m9^)jAiQElIA zrralalOf0MPVZU}7BR6sFA=%0KN7|G$w!?|h5qWX>434l#-{&TT z5wai4{ImmoPxzkz$r0y9MHdj6FRXEG7orK>FX}y8czX7U`;!a0MuzcUcogy4h#n8* z(&aTu(8`8uEx0}cN`baqs9eUy!3nnbJH9EFZojPoB|%n4s5@wM@IUHaeV|R;StU9 z6TJJ7Rj4xmxSQUt&f7zQ8%}G-Lf5NW9`!&m_B|JRM9og>O zg;8wmfF8cJ*jyJreIj}(WhSx7a3-getC4Uhdfwjo5FzQ0TpQ+9o}h^))Cj|ddZDRS zq`;5f8tc;&*T7d`-~@t+6Bd;H;-Qcf16yf}){Vd63MISvBrG zGK8B0=^rLsMfHQfeptZZB2|a`urIm)L-u!FVL0XjuF(Ful zG(u~e5@RjMgrC*vF2{$Kyv;Em`&J#|#>az&(DNbFLXgxcFigTKkw=WG#hro8ESL4J zI$wp;ncm6iyhh73MeC5xgjo3WRqHupT+dbfd?;3FRj`o;k~O!8K-DmwrbcZKjXNv0 z(6d1zN9Jp7C@xsBpxCz}6g|g>TLo0}7b{58hWB`K{m8jZ?CTdwQrm;v^q=8EM;fjm z63f9MEBl$pH~($4y9`~3n{Q)L^!TgTJ~JQ};y>yH74)}XXT3KFwTQ10SNI6Url+U+ z?T(i#^PNt-5jEb2sQQ1ofoZw7LSGKoOyS2_k}u!EUS+=>d20N8G2%^AXW$)81)acK z^DnP|mbI_E>WC^in_+77(jdf$+mE4;pQ>pv-6m)inZR%-oI>K=2iqoB(uU9JLSLy` zr{qi%zE83Dy)SFWYVXEB3_bVM@6u_MgQOVH=Q;CKXu2@`{Su2@W0K5~U&1sQ1O^U2 z%16(ID1{6_p)!&3iymrHnKN^WR}c2LD6$2 zZD)N3^aKLFiPLq*izcrid~<5+ZbPegAw&=|3QL<@=?eU7<}mv+pbuVnrp6L`Enq}o z7r(<&R@SIIHuoSH&S_DD87OV}WT7#w7oPrp^jyJ==1eSEqmJ8;yw?l&0xM3;=g?ib zO+YmDUTVn_X46jpjT}x9s)T{O*Ps2sKDHna7HbuNeN%}=(_#kTJx!^k7gU#FQ1-90 zhy_@x)r+2DVo4s+(MQN_YMy4>>i0X>=1DzZOz}3d!+JXym}!WW@Zit+5M1&dSp;a> zjjFGOn&{YO01MXFBFP!SR?SBJB3|+=H;dM6`&x>&T($0uB zT3<nEl2OU%~C%&U2Q zcAwrkO0ez)D1;sMn}?QPQ0AwhH&&eKah)~bc{vxMIUeEyYSXtEnI+@?c}}FXJB>NA z^8B}Uyg1EKI=Dz^Y+t@J31bvGr#6daPLTI~4PV?B>hG%hGG-03JwizP@pDDRDda6r zY@FpJ=Y9mpf|Xt{nv-u%g$9}y8YPgN-@1#eU|4%mED1zMmjizLGD$lMM{BK}S}Fh0 zM53%-1k)gXhvsb8UpzNy7hP2gK2AF3PYFc;l1Obk!r#(I5qy&7HnSqI9#okwrF!RiixFS2AWeiHi zvFzYap;y9{Mn|-F{1DPNE+nI}rS{P&i?3Rv-`;F!^)LdI zdR>jTi@^;BaRd4wz3;1{fmys3yFXls(UcdMn? zi+o!FLP-pK;EFY&2Qc8HNL0#~*2A zBqkM|UHac8VS*iR2Q$dV)iax2tRYaK#VqGL90^@=e#ocCfe(7{>j2B9GLj}Z5sFI0lIA9&?wyRx}TVgYE@Yj;6_?2 z`|*w^khlxN<#js{esw4!89xu9#u=~9NThh$Z;b?TpK{?$5U9Cq)Y+1USeZwp6rCmG zS!fWRHQr>)vW{u=L$W?z2~^@2@DSVFVKvyNrq-xx{G5_Huq7~Cet{|4k!vr5v4J^( zM%&xAG_BtYyo+3r@(I)f3O#3NCZQNCc zbY>hHXGJlo^&G_g5j=O5Z)|RYOuv!@L@SpceO%szUGhUA^RY0T| zvPWrS;FIsO@tplc{)k&VMz5~= zWVR`@CYWo%2QXafCKZ)#aQuc~`Gc@uxFh=COsa^gRN{z?yWKCBPh*FYJp>O({WrfT zo}7@dQv&mDr$WJ#_!i~}!K5nInQzQVOfb@zo;yW4CqX&0mig-waB6rI5h2F5+(a-D z=VdFTwq+V}5xiUGb`DWSLCaE{To;Bg8iNpzngb^ebWgCxRD6rJ?OZD z48IM^7OuTZ3Im#L?KU8R^AelC(?qu8HwyDJ%9d2JWVU0Zk{N>^L>i?DsYUJ9(@Ki$ zfW#`P0S9aRbXe=Aet%Dq9)}tC@sRL^@}n2q#fpy{64vB)o?BhD{hFCR->jdpn*TCJ zMqKC5?3^!V(vrJqz!^^Z{K@qaLR*|i*^_nde3us|J%)1pkpY>~qexCmJXL|k*`N#D zHlicb_F}#@S_C{e!fL93bG@Bk7#n}oWyizbU$gJbzfIQt&+A;4MHdzKixFY=K8p7| z^^cPOm{7IfL6(-2oQ9_jIinR>uiD+UhODbm>~uCl8HGM)T!v9k$As-6rrTFpL2!cc zf5`ZDlSI(VywX}}c&4zO&Hp?g$oIodMJ@uen*xuR5Y_yzDj%PSR{e6nR|c34YO&lA z4w!KcxH^siKknD&m0N*xzfV%)tm($=7{pofT9cHzdOGeK`v@H$$_dxhc-Z0NJ42OQU5rF;QunuV09 z@Rr@*)u-%F5%pKTM;YC|5SeIJ&szxhjhWGsmvPq&sH?5HL#wVEEMbw<1Kk2_K4@k4 zxv83r*{7o>s`jCqWZd7td~)cs!5c1bP#fyQV4Bd%fl*_$8k(GFfE9$G_$_{MHJ8as z`00XFk8oIQ*<2ueJa5)V1}M>n(02UU^|<8KMD)gY*XI-W=;F~Y_d8cE3OlvM+|Wi` zQLj%lyllH(r}(PB#}V-}fN2rlA;lP@Kf6Gm5=VcdGSNZEDQ5ey;wYdU8+YSO(8N9kPhVx- z-sL`lWVzvmF80KcH~X(R-yUiL1XWB<816{-1t!{@Cli7Hl+u09+L-ZL68%j=p0Yb5 zg`jfF;W-5U{I8wB&uonScHsUh)hl3yy4J2cE0r4~=-gtq6lN{1Y*1SJb+2)vVIeve zmuLG*Pp%vV4}Il%=MyKWPXPVF*=SHA1YLI#Bed~LnxA4-W1)xhrSS#!e1QU*^D$5t)TTmm zBI2n^)R5uT){vnXA{txoS@(y;W02&zW-MX+I zkOHb9`R?ir9}!OfPYn+j78rnAnN(+>ygqre@IINnN=cQ1A;}zAVzP$!yU;K446#bQ zG@B%7r8i2JBGK%~@p>I-BqSt|odEgeM{~x{{RcpSS*Y%PkGEzunsNU3W#Am|kKyXg z3I9H&CX()i=uWxwdcGA}7G`lX^{q0kOxFJCW3r7QxIUGp5_p56v54-V>Am}I*4OyxCiY8?O z=XyHW&)u2|dd&FIPQBVnlyKim2)@?RnYp`;_UC#RyyzkcnjJa$Yqq zRkW;j*buBc?PQ}7Rn}5M3W$3f@;i|0nZ5lpx=Tl0?gh7t_B>N(9s4c5^05x_H8N_i z@W=;NpbS~j=SRdPL2_rc4k4)0s0I=*IJ={*Y_3iIj3G?T`0OEN=tDap{x!Xr+(3wh zLfL^Y?>bOHnnD3e#_tQBUS=4NYZ=ELFg*23E%1FnRcg)uVd*^lss7_Vo)k$aGRiph zvyzbPbxvhvr)4`zLU#5z4hhLPA)~A^i#TSsWA81FmCZSvjKet`$2sSFPxs#c;GFO0 z@tN<}`}q{9@--z~u_9#9v?0EVqr5+PCbo%C?^(j_(K1QU%Jq$6Ebs1}|N5?|Um!?9 zyd5nhGAJxa$w$+O(}tc!Lg#Zxd~tG{kkwI5M^;hR+Zpq2@a10<&AZg#i5!jnM6&GM z2xV|&kY{1G`rI!c?)Q=}T(Iz!x0EVoW`!G-d{3tIIj(a7I^5Hp*h)<#E z(`uWDQe5G#%SCHY?s=)VKqGC~#u08`n4`wJ`yRRLl*ne2O8xhfr`r{U!1#S!0NNqT zZCZ&D^WtCj-~Y+mog^A(;lCoj1~P-X+r&DOLz2LJ2fe*~nn-VQ2kQ^l@wa83?hp zZi~cQEAXILsou3tS1vHZV@dc;O%Pd}yn?0zB-%<5)^vfe6j3x1vLR=QnwnYEnQq3HpOewo-S1NujoGcvK;-PD#sTlE_p&u_?x!9+ZJ8X8oM`bogRdF|rH589t znRBUfcE}0w9m<0?8Rndw(sEK3m_a%5; zE`4iN1fQ)23=kXlns$zpzF!bk72!RcUdal7+faKpi4?DGm7f#_We>}w?d?Rs9_~NNFX24F? zI@%fb&2Ex0D!(8;wjp8>4@*CPc$5Rymz>Rg8a0c}VA7X`br{G>n5jJNnK)K7zVQ81 zHfc+M@sg3xn%4cgv6Qvi9YYk(%NVs5t+b^FahTHw<_2>16_1Tv^q_APXR}&n*Ly|b zOROy~GqHDlkG|!NSCGzsG4jCPAFkC0QgmD1_z^?vJ>69?AE*{yXZ0)3Y#R|Eg5f=F zN@@WP_iR^0J@1v_y%QSpDs^ZUA3aISE6=%LI8~t$%NE`7za!*d#%3UDyGe%782&01 z*<^^=b{z#8SBf%LCr1i|y1h>i*LEI|=f-q(>;f`f1t3$4ewPEDVNg6jli1y#?7Z#KGE;?GC`)+_HeZtwgscR-34y0l|YKf%XliXwRg87vO1bjT0p_kk<|zQ ze~W5N(A;kWw4cFAb^7#Ba3=>SO+A6|Lk3iE6%&baVa#LGE7%mIgK{KUhLzoaa(!)9 z7vi4HhtD2cOXXY@+I<_ZoJw3w03^J8gC*u30apDyiqbPvq(xJYMGiX6*MO`53@A7? z5*;VVjYygq!N53W&|bj$qPf@)0}TX5okmPqT{U()bDz32>b!gWF3e_f?IkbH9ei)BxAPu%e{WgCu5gK4NOV-^tm5=hP9STXBhXQO0= zz38oTvu>MuAmsYTjrK|9)L1Yt^bJ0wd9jTaVOz#_!cRnYTDpW_3dFBn_fO6n*nRom zQl1H|EnwMGz3A{Bpo(q^7)+n%W3GeoL9>~SfjzG>xX*@G^r320oy4r-F>1*h;Y4O; zcKZpbK!iateDaX_3jDgJ6;n!hvi}n&p%Ci_KLsPYj$clkn?rlMNF&K-NofHFj>@d zZ2b5xsNe|{Z)xA;^`d-Fzkc|A!;5vkUS3Z&-OLGaM;761RXzw-ol#^8l*t@(Td#~N zd)DH!5U;t0Ohel&f!68wF4kkWXdR=xl_?iK{b70CWFTd}G^`oR!eZmnp)y!|L4B)f zo{}$4?fOfN^I|AfHJb?B$Vhv66iKT^!79r(1O?0tSH1 z`K((J?<(NQ|Bi_S8I^o~nXkg`LOFb1CE4D0`cXXoTftehz>SkWd^9K0)7FVf@7dS%3d_&=a5fGCR65_+$gIoc&%0F3Fxq9hE^Br=QJO0rIa&zKe~y( z{eXsBi?-d&;b8MDI9iIp_$ReaxOE&hz2M(O%rY_wfnstZGvJuFKt_ez1sl&+{!50Ez>a$P;DW?y|yZ19B=|ch?^{Uu4yB< zkE3l4DPO!>_>QBS1j>_{1G`S$4F-HL^fk0!O$Yn-T>^((6CH{$ZYyRx)eG6;1s3%c zJ>v+vC#yDBLT@(KgqV!03Cs=A16{xKpboqlSgQoaBUJ7xwIf`A6Wdv*)^1adPi(Jj zzUdLPXH-M8_8HTb)vW+sx+@E<&pD3%y%*S3CVJ|8xxCWoouO_>HLmv|oLQ;FM(7@c@B+k-Mtdqu z=AvRhtTqGqsRwPRmp-Xa1*A0pIlvs05@cu}-~nMHH)0?|Xk!B82;y0`1yVl@PICZ6 z^0B>EE^0W4QKr#$>d=uS^ChxZjJxXMlwazc)S+O(15 zN9U98%PlnM>4G+1{XTLZL)~i0B+?Um-sFcOyx265(0v${wKsjS3AK30_o#iGiPQ9hvq6hTh_Y+F$YD#l`~o^5-G^ z&M=^Y$x#vvp7#oJ#AJEZoV-KAq(Eez&F-P!pM-isG z$aj%@cljFNib$5~Hb2bzK4SaP5j1u$cv3>GSzrAI(F?SEj*lc!*U1)&A5>{7L9Jc$ zloK49995dlAYXpct$f%r3*=TyZCHLg{O*W4ZGZOLj@i;Jb@tcc!l#%}Z#TY~AcQUr zj)8i*c%lEHHWC}6yLIJ-NMD(aLcF$9kU<3teTj&(;Et*?<%@pKfo&1iB%YjmJT^{u zqHl6ZlV-L;ifE3_lULK~997G}BSXJVWP<3e7kQyZn{X9Sfn$J^YGK)N@vkotpEQUF zcS$?PzhE5nfYEra$yES4rrz+!&6ERHt0oes33$DK73X!jU66~s2MS5*z}RN&tK)+; z?1p&=fk|KSOl+V^qpd-kPrmkd8*>750zZ0xf+EMa`6x9u7<2gQP_&` zK@5C$uiN#Z;g88qB;_L!rEJC`yQFSo0;-vk9c}5;eYWsIIoAK!>(0TWsHy&sy1x2? z5)f5`76TxP-gu|UeQWq*6vtoX(0>w+0ci(a2P--f8v~ziUm(-F%-7wCeTym<{-yQF z{f=`c;B_@Hz)pNz_}D2HZ0o}tQo}Mu6>p8hSe9H#4 z?Cmvi@iDPX255O;nN0LA#idkT{3%;B_e)W?vu-NgE)Uw;`1iEALR|o_oTHp~jDFj) zXTDu>Rav^AUeP0Yu3*sX4AT7o{No`1$2BD~wT{=`26=7R{))#{_7Bkw*r%u-UJhZ{ zc5~ljj)X)u>nyY?%D4>{1hZ|V&+F#xfAsm+)R_aw z2@~#7soYOV7_|t9s-)clvCftr{G);ex;er|mfm%?;^1PJ3VJ?g|H1giz)ILxKZ{-q zdHTL0geC4;N&khqPw%w^$qL4MlN_)~7jQDV)tOwaxkz1rlT~1I+wk6jy2>9PcztYx zg-+~#XT2=fePy#P%TuQu@OywEbL7Xt$}i75^uU5Oqp{~1nFis^v9QfJ+0CX^6wL!2Qv<-K2fx*aHl*y<1Hm;hMYy4iUc`a&&XwsNC~D_jOJ9RJX{P)m6zSpVph` zWrK5i@gTe39MbGHh+$(Z2uf_z-|-G?U~)YMW-=Wma9& z;*TcubYetUrlQIdz+@TAf&Yb=qXG=cU2?muG3-9ewQC+B*Wj2R0Z#iEQo@|~!n&ht z8rqZEgpJ*K+miKjLgwm*hUXdeMRw%j%}EaFgvgdOy0Yjo++_o90;~fLy3+L9lm=bz zK=h){ly<(1DdObb=BPdrOAm2jR)(`a$> z*S_=lA^bNTR6ez7D4+TAOxc5%Td|LggE*Ni$IRUJc2x<<98MxA{g5*g$6Cy(YD=#w z40d+0LV;xl|3;=`crQ9#ck}IWoG{n>Qp(6}*&^qo%#&dj?@T&YAvz?Q7u&(~3O23P zsu~rqim@8+NqrBw!z7Vi;r;irMft>cdO0ln;kERviN4N<(F_vT1!OO&+8qX(fL|N7 z%e_+Oi{QLe7{9Fk+%KZ#)5KnUorRVvwXipT*K1=DW`SX6N$xWLban61iYIvg&(d!X z^5idW7?F+s2pP1`Xm;zu+~#7n>YuVXR|D#PVro}w?2+&fC27zNkd6G-*{<979zC|3mlYF3o1PF~hRa1e3 zXTjeBJC&GD(m+g^D>6$H{(p1m)VwTA1BAAIzz!{6`s#7x8%W*=(laJ=BI`QSw4DH+ zL&sOYe|J4;#!k!FveMRVY$yNBecw~|MeYu&r?gu0B1N`tfdfAh12yVPl&i8m+SnT()!L$&-)HCx0mGtS? zB9U6o{9Kl2juE^!ZW|N%RR3qHSL2$`BurROV7(#q2uVl z--7Z%u2n3v6X5FF+Ji3>x00u7DggKh4!(!trmiweJ&Uh5JV`@oK^v6?e8pv2rx7<9 z+8m1)PHsx{aax^MZ5X)kdNbr7j+$EC)>=X|^SdJ7Zagsch2FKenb3cWMK3(~;$W-K z@4JuK4K@!+Azr@@_;{f+d!=ah68}44CTEEiQ8QBHhPjUf{*hdRhp5k?eQPnAGkZ^s zvEIa#JCo3D5rH49JAR{Ss#;@(83~KC2L3j>@zM7HQOy)fO7gG0;sqj{IN;F|3sO0A zXLzmWu9`r(Z}2qJUoc`j=#;T;obRG4Rc7z?;J-;yB-jTW{`D9EcyMR@pVzPx51WZa zxZJ}ey46swmnEx~iqQCW`g-Zy;bYetap5@oKSd)%+YMX2(PZZGxTCb@+-yX+SNIdy zs9DxHLBWp^HpZ^(s(Avj&s{jJ@{gA7stE(es*bK^z^=%Uc0MF?Zl;IX28;Q9t_a88 zb`P)sZ;9|8pmG}Hy^Qr&4!Vxh(cEVH600jSp2lGmTUJU!U%azFIh6=h`7gk0t)EhR z5}GBADs;{brI}wkV`>_6_1gRY^ls=Uiaki&D>#3Sf&0Ie6Maz0?Vv?;>N zdH;0&$B)?t?i9vh|7J)|&EenAav1fI=A-MURUm^dBY&F@w;Xom*7*vDqZOALh$f3b z%_F!X*|FK8!XEN5s~1j^toVqtJeH>k>UO15AxhF$Gzrc^qp< zsGYpG^C-z+%TVi#KnOXdmD0Xzq7^{W+LFjhD z(~=bg&(`yy7;G$hN$-OsWwi6QM6BH#Lw&a6AxPyLW6#qb%opS0+>SHuv}NqGM&bTS zlC4>fu9C6Ppw^kB7GLGj#WI@qZcr+UGsxC2F{3P8h7K>As9HU_~k%-EQI(nJ*hbfF0=oc^_X?C z2l-33kQe)-p!IetvpPn_Qx)koX}c61DpiMNc07jLrU`7Bu_{6W)#5^y^@ zkm1vyX(w)PFXIw5(PFQT!neMH#ux{no->lC2 z!mpb4D}}b*FCjXd5~sF1QrQTSP}US^QS`Ynyj-QX$$(Zmbk_{1riVswVFOOG~6i6W!O?i1Zk&QJ+J1*8c6oOb64b<%gKR6!ubXg!CVOdOqo zR({Pu8q=DWw;(=W@aPbP3(=P>192@+i2Z_76DP=`?SliH!6V%KSBgkyAy;pUL3&A& z)^5gmk$>da>pHkvZttgU@VB;AS)Dw0d*a!^7xtB>J5E9Ys@`ecCITtAyD{O>Rq& zq*7*Cd=}yIW$T$WM+WCcQpagtSif(CUNCg>67-(?uhC7ubu+$e&+%>R`YTQE?=dWS zjpC7VCvVvUYCh`;8TJr=^NSqV`d$f9{V3(|`k;-Q3UwixQACiol3!2aX#=P+#A-ZA zoGGN)2a|Ucn5Aahk7;(sB(P8yT5lBA50fOmM0GI@t1!ambiDFN2;3{Rkg_Ali3Ba( z|H)ROq|E#0hJE*?SRz7CU(q_}eCE7onS!l1=daz}5z|j)dS_}*En1KtS?W#@maYgH zL2v89r_b@}M6sExH6GvUk_^xc70CZi?UfP@ zy<*P=PXtA)xAZ|$f}MMa9uBlp?dUhEL_}aVlsH(5OT@pDvbSlwv{yWGE2&s!n7F3X ztjqx!9S^vbx*t>*+s;?b%1n4;ylm2qa zTy?3=;!|WxoaFH8Rr8&nq-)!AVM20YH9~`jv13c^#k|EO`g0Of4 z$cCG_TK=CGv{vs)PP@$`KGjb-y}V0#WM>z4((7z=xNkEG?;r6S5~@B9pJla@pUbED zW>K>M{$U!DExP-T-`4PX(jGj%3n*UmrG_m9E-7ZtUg8KxjqPrOFrADvi#KZuF6im+ z$~PqSs^2BXbW>Bbwuav$alF769Bw}3-8BW?SCLBRPT-H5dJkWa$$5zX$VSghP;nyK zdEY<6UG3CP-+2m$OJ8~1w$<~|%Pn2rZw#%2Toalt6yF#cWk!3JhiBSGxYW=xDEHvy zjhjl*`YlJgp_@f}XAnc54MIh~k0LqEk(f6-)CnLe6zh=(@D%X_19h{V&;g*|KZC+0 zTbWEJRF*+f;5tM^khbmky+3`zN<1x(U+{IGFXOq_@k(UFnQ?WB3hh(7J%|VuV&&4< z>-@v3@rBbK->wmGc47=P30WVum7$~Q*@z*>naAWyk86hHtM|6HaujcF>;4LB1J)v3 zh4$YcyK03PsexN9V08DIW_ueekwI9%mg4-gj1{u)Ls0Qx?F_>!1kCSNq$dZZZ{6Q_ zxwSE_A035S*q7OF4Ibmr@U$hM@Wfq`%l?2+1ch*fS0bq&yyr@&w8=6aXWV3HnTmy(@dHySAg`65IMy?C)yKpS7}rlOJcO zwU&Fny2mExZq(!N98{N;x4Y&vf6j{V$D`}FAd`e196V8W^os{pgc3(*N zRE6c;$+eQA;;@Vu5%z`Ik3Yvyib7qrm@nOx3)`8v&0uNrZK~;MTVc3pRRv`uLzbK( zPk)QXx@yAd;7i~VGJ_jAcFQ{@L|%!to&AbsKTirM>e}9ON=GUv;V&Dv2#Dp-Pa>Ov z%jf=#Hg1qZ%pZnsA450m)}92@CxGm$;EAb**nmB9tnvr1F3t8D?-4f|h)S(r;hk1K zEI&rqdj)7>(=WriOmrbm!${!HuU`D-?z;C1B*cQB8+Cc)E%@v?J7zVlriW!=qFCY; zYrFh2a)sWUQDpN>%e$h9*VbrPLA6jL@~ojK^^PU}KL>pwlI+NqrUl=B-TFKC+TsfC zdpBJu`%_GQsLs^$QSn9I*=BXi96~B#piVh#XGb{ zwzhZ_Oo#|@&P4IE&9UTZpRkCLi&ZUlhW-Zoz!NckUa4{{>*sh5((|3WvEZXxfva_C zTkw5UF|D@#R^6!gZzne~Ia-`dw>h*k;E&3fm;m3BeVL+&?9K>BM6_w5g``TAVMX{KBCQ~cQeBQXQ4S}d?yM+20Pn}codY*P{NS?Y! z31k=bS;2gdaHA6Jz{OE4cFt+zTT=8giw>uCb)Wbf?gdr1g}$81UyPZ^8`1UMINWcqP1F#hZfgvakCAsmOQ0cHc99~|lyr%3XcHSh zGY8%P2G#P&T(JJdxF13dhjq5=Dhg)4=-aKh2C@}DBCtz^HUBW;`<5-C!t41@J1Yob z(`3H&yY%P6;m?dAC2$5-j(t`#Oe%XduM}S`O#KJM-q8Qaov8C1{8v{(rC>vPq5ZY}K)rEJ zsiM-&n&g-+k5kn~I)-bBGCZ*<>QO^l%EjFeL_VK-d&*nolijuNUzIesO|H)cEU^iQ zMCzY8F#xHTU^7w!I}){(Hq}lg{s_2d!N3*m=j$vFwJLiyeLwWdkG^$WlJmSV7Lyqs znqW|LmY<~%%iI)za9L$bHwH4TXjgZwa%uyA95tkt<|Dpd|9tw$wijXl)}=Li=LVCX zrDx31r#94oV`ee(Bm?R|-?GDf)TThwRY_Ya4jo0)0r&y$OqCr)d~F{DZ9*%Z-yz{} z?6lq*Sj9@!7EdWJ3lfX-#(J&Nls&Pql^83BDq$^je>kp^5PX2TnhQ{Q%Z)uZU&`F8c>Zc8YZj93l$L& zs$%KiA(_$H^!Bo-O+LkIEeWA+hOe7kbY=ROrQ1Y}$D)~udYR=vKPqp0hh6k>T0xpy)3D z7a@P*nc<;51$&}KWBgd&_@pZ~f%fBlmO&4i<)_Pc(S}qujX!ooD0ps8kA{#*h3F0h z2rSs;!(0-U!o4Vyh*Opv=)!`wQ@pyJIU$kWU5wPiZ+JZlKNDO;dV6=P!_Qg?cyUYd zrvAk-3s&n>*pm2|*?$PG^EZY4%7cU-?fwd2QJ5d(jb}jigef#5#b9T+QQwqn z^r{puJhQy1+^x@C>HyY9OrZqK6S>o=Oy4uVowg=yUu7_t~%e9;pKmznx4Ds7f-q8AH1Jj9jB|Tc3dyit(sL7fi{=P`OA#@0lZn8q~Awm zG~5XuC<$PZv?xZ4nx0+*tuwzN8gDH2P8Qg2smecz&Rq=D*m^PvswwnH4@0OVm@O3- z)=%;Uv}Tm<f&cdJfrOUVN}k1eOAkV;XwP=O&&vM>d9Gh7x7pUi(Eu@in{AVY@AY#3&_2rHtcFwd>7cH{(&Yi$wOkx&| zf%dfp+_GJN?{UMB_g?hQ)zVAIK(qW!VY}o)(qKKf zM=vP5>Dy)Cv+G%OmeMhuSG?PthT>E#B}r%~WwEO|5jtoJCNQ=sLMi$l)Hu8OCw87J zqs~v}r+QG3u{Au8ZJ-;hV7RSURSas>WMWbb_};AmQ^u4Hpvw5m5@8fJ%cM#R~~d{__&zN;huz`LxXWl!c)S(IJ>j)lTMZNPWw!}tb}E6Mr(8Co zh_Yj`v!%rI+2Nt9;utq=xWO@_30_eg!d^`KeTl?WXB&$9-E}J4d+gJ`{MFze02?)) zrbOeFZHR$jei+f}L-##4wx4-a(p=h-eESs?Uz@cSOHT=GfdaE}PJybeX!ob9xjC}* z8~}AuCX^zkWHFCV@V9O{$lC1>^?0ZSs%tgfi!`&JL49bk`+?ds5BdF~nDk0L;ai!P z2Ia1NKjba{6o;?l{S3Cfjr(ybu$*Dd=q+@Vh|&$&9)84p-EZIJ(;Uk72f1oWzEaBF zgDxhq)}{oP?Io8Z7n{og#bRde4BbInYaD+{pg!v0)<}&xa*yf^o{VVPdrI(iv#hi@ zL?-2g;@C8bY+Hl~ITh7SG`-+YkO5%AT|t~0;^Qy!_lEWB@ZA@cZMx9l3xgFn6$WU< zW7JC?CSU3E#&s0}DU?|$N4AXS-Svw6TcbY4| zRniHxscSh;h|RW|@V)~P^>+{!6GdNy?#pRIi zhZ2+RhWKx9KcM2is3;)YE)Tamf{l7$E2U%M-S0wG5(5r0lZ{oK@dQV8;e;YbevAnw z=va9_QpQ>UPQk|lw9)8%NnEZ0XS>Vs6@E^>rlf1P{5Q)3FhPyv+Js>Gd@C4Ppl??| zHxYIHRgWw=j;AWYp$wtE9~q10tODpc3PNu?wQL@h51|lF&VnL1m7`9iGSI!Pt!5`Q8U5+6746^E24lAW6`Ca6@9iX+Q;URYiWZs8fLS1vK? ztHEOp-0r?^>i#uxKM#%%<)%K9{EDp6?@z;l*56y_7#?VsNC-Duj}ZOy08@6!V8yv! zzvZL-t~i#zPpLK6W5B@Ihq6h#A1>+Es5r}}1XN4>@b>Jk4{0l13G)>?&_ZFyb>NO_ zlw=TA12SxHhzOlTlDIR^yQXim%M{X(V^OMjOADf_%`AJJEGQ#?CeqJGXf{@f*(a~#)|VrG-l z@(8@@m(b$-n%WU;!#MCw5U#qbN=0vYyiD$_Fb1@do@lyIS_god(EK|?JO9dM9}jjt z{V-!haa)1+PR`-!qzDKs=XF;@(0&Aj6j2;g99wZ$b(x3+jgfYCX**pGX*O3_1wCGd zm84;#!BZlpCV9rM-M$`#<%O2`Ju}LWn%y-+1A~#p;$>qKWRFbhmsS@s;Kh6?h)#kl z%u{5?&LBLx%-x@*vzYJ(B7Uya zG!^GT?s-W)sCfvVdC5iuq6*<5{EPZP+`)63D~cVMn6s{P^eiDB-qmCFrdd0Vw3nlH zr^xP2TpAWv5ZrayOAAC$5hJWx!m>Qt4A$qSqD+DgR-Pe3E9ytr?zW4+ZC3UJ>7Y@) z%#~w0j7(u>YJ)%O7X(H zXX#DBMa19FInfJ}MaC8ItOi;0$0(sp+jut9)}#5UMT;*fux9dNXwTp6_cJEFCW`o@_%wJn-79;GU3ux0 zAe_(x7w}v7ObMRdEQ(jW^px?i$RTeWjgmyx2YC%xEmV#Ll7xl68NJ`)_bn5&0G_Dj zLGL{BxR7Ug&Ag)~Qedw>>{02rXXlyg8Pta_4I;g3Y=$qoPg08^vf^G-g1m0Z?*?jY z>vfb@R2NmoHm>j0MOEBmKq%dGn`jdt;*rFACK&g&KtY6*woAaQax2UHP4ZPaC^ula z*f~Ewltht0I@BhN4ph^?%Q5uKed3$J1QK*_e&R6bCwB260rIoxWzL?*Cd3lgO+zY( z(w&5~?eve3CEV2mmW8|Bv396 z-ijdRfK6_--MQ#udZ9yE4DqM;p6ELzq5oR>Zol|%_VW1dlWUi~xpbtwn=39ghoN7I zb^Cn@6-~)q^m`>oxf7N6TGK)E3w+4lixtu4;r8HiYhSI;r2_{6%d>7*zuC=(;PTee zb~wBHpRN#FPyZ@7xRkap- z{QDahynCS3NvPBgT>*QmF8Pj>Aq39_sUWSK#T3~ZqBzcrn-Ee}4ah53{^Zl5p+4vC z3S_8&&*vb$_ODO}r1{CyO@xAj(Y!JPM}8`Tiop#63Cb%!q?j--Qo96Y4F_op4e1(? z7k*suMbBdlL$uH=W%ZCAMwPZbk^z$ZA=J&0TkP;9#slRLWr+GoZu5Z6&bZTKaoS(H zjxj9QZcrstcxh6og@n@uS5DsJQU6^xfUFDg8kFt1Weh%kiPn?)sJ;=e-#fk~?mJ90 z^_B99d+of@QH)|M+kalO))nI8@Qd~mhCeN7$E{YsWR@VP$ZXq+P6rKehAi!^3?7`s zN1rrbUry-v{bN8_2gmd6X5YjTi>FIT( z#h=bJ5|zKCpU|_fTcg9wgpM5zg8kBkv+gb{5pIh{VCX~@>RlT65#i5^b<``4ErNK6?F&4 zwLFq#kf*i1jXgsC^WUX2;mc>sp8l47 zeL9pknOI&Nza)#OQTaS&8^8^jc`cwm4Y7B&1}y#t8;xyQwv$yc6?-p2t7m^=Rl86B zQoJzvf_K;f)cyGg<@%%;rG{w1?Q5jc%3?g<+YU2;RE!j)7e9WM+Ru|(Rx%b6!k8Rza_88sUKLe-2EQ*UE|qh zOam7~qH0l=09jR6nOMDuK6h4@RW~P{yGi=Fx0o`eMIvjJe;0HxlbJ;M62(Qo_FsT-z#1Op|}ys|NuQ5h<) z;bK`H2g0~Af|hdXo8){1C6W#(8BOu69s|&MfK<;<7)%mCz0@A;=lvvk^VPijiia=l z#BvyN5UY(j=#M<%2Zjr7J!#D31pEB0=t)q#$y;vvP4R3dSV7?Uvy0&1(DCp8I_jjo zn$;lj#aDUJt5dOsLPeeoydeRJk)VuJPux80DL@#I+ZzHBqdP*%iUIqRXrbJV8?@HE zvrS42Uvlin1LK^(@no<&S@XK^dEA(PeIdY8tI@|y`yko&XxhxpJ#*xRIz9nwAU(n@ za}TPnDLIk>?^IA6rzr29z`#&A2dtIkZo8SJvLDgTUHP2rKrI^Xfh_``_D_cHPMV_~ zGCUqoquB=(D;;bQQ&4WJ`mv9oIun2Wa+U)z=8C7gH37Gl(?R7QvU2H&dw7|{T&1&h z(NG5U3g%;Tc@~0ylb4m@#LQK!x=}*5jdjKI!f*{qiSw)nL1NFoWv5uH#D(l_ip7)R zDTbHdmY7@(PEg{>+`RzX-nj~oaP9JFO#U6W5%vyz`_b1mzSG@}O#-ax;D>XWpMnh+ z-#oQTHSILW0|l&F6DIFRzl&Qg6-FVF&?+W}tm%co7pv7?O=#;US4{)p8okVMe4>l; z(Jcto?o)YuoN{i|2D@EK_kexBfhVRVEe<lBaByh;rKj+;xhPi^`}ho1Pxxvz|Ee>kayqUjmcUzbrTl0U|daM@5D^RM)S*=n_To?Q1 zW*#)nhf}(_U3TF%F*l^TW;DWsRBB{g6aQ??gA#OoaV<%TdFFf$;ga`NfdfXrG8%Yk zl(|}=ZQBFRJmlP<RE?IG-bYK%b6LqXFgh&Er);UB7$ocUmOAlY$NdL#a&o+Dp(L@kN) zeBCX_(aEN@`dyQZX$JKoS91c)Z6QS~qKH-kb$t?MAqnqgmT9%Q1mz(AljEeOvupe< z$BJJOwrYJ)v{c0w0^44ptI5pOaTX)C^Z)wQDF4voE11w743B^FoXx7mMhCBW3$fHV zOhJ4tGBrUtx;9rPquqc24H%e!gPN3=ctf9iExEB<|3mWIs2^4! zY%(beM`Dl-*vBz+msKCfh+`J)aOEj7h`8b*bfmmoKUwO|UAJ2>^ap3G{M-wlh7t(* z+`?JBW+MX$0RzV)P|A!%Dk=^gK07!Mo-fcEJ6Xwy52S*3}9 zGyd~P4}^wSHHHJ55{tgE6RS9Nj-b5=UX)jn+GbX+n)b<8W(_BNJ8!d-*UWmFUfNtD z%CBMtcIuS8ho08GCqCdJzznrPXLN~f+b5_@@pmii+oOAc(m+_Bsji;RY8D#!rz;WT zC*QQ)_zQ14%PVagyNw9wUomMvM1^gyj%kH#$v!_hdJ!D*fZ{enbF@D(i{1tbYpHFq z|A42lt0n<|R+7qLyYRUh;7!8kGc3aJ za-FW7sV@#Y-&?HM@e_*nbKY!8#QqaiTF-CS?iQ+hVgh=WmpS016(f(J$5kp#IT!J- zpuk+$m`w2J?jS03f8AglMSJGy2tTaq8+k)xfF1)Sw$z)eY>O`wZR{T(7oenpuLwsl zE6mV)nsJpmv$osb0FNsmRAh&4GEURo)&}6CI@1;v<^7?@ylWW-(#QM#l%q@xxTtRt zl6qnfIkcBbxJd&a;t@*6!DQbA_hUUOEYvCtz z_mNK*>uAxWm$JXaP#1u_Bn7r}g%^>fg9hVCRJG~vD z5kGAq^8EHV<&Q@eC6xaHG>vg+gs*cbE!XfuRsAUI{@B)4tIlI>DEZOvc-~t(YF0|w zRiu?;Q>Ax3yLG*Yu4Mf0R~st^{~3R(6%@~*!|Vr6yNa*=rmeMqG4pzar+h6We;iDlgn%C=>tES)uCbiv{FqiDN-5+%4{{8BWnA9nN z71!}k%o=;0Tjava4t&q{axi^!-GpD(Pnc(UyG-xKQ@wCqcrKLH>iru*d)FIL zM%tMX=i2g60*^6YT(sp(Vs|bUcH31FcW=Wa?4nxyKHNhab9ijTx=1JmCaGUXF5eHl zjJe`=Y5YZLp+7=ve5pXFLB~(wCl&9$QG^|E4O{V*ihH&p^5M)WZMc-e(kd{`TbtL152 ziF~+;tU|qgw$I5wHFf~qql~?EXUCXOf15}dtE_*zXS{j!&$68Tu?%YEyi}`u$SSe& z;0=LsHF9!bC33u!00=|&g^f1Sn$~X2d66jVUPO8SZwKw)S>Gc1~bmxv`+Y#IBgh=`P*d^>OxuZMM8)B z#6iGsar=duSmvJY#%{PcPs(~ubV>nc|_OA{w0jk=-Pt zEkNQ9ZdY)qA`S!=esa74GwQ)My!>*~tGDSg+k%hxu*Ly6ib<1XZQ|mG(9C4b_U;K? z)byyVuJ7&cr-0MuWBA}|Pn|k*0tKoL(Ex`p!lTl?v4r~FuEdk{o*v=X3)SlpGHcDn zC`>4=sf)g7=ajv31h;q@(VyUs1)y3O^7Fg;-n%7e=!U3{S{>E+j}rZ*rWMgY|JW z8MNJC3w#uMMX7B2q6oXBfUdx16!hioe4caSMAlE4bXflWo>=x zHA~B1LjP{`po%$^b0)-$mixW;wBX4QFXFz8OweHRnr^qn@p6xGz(mHMYS9z=X5XUc zu~Z;%xDqR4K{@mQ{35b=k~S4$j<}H_la^#N8{e9in{ru=J7h7XW@izcH~le|)*BNq z)BN`i^*^O9yxZcTTkP&h%dXW*&RHq{`#;5T#x#-Oy6;&>$1>QmKKexmr#8RLe)A@d zu*mE3KQx_tJd^z&|L>CArMOFx9Cmlqi6uF+Rbt;#R4O8-R4OE=3_B!6j;mCw99ATi zGUu~hB;+`UGUs6!h8?lvb^Uh#9>3rJdu)4L*FJl{ulM`)dcGDfD9AK$^h99FT8>67 z+Y`E@_Y3)m^O6t+0=_{_+SLvv`yQGqgcc-tt$#Ea=>-aqjM~?rA|6|?mPUzSiiR{G z<=~D98Z+^PZRhvSz~J7rLkKPGGRVNFiQ(1r{Ms^kF8Ui-((a*jXYIww0ZuZivue^fzaqa z-AcsEG!jRtIpj)Bm?F2D*5oj?BiT3L;t}W~m|;}sl$_jpKpZ6}YI(1?=RxpBN_SKq z(UrOxm$by_Ww5X&&k2E=iGdiOLz=~(UIGiAGMCh6`v<=g-l9Iid(rQ$4~(mJxyZ*i z8Rge+!iDMkOy8+FAK~DCaeWGmE8OK(f?JH@IeHagc;`{3&>O)n36)(<_2Ydp>AZRs zKlQ4LS+qW%10|~1924e>eG6tYmBaThkHWoj(l4uene7X6YMT%V(4vV^dU8eT$E&&) z1p(ua(V7Fj7M8YV2l&xRP+5O|%_e!fUh^sci&oH(4#OvPSPD_a|32q zC;WVztjMEo)*aU;O$V34O!W&B!=o$OE*(vZ+jwiN_g1gPyL@XecXYP1S4qH)R4c{_ z$OqbWd74SNL0R%0aH+bGbZPif&65qAoPT~Y*As?hGPOxbrEeClztUxkXC7G8=r2i7 zR;1+jCa;0e(^0!dcC7l>=<$0qt>Y(EJxdR--fRZD{4u_a((O^#V z|K0#+#qjtwBL+(b2=S?yQLeHwnyYU?;H=;S*GStG{aEDhM;`TLE2c{#L6JDA^&f}) z;+gfVa%@}qq5lw=zu+td8HTVDzAN2k&Yt1nWMixu&oV-60-E@LuM5Ah-e5s7lA?6GfE4V_a{cocTF4}6jpLuJ_w_YwWueo+oM>`^^ zE)vFuNqm215POuWYR7&gI+(4#)w0a{Oiv~A!xJ?Mh}l!l?mYqB4o`)F(av%_MRA_u2K3Zh4G904C5v@RO{}lIDYf+M#33(2;jSWV` zafVp`PIyWKd;&=5d}?v!$`Hs_a<^f-MjE=+j!m_p6=v}VZLB-$N$EIYH{1iedrn!W zj)RtivV=Ha{-2DR;n;6sThshDab?Q`#JCZn;)m8}v6Oc$N4=N<27}v3abE zJXY5rzW*jxnoRM2ghn!r$!{VCY%0 zS~GfSQ}04IyhFw4nrQR3ikMh4ctocu4>*aGNF=)|Ns}tMi=Vf->1eJSU*lqJy*^d5 z`Jauu|JBzUP$?R07czzA9p};$XZv{@52I}*n`@Y^^nHf2iL8s7vR|J|tZH^N3>=Nk zV!eEW+qLVXe!U&QGVtnV*$BTFw>bx!$!lU&yt4x&arDrXzFXv_*5Sw35Jw+3$X^_s z_0uqMM2eFNXR~~x_)*|w6v#d&M zMGK)NG*nt&T>q{W=_^(3S?=lm2}zn`3*>K$gbSG$ls>4a|bT)cAW+$GU_Hmq!B&UGfHQnqa_(y}spv(Brp;fFq6)bIh1uJA;xx781x;FSO~ zlW6nK2-l}8OA?F8bV3cQ`)teMFHnv1$^rvi2JkN}Q~vTuoW56|)ULh|Y|KAzUPteZBhNb6 zhhN+c%u@J3WpYAjTvE_WxfCWzXSU_9>lH%?F}mw3_K-XQJjWih7n=)B{s7~SPJ=eL zgp8(#-JY+o?S2lB|6PCJr@>%4oQ;;*1EDJSyt8jA3Wu&;r`2XJ&^0Kl?{F=+XP1w% zfv#Qq_`%65ji-9I7CzFeHlFyL@;KbnB>$ardk@;LBO3J9XkHrI)zKU&W?m&5tUW$- zW6eZ&(+QvFYc}6fOy6|=*`6N}ZqGGt<{E20T9TW3In|^J#e2SUSADY4-#*9Wqo-Z^eUu=vRwH9~2bsy{f?UwYEZ{VH=^mdgOb@ zhxbK?$=OK5zL`5;A+IKZqIUhdRdc%&(*o}g7=&2`Mhen&$Tcekr=c2Jv{xXGt)wM$ zF=P2}3k|;(iw8bjKks$qC6e!lpUqfK4f<|8v0Jo#4A;4nQf>>3I?IXH#y&%YpB5g6 z9{O>i@aB-|#u$HE|6>G=wL*n{p(5*xU&&QQ*G9f>q4y>yjFV(lNnmYzG| zAiH3g*yM-89=x?Q{xq8GMeAbm(!2sZ?9JgS^vpw$5)dNxwFIz*qN-RtIeP75O*7P zzGZ3+eI+Og@H?#v58I^ebQbl$-18J`4wN%IcXp#}73XSH<5t%>RJs?Pl0po0Q`7Y2 zn!F}gOO+u-E}Kr7j^tlpvOYa+1bbmm-Rfhpd4YWCsM9B&L4Q|sI_H!b_pFR@ z^nh8jgxnKI&j9~u(Wm#|Uh#@ty8QWZ_oC@dXPG(8{kji)dXyh@)hF_lQP#Ci)+%Rv z*A1q}P?j2N-sg(!RFY27#$sG)OV>wj-1}a}ST1a9ItXsD>sK3z1xquxV3)dKN4bG& zO;w_7n$ACqZ+53V>hPmEV)+^q2ff2GkNVxK_UI7Z-@vbSHb3v>>ezlysi0v=HT)qGIx((k`25a2npCl?*kIVMC3{B1-mP@9*9);J0L~W9o>9?K& z&#B2RZ`nz!_M0@ltXZEQc=Opq&d^aW%V-|SWew~ahW*4$&!MW#`2J16Ti{N_UV}~3 z^jlO8x9qy_qjEieO6P_iCe0|)rhL-5;wSD(&FAI-FZ}UELeS0+u$2T?wfeuYR)-*? ztLwA)W4@>Fg%A(stdF z+W^@|QlK2=ZA5$vdaa}?bB0j$mqz#nemb9OS!s=)h0ZP~H1CKzgZ=~@BjN|v4%*zv*!2K2nfJ#!*qFMxc}|hW z6FnOO(?RhLq;n^-?;3J}0bF}b^Uu#WU!af1lV323gyD7rSJ?;eeMu{7ZZQDDZy@hx zb04Ra{+(lpyIZdlnzbOGfM=E6*`XuH58rmSxx`J`G@6i%D5bojs+Q&ZP6bBN`k7XK71MD@ z4^&EY!k0UY0?Tz4<2M?9R8lMr?j3NL9-6#%5{6%!c@j;JkrkaEY%NF%LhaF7_`5SJ ztp6b<*t2@$^y+xC9qT9&>EWn=HE)y(e{`Gewu#*O)6_R^*0Dm(fUXpH%4AmSn>%Ks zILd8v>-`Q(py09BW+#U;+B$0aG1Qq@$Qi-Gmec%(@b+qt zp#6N^^hX9-(pud^w?aP}%-rZiz`*n&E)yWbvhTM%EgVg$4 zUtv4){o7Fc@{@?y&MY|RziXu#RQu^0>b%-7A3y}DB7pGN$s)0X#cs)}CL2875yPjY1u za-#R@IDJNfW}2()j>#%~%K4Gt_6kO!D^FGb{%z0GI=tMoXTDiKp}5yS)Or&pw8M9o z>xX(B>A4O)m(6P^BIHA}M-C186q&)g2LewV`{`PDJI?!iGV1Rgla@eCchj1yx^tYE z4C=T<@)6#+26_77-54#+4(?OlZgpnRN8^F3*XF;d-DrQfQl1y0hT;E{pYFQ$x9)i9 z@kSMT(61eDJVO5vvwvGuRHjs)3!2f&t;nwwM%m0OA!gqon4e5>w{;$*;9JfP!6Oyo z!Sb8N{49bD#oml?)M`YPV6T^O3*FM^7{|?KfcxBh`;P1>wuR~C2X|L7x^=wU)lY$m zEcEB_3z)d<`**W9^POh}n9KEDqcTl%qE-sIW`?jZY$V5TqJ26RNft3);(3H->(N49 zJ@oA&p|rn>@tGTzzCFacKU)Tq&?1+)qibjoC5wUGFDE4FFjUcr#vt%P*r*V>SoA97 zzz{B3&{&d3NrCn}wcMkVc74w;BhU-qZoCmjME~V1+lb-uqN!N#C-OpDA{uvqdd{p! zo;~o+99VsCXP2TU4U;f9Z*b?E=93`1 zsO`l=e~>!eeC5G}0X|^Oh!E-WzTd<7HQG_2Fg_$ALYRi{D4+{1a+rnEX&JpuA8>=S z5h!KP{B9_8)nyx@BH}80AUB&*qw2g+@u2V{u|mnR6#7PMR8hm4n_s^TlMzbXlEUlz zS^!UlQt35OaM{su^lIH9#m^Pl%j5)AfamFTb~^koog10L)hXvcpIiNnVR9# z+Mr$Cxk1mJXy+F}NrF#u&sf3#eQ|DJ%kWYCCv)Ux@`ONdD>uv{20fZKcJQPNCVya? zj7OH8>ax6me*G@BmIPfcuL^5WEY;PYs~`3PV&5#kq27;$c%U7xF8kc+R$EGRuHpHdb56r#u7b z-_1U3*Ab#CLye#!%l$G1crDCRLPqrL1YRHwz^xLpQQhOf7f|>am~R%bP)#9htC}qewdy`Td;MNvg$szXsWQ8if1h2|6z7uS_uxdV>hHNl6y*Q0u81p9TivbGY-1+O95L{y+EMA^!n zCYRQyh#T`gTj`|_sbT&TiOV~9Ezr10pBnB`vj6D3m0UgaJ7+&`XdP|}GkZ@#)W@qpI>CD?CiaaqT7q!v&5C9- zHlF>^1yn&WX*}(;7Y{ae4*tYAHSBuxXklhq_;v_$Ix|X|+u7)nfr{F-=lQvlQHKs% z4Mps0Z^<>=^FVFIxXDIRbT%&T?=)=yb*(;DYu3l>a6aU>PL%PHld(;B2Hm2bQwKYd z=-T@-iJQ3D1vG=}DJs3-kTnZ&|I@{z0oxnuZMwAlx1C#O!@4|iar4iL9N=-U1uHrP ztEMOM`n|Nw|KKOtd-he@u2t% z?`=I;y9FV3TPnX4Q|%Gsy@8SrA$v=M3BQ(h&ymRnZVGu z3)`$HfvMv+p;jP1t?v%6;&@9F>sT^_56#m+e;wJ5yF2Pz?MGrPq3Ztq7t$ZP?+g~1|sUw_^ls4%K?jXRMs0aYS(8zCi+pcq1cZ>f36 zuYSK1>T(2qYB<@ITjCb(47~zeswApw`Coz*>Z7h$!HQq@3%=Xswm?|TW%SGe{oC+r z*%7)PA1%^T9nDD4KxltgHll7v!F9r73bR@wbd2m(gkF4YL@vD@SM}=n<^E-WnQ6aD}7oDqZVP}pLexJNx6bk^Dlze2mVsU z(b_71zkmGYY-Z5*%iJF^oe>fEGa(1%=2x>!KEXXdW~{ALibd!ttlhv|pccVVLJ9L8 z-9*V8wr9V4Gg-P?(<1rLr`x@Qjp4Zi(EVggiIFo>%JKFh*P^jWF z1Cu`m9>@EQoYx-RvE%q(Pyek?AFN8D9=m|svu_<>w!@|=2dTehm(n5N(K;&Id}G7> z7Ti6bhH|8D1x~Uj^<~V&1^mG_x)o`&3avm!eg1}Ye1Gw8o+DK8`eIuRvuoaHrpp9);}RFck^cG3igZ6kcLN|47gz=XGiKR zQzE8AzCk(grE%mWtTe{+jkQj(N0(y9l;m>VH7M`FQ+muq)%CLL5)B@5^Bxuc3PxPA zbeU%mab4ejfmVfFsj)`O=VZDSw6oybOzUrb8B2wypyXW+~cVm6NHnXKCHlhxyxs^fKC7gxS#GzC2@G5^6eZ9v0j1S(##yA zTd}2%VC7Qo*bz{8!Uk_>HOttPTiUl9VKK?sns}9MGutV&zI-IJs^8E{j&b|dH0(fl z=JS%^f|_bBx+D~LQ!G|hfF{a61|L4|KDRm?>9)bnEpc$(_l)4E)(-`FtEss{TG1D~ zdrS6{F!g3^%HhZ6hEivAO#%>2#Weg!-+EE@a=TDDJE(J^pd=vWWkBuGn>!u54($5d zb@`RdKJnNVqw#n_l@r2!V%n;CxH;cclJ$2fK2!(euVMW*!wB;MXnK;y{(yEGxLsGR zexIZpl9*|xj%k^XKqny$6vDu15+yIZIZ8#t(_HL>fKtz`OF;%S>{oF1q~^NC@$l0Ut^PH-fhh8q>U8}08pD<`~?DW*%D zKa_~D1~C_9lQj$IOLeHZMC1TCTzJCF>nqr^M=O!&TEpMEkq8>B9-{RVUM)my@P8%q z8KUnEi&`cvFrB3sm~X~Hck=;B&!r@iEamM&H*9(kY(pAZ1k$>Z$i@3-eU`ss!hQAR z=i46;4=wZPveU~~&I0vM=H&uGxTM2cS$&8EKn)EKQ1+7D=AP9;N8T5O>d6@$nLbID z>IO5WLk`tV%LpIUgWb9UFe@iOONAzv^RB=BAj5wu#6&1X8tFBTs)^8KwxK$L9A?0E z=6s$ZTwE>!_3j@FN7*Y-ZC4@5aI?dc3P0=(Pyet(Gb_kX_fa{M=W1fr{HQk)#JzB{ zIlWg84^|h~>51)avZf+mB~CrQ*`3#Tw?w|WLbG^MX+(Qfie>k57}Myy`CTtt{O|ms ztE{b(+^`r#uleGD^?~EAhp(XwMWu+t3L=gac{LztCm~pNDlo`)WH*U=7Yhks!h(kP zzT*x~lgA8Nv=;t_mX{dQyb6-OxV2I&qFc$+@Pol8krDf&o;KH;dCW47>?{un=*{yl z-wDOSRP#MJ(I__Zdm%qvw8w#|axB0?xEeQLdSB_F=>K8R28<4}(PFn>lynlm7*=<$ zBs+Qis=4<^Q%_vQ9oG4KZc*iLS&td+_`{%QJLhK}VkWlQC85aMwlyrmaqCR80^ALG z-`>ORnrn`fOujB^`?q_#wCUj!i0aIG?IM~OWLgZ59h%zEx6Y|<6*;Ec)LAZ^3JA!L zxi@0FDi?Z14}aEQ_dkLqCBS>^pv2;&l6qT(!=+Cx~W3iHv$`2x8Zsa_y7QN8zYF>6+E^lAf?sQa7O}%Nvn1tz zFdloc=>>lLBAR=_{zOI4`VAY1NmCeYM!3TZ=%Jq3o>;g=`UfxlN!x!tRRhOA>2>D# zdK%2@%HNUs(IMiLgqxaFZ81C<{&IM7ulXJ2R20UD`q=rd``#OrzfP9JF`(-9L*YA& zQk;WNvu+Y6Ze|gfhv6L#U!XRl>YDN01AI*10m;%nP53eTiMX=S^LHv%9^nTFl3Hmm z({;rQ1WjIc*^rva1*%6V&&keH%QXlSa2(qSNv`95pGRqPPC|PK-D&qOE~D_gm&?ra z)|ly#Jgr9HCoq2#?suf104~`BJwaD}4!9@sH!O6eeGJzR;bZ z*9-I+fZNecqW*|=86y1aALyAPCwzro0K!7J1U>rs8;OjLAze2^#3ZKsNG6MH6Ip<_ zZZXz@gvS_(!xSQowwlY}!zizCb9EiQFEK>;#3g7#1l1961>((u*X9SFt1wgR$INIgs38>Opz6XYt5; z*P$2eLa_Et7C-{(+Xs;IzbAHg<`VI<>ablYdHDgk;3fUKJ{yUtD->D1k%+I{TlFB; zpZi*NmT|t&Xsk^VB8T0G7#eDVqQfkq>I-HUzq_Sq%#FRbrWnL3@-IuK%b(oq$_uGg zuV0O!P1uhZjC9vm@}jj2A2PM%*XnH!y?)zZ5wsqwM~mz$Zb)fb$LW6w>y=nox^vVb z@!ts#(*^Qs;5wUpjb{*}Mid$z5$=#;%X~I`Ri>6Nx32P-clj~rl)|D3gTf&e4c`9mF&>h+t zStuDd3|ht7n9Ok8am$os(PvqrY9KfQnV?xoOTujAl>ZTP@pl#B^Zz)2d0RA3E_m0c zhui;iIQ~6m-A?7kh~%yQOS>N4UqzGMP%t6Oi-qT3au#$!TYw@{jEP0n-qDRAvjBC?g4mf5!2D6UDKqH8F#rj@%-qO zYuGm$oiFI4Z+>sHTB%IWo!$cOr60j@$DeYGN@h;!kB6Vaj}I4*8E2o4Es;GZ>ltUL z$$AD#-IIjGQ_pQ2p}w4@T(rMWW~gpR_=2Q;;<1Jota)8xdAjKJ8j#mQi!+(@ z&b6Bofr8l{N`K1^zvvGinyqS-Iz^Ddm%NXu&IzPcn%90H$h|C+XihC09VnDx*B3$L zHJJiKeEQQS;kc3*CLB{qp0p03zYXx>5O6$hHaaK!IAl-Mj8aUwm?$7g9sNJDnxtnc z9mYbP>C#+XtH6QZ7D2-uQFhEoN%pkC?!t+P?^UoYPTIJ|>!sncAfi z7@=zHNDxnkB|2wB++ym0amuul_}e$Yai`ggiIh7nj_l;tBXV%@7rI#*>LO8m6NT`7 z`}kI*2}tO?2y4A&D<3PLU7gVnRwHWjrV7k~sgsT9StTfnu|M}HSt`8Zo5s+VTp|=W zQsSP|!i4J9vVyfJ|5qKK_zG^C;Q+(*XXJwb4{G*A_{9R&1Gb_xJxN|K@;rD4H_Ac; zT-?0&ts)0!honMnP_h5N1btH)i{X*1OY3K3~v{wR0JON~|i1IE# zxW{tfXVAYPb6b$_)zfampwc2ex!FqchW{WK=4J9!{)L=c2+N%zan?)z3)HA%DBC@d z(=0A`GVdeRrvK%#J1KeMnv`=C*4uA1eU03716gJ=%~!iQA4j^qU;fnTXr`e3g5nK| zo6rJ3*%i!AVkPaXp_t~5zu^Ej;U{0qv=oV!af(dGh)6t#Bd;xrDvkI)1XjnbP&scK znz8N8Nf9vq4p^{4WjcD>;}N0p>7;G=3Rer7K7HMs8!(^8&^bS zAraFy3QL)}t%Vu&SJEh2)`-Sd=p1tXMObjIS?0!pU9j!Kc4;+%!_gB%G;jcEefvEm zF0ZlYZ&odYQv9ofNtth zj0R~sgqAAQ{_|46gNh<6LoU>~TX3X^(BW7{g`5>)2j>Zh0L=hM>>>-dIDQb|A5;f~ zZGiuwLGTjz)Ayj@<$qVbZSCbN#i->}C6&eSyB$={?G7rhqx4oBx(r0R7c-jP-IR~F zF=Z=xfFy-!>gcr@x`LlDz)f^znA+JahP^RkSjrXvLAaT){kVC@9o-Mjpca+;BxX5W zp3evqy$YALKF40WpwJDCuIM8c0ZGMibp}n8MEghn5{V1iOcWJP9n6oC158&&L=viC zCc-to@)AjL+3EhmOVmxY02$Pv)sYSk;fDhADx^8eOa*1$5Ok8F3(r5Om3aVR*-SVf z4@h`BZ|^z)A*P*W@%79$VB%m+_+41Kl<`hVU1n4B`$ik33{@}gqk2IvQr>H=vd74G zUc=QJoKsjDjywC;u+8z=hrfv^@9EBFPIU*7sc1{Yo?Z6Z@}OryfWU-aR*sBu-OuOK;$pAueU zSCZx1$*)NZ;|EE@`1CU&J3(|wy1|yHKz6!0MsxaY`6T1g^mc)td<)p$IXsCR4_XC^ zj#aF)E*QQJv*}fbe!q=UQ}AVBFPDCO(hynWxoKgA;P3MOUcwCm3(ZqYNtC~{1N0}V zVN=%&0%fM=OTubl1ivERbS=Pj!c+M7L|Fm{gxMcme5HER8Ux=9f z_2j3{KZ(X6=T3*|$qb*Cv7D@oj_!NebF_oA>eou_9q~4xb>rcypEsQO>xlP^1HsI5 z#(drFzufD0#hn1Awu;9CGaFHzb}5CIy-R9-zg4YmeNe?+!+ysBryFlRrs`{;OFh=| z@A~&USBubx2!n*VtRqTu{otWb1bKpM(hby3XdVFRrCkM%r|g!si|MuCQk=THOI=S0 z$jhPS26KYI95yN+T{)V6lYE%4$PHAC@YM;|2R`H3f%5Nh3O)__PF3X_C>M~psvwP! zy7$PqGP68;u$m#IHUMBJ$41u45L?@;>Q(XYpD$GJ?&brMymFOjq`((!A14vwPg=`i z(t&4|yJHy!IKBb71lkygWkz@W8w!)v!?2>JK$(LgSWV2qEx#R{1Qxi~_-4+w65U^f zWhhUHyH4C+Iq(g=T$IY!ARBSgD?Xo*qLR@6K!q@I>Pkr5%GPB7T7ke1QS*(o)Rc;J z0iK@=Hf*vLfC4t!d}f)gF3!agu}u>MwJb(ZG^g9A5hCL|TmwVvSFRp%YC%p#wPoTvBjrL689TgfBsrrmFeVwz!se zp6aA4#kqVALG*=eh3!(ob#=uww9^RW&WN{C%a8`rCJW-V zC9+-$LN6qj53jsN4)jlz-vX>b>XZjKRj_Ud!7fIyxol3P>wp5|1m|hJ&E>{HZD^36 zJYQbB5THR=IO`QYqpA+OD^cniW%jvA5`xa}my8bWqYtlyp;w9=R{$+6$WpIGBqyG3 zqkmAf{o0{yxBLns!VdsnjA8%N3;*q$pGpvSykZ>8w4Bsr=!Po%qod1EABLx~AU!Ju zSzF3c(k2BQY8*$i*|l9S*ss&%)e5x~ang<69EZKVpo6_%lnV1)CcSgc597z07dw3m zoZ!f;#7Ui6P0QW#1JjN1{UR~@KFQ> z5FNJ}L(Ba}b$r-{=WZJ9HJk^xA_R3~P%LMF{j6aPZb-|Val@$a`CHdeX* z_~e_WO$Y37Gk@wU_R=0-_xVj5o@lhOofs+c^9&Ut-Neizdvvmj9jz z5n1z((#Yb(&M33M%R3W~ROQfY;;5$h(3v}O+5mF;HAHt_Q@KVa@MVHPgmgPV};C-e8msY6_KMp8qno!rgh$1fX#VoMMlvg#o$@NWbw1i|70 z-~xafdsc+!gG8{K1VivNShEi# zfRZ&7s$QanEL0CWAWPSpAXg_e{4twDO3Cc+9%3IjSyX)h%_?73OoOg^-j8revk}tSSxp+SfYHzC zzo5yi_Kx(o4V}#TnlYeBVTBJdV*C>V|5oZQp1#q3i7LLs-)Q+EM7Ehwv#vAFq&xMh zsBo#pqLQtG=c;flL4TE?uq0&RGM^O4_*}CP5J*aCcRBN{`DMe?b@UY}gJ(a5frhSL zRFr4U(fHC9SdyYTN1X50+1h8{LX)7%O+m%7gW374imat;k7regYG`>C zqThn3p^&L^-LK?>UXtCJ)M^fW=!=|MZ`DoZJwdy%rzpCJxoq0Jj#YJCu9!(lc^+QN zHt)<&rOAi$@>4UQw3UH=soQl9fWRt*rpFo^kKulaL&- z)QmTJSM_=KdGDv2*FOB;@x3ckAGa`5BZ$>TlGT53M#c{tj{YZUNS;}pf?0LqMcl@t z6lp5FA)KG%yfkoSE!uk*8N}~os0G(WVRJ%865mg6cH32PSJ9}}U*@0svB#Xa`mx!Y zaPQs6emgWS$p)nby zfTB-F;cuk2BgHhirO!ov=|7t7^`IiJZ>oFkyW~(bxX6%Kt25ll|9b8wD@~vjFTWSs zFZj@Lizr*l%A(+-cf{v3O+ewb(vdj81#Le5Pj~{I%7H^ufDOLJj8qQn&J)DnH(3@qnoH$#f*B3+xdHMbNzMHaTi zF)*}hqS1jCU|dT|5SmgfWzk5kiqTYu$IyS~ag^4pTDepf;%Vciv0U!s1A~AFb@4Qb zop*Jn5>4=v)s|4NS4~v(0n%!qI+QQ*U_xJcsC(+*%b5xJj3^Hsm`B0KQzlX^Zrp2* zAl=OcTC)=q`jkU#Nb=cE94{g)t<*-wFskvz zR7vSPpYd(-(-fN?(t{-zs2e6N z%%h|#JV2@J$*Z#3$vyB9?{M9ynfqj3c>@F7ms#{&_0hu7l;V6atJ_}bog4Yw^)Cc8ObFXy(mqEReBy-5e4}#3W!q$YJ;Q<`YXtxw&?(}M zan!vR12jv4BQG88%nli3?hY{6r8@m+qV0^P_>ds1AZXzE28_7gt!cMFf2x69k_@bZ`1Q$1i$Mb%J_l)^~6J+{zBO0Ud99KdAw5r#vXj_Ri1hfRnx|FIX0D-;FM9 zr=Km2cx@D!xEeWk^>W3ZuVlxaq4+K5iYU^PF*ZI%RxRac?Ff>D=5G6&{r(=ej_`Ax zeegc5x$pgUM%v@{v}5WR@w?J?)Js2+A#noSDW_<_jm3$hiE*v^5XIY{gr0s4Xh0*^VX zoghoTkRvg(NU86W5OEI1v3$Y+FgJ^mG9-QF`d-4D=ugf>ACCK@mj6CmcT_fQu0{R< zZI;qIBsbwvSAf%|4l{)$br8Me47Su|n4e?K0}0q6Tjr!8!0oHosRqZ9*ysLka+-mG z=&;UOG|k<3>_}eW!G6LQ4tmMf4xEdsJ->=<0z%O+(JFB`RJ~Vt73X}x`2=DL3I|xV zaf*j#8iISNnF!7h^BK2lYq+C>1h@$H{mOWY1epQ|8(n`%g_7M58f9B4BJ)zIaiL+0f3j^>6je&eHY7j;wLG|9KFW~tVdeZcmnHqy3>ee zdcsrUSHXVjXi;dI#DgJGjng71JiMa_gL}n+HM1;+zkW|H#!yNTX*ug{a10*|{6>lL zta6&$*&(rAn&xGRm`cx63s=6nE=8K+>G8rH~2Yd zrFao0THL!Tn?h>L#CJ{o_6H|?!gR>t@&#Cn!P>&csacs8`j0Ch>K^W%I=)`3_XF1R zuhzrbSw+dM7PuqW%HNN@Y7Rd-Tfxe?(P{S#-du)_(U2Q5)Di@LQC2nXUtK)(dnjM1 zU|j`0%(VQ`Q1d&N$5kSF_l4b9)*V+XYg4`<+;41B7G;Kf0r$%C%beL=`<%miiB;if zOMQr<63^u1!~3M^e{EBWGqNi#W`wxarMW3X zcRb8ib*IN8`JBrB(O=HPm)_bSn({ccOKB8xRD%xd9j=3@H~QLCb(H>pXgU*jDBJ)2 zS1L)FN`)*_NuIKoCF@i|B|NRjGKA!@OpJY*sU*pkEwYUzlx-+WCT8qoU$ZZR83tpU z8N=-N&*ys_zrW!+uKT{;=leWgXR=Dxe>~oO>1lh8D8!o?hva2F7sWB7fyKLgswHlR zvTeoJMXryD>@j^Hh`=^nP}_XS>h6AY2#*5VEP))nw&gry@5lqO?f4Rbf7wq(LVDxH zWLReH+k<}eew7g$okhtPUL;B1SRe{TSwsc!*=WnSpqBY{SU*_&4W6-HJMA{rx+D%f z=JX5p@GT<;>wtMN5zi6JkQq*P5Oi^Oa!N-Tv4*#nkI)qy&l{XiW&QUHQU~%NHw6y4 zaKE~4{DoQ0mTJ(Xt6dW*~}a3 z!1ll$;kYejOdCSgPdD&u|0f*xv2PO!O{7L1BT<$#UR?t8_$AzqY7n!cn`uA6CzYNt zW$&<3sllO56)|sd%U_3~E5({*v&9zM=R@Y!WQ&#il361#iTv!nB2OBg|5zNY)4j3u z)PN?Lvii5lQu3&zCDi`EJ^YzbTJ+JLeM*fF*`85kH_@aVVeUMbn46X8yqs)D5xgA2dU~3*Fwm z&637_J1rfmbK)Pyy>s-8$iPCog7pX(QI+JiXcMqJ*mkRs)`4*H9Yvgyq0?1ytU)b& zX~y#N{+O&*95XPpbx(Y%rHRFKgKC)&7iy~Cko#*Yax_INg2*T`D;RyY{Nx&x^^@r* z(s_e2z(Ui->i(_DGD$>YAoQM1HjA9hWyF3$;XIS4N9}ZAuPRC^{{@0LFghsB zJ`pM0l7P2hLl72jT+}oV^nm@NI!^#O`E+&8bVBfj2p)U-+cx4y^!w!!l;P`TirJ?X zp0S*uLxbmF?&P)5la*2cwt#m!eM?ss8X34E!CDrCrApxb0&?fEc~x29ljo8b9q{B1$A*GKFNs||l@n?NX!g1ZEx zv2NjF3~bvekN<{?D%q=s@5o0`>h1KajURsyRDf?(0Ua_ z>}=Nv|4c@c%{9|h%stoa_7C+7(b@T)J+(AyQyI4v`ntXiaEr%z@+V4jOV>*wWxMw7 z+p!E|fg}7qB`DuVuaLij1V6h2L)%Vo@ab znqDcH+)-}@oF8Ev8kX<*wU$++cCyAnlMV}oy!hrl%K^Cj$NZP*<}tli)J}OhWIqR7 zBM)4C*60v>L0T{D?lWw;n)J(Df$l2pxgpC)qLhE`SX(%@m~(pwHK5`w-D`h|tX#MXt*MS|;F;(umuIEBf3y{sPz+=3F(zN_G2n|r6CW^>N}du)v4D3|%~ zwYI*9aJrUdW_;x%g@})J{xJjkxH!o2iphRmhO&3 z<5hZ*TQS__5(aKOr-q*4bE}(xdw2outnWdBIsiYozbbKzr0HV95}2ca_zeSy9NHfB z2ar?#3H;FS2kBJ!qZVQftp`t;Rt*;gvspSPBWGm#7mdWk*ujc|deUDgTMukP6E0v9 zFEm_M>5afw`!oHRy>aeB@l$D9@ z4p|&`+r64*m#MjjJR;YIH*3=KIPh3j;}2>ok6i*i;+UwlZ;Z2$Yp^<-*)CToaaH?X z4*rn3XS-nUHBC~^T}G;-`D-neJsY;biG9SIl41L#>h>1m6RpM4x~EiQe#GA_(O$J2 z@M|EyM?fz+DX%@{_aV0aRaHmKAa=@u#8hAOoT``I2V?q6@T~~YlP|p@HFGhu8&gCu zXE|P4ejVCwNRH4Tm!-zkEypaj3P?9Nv_#S#vE;XKDYzFF4X-^RGYeq7>_R47FNT{R z_`Nq#*kJQ{Ay`@{m=`XNp3P;)M|^AnPz#oug*VHp_y zy%A>7#jjnv*I9eD1T_>n-2BGSYnSzAO7Iy&&3LK+gw?18HDW3howlJnjqdgyeckbd zOYRf8%r_66##8-_8pbTUOk{v)^WAqim209%mho>G70ipVdxLC$WWNNwb)xq43&(I8 z79e4l^hmn&bI{)A$QAOj&S6Twt1%kq9oMt?tv^0DS4vOJVDjpiJ^Hv6^I zP&UUA7=(n94&)uYxZgvyOz~bp8fB~WT1Gs__qEsjL_O0Px#fhQju!Ef8EMcFh41Z| zlF6H`qdVt8b>ky`lf^2x^x5~JQabCqq5CiE3J;vyy{KxTsr^<4D<_QDK8}qJ)fQGv zP{~f%KiZbGS8|uc_^iK8dG{zRynVZW)nq#?!O?4&`n(T5g>YVVlPDluVTnz_)|7vO zvn!#$h5Fm;)pR0oLFOLAA|S$F6+G~auf(^2bKQEO$;ja2<)LG z)jP3rpI+g3(Lq)os+bu-lY`s+%XlzX%hUO`GY@4x<&uZy!%K;iP(pE~!9jH7wC!Er z6$gVz68mH=AAcX5cBbU%7^>5b-E47fFdVJ;RGV!b9}O#j?fwA%;hW(gfSw2kO?d8n z+=5#h2@EqO~93&`!M1&Gbx}_X=jrLM(8CV;obuoi8{J6 z4HAQgBI@cjuFM88Pd4@j zUXreqg`S*Zz$CiV8qQk(v5%j((>}~ifu#}P-vrgY9%uI=*CEcEi;=ZN8SMZNki#!k z07?_chfu&fBSc$ULMTO2QTZow36&0aL{a~o#(qi87NG&h=(UM=SvciZ;-GH?LS2^KHpG+y<&z^>xw)F6wt5g{XD>ID7Z>TUgmS4??RSv6<@ep4)|k^cy0gCE4*k_g`QJ1<3hf|9_142_kn0qRpqe7 zel_~Hnf|AX-R2Zo*0Pb;LnQP1EJner81*Q4W(iWUA1#H+g2%=?xpzY5Ld*bNiQyCh{uEQ zYbuKptgY8^RU-Ddr}7(|1oI)*IB+f+m0|4NWb0g9)i6n4Q3xJ!@2Pjs@&le>#|Q-+ zBvHb)tk$KRW-$+0k3@VGwLOgB2?S5-ay8=l?MT~Kp9tIFz$Z4>6y^E9;$#SuFz$vB z@V1ERZ?9CJ(%sRtZo1qtAq(uF-i$n?r-y(w?e#9zM5KF3E^^EggDXWH1&S^@E4^USeE#& z=6d_Ow`E%+dh!8-5jFT0S$G8Gnpo+=ZgQfEZmzp-1q#DX4X!TY4U7tSPKk1^r*=n* z$<$v4x39Qf*d#B%M9Ohti-ZNFB+@>=G~z3Al#$9tWW^#zm9^g$jXE=9*y6H+BR8}g zx_d5YmC@5mG6g(WdkLZQL=(Npn2;0***e?vAwN1(S$1sEn~&>-M9ienU<*0RQIT@| zJ~ob*$-FmRFx~!eGbnz9k9Yj5roU4?t1z>n@1^~lQjsnYI=IxB{z&jS^?O~6Xwl{- zc(erh!;(|C`%AC|&yn{7e{#=e_u>Tuhx-IVUy-@_0vfdW3C&ChFh?&eAjMQdowTq( zek~PDvD%SE333L0OvMgXK>a09-CJO*QOk`OlYRxR{wVDdj#sml`hZk|cEh(VzTl$& z@JW#_JPF~~U96I^;!(GiM{;5(7BL0!8a*zp2xs#VMpAgWyG*KN;BSkcm<`^3o1p(f zJ1hu_{aFB)92Gr(oo&`KeK%7|r!wD4DA&Sbgs17e(jR!m5mQ(MUd&VXl#|$vB%5^$ zRxRsj7CM@|spKD!X)x6itn&QV=X=gM-gqt^0}dYRNbS+gf&H zeT|n+@8%*Jh3$rBzlfx#6a^Y#-yO42>JEMw02UKst}NMwja3ug-t|e_QP?NsoOsB^ z`G;ecqcDX-J=`70?O}g{%0g1qzLUxvXGqQzvj+RgUjO&LCDeNTW>i`J>jqW5=+tLtK zb1&lE`w7B&m3y+U)rj3#PkccIVlHfbFi_tSUYBb z^&8t~dGM5$upGZ1YJrRkyUS&tmTL73CQM%L{wS>>X+hgydy>UM-B1A|rL-LKm9rVd zjSb=sjh~hYIEUQ%*D33ip1j>`G4tKKOud0JDCa+5eT&fHDqZ0kjqLm_#7$+8>8WGG zJKU7&5wYVd^9Bu9ZjtSg?wu1pVI|kvgZ14v#c2wb&%$WG!lvq{F+#H4cU)wiCu%PC8;+zeO5F){5VoVPhp7Rq_G0FTBwtqSP!+b3;D2^|p9aeaHIfpUrp zTuVEb9!)#7odwP;nj;#JizfWz?uRUaVJ|z@vC6WXCwwO!6pHBFsK4gyhfOYRpHJrX z{TQ`l{aNbej%i=j7S8N6i(MSfMt%V6^0WJR{gGxbE<|#vQP>v+pnUD*XDg<6QaA=8 zSPfTOt7ntvY*emlD^gx(fx9fVMf!(|{H_AbedcQ$Boh;c?jBLY-5jBiegnnnzK!SZ z08+>_j>Xo@o-qLyQb2fDU6J3g>CRnGjlo+y)x>6WAJglbQ>nxBym`3&%_Dm#*W1f( zfb*Q0lo7Y3k}Xe1!4=e&qK$f$bh3bC;&<}9L0*ck-+T^A?)#zkMkP- zNwfl2iM5}Mb2Oov?K8b1;=Yf5O7DMMwe_Elz)?`Rw3Cg3#vE6>n1_j6HC32JWTBH_Jm4^w}E}0NZ7t=v#mmXH{wH~~Br;|*r@;Qh+ zIBSq`m#+!v2CT1%o$aK;kJ%6OPdiI_(ZL4lXDt|ftry`pR+ybKCO_~T)WSdO4@WbL zMWI|dw0FY5+ZwibNibisVRFEyV?BHW&elm>@nuHTz8VsQa=Jr)ve*M2S)FGx#PMIU zlb99;L8Uu{+*+z-`Na4qP?!CSlt?v4@{str|CYs+i_>{_n^yA&wTkdsWXsR5!^}Uh z1>_^F$8QkVf`nX0X8kFZ)gGxE?kzd_^F-!f1Ign;*^#mD(QbZOTIVqzV>Fu;$1}{s!lL|lt>WK6MT1?s@_ zxlyLo>8;-n5Kb3$wup{08Qx=q@P++BLYvYLAJY+wajNTQ8vT zqR@fTX2am8Hfc({k#=RLws$JLMjO5VsIs^)HL5FLZBL@4HmDU!rCrrr8ZQLS0-$>4 zFeVyMkXZmqn`8*2qoZMHzeUL6+icxYh`Oo4Dbyzgwt6iMRJC9Pai5}0smloSNYz_M zkko%zp=N7cv<$!;yOtamgTH)#I6so@1fp$R03houJQfc{WS8^e!;5z-y(Jtrhp&$< zEWLYpwiFNp%J-zo}lum6P(zDVNTL{60uGR1*jsU^3V zpU!9Xty)wV6aF}rBkhW*U9zlLr0>xsg+1pA@KJ2XX2}4EmUlAc(-)m~228Fo8mMwhg&raR`XP#Cv<}!z=8&hROlbb11WX#eMr7qnAx^tT6l%lS(vIFLE%%P zQ(VgYzI82G{bz^cAVoGgN1S^NKcMOoX5Mgzyk)`GBjnzS#bJA2@2zL5Lcd2d&KH&$ z2y|s$l3IFoi#B>o_}!re%Z$QskY4fMm##8j&gd7HQU|q2;nDaiYSAn+TAn`Fo3{3= zyy?l#HBIFkMt{cFyq7FkHk{tgasJ+eV&^(RT!a%boCym%l^Gl0RA3Qiy63jJdzxmr zM;8|8*WWvG7!{dLjOSK#L%P{E@TL{63I8j_LVM{B-!ZJ5WfEi*R0tp5L(}Q89k0K~ zH!MLY+I~L`uJ^}I*OQtXcr`!hC&hiS)ag|yy?=rWRFT1|gf=MgFal2{i~oiKkY^ld z-wEr0u+L`PZ+~-B1e8OpP;$O=>-tJWgM)@dd}@-;9ZF6Q@UTCac(^|)1$HRVB+^suLx(KKHV2>V|lmC?IYwESL8VE!y%3eEyg7LL5!jxHAfEl+)6 zk>AGJEQyqo!hcHk2qW+FWLzACFKdi4UHK0um?g*#liGzVnOFWGl>T?AsfH?$pE#fO z-%|gK^}-93Pj9cxXQr7(y0sS+?jBN>>8jOveETt67lei=&%j@*@3Ty)?j{y`gZ;33L$z(V zE!p$zvQNO3OX~*@7NE}TIU|e*lxZ%angkrr!8ykBdg_^u6r;H1~ z252LV`ZNJ0TIZSZ#LQC}W47Z~AB{60!CJoib(`bP2p=~uG+#^c;~C9f5y zA^Uc5)O+4-5|IJOM&pJxaHN??V?^gTJ~X@I)(upbyD~gDTSc_(7oRp3_&6_31JbMV zH3>wUU&nJXv7yS^rGl}tcu#2Ba{sTjsh_g+Jri`3f!(^j>|ZB18_eg!xR!RLq#e_( z{Z1?rCSY*G!Fd zL3*r5QQR4d1vO{-xEa^PI^O4H7ypa-uD87;l=lLW1z|mlU;1t?nQl){C$kemeX6&w zNWVYsKNdQ1|7#I4|MscQi14Pm3m4vW-xc2$Kf2@=EGNsphQqJyl|C?4?LrNO!}N3O z)L3dY`)x$!=DsO~ML)xIntRw~9~g*Sd0t_%SBx@K>)qUJBJ95y=@C11;R{SpS~XS) zo>NBqkLhZk>QIKSnZPRX$Lmt!XGYx}UVC!H);)q^X^(8&hgtZ@32l?qPw5sw;HpEZ;cEsOl8qu3jx0tPs?neJA^Kt2Qptvv zKHp#zMINSHd*CWR1J+&z+10ULDi3m9(;|I|;J@8~bWE%qIcq|T*k3h_7#=s@l~hsw zfRQ>);07Xey<$kF^M{mwS@05v!xE+IuE-k`V;;j#>yEVp3k+B8U?n}btB!9)?nLFa zA~ZrE3078_7@Y z4qoR{XUehE%PxN(?o4bzmpVT_Iy|9u8O#r{`wYD{pyebNVrTU;Ma}oX`N8?~{bvHZ z)82XK>Uy={ugMiHW~lUeu&z2GyNlxYx;HRqkQ4h=7`ydVHnXc@oMufA?%(?GCN~bx z?SA_=)2aGNN@KB+nBEuXgoEe7D!kl+CpWuZI-TN@#f2Rpnu}k@JmM{e-22KxU;L=J zVC+Q&tF5N(&ya`kjbnZp8~5n$SkpP^cTw4lFB*6$+S~i9TR#E^ZR0&@X6&cweL=q{ zJ#w?fnXDot&Z<5uGRI9i$1^x3A>Mp|66?LK3MF4`pUI}p6Rr&yVz#G?CBbxkcVsUp zuFovn^{dREUZg4Zj6G*(`|WEli1a*K{3Ae3Ldp98vbd%FNyWNkP0cRcQ_Fj^RL8%O z)BnM9>_qAYy!Y?F-tP1IsU1{%wME^@Wc|xyJw-hGZu_!3OL|l1&F(E7!IzzXF_kjQ z3*^v{8CPSkX25foe=gDX$v4fK_H2@sD=C&q|Mn%b+v$%^wEXi;tN^EvGdtAYB8 zZ%Al!xFGhQA;0R38v8T)cUk-8K6Go|{LjWybZ7kXuv#3pa)Nl^G5okppq#3)wdUko z)4HLiUoI2Yv4)I8$nHZW3=`Vmp*+V)X%`X z9}6t9LmPx=M#g-zZoZr|t`!;2?*C0z(vuL#NN!$vhE>D00Y9Q}VIq?xRB38mdzR>m ztI{*vXahU~9*xgb=+yE`LTYNqRM!W6GRJJ6Lt~t8g)4T6vXEW4^S}uAF|8fvZo;Ezhs zN1lpz&M8zaL3@0s=@Cqit(uidiZ+>-#eAwxZZpvRxBx z7laHx8XextY6uvFjcQ=u^?w^_!cN97@~3ugw7)ZY&9J^HR?!aDnNVAU*|>r1N923n zB}~}{zl1pTOc?Cgb;Gh1M)9;*x(sr8p~RF5`NdZUdf30p;AVZ@LhgSl{z2kQW4;|f$ zH_>u^6^c^op6WO?sLnW|8?AF=S&eTP!1_)_AGhc28LJnjWzdMuu0V?ObpGZnf@EVc z1({m*JHw$vU(7pkWTPW&{WP~Oh1)*=OJM#h->JoKeiZf?%X+_AQ=dYhTBhv@n6W>K zF7UZxC0!fOcgb`MbldY`+4ux`O%`6ySmbCK?Ov=BOFpPQqdOg`+y`LJ-%;j%CUEg- zlQCI)4Kdt4(LrtAe`8jGNg1bwE2DOfF9JpS0O|FCQ8E#>0LmJ3;Xu_o0$=2IGa=ro z*Qoo!)O33JCeru&jUQzD9mtwXwo^1W!|z$x1bw*#1Hu$OwBwms5<^G2#f}U=9z)6Z zaj(LyX1^>u)YbjH3ub@LVEwhR>^AYw);?>~p)digqw`#5*0N2&dwf}P{9*|-HcI() zY{Z(U-gG=Kc36nZi3-jI^-g#_$L@m60Bk*}Y zlIO%WpZljq5s|jKds6AxTRm(b^C@5Rr0NFYNz8EzILo)x<)ev#(se*>=RB#lWo_$5 z!L~=_d0owppsGXv$oXD6wfnF?-`O^L5~+(NJ4?xA?d$1|89u0*FOM-_j@8=X%6WOPnD4@rOL`3a?40@(TUc%2;PrW8jh6N) z_oceiNbVSu&;@zhuf*>@mq}f+`nnE!&!h*ZxjU8ON+rwu+Pl5V(Bp)l`Brv-eLAu0 zWR_MYY(ojqEwa-G&@8o}jcI;TXnSTQaQbk%ykZ4-s$03@vwlRk5GP#J>N4n!lChjBx>QP0cqP6{6Ed^&jw_P2*GVk9 z)iSEQC_g_MwmsGYd)68aZbdP>QUg~LMeRFQwHF{$HmtbF<)D6M646Q4p#C=B!v4W* z{<@a@8Nsb^6Nrw&s1~B*Z2*f-m5{xhY+4eJ$!_3o|9OBA1Fdw~E}cMXo))VBnb58&N z*$B4xX>PE;&f(@)w**`E(a*sR{J9_FX}8Ev!V=98ulb$zaF&U7p>u{SeYvj35sObG z3>&wzxX4QG)?ArzXrj{!+RKkah(Oww$D6US-XB128z z4#qW-t%o~yqON!uEJ&0V*+QR`|ATYh>(s*eHCuK5Rt0?H?w6l)akQ9C0_%blEEkIU zz9J+OHG@F7%SA(b)({4lojOHSK|bY+pgSec1=^p7hMe>-^H!(y6OSMLM0%ZRvDlE1 zrsfB`KXL3IiS9!eCC!t|si&Adzc%n6sRAKODGvY#0wW_4Mn3mo%29uxN9eoDt|_)% zH@^G&Wns&&*XV^K_T5u8J1=_7zNf9|U1!Dxkx!xYp7y#_m7WBGNY>(-s0uTy5%|V4 z(p}6K40bF6x3@2qB8FSD9aNVidv!TYpPa1uaYQofI$V*9kP(I=E8iszRqgFtaDM?Ln(o8K-771;SOZc zZU;As^SvO!ndvd93p}DL{UHSRB5ucgr?t6;QfIq-QItKfil^(xV`+lEL7e7ABi7CO zIf>`&1R_4zrf|!UKOWHA@*9)Q^&ufgA9SBGqjs{$xf?+2p&cFYTeFc$Q;3SGpadR3;(~s7zaAAp4O2Fc0Hmg# zb*32VoMfuN=qH*>=K$v33S-G&G<9rzaPb?n#T4dHTm^6*$=cZv;Ism;`c8LMHQ~F5 z@&#VQuOOky7v^jcgOP&L;~jFOuffL;ssJ!h{JjZ&@TtRIWK7s&8p_Cg{{cwn)fPGE zz1|#CgusHcmggsd)8qSW==$$g|7#kODe#KEmEde7niDtG2xG zUf7p${|C`BP0*ciK(>|;cxiwcocY>AFLveIz1t^wjc24DIAxZYzpx5@Edxl;{O>Ro zyfSYFsI{d(fAPt0^>=XMo~3BBdPkKGVxdBf_yOes8Gtf`Zbi#C9UPOoukYj~k~{yD z$h_+N)VTdJ@YKG+oG(zcRbTf%F#}~Hii{5ix>5S_<|&50{}lA`$)-^|DkA8~?rD^M ztoFcCfE=CnkeB{T>V1YeRDaci$%sE365nInTY|j#U6ZT*1eFjkGvv5s1$SAQ+$m+V z2RwDK#uR#gehl!u-^Jv0jhPq`vaHcB&M9@wz#kIj(B~{hDE(saE2ZpT+&MPd*q2xN;aw+UGtKzmoa zD7eRut%2T6I-cdDx|6O+i4VQ1<2w@Ct%f?6v@wvG2>ugX@5UQJzbJIJ%fhNx-21oo zRC52eLY6DzODj)1IYc>zeprtC5BY=aY;eZU{6A`}FYfz_%e(ivY-_yUf40%r`bT2$ zWZi>*-so(p3!ckt)LU)H(XjN3k4Oz4rQtK%eYfuY3Azv7%9(N6Af`NLoI&J6cA{js z68TlxpeerXa{Zfk{jGP>ly*dPDo$rB`mgrn_AMNAU!CT9riytoU6uEHS%+`-$=A}F zKzac;W)^_`Cy|{t@yfs&Ex2uBI2nLj-(LFvECAFFm%dEge7K36jrO@BP8N`UHGy7o zOwqqDXt(Zduw9td{eGEq;+Tq^>b3apd(eOXqJxK*&#!r}40v|$W@Azam>hX_1^8RJ zezL(1;i|UHUDsFNcf%2!Fe4%e4%8|SJ=VNaJM_nQ&?aHEzsVr5``KEVysOB_ih}J| zywtE*|Hdw|a958fV76AKHW*RJIgD%GutL!9^u0s+ekG$4{T?&NvHbcP| z2N_2BQ`iox%6jd=h!509&)^SV>WNS5?YqM}0x1Ol%&8M(z0p`K^m={xrpq=z2S&C$ z|7Cjq{ObBYDaAIhSFeBGDga6Bi#1F33aNi5{AU=tXpflm#w-cR`&wxN=@}NF`8qr> zI6)BpXjC`8!hV5_b@$G^@2jB_rObR7hkc84`P>t$viIn*@$_!)Og!erjxdAb{megR62>saDBF&rboix>SiShhAtVk!1euW z`%v1cdBgR4o8)r12Axu`ti2$H?bQwIxQR=mbw69aHXGc@&m-{DusGa963z_7MrbiioX~#$}?{ zoFMF}4^e=VJJQMU^|>OEzh3d^g-ebL@=Lx`@J3apg{>gJc^rNR<=;Jep#CJQz>reV z_6(Z1{j0JHExlzTmZ198s|EPf2C$k=A2BNcf_2z4x|*FP&77t#SKTCfO7-~9zj=2>uV zsZN(Z-L%1~-#`X#<`4v(q~E)jgIXOnTS|lc^~3U;r zf2Aja21HBWk3F(LEyq-n8*5jhU)ozWhYvBM%bBpn5Is)155oCgYK=8peSOaR5I2M; zgj`J__-v8&R_Lkl^G*gPH4heV?;e6@xfqU#rLA4*L_HriOVaVVor+G7?v$^+zjPHx ziSWif?6kyQHuN-jpct{;{@!Az?)~RitGf83XOpF)1fR zzhQ~+DE3K0CPsHa2hNjy`MP}&Q@*8rX%Gq1cW)tIhbI#96@TLc8vZITAU-VilJ9QpSJ!!HQVlm5?2Sk9>nIDuB z&sk;np(j2@t;s#zMBoM0b1AhK*HX9DiU`SDxMxo+!SxwCybcDpV<;lu_iJeUV!k^` zzCEmC}hsv}XQ^eB>N z8BF@*I;_dxaJTMNLHvG#^>CEVCCf2UR>)4Ma?=ObUdYHxdwp%Nd;O>_+eDc(ZH}Wk zIerUb_*Hnhd-P=ZQlv31lx9$VQ zzrFwS(CT#0ZCHbPk$~a;ial1vTQI$`%=sR2b!*(9M5S>UD*US#`vfDyl>^>Rf;1Jc zZfDtZCync*~H!i84S-^+v$#`+o54jN! z$!E%to#hDjbMoITC-DruOh{CB9zoxPRkZj~nRAyR2jp}c_5x)vQa7JMf>ca0zf;$+ zM5dDxm<&X&0(RVd;xj}WKeiS46hYjz70=ASEteXIF>@W7%Mv*JcyIoewZ~BKXyPJ z5l4j3OQhT*>l)DdTRgyu-^qmidB$}On}kWlL@1wGhQ?FQ0Qp|$aBu$$c6>GIO?ARL zTSCM)wzSG)l=RL~9;bncn_St+$4oJ_A1?^hs?|ezrWvSaHG?E#$9imEBB10SO;=|8W6>$S|}Jr zHb?`c_&D7%*~J^}iNnR^QjdLOp4tVOz&k8Aa6bGiGVv~aF_BR-K-2*S`5nuJtr_z@ zCmrUeVd;@ykfbpaainDrWJ1hjkHU$@{i2SkEAUH)-y&IyUDQal&f&;<8n0y%U@YaW z-^*$-2$^{`CU~NFEH_2p(bo7oWlq=BXZD+C@KOpSC(NAKdI}h#w95qFG&E}PF!m#aZ-a$@w34;F8;J1x|UU9j%>TUn-qUmmxuZCisu5qXYWH7&# zz`EkwlvO=XPYp}ZkjL~POC=|tw`2ihnD*QVu~g8ADY!R4Qah=9eWN<4E_6!M*?)RD zZvpHA&)sq{imvBl#G3scCR~#lmiy*qWPV9z7kZ$Cy)<_$On=+)ci=4~ckecKC^epC z)wr&fn?2umu16^DZ7s13w@(@G7_F>yF!?}XmYn3U$y}TDiqmZJb+4L|(D`ExYNzxA z?_K6MnzRw`Ga;dzSa~+85*n!S!EP+?pNurPA2%9*lJ9UB6}_l%HrhDN81)pfeRVpX ziwcr@5Kl^-hSN+QeL_qP1=sTA3^RtyxEU=FgLNMU&oCDEDW1rLPy3|Rp_r~-3xpj8 z8|r)&xbh)a4t6p!0g6d*H%8${1ieza(WyuofD7^T#2tGOV?+ztYDJ7(i62E)2n=6m zp~>=x4O@4DKmpMX~(z{I092a=FHUI!ij#DSy&TubqQOlZ942F_cj13+ zL10z;06-Ml{T?+oJoHRz8pi$gvgOxWLQkLf__WTAeq+J4LN88PDkn$li$)yp`DQ_W z;F(w~O~WlrMiuqeyI+Vu^p>@%HCjZn8Eu8qq82%AII0Av=O=$a$vsY^(>`~+?367x zKls)CO#|fZ{IClF5s&v$5smg$_PetsX~KtBT0kq;dBOa2*pugV9?yvVCsOy}E_7P{ zaahA7?fbAj{E5?hkKujqJC<5=P)CAj8jnw3I=m>k)j76)=*Y^!HwbkZ*7DuC+X9U@ z{$2DCo?eBYx_a&aIz0YR)*-{r=__Ettp^kSPik#cI^9`4`UvHA0xdXu`wD-kt-!;^ z_XN*u?+@Tmcr&KqsXq!fQsop7uV&xhisRp=*Hyks z7sQ(GG~B`7tS3s%Py5Yq>EG$VXB^3V@#sXyIbSbdnXim(G%J9Vo*sf@ksUce!XmEK zJ7s*0*WtJFjWJ#cDtE&}Ne-*}yBMl#(30+g4JP@4ueO#e*NhTeyAc;Dys|LD-Qo_T4tY*15FkhEIpw+O@zNY-QwX4g94ZeR~@Pq!ckg`zBuEA5r8l-dA zb$v{4N*P*VF1ab$gc}1|wt$u%WT$6)Pi5#ezUGct)`FTES)Xc8+@wwbnYbpX_8+*m zc*1UVkrE5VyX7h*(qTl=(YvuVI))J+O9LdFC%2=-;NoHyOU@h5&C`V!L3U};%KxkG z*6oLtR_}g76!KjwjyRTK1==0Djxp-{IEFi{O5U^l2i9JvkG5;H+yD&t{ z^+tL6Npg+QY8C6Or{+BgO|!kB9M#k>$%!NCw4_kK+Xn1BC`Az}lIP^K)5e;NwBbi5;cYT z)5r4dc$Q7T$%)N_T)+PY4pyfrp7|^4rv>)Kh$YdA_4PsVr<>U}IMS zQoo}Uhe*7;CMQy%>$#mT6M|7ZhdeM`6*5~{;GEgE{0!?P_DQ25-J=?58M&O~s< z;)B0Mt) zO-R9uotU&FAfEwK{?usRLc_pxD<9OKMA>}Lb%e%0wSm1p2QVF9{Og;yUvla9I(tYS z(rX&KJSn(T-IFA;g^>c5yi>@z zpC@^(Rahd15nc+Xx$`gMo`oP7B`R_cuSzC$y(lLn{4+nPs$hT2G>Ti(CU(M}m-9aM zakHzz`XhtT5s0#Kj2eijr{ZgwgiEPT1-)LH*_UkKZ+@SmaANSSccZfIlT+Uhq#Odv z*mD<-D-V>k9v(hkmrg_o+L8)A>eIl-E}^`AzZOt$p_VLND$=WZK!#P*bg8jb8Pt=TZh2uVb!>?`*jB>WE(bynf#LUm^ft-7yd5L9}qek%l?pnJn z=j4w$vC_$U9w$6?7hmiJ_pFxQMp7gsgI^j1pF!EM=7J^oO+wF!m-U2O=Gd*01_g z{BE{zIftROHKwB|9f5Sr@oReyM~zxLCM8n+cy;SRNrkMa(cf{5qfn|%cOhP|EOOD} z580?7CE?U`y78Y?jI`*1oLek$U%nCe zNCoS2)M4M7{ZfrZ(t;;_51cs>LLCy5Ir?p(a^U2h1HZ|=7?-S60%nIBC8#qt{s~us zHt^_>f4}^Mw|tmi^CRek%7B@nxbkW;NAUDk!s6>q+nN+|a_=KHUv9Cfq}<9k@f;9NB|BUJ+#Ne|22 zMLyhE2Hl5{-&nEhH72#7G=&BHnfej9LaTNi|7*xM<_#yynOw~+_I(goc}G9+5xeQg z#f$?sW1YV^hv_iSRzOgf9v5te+#@AxUHH&qVPGdpDNr36dx#||vz*nGZEYFpJ*leZ z?5*8=VzF`@Jg7IQ6)i)stipgrk;YL`$}tEF^N;vUEX#aCy~R8X$@|J0XL+)=POuxY zik@`WXK`*tyMhGlIIqK(j&m#un$PICggXA!%B~mf$lZ2MFE`zI&+0$*9P$rj;OV}O z=W`ViX7rfg^xT5X6c6?CF}Q!*S?NbMFV9h4G&Z4YW4whmdr#kN?#pCA6xhjDs71Op9cW-h&sJ#Ebh&FQ|@=C z&a9>8ipAvhM_{JuoCtz5^Gow=P1~Ze;hEA`7kxGo8vm9(E!#d7=kkUd5OS7t^cU#j z_Ke`RB#D1K5)ZHG)ZK)cPbmDSs;l8pjlx z&#qtFT{~t(Ppe72(O0CRq{{{i91+zc6Ez6b`9+a-GiAt^?{!XQhUhMTI}$Ps!-o$6 zgha+}PQ2|WsCjo;7~ole8NG&~R!eTm=d>85&^oj2r*v|--;(h2g*@kZtWi4T!!=zw z#)Vb&Z<>ilXatp8jc9h&AJchi?6)11hmu71&zml2YzhH^XX*wJo0NXI#g-!UmKT6x zqazh&*KAipjYf@ly8_yso8heUMp|l#6{J)wyFh4SNooBVNDN<+6&{++Zt|`KNZ(1yzc6ogfDE zKeOw3SR*l6nz39gGDh%%DrD^Vkt|Kn$|{;`uXc1VB3f#^MbgFp9Qw)Yj0u+f(F9_k zcd+@>A(n1>Cy*OkBr}3-L>Aqyk?6t*9yH@s5dFJH9H`H6XhtPA>q9vavPCHGI`3ojFFo+F~tmzB7W) zAtQJae%#mX!dWC1oV#wp3wqJ(f1|S=0ZKAn5SzgY*{B1&2wZROa2r+8Q++5PL^Ouw z&1Bw3F#vjGd;7z<>WI%3*T=nrZWPa{0sRJBqJ5P53BA{s9>FD&mT?^4mlMT$FZ`Aa zPkB+k2RT$g=QW-k;TCIV+O42A4#*ZC=1i*bpu$Z^u?@8`$14&5W2~-^P8Y9Z9jPK* zCg+gM*B_?dFH(yJ(RZX|W~v%ds)@9-rY*$Z=mFbL_`nJqKw$ZT_ps03Zhs|(nTFLe1Q0cm7OeQKxWlbO5<+zjtw%E<0E{a?yu&hwf!H_Vf9U5@6Jd*tOA*dCKRMjjJ z1OJZlIpK1WXdd}PWh0aq$l5|YTkQADIs|e0TWoiisUJhkn&-XBol#OTM5?T{viDV;A&n?!BQ<`y$d za4?y_Ux~%)I6`W8aviywC)C51CSwr_kONYOS$45-7aAAD{^feaR^(L6*-|pq6kyn4 zxb3{7=p@ZWh;RndR&I+4Q?wJ~3P(AtA{IDOvXOY+Yfo@-WFieI%LEZz&wJG5@JVaw zVpwltBW2;rJ$@V4U_;DkE#y_dKm4d(X`b!l0*EyD#4%?&8>Bm~>}#~X(d!qYYgcpt)#c8vU68TCjKOOx!q#QA zK#4i{42~!G?qk49{u%SxEdLtQ2UU4UCQ~QP=dCR?XQ8hz5z&|JHa3S645r+Y7t5LV zQG_pIwk%%Qvt3q-LTb>%uYNO6^b$oAJxmrj^vlrekKHN3$w)5x5|~*sZ-w2KB7}z> z+TC!;w0772OQ%LY<-9pmxy@2%VAyn7`R0zU3geBt&$b(Fm;r<1+79y-)(eJqQhEU2 zvSl~Gl2{F#z+Bu!u*Sdx%HjNt5ZCx(b?@QKJD>OE9st!5?VCY`Qu=M!L zvAiPJrN~D1C|wa}9R0&^D**=0N&Eg-6O++LDDcy{|IvYQsZkHZiDd=ix5UCLL~U7a zS-J%88J=(H@wVqJenHGZef=H_XiYRRGmOXc-r7-Ax*+&kbv4R-ZB7N z{13UX!{b4Fk1bAO1}&L4BWe8W&(*E)VJsn$iKMIf6_USfeO9GomxlQS@=&@N~%3KI-_91-awT#DM=C@$rSTnjrtAo-I;K?J=L6*m)oL#s3@Hv#esyE8J`DB0y1&jA7aKl` z{dw+?I06fbRD}+Kn@?BJvd>HW?rnzT{~f3)Ic-!ZPu@qrCa+^}sY&|;)?_MK1VE@Z za4K+G%71ViLy^|kUHEML`u%nP$#ww%kDG?(K2%|(1Da+&MsmZD`Q}{K1gAoJ)~~&s zx7eHQnQ7Y-#@ZUY8AX#OhYK!=!)$XMWj1$jCnUA<){YG<7%w;cp#F!6WXJF~Lp<*E z+&ibf=|Gj}QCPo?PydT&m5au%fjrbt=%pBA6O#_nT;-Agcj5zm7gz4GkUik2Oo?nmBo zXWv~@wh%IMbJtCTjY;1nH)kx#tLcpyX|wKM5U%q778{7NZ8G&x8Yopi#g5x>=&X5n zkD|Fedv8MJ`;1DP^zfC!nnl zLE-$&SiXAVeY;2t5|a1Jy=A#A`<}<0b#{Tr(jKt&E4Z!|n_3WVG?-h1;LWJ73**-$93PQ-;CPXbdm_6xX=C9=U!`Nxx4|tAB9BTLGcyfaT zJH%+%$|oYR!I(F1Gi$FG{``w(1f)2<-(z7lvp)Tr08yjNgK zp7|*Y)yT?vBStv+2(Tat8KIFH6}7tDB8#5-eF4>I^J9O?u|+NSHvWZIq;EcT8`$wQ zZy~h>t4e}n_t$<9W!}8$^2SvEniqs#E()*&G8ITtRAaaR?s7uFU517S|)@!Jsr|}JFWq_ko6x! z@`|953a=^>Qr~TqDq*u+QiJ75=y$gvG{Uc|Mx$>_)P&fL$)em#k#H^_JqL-iPC?N^ z$`_}EU;p}+CZzP(3EwL>BJ4acoVqZ>FpB(T!{g-52EF)0pbCuV?o<)zRxb#IvMo68 zPdNS{Nwegp=ZJvD9)J#lCfUy?PmrlZ^wp}LX zmYD57#+QxFI{Ufs{j}S+s(+9Bs&Fl_hdz;a+xI=_ea6r^!tOF>T{gxS78ZDa<0^<4 zWER;j?zWYffljY#nw*<+LW)d=AHeU#$r8#lnX}(}yiItBG`ITDC;dEumc2>&Vrw#^ z_KorvlpPIOrwF&gQB_suQW;2kOXk8 zOUwujK@`J%Vtm0bU^i4KNZNV`f>SP&pE7b`{n>jP!PAFlj8c!UOLUNJ{?iFXDX&*11s2`+0)nb&GZn_ z@lea|^R=10-bmIs8P2n;xt{)~hnM3^`VS%F(5<6@EMfZfM3PVd>y9}#5CZTo{@-8xbrkCw7 zNBleQS9S5@Q^oUBFAl{zB#4A#a>at<)T0jSrI=1H;yPNTd!&;6ROKF@%u!L&L;%}A zZ2OEk(>F+R{&ndm_(n%)l+h9_dF<`44)wd&&#PVk=5>ZpDl599!?f^#Mend0Ghc%h zqNee4%H#RKr}Zns(U}kL>ObQ)IE+M__`4*oqEqWj-LGv0hb@ov2YzrJEU5OqyAL~> zpmJe~SI<04&)ADr$V=Ab6Wen9*7>-m4>GHecDjA2=+FRm=-Z$1sga)~%8%{HIZe|b z^Rnd_HMSIX1DQ`3H_YWnp8};zqD%>~v(ZP-0f-heQNhrDY_>=BhQ46!U6w{uPBL@1 z^BXj(CB3ApsW74<)|@#J+C3>fv58P*^Ag{oOlrks9Ed>bMV1w*W2b{s0TU7~l~>PO zPnDZ&lb|8lS7}!RwXWYU@O$0#WFR+P_7O?oH_mQr8sVZGwgI=QEvZeDi&7h(U zRm}@C@j9%@Ltrz)JI8u!Z~oGAzF(v+QU~uPD;MfH^$x~~Ea&tQgEk3YfU6XDZkyd- zH45J23iW~@`Z-f1WKUqs*S&V^xO}8c$>m4q6Q#d8*`0psr*`ob@}E%A+Xl+S9vilWoIxl;#0F+7^UQCSs1L}JyRV|jPd3foE2JN5!&($hQ_BEc5 zot^08=LWCSz1a>!D5}3B&1mJ(ge$|8u#+EllZ_+Af6YLd_DCo(^a!LTn~I)h=q5Ws zZQ+vxW7$_f0opkaY)X!<^49gUml2!rm5VnWU$c$QW+bK$JIOH3sj75REx>sB>uw#{08- zU3>0#64cityfEk2@}*~5-!Grx54Fo0{&GmlE$W!FGwxAJ{fUi(-C26Q#uE>MTY^eK zuh)(#1kp_ik~&*iUKYNKyo@?82-$*Un9Qt~+~%Pr?I2wE$;Ve^>keyJpJ%-I(UJq9 z_W_Ji9CAFyYozj@MK|>of|1KfoTQ37U>WB+~boNXzH#rX6o> zOKV?TKx!M6ns)-}<2B(#4F7<(5^*(w=sY_D?t(J?Cbp2HfoCCMqB=C-69-LJbU{xn z0t^{lM?D|J&W?whK z-R}mKiZ^Du!`*$^9180QY(Z66TTjNJlvxNB(3g-?fD9x%F#I8De1w{E*yc(y7K6B0 z=!^|>u=ihU8e0vG0&w_9{@F9d%X2FUer9k0@`aT0Ceove6vr12dG2w^)=vEh zB1j3wTgW*l1K5#%+gF9*b8IlUu231E)y$=6;jAdG82m;d_+>FvYN+^@>F_(HOUPPK zX5E-4a7Qy|oX55reL&tg#s;#HU!bpKXbMP$7aq`!lzIL-o3>gsi0PX;59-R4vl7qE z?vF8yN~otW^n3djYLKiO~SQJhXSdwOz}42z^JzSXI?vO2Eo-e z_eK5jX?F^UOl0#uZ^`qOxlJqcK z@ol%rPeWHFO$=3ng${V>c0C#5?Q1!?zfZk28K?7&TeP1gRLQ=dXtoElwA{~7QejnD zyT!^R39mgLehb+-;oS^ek$X{gVJ5tBLa5EtbGv(TC-en$HR;aytbcHO~t!p=r8C zdU4bFM4mdH(Hwy!ynh~N{mecRSVU_)Pp^8%u%y(7iw2LUP2!qc(Wzw_Baeqn)KAw6e_K4_23>872gx%llA8PYHaLOc(((4={k9X>6!Lwf~ITk#(RsG`|AdMx0aL+@JIKT1z&3Xpu?K@#=8b@`(2*;uei54)UN|k zx%>DX-6Jm|&#=x0YaMmYfGfmgT6}4+cGR!%U93N58@Kb$5&NHNzhLT`c8Cnc7|8S#NgqOy^Xq%3|J=>j&(Rk(6G#Z8PLcqB{z361!m*e81*64_ zHC5C6fjp!68y!;4_`notzcePG3~JI3t*fC=LkdvBM6YcsBm&z&Evl)ouUG3W^8g!m zxV{inY*v0yXch8cZ=K-1HzzzOyiYWw;^$6(&;{GOLldEM41Y?`SF8105*pc6<(yI- z)a$IYx(gsrCKKJ?;Dt@vw!5fQ6f<*@46MVtA2P&dHOf^DIOFME zU`Zls6UI*A69W2d>jDGi$=H-Gd=3fke$OBk<1MPpo|cD%@z!TYfS~PFBVeyXoiQ~U zJuhx=4*@Pztn+DY+qzx3f1jr(`n!5Z?Ic%u`@7_2cMM~F4N=hym9KrTfV+=)jG0tW zuW09~HuI$KY0aPu230KC_~wzxyi2s^nL+rj>7q@X2l_TfN`|^~ThKleq0DNIPKLKz z`;hmo9pUVA6A{lzU&QxL9V4mo>+ay6zuaDGb_d`3Xj&sGMkQ?mk;MKzDOnRaAGgIC zL8on^c8S{-kF)m17I!`G3gf@Wt_q8ALd>?DYdG~u?lX6iI2XJ{A(mS_w(e|vWxz@* z)E5w>Uc)}AVAqNgizN$G%8utiU~|gGsN9~?O-amDxfHnPSTSoSeP{0%L(@|-_uttc z+_6aY+>+bAV~73C&zD0rlrAT1OEZ`}fdNmPdE$(*>pXbSc|N=NrTKjOSbWQsi5Hz* zg%jqF66U`8`}M2X)O>?FXb#9q9Mnvn&>{iRGJx{is_9XqLy?%3@`?(q=C(b84`IBJr`<< zH0R@2j{qJbL>ZCN`UiiCsurX~{Ul^k6QObrTBe(Wg{kB_Z**AFvUvFVn?3yCLp2ec z>F~YWpuT#Ij=Hx4HDfEeUYq3YK1=~T8hGw59{miFV8x18$$cT>C zKZRnI2)uoUz%rnPX=njG*5}&X>I;Wi?{Zo+$58<(-UiygW~cdg6mdQ?Hem0ypW>-c zgmF_PYdP?wygx1DbvpLYrwzNU(iE1n{&P{jaZjgRxRVEWio!#$Ed|YPuX&H>WGbYT z*qVxh#RxY={+#Wm{}iiBk%kPaqy>BE{rFXRFbL;YgZJ&^Ia@{q?}aG_ZS^d`UmI*h zw?n!dj@*u=MxA#R6|LyBs}<-$h%k;SF5?@CenvHV3=jzPtC}pr8@ox)CzbQwpg`Yl z+USI%!IH!DE&JO2H+zQ$YQ*3yunRrP^PYq~3u40+vEePwUM6 z2T`l(f<6(9Mmh$x5lvR`krgwF(@G;r(8{oUd5A{_+}7NRKqzVPUG3PCn951dH)~k9 zazg5QdFjYSZ&%%&YoEY;=S{DOjr5yD4I=eeO^lzbgygwcWmy+@l*qZ_od? zTXmmC_a0Jho~95-*=viKgpoe?_7jn+b?9zsE?nqlM#PNit&M8&E3_^H{lLHXO-^bx zN*TFjdmaBPBzh{9+Uwf_9?PM!;iNeka*>L9z8R;+QAl{itdDPIq)ECBC*`@>l{&niFCIehJ;7( zjH@hz6VOaWyG3?R2Q4x6xs5jVAsiYmSv+MR$w#c`borM>--T=wfvnJ%X2OX)m0Cw@ z%0tD#u&1W;xLpQ}Mcs{2?rVOP3DJw}#U!t>C4emNXTZ|$pc~+{U$bHUuLPkKIIi&=n>SX$(pi+P*Olt(rk!UwH(+&yrM$O zsg;;jQE#eNIo6N$T0K@VwoBIk4jCQ|aFmGVCNcYIFXal>$tUXR-yP-Rz&9QiLMD`h zkDW{0j`c|66@wfT#5OwALoj=lWZm|3*w0V@`#{w4OEt}pe^)Z&c<)=Bqc#!7~3yLZ^G1<>xFhi*G-)SR%567g!xYJ z(Vxr%N6-uGP0hi)Rh|CXza63cht;cOu~Oy-hvL3nii zm(oRf6{-?4KXzhm;OpB-F7b#D4v^y@XrTt7Ykf`|sQe9G!Z<611B631QAm0kzt^C4 z4%tO8>Trk!X8dSSlfmjKNW+#}Nt(Y1B7#Vx0}d!chXtor8RNY%%quAnxB8^AY2uIA zD1lekhhoZFp&6zF4&SRX2G4+^O9A?5ErWQI7jGiq+pun}y5g&DLNs`wDR&J8;T54M zArH!JdRE9k89HF_fW|uo;hfw380fPuLYrUKA4x}qI47YfJs;|xl4V=oXHEB{1ETGC z90TZh0?0$<5q}ayx&}G;Wv0*uz8`M^wH~)UVYXtEKbK7SHnTGcieVh0gCaI7O_BgNijNuf!pG zmpB9{@L`>Jv#C~Xt7nhgz4q|0LAVT4P>JO;2>lsH>KG_Pku0gIc0Wff6fZmui^~nO zS`zY|qmFP2Xoz2c3K<3bWH0kN5F6Rz@UQ%vTw^u>RH>rT-%alv)2OuuKJZ~}c=QIe z;FUg3)#T2wIe-P2&lgelKf0Q>fpqaQ0B!Yvv@m4zl2}$m1sUhe%$cq7ykxBl`PAfy zzU*>`r`f@fEA!CL&u`-Q40TPSKioX=;%xVm?}$Y4{r3xRoqul)1>2H%a(3&A$>2ZS zVvRh1<}_7C;T&(jf}_mW1@l`OMD9hjJYiJ&U1x@hrL=00y+%#!&6!_~2!C;xGOC)J z%{QF=0hPQGhtd+2$*8h4kB=%0I;j;u*sQ>w_aV<2ts6q+!5fx^xqMf|LgC=hW?ro$ zu({zAJTDZ^XR1YzF5Jh+b7QF!0@DKCUg_R7&@pBB0II$zr<&isVVtwL&KD@#k+b#A~ip=3NP9Ql%n_zC#5Lv3g-BhkjQ{Ms}z>&wL{T+3>*`tt4lWmSx?doPez?0 zyf9^wb0%cfgbfgp)e1ghtlYZYM<$OxY9Uedr+46Yd{Cc`5d0#!A8rEW)SbM4Df11B z`osQUKRr>|Rvxc>Ab()11lka1n*z1Q$O9G{rKWd|vTyVdpdZ+#o_&}@DTfK#P)a5K zR1l$P_E7EA8IZ32h>m(@MoZ!Oi2aEgA7>DmEFcC$i|0KBZH<976yrXy-w-psYuUdK-xx<1PaL6f$2y z2hf;W<8q8q3XMAq*=-<~P3N@-6Z>N*S1BjirvBLpz8Eve(xZ0r1=kK3q89t@H z?QK14yBc^uA+FEFta#z`Y1V5K%he_Rt=$_E1TUi2{J&a*#eKpXQW7op$|TzgTBq}n zUIi$Z>%M2JP=*7vW9vVrNfIz{SIF8it$r3hfVd5C`rkB~`!0)1HcVrgzf3Urv?Ep` zwivT87;&6UG|$0S>MMiZevzqabp`>^yshu}Uy3LbsD}r2LLG9CnKKwBnZ*kThp@VU z7k`!Uc4uT;ubA|)9Ts`jt8DiR3axMntpUWR;%@MpAAdcVBGIINU#wr}y>pWKu|1xL=CzUxYrAw}J2ZHX6a9shWkb%2eI?(xNL z;6H&_HW2w|qwT;yH^O)ohcZFaXF^E;Tn>^YLq_9J9|c8th7IwUN@ITVU)0JT^dG)C zUW(_aYdmoOckR1~qq4%(NVEE7VzW>EKUwCV`X8+RFDLhtksEeVG}hV2`!=PP5PQ4+ z>cz$_$=8r~T7@2yp|{L@2(gc|*k={@17vldaP!{h`Qtm`YiNia&M$hVUQw%Wf0~+L zCXxJ2yG>=CFk@2|SP{lCvS!4AdTS#YZ-=iY%32n=p z9YZ<7Zo_}jk3niLKLZ(|X5I4=bQIZZ(22@q711H7<(?{DcpVKsK`ukJoy{2vK> z;Q~t7PFe1F-nzBo&zIeMySb-4cIiqNZ|&b+92(-iSu3#ld(#4!RrTDzvU3-|_3yE$ zyKPtZeP1uCduzs!kNGDH{l4CC_Sb{|LX4;<%iiXrmiHJ8FgeB>Wuif}SN#2aLSYDb zvEQu^G6VB_CY!-xeT^vo08Ya|4C=28w3n`D#H(yp7mg;@2cL@+|5H*?$MBy8a2dqF z)c(*Zk&RKSz*NCKVrH@ z<45v6GrwAMJ^P?&t;&@j5WyPn z5S(T;C{twoTsb|NfnyXgN<3&?O!7%c7vGMZ^J&@o0;MgW47Qz!{-V<0gsSrf1AV!< zvgreOFVBb2ic(N24&Pw0y1_c>l@$+fy+ZvDb^n z2V)Jwd~Ay?lg2`VxpLFK7t2XnPyejHF<908*3cKKJagLrnwhhtFjDWzpQVmBorBfk z`vQk;m!b`v$H`Zrzs=xV=b(XT5K9M2`9)svy78$+YZUQWC-K`Nj8aXF77^k4jxB6( zvDfqK5Zt}p)LfM@=qobPb zHjAl(dPOvl$I}T~_9J8xgrMd4-dO2+9Jna>A}E?SkrP_?sulnCOqy&wgp4r2(BpfM znq!bWW&Qr27C$+!8??K6zgt{MP$}4jM$Yg5T|HE}2%z}7+3VI9DL6`@GmTEzpuFFH z>S)O?<>Ssf?&3cl$|B`jDfxb4KiY;@dK$?NgpF6&lZtjs1%vHYTdMnTpFKan#dPKN zq_*UBVZ@3K40B7T_TFe~4rnp=`I35-@TsferIs#Gj86#$2ec>bO8Qkz%Zc$gEgK?_@kYg=njSU6f22cH0SXy`zU z9an>1e{#~opYsd{zwLF2^twlbH~&v*eEG5se(f5qJLQXC!%yw0Py2Iz>T?v%F9ef= z_qr85vfGK4>n?*E!mES6qB#i;bOW)2yd6TkFO_M&oq)mN-6l7kPoCTSCx2|`Nm!`P z!jZr+%_S|G&^V_btXCt~ZDiMu2uU4|O4)$ops7uGT}cH{d-J9ka=2aMWi(64iZU2D z3N=C0gX}9ax+Fkisl>tWot;bvIR(4}q6CGb0xnSbDuw!fgaCMur-S}(A1;!1-!o5h zVNvK$i)G`#RQFD11%cSdUcU*Aa6C#u8k0`T2G=OW4dxQmCif}2$)O@oJL>mjGel}8 zcF?UJ5d!H~=8Vh{Y@b%BofqH<;>G!MM4Ue;SyzICK4C3F4jXo)GB+ETrcC8JlK^AB zS}H5IL{BvX_VkrLkggAzubtMzv?8WGZE3=K+Ts#GwtT+1F7fB*e~)&uC1=l@UnL{1 zt?BMPa&I5fwBdC|U)Nr1((IM~S6`DmvK=n0lx=0A4LW<~I<9miP4BXe(GDDdMQbH< zyp?s2=(UVa3?puxT+u7*et&AaaqiAN`7v|*Fd0Etke+`g7e8w24>O@Syz3bmONSx+ z>VHV?d2R=+kg*{lGfj(4?y!ny(%-=5#kCbUvy*#?1}BkKgV5&2`&_@#-q7n5`{@t1 zJp5QPeh%tCb3rM<9D>s|gJ!C(Uc~;by1l7U@A}Na{T|~*pyMyRHH!-9@ST8UP90w0Hu_lSfIaV{Z;8NX6h zgw9fV2f{Z8!MEi93OU4@&ba9PsCNlSe#*vb^j|@m)GJHn%Oz;r48jEKR_G?DUyNAR zBZXhkiF!fg9rfY55KwL|Pf+4O-yH(6$qw`S{H=57@x30$pt9@MhcVAugIYF>)1^q! z6CU=04k!RfS=hh|%2lQrV76Y)R538+pzKq2^-O4>BKLKAp+k`CsAQlaZ@#d(Y*|SvBq)Vn}N_+()@5 z8BiL0((8PcCJY_2RkRH~Zv=#c4YW95jAgR9rQ$wq$hurXi}wI7nV%2r>Hy>P2ZZM} zYXR28Y*ql&p%UC=+Ds7HAmc&~P3pheIKr{WeIyaMP|}?|q{2dCfXkrqh60)@k>9l2 z^Hm0N)~e<*y!Lu}6Ws1~itD$^Tv`>2`+yDeyUwf7t0};ngF*ekalYLaoiTz^b!&sd z4ia8JJMPZ-H5(nM%7gn!LvR}iE)Ur?{`>N>D97a%uz(+7>r;Bn1<7dl`L))NHKS$? z{0VSNo~J<`pq>?!z}-&!F_v0&5ctDUTXrUAAA@nS1i`x6KRLV9@SMS&n-O7`KVPo2 z#AzP<&s?mPSYG+xYf1OlH;V1B)I(8nZmTKpOE|=9`1tMJnPoYqcmIaNw0FL0j2Pmb z{Tys(+YtHXWn|;Y3lEXl)XMd%$7{Elb0ZqvLSE%t_(Y<655Rw*zYeLgzRUY=?_Txe zZ}~Us&7(XK0nhNdWB7gVr}SD8pAxOFAA$eXTu~`q7&e%9S3V^LDeAR2RlJZO>xgB3pWE8PxTQ;zWdBrF{AZAi{r~`eu&(5YcOLJHK7&? z`e3g}!tjkpoD9kl>$Yo|sKV*Hoqd2RI0SnV)e4w$$`AXqK5+;rzgwG4aV`3I4$#$8 zX;*8P#}AYO%4`FMwVv6~GW`gzW-+ComU^po{PHFw1vOsjAcz^)FHD%9R8S{Pg{;?^+I(GrEHBnJKIRwAR9@OBQ1D2eE?@%)vs^9VBZc69o*zu;VCs9>xc zi=!(Pd+%CN7@7T@itY`aN6nG%lB6QuwuaqnSNvX@65jgB?r@D8uLT!9U6}+gRNvao z*>jY0&|5xaCz^b>{t$1^hfIqN^=@lzf^-E*RZ}_-neljf=w!>(OkAYZ-Z*eCf5>ND zvil%Ej}u*2sv#)tkQSHx_mZxwZCx>|g{r_dXJ6;@+%}zD>l08jc6KgUvss5IbvNoS z$+`y~4JBLn1EQ--wXCSXVy7aFMOAZ9t7VrJRj6W7_fcG)WqK>waEB*#=?B7cuxIK3 zzoo3#YAK}AU8qMyv?~Bd_2z|w#|-~!Qvao2h6gqyV7%Y&ZCfVsa^Q&2R2H2W3l0w< zG18DOZE0q>i8Ko}$vayT$TD`aLLDQNCB>n)Ldmgqaf(2HOTtyF#O`R5Y-tB&g_?7eU-qAefUP8tg@Gc9LFIKXL7PTRg zv-rNQB^HoL_wVk0`>cl0HuUK}lA-h8Sd|`%fB%PQ)V><6^rh36IxZjn-uq>C)DZ56 zP?l8id?~BXU4Q#Gb_P9!w@=Y1W*o(FGGS})$?pvq3xC*$A?c5Zo@L}baSSOD*PqBc zvG@0eHvjuZI`H=&l1%A%!@tt3%rPP^`VIm;3hX;I_0^X~Tb?)004-`fzuv7HmqG}oa#)MO5l)Cx2G}(sU;6gD?nF_?YLXiwicLa2&Qi=q9LWWbQ*1$ zysph*{NdFfPM_*XmUR=U8#C$v;&Gbn^(pq&P3SQ{H!2ZT9zAB-u{EC~aE2}*J#G5P z)Ara5;I-Cmgw3LOd-ADve0{TTjKhQvG zE<`FePGJ7CyzzG;bN^7@p$bXdHQDFBF4o6{hXeXhzWemcZtCp&Ih(c9e7fFD_{*2d z>C}(=2lya4KAdqNPb|kq7F;XTDORB zaahq1DdLGuIu*FqjU-mUZ&g}fDi}d&*ltD|VpedO4%P$kdW*zh>sS6zI9L%9iZ|n! z9l^OTT{2mSAyRr1S30a02SnMUM*C^!iP3IF3Bol8)Rz2SMdg480)9gy?KMeLW{f2|RNcMiluB8*dIVbz{2rmAOQ{`OuO}s6% z0yIM6610c2mUUy8tG0LZ)YjA^b8%m{IPjK&$0ymuGtmm|=;$-~RceFx*9^17? zYxR=6SNJkO@Pl+@Z};UP*r4n&VzGoW~k%jiZ}3Kd8&p!PO{cd+_{ ziQRwDU#DGIQDt))6_L^WTiuZ&6EvI+PbLjY--ymf8d0E&0<9!JUzoiX5jm&WtcaPS zd`eU}bqK;92TkT7OEz+IBK77MwLkH$K5QiORGEU^;McLOSInHi8+w>QhN(-@0L1-A z{Fkf7G%f34IuGF$ro^{is-!`YDD5l6^51HY2Ct=+ap-ibE^I2aOLu*HFN&Btr^iFt@y|~FdzMXjRWkVqQ@u9-b4mq>lq@I-E7uWaYGS`2gS~Lsx zEEFvn4m0E>N#|ytu1N_ec^`*+>-^lK>{c499j0c^RVSPNmihNwYe58$?;aqHp&d5r z!Z#WaIe)kN*6&J7b8iO5zc1a9`HG?H&ErG);{|l#mF9UnX1L|Lrdlp`1VO$wkLy5^ zGatV(#OK;#{8FGKm`hzYo`K{Q@%P~mnntA5ISy)p4v=Ol@7(JhWMYd9z-(ksK-aou zfFT>@mBpt^(KS3#LB%3sHqUb^h~t8pPLMzn&LD^M*pu&t+$4h; zScG@)hrREX4BiGyBg74lQ(YCW=w=+AcrtSS{uRX*;rB0g60Y6bg-emB%&uJjj{G7T zB}&v&Dswcks-DP2J1>NFM5riz=ga>uD)x@L|g#VPVm}jC(w@* zG00poXTff{bpmSsp6G8;X*K-|rmycO-}iujeVHQ#_&=ygth?W^Fy`4rdu8ELiYvq`DYEE#h36Imn+Uq=Yo zhVIjz>Sw$(TIFqJNd{}K6&&y(xQJxXY5tQ+w^>=jc0ogY-hT1dF?~QSDp_723%2n3 zP+j3O_&s142D-Md`WX5p!&g)sn+CnZ@5NRPO9JfhKt8P=~a_h+TmKj(SFh59^{A8|* zZi?aFf8ip*QkJ`zghh+jwE+>$A1$bH1KBKs+EP2PwuJ5G(VmMHgr#CW2@4AlFASnj zsub|m*`O(121jQ++&*Q!*@NBa5dH^Bk1?A5EUmpJ-v|eO(S5{&P#;krt~;-7Sr+B+ z@Rc9893669m+67VxMQdH={}Z#AW$Go0^gZD5j7!>t|yA)7_V_6hX8eZwIl$S19C`q zSP@65hdhY>i&PT%56KiG9tz0sM)BWyFB+KDJcv#w*bE`qZ13`abWdSwO&kgdritLJ zFD>1f93>}B^~td_XBX1ZYS6jTH~0t}{6QcWT}|T4Bf9*1ut5$PCgDw(&z={r| zo1(-m@4>D(N?!wyaKB{sL=|gnm21fHpCcEtzzghj=xv`{77xTtufY}f8kf%~Z^k~* zBnm*B7uuTzZ@1w~u-PZ#rEtPWzzEX#_o%^68Xbg%PF>HN-wqEZ0Ij){(!t09ZfrTr zAItsqMTQaz4{vz_z!&{R8wC_ve2>q5zjMDmLhKgten!6|sZyp5RiS?CO*aCg-|Hp% zb^NY)VIrgoqDHyJ$NDXY_aJ-kAQqzLf3y2Bej$rdwuFIOl}l)PKDL6FzISdKdo%(y zS-mcVaC$G!jFrWq%suZeSlf3w4i+>l!=TL{kX90_7YdrVV77vRufT;%c81HzgQwOp z=rOMe%q9x#@1{Ww?G{=NcmWO+6QeBPgm2Zw+Jqx}pL*gb!2+}}P*FLLG;rp30ndjlGw3rbK~dhW5mL~`2FI!C;Noe0-9b^NsAVp9 zBCG^R&rBWwEk`Uf;Sx*u=2~P;$ThK9CP);}LeY-iUltv2<${{0%__#IxTg*PF#$hpK#pDCNH!`4j+{Z?s>X72$>&wweyw5=BYgpf`xyEzsE$H}^u zbz-Z4SNYgtfoVeP;w>zz{)1jXja+%Yv$p3@0D zrbY{cZ0Sm;?uc_QlesE=)G)%E45`DI1s&+O@cH`-a=GDml;ChyoEr7)z`mYcHXf9F z9O$~)JoE>^+3V|%=1VKdIG+?jqUX^ngVu4R6%$oRCuWlg>B@yP{~0*PX_e4E396}1 zC_rwTq`yP{pd4{f1lG?G4FDzV0Ak|D=-wS&_kNC3@NpaGz%6e zG(S44tx|M$-Mc(c&%cpuPoP=2l9+8}KJVG{uK=G6~vUl0LHzFa~=D zp;n@#RyY0|Y{ggf+Q8$}#S~!@2c(P8=fpHV?E|0yjU$qSSFr{MUS(H!el8K8ehx&X zagr=0p)#kfXMWzz+%ubGN-@yErv!A%_|qT`Ghx8iM4F4SByk)4e#;W^=gSwZ;8XRZ z!q6QrM4P{E9s0ue>iV)NrdepUvtwU}GASqB^Gv&_W!Q2nzd4rAdiI&V=g*OcyVKKl z#VJrbODDcukWEAt6z<+@?CP{)_?UwWW9sE_y#A3U#hJ@J54=8;qV-M&JNh+BoEp8+FsTSZC0c7>; z{fgOZahrP}fp6|wpYj(Ikm#@E#F($%_a#bav^4>tJfSLR_zItok6t2wBYgi;0?N#R z(R34TI!=tJV+~e<(){=q`W0VN=g+RN5`yNy;*!X2RpN^;Cq4=YPxmB3r{neRr(___ z>`z0!Z17RWUVg(0aod37dN@bKiX**kqHx2sYu5ubxbkAtK#l4L*WgiGg0?!mIN}63 z8r{ zy18;*Il=8l2XPx-%AMRWuTuikjl?}n%YEesf4Di1Io#@jGJLqQO0pfY8@7;R)&kD1 zdoAE2P+|TW!~?xdojtcqj&UDzL{&Q3R)%U3n%Z^j10uaaL|+y(9x_?%KE zL^z9~_@3tb^hB^fL29iVrV88vN6ps{X_$jgz_47W0*HEiG3rNHcv#wgzE=!16*6We zYbyT+OdgONQ9VQg5i9~uqag4$I{4g~l9SUpRz-QT1j;L-zf#>e@@D(9|2vd02heqJ zwkY_n*x7r82zvEfuTU=P%x2x4xdvbPgqGwRRevOZ_{UBtxSwWLCSfCqTus{-CZ(kY z=PvMNOrOKbZrUjczP;y6*mJlV`bkGDpqaAHSH>Q1+O2j;Ex$UhN_qUti*{bI)|Q*$ zJ?0NT@o;F&NFq`ONd`_~(kdVFTp10}q2qv$OQw9UTSRw3irLZz8^dbcgaE2QN#8iF zf?Y3_M?s4=NH&_SS9wD;W@9m&qBi!vbK!c%QjTQ9>1av!qdOr*INDziG~$wew^Akg z=*o=2kpO4&3HfKeAZ%anAN*5j8J^<}%8GZW3nAEldeM}I^0&JrK053NjdSr$$zTmt z!&u(7r;$tk0DcKx1PlCC96|Ch?P>kDITSq|t>VJ(S+TOhZW3!=QIwqr3xNuN9GE(G6y6Iq=sMw`Z5oDh$pp*KlEnyExS)xBvSQ_&6lh>}jn0M2>3f?s}5Sh`I!&tRL38%y>+-jnqGDbjag$|IL5$#b_)%x}8&=A1O*Xe3KlH%!4EwB%Z zeP1lw7mFu(5Q?}r#lIkie+%x&J)a)V$Z{ApgbfhN`3S;h2S1 zRV0&k;mj`s?f$oPd-&<^xTg#6(#q7nPuD5z2-tRRd)M!3Di$4jUInFYP7+V+>}N^k z8g>`s=&XcclagUtFa%&eL_Ldp|=d= zDIb3hfj6;!yH%tRS#W}IHYo|LW5|K8Ku;H6p&GD{TxhmRSaa()$PHK#Ljh-2lEs+@ zF6a<^Y6O3tuy8!~B0O03boU&g=ut%5-`|%+`yQwZw0kISeB6BGNW)5H_R8)0&l_77 z=YMv$dD&4W2)A;f7_mK6ea(KmZ;+dC+p75@g9*Y^&`hih|1%-=-dew;-%Kn^_G~EQ zI(3k5f*463I@*BG5H!%`Rqqbg$Ay?unP&M8>1~zK*it^6SwEiWzWgLntSyPwlSoTi z9L1;2l6V?%1z37cWRD#MnRIr$9*!X0<UB)E@}Hr>F-n&)O6cU z2}2VaYeU6M^k*x+}g_ODQGSB=$$KS9Fg%A@Qa=AY|vzE+}Ah3&piK{y(#nPnHAp#;G))i{G%LH&mDSZ z+gITgl*YujJl<%g{#f{U*jgciw^7AR^V9!32r0s>e6Z9V6d*U~e&Yhb$Vufb{cXm^*pSti^) zE-U4A&y}3>77A!a$ne^#?1=2j9rik$Qh4w`vkU(``IPu4sPkm;tAIygUwIrzmOJK! z%2M9W6VrwoEXFlRDy31nDg@SVHYLtHkh1BIi{Ik;4+QWyi z@^AFdGjj%Byg7Io;t+9{fjlkS9Qog1hG_sH;;>_5QBfuIFJ1NoTj1DHK#B0F&&Jtl zw%D&2?1JabRTobV5f;%W-hX|_=p57sNN0>iI5)kDx}%a2Ur(|soy>io1zDBHRdtdDbWR)}s1;SB({!dK* zrjnG#x|GnYE${t;A8p8YoIIATm`GG)##lz3;=OoF3HvDDuN#YMavhRKo9{VjEobSM zI;iuu6E1i4NLl1v>y3Q{H_$ts<7_cX%IjKi@Qe*Hea}pX`#z5$127u8P%#~8CTRHt zN;tP;X!N}ls4F-lRb`;x@TbO-kn+U|5nJD5yVlZhrf&T`ScM+i97ZS1q5EadO-npM z`0qqM@eAuT-p4h|6_X_BY@7Qv!%QBjm88#?$yX9YU+MQ15mvn=OB|S>yQY||TLtC& zTR?SN{tTf%h%}J@ICtXfgx>WG4e^BKvfZ<^W&SyUFGGugS)mA8oHFf7sk7oKS%d8uF zp_R6Yy6eqJ&td32+K3%3M>u@P*-9A|9Zm=KP?pAm(c(6(qYi^vvRAcE%{fq|()TuZNGC$t zJPUAoMAag9(TJF$ai%!>XjJa149 zRg&Y1KdYlR%IJomYgaT^pj=7yo$dpQd6@tv9*ld3b_LQ!FhSfeY%!3ImRzz}k|3fI zBKsf`I?RhZpPTAN`e#>BLsGD+Tw3B+{^pO1$5N`dRUp9Ypr2HY*aqocW zi#@H%TO7wmy0l#)tP6kd&3@aHL;8=M{vn0_zG@3KFy%*oJ`VOMq>+06i-x|Ap7Oy!m1r_iwI^Qo=5T9_-Lv_4SDp zOQmq+mU$mjqXV?r+1Yui5@v9Ug8G~R93OtIjeb#a-xXO{I;o_yL~<+;2Upk0g6|M< z@K=F0YsJFqA@8}kio2cgO2SC@Mmjy&E_?`N;sSSr$$FEA;qv=e4GRm6t#$WJxx~RUBH6ghJj!ru>v#0EgMVAay1JIAL}j9F_@XNDZPZ(D(yo z92-t%PFX^ykL=7w4amjHmJtNERkPbmoN70`A3XToAL@GkOF{}Q_&C>P%ZvEw!n{o}s$I)7 zQ%U%R?h~8Q#@ijtd!N?4J4HQ8+5WgY@R;vQ}wr%#pWxab&~4#yiV)n5|#l+~Zx~ZKI?@oWFHU`AeW~l8^I`x|+W; zGUYK-SuM}ZO>LSN6x3{#1Y0+|s=CCNQ^9{KNNsTz2cq`7I{2umsUSa<*9*Eg*sg~! zhvK{4TXPu5_kY+Q4-Y@vi>M)sEKx~5{!=b_|1J2I9xq7|KXMFKS{6a!3K^SKrWD6} zhR6R}$A!Xe2b|7rGmkk2SeQ_m@hUw8cEY)(TtSZjKKlp<2Hy39UVoI5`$G?Mp<;L)g7?*e1pdEw4>>i=KOBl%9A=3u`n4ugxP?mI zhRr2S_q0u^iL=4j!BcZxJdneJuXSmmk3V>4K#Q?t{rFYbcXjBzBTzrwdI-Q+=8mAl|+VHm%;%*WhUFup5 zl{=bi=#ZPV*HA(&`%9aq!{l4_b9bveQ|KSsip0q(v2%_YE(}`7&q!%R1a5O(jA#+b zii<@O(ast37*zPb`ouRRzgjed^s$~ReE&rf^N|EqQsdw5=Y(4m!s!u|N^Q9;2Ro=? zK{2ZHnJPRrZ()$b`{gJe6l!%5#4K-754VB}nF~%_7K1)R4AFJ{kbH?a3J73h0ore_ z6@}sUf5%_gXQ;dnXwr+W0v1k9(fkFWJP4fhxk`KU&(uhP?u@bTnA6o4gg_fLe0w4; zNl}j5M&ezp8Q7cz9uiaCtO@IOjKzh7tN68fE6ApeUo}hq;2L8Rg;_A zP3J9pNE}SXlm}S-hX^DJpBKt@w=R!)O&<AEAvb~irn`8)lY(P~}|p0Ga! zGzbp)toH=3Vg?Uu;NN;>qT3zOENa$PEk*(eHAVJ5u|@SEZll)C?*nGWAVF5FJ&S(T z9}IBazoGvXn;3%-8|=h6@4NF%8o$`bI21qod4)B?w^;ft|Mfj(wMe2M1PmM|)8YLM)`_nO?l?kPsEuB>TUm9=P%8uZLiy@ zCE9#Wq5a^kIt#b{#yxI_j9hv3ubZYcj;Y8ucH>FI+zV5}xGzVQgIPO2^zBK8*PeoL zGLIBlm@uV^q{^oE^I~wswUS1uGOg2;_J^&TayOPvsOc!aj)~grKDrC}Jf)5rW`Q+g zJ|ATd6VkMT)wbKR;Q>*6S?cXIDF_O?MwkFB!kQa1vSQQiS_be!X39V7%ahIyU zrV)Gl))46sG$IpOJFiKc7yiGMsx!R-eAoGFv#Pj9i^j$x4d%%*YtXeTbH<~8=k09- z>@|Bt3M{@j1MCuD5#?$^fdCyM;W7X$QMzCX;*A52V1vZ#<4MMHrV*_)O?_If@Rj2V za)s~T3ytUh%=qbM*;QE*9Z;&<&aZSSuCMH}W8)`3rHN%LTRLa}Hq?iauwuHz&D)R;>?PB-Cq1a$q~Slm{;!yRn@^k)n$$keX!XF>0WeKjy2k(jnprIMPGE0}-0RWoqMPXaza zRHBGHNb56uAL#}jNEu?Zo(;+h)(omx8^njkw5GvzLm}eUGvKkf7Cl&jQIKA(LtNP- zs6`!t z{13}t*uyK3@#NR&ImV5!Jk|h}FtGYv{ARG}LpVWLvd=hyX0sIq`%Ck;eHANkprFfs z0;szz;{fN$tkKA>1GNThsTwMrl`dc@pwAiYuGd%iapLaYTa>cf)@~!}Sz2ROjT=Mr z+->Bq5py=V`i+M@!>{HSL%D;Y;VIWO{nBm>+uwgA*pwvCX}j|L=E&9OK}#=gS6&Ti z-yPoPFzDqB@0n2upzHm1iasVYGVPO-H+Ke=Ph5-m0#R}p~InxH77xf`Y6!i)0fZvbLk|o2B0#~QL$DIXJR2g>vD>7K}rt>uG zyfgqy!?xst19^n(Ni3nHkVD^{o@4AV9U;(k{x#^RD8A83+&H?zJ6frd9vt%Q%nr(D z{33K|x#=Q$uB`hu1^Zybwv7#1w~*(jbBo4HR52Pkf`dFjLek}<>!g@X;yUvc1Ku_a(oS4&w>}PgA{cah4O|_g@UZTPWADqs zne?~e-7t;^Jjn$1l|~u$9)|%J;1dnJ;H12;_H3Sn)W&;kG}wznM4m*m1MZ+a7-~78 zJ%oAlO!RHn_l0NqVN?#$ndUYlk6?of^d1dcvHwqqN1Btb?D)r-j|~p+IZ#c)Kmy5c zQIk7OGRkjF-Y0qY;>N;%*0f9X1$f8*wWeSMu#W>r#er{dZFA@n|L!VOGnKdWzs}~Bn)Y2QuGC7_9Y9{|R*=N&p&kY&Ae8e&Ci_zZ%nP9~i=C11+n`D1S z#@`6~>2{8Jr0?(2#_Nc`c{k*CIQ1SwwP0p?oR+qz(JQCFrq8+Hjcej$xR(WWoAa4{ zQYapqAI(1AWIj)qnYmeJTW)CA6gw3}nY+zJd;;zM9Kc z_{LjkpB0lu_!{rVf1s0*f$1QWx67RBwT`TBUPkBnGjH%8VeB9zQMy`DorGTg;l|<3 zi8Spzf}%!lL1=P?zEJlVX&BdVSYq&7vk_N^kp2;n+X>S?-66kSr1M0gSc*b@B=ixW zC9bc|9KKlq*&@3z_QTlS&%{jIP)S$m+@K`BwYaCF$3-CCawReNp`?8?-Q*%t#1D-k zUX<~-+DAnKVQod)kt=)JQ|4MT_gb>14D(1UPk$^-YZ-RRJ585a6y@$|eLu{*L}pHp z<`20!G3f)M#;&Hg9Yd)BY?Vll3fHo}e1B!)B}+;1ic-p#X)|hggOysHGZKV+V9_%MQ`-HIJ*t!yPePc!0B@rLw%5V` z&iW(zOURD}0gJhZpf+kf@HhT0GoZ}qV3!+}P$F}bj_9wWJeh;ekEWen<2JK=`v!BV zy#&oEM&Ey8g_aS*dx@T>VHj$Raemp?-^gNg05Sx)5#Yr5Zp*Fs-}*P~Pa05aYc>e| zDD?}yXuy9vv0{ufr_di8p$iBGdEiOyJSbQ}^B|3m+P{5rSb$}W^IOg3lApJj_uwNcPZ@XY(EgQqhB%kgL=6?O^jwF^*F#mayn}aT zHy=3g&h3w(p>ijVrq9;%x+me`e;Yj5#F5M*&G$G5RIMBCEm^ztN0gJFd#E`F1un?` z%WV4u?nkWW`E-OTfsTmbz=b0<0{5U8kuLs6mo(XBT~nKr)u3Ira6jG5glFa66?_iK zdVVU+-iqr4P~IgZa%vH&aK6D>A;y8A2dY@oBec)y!cey%xjEz!a7qL*_G7@Hz$TL{b7*t=k*8OIymq_aPCH$znJ@1#pY;t!(zhV# z^am29Vu^`hx@M&O>5!7kjDgLGq(HN2QoedAZf-uhK|UsSUL!8F(*Ef$r#kbWG-kGi z*NjKGTsB_=we9M|pRK5(yHR;%3YErm3wI-STz5+O9K=e`)S8e~N_)zM1Ufvxq)Op+ zX)xgnn9N7w}xOyWfB?htwUO!&Mj*b{R0>Y$zW5F zw)wMNfQ*Fp`o0(p{hf(39#|b*)V}PQ1nW5g_#5&=IC)A}{n>RypuC}QmGi|h@IIo? ziP9{OguHm8U=h}j&YtXLIC(W8A62PQn>=oaEcIvAjk5{4=y3uSuJkS^8hCEUS26zx zUHVHDG1`3XS1*%Af1>dr`|s(qHDGH^M6nTAgY9CRBG3{$n+4keB}lgJSH@_5I&?K- z?7N{c@6@W2NxvwVEC~B=48n^(E>5yUb`gc_cfs)a{dI|<`bz?`*JqAMkAic}Pzh8) z_gYUo-IsXIplr{;fWxpfN|<3TNS4beWLO&=0uT7943ZUH zn}JU;_1yl6x;ag{re$%A43yKuK2XuGmwE_&=+@ctFGmeurR@5|JkzkZKXzB@bcU{@ z;kqvQ;tPCthvVt*vuAcF;irF(X5OqLRsY*$oW)f}hMDe{6o z%{C=2b-HybmgPN0-TZ5h=w8CH&iSpxROCr2QolRhA`0E8`s6w0ITq71<%2(6=ypm< z+~og_EJJ6l889sVPGInC&Ih8+(w0cLHBh3uP|coY$XROFP5Bpn0C_j-#ttf_6SP3J zG@}4IVJy?R%xBaJJjf>SZXi-5)bM_us{iKs(rm_8BG3ohBNIn?9lg0a-F=x*R?K+v zw|7c7iZP|8A{yUdIgziep9R8=>ViM4!TYqEo|>hDuWJf%-P{aODFR-bj%MV6|x{&AO!KIi}5c|%_oUhbLU&U0C~rpS@cxX$T~Enlj%F;uI~fXOB?mpQRyq0wk` z?Tm}|>3pRh?UR-5oz|2sIK1g8NfHI|$JwY962hwcAZC^Cd$rH5(I#3vbQ!P{sJ*ly z@TF~oNQUL>_w@I_%QV=S$|(Jgv)(Kimsm{QTxvK-Kh9hv<#dDRPbixpnQNPtg7y&Qe)uYASxgp{?0nryxjD3E0%qhtJq+H? z#bIb|Mff0>1?v7a?I&lEOg-^_c^^NZmVMN#H|zpv(KCYV==EPgy9mDm_WaH#f5SCR z!0W4|wf#51v_Xlvq2(yJ$N>+|F$A;5jz*<_11)H8WgrO5s{X~FTs;fU0&t$}o3tC?{phjz`&wf2uH)+!b>z`qxy@|T9AK69HKf=2_l(J_rK5h6@Q4~+(H^i5 zQTL;;Vb@aIm7vkdjP;pv5PCp7J88sj6{SXK)3WUU>dJM50IEoKhlROxM(#v8?Vi^F zdz=&w$dTzj_3WTuEJ^Bv2i7Pa7*oRy47_903jID_-+(`bI2p3gCX6 z#W+2}sz*rk<9u7tnF9M(wHyi2gCQ~-*g5v@aY5j0@$&SUsyJWK2bU4u%)KVxE5_jz zUqA*d90RxThl}U2p-+GJoMmAt8ybI-7iEuCGF^P;n)^+IJ38|hN%j)Gj`kQ?$hdp1 zhxD~lSY3hl-s4kLHKWL@KU;4L*w~EN6Rs^AoNj)pc=*t4KdPl_=iWmKn<9vhoJBib z2i_i}o+^vk)Ihr<$SI8oSfJKTXI3(Q1ylO11|RLuJ^tR+w0?VHjJy|#J8|Q$(^+RV zJk_LtZ@2uMalX&t`SM)()y^9~LjH-Nj#*DDn$ZPpdlQt6ot+xcc5~SxO{u~8|NH}sFo3~_S>Z1-n0?gx{{i$z7fKIweJx`vNhknS=v16w#QKM!b80IiD+$!DHbt;DP<6VI3yT|9%fk!v>Q(f zK0{Z~&1zcp9hT5iumq2I#xtq@-vP&P=#~i`WWg5e9Ol!7x!^7Ebzxqovm{&8Z`;7tyo3&$cg}5x1APZg(1DyAVTDPE2&a zsp8Mx)RosYv}E|2BU2uY8Jp6XpE}Kgk*;&?x0sane7+wkde-nqbw=mIy5_98>J9q^ z)+P_DaOx~8S$X=W`I`i8{dPONw4B z4M%)I3CRz4|LxrdGYu2r=~uKq{TN52NCtF21z(%Y9LnZZMKCtNN4e^_XENvwj2;0* zM5;-E(&AqIT6Y$~g7;63a=o-RU}mvq>{Z{nhiWu2XedbA5wVw_IxJspiE1bnjlV@a zGDBViJ{~^;8;z}Bqwik>dq%ah9V#v)7zaiJ&-NL|gVOd>_qn`bk#=B}04qN3f1H9I z6ZIrO`^fwx(+d@L761A)eS`#U4Rk0EI=zCb;F2A{w9It07YYyi4`Cgm6mV#ULW#xb zT+v5h40N`HvEcL3bGi;@dEhyQfFgTk?LOS_B(_3H5jz@<$p{UIOy;n=EN4jbmqJe7 zxje}{4Bj;9u=C*U}Gnp$>bT`Af` zK$W^nJoF)ZV1l=w=F(6pJ;{5YlG^?z@%m<~?X5>75PC`v-s!F>Ll0-N%1;kUbL?Dq zSr^}c$9=JSeL#qHsAOE(Pc;Z;~n{IkKzbuMzrN@idt&TV-#H>T_ ze-6LCc7hyo&BSV)#2lT?)JwY~Jl4FktUKA6`3)WKBSJLng-r3l!$Y{}Wf#<%J+J?A zA74ALMKV%VQ$qFnjC9D=q_N3&$w##t|tsrC{=xIRPvHX)ync_$^H2)*_H%cDP zApkm!2T}^V4KOFQ=o%VD-N|Z}6=hzzg?fK~H&6%8t@ zrt$bfgEZI0HJ^Z~sJJnv%hc!J&e=s=d5 zku*iGueOkUu2!ivEtMpB@#|#x`D=X!>;K35m-AE#Q6kX!D(;%XZJF>KHj5ih z54CYHHlMYf#(q-V#W>#e-`((iliFTRQNCy4Yr8>rIki?n67)N`8i?K~aod5sMBOi+ zJcy>9=(B> z`d|{Gx$pF788mSz)z5LT+G4Q4M;%FPxxf7`QgMS=xaz=(zughVp!bClDnZC0^n81D zSL**gHTNY6*93Y8@YP!5Ye!T#%v%IWj759Vc*HrUAlD9Y1;L;M`OCiTdWFaGL=~`o zm0m+2B4_SB#89xn;px!l=E+UL&p z7XCvw*tReDlSiA}8>4HB>51l-PFe+TIUR|7C$GL=OIW$J{KwMskzO-wvtZ<=VaMS} zs`@KrP@jBue}Ocunv;zn-whonJlyN(&23;1^@X^BSv=CFRM) zzOBsz^EiZ6Gn~!nv*~YuHXr!KyCKHlzU@rEs-FOiR~SnHPhuh!6c(c8KcgrNB}Fb(~YoI~>5=xhPwnKe+!bDKN< zAz=a@YD*HgE$6_Np*RU3ve2nJj&tZ9dq-S>*@47I7$r~&w^r^Dgr2<1|J9_cyNy-= z#4+y1&Y(-A`qAtUDz_u9R1xt4J_Y9+BR<5v8JuqMFdatzzeXMdl(_veAB2wfWYl~Z za8Cf+7<@*gxPzexz5&%hPmOuw^;GSBqcBJD_b_~j@&hOD*D{*P+nx|#PxVcr%4-M# zt6Olvy3AsB|Jz60{3#P43w7Y++`$~;#&AH}X2>V~LieulJ%c(9KCJ2uQi;2U43D1Q zbZ`Aq<&gcPu=Rmpk%a$^PdR$k)%KOgewDJ+*P8K3Rn#p3L@I)*TtT!7=k!@qY__`Z zKR(`r>O8Vx@p-3O*FUXNMZD>h6R6*j{cKO!@_Y6(=@F=i2WPtrhW53Vl67N`u_i1{ z_=9z<(;G{PH?6y|_3SHdS~zn~H| zH1j;c{ikWh@3DGnnx>RSwuyFrA7QS4&SHJ@F}^)y>|N>5Etd-Ucki^r!@b+!-w2wv zlo%LPLOAQBHz4dJ>1uQ63zFaiAtd}&|oRjXnpda4e1TI0F&hyxXIbDw z{6xQfhcRv4W%2p4g5V7VM%N76n?F1vgT@PPM-%p3RQ$MDdVIsF4QP_%Uf*vHu8*Q@ zE6tL3`X$WdK!ShQx@H)yQ@37AYI`8K$~&D4?R5yylbbHzM0ugK?v_=~TF-*z-aVXp zEPJ!MR8Tl1uKBrSBT0Ez64*(%TLFwQ>!*dXwp-m}XhX`4IfF5-OjXpF)Z;qD_cs=r z0dI?EXa@r-tWm?0OH%47Xc#oaK|lPH6g!3B`Nr?=XtU$OF~sLQ7DY#{mFKpihNR|z z?RSJta}B?Tho=C+NhPe|L2N#~qdD80s5DE2X6EpFvd0})4)ftXe-^R4ce@`5%PBtr zFT?xwZr&i%9r4nv8p=|ntR{7T6q{*`#l4eMgzo8+1lEzI)VFF`Y76`g@bKDW5qXnA zZvWbvWuj}Sxjw($D_A(@5$+vfJ|8`F)0O}g-+&HPg*^Pz3s>$l&tyY=y}-3e?`4jW z$iENFd@?q>w>Cug zOo_*Y9jk?Xj1R5f2u}1^f7b?2^Z4Ao`>ieiL}GlW^(HrGHPsKfljF_ghR{MP??_X( zZCaOXl_r<~4%`87SvaG$AIv~RoRJ7kxMQf)sAqo1nEMX;@EmjoOEl76bCfGT?C-I; z!ZRelTyG5p)XAMQrCFx}oP zpUaH9fozt^cYs{<^mj4Z*K_^B%pCEkQ-?z9+r3iCcdR}oy_{~U>)n#5c=xj9g|0~H zoayPl3&m20m!wPQejyopiQKBNh&zojdzB9EE1(91939MeCxrA(#AX`hcYFN(t)T9` zga1MS5MR2p@Zg(#t|#I(k5FVZtP@$on>~Pos{6KklgK!muPIY1T^M{lfIZIr3O^?r21DaCK0hCFy^h z)sHMX-eKV_u|A+}abj=OuL%j{7#Lk~Rm1=Pqv<`Pn%cf_ZxIC*1r-&L5=cu^hRslTj z3FSTWjrm3_AMk4j44@h=EANK{KK1Q*rC-7K*IZ}K-Vu-r9qMhA47qW2^_%ch_&J$} ztW|SS?gT;L9zZ?Od%DR~No^jbIa>@5>JOcB_#Uozs}NbX$!#~g@uMQ;L8=e=0Dj65 z(-%VhVS+Z0t{)%bL}5R;=`nvl@t)IM{H5>1;2Slr1TrSJ!2!VWL$52ik^?=*I{U%; z(ZtS*a$tfU$y1&igyrPAp5$s%gtzK-AAvg#Z4i}M*z)&_xV$1I<@0vIfee2p^-vVz z&H9c52<&4qwWYTcm$rf>ZSM6p|D&0|pc;@Y6P@wiQ3>UFo@G}!>fVj3jk+bngoY&# z-hRYVrD(i{HW3_(`ADZYj?#E_g>r7a^X9tZ*^{ka1)&=lf?^`8J$9Tsh z@xj%jH5H@(ci9I(D#s32v&$62^$AlJ>xLodcx@&10C~q1OVe14Z_R}z&PHHUFdFBz z`N)d>FV1Q}*i1L=mvf!_>B(AW%MM49@XcPJzaZ)pu+-At>W~weeCzXWU|$XSDtzfs z?IGzu^nSeLNA5_`rNefr*w<389``@;A0;l?E8gT?vM(qS3w~=1N4B0*DHwm>(Dqq! z0KGHu>%>dRYOxqgERPXka!xDm3~8U8>^UyZbotgm$Dda2YNdzTqn(v^u(lx9X?;OG zU(Wr+lm`PJBto>csq+P7Qj%4}Sse>R#(DU{7X2Lctly%9D5N~W{~U}j)#GCo1LGg9 z3lEC%kvm6&f^34MZE>G(LvVX+d2^%p-FMYjsW-!VLh(&q-UmEVIrY_=$#xbAMg2iYdu-<-c7x?1yGqr7!O?0%D!22Q&d|KUhSomkBZnHvVXYv6LIDurGl@Mk1l*DzFR8A)Uh@@5_cIRT1y?rT#4cY3W7B#n=lH{H{@Em4 zRV%l^aR8v{t_iUc70E?|;V-RBR>i<5v=GsmC%c14AxTcbeuGwz*wo9^30wr{_p0zP z?n|E7|Ju=*a;EDby|C|LAGPl(coNLP^a|<$fgD>R&fyb;+u5&8qpuTbB@1x zaU}CTuOX&3kym;}lojHh1rOdNfhH%e+OA&wCSh0aZT?-wjH>jhadpXR~PS!MzB zw6)%|14rxM<=ykmLaWnnV!0b;9S>RN-YL9K)Ir*R=CnWNlCK2JqL^o?ro3NKJ7K)lx6Fpu0QWGZGWzSx z4@V`LP4;tL)>ZDILbfCCX2`_8wjdfa7G?u-N+ z?M6Jb0VkId+CZ@!Y}$wXWfW{ahO_vGzBfLsM6@|Qb>&K1!b8=qYk2DPAqmFy3?@D( zbE8(c4tJG_2Zm?Zmx*h}hprPY@mCM-bGzD*7xy60wT_=8Wx~f|2SeEtA3M;c#U|vu z7I+Mzv@>;sp8|pVm%nX>E%~|M0Uc7mAaZr}N_m(3*c-cN|0hsD+WKbz!S2;;Ce~9T z;1esJYP*Kg8-`T+xt&uPxgt)TBjrahZVwyvi4=Dzrh-wRVfB>;jiw60DJ!DkP&?%+R0+h z=>5B`mT|6KhL&E7Jadv~^!@%%z5nO}1px=UJF{h=!ZqQHgnBhG97Pbr{_qq_oJx&kj$mJ$L{~pTy29NJ;d1j7QoyLE1pZ z=_IlLVr%BiHj;RIGVQL_n=A58o4+0lS-VjN?yx)=$y9?9A|yhO*{<_IebG!bg&Co< z*!9s%o~fca=rWt^weW75?<&<}?m`jmxY+@-_DFR)a`o4CB`}iwF1aOdl2<<%tt4n-W zP6@AvmCYHUI|lLGk~{5wo!7LwLb!ye7FtR>QrOV{W~Qpx(+Q6b#m;FE5#%i4-nm7* zIIAPC?tg(0W^O{70-ISa3O=;-KhEHwLPC*kOB=c;pb0T$E_SJ=|vSZ`FaT z)yjRQG{tiy+WpFgp)FklxXXdduSzOTnt5GpZ8`6v>Y;5R5q+Ycdc$OIRHB+FQ?oyh zpiG(weD{pN4nB5CM@?hq@jm#RqkDgQB_0`Yv0idFg*aQa{3Cug-E%)Cz2Vy8;5loV z)#rvX?DfQVw2deDHC(YF8wdXUfae@ctrVqxZZxB-g|oG))pL^uh7^PTSn{ z&;EzY-h0)bi6%l!z}QzzbN08_UqkryJ+wI+D9c?u8rerg6gZ8`*LI30aexR3G{SQC zJ8tlUoJX#V|0CX)tz5m&(^Z9@wyYMg8z?K}NY&=k!_xR7Pd!JsW%$z0go%=0hRseG z#;M+n2m4sR^d$DHjv}P`4r(Mv@K;(f z^jVOkmy`EXJ5hgy%6;eUuvF*34S`(rvG>L>JAY+#E{dYwf!iSt*}a?id14?dJWUYZ zaY555=7E1Isy}r*wW3xtB`7&U_?_h4Z3&18(+<84SHBA*wYZH172%XrS18>E`dTd? zN4;q2^YI>>2e^Bxu1|x8+c3nC@ne>5yR$QsF#f>^#~7mNvf;;3b{Hc0dBz-O2(O0u zx2&6fBcjubhih}38jDPO85jv|te58gRpeckFvvKqttY{%EAIoO6daw=+ouCutDX(> zYISerB6%aPYIl2N4nxwLw4onoJ16iUsS3nrGOb?nDjT|>6XCRpKN!28+%-}4$YR0-mS&6 zwufk#xO{Ka6C?Q3$FZz%Y{HTTRLx|sT`VU4o4A!il?<=dQVO^qxUlDdHAGGgAJO(j zMg+Hd!=kszVL4OGeKc>+sUs6bkQBj)rSI>);g``_7G5D!5s#LY1`(Fj?=H4ir6Z=} z3LH+=Z;JUNw}CKDmLM!Ny!Xj=_GB)!{?xaDO#8c=It{5?;%sz0&L{W5^q{bCW!wKB z3*tX$2-0b_Gx^_3TIDl(2MpUnT_EqS@ly!8Dn7-EJ~6tTQ!^JkwWYzHFyhsRG0qkz!xMCpte@h0^2_bAY$bp5hYd{(d z$%gVe0N&0nZyaFlz(Gz0fmZ`A!GhTpU>mrguT&LPTeYaYWd3esqV}t@5YSkH$xs6? z_l>4(`w;sVZ7pZhyBvF;&4^yrd0*1{fmF2n=S_$bpHi~=0P^K*t&!n!D(e{1+%LK- zW91`~{?ox^)s|PfqpI+KEMDv#zU=L~*qb!=R}p*~rrsrj ztWhXXQUC1X*rJK&y_bUueLqBPewgU#W}Qv@TH4j;xU9533 zdaK-3DMgVRJ>;7XXV2=l;`GK{Moe72K0E2k0V?&K1vnmANcZ&P)0zmNKGn(08z1 zK*LM(&y~hg(W5Px_+KKIxQVw8mideKoqvGB1n1wvW+Yxw)*Jha5fy@4pGJe zfkd2y%u1&B=(cpkTt1@7pR0qkd9kLAMdbs`x0B9g-;me!qF@Wajwz&5r=0hVc$TPa z611OdI|L0Oh*uNFc89+=z z&|YreSQY4iEgFpTm!|+zw3+am?<#*496$onD<<(^SBXSI@Djz1r(oMWwCJ*^!$_=+ zRrD_bRMA!ayL<>J&X99SBUlDW!7ZX|hG9#z^F)l&HQY`V6n}W_4^?-=?|&ejBxseb zZ^2X=(1}ffaXd$#a}=wllr15=w}1>2%`7LS02s(5C|1P(hM}AJAkYG@E_I$uERudv z%xEhC;=S2xNxZ!#L|u&k4P$-IUgitQh11^cW-OyvYE%;^>+b~4XD?FBq5UFn{C~sr z9IS{X879j*8R*J@Ez5Nwxr1)C=eo<(LW2#pqIw094T=@K5 z&GlRTZ?pX`{TwY=v~@ITTzYS`XXWhoLB~2-4~Ubf)`wCjK3G#P`2%*e7-;Qfy0QtK#n<#f#^IrLA6oUzl2T{o`71Tn~#g_wFdvhM|FS>T| zkf{0R2Lo?!wag9X8C|kHwcqIZvuBTgT-<-PXw_OPclBa=L}}@&^}UF%H=T_pa?cx2 zTz5`gOp9M!T+~%q=y+FL2P158ZCrHwX4t#D84nzWh9X*$EJzu6O9I=X@6T>!`xU(v zD;!@+xzR_9@q!4X%}wsP*LC{4G%$jS=>cHets4$1)5V}$iCxJq1aP!&WhgM430VUq zt28_|coi^ZRK}Y7xxUdPjx%;yF`{8rs}=O;xOGcf9+dc1D{wuCqwA>qs6rPE%y0=& zS1zE6@wp9`y1Oj>2Gf21+x#7Y;L6v^8QK?kg%mWAy!x1DG5*(h`Y?z@)&o!c_6wR7 zfrwj?jR2P8Gvxf*cctS}(?OO=FpK;g#wl-AQttUKdv$VQx_M3URM@me6MTL_Y-Zq9 zZ7rGs^wCv?Pv9=cxAiVVTCrkFhn8=laLcpTBwDR4h>+Uuahb%NGJUH)JEu{mUtsp2 z7cc@0F#%n!0-j*=4RpEcid*oAp_?(X%?TTHXh0P2Z|VqW)e6e)d;*-cTY>Fc2))yY zInBSoz;JE9P;Teh_^Lt89PqmTP8D*bYBUB+8bv|tR^P&0<*C^lnBgaG(Mhe{4u$dV z+MsnX2fB`X_x2kYV=M@)>1e$1p1vCRPHD_hY7AvGTH6MeN>W>zR|X@qqEEe*0VYg0pcuLgjl!p=VA#@A$R@oma1I4B;{HU87_@VENQ>zNX{Lg-On<> z)9MO8({VtTX+_7Ok^OMb^!^Q%H;w83Bie1OEF>eZ=?%LgjrLX{Qo2o>n)=tEk6thR->} z$c6`nY97pxdwiGO!;xFz2XuM*P%y7I0Gw*<)ZUwLbST{Gld z1yP6vA#GhlS`&QlShq!ngml!10o&4Ot>Eq5+6A&1oFR(T;YQ%rY$D(`$jr$k9M)DO zkY?PiyC7dAZu=Tb?vt3FN~l)i9kPl7P&FiGT{GCV>NqnjbE6aHvYs5)oTA>=UX@L1 zPUk79$qi@X1O32ui;+#{hRStyOiwT-8 z&%TG9&9co)2mTGJZryUBno3Jdd?J)KT6X^GB0Cp^l1n`1CsRX(ilT@kgC|u2YqF z3N%F1&JrknF8lh%7>-}FIk%iH6bj#5-PiMR|(f-6Z^8Ea!J zhK90Xz1Qod-q#PY0$4=^`*%E22DiSc1Wt}^YC^cy$3-a$yj(+E{tT`Kj*##ne^-xm zL4F?Tm5ypPcba+mv#Xe-PByD;c55VD5`#wy7Hb+I7NA5wK@ge+FcwrY4o-vw%Js0w zaO#hVOF@M_p3d@*UWTq%vwB}u#00eHcuoF_=?vjH&m?WkjZcKiOsX$~2f2TX#aSl3 z;4*~aSAmCkiO4qpcCE&fAT~`&a%e9G^lF42LlC*JDj(Ikw97@%_S|<&oej zwwSejXEBxn4zebmCpa>gFg3nhJ zf={rOB3A#ILNqb?`u-(}&Rg5dctT=Wet@!GT15z}cLjeVkDxPVDxGj{aN^~OY`9p% z*zby2O7k7!2&U(K4Eas7_GSO{;qRG%yHfcEEomms(An|R3!-9DHSIY7Q<+BlcX8W2ncMJE-`-HFP``DiPjLBJok;{=jgRlKNaGR#fnFpMss{T;sWqk4neHxyw>J;SnK15|a*M{O}xlUJT<{(vESwEBUqt-DU4Rf-T@Q5#n@C z5bzqXMhXnYwtWF*v&rsVv0v85Nod{?+($9|E`+dzdmY{#Yub?_apF9dqb&_)O-F-k zz<7Nu&}yo_pzXPYZZk?%r@X7DqwVc2U&l;k{bCFznsv%-iBk+mB}Gurmx;f@EQ(`n zw9kzNSgT>t>&@dDL))MJ;YPyja*GZ*t;%E!QGr;1Zn*q(uzU?oU-82!?Md|=5#yTS z`#LfvesGAu#&m?CzfYdizXpamZr5gXJ^Wip89Ko$5@|d}21fbsZH_(C#Y^Dh^Sak( zInUuEVZca;EGPX&G`9VB9HW@|%Zrs0R_*-^r>?lNRlgq(G3OSKXogc7B-|4J!vtsW z6uuoN%*oSEH>IGP?;!b;2y3_Y+Y;R0eH2HYd{d5duiLZRR{~vSYKinM3jdI)>&2yy zm5I?DrmI5U@CZ9Beco@}Ytv#UuZLE+iOm@nWc$mN$t%m@ms)R;+P3UCV#ecpb+5;H za5;vy@A0fzjoh02oxh})*K^e6-(CquOh^Ye{S2hXi~LIw2ZfgxQdyr0-Reqtj5lB; zOs~*k+}bS?<#pcfgIM>;p_%(U+#;i`!j4b&3fh9XbdkEu#UENw9P@Frr_4?LTYbuy z?9)~Z{W?|>N3{^wsNR}XR{&{UywO_(UccXIk)I#+ zJbfXb(Ss1#Cj2BFLO2DUbaZ>@!ch~V5Q_TKsdcF4FO)BkTzDHG4sp8U*9v%Va!~n9 z(z`E3&8N7sj;p3ulX#mYSC7v~aks;G?NMO+8fzY$j=?RgNDJ1f2g$yzO9%;bY|USd z1V%ka%-*N(6qLroM;S6;9-Z)$4!qd;jawcfy_MfK!MAO(V>%6kTWaV(?s!!P)Cx32 z?C4WHSSDcVp)TH3MIDtarU)~OT8A^uX8ai63>zLTK*szqj68fxVAvOFV+>itzhGNw zp1*COIN4Q(AztpDJPIev*ej2n=H;ZyU0DcDN0TFyG^gxjEc!D`C`701?XoStCN7Gn z*(PC=W5NK$xwhKzC=P$;hr;F+^fqGEKv#0b>IYn;@OgCtoeuYGERK%&Q)MU5Dd{z3 zwn@4NPtUSH#C)QBs`({R&rXt@6OO2{W|?u0@Te(CMY=kpTOqDC>zPVbB0c}`Ka7xM zj;TsjGXr*%hqeSuH}DXWzKea7TdU-XraOgYb#3m-xb-B8`kSOE0DG(~mxY_~8`DyL z#Im|O&~1j(y3|;E;qLkNe};p)_gZV8I;!D@(D{1c*W>|~ce`XXJ-~Z0GRj_&

Nl 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 diff --git a/UITests/Screenshots/images/call_numpad_view.png b/UITests/Screenshots/images/call_numpad_view.png deleted file mode 100644 index ab18aa18eab799b6fa62eaa9f9129a2f3732e075..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140286 zcmeFZg;$i@_dgE9Af*EgAPQ2_EfOLjgLF!FNl2HJfW&}^baxHiDcvX_-5pZWCDQ$U zxc76>`&;Y%5B%13Eu7(*^E~IA9k0FjYoEbSPFCz5CJ`nQ64E^habX1{B(Mq+5;_q& z2)IHKiws;qLbg*7dx=!k_h=pXMc7D9;*E?95(Dra9SPaj6bXDY1o$BWevpt*5XeX< zz$^02H3aCNPr)h(lz-l%|25LUVy6`t_sCTEl@joJGav8|d=L1K?(bLNJu($fNUU5A z5)uqaLRe7g9r9L^ZwkK1+4XM7xf`qVcV`B1h3H4m%DTUVe+_r+L{MRb3*)k(1=9H^ zCr>KQ%d%cjH1%(ZPaYf`9QD{cs5&$_Z%etl)aK{S9r9@(#^t$eJY$c!%X9L~V9$R& z;7%6vmWQF>T%^H z?jC0Jh(XAakkMgCARJF5FuB}w(8h;+#v({f?ea$AEBirnw?mgEZIX8mOQUhBG2aDK zQy*Wphv|=U_K%!4VE1odZEj^AHlfu;`{&L(=GieAJ0ih>=lt_XPjB#uLkf;a)4}R! zzUr|~()(W zeccrX!|Tdc6?!AToNinGh^8`1dl+J7>kt0DcqBL!BPXJ`=*k|>DfoO+r{1N*9}x*o7zDq?xrOUN}X30LX|)~4B%WS91lEQgE7cy zlnAp)j{PN?f3^gp2kU#kR6v7bh2L$vi>V$1i{H;0!1yv0BUHcVW`cg;B;}7 ziCDszY_MeFX;xvF^^yC}sW@`DLqke|LcBH(gB4K`K#v5Ag9>2)0_6Mcu*?*fM68J3@d1{z}=Lbis z(1U(&?c>%wMR-B#nz5!L=tx81hXOrFAO5gzB(VQu#2PxA#N)6b zg}~}9=%)haMHI?N6+xz980`i2Jf~h3*AB&VxlVN1wpqFM41og=UNg0U;)228IbA-6Jv6KaF0F54kg9 zB9T)f_F&z{6iW9RQ;Se>UNT`zt)4%O@=uM-(EijLABx44Oo7DEz$Z{UF3++){JCoM zMA)KzbtD{-1zih6bz@@|!LM$%4EW~zhcG=8z(na^CHgoN1p!o%$I(9%Bb$9c)hEU2 zpi^~~728xZi~a00;py>s_lA>0GB5o`k~PLxirWJ)=r z%bevmVoC#t_K!Q@`sWN{K1ca&C831KE+rA+J&o#SUSP>jUUGgEHx-HJ#AUxUsp_>s`>8w_b- z*j&8%Yf(Wcg5g|2b_{VE_f7WKVt-7Q4{a1c07X%mFRKhbBNVM{I! zqRsMJgyw+qJ!jaGavtf+<=A=Cpx)Z9+|7RX^CsKji1s9f-7r`qnwQL~ zj*dE|M$6-aF^k1YR4+5`{&5o#a1-i?xPctlk0jj-xaB+Q%b!X-&$_5SdSlw4l-&fb zzh%vWgFw@iX3jtpIZ*}y@sEj1@5dIB&+gE3K~%O!ttJot8Hkg^0X($rQ;G{q8c75f zly^^_JmgJ_vM3KNda7idTbSr8o!>j92X-1z92{9=(-a7jNtz=ZmcZ^+S9vc;+gti& zOi@+XrCEZ)2Kn~ko&c<_wL~kZhqJT6DLWO((9c9bHDp*tE<(OR>9D38a+*isYbwdc0UmXA0oUY5Ae!9-tO%=U`Gj*JxAgGL7;U5w~&!|u%sIL zNJV*rg~bf@rYV=6!uGz44Kbet-fy36<^r}^iD4{p-BOgvMxcZpq#XeZS}2)SN5?NX z92q5HpbN0IyLY>C8-FBzHL*NO)8}%FYHEsZon{{eo;3_)IB<6oE|Htr!tcf$_Ct-j+%{oESge zFoD(kBWvI+$WI*&ARoTqQftSJ<6(nt_5K#{gfV+vhk0@AN_mjP)dda3eJ_-B81-6; zGe6)((wY+jc6Z|DM4gJ|PV)M5- zblnEyBai0f{;=j>)N+Q{l_giks}G~TdquxZr;V?P&K3z{;=RnAmTR=eRQL_$qvUdG*p+rN3hyzOkMxMWzvLcY5j)Ho zK-U(YX9j@?Dm)9gez6NJ8c)h84Xst@yQlbaDa z|J5$w0j|Eh9H&ksAL>7vjiQiK!X8_4_(grBM{TLEFZPR85ES(Qx6TtI(q#n*92u5r zPqT{NzhQnD89O*IL5aojb$eXGs#b)|K|yyNq&=476Nv~PjjHsiz*1yj-2bvD_}daz z!I*0;Q#-GxWSd$^Eey1_;=wK^eZOL##A^&?!BFp#Z@`V2YK?!2EsA~Rjqm4T-ha`rMM_rf<&MsN#bxtjPV=o;S9KR05k-?pr?sZ za4G5Hpn+3)xa09=hGb4;ZX>s1Tz-DcW0JnipY%#wv8>e8q3dPoXUlv96b(;`4g0Cj ztrtR|C9~elqH*}qQtJE@q76$Qz-0oS@A^+dl)4J28Gm8v$zc^Cz(I|9A*hpFS!H+d zNZy~zQT@hXKIC(LwU8w;j!lf1A#VqH5Wy4A9RByUkHd(;T( z6Gq*1R;3~FBuM$7K;s}WL%S|S&UTWRbYwEDfQG8z=96_s-1 z=#=qz=yWy6JP5PvQc~Bfs8KL1H)kd9`W?#rY4z&R%qy_ftrpvk^^ziBm8j*0681Kt zWmMYNBga?@InOBLdf>9(XRou@5gE{sE@tAdGHemdI--Qv{uE-jdz!~bp5~uW^C)&9 z!`f-#p@myune>V#xH(}a(qzjNTub0TsW{}rG|&UT>Vkjh73S&GL|SLWvzJw$PKKz~ z2Rd$`3cvnsOnYE`{)wrO`PuxKyVmQPP5H*N!9L!^ZFLkt&$6$gSjL!p??jgKhDr#Y=j1(5xmT|DQ2Rpj99GjJK=~#_r+75hS2TDg^o`*{Wg!?3Nhp2ow0fY zMHtG^HlxA*7;Ay`WxDrCKrR-hzwoQ$M_JAsGCIU#B(OQMMl2|mGIO`wai#8pOT!rd zaX*|K9Jm^`ia>x<@g$ea+DPi>egXF@pRcP$r0+Mnf@zb7I^(21mN{w7)+?N?mM(wY zM;q(k)=enRVSG#8L4kpfH&8QPYv0jRM=^z8#AEw1zDT}=n_baLVG^$n!PRdm|4S{j zjGe6vYl0?6{NZ+=^^-{OtuNtABTCWoDG&>TZcE=-#IIwUP>hqO-A|-j8M6>bxe8Zvb^TbZ>`L$PzFZ3Lx9m-@u zRr)}Rn(+6AiQuiI1@0%&dJm>*p8@F^`yxl^&}YZ#SDOyR}pWHyZOoQHZ~BzB5{BilaaXz2a|r-9K2AJQ}3ES?OBYcA%#n2D3Ei za!(H<^E>+yhT1?<1oF=#r_KZ$7zN}p5zrhJ28Fb73)K8hA)jDm9L!~S)w+nO>~eFv zU%X7m%nL~|(GI<%_I3mt)4bqBbIOZ4Q}3{tRGVjli7&QBHRR{ouZ83aUXDcS3WLa3 zm$2arN0R5+6LS?5h>ORM>5f4bofsIA+#gNWRvq+cYI@c95JW-L`RWPs_l8ePA2YU= z$z^rbCYR}dYiq37D~%0n1@%NS-NK5eIhba{q z-Ol+CMFyLTUyz`{JyS`pD{7b!o9-$>pOizAo8YQ>z59~*+Z*)<9SjJx%@1HRu8*+_ z)Rym!#un(T4!_y~sWc}_(3Xx_L3V_9#wV8ph4V?O)rl7k>i2f!%i~048#~2n|Q?|GnrFoDZO=70#{1uSA%id-}y0{e4zRWQs;!ihF*I3DtQ@R<;hGnPT?w<8jvZk!^z1ykH+?n=} z00!!d^ZLcdcP(eLL95(8{d_Mkn=7A3vBGIcgaUC*&(m|)X`pmfYUqc7kHTQ6fmBnK z@!oNId_ z<|VVg__1`hcKTM`5ts`@BS9&r#C!$!IGBi$0^ z?Y5h+^R0ei$Y70d*haT$vvAq#cjw5th;|1-B8$NR$>aEKPE$6gUmb(JMQpRF zpGClUichWmuPZm#PQM!CEs|~VA4<=CWb1sc9hWTPJ2$n{63q%PlTP2l(Z6*3e4p-h zRA0TW>iUD>^`D5!#WkI!9QDyz0xkVY*3bdF%*%vw@9{0ru$!f$;AOq!(7R0Gco6$ti>X3=j&_gXPoZAVOdJNb ztbCe-(Jm$Xi-N2zkM&4GVI*|3(Vp?K<9>=GY3I>I2`1+-Ofighe_Hc|nvxKg9B=VbYo(kg0j z%0d6M$h8u*e6lWMr(z<~*<$fYwuaOYw0^$q)Y$J1ycNu*`AN-ORH0|h!vxnZ!&VZ- z?I&nFl(}O~Eh-nAk!a;p-uJ{oaSq&1gWKJtl#%0W-%$CpA-Eus;!8}`8fRgjCK#k8 zqgKzOlmW|(`ol6kEkPub|9ltNv8%H9M4bKI!ivBSOYl&00a4_)PJZ}U{G;`;E?ay+w88+zjR~=%>(aM*dv&TRFON0?1#`x-i-e+;TX&)APQC7 zrNsQ5bOHbv09LS;nG(e`e$4ZwZ2}hh!VEX~O{=MP=omz#&XN9G)_D9|8Rj{^Pc~S0 z#)^n$v+rpVuQt(dqGYq0+lxo+Ne&9&`D|6HMj=Zed{-HUPCZKl{c=tA;N%PL0RL^! z{jtZ0nFJ`ck`3*S-!!Owo`;sn)|MveQI^_=!j3L{Bmc<)(L-T6P;s})c%pTZ!9eap ztnisP{#4b5lFWJj3Js0aaH^`C(8(~u<;@(QAtxdsE zz3&0bVAcdx5WE^dm>$BU>;vluW2F~uf`%+!q0%q6Qo|&l@PH%Vs^^D9?72+KqoTau z+w1rTDLzOe8a_?*x>zX)Y7hch3{j}5Rw$*sQb=T>2yX#iyXfjTWCavvxFOx)jD$>}Sjrh{+Rut{5fCLN% zqt`0P>qo6d;?c?DRK&le{EdG*#VPcOc0oO4M0+IiGl0_>UPRx#GQ27U+(iZR%{RS> zR6dJ!>$&6&MhqIv7RmU!jBQUiZA=1)Id;9}{A*}FnjiIBQ*iVXmqhDA5k)L1ke{i= z2jjCZS9EKxA+Gp>g1i@WUlJ;LIBAR^_BVATb+~@;+1Sj``z$R8-uE5m3w{jI{6vG> zbOi}6i=JU$J9U+JbbekI^>zA)5na%NC-H@uy~$&RBZziHxX-#BjZXSip72O>mTj+x zIlhL1uxm>FNYm?>_D}JbWht=*4G~Er@@EY#5{NT@a!OMU&tZ!rjRqbgM*r_w#-3Gl`+LQIo5x4xso0N?8W+ z)co_YY>_V6Fqi@-(exl@ie>MjF4=S5YUfun*Hpz8O{=R8QegegH^pHp#dqaE4zH5N z8IcX7sg@QWJcyCZfggfPMkchSEq2FfJ-n73@ zAxYj6B;%W(i}3OP5p57zIW-X$&iRp>4YlaerK0P1=L^B#Y~v3h@-fB!wXjmC5vvW$13ku#l>injRm0OEC-dC_EG(vf7w?!i9TX zTTZqqV`_kQw8fx>LDfo>!-nNx$i|~mUD+z%rskIMeq>vcDtfCGM-c;$PUiXcLmc{B zauq&+9?KHlfFcp&d}*EuWL@@axr}TS8L0__LfI88YlB8#2cNbA5g-#YWuWSH45*8` z$Ai~Z*|yZTa!2_|E%f->FIvFSqQA&18Ww+=_0V>3A--tm^*uCt6L=4c3R;Bw2y?A` z6(g>JhoqMJ51zIn5_+Tm&(8IRtX{Ja=2++66d_W9!Q}Gg+XJRSs4~J`S4K$R>;;vP zW?3$WKReceENKI;6YFYMTZhe^NQW+}xXv1C_~tYGCO+o_VX%={N~Vi#&ny0g&Y8LW zhbbGm5+@MpB zndi&i2k}WL7v83qW2_OMJO+o`p8r*lfx$Nxs*MyBW0vBnN{`L~QRBl90QV=MCOW(Z zM9!ut5y2boH_WtW?)1Qi`x>bYZlrN@n(SeI0wincvSxh=EKkPXK+N`v39Hy64gDjR zTJZHLZc7AY^dDldr2I#9W)W1JxRkOBQ{^Vvw(Mjw*3)~f>Ui{Z-wBhZKT8S;Y23s> z-(>$?4+fEp6YKmcGBuuhQ=Q!niMJ`5^AX<@Vn#`spljnUqk)`3)3MCnfyt)puqwtd zzfS9>EUh9-bxs75$H_w2E$Ao0QlTdLlG8Jd6&2cwA%HiJsfD(NTyazmf41_?kRLiD zyZ0!Ggmkvb#HQgO#HD80QBm=2)s(jgXqHlmqn_RJbrVO=)-od=nooRZ>eNilGUr}; z2Uz}`=kI`@D*~acB$qOK4K2UF#%7voB!u^t zuIN*SGsk@T4cj@~#`1w*oP$yj@^iM8^48*!rNENwEoR!GX?o^NCQPQ<11;>TW4mKJ|BFX((p=0azubP zg`2n9sNY~VKZ_+tM*StIO=-YdKjm;R?=sVA?zGYlq>>-f`j3J<0rTY9O|6J|DbsKe zT=3mpZV;C!Q`X`faV92{ID935nIjkA!QXWM#WWU%;b;!gq3j?urzFQ~dopg^p|$?2g~rFB@Ic#+KL@1@@alGG^)__ zZum}|)ElPuI+T3I&O|px`6subNiPbvhl`umAa`%Y{xG=U(QLM*2dTjEOQn6`5Kd_h z$E|utw2cjQlG%bG6bwUWde>8EPC;j+JbT_xHY|8SNp7Ba}3tVPt8j|w-WQ2fyCE^_dtK2;AP5=i6%+_YuJM!HxAkuRe+*zFQr{Z z-r>!$U-selROvVKu(JMdltyIS`!ju%#?&dK+AE74uYR!AVU>`nQpq7x`VEoV)%qq} z_Udp^X6?(0D-{1iRpnNI) zk^~CxkN}#j?#>)HO^~5WhT_U`pIVvz;gNT3rmbkA)ui(et^TQP|6sY;lFnH9*ZgX} zRH55ptvTTElQ5Myo?_Kss*hBjeJ9uRK!3iN?>1Z@qpNMVyprW3q~zaFbb&Aa2=9-K@z z!To*ov&+Usqsc3UXMO7=>NO52W2l^W#ADS6?fY6D+WyVZzNN^2dZvS6-_KG5RH*g= zcYHGJ0`G}X%Sn^OnfJhH2Kg%w#@VRvU3FabRITVO8h&xM6ZA#%!7%yma_inmplFwp zvo@`SQ#wyL*O5f*HCO4C*kfZLe)%;O=6`)&<+1&<@{$P4tlmvuH1V;~u0Mp#VFGpg z=h5T8sQLV-JR%@d8_|g24WVaA;^aX;FBmeTivuNdA(m;G(^z-|^}lYJ8zivBfgZJ9 zd8OF!=n-EW&b0;#ud6H{f3;Cak;FPR1Fl~VP@1%d&<3JPpjryN&vKfD6k^4nz`vh$ zT|}mB5s1v_!ZR=X9acVxQ-G7|44o7|DM*q*D{nBb=9S z4HFst6ReSc!cS)zv)5)gEvY^9j&J{qCV+zQhdirujf%eHIJ%Q=%mK@Ioi?Q=2M`xQ z5PGa!@*q@^U52abdC~$qXvfFEqH+B+aJY}@+MA~_9koDtG18kKvqm?0w^^~l=;*dlVAOqMd&K4cB%CP4g zolTmqQc+ytxIaRdli^ivZnnPZh51*T#Zc(9%ftW&$k-?hR2&_?9d8fb$ts;RXTvbW z4}Lz-@roY{Rdt}Fzj&2!7Eiqo|LcZe3n*Td^cH_TVM#C+eznVtqFi%-kHVI?c2vIj z8&0eSpdT}Z{5Cz}57{%lRt^f)D=uL&sQeC@Y|=Ap6opt*xesh3AdH;dX%YKv$9me4 zu;*QCCPsi0;xeqj(!`PH@Chkg0)mODBe<2O|1etf$a&&iq)=9UR%R09#P{#*4A zKuG{aXRUOx374rOxGuD z%QAb=HKWihNDuVMsY97eCBMI9XMp1$6&Ae)%q&S>?nAp-uq5IDG4WI@)088sRUr&2 zULAOD`}YZjzw|DL2|scvspu5$Rx!IC&f4@y=H@LoDsGjqxK3$rG(UTID7$)C9ECZg zCbuYD2UI7@fnos)fsbkD9-CchvIrD2;s&9biYA6z zKC)8SnT8~dy%EL>E1P~~)ivQZYV`NKPj_VR;1LgsjRpg3cY@}b)Lj%2F_XJX(b^z- zF>Q+@LIpE_&f}jmkE2ndo_enRn)WTb^)q-GI>3^Qo{@=EkNqeY6?}Y?eHppszmC&7 zc-7!rkg}d>voVOP?=MBBd>7SVpq3mp%X~|I^<5T_x(!3cKTdzw)7PJ+k|fv8#jz2s znn{8j=UbUdfJX1I?P49`6p`e2hUR8 z?9bs}%j{v-nr(V4Qq)1~>Ly?1iRC@81)2b*g7&dX>-~HZ*#9Q6_W9qOLOzOEYeqMgjDhzxb&{7I(R?R)HkdDS`;9V4L$w9;?oIf(C7w?=AF}l zXxL)f@Io3?Je=k}ZrzdXspP}Z&P-B5+11`O#2II8!I6^_?c+`gJ1JT;Y6u`9**_)p z0)9YR;1V+RA=`NS=*?d7@e5~DoBd?2C0%0(LzceD!=a8oAqBx813?ABaN|Sq$-x~f zTDS4DhRkC<{!rM{J$vFVwR`kX@vq!OnQUjm8X{fU$rjR}hp+MYKTWo_lIAj|G0?f# zUUCy+DAgWTUmvCZKI?^G0`eDNp5C8c4hC^n4ma7>Po9zW zdJxZ)WoLQZ|51NMJH-}EDiv-js%5D?uon;%F3lh=(rd0AO3ANgO%=L=#Wf{Y{>zK! zzW-ZVIhTWt)STPr0$VF3EolAtQ49atWjxFdW7DHgd)DEge)LeFm#2qeBJq2eOJKFo zD{Vg!v7BP8p`zUQ`ti=)lbr*-hA`Mutx37hW?0*NXW0dW4^LnI!`#55(S==0fF6~& z_|}U(`z1Xo{;R|0cH3zHu^kdNhxbJtAI-R3=%<5+9^QK;QE!T=`x&2xe^(ZJj245+ zJYZ@dBQoCw&O0_7er?Bg8xPPUJbA344~7I7xwch2;i8x6?3l8%O|}+~uPP327TgJB zMR`c^xG~i%Yt3=1W}9APyGrDBHzdAO9@=IcID8shuFb`1Md+>+;tW?SV;3oW6GUY zJ~SgGvJ#+}%mCuhryV)p&p|L-(?4=s4|_}sgK8DG3z0@y{n>@7`59rz@AGC;G>F)* zj9kG%B>Z!9v>Z8Q*CU@ViQ73U3Ni(w?15fmmA~^7yLCN&o|j9tj zh-ofIZI~ic*q`Ij8+!2O%*K*@IdM_9e?%wp=vctA7=Ea4^L{2mDu#e?&f9Cf8>A&M?kNhHtA{n2jQvHr9OKTCe|s%=>!hTOKM7jEi< zrI}%*aZVvuY|HlbXp96L278z{NoL!~?9yrx#A1SA*kPsS5noOg7`hf8o4k59BT4x| zNr_-W@Ejq2t2HFhLkv3bOrGUA@iz|+i?o}g4K)qeoZnna4sR&OVYN`dV7Y|Z z>}6PfWd>i2xvsJbXjG8bN;DkyiELcU>(?zs2R}mZ*(6r4+qbd!kdcKGoH%;%Ea*C8 zlPn^)n|}gm=B5_9R*}45ci-~5swCmzuQt^hB#}Oy709Uu=c#%oy!miqJI7B)@!M8q z5&5p881a<`zgT`qP0zeavDwbUbg+jpvf0VGMZp_TgYelEcfEmLz|F0+>=WD@dH23g=d~H)mjRaFD6wU{TvKJlX#`A73Jf zgz*9Fb$f>G#$Z5?0S-8)%+kbU=+DFHz+`&l?Gf zj`8RBFObo}!T{STXEZ%9kb!Y)@PJb_p_9WyVSiXEjwcKTOogmmsk@OlbQ{=ic6JAu z3I~dQtLPhhME`^YuohjFsi}V+ZbbsQ{~0b|(f=7P;MM;bF5vP1A?^*9{fD^!A@2XhwEt2CfGPYh zRk+Cn|4SAAOBMdkwf}#RD&XyRI{)*x0RAh~{wvh}F310`VE(UA`;TGx%`g;8@w%?- z?QY0yR_#u@txc2;6SC+uo-O8EHy(aJBz`7vc^;$dc77>fHQTsfoZ^1g?{RhBMCCKNCuf%+5CS%%;P3jJ0SLb?dB|F7qZ`28I=jZS% zf$LR)>zYl-^`KadcjFLh?N*_a`3{0OeFtIq^+%_otBmJZ%jQPppIhRPkfPGRoMB%q=S#I{##xiv%yiaC&gvM)JM! zbltdWSIriUI=@xddC9WIyDWm2ZW9yf2X3CQ=UA#_MdxRwKqP3+@Q!ucU9WGQ;s|TQ z{Rw#bYD&$ozH>77>kzVEQ9P51ien6({;6MpFS=p%8{q&HIRDPiuOXB7xaSy~t{22+ zDCXj+E4a{SmLTPj{WT-OW_f`75o62>8fU4Rpc&w=x80f_lv33h=}GjMODd1BCM${< zQKBM{Zd0UCR+{Dz7q9`flW_<2Y42Oy`}g-c$iE7Py` zmKnKeI0a@H z{agkAPATk6v0;>zUpwSsIOrp@3rP&M-lUjL=q(@Z-ivDZK6)LF50<3$1lMMtYr43} zd6uEuGZW90?)v2y*I#`Nsq)9AGFnbU8!^~;eb`|%NTd4=qvs0HC;C^C@1eYFVI;-) z{;KzZWt4S9u!0MqHx$!L+JVnz>F#&0=F=05OvB55jZ$v59Gsf`qA?yroDYG?vpVumBpR!1UCT{x&R(-?=)O z&pKD@#(NaKnvRYhFptCAr#NkuKHb+@JoyM+?5YwS}67(<_hAMK@%lk&S52i})Ihm}02KSw2 zUu&v!iZr6)ARInTz3+ZJLmD zxs^t^(gN~yZ~DfYdyY9*SK=WYQQdfcMHbP}aQcD~xdmSVURW}zbU1i_0l15A)4{-h7&TV<*i3gG(wWx3khX$J-mgDK-7QA{6rHI8QY2?+I6-Pb4_V zt8n6d=W1t;1^%GXoL&qKPI@e7=UZjtdtbUXLdu88$)@Ydz$evVt+igWA!dx?jr)81 zXaLL}gPPT`7_;=yLXxfk1lMp=v~!~cgS93Ca&_OD`Za&xeLpL){MI@j+<3BKK9fq# z$h@Vm;j0oeg6 zbcU&hD3FyuFS6T+RhA~Xk?PjLo3y~Rb z-v*qT2esxI<&9H2i|Sb&cYTgY{=64Y)7yuUW2Pk7tMe?eKdE^pdEs+Rk-d&>hMu=) zo+v@2Yi5KVJE$DO)x%xPVM-D|$-LSPgsxxGNRdW#!9Vhs3;P>R%yg^`he`!u1j3#l z^e;phcWu##xe^WH^T*(1c1r>D8cSaIpm>Cd^aXQk^d4!!q>aU zVqE(6>yi0xeae1!?2iImIiuVztxCG$ZkkH#MaWpev*QoS>eb%-A?Xesv-*WJ;+uN? zgyJ>SH~ouHG_Z>G_d_5UYPiuyyxRdQ8Rb<+e;3nA^g-GQtt-4AO1=}?RykdL$BC}l z#jYRZWb$>ShS~|Z7aI)Qsn}8VqSSP3IBpTEY4VaNK?3D*E2rolt-Ld}^#yH>Dcr9X z+UfJ*RVy0>g}0HsbwYz$MEzxa9LSenj=!Tl!+b{);X@6|d(rNt;l}!`&ixC?$@Av$ z-1}h#wQkiy?E6-Se1$@|H0JEsfDKzFZ|(!w{#FC&hvww>%&dpsceSnuR)}NE1IQ7Q zh7`i9-&O65f-vbn^5W~~i5RBkQHg5N-UQ|kardLp3WaDJn;VjVPRDZwB%a(6%$a-= zQuGr|B@`vO7kP3=SZ4jtDoXF}$b|x(i2Cyvj2!=lch76(#Ai}%_L+EuW+>{?7a$^< z#tWwlkjYs%BQFqd-bx|a>!j;sKXII2!xs3?a8W4r(FZC=ke}ATHKLEnDk<>&3kfD? z-y*vr!4gFMk^flgyCtRf3&BPUC5tPSt1j*R2|n^h8pKd9YuNcx%uv)k&vKyaWRU8P9!uS>^d{B>JXF$s zwGtc_z)OV?DI#QTlAGF$4wQO~kfh~!nYKF*p^h_*o6H-+3!?ZLQ4TR8GIDkv<^k`V zwDG+FM5got?)^dZD@3X z*!l|<*2uY`ZMIpteYMzK-2Hwq+{qcNbodl$H*ib`Zoc!AU`H+)xcze;snaJO!a||k zBel0H_IS+#w7bnX#(rILvxiyJD@@#JO6 z^#ps-T;nS5ObflHJ>tnzjEAB1x8Y)DGquGmm)gLZ5&kP2OZK$P!@&?mr5cH|n4`YLE& z0@Gqrm)M)k`jUAl90f#P%u!f1!GIjou+{$gtfo$X9D_^0kt+>8ibHBek^+8XDH2 z#P@XT$X{|(u0Z`XUX#2~$W^vgyAVjY322ct3KKT8J@$Sn>(13h)~SJ>Mr}-bZ28&v z>RWa#&DfxYFovY9%8-MdK5^cEUk>!?KY$rNHOChkOszcMjiFdqj_{NgxnruGJ~05xuCOGa$OuI>Wh zo>9e*k95X&A7<$LIwlBu#GT!9LF@Bvhh3?~1-z8tmq9l^?ev zY4YJ!8hcyF7YkgBm~H2)4IgXqZ&TtK#H@mlI$NRo`-2%?A}KY?@x1?Foa~W1#A-;| zhlv~~E+7L%e+xz0p5e})!xc5=K86c0~X}C zpulW>*0}|l>aVkyE7yfMIW=Fix@u4gg&4V-D?Y-gHGTa#9d`sE(2iOpn>logn4dG5 zj4Kswz#kTPOukfVnSz=f!dq^Lr1gl}lULZ(<`Fl1qeiGD2zQbK@DN9ggMz7!6@_{?Z zaiP=z9IMZy-b0y>rbC{gkn~<^#!%`c@wX1?zy)+wCa!lh)Pnt@_TdR{{I}guPigUw zO7NJ&Eu(57-^%9g>-?IpWs*SnL|K_(gLjof2u$YRzXwx=iXhLY3;xhtAvsT8J0TDQ z;hd!0rPu9dqUM}IR_wb;8?Z#7xp&}Z)k5?#(6}3KzmHM>vx|82UFR?SWoRgc^1P87 zffL<$U|x9L-CWR3pe1l+I(?ou$fMMp?)G~UwG{&MDkxUnkM>lC$?i}?+2=&YdlL8N zAPk*-r!ruePk7P)vO@f1;O{aNB+Fk zdLmKuC_8d-c|QbsXy@yA%SX&t7aw7e!!0m8A2D_gXMA_Q{@SN&$&&pu<@#c^o3*Ll zcB$R>-u2aCv4@PtTkZW>r#X5b*2a^?{Nl#51z)nr`3xtc`uU^n>ACm&K?-96Br~-R zn@!i3*6psd_0lUpaw$gwF8dC#XTh2_xmTCF9&^=FbA^3|8#+r74tGy85!`ykOOIT7*r?pd#%VwyR$YIR&YKjNTQj`1TnWlBa z;l+M`$_ux%wZU{>AZ7k++~1ePTV*v{Yt$WWIbFFuRk1nW;(d116~$=Xba^C3=0-I> zK>Yn!)rBW5y792V;pbFL0}CGz=?r~t+?KiFOMTr5Fhirw!k5Li05Zw5>=#;}X%%8* zFYDQj`*NI#A3Tu547ks%QE4&x^XJc<*}BmVx68wE%PLDV!eZ?@#~&SG4x3|#M@I}s zmz(SB>UECW3txS8JuV$E3g4jGUDpS84Odw%&r-C#8<~zs4%2H9n0Ug$ zL6wlg>$GDK!p~*U9wc*aSvi$iv)zA&d)C;mhwHStoEEE<>R(-)4rjl*?$*8fRX2CJb8U2f>??5b zdSfK_ZP4N7I2o^_^b~z}zok3ethoHD);l{$gVR3uE`6j^i{oLdF*uxAmO3!DzC`>Hip8q^@D(tb8 zg`9%|zjQ?sYr}zp{^X1RefmZ#jZ}Tr)Xsp(bE1vGVx(6uPBT6;Gf#E4-q5 z*MDIgq;zPIlI|{nK|;Dq1Zkv0>Fxn>Xi&PlOX*Gt>23t+?#{dMd(OG%-rt{a?_w?1 zV%YQUH=g`_p8aeNt4ZdjZgKhTO*gT02t_#$nd2SF>yh zTSSpXG-P{A7!%Q~{AZFveJXK}L3^O@`0eP|x2G2uR*Dv}=alL_y`HBvPKP5QOm9u8 zmG436oLwX5{-Gad-X#zexnU}_k5KQD3OL_xDf!4+gl+2s?V!|GHoK;KBEFcM?p*pI zq2sga@R<#gJRkY_ZGt2ygn&(vQLWNh6ldFzO1M`}7z&8r*mu?9eoIas66zq6)WNtX z3F>pEnv-Egyc)x#iG=d{`uhE$pFD3*(jJ)Ms%d4K93XzSF~+{axxt!mC1ROP76WsQ zZYLk7eGC&56$;NOSKaJ{sv)0luz1%+A6;EKLJ+X{Wq?(WBS*c>7EC&wDv};^u(b%e#z+5(TBwBLx+1Urs<95lt%e%DsW_2wI=oZ58# zS{aplM=ey&8hg)Cl5Q`P@F(|Y)k_USW~d&u%BqGhI3d>Mx8vS|Y@JvpLt>Q2#Xiqd z%~qHspV&+EZx&Y@kO@oD&^5Z3^yY66^)LrS(Km24IexIm2yYqfETufC7q4@z+T`gP{V#gd!N{GJEU_c;@emy-sft68D)$ks~%($b~ z(uSB1*x7Eoj0XtoRE<171grgda-fAA@w%o^LISkLj8JGvKa*w!Ajg)C#t(qvTbMl! z$mCRz1D+5BkCxI}w)X34{V1$OBK%{%otRKV+nMRx{sTrOF|XS5*?oDNb9?F{)apY_ zc;>St7%fkSHw)S~m`P37XjyTnfN|yAMyki)3(q?dQlYc+@u9c42K>>>hG|eI*%16n ztl-ewFy7z82l!}@HIeL@+wy+Jm|C(?$M+&cO%Z^$cukM6; zo<%sJX5;tK)91vNYbsN5#QX`OOJx^^@4!W#%Ov!T|9Puz9!zI9F*@Wu%kWMBX(FUh zYIv3+;;Emp!ONyvCLlA~E+>)h>M70EHXTf6ARbGP1Xug@$lY4?=3KiGdYIPBKP}sP ztMB?JK&Hd8Kx#8CbV!tQg{M|bQaMM5b|EupV791aA4F6-o>ZMM{!3M~=_;lN@Y`jz zR0CRM{OOsyt~G;PeJe`tVfy<^Dq`vrnUpYle1vyA(Yr%uBMK26+y!={Huj0crj=5< zbU*Kz_A;K6konx&-F+v$DZEz!n#AzkE$Kew@9@Zu74{FaM-y(01gCF4gVLCY+E|22 zw=gKqzWT`;`Fd=2#{H<$tI*pdRCj4titxR&74uy$u~35;@vHRv1W9}D`}G+E8S{O;f4>!0!XY+X zoD`M?ZSj5_*emrJC$S#5vWT^*IH4>EPm$5@5L%bL%e7t?HGfrSoOH#w0^^Q|eKCQf z;h{-Z-Ro*o7l#_s-#?1Zv1t5m(16Z-&5F9vaUe$SNI`-Sm5bHySwEG_VU1JIRH}oF z!t+?#&V;9w&gnTBiErZMBwx}jtL#MDXp33y0RY1q1Hx>PKjQ+AbL&)q2$9j(?_V2( zc&L9wXr)mlsOfvBu)?xA`q@KFVNC8$#Lt6F5feb>nqOt!2v;VZXbH?o3TrC_nC2vj z;~vjZ@884v`_aperbtODVfARiPvdwei=Ko9^lFkYJ0nT}ScmVfDSjeDA;YAK6nl4~ z5Y)nvgqN(aL-lGIqR0IqhK(ACq@w9yCqu6Mm!(M05~odxB21CB(nuFvS#?1LcAQ)0 zeECgj!aV--)W@4y5sB3lL@shCNBvi^kik?zD^vWvxtg*ZkG`h&rt6(WGjCn!YwX7y zra=5FSU;Y4O?25HZq2wIvFtBN@XXL>KhrDQkEa?JW-K?n%YzbM)hFk&0sq2LzY?W{ z9pfUz@W#oI9qwIt&3+ZxgHO(xC%I*TvFET;lDW*nyJRx2r9O!OcBYafO3M);FQ-dP zOokRK0OQq#q<~*=naN;{WBM81dK(Yr_-NCb9y3?cIIeE(Qp$xeGlANfy+&E-Oc`Eq z^YFHPgXQ7ZggS%0sMxl$$u@$y;lja9TIAfO;Wv&~`D_tmZv0*rq_k%Qtn|K*C|EQx ztklGR@nHo%sQ)1#ha8r1lyI8gkVr%qb~++O#sgW&mP-eM?Dk4YG~HoWkJ#>UO0uZH zSpOvLO4goajn7sN%{fnkpg@BHA1k?wSdSn5@?Gk!H$S47>tivz9>mgbCZ@SCI$sZe zerI$$;@=rU0OvoEGNm=z`KgXxJJm4Rmil}n={Ss-m-`L*Hp=?t*_8eeFB_ZcNv0Eh z>q-wLI#Bg)4I)S1x76oqw1X3rNxzkLipN#!=6(@|jJ8{}Ky2tQyngP8dI}^234utn z(~1O1#1&+XSL;c+YQZ6&tQ+0W3i(^yPE3KR`fpZyIv#E|^g>f5ogTGsP+^7VMzRDT>(N<(S z^m%WRT5zw{u({Wj{K~A|lBvAVWv;Min#4!pW)ngfmN(zWeL}}U@8|idzZ0VnGM}N7 z#LVF$fxNf3$1@;)Dx&=??)`V{3g`b!f}R%GW0Z@4E$(vCip?tE`2@*#^9l;V zbT9kUo0)96qA{AtSQ_)OYxmx7Oj6+_7EX)URi7AxWd2;A?W_~>u$wer@8~~VFNd($ zNELHSZ)_)DEsN?OtYAt3&) zNo4GKe}txr%kWVGms#QU_}0)`vjE?yw8}Fe{iEjvl{FtZUx)k}u&JUnzdqeM>k`}X z>+0^V3U*Yz%QBMz-m~!IWZq#YA)t_`$bx~j+FID>zOhdCLseFbZILT7gd{&sbH{D6 zM4RBwS#{9K&9r)A4#@9>AFhUE4(zuT(E8aUxwKZSfzWys}Bv}^c*}M4JqJ^ znQ;X3^ky#vbLJNJRsNI~2D)B9W)7b7$`W0Z{SZ=qpOdkn@+lMzQ#x|g=vo5Vo-7g0 zS5iR3d5+spq~+SC3>u92Tenvy3QRbH!{0_!gVo$~_iG>n^Pf+U0Md>Ec1*$Uv9+`( zkQzoE&s!B87L_qXdx2K*%_%Ua>PBJ0KGPppS)B3-mmOqWgxf(_lV zrL|rg;cV=8jAj)^?;VfWv>c25_{ z%^@g@2J!ud;_iAG#{mI)bOeI*8wcf3@@^ zt=c}=KI#|$j!sh%uS7_%T{svwn}dU-y;!rt6ZgdJ>sR1^5X5ST+dC_F=yj7k2Sz`} zhun-2m^W_H=|=VG&!+pywaGS3;pg8C9^+mi@TAR!g;9cz-aartPSxG29J#o}E}4NC zd(ip%VbKc_*bDaucR5?pl-0B4rNH zYwTV!vJ}qOH#b>&2H|$dX4=ST>kz;M3V~Wvh**lK8!$*Oa%Ospk_l-d%cEvBt3PV) z)<6{^$6}pFUsF+0&1Sqa;>$hbL{?>(t)suw*U*To`%NOfO;24zTgOmYGfBljdJ+TS zrcv4nqz*n7Rgr~q)|D4~je5FxydZCmmi@@{_UsDxmddh!{k?T2A6W_Q`-B}6`=~?{ zO#<*V6xT>2apGfj&8zVACp@g(5oAiq0?P7jvO}F~lNrps)QggjL>91<;VI3^*V<)E zAmca@#(4aa!Vvr@$`Q$;??yZc*b;0lxAsME>e0IdESx#(x_A?*%s`HCnH{D$bnXhZ z3SQzA33adKpFxo~p0#4EPuEo_uT4I6g%XA}r*j39&(?a5XG!fe=Cd~VQ-$GnJ{H^w zfe?)9ZTV}LxPWKoo5pyE|0Zp>pQmk=4T(*+vd=+Kx8rP(@TI`RKxH^5zu6tDhzt9f z;h6{%8Mdw%6Iu3liRqr}a;^UgUbM|oWoLUZ9uv0L8!?etEc(^7C!c3cTx_dn(Ecqc zdY)$kp87}od6R|ULgBAndcVDIK82xJ$h}q27~3YDdx#E^OykB;`hZthX&3zOL-*~l zOx0e-jD-4K&u9w=6DU75t7s)nE=in6&&^3q{F9vT<7f{cE6ovyE{gsCxnsH~Sj0CM z$72=X$bVm1^_AhyMv1HwRyp3R4zmBr=!A+x*x>$$h3r*0X9TxjER4 zu+Ub`Vll7U@`=v*h8x{_r7Mhr4UFwM-&T!OAK5JWMX$kGp~Z{_>ZfSw((s6^u;NzD zbJp%c_AB2;gCBEicxzZv+Z}i=1I$u*xKgz<@w5D|5Qw5NzV6~bDTCj-sSLz_`hVb z`R<-7)*&~8vX_qoF-z2R=8)qFw<4tU^ z6KTkmcvbu-k@*1t!LV2e6}}3dErPhw>H%a9z-6+HiDoreYalf4l$zZDJ93PLz)_6o zeS0*yH>_7Koo;WXL%UI&wNUSsr^ENIS2qbA$WOZ@y|>A#(99hjD`hd}&MSKU**18z zyXSu026k9oQxt%eO`Xrg=6^WN;lF5LE9m?M@v%3+ceAWY<&xL>Z)!>+Hdxi4{C$s;A(p)2+~ zOT}qV-?Kle4!Ou!kf6P<3g1_epifF4=uGT6s2n$_xQ-n-o_uJu{UciOJm8?^!P_fI zP7+UAymC+J(P%9?V?TLx%R0AN(%>srxKcHL`{z8@QJ2dhY%kq6Gfc0g%ot7jJ%5Bn}HR=X2hq09PB zzw#*;9Jd>=y)R&4GEM9Un*)U(mW%BFT*lu-2;cLuvkw<*y_*k7HY!zmGu z7EH5{d5tK*1ppTvDvr_~V@Uu6rsnW@i_p9J9~rk~>@LH_^&Uv%8BmKf{D~xhxoW?I zc>)oN{nx&?Y9Htg9S!VDr~=wvBtxsQT*M`~gRqc+W2DSoF*2eu;2=i=x&{~rpX*bL zY6MxjP=V}|g6$e!>-l&A7wgQG%~d(JCbbDsMatX@-t7vRP8ee+)?bT2WMU45Ra-DMX9;#edTa877_Oda5u!Q(+dN zZbNq;T5{Noh9-aO&-~F2&K%9?HUL1Rv&FhcWW3rl0pcp8=!h9|8P{jIe=Kic;qN$YsQ&1J?r!)%$r0s{C!; zT#nJTzBoGQ$nH!<$GrG7;PdiQGO7OwBAm&fdQG`BcR`UNTb>_%n4%ocpEutObIe8P z!%ic}gzxi&?-+jU(B3&5ElXHrqrEoehyZNfG^w8zX>fsKREW2%^l26$m+5??+n5gi zAgr&%zrvfypzW`YA}G+E_W(t>s2gWmKC0Bpbv&$5A%qzMWKSI7v7vte@@4W_%}>Q7 zMOlKaxmfH~!+8p0V%N184eTZhfVDVizOnW-2KLoumO<9=&kMx1zQs9Zt(U_8~-)cD@Jk}kAUq-cd;>A@L_JMreTDF z-5K zS81|cv7G>|LR&f6X8MUPdqEzwRr7^+@tJiC+J!b8Tkvaf7Ql+vq59HKvPbB9t?Yev zad1+ifXNnX0~ws&xvarHdjSVMU)d|mMqq=n&xYlc}wcz`3?p(_tCcIdeDJW@qy}&-GDytigjijUUfg4z!k~)3L3@yVftQ zpxiFfyiYs#ysp;b%m$Mard7t8MF74INF>$WDLv;x5%z~e<;genJ@%@^hZ0|Xngy6Z zOcd}*{C%2<;q+rb^J4@5v3QBQ5NMg(H9PRES9p!q*{NuWW$`Yilfz z&Kg!21>}TAw{)Zi*EO|b(6nBkqRZnTY;%A^O7nR+33i&Oy4hcnrjp=zL}2Gpp4rT+ zT*cB}`%0(NhxtXAd<<`C7IT1`K25I@MAJB1^2eZc9{C%g+`@sz3Y#XcBLs}W?|${I z3WN%iD?KT{LDf4n3nHhLI)@uOOJ8S*LXyes0o$&m2HZUo83@OyTfrYZ1mv?PDtL0Qq9$VLSTUJVk|ZVJJTo zswK}c|En`=vMm5VnDen3m>=g7sQlk=#4L#gqZ;GcRQxn~MBr_}E0Ek~ZlEt#f%nba zBJFv9wvQvMF5Vx4+SB^l9&QWNV-`7$&e3=QCaTCTRh(^1rjzLEbWC~H(7z7=5vhhs zELFaW@T2<{63L!#)H|+8oCp=31D+%LI_4ja<5@T9c31l0(~gdgpasseU)7)H&JTPZ z8gMHLEOTr9D|kHiW_cv2YHk1cy`sB2?qlOQF0il=ezKHa(F z%k#fCULQ((08peRldDC5Qud!U!E=%J(T%>``xQm!^Ki4+N9ujiun1TTlbLdpZ!{j~ zyZm;`KY=VCH-8B*G;#4)K)?h_n9|-JBmC*#*dtw*ajFR(AD;iY=CI8FA889Df;q z{>{Y!#x@*5NgKW!-Vqb~xAVjmPVM>NO^zc9+8{2f8oR9t-B|f4V`bcKm5aYE@>n z+rVSE*n-d#*xVjRD(sLE4SCZBRGgqaE!{QN`pvIMzMnq(286eZRV&ukT49z~_X#+4 zpmiU^{4G!x@#NWO-7*5Qg|>$EVnZa!N2H66z1&3OJhy$3>8nWRREm6GgT~?Zz?)kC zP@q=nyHrnQqXS$-3z=nM>)?P*6=dN;&cZ$F-sl%LoU-frk+kt-F&OW~Ku#{!+ea%WzrnbF_%P#vaZVrZ=yP*tdoZ(5(Vg@?uG0e1ACamR zpFHSUJEu&0NL#$Yv!`H6Dtmks@xgfd4<2E6Z|;RT^!8i}bGEj&l>e+BR|&k`E_L57 zrBig#n9EQsm7|bgR1O;>O59wkf2l>;LN-FdQjwXKh@uQq0hve}bS6HJb(Q&Po9K&M zK-*%v(H8GNCTkvX81FA=1)~nYIqV?W4b}WDCxIIM0dcA6TrFj3x}c&==i~wDO+Yt7 z3sNMS%-2H3q&wu$Ppu@k>JzU`dCeiu_2Qq5P+)i+c|Nnr^uIgmlS5^I(ZkAVTHh|E z!qa#2Hpa3_uDm<8evH77T~f&5%9` z`ny0y@VN__(#Vt1m!&MP<4R{XiW`ay87^{ zkE^95h0ZTI9O{O~_U>!@YFSQQSRnsufnsSy0Do<>Ur!n(;=uq#4f{`#XyE4xYZE%0 zl1Y}$6oD%JuJK|p-oG0yd4HT8?&vm}GzJ!BM?UCCqru4r_m&}iH~xi=n`Loy43Bsz zu;+;-gbY%}E|7%*=QOMk5_i;FOfvrKj3S#_HOAAiyj3L-Qp#j0bc~EmidOkE{Yx%5 z6WklqIyu;M#V0Fi7v~#IjmZ|uUt5$@Clk)U`Xv#zONSZG55@+Eq|nkRmm-P$2>H~p z`8EmvT(`xdB~79|6Gd7uoBGwJC4`fko28v3c$Ay2E5=<~#$H*1_zO9dFCz*GjZn?; zdmD9A91J@Uo8AUw^~&>YI);gPAF8xqqf5gY&QB6%jUL0!4wB%tp-puxlmU`nDx|au zauL*M7sSX;#`=j3k0|1Z6d|)1BZ(JsDAF9+FRiy6QbwBvuA+?c*pcOMhgmtYU#Lbv z@%l@~f*{TX=?bIZ7o_u?dIUK+z#dqr8#sQvz&Sx&963; z*x}1~!>p*;*s7t>cYU3Y12ANgj)I9vb+|vkjdQ__=?J#c!sR$I$ZdOp%=j``#}1|O z{u06FaQb+E(j8x1bxf2Ql5)9@%>-bH`7c0GW`n{$N9A~fcofX!p(G6`{pFtxC!3@BT zB$6iFotl=X`MC4`B9qL4UJYySg^ne;Nsrph?m_aV0h|+`4QZs!+sa8pRF+&eof7rq zT&I;^a0Ewy9668e6g-!ne_gqjah4omUAdg0zwPNKW}T<~6rGr28hBuOSTHjJBR*AY z8JRcd#pzW@fPf~LKGGLg#1b?8IO%N{382n$U%E)X?1CJ=i_@XwK5=-#i7aIN#`kfp z1|amflIDjc6_{dd20C?mP8`Vi&n(HF!!XH9LkLo#@mDdcEe^PS9}N_@AY39s!I8cO zNyrTNa{dyCJVe5&bjT^Gg=Kbz)0+cac{*5NH3>3;bZ%xMWf?+p?LI*8=}kE(4IsJv z!{1mDAD6d`8k)eDwbT05u#q_nUrHpTG)HMF>uQ8}T{&4D|5Z8u0>++#3%)qKox6M( z76jRv#cGnkP6snKBLwQi4-@4L>bah`=ZNaE`ftdJ^p!|pC=3}5x_p1aLHzGt0G2rG zkwvfYg{IT_xj#Tg{={!8*LtrrBaBd(W-on*qAG(VZswss?A<{ibfKMErwzTq(%3&} z6zKtzK)cazwu%XhU-)q|laQVBkCc(MKMgbUwzF;D+?lH_q0FA7e9^#)6#xEUQDr2^C!F3d}1`kp??rWg5JX02%8kddw83t zglepT7}@glJ>N3&SQ5rd!GyF$lk7$mbIqz+{KDh`N-y>-B!?b3F$Yq!VG`5I>0%H3 zUP;HEcTx@{p_>L7b#83ffLn+R0~00Ur|>xlNnP|QC*TbGS!y=96llsTdjx!dBrusb zKQVtZ17c11fk}G&ZsN5h6_mOHX|ON~0r)DCNJ_|d_g2`6u;AQS68yp>bQjf}p(@?m z+?1jsK8WA=(V&t$4Ey0{N_#((b?i~laCi~8xdeY#&xiiF%^s-SYe!G8`Y{u* zhbb)?bWbDHf4w$`G{uYM7A8te{c=u64S2K!dBHlRWFXC@fZ~$lIf$sY=WP2b@XC)c z?{8S?fbA(yX>C+`hxGN_ggBUUTNgcVO>RAjkLer2dgRyA^XY6~iNh1ell&{FL{L{H5hGKc@{LzGBSHriX9&UB;|=4SKOVFvV{=$K zrx^sCCI&LaSa5DyOg=%x;mm5hAwoeA%{kCrH=PKoIO-}kViT6%l(;EYtm^Jt^q)6A z%MDBJ;o~7D>~P$7ydkBPB8?AuFKHrtSVt((krZo`GQ~W-)_X{Rn5a$-VKp7|93!K~ z|6tyOUAINv#sX`2)Eu@uMQKBQYarP-*aRQd61tX&^Np26Ukxjt5yr|Ct4B+=wh>3Z zVWH>#8|chav70W30=kjbvZ*xnW=vZUTuGvZ%c5W|H2&o(_%_75KjY<{!j%pS9KZAF z0*b=ZOtId=WJwos_;CMl%#|vrP6MGfQ(LodrrCL{MBrldaOhNp4S41^mTCtt?*R)1 zI3z|p_YETm6}_d9Pdmxz+YNUQK;cH*BxOYYYT5_T$sBZ0uU4%LzJ7a+VvbsgiQ0&f zmo10jkgxQ0jGx#+TB8W(;tPLv*6`VxA3wFafnq-lkoFEF5yJ{1<(0csaRn1x7jewj&f3}b-86_`A(x^4Yf;Ehisx?k?%<0P zYbE@3k{}T4?pN!8E<@DDS8yqwQabpQ#L|6-RJ_;^OX2xVad<3h~9Kg^s=v@5~}{MJdl*g$Z~E;yr$q;T69hKx!2 zjlsFRA`r0jP_ZfTzl$dW0iMKVuGDK6H;&o5^R=8Sl4ib@JvT|RFl=i5dtA!0A)|A7 z$7kRYK>zNyb$0^A;l@OIW18Y{t%+|dAvAy-0_aOI?F^T@c6a>=0o&ASEk7SEA`DN@ zW0FXw5WAJcaNF6hgB@PDZ8nD(F9s5fa6?-+NUEk%diPfaUSh|O^VwK!{H9Y%>pWc` zQIGL8Kr3ifKVu*a#E zt%~pZ^a~~WgoK^9b(|gsuqIG|=d9OT{6ga?VG?~DaLeGA2M7M^-$@*71snnU%;0gB z6$oK)x2W$;0M2sG`?Z;qoptR6El?7BsIYjJG(pNQC60v&MZ}fdhQ{vOPW^cY)8=%kGDPx)pF#6P1B>8uP}J zymlk^Lp+DT(F?{;@&3q(Wc*0|8Nu69cZ3ds<1|DmkLv7$xRk7FN^Lu~yrzp>Kf}h# zn0c405D1p7<0~k={VaR)U9>U2)J5v0__E4dci3hrjSY zOK4w$>kq&dLA02p-dQg`cvC<>6B3BV^Ux>C*!nwNnOPB;MUe-UbZ<>AP_IiUE z%=eS8%Lv3$!jz2)6Xwj@0(uj;HV(_PK!AI13ucOuy!-RQ1#sEGtrZQrl4+8vo%HIQ zsVem^xlI&w#$2X+DBQNe?C|lgqZtigc4U_+$S(@z7z7&SO(cWq9S0sxN=dEjv5{3ZX2E_IZ=>LH--obCHm6_0NNkQu0##}T({pps{x2_i;Rz# zuIYM=udg%mY_-+mTG5nlSpYYZ!e_7F*qaD>&#;Dn+j%EExoO0@`G!LdedhL5NTgL4 z_~x&a^oFAF)uYD{$!LG{oxaVY*Z%SvEN*a@lv#!5`_I_JMA6$Tdup&G?ID@Nrq|W6 zhlV$4Wc~*0d2IiO)tMs=l%I4Wj)6nLR1^jje{BlNPa5_n6PcTO1rH3;Cg+t&r82#l z*asPERN5ozZ1Jk$1@do7;4l4uw!^f`cDay)sN2|))6@pn>z*Y5A?~_~=qr?HoOEz- z(tYgP6)vz)LQSRDUasy9c%5FxiF_x6y!riv0D0gIU2KwneU;~OATnYU!bqF3C^{I8 z;?ceS-<^GZffl@-tl2%L%KzQ^^*sy)?=qA)nqIg|Yv4r&{{Yk7@1yXj&|r z?u*|LNtyKKzuV6m;Qb>IKnJw{3;}c^jut^=seaeV+y395r(^!L!~ePN@hc)Cz|n!U zc143fKK(!X0Kfa^NdN0~9FIMNl|e|A)9QGODF6Far9g`+(ZA@)|J?{U9gJrF1D&Cq z5chvi4FRP7j}rdV*6Clf15t{g;tm^Xzw@Me_TO!I|NjR6b5{S)Y_N1f>n7@$ln?vf z!Nb)-$_J#G58EH&?E_^--#2)S%=e`glTl*_b#%m2o2 zCj0E4w)2zN?Ebhkn8GxFJ2AJOW-#%$O!9M-PRC<)4&v)-5*3C!Rs}OjPp;FWJOw)L zkyC+8T{FRyXOA8HF-c&fURH(9jx7mN3fE&E(wW2i!aoipT{9g2mYD>{4z=6hxG1C4f4F~n!VmV>v%msr~V9<(Xif|#hmunwzP@@h9Wgv2!9)& z5}1r8&ak>EqsOUq#8$5bL$dFrL{W#cgQhm(-Q)Wuq(xdovF1^vR2~gst0gE}&~&rB zF-HwTgEE>7`rDUK6O%pbDe%g~0wsJ|ku;#0?;Tk0z^wJDb?5vaQ_0?+EICPQuFgH) zA!4Gy5H_G(;yfTpdt8?R5={TV!HBqK*M*1O=mUhsUz@=;FImcC_d11*Qvk(Pveof8 zT0}itD0Pc)3^;~moMAbSO5h>>U5=HgGL|y7=UW97zq@5`AB|fi4kA~&GHC6ykhjp! zuY*`Grr2**>PkZ59<0vdl6ZX@JT74SS#(3GEv{GFXWA|Y!k)LQ77wj`02_P+RHC=s z9`_9iKNMqJ7fL>Q26ocow~m>L8g$#Tq=niW%H+15pd9T5`Mh2CzPTu3;zWWWtDX0C z&SPInQc`XpE@^xY)p<1s*8@Pb<+F1M1rVj_w=(W}47u5z!ePX?lm_cg2w) zsBTI=lT*I6E*%a-%lYZbtGY||mHDsY$Q!ZGU|uu^?go!}G|IT7!F*-zIt>%FdA_k} zr!|O+!1{Nyz~Qk8LxS9e&qN7y3X@2>!$SG_UXcx&nO^GNr^CV31TF&a>f?~GIp;kA z@9SG&spVYAPNfvwkzdBriDsW!>{oyH_d{0n-CSy;RkNEnl$xi#{qsQKUjf5t59f(S5z3|76?Y}GX0vHWxFGV7e&caApTqDl zwuqthiy-4Kyi(fv0mbF>h3%N6g_O$(DARxxp*$wan1Qta9on2YZ@sL(tdfOD$^JXI zX=@?(muXFESjg?y%9k~|fKho(*)&~WZIEy`=2B3914p@Ht7ax<40hu0f8~1K`wc(S zp9UTF0y9vlH53r+ku4j~T#_vu7zd77zi$2Z&R)Zi?k?$zp4Ic}MC^umWH~id<{vbT zxl3cge9$<37d~50vkH|JqQuzZ>F*^c{Q+`>3%~K-c345>Gi42eSpM)JaqZSka9ZxF z?ZvkJMh$2HWs3cg^F_eShx=|_J;LJT?9v9_+6}23!;q&uG}`ztiy6!*6BPwh{Ty&` zhM(KK%w8BM0p4#qpGEqNdHgU@d=!@(OQHLj_h6NDS+;HvPZSOg5LHr3b_Zd82L?R> z21W3rWp{Wpm-{J2Fz%*OMO&dDW)0a2ni!p%i#ogF`#M&fw{Z&#GS*Q)k!h8_(=y}s zXB4k*LICFa_mcW5%CDocW7FcS$Y!FBJ&2rQBILZFT!9=gT0KIK!pTQs^N$_7cvj7$ zT@7s4H#pgEAt{-tmWheQxgX~kFDZr=&t%EEZCuB^$37KJkwKlWuh54E-r$UL^JrpJ zPsdKmT->r#7MZ?r{BFsQ`4nXF==hgVQ(8m$OX^?QUu{2!_r|MzrTZTYN1IJFWM5Fe`bL$zZjd*i49LC&@EoVL`VB$PNrldLuh7$i6WrG+aY2;K zinT0qpFNv?C7meU&_AtY)}3%Vq+e$@ej`dj-fs9*nn3$$&1h=tb9=iLqLB|hn6hMn zkXUh&pVBG5TSE-6WoYj>fj`87JUzt|;42PX%sh62&7-$8K46iYhZhyXz2{G856Z$u z&Pkxb{Njl*-%-NJJi0AP>I6y)b#X{3pJ$9qJLVS(lPr+{F&|p0GRh-{=9CT;E~ z=LkQ)2YaV$*Csod@uTc^L#B>z!q8`-7o=Sz%klmqsBwhMx*tD~?Mbr%V45WWhe;1) zj97qjF*X>L>1kkN!P-%W&lN(do%f&LCZxqZL~wxm-05BIw%jZ&nVs}J&@%G~20`>)m4 zUVr73t6{1XOfD0L7orItBZ|XqLp!Gu67{}f_oRVZHA=$x%L4k;$poCNjp+vUS1>Up z+d_jDk~)A9OE-EH2)4}o=9T6ml3x>>)$yAegWBoi!wcVJPnTWDp)eg{kxHr`U-~@f zg1X|YgVF-GFc@I%!C*b2*3~Yz`k86#8;jNS}YXmy&#NQ`twX={gilc6HIoG?l!!RbmnIFGPha5W2AJ@;Fq%94h2Q2pUQva9I=r zme*H6U3ErW%EZs5ImuR9x1OuIxC*%k?UX&V#yaNP zA5o;VjegAIru0troh_n(7Rdvat8Z%4KqgW&bR0EaFYytGmI2k*+yGPq&y^KKQC=k9 z%N;6>nzn_OVm;EqNH=swt*5V89OSF)aqg%rb7ewMut5^w2*{&M+Rp3gicRIfE>3eH za6i2g>Z&nfWJLXYf!_Lo#os=c`HI~GTRd2pwjXNLX$;ZU2dr(xN_E)0H7o3Pnvmng z6t;B^+5k|@Pq-5Ex2LVw6kn!TQ?KsLmA5!N{>|r(dBE3MJo>sg6!}kD(@uxdd#s6E zqZH(qS|9?!^xq+d^}OF5>b(~ilyQup;TJDH< z;Wt^@!jP6hGb~zLD);rc&ys}kGXN-AIcM%Chd>}moZ=;EzFV7*`R_dW@IUAzcAbf$ zY=SSoXrD@paBn?)giPLJtXn%~wL7kC#`ffVA$lri9~)~})SSP6XE9-QB^tloBC=p?!Xo8V*}R5U zy@qCIx;idXKH8C&-6)>yO>O`OamH^vI2inh;~FP1o!SifQ*__mOI6gkkoH*eZ`BBa zw1`-ShYhbT+Nx8q10iP&AFIvg2uVMNsP{zCA&${G;Pw3YMy}+<;92}7R{}XAwSQ7+ z%)<*@DWa9z{w{~Qb;(HBNYHaPZ?#tVV{%K&jjLB*=gbWDFvudIUt~uiWVi1dGO)Qb zh4w^E+IXbQsH%Y~z zjPEkVge;RM={qIinVHxtTGFkK?T`9Bi51`AXrg4JuXP{ieN2%~GuFPgd*-MVzBT^Z zDxt~sDnL%-SW{e5Cd4;Z9(^N$QBsj^<7PP!Vo_k8dWVZmY7dcoW+sd{<`1k@17W&M zGC`K_VC-B@qjYU6g^-B_q{YXgpS#U5ezlZplWOg%yPumBTfAB4$y0)qnf4mh{7YZ0W-;NuO7U5dtJIlapLN zXT13A3-WmjD>J1D*LQsG&I_dH&4*^mHEg#9hkfop`c=+b1|?ZSw%?&|U)=aHI=-Jw zoP32U4$q8!)nGRk25F;Jly6iA;aSV-KSpn8wCTK_C--B!ehM%_D}ZOKf-;<3+OppF zP_;aa?A|TVq3Q5^84UD|eHUWYWe}mg-9jSn*dtAhe( ztVRu183AB{fW`$h7=e2NeepHqlHVuz*I!Z{6iYEw1NvspvRQ2l(wY}ZH71tj*{%bI zqt`Lw!b>0AjN~h}HT(|#ayvSV44B17YI%M#p&%;fq#e~fD2jhRo%KHY_3<@}0Gd7< zxF^~-)|LMH%L&EI8o-3*7MhD~1Z9bp$G2<3aM*QOX_UVri7ahT1BUB_;O-Tlp>a>R zZ|r+?-Kau%#h!MZlwPyxll91yms+D0j~_Sh!#qo!D)@kqnkcE@1uC%p8K3%6El8s(r#z4Nq&JTMO#z^y=0B`LY&I;{^rsmH|@ANC&y`RV9td_lkF!kHGHkU zy(U>HMde9Bzdek*pv}mFr&<$k3L_t+#V!$GV6c3iII5aFVx+;5C)C7pO!WM=iVG)H-HCkq3GQkhofX6e4$XutA zN#10)-(4!h3=~VB$BGepG%9!^={rkbJw2JSro}`;g#4mL2a$6<(6UXY?yWsyQDp!< zmcS5iqRQiMkDU>RdvXsKsz`=IsKAhWFzga=$H44F5HWq)8eiKltlN~>H={%mBeHm9 z%OcmFv_-P%RoGcs-xBsPg0!wFcu)?-R$rouBNwT0D}DG90{KeeFNs1;ZcwlJc#b-# z%sSQA02AZ}RqrZ?`^M^_Deu=g%E_D0f#W>>)TLD~0<}jf!=5xFqjHG7XB3q~{vOoP z3%F8_JsOC6L<6CawXc3dnE8M^GGKt&vmk8ii{^R6pZ?NGb^Fe=yUH2{)DI}Du0+~+ zN3p%+ExB5qNuAg5MP#8QM~Wnhhw?I|96sDfs656@l_}n z9@(E?P)qH1<)wlgp~K{xqBSdfNW6X(1rWTl>jdGUHm3ASfG~IC@m93?a50l(;a}>8 zfe$1K&>&oV20?PEfF}41(HmM5TS^7|>a2>8%VZ(wrcdD+%W(0KfU>~S;eTPPnHZrQ zVgr)FzdXqpQ*XPndDNHqp2fk7Wx=4G?NgJzdGsKmi~tlU3AVA5E{m0L8=>Ho`Mzn- z%Jk)63O0o5tk894D~X$GXemOJ|3u$&WP^_iE)%hDI zSm{Q4^e@1M^O@>uyzjGLr3#2NNmXTyD*zEyA?+iE@wm;8LGEgcZ}nDP4r;p%*g{x2 z2cPANf7n-JY>3MhRH(T{F7a?$&1#6A18PT1aU0)s{H;S%${jAh?pwn7t2nUqGCZRY zu9#}}H+CPy6i;Vq{G2ioIMH#Ale5@YJQ}L?8t69&!^iuch@71~Bk#?~_Kru~h2$v#- z&Mum=Gg=>?Ifuz=g$g?tXvwW;!e53(U0ICWV-jy+5=TE%jE#a*wn5_D$#4%9Jzmy& zD5|KTuZ{*9r7(%XvuFf@ch)3hTe)A}S4F6eG@|?WHFN76o*mt^CN?ZbYs#ytLT=-~ z4AbE457`$UZ(4YWW7QV5Oc_S_oarqe^_We>LE97 z-}{jWxe68nuEZTl0ehb&GQng*HFO0bYKD4zAOs}9WCI4K-^E5szG$q;p#>ij6Gp#X+^Ir_DSxmGUW5IGesm$Jw~6cP};2A#aAC6Fnn7msK(=| zZgsue2%N-Ug0rYvUdOu+XWjPBf^Y9vRfPpz>{j|2YcLG+v7_Mkn+2l`pt$T*?^c%k zc*Q_y15pY@zW09PeAb{4k8F%~R2L$I zUqoGHBiHT7i7Wi#Pfzz?O9iXPqFK@opkNyk$w?XIpKc+(ug!qV&(5^`$mCda!FE2a zT8VE1##Q%5_^lF;5kWd*G&$EYq=U+!TV;S2Y2r5>c98$k0{1{S<#{G`Mo`Z%b^kK3 zYllCSgjzraVyiH|MZ9gpfH7Z=E)n~6+M-)tHz2seiP*vnwd4*E&!BG6xr;<~oVfdB z{`udZaDPNO+y-O)l13YZ#Nga{Rv)}QLub*Jy$lLMtWt;Anv zEJM@2=Q&^Ei(h$GE$4g@4tQ;Gw4thhtSsXZ;? z8>Irm@u_RH=x(EY$G&qiZ11^&>{k>(Mv`&zXsyZOqj2>-JidRHHRFL z9h288A7VgV`I*P|47M7(p}t-#N8$jGPR>Vx!{f0;nOcFsX9_a-?!llC%C2D}SK6;&*JYUYNp~Iu@Z7%3`%bf;EiXq+pZGdr?(C zplS~I3s`<0YgpzF!31c4y0Ry_?k7~%zkYlQ(kYi9Dx#NL-qyH71+lvT z^_cRw2|ZJd(_hk~g>UU$By;6eTK;BX&AvrcCJ`eMR)0x8WO`RA-dQj(ZJ9smSoeF~ zrPhZdZJv<*8n41!``PRIFt#GkG5W_02~SYB%u0WMYY%QGOx@g+pL`g2B-TEl%^gWj z;#IwkiyQ@adj(@$PQ_o%`84%8)lttuu_to-9q2EPD$*%&fgaX&Lw}|rWtDl zt-C*Ble%A=yE;UUeNmE=an)JzW1$6fAG2q*zqRt<@sr&zoUGs14cotXd3oI>oVP6? ze=a}b@R#=s6b8)|vd)h)Gyb%e?b83$O+eZuC)uPuD9}bl&%Dt7dLvwhc<$P?gl3+t zU#!hDVNv&IexQ>881aRQ!C>?4T5lK~)1+ZUFbIC$R2&lRilBhippK{kX` zF!_%Q?GMXt`MP0k)1z;9E+R8CD+fT0eutaJ#RUPQ#~DOz#e>zY%P!jYSJ1BCbo~mM z<=QCqJ2?x|{%Oktpf?MRcBn~+Afj2(IZNqN4(MVh9U0b3c??Zz6z;DjNGFaVFP#G= zf_0B-^DzACfBj`4v93@lH_cTd(%g z=SulmuQz$hVA`vQZBN{R6fT$hta~)k32sj;w2;WT{LAt{ZxVdZqNnW*@M0JzRi zc{;|yw-Lx(`m*7AH{J!F{pvcA3Ow0=`t&J4@;&*z5Gi3b)A(pgX8Y#l@2=8&1+_%- zpI(#5Nn4kHRKP?QL{nJP$anP7W6j|@%g{Twp=t=I5ZS5=fLd0qZwpBFK4304{foonCwRI156Szg16--|ad9Zb4(Vh@Q7 zTx)=uA`G8oy$wNlErtQ`9qBR)wqF>^PRW@zP^~pQ#V28$c^BC7`t?tMZ~=4-S&w;y zz5QyjX4cg7w0EWIAf0sJiPzc;sSMXS7hAHOjxsDg;|jZuIUcIOKjGz9P#1CS{rH54 zGJ6D|p2|l4FgwOS=en$U|J0zi)qe}F*W(emj4B&>PMJ*Gyqk;4fd5$#it|(b z(+A2#gZ@Kq_*BDH`v&a<>-bWG99aimRdbED&HT=$Csp5j=%QTD^Q8Pn#(ZW!Jj}`t z>So2OF+A3MZ_^rN_1clTTtO>OMtbJPf(>8umS%&(r19|>TheQM-t!$9XZuiYa=}1K zY#R|V&WqMY@q04-?M^>m)om;< zG8dOUbOqU&Z>?x`n-SoSYGR9p*g1#ZrQwJ0u&TSeyDy!SoZRyOX8pkmG&RoYY`bTV z1XqTjFm)^!YFFRjf3QwRlks5@6o>st;`t%&_ZyH3uKB{&+=EZE7#9~#v}1S+*a{PD zGUd$KfGLxj^?lSOe~8w-(=tGBM_mTr#~F1`TBMhjcMX@Nz8^P zzkSdMa95dxmq1JQl_~3mkQMPAfmgX-hP@d_S;ji!hm85MlM*WS=ueKGqB8DyP({7u zf`{bJz2nQyYzcH~$z2G#G_AIQ$zHIVe%pIdm7d$%N&O|mB~&Z#;CMAJ3zoP24C$|X zhv+%{YpVp$g(i|~T-LPS1?JikN^hv98YKpkp!kvrezgvST>z)rg1`6lrdTBgQ?m;H zEgt!F=oX^=boM8U!aR^6(q~2)yp-`f*_`DT)?BqU=xx!nlZK7Z*Iu@i?KDq!@lfrm zUN6f?>E~G%i%5Lm;}Y1(Xn(62S}1myzJjJfj`uJxIK znElc){np{vw-5cN#;=B)z;uE=y>!!}+CV0;c(1zL7Mvr}-t-t>ZA%y)^K1KZ+x~Va zomP)s>TXtNw^f)4nWmwvr|6wKnf2&2AS2wPxbJg<)@O?hk7Sl&vhwG_o`S=H-}$KJ zGPteTLaV`PyuAB2(DsY}_#Ujvep2f?Df4$@DEj-3lffpbpMU62KX7dPO&U0dod-?8 z^8gwsy$3`^ua%!ck3KI+(WsO~;eUhcb%&rbguyWJ;dtKX?~N3Hv?8DDHn96P7odg@ zr`?r5w*#*LNpv@-*LQOtF!7DYJvY73gZ>$(mY7FT5-+kwl{uJfYt)W4AK1KM)qdaJ z4miO_+QBEuw2-;LBlB~_%J(N*8HxXITpImOtE9Ewc&IivH}}n#q}_h_*{q5DhtdN~ zRd>9puLgE1fc)!7PBm{^Je_E{{GRODj)GCRuf7&{mO+m@A#0d-imT9D?;OjYo#lez zBSx+n=@r@oF{+5ND0bRA*7vnK_VrT`FrX1Kl5qa@S+tMw@v%^GI03wHjb{sgh8zoa4dP8aPL5yplmX>*baQ)(Z=^r+%b^9ORsuFN9zm;{C@9c!7!>(Wh4CIhk-^fm7pPj6aze;@l zLGSDo$ZRi>l$VwQA*s${85g}tX;!`;Cj@5fVEe%GjJ15twv0#hpIZ0ozl#1j{T=X% zH5GJXE$GjH5cc$r>FG*Ac;U`I9quNl6~|R(#6iAMyS9IpGk*lLntH-t-PL(=>N9g-e^cT`cCvv&Tg~&%1+d@hoRK+qtM?r~>}0 zxU%lE{oaOK*HX3R2>E6w(u{#)U{>oe4DjH*TDRMs3bu-iImQ)%X`E0Crz16R#HcD;wmPKnL zz=;Ds%H0-LLwefPSA^w2I$DN*jz&LuBtA><#{54E&@>UK*T0Xgwgag%U^kT^eu3{b zZE$m>7zP_DfGOT}*NbX>-rOp-RZ-c9*7WsinJv>R*~ek5)4?-fXNxGAB(MTG1!FJ| zxN$ZuF%|5s{^y1fB!oM!*3%m1{9j2Krpj!P4*}S_bBwMU^(uhn_!LpIC*oF%mONQL z(Hspn9vSgHpDg@NIsKE`ytGWm#C)kK;HYX>s*UeHPi2lg%TerWap$Gi*sTuh%vPDy ztqIR43ph=K+X6MgS}xf|<5UkM2|GshsSh;$Qsd zEaLkLk2SnXR|{1bxpy zad#2t-+6Ly#k0?N?Zl?Ad;?#|d~0|M2e7EdOvCis*8H`a)Hp9H7WBRN&6`sg8q}TH zkULCr_Jqb1f;m*|I!O?w4e#pq%PwvC;K}#kbcxQQV0oC%7+-mS!Baz*fBWpKotp^^ z2K5(1gCGHt`z=1Mg)p1R(jKSDDsvZ+IQZ9xI#V62x(f$%^9VrGz6uHIlqkj&#^M$ItG7#)DI{P}51Skn*a{*brRo zV3AkA*H&uvg_<%YhLudGqGfh?RQ{b$uQF@2@n^vCjss8Y$V%Gw2#e$1Un|qzQAZ}i zDRV7YL1h-!uBQ~@ya_I&s3`1Liif^n!5E+2h%{V*YuSO2@`30BCA=tf?@0U1vCcJCZn|$N1%0 z@%4N~d{=kD?3XK}x13EH+;UzfDG+8?mFhPAW4tgGShpsLl;BKG!}au4KuiBlv51!B zA)CiGcz3?)pLeUjSrPQzHX9}6G1)&0+qM`jAc~KVZ}vxmvzuc})6B^NV)~uqo|r3c zNkC+|jA*_oNe1w5uE%>1Y~p zHqs>WQXY{9Vpwx#5OH*XQ{-Gsm15$RReEbzL`=-t7rGTuB>m%uLSx`*{oz0oxJSgV z%-sDZas6*f4RsKoV!e<*eN<>MD_s3D?b5&?{#F1e6zg(zb)C{to(^zG-smpPXHY&+ z3ZHH94L-q?P;hF+wf<~wwNKUcH+Xwf#W^Pe2#t*?$f-eQ25g_$l{2=U|3t!qgc+O( zYorcSWHx-o+xl*O`{@CCR5ToX@XIrjp$LXi(*2DNz^_Va#!UYDsJ&TQKU^P^7ktrF z#gw6tVzSR^n|C}ol|;iekP{=}1lRSU*uK3>Prwo}{EVj7{TNh9bTqAyG6KtsA! zES=4tG6hJn7J7qC%su|Vigvyt;)DuHvtidyNA#xw{qBU|Ck7%htdeJ)G~@gZ464F?aO+z3_DOetF7ME!b*U zAM;(|k*#5nXQO^a=Pj!( zt!lAkmLl%-y=j5*+6V=uKZWyBbdXpzL#XtIC;8nEZ%RxGxGnCV+_HpHk_XxaT0rjP8fd6?PGBF z9pldY`zz+wLh)Ms!NCH#I5_ynnmkOOis5Hy zMNIeN6)d1lrDb${60jwOQnR*aUPi*d)>wRKqcfO($N3msqUMKr)(9dADzQ2RjH>aY z(b`=*PGe`iFdF4TYz)%l(bj0{@%DM7416dZc`vab$B*U8AaGTzeaQW;v+J;>?S7U# zx|xpkqy+o(pLkbaR78f>Dti=SFprpQ!;OioOfPle*kzzl>~y0_V|lngkLQ!-GQG5a z?V)_1gM;hEof*bQQ3M1V>nt1vbQ=Yrm4-Z_Io67=A{;V5B{GWcrV0ikSozw znfDd|K(Vkg*X@}u1;tepz$lt}eUy^E4powq3+VZ9q~7{>lN~Xqq6v@;zP&JEf2Xn6 zM#v%gRVuHM(#2GXWKHq`+>4rhh%{zF29*1VVvWOUr*Py#8aLP&uF)7n;%~}YkUX>z ztICm9|7Ytg&l##tR(pP)-jjg|bDFxc1#W4fbMqD7YRQ?k;omfdMaTM43ax7VXO+`S z`%TEprkAOx)qH-&;QSeWzEpgaHwG7B*D*l-*TovpPtCis&NehU`p_iL#H%H-eyO|$ zxvKTzZ~H7{u=;p{duQoOvgUH1f9(3gwps!kh~Rn;bXSh1CM;!Z2xo(Oq`&uyKLhS} z6ynxkW^+E`^r4|!9Z}{YuLjfi4gm#df1J9c%JMUM9nKK2x!&Ezs|e6LD3JiyqImVa zFK3T!Ro8praL0Wvd)9*C1fw~%Oa18I*jX#*nvC|2(3I zX$+xolA60o)Dw7th0)8tiVHdJka8ijCZA;NTaBB19{xS4e79$YrQPj1Y3yKZ|DJTb ztLl&?zCJ#gnPt@G4CSk~FjnM{vo5D*CMA438;(?xnXGB&VSaS`x%^5tEPWsbRAzC( zLO%6gE@zN1JdkMauCaO_+O1M>&F_HK^89k&E_!8UrJEVV!^O-l4=e-e9!%7qJ6f1V z{@nxh3%lBksR(SuTJr{MPf5J*J-Xkp9TEeVwxRUtb()8VvW6*6k;Nd~a zahsO_L-KfkEing|o2ab#j=-Nm2UG(4+qNfsoM>qhmj0c}hPh@x;YRcHBF{9gcJ8Md zbx#)LfAd|7s~7|%$$ot|iYS}XybeHODd;XGGl3O`v&~+OoNHzKkN^G8>2^fm6o4%| zLb_Mqus+mwi+6AR^?A8B-$ipyc4rrx_qnVtT;BQ;pEM-f-{7R=Kfg*6{5#Ci5=*lN z8)hZBsPltDmw!zRT_${Ovb5Xj?u)0-Zp!8+%B(HRCIS(r638=T4Wp@jUg_V3MZe&d zOjZLSY2cV7QQ}~#VhY-3TN%`*-hwmo!rTW}4x6Srr~zcQ(Ywpb!m!S)-Mg!Ese>~S z+>Ju(Xx2=#2Er>c{k7|6g)WBN?c8x!>(}|7NFYeg_{u-?S5 zzv>u5b;*>IxjqhL{3pbN4O%GW&epqehY(sOJ}eo`8t5%g13#&>zPRJ=vvha6xC3C9 zcAm^Zz&2G)ahyQpLl@veYg$Ljjmg)8 z)^{aO^?8zz9Q_{8$OWZ=Zwtac_pYhj+XOPMO;Co21)fNZm`Kim1P7+I!YMJlPAg{7 znT528w{5o_+|6_jusx#Q%O?Ps62U7z6RYMeFavN<)ui_&m+#7;*b0VBH>MvB7HryIP)GB8O1(L**gSc7DARzjP^N(vfV|prh^O`Sc;n{O3 zRAbK}YKpC@uhLbDvCVshpj3px;<6_8_rL9V%{J$>m5uxc45;avGqK&`uZgT1flDDS z;0_&3jc-YxNX`ob{-0VI2W(f7-QQIXPEUXv%2FeJz8!RVaek)A<8k+Y#|McD^}C0F z*^3?1HSYkz1cA{&78Rx2Ghqlon&PoJiMU$McDGEW*iSeoK;hpIk-OK+-01!NL#iJK zXE*l2B?A6=zBa#GAOCt8yjSU{v?^eJTlz%=e^O1c-y;ut$kefsEMo0xgUZIxN;?Qs z#Ed={>#`!AxK&iuch%^XcDkUPK)u?%U4GO0yW8)Wgn@OnkGWzzmztE|?|FUTTFjr= z=%1Kz)6azEi(#r?Tp>#L%NPQPGyeoz;hlWH^@Jc`2{DK|>D!zadXy-~D16U$!ygbRX0YHrv8k3FTmF9x|V$HIqhLZ}8{@IF_pmeK& znG=I1RpK*oONCH6;tEO^lV0*sr1960q3WfQ4!0gUxAAp%BiGT{S!uI7WoO#%yfWVF z`sY`g#=|Hzob2*PXbB6R-tn<|8LHr#INPjLxayT z_;`02WMvOxPR5pLuU{Y9lWi{I+%4JGE%5n%a&h`o@8;Alago&oPdj&d+@xo&aa2h> zAqVJ&?Dg_;Z8JR8g}U}bkAqaDYzc2C;4@MuSJ!A4-Sp-V%x0v-9aYAr2F4Ywe&)~n z6!x=R*MVG9_6E|7e-c?@WS3I`0RacE>bKkcz%^WT8Igyr5}r#@xeAYgZwul~MI$|5 zy>4@^xR0D1o0ZJ81sqMgw=-;K?B>_%vOaCnBv_dbXTVZ?f8M*UI~hY#p!{6s@eaCH zy4Z0|@O;SQ?Dwz4E%~1W63CS}iYFuFx)^00S}-}1|D^yN0dW_&=*OYgs>nfF zTDm;P>saOTmU*++#hG8*S7rPP^OpLiCgaue;&K&Q-goQNjUXt!In$r#6ueu$I{^o1vwt3XlufzKQal` zjE?;@_A6HeDhXw85h}nao18%4wxrL(0h>u;+v@1m>66Q{jL%L>Rij}K?HSzX_}+fL zW7lAFWUeqzd60Y^5b~b6`u8MvUfoT<3_l15Y8+A!YgZNnwMtDQUhx=1q>-q33+ zF_DpDXH=8*?9HX^z5=mZ=`cX2s6$9<3n#ciI@NSL{dYDB2zS|Pg=ze;3EJLoxlDa> zviF>mzb6W}j$M|kYXE03PCu2DuE->fx1BpzLp;1FI=f(-;2c~equUS~LwrCH=EU!s z%)lMi6|W}c)Nddz;{hoS!&b(Wzv!5p_6^vy-^-u_Z(03s8aO-FKE9cFbYj9VG2ZsX z09>&&`AhKiWl9P@(qka1%A!pIWJ1Zdqh5{L?4J#GMi3pWlgU#I>_ zbB~+ij5Yst!6564DLp6d%d=A;tKnrq2&!YJKE~xeGUK-aa)=uQjvV9rpA9E zY}-lj(s8n)Td&o92Gsgt-efx@F3r8x`UI`Rn*isUeHCA4=Z%li6bGlZkM@VIU=I^E#Dv0Zn(x9Tj=m|iz@!@V^> z?BLe?wHtTVyziehJt%DulvT+|@r35~3!g)weP-0ug^ewde=M!2=9y*Qkq$(Y4&+7RhLCpv7Al9YJPfAF7i0T5<=0abZK2>>f zNwh7SSExk{JjC+8V_Ch0%izSP8w2*3R*RUT7p3clx~XD$Pj;j0pJ##k5pX;!(ab77 zo$>mja@y{k<l9LePGPPPLdK~gz9*NkP&X2v(Z!&dl4Wpi@mr=zZLg^Ne~jU zDsWOV=qlQls=z)|5X)rd!>h&v{W8ISRhfdk#`Y}e|?jJCXor&5U8QY2vIib zKSqstC!SCx@!C}xlR2247h%e?ogGcvWOxz#H^_0hlaL@u##cb>IGpZm2u-p3og#Ys zg%m73DEjZWKD=RP`Ocq}cTl%Mm1wUxX<4C36sbWI~U1mS{vbEopb`tNbZVqHu6D z|FsDhcoe%Z3}0%17T&3$<`>2m_+^r<>`Z&FnDT+bKt2t6N^r|=m~QM@vYpa?G%7>1WHbDqE zu5iwudcHqWI#37s+0%s{8Zrs^e8{vaA?Xx+etvbMwzZp9In1PaSmfVg2mqTUWKb~t zaE2(yfWJ}2^OJ(EvspE>s-gFZP!cp>o{t{+-t6*KV3G-uj(nD}{Us|+I1om_68^%Leu_%kVzi&qejgVeY;y6D~NF>*(VG<+@-I=)91yANEF12mI`V>M;*t zGiF)94%6#BP~@DW=%8=4wC1>;ha!)b&?D1|M1U^S$L8H^714gbJm<(LzYpUF6s8nD zlFR!0{~b&eSQ%wRcd;?C!#)C<%WVUer4NN{YHZ!}%n5{`<`qyF%W+g}-<$ok0kE8e zSux~uh4~Ez^WulQ)r!LLSHd64bD-eittWkLp(tH~$r`4m2H*l4{dubjI^Xdgz}ir0 z#lI%K&hmdsdl@n%Z!+nC;VQ-HoJ@dm`RNco(1ygbfimqqP&Rv&2xoGfo$7ef_FFH2f8P%BS4Std5(n9 z!qjg7kP-LX-CT*T-3K?uLHFdp|(l z>0Q=$Ujvq+j62^vHzsfi)PAc17R295gpWKS_5uD~gXs^kwcww%-N`~cnVt}5bfDoH z?y$SZ{f<3Uz+`R&f0{|<;d)RiyMe|h&?gnlA;IqATF@zp3F+Wr%Z1I~bWFHyTLE8s z1T^d^^<#mZ#pP*-+m_+3FhM+tIOt8}S(%VJVr|s1+qb5!{kypJQ3_CoOb9Cqp5k&7NucqopyUQP&`$jL0lN*pDMkzw%H1FtMn#tWo#+98L46wD> zG)5$sSiBtaF~W4`%`Z!~1e zaP3gvhAHEwJHkQDMr|M%QiafyijP)}eW^YKg`ngUe0tM>>kpuF((ikH}<=%j)=9`3zP`c^S~KoZo+ zKTfn%RIU0D5J>PO6qIA*vX)eyQ30v6p!qd+odyX~<2p$!3r(VXOo6=x#=1C&0x zR{TAmJqdL``u>}#ALk!$N2=7_tRh41OtVm)q~bKDDzH|LLN$yOVEQ(=^R+@n>}P-T z1u+e;NsvCLEzjGJhWSP@Lqd>{BiYQh_S3uRgo{TNbrmKvWNEpw8PFxflF}LACfS#u zUk~LOQp?E#txd&Sh{}18$u6K)g!aRq!@WX4ZI0L3P=z z{HfHKS_n~;G}E(H`wC>fAK^5sURi{b!5So{!Lg;DM5HS^?JUQ`S61e;`Bkj&ys9o6 zvy%K+n=n_f5;qq%^mN2GhWGh8C6TFq7hPVj9qZN}B#qMCf)|p6#Fl^hahzA1@_kde z>gg;Qz0mCl&)myj#W5cKEXBh4(CW819wuK#$StxyztO9wc%)@IQGJ<(F&%XsPP2Bo zwiyS1b2?>!8uLu!B7P@BYZQkIOuJiz99H`&of_&XE&y^GlvX5FX3 z8eN%+u@-zEoLRQS@aHa*BX+X_d$z2I0f(tm?B`{fu=DCZm=SK_ZU_mn%5| zy^}72Z7}{OGSW+6QA}Qf4$hD0p!Xa->kj#=KLp@o8F(~!@0VOZ!4P7NK^s2US`vf- z&&~S{na;w4Z6I~yuY9FpB(FXIHA$-)F`=v?2_X`6AXdK}=^`c@_0ZT;EnQ*Zb16=x zV2)v@nk=abh+M03g=BN%j2Pf42V_mvz5&X&PKLlYkj<&@{iAcmH~7n!KYaExNwlha zyAut#aej)GGK+?!3C^ALgd&6yc6biTfF4O4f{5rEG6F`1>F6J_;d8?M16<<3pYIE> z2A(lI%^J35Oi&qX$cf0|^XOqm&Koycr^)BG1$yqW`nFO7O#Ayyeh1bJYJgAY~Uo@zq zsGg0+Y=XtJNszvcJz;bkK$2xLT3jbB>Oc303`qxESoaP{FBUhXzYC*&MF7IE6{(%{ zLZbK!3?h+^{f7L~oxpxq*Xnv&W~?jB=k(H3hEhe<^crJmA)wNh0gpZ56{xgzTJSOg zx;0SwL;sko$KeDx2QMnlI``>n@2gw=>Jc@mi`!@3al)R18<-~dJX%)j_U+og>wn}@)+vHZD4C;RXjM#$l9b_c%jio+J8tREeE z&Q8SkJ*93)-4hJiAR80s;S_Kb%V;CzD&_tGi1p zN4>uve`Yu_+1_vL{eG%jodaIoGhF9KPI_JRGb3jzj<+LgH|6BgID<#jOx8H$V$-b=`o^R}9EBwKIVZ=OCF?@bG-HfO9}l8V~RfuS-ApynbNmtf`>4Si8dO1>uSt z;FpGEL6;_$W&|TYPULr#@02rTA*XsgNL6A{7;3JNGceOe$R|%79ZU*)_emH7Uwoa! zfBez|Pj4l+oqGT2Uag=w>!#=Z|mF%8Wi3=Xpq+9wx?PK6n=(D4*&` zAQ%-M=)V`)8Oy)`Z{CY81rbDz6SU@hUIP@W?|}FmRMMm~%9efz2g0t0fK{m3j);8$ z%``RIhI>&WqeS*5S3LBiTFv}9Y{?TglCONEe=3Y0p@lbeQXnXe=pcs_1A^ZFqJ@0c zo>$0s+i7SEQ(omWxAljbv~mtrd!-uQM3xHTKll}d$v~?D5G?X~HC|wXy-uV4P%WFQ z;#Gn|#SW2RHKt1CGH`#RVN9mTQSj^u8&TUdMo1!biDy}G`A(Y{euONb=F8)KJSpG-J?aT5Zo{f_ z@ic)H>dyJeII`&{xI5~Q`*_srmRa*lOA&17p+6VU{>jsC`<8hrWiBT3r>y7-;cE(d z{t%JxU}IV}7Q(-L877|#$?MEphV%ZAV^V|^$Lm4x%y9}!O{;v1D&6b1rhLDhONM&U zbOBM$*VTS6pW2U{==kA6MaCI2eIfiqzu5MDdPnjE$%7B{l=GA;;F$w2yyIjtLCq{M z6A2)f?1FYLgE%Y>4i0Alr;)g^Cbj<1TN;_~`=NfIn4K4^x7o_32I^iW^CTtJ*8^sa zB0D1)Im_(j(9iVb72+jv2y`F4KLaR94AEH7kkic9#Jy#_-EB;|gF-pZrXVgggQf3V z6(_KS0KLf6r0Z0`+FD&!gJqk)?R2FaIR=m&TS(}!e5I6cM4HpZc)(_*3pwYDXr4^? zo=@aNEU>3riH$cPlp)CJV>l!ng_KD3D~K^ zq?3bKY}KBgbX%YCEd`(|P{^*Bs-T@KBN>e80T?H$z>+$?+glmb1WO2XzHPLKj{oC} zAE}&pnICFa$pJi*oI5gF7^t=(o}bz?KNRtL4l63+<8efA;&Dgt;PLtHfogAr5>#Wc z2wI+dVOM+IYlAD~(P$>f%B}tO+-qn#0+*j%e6EzFou$lo8*h3#G&{}P{#6{gU=I>w zj#GmCq+AIdlF9aJ!bN!_Ba0=2mhIl01*R)wSk9Hg3Ob)CTUaMrb-VZ-l2Hr`xsW){sNKgacrJc8h zY4bc^$vGu?7qGkksiOl__T6u`l+PlGIH3g3n}= z6MbHMBgmO}>ah{s94E5zXo~&>A8^CEz@2Sn`vFZdYa6i_z@+>PAs&4%Q8Yt8#yow0 zx_w{8fxMepf{T1PSx$%$n$2OA$qBNr`;(5+h~N4IadchRj{czlvcR~=i^zx9ppYP} z<(UsbI6*a#FY*4yD<%lzwhJ5C;fLshh5E$+Jx2aR-!Mwcj9Ks`%&`~_fR}%Gl-(Jq zABnvA6mVu8khbCZGwuoD9pAeE>fY~XB&OHl56q4O_fx^k5w*_|C|;<>Dv)NdoqOB1 zB??PI+;{&P0rgpbzDY+4JhlnSY!o_3K$4YGic}>M<)~hZ=um{XKXbn>+s3{U{4-Fb zcMAUQ;C*d+&Cr88+8<3i3G9S%Ws~&naIu^BVXpz&i~PstL|pC`o7EIKKdDC|K=sDH zdfG=?%4B7azRN@KRRP^;v!D8B?TJ!Y2|!0vhkkGYe2Fp*@mmllKrxVQs@5fb)PgJ@ z>Yix8^pPjdt0OE1xzIUl0VpGMHv;@dS{la?6cS3Ax_dP=4i9&gAYBQ|CxV7#!rst? zV$>WSrGTdjh$6oNN?yk^f&tqlf^6Xs&j9YgVrV)1yx*_?`hYy7m>Kk?GN9MOn?1m+ zB7{(XR=XRDl7{kZD*nMmFzE<`73C0u!YaP$&BZ@HMd0BEcxtj?*;Ri()A6ccpi%YWs&nG=vd zSSV%IjGAg9HN=lxFg_DYXcHS8x8{?CwTixbFT!TRH2>c|l0&@xGJuZOCw&7vxVAN3 z;8K!8omd5(vSp2MG@c{W9l+b=O&_gn@Zx^rxIwOIgF*pG^M?{>IsbVb(matz8&XUK znvMncHnsSu5QC=sJ(d3)iZTU9-G7^Y19vnAG`$7E9;l3T}Ova1H^#7MSv$ z{>P+@fMoKOa^R`{4cbj`Hyt;YMj~3+?sJPrcUcv+HLt-bA3F+Oo^2r$9*KbC-ihcH zzG=nRK#*dphQXGP$s^r(T(1S0ZldE})} z_r)5#t(lx*=^S^7z`_LR=KWn}DJT!Y{TtF`S0SIsOW#liVz06YMO=ewP=JN_-;bn% z#`Fu(GC(H&d8nNEyw1m*jPE9-fKx+EGm4r(ToVwjG0O^%LGVZ?yN8nrto|7mod?_} zYOwGc6v7O$8RhCvYGMX}jY}tlEV9rZ*c*X*Q$P5~iV}K8LoE+5#fsaT_{pyrtD_j+ zYLdvuZh(fHS;{S88-Dny{!RqqjWsMKOZA_I{~)(gb{P#D`XK>U&ZH6PF?QtyzK!j# zp`A5>EZbpM4y73Q(0gQjVi5Og*2DWg9}naIoo+2q$`a4m=&MlN$p0*zMyS#~97KmC zSp9Zpg?Nx{a-D2XE?z}_f+eL65hpctBgWk=_9FtIHMb(E2^zIPqYtR=27yMux$~6e zI+T!2=K%+3GIkv{LN!kF@gP;$p$^1Lya}O#67~tv(qVg1kOFiy;1!#+loF(YNfrbq z*?*gh7cyhbaz(C#8A4_E^7Wtf5~XMbsG!B?LlE3a?2HAsx{!bw8)Hb!UK~XTHUs_i z=y$r1Pinz?#*9jDGjIg(gutPL5sTKgBFlh)?%r_%J}u0KHwMuZpYjJ7BF97xx^6UZ z=m#$NNkW~-jX;B2c69Ek-dUW|K+h;)N5#6R{f+=n^|Au$=w;@17&QsNW+D*p2<*mX%`aegX_{@+*o=r`yh3;QGgdG&uj69jVfH2-feQC7MT7kB>! zII({>>K+99p`(vMAK`;3A$9+5F%D>ZL}B_>LfkBv{@19#TkdM1Z_^7bwiK|~SHKW5 z^0DZl5O^U^I#~)3*v`E3pU&(MVFc#nzpV~MDMWL>lxG5i^yi_sBj2B-Mc#Aau%aX3 z2Tlx_H2AUIlpxyNv0@eDLdq46h=~8k>R6Kr#)HZ57=Zb^!xU`@ftlA)iTQ#ieUtI` zLpl}vlPijf_4EXQhcWyA-fV41oS4YWG*22rcw-nGMQ5PUa*FHc??wJ!i@{<8F-q)g zM4&sBzy?z4f0Ff~Q!soPdZ7gqNt26lnp+HAqJot1=xFdLJ{7e zQ;L70KVf&bpbA#7EaA8yN;~TOv?dSH6oQ=;2HL?}mPTxSnV`iONrztmR-JHjqnnQj ztSxe`jSAF74y%qE6V^^)t+>{FZz(8R5!k48 zh&)k4uVdVc)#X>UNFO^t3H!gpgZqh()0$Ua9^e}PGeD(U2*;O>QVRU;+HToXwT~@K zyL#$w01eURjBg`w(vbjmZr<*9bn)S5uGH4e$HyO@%f18h%omfF`*N1!rLq_thT<^q z7_BkP`d#xf1#d|a=uM^svXC)#bOUFgP+gM^aTWlIyJ&+GgsJbg?BlcjZ?PdE0G93B z1pg1Y)FT7#LMIZr@@d`22I3wl=z6xFmVViGG+dDwu=tu(B?578Sk5QM)b0y{)FTw- zIGlnQAGPF6qh=On*Rg=KN!m_;;;S;9Zve6Wc62pmvMil@{0`>gb+f@Lo%|I?@oVMz znm2&6dq7%R1NHaq>B|6tgEQ;J2|1*AUK>1n5<#aG=Crm8Zth7Pokuc5H=~JD5E;c# zuWc59D8uGR29NGxD)XHb9bJW-9EFtD#L^ACEAuXpB&KJc>>I4?Np7@Lf%8!>fBx&XKO*?Z7Xr|t_gfsN zFSaR0n)3s`Rs$yCxq9I%F*gP&e_eUCvGRrwk66v~_nt&BEo-@N(_NNtNrj zrjjD>BF8PT%-BecA^fhECH?SyBHwdDV;7RlP>z=v{V{p4)HsHO=y99$;08?-)~QXP zUJM+*C^x0lT{DQGKS%|yWs^rim>eL&G_|f%6J`C=>(6i1A9&<9xSxwj9#AGb9@ZkP zq7Z(t!nR2OvK*art>;Fb?>gvaW^&vwkKhVo2Z@gE> zZ#2{x%1)n5Uh@QWqZ`O{x{BQ_iWdPXhTR5J#Z|_=1%D3fYlcd(wWOudC`Z6Wen5pI zS{7@MKj>)wt?4Mi!XVRI{B6_aDalROpAv%3!$PApL*$gW7?cR}W8`n*|6%K`K5G@V>75em>9p z{^>{d+}W8qkNM3J-@^$eza5aW<=wLo)jKQndgAw8B3fc55$r2P3+1{e`l|8;l_)yaQ}5WtxTQNc-;U|qpmB&MkqD{9hTjC=;Y7F)@* z&(D;b#X;?dCAOv!blyN(co>SU1Sij5-S)6R?a#26B`H7FZ%>!#y8I=?5!<8ux`=p} z%KlaLA2ZP8gw3RtqKBw;DLz`@-OZ(*niHAIn%Qnm^1)r)s#L^!@2w;Gl767#o!dCl z&TFIi{>{;0p3B|;`ib^_UOp}2UQrpP@RQB->rTnBpnZf|D^$e&!V5rBzkT+}U(RO- zJ_B6TVPb&O)ykisrd{`BgPP@J`VxouYyj7YMne{ErvxB@=E1ttL1B*{ki}JNd zoIb0ZMm1xRuFO|V-edIqNdfVO+LXEQ=6s;%v8$4?+;tz!~T> zh5baloRF8fl%;{C^G-Ae&+{8tq8;)t5>@m)$m9%(fA6(5QY+b%7ULx`-}$rr)~A|= z&W?*eAOx=rZ`OIyL{Cc{>a#vDL{}gO$Gz($n|&R}$lS>?GDegvKn97&;}W^8hmAah zKH}{gHa`a;SxxuXO^ghCpvA%r?1`6q$ba0Hr{qo*E)f~VxN?d_5YV&(WO#QjCu58Gd>G*Y9kXCez8a4H4q67`_|7w=c{ zLFClR{q?!L{QSyx{r?r`cu>9j$N=7_5Q89rI03pe9R`87K+Y4=xTa_Vl|-#lCA>ue zbU>Q_C)Tljn+*5WL61?-fZ?uOQfl6^_WxoquOYM%0%jk_FhB*r$CZopbn_t4}| zzIvMu)>02Cv>6(IO`}4HI*j}qgc+%5xu(2qJp!SZd#{!YZc(OyYSnNvXfs?i5RH%g zlh;Rbcuo>lUQP>QDC&;`F4JRU4qGY8hF0n>H0QNWPdFJ(q<09ombh=A4L#os3_JxL;eGyMIQ0Iiw>vmFaAtT6@+9Zi@|}iPDw6yB)DQ$OvA*993MSc_Q8y#8LeA8ws$%75cmbjX$O-TlW$xxf9^ zA2~rRIP|Uc_mb9)Eam(Wzk=;ozI386@O!E*>c2qD}7z?6aTCi0Gw&g?|18uUO-4W zjcorH;ry7q$-=EI59-?6K^v@~L<#vi9XKD>Ce{vaPIur273%O;u#}o8r+H4iy|SW2 z26f`!Ucf!&Uw5W=zo;cKJD)IPuM34=#l*iN8R|DCZm-Pzy1s?a_=EP3TBjhlB@2{j zx|T#kUAnz>oq!AN@$EXYL!ImGLBgJfK6@IGEW8?JUq5o)`n4^-#Ev)XZIjshPM7Ucoh-K{)@qGx=O1aofA=}r-C_r=j+%Bzv%jo zs`m9Na>y>IvhyO)|77QwMbw;jy?MxNL7Skq$HMI?4<%ZgpzG^q>${dq`WyKD{0`#& zwgvN~S&6wtdnl~x&I&qnZd=$et=*QlZP5KZhC3^GGGHjJU?}1q=c+ZU@5N3?ajxYo z-N``vMQoItqrzPBb@ZWzo00VS*pKw?&$A8Z>;x%wrK$I>Mo=7oNi6HqoY5@+CFQas68rIG4(k_~4Uh`f`o8O~ zmgM1xK%Gh-SPU&H`;PslQoS6!7|lsm73e7WEF(;KnjCxHZT8jhPmoRl&Q2o%qloF6 zqT#2_p~C9~;0+D{4+)~D)>{9T$2SEMVxp3%CISV1Mbe}cA*Pk(UJk!?BRx!o@Q z_?Ez&0J!x?BMYUj6kMUfv-i&M@qn5bJeCU}H2JVixB{>$sdiXbBK^-N#`1c^tPuXS z+_Y|TEk{qm=ZR4at+g-Z*iQ>@(>bc#%zpp$X#wa_J&=Fac#mBI3gRp?HShVbPmins zv$G=J!*c!1m>{w~a=6rXA(9arB99h})80?PPXGzROf3EYoR7EZB^I2*-H-Bg+6nb8 zgx_B;g8UN2+x!yCe%Af3Z`UJP-``ryXI)fs@NkHetkEjlj_OZ@noqkMJEQpR(YNq7 z)udgY-RRyhVI;8S+FOzM?1Yf|6W4NHpLL(nve!2Yih;xV-=P(2QC)cNKI!{W_FGWyzMUmELhb6aDaBN#G+kxm-j1T&dsq!piiJjepl%Ii1?bC_ z$e@DSfqViq4@YzQ{banIe0(GVe3_is2IhS`Nm(6K1#{ya>ud5e^&(pr5YHe4Fx$V~nd7YI~HI za{4AYU(v*Ewo+)?nCF2_1l{I`#3Z~(i0oa6hL=;9Beo-Ml1i?+3=HQP-JhS+x`(>q z0dPggO+@3NUBsgH`ALFDM8ta={yS(-$zz~_p%54p;s<|Zf%ZrNfeIQb(BVO%B>Qy8 zDAMm8%z8PyQ5op*e43D(8a6mbb9rr1_r*(HQ++f`w~q2TvP=O*{26@+r_ir+Cnf!_ zWl6LUQA!aSktkmxds%#QTR}$HXOK(Xlq{h{^wi)fCIK5RQlsL4mbwk+Ir0g57YsT2 zplb6g<9d^b0>33qhRq3i;pC}mUd(K`V!bp5BHePEpHZ{K z-O$XpXSAT%tAj*LU{7nsVKKk>{w>E~-0pWfCTmJQoqcV+#liIVAu0j!Gp`*}JXuQf zZE8kXCeCL+x-QP|?ZltK<2B2TV^oj`8Z*nR1ZKzreq^7FIyLxB@OgL$2eNx{IqK81 z6G{P&t0+1mv;M&tH7y=Eyq5+ovNEKB8s38Utay}_7#RucM3GR>WFtUCM*JA-j_0#= zKRbVJm|Aj>bQi*D)aX(!sBf_JA)#c1qHM5i`p8E=C>+YSav%{t? z2Q8S*bgi;GLkRN&mz{1b-EBs1Smr|#)@Gu+hy8OBYT@PLi21B+V+l?zs1JT5hwSZ? zs7V@Yy}c@$_0SPey#2s*gOlr|PtMR|9bj7R*L#JmanFW_dibS9R0vq(jIjI{US21e ze4$*%MfJfD51h}`^45fYqoZz&%!M;QLRp{+EqY;1>^I%`w#?#JTG+fUI*rG6mqCOz zZmow|m%Tg8(g3RG+g8?@!yNfYc!EZy(R90fm2=oBe6oxZ1}uVUYnk+V3fre1qshQ* z7h&!=S`nxUfyQ_4<%C7!18dxMt0-P}LUBCVSO)zurELkgAZ;3Y7Y9SBa)u9spx1dQ zZ@4zP95FIJW_yTFM_Q~yTH7Javn`;mW3P?gh=h>nCniH%9=Ds`!!&Ac3$i7eUdWnOYx()L=GFll$e<0hKT)E2i^Qsn9UTXf7 z(?tnN^CDkm?Kl{b?7M-WRe>WiY56y9CqN8;fJl}weFXort#;njL#%K;Q9l{PHfqR5 zN_I>auleA?Bi?{L!ORyVcyL>lbbZ!lvxjKo25^6wLaJ{di4ad0=l;?LdNAlhHbl41 zrn12-)^b>SkQbjZ_3eVUQ4OCguw`K>F9$peJ?IYB=L}-x9DY3dTS2*6o}xgsF+6y zXnYa)RaCkzFJmc&h|;Mkq?`yq;Lw9Nf*Z9|`K5fEWq)hDb7N+eoe($`sN%d>@?z62 zA||hEG@6|8;r@;Vm(jM0LI$N3Z>R97TbOts4Q>)6A&?$##KJHmu=zI0KdGf%(MXECn>6OtWLQkBjM zh4B>PWN3WG!HZP&%Y`RH7(TR2V5ij{o?6>Y42XD6G7X8dO5!d9C-2B#iF6y~LJEt_LJZErE|c zI%NmF^{#GchG)F^s6?1=yP^&hv>sc$7fSrBC-56niuMqhV$3_ANkc3#Ys|9yhuH z^}A?Y$l%6@%h}9`Nl%bqXRXAWtGE| zi5L(qLmkJ`^*z56r$D9M4eRC{sE3b^=~#=m)_STC5QlwhJ3d7{PZEfZ2jwtS{PxD* zgNfDilo%T5Mwv$~1JM~36IImJ%imv|0EXfx!?4WdcGwL8DO0>nhJ z@982QB%FqdeG)5FL$n`oDRosDgxI^3UDA{i!so_wD~f+8g^P;dzNC2plv7gxc=T(MlXlNA6Eq`4~P zCg?}e`Z(yi0457HyUe_OjUDh$LHfgkY6AgWS+E&=eGy~scE`9G8qDwG&xrW%MRs>( zkp1>LKUxQnB03B=uhu#E`RV>rf2u&+xghIf91^S?ZlgnnfW%VYm4O>39qjX+8KGBR z+J^!vVN0H`%#i4gppq7AjAYZB;WzbO z7c#5F_g5coyj?HH$#XV*+erZkeC-HlcLzf_e`hfD(?E;-F!NpPQEvS+29HGh35V`< ztgwi%kph*h=lZ(I{qC4V2 zI^Q3pYn@Rq39=osbp5Efdo+V-=K~N&s>vWGiE@c>325@Vc(|StOF)H`3LznG&%nMm!^BFTJ-gkR{<;?7ak|wl;~{F6HzQnf5K7TDT+(C-}HE z3hLuY*|fPVY1^44B*SXqZ1|50GuD~-uS7NMpZd%uc!RKpc~PUtv60Ei$qz-`B~hzkguL_$6tr?dwjJNl z+_SW~mX>!?6F#m)=0qni)JrwcL7o_rR83ve~dC3H{m01?S-dnsmkyR{|qv0#yBh{)}8_Z)An!2F5W6m zTqkGIqg+$#7DV(cIOJTkcwsl=09mG26)G(}Wg(#N>grk%@ARH@A;8G&qq7v8mYNRZ z@0^6UT-IqW$do&7Tl2iS?uuiT_<*zTIaOI*ZPBCXR)29=(#-PuLG~(lq?*ofr0jr^ zVN2T)sKRarCH1Z9qBM?BdOhcF6@&-(SE9fHK~c(N2Z&)bDP0%lOk~!tG7l8ux%5K$ zb`b%q84UIm^P5&git{~*kLgx|pI6QDK6&!)l~_eHi0{ptzg)aOP)?fY2!`2DU+)$OkeylvevhC4s5g%Srb=7wA#(4UNMh&F(b04R zF0+mmTC^y+6b2u>JRc6?r??RCqJE2^hZHeR4Y}CkR`nM=Y^HG;&qbVPTt^W$%l4a7 zqd%im9S2lb_YM<0a5!q$#oxib_fQ!2i}ayekm~)y+{xTziGn@p*QvwE*VfjTp+4sU zgUNBOGc^uvCDRlyp$G1p%upH!Q`5$AW~kY(%yPI~E>ww`@SEXwtyN<{uQps7Yr=d% z0KJ_h1i%17&mL#h7r*Aq0ZTFTc81s~6BcJtA%o<1@yN^OVGGc!w2rfA#`C^DTa7*E zEz%k3fiEYpnN;P9B|H=b6u>RHLyf-R;9%(ZkFq;)_Z`wh#A&z{Bhy1)RVm^v>Q3hz zNK3=(nE!5yz?ST;g7G)A$?GJC-Nc*I!lbc>?w=IxeM*KX#Ev$4r+_@mIphxJcIgn8 z=|NKWa85oDaTd#}~{C#JX;qZ0RHV$TxZ=8vzKQdGM*lUj`*>%Hcp(!j%_dB<^g zd99$_g0Pt2rx@Jp&TSpKm`>#uqz9=&@2FVFC+Lqj(ny9#DWaqfJy14z{a{RIMe#Xa zz{>++qa09w-|RM=r8@f2;%li_n6sg@D#;ih@xIOGi?P}(K>s|Z*jw2f)?j22c=Y`Z zJH>IC4Z41pe;IksWi&aCR+;VN?{7Zcw}1lJJDX0c4l`hZh@O&DYZ69p_g#*`q=Y4i z7+4@uFj-}AYs!V=A6D&C7cu<&i0*33sms!ePvp>$YMPpH*5lH=#Vf`mO9*n&N*fy+#ifCQ)&2~g zX8OBG)1$Psv|MD&Q&B%!si zivF1tGiIBuP$O8M`Y&*TbS0pR>`Ya2<~$Uc;6lnWEo!Xgd;=T6o#mem@V)QLqZ-lI z?~GB=eAf<&?wI$b3UDZ+?g#c8ZAABVGs*wR;drg_SQ`)WEcnu$Wdp#keRspoHi1Y3 z@^W?JIGC8#^lAF1Db=T+fY9=7U4iu{7IF)$=f@=e1mI57r#r4fGWR@Ox+cVkaQExG zd%XS3*Q|~9o>_oyA?kT*f2Q@4n8HH7{f+22 z`_Zg76PO4h{vO_M3rQBC6Y8p}27TU&m8LSv$`M9V^8h-uNBjFqo)_a&`Yqfzd+r0b z^~mQV{Xc+Q7Jy61a$znyJDjH+_Knf@)&G{iGg0jJzWR}x%Rx(XE?{oR#dfEnzw>;u z^0f#yjfR$1ov&|3_Is*lp~c$NR|zz+gTt%MyH1wB-vSNJed5DyHAL^id@9m@>TKF; z()Pj4C2f9?b^lDU9zFJM9FOD~!-GVYJ1I|LD;2xdh@`vX6bJDH88$yt1e|g!&`I)h z$F1bc+HK-h{1DkpzeY=f5t490RxluX6at-bro&CG@6LMe7jP(l{{o;-#O?Box!fFt zuwvNZLM6S53w3C22c^S{Tl8&l&}O1cYJ-KSt5UV%`LlXSrXJ2K01QcI{5ZfXBmHPd z!SKG=GLEX(&pWxvq-2B(hv39dUupUHJl^inkiU)Js9m93%oTTdhY!T9afS#&FmB2f z#|JKPI)5*5M9}z>8MA7IUhO(cA(wYbs9(!ED>d(Wb&m7eMP7H~VKtn6wPi>Xmgz85 z`9;(OD*I!{zNvmdHcF>osd4^}5WOxXuolf4p}36vnQjCD)NShFdNWQ| zi{8#&XdBlQQkan)volvY;~JEo^M_r`bmPaQ`y0|5H$9ed0W=U zLRt}oKMeF{3HPXVm8ukO%wg!W5dP|eyn5GNpg?AMuuXODmnUEr>=fx$=PD*GPLN7! z{b=+&8C76vm|tvd;$^eHtOAbW4@5$AuYR<_AVThM4b$Bibv;6qmyg2pqD% z*HA3TDo1YRdhJ%|F6}{gB6&=`kW-fWIj02E-Yafrt3BxtZSiQ$ zi_k*tsk*nUZ*gC`^x6TpW-(&Sn*yt@F`vmCSlpSN3c&7!U0!O0&v zsxqufYwFfa>zfH8C1HWbB;$CIsKENE5}=G9Nq0@X?JYW2U~UvOY;<3C>*Om@&Qq$t zhqk-C^UpGq;j`6$IEUJN+sC=4jz$NExk0nn6*wdCp{s1h1y;6mO*6Y>T6M;l6qV~h zy%S|!HOzekwwRFOv8i7kjY>sPNeL%|R)&a&G`V}fmw}$xb2#lMq8ui01l+E~UmIY5 zv2ztWU8mlA4X)5QFS}jI4#jc2gwVfdew*EBWW0UT^cusH(Zt9+N^&5iOml#;t*%Z; z{6%4svb`?@(CXjcT>bHP`5gdm*eY}>LoL46;c=vyjvtts&Ct{<2@X-R$i7CiVEIe+ z0X#5n&Er00#bdxP9W9^3Cgo_i5^()P@ZSw0YmvjO5(|aXZr)!WB&_bsP+E$E>#+Cx zQohS!*R5b`{Mz=!>}O^#0O-ksJ+hqDwz7A9b;0|3Oa;A_hsd{6nc}69fx-LbF5(Ko z`CR}Lx9Cd+1{rt!g8l2}?sCeTCV{sbL_AXDOzBAm{|=Iuu;Qp@vfi~M@47r)pi#mj z>89}W=e?~z;6k~M`P#S}N?-ilnB@%=nq5A0dtYOMHF#ciz(o@|i zWP1k1Jgw$5Y>Wq%A$Vy8t|f7W)?5isr_nWAd|~t+jFN3^98^AhsE+6&|9BaFS8>$- zh`^#GFYm{2(x+9>_~pka<1F1>?s9<7QB+o+EdNo&eU&KThtPiGa2IvG5S$#*C^fl! zYO}7p!@6^+9bdlnJiW?A0I1^$=m5gw#zFVubLx@N2bI~Js_EuXM8XK~;4i@cvbMIC zRTX|&b}G5zFYCqsAv*L6{cK?a*?+7xZWATbmH_AwBg$Y@YAhzNqhfBJW06-#SE;sr z5{u$ zn_))R7iM=y7_`bND=X1=7or5IK8U9%hJl-f{_{^%_8NV7%Lz98r!Fv#$WGk>054^T;ly!zJ(TUKBYPE{I+k?-3B+^j2 zeRc0A{Mlse5A4DKoj3MIw)rJVE=%JAd+*i3E2ymh^Sw1^E&%#^0@z-V*i@^J;6^Qd zC*VOocRvJ`r1os|8^_V?uU~5;tZ4T7A*~v-Fxc(Z1foe5&%Uei5eFOSEkMiz+RK

7w1G|VI7=Cz(Pj9 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 bCPCfBDT=FJ_D>GD1N_KIDM^+|82kSpxr<#W diff --git a/UITests/Screenshots/images/call_stats_view.png b/UITests/Screenshots/images/call_stats_view.png deleted file mode 100644 index a8de3aad5a9a937e9185bb55e3e5169befb6fa93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 155504 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 Ouxwy<_5-*X9+$tj-jNvYIRv}7y#P@pVK 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

shM0(cCSnZc|xG={X9HP zK)WI02|Ho`f+C*t^|ROcr{M8VpXH0G7@g`jK7@GA`kX*Fg^@gqd%H1Qpz>e!?7m4` zY|X{lsAsJ_<=VxqlcMLF!!>Q!BL|lajJF$f@jpc-Azl3yN3K-)bHLFa>2jYGdTFdY z>khb=HM{{d4rkXm!kYO7%sY=>h=8)@Aw3}m+byr@alU4m6)aSPA`pdh+J~#m>D=d0 zMpDM}(z~!HF+ky&%y|;$qBpXd0H(Ig*cnovo%Jv~BD${AXcLj%mS9%zUh4iROza`5 zig7B6W9{5}oc=p+t;gHrEwASsVx*5mtDwn4{WDXZU+Cr2{wuSt9vpi-?2Hmx#XM!z zxL?wPzc#&^4T$^3f#qD^Qh_itV**f9na{Q=(Nb2NwBGp>P8CPU9KebRc!f9EK^(Hg z72U3w%9;O}mkN@_Ejl*cJ<}SdgzpFG*@J49mi*8YDuuLhNu>303Awo$8ZjC)2TR&m zXD0+=QRaLCB@}G)^)BKvB{T;nHZ;PLnXw^rsu*hYAy-ePXWkwtlbkh!BvZc$$9P%*Jo_gd`vOx)5-bJ z#N9#1z^ici^owSV#*ZLBTo3*rwGAy(yg%#5}+E(yl2#{o8-o4-TTrKs`kO5@z#6~--o{$VJEq2 z!V4Vq9$S$NgC*4TLc15|8@{OYFQ!FE%B!G)<}SXrO@-Q-r)6={bmBZKUG3R~ zs()sq07`K0#ZtRYtv-x1Xbs|N3$}LD1F}$jo_pUo2LLc5J{xT1Kja@>6JB}jP1xi~ zdUn;mJe+{2h)R;>#E6Oht zz-G8kgsF}Oi5R`8$?+;qB^7oucz^Jedydz*uKU8xi~_{u*B&|8EG8+Q3{G*>Tj#AT<2-;@D=JJQR0_g3=Ci&c8|y~ z-8-FTI3u<4baOXFTyQ%aNTX6~*THfpL;vds`FNoUE>OotVU~t3m01)KtlGAPEthtURZ^%-4jpN;`>iv?Efb) zB8A$-*36_H8AJt%-|>yTu=c4d_M0?HkPyY6iPjwRDlHdT-wVB7#wY1*(-^^kh*03e zDPMQY($?H1N$52{igpqzuU-p6pCeCi#u#7P+B}14Lw0_~4*rXIc?k;0l~~`#E{1vw zM4U>3Y*4c@hSfboVY^mQIClXeK?eOyH83Z^;!mhmuiuhx>!w%|)u4L!Jli5UJJ-DG zUe73v(cciX7(A#fb}@hC>F)q^m^HiGVv=fIS08rP&adsbXC>~-Zcawp3_T`>F?M

qG07lIf4kP!+E~9S528ag{xX5S4;x3vh#mhIg z&EwO!c3;!S(u3JG(pn(WrKjRQTTCf5jP<}Yn>u88*f->wb433cyNgm%Q6`=d(LJJa zL%5!GyPkB#OK&XUic=r}3TAN7IcGyE5iqt7Lw6)CjKJja8VaenvHc}>`)y?&g5Kcv zOYwE~8CD8MaH{U@H1#lo5=|gN<k3v22r(!r6KWv>4j zw^QbS!oK|f8TRs(2xD3=FU-#aD>vMor>dB-D|^MYWSVswB|ifs;7rVjXeTa6mTtAIAaUUEEP;|dud^*zx9XrsVGr7LU+PiL0; zv3YYPF*_GQs_@(LqQ1l@bJ3r;JYNn=Dif=?(iJfaQ^T%~GK{3KLoTvhX-l*Hr6!Ez z{7}QY(Uid<9Z(w4pKtL3x&^(Hr=o0g$wS5Db1Boz5zV<4X(vwMk1(6j|2Adr;w}5l z!0AqjnJzt_0r-LwD4egbd&;oB=RLjf5!{xtffDYmT3d^b5M&=2%2Ibjp*;prv$%~M zO3vi_K{WLEC5x*+O{)hl<|~F1?d9JTmQZ+O?0r$Q;AgKEVq&w z;!5*4G%@oe{9_<5=WGA#pZrJopZrJWKmT=g$@EF`_<+EUGR6;A6CnHEkLlNYB7vM+ z{7=gLnp$M#Gv=N2e}YHNb`hgj*R^Q%-zU6SI{NOuJR|A4_k#4E?IZCG?7VfDd0{*j zVQhtd9PfT!x?IbGN%EgiA)Kax3xmdqAa4z(Mk+VrYR`X|wybJ_^u3>Vx!c`6HMdZg zO*5!ij+oXo=kSOm~D73D}r`D34=z2>V}*J54kBLb`2a z92MF3`{Hi@7ME))3X5dl=#bnI(dM!3m$7`q)@0(uTJfU>OOXRal&#{d$zdJcn@{%xSD%0A7eGYj5Sl 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

7-6ipl5m8ldTKV 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 diff --git a/UITests/Screenshots/images/dialer_view.png b/UITests/Screenshots/images/dialer_view.png deleted file mode 100644 index fc1228667932fffb46941911ba0c6699ec561844..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122795 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 D3$i{K diff --git a/UITests/Screenshots/images/forErrors/no_preview.png b/UITests/Screenshots/images/forErrors/no_preview.png deleted file mode 100644 index 703a2cad5aea3b128fdeb67e73020c1f47310f0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95373 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%0A9xKPGs8xr#IX6Kd^P9Rc* zCzqW$1G&pZK_v#?2t4L?lR!BDB%IOf@k*y}?$Cy9fk$91*{*5H7FhIzl+|J9dZ)e2 zj5O$3-szH~jv2_mFfls1Xv&X7BfGKiWaUwdzyCsSy@GtKm@@0*3lf(m%jwnpop4`I z(n1Aa{;-uVDE0FVR`fHlGaxqwxle(ExZtfhK05w696%h1AzD|BQV`1qX}(ysnX0DX;INS3KBB7YbTqX2~$|N@`Sq_czzQO*)?&aQM_nr zjwonPiItcMiU5x;-tk6E$w=p*zKIAoAfd>F$Uu?iOLhUm1j{T-&*zKtbHG66&DSWp zT)#YUO}y#MA}tuqxMNNKIGFz&fybh9o08LJE`DM4{G+O1*Yx&9!sX?pyc8qZsJ*+u zQl$ZUK{aQW@Wg4dK6DWB%-{m!Ch`H)v{ULR-rsL}hhn%ADmBk!#KO)>zeTW{o#-56TF zu)%20zbh9oUOT%~Rp+O~lDvNX+6iDjAq8=Z{)I~%)A{ciX6GX-JC4Y&dS+vq^|T9- z+Hu?%!5bWFJKpTD1O-{;E7~)323wzvKEVwnjTV@mt1hI9T{f@sMhC5ocwhxuHZ)3F zHvh8uu-?R>Q;1Lhg2dhefPvy8l9 zd}A}7J4gKu!dt@HgW)SKZB#Xar#tr!j@Yd>8}p;^3NvSYy@Um$-7?;z3ukZS^MsO^ z{iYr2V8kjyWbV-6cWJfy9WSJMs5K&zO!VumHCguVPjFE;410JCCkr}hzWy4OuC;rO3!ungJ1E)k6ZJlIf!*_Ux1#*r?B=tiuB zoj}@6!S5i_(R%6PG@~6Z01vO%1TibU;=^8dMlq=eaus#d$P0M}&>?apU;F;Y5_D*r|M4xr6&3$hzq@5>Xrb6EgrFv;+<=0A^@FRL54EY`! znD;3aE1geYs`bk~pbBb3@-o*kY1Q@IKl0!0(pt_>c(fA}MgYrv)J*xu7m?&WseJV% z3e|OzRfQh^?ny`4&aa>_gN#_34h*9Xr0t{SwHea#;*qMvdzn(_YDF&F0*WELhSHot ziMICX>#PJJuDi1Rl&)!~m72(5E>naxAk(Qwov= zJOuT#BeUmP@^YbjQdB)jj{D$T(0QWHwZ{EcqP~P#FZ!`G=!kYEY{Nu8Wqe$mi#&s- z!La8o%aVQ7Is7RQNBby^gcp#~rcktV8y3T2`T(QsNYXy|X?1Krw(~oyt4OEGVFt5n z^m5O!EzbVefWX7)OO{f%GCP~6;G+rFrTTn1FI9%{2mi~~7D7lXj||(@DL_5tMCC$G zdcU)T1&EfOfw;SY*v%0P}{#9jF z;W7n+eK$Epsj~6-w}!UX`YEk{VN+$f5TdoLbouGkA1enM6(SuSjTMeeYd0Ugg49mJ5IM3IGeC%*z3 zaqtLtw<#24dYk&cFecD^6-jiA_0>0Pp;NO&;&Tr&KNkpGTl-9Q~+ zaH#?LHqz8|qS|KGza9AMOW2+?*3Ht-bh-eJv}|cdvs7_7(LniVZa}Vy$iaQNHj$7Q zemd_J$3m-njfy>xrS-w1CA`h=L59_bN%BoxFaS?lt!H!sSyJj0^#pl^g%a-d=3}@S zGnI}zOhqf|H8M9D4kvBL+u#dkoeX70=<2#>#2Cvp)*sUvR@M;#FbndLp#pV!n!Ur0#k45XLfj23MM zHJ&5ACMoYpz5Zj`H8M!H=>`m6@bScFwdJn!5uk!%JqJLxj~KuS-ov9>Zg|D%T?zLm zKA$eNd?=SwxqP0Y3`c&E#>*6|^69W>%rkG_1|4SWBB+{d{@4Ek*vPgr=;)JEZX_`t z#IZ@QqAtypN%wkwbp5bVD@>oRnr^XkJ6jwsW}4+}di|RdnQc3UHZ(s|s>*93NgLXF8h+CC-sG&=c!8W*N7{mGwB%!-0<8C54(_ zqDtR)V?_l8|K=Z=4l666nLf;H&1gdku;jSM)eeDloU+T{c`;U=f!>h>#?+7$Y}UZdGiHZ$q|zEmJgG^~N|xOOKBCDJlm5a!b=DoVB{dSwbdFApw>&`e{&5TRY;9g%5?(tyqxLIJjuDVANEVBBJj=%Ct{Dq z1WOuOk5*boDNaDF)uoreJB{2S88bLRa`{xZ$`u=X}WXU7gw%=+nC(E@rrTD$`edyIMC@vMsW?5L1FmKx5#XTndiTue$uu$oWKT)^ z?mv0fwv&~Z+|K)iQ?2gE4U!+*on7KjQ@C|C^&_yS-I~-EsD0H6)SOM7+r$f`txp&^ zd#`MldI70?ky}s zT?{hiaYRGve&2DkKy-8oWBda~_2vdg-aG?g+lB3=Ltf%S_EBHFerdFQsiYA*xV2hh zGk2+3^DMn^&_0|gi^45$)yG8MQ?pNHr|<@_qrIYnUiu7LN;xt7AKA@FaJU*QgFKJ9yX;WTrrv6pdU zN1t9cXkKA|!;#fzN`vyW?CRX)00pzBCOUp!o+H=o3B6kq;!nSoF7#fp9wU^NeOKYk zYqQ{Fxp@7Gv43_IaKS%bXm5-fwVSyR$Pj)!o%qb^jXc*^v(Gm~SB#EL=3t zd)SdQy~^_7iE`uN?a_jb13$QX2;`bJccv_i7VH>PV$WG?}(Mk(sWvFK2Z0 zlW=?&&~yLUViKbdb#Tz3$uuFU91^esw6n{j@ZZI3^U5?ixMv#9RWA2UVrIdIP-Ama zG#RF5WE7M)-R&1S7ONC7bap~tDwC@ewv)BPcQORiaJWoQFbID-h`2Tti61g>_6|NQ zZ@e70(hKi#2Cv8pJnT94bE}-v&(6hCOzqFfXK5^Hr(d0KwzJ_M^IMJze71XR4mD-{ zwow=6x}=yf678nPz!O(92{~Bch{J;D4KHSEY8m19Uae(zGaG>uZyNE(JR!Rtr<2<( z4@Y&3eHbvVGW^YBW9>^cL|hiO&5Kg1i*1^SkL({)g~Rdj4z7ReXGF}Eak*A`h{ug) zJw|X3irT#YxuBt2rzLAfP@jAQ`Z?D?xLVGTH!{b;m?!Z3S-=J>XRb6~v(Bht8Rz-I zla-0aV%a{Tru^0&4$|%}pds;N6ZbebvR$&mR{04N;-Qg35gndAU|bdP`qCDBFkRwW zYz$5_a5Lc2FKh4FY~?YHwyrbnU`)igOJ4Cfl-q~tyWdXU)%>H5oI?CUSXd-V+$0i- zouo~hHYoU-YT4f_-PmSN$iihl-eFkLHx!6H!Lc8JvJ&UAvc^Ek#*P9H1bt0+hXv(j z+`taY0LM#`#cKMT4QvzYo8k*>%JWvz@-eP|T;5w=SP-y>CNH&t$^ zZttYoePGndLWuU)4=+H+3jK*EmdaVOy3lZ_2&B{!?n40y#j(dv^ETNHO|xMtKp3Y< z7?AXPt-)U8P`2X+GYnxx5v;`}d|1x&rR38p>)3V4Tn>fO^UQ$`U)Z!5pIv2KqB!V9 z*o3m@Cma4XVP1mJP3rhY8K|c1G)$*Kh*I4#+ zrk-d-84XX$`-%c;H$5)bWW}`WOJxA3AKkcXLE(Q_*ZEd(Xkvb}wUAL~tDi1yXXNFL z&+&|Fig<05bs1W&p2v_blgu6bC}FI1&4r4~P*t(YZE>n{f!E7j=*%;|_}}4La9bto z<$D`}2QF^~@sKl@;zG5<*-kmFT_U;8KU|^kLX(8VPC)F^yD{`A6Fp_H8-%T=q<8Z~ zRdyNfN7S;%G97HbQalWFzv)Gfp@4w?aD8m58Z(9@MrlZtWoPnsT3MZr>xEk;45PIT zD9E8U%xYAap+bqGZSnP_%`SnY0-xPl(dQCK7`}}u4MUGHisn<(yh=hs+Z`c5v2wTM zdZNj5<`+Hs?$sBDS?_jE1cZAm1|LtzT<(GU@);Z&!VI5E!WOBeffwmSZm?YjPuUlr zIUFswskemi0{4B+fp5MEMgm?jci$t;9PZfm#b*-o9DYqLsy^N&pu4y}Pn%Qnx=GlSkwy)_290R#Pv6c@LlXC8H%-6|A-j*xPr z;fp(gfLGaUQO*>FXnQ(`&QC zpSqr(t6abjzH;i$U3)!Jrp79(bb z5J@b2Cc0CVM6zNM@x^CikWGO|YLuIdyKv|Jkfq|1O<=Q$_u9&R zD}?azaIQTAZz}oFLXV`xKWAuQZEYSGTl;UW606)AMkXxibvSZiBt z%I=|jFgAV0RC1HWu9FsG2cq8K9(iP9-LhTz*21=hvqFu65idT0Odi<^hZ!p2(22%e zf2lRtGb@AaSO?XKWv)v@O-{QC6xsrd-@wM0#~hsI?ar=uk#L+^GvjtN&)m5CjpZ7y z*9iVUR!gv+blv4i&lV$7BA@Nj6oqDW#BdCuYMi7LTK@UCXTUaw`qaI?fI|x`7Z&UJ zD0ynVP$8Pb%bh56At9;H|h>Pl2Jm{tre|mRxgpe4Pyzo zD>@YpOU5>DWx@04fc*#ez0ze4OS=Pyv;pqQY1ax@$YFLuAC7IuDfw#gF6sr-1kf6z zWtEU?hL}gGQXeQppXj0_`p7n;!Jj9K-1L(B3Tz;$^dIZ1z8%P|P|;%Eq=aZ8w-6#n z>eIyYshKF^mgpaIq8zdpTK-q)GacyRUFyiSo$OdSfkXXME9BtUZpLAz(ZGtfo4nOt zp*JQ9QbGcD>fkErjlI`KC}jeI^H^}4)8(s)C7?|u&Tdts2`zV^D(Wxss<7y9+>I9`_mVP9QOQREP^*okx^N5(?V;N zhuQindP8xR`>N~@;Z-i_mfP|4(JN|KyXn?iz3<6UKPL)Jg;>BS6^(0M?MgD58J=`m zzASjl&k4Q1EsFoC{Q2IRtkhR4L&5~LwrHSR*!5(DG(l!G27reQlyKHZrT+S}RY9Y@ z7`4eAMTPp8KqU^H%K`@s_IsQXOs|?F@JHR`QFns&hhyU|8rd)#%>(m-c)g}=<1PH1^yM43z7gHBA z3=N2FPup2ZQ-+Y1^T?{54-=`#$$T#q`0uIi-}|HeO-svXdo%XVfExvSMr#oxTIVrJUaYD_;16fjEerr&-Iaxe7Xw({iE3c+VSn__n zAy4R3#QKW`^dEEtG%vlZfai^;IIcw-$b6#8X^{GOvi1qUDKXIx5$NshPZcQvB8Fht z&HsT2Z3usz$lbc_O+PnXo27|Z_@QDP^J~H?EN!Ppp!N`Ej7h_0verCVMr1G zu@98OuLhwXEk-%cS{fRn`&-V}Kpl&MIT9ny{}&)3M3k6^`NsjaNY)04MaN>?`{Xko z!tO&c5Hr}UOc4@k9zNC7k^f(=U=6K<8wj9@7$Jk$*xnr0^MYv{b`dgqp~G9i#!Tom zTMXvunPcaJR<;n+Ulc4sKlo-AxGDD(m?Cbkt)C$oxn$SwnLM11I}!N|B6JC_S1Q95 zk>vWn|3>}&KzgJ8jwBJkx-xLN?RH#2V5BK3X3OkPNV;(!J3kChr`kHf#2l76NUsOXHRbLr=6)p*g50eypB39ttLKeFo2AE+o$lke7n z_Pfm-g~{FXy*$#`PDC(NbzMBrE;NP{=#36_q+mo z#h4E70|L|{4x7RFUGq~t9Bvjl>&F`cmI+kYe_xV_-~zEu^;*#{Dgq}lK#(PEHCv9{ zni}=seK8>M*=~im-|a^>nnsHQm*PJTA*lQzh8+&5w#Tc&$kf*Y0^E4F6Wv+>O!Or6 zM+;k9nuXfodk;e-hXzHM^8GIcqZd@qjWEnl2Ac< z8NKAn4z!*p_356}?r&P;EnrgN+uWbIKn|kbZ0sceZ5OwCu_FKem3)2ok;XgxzuxqJ zaAfHI*0?6_1Mt=t(1QSPEt;P@73j1f%c2rwKAf|Y+yu+z16rlRenNczYuLA{9Evdi znC6L$*aY*0BA|j%f#((J_(wShaU%U{U$gfP(zt~6F? zCy;>qe6=qvKoKhc7`KrIz5DNrC?^5eXg26+ohC;W8#tJ)kO2@S5`$N8+&RSn6N@F@ z34mQ(9o3DE17gec*!<=D3T=)aV%at=3IG4S4zWADByJ!uR^(UEz=D?-+d~s;UAHP7 z9@j?1e0QIs`CF;^p0DbzfYzJ|d^_2K09fXJ)v^X4l2FVOm#_@E`*+L=qQ|hnxgIZI z?g{s*v=H)D=CO`hGX{rr3mxK`rHd7%Ps*38b7t%e-+#)SL7i`BYUi&0^0x2q1w|H4 zQj@LCwTGB@<3}*in#rgP_~}bl00C1FdaOsyaQ_i@|wlsDd>9Oy5(|->c zDJj9y5c{#rt4vyU`?as!H}gAEnqBA0sk_+xFLyYpJg&%cX*VA2wMaVr1I;JKYsA7N ze|eRE^M{xN5?=c?!6gg?WpNwFt=w(LzTE{G}6UCiW(b_9IwFosyVf42w1! zVxeY&KmG4m5?nw7YzT1lrrs$+YE6QeFUc}o7H}<8b~G^JvCU3r4m}Q5Um0o?J?R|a z3WvM9uUgc;YrY*v_{&*;A-$mvsLs#tjU3L8OiN0V07_Am>3JVB>rLQNHvliqg-53- zid53j(fL?Uf5QsT1pj>fn(Y=))P8COD)PK*B50aW*5)YqH*hnRy4vhg%HST@ zp!{-ns=r{a767sfsoQqBbt*yqh0+FJu>C#1!`7xD^P|dUhRxE&(BNR0w%%{Jzn=0x z=v;E*24n*lcFzUbjsi+x#*naCsE(Rx3koIKrH#kKB#Y@V&54+ zaEvoJe*(??G+2rP9N!R#&4PZ7aIDHp5P3UEPpp~9RQvxm$N34?q5^M~R;@glZu{GG zo%134bjzhl)Hx~%KlD44&Mcrk_Cwb2MvM#))o#YTul*M~>k9`AQcRlsV4>f^{RFO8 zw;><%?}YvM=J{{t(R-}~3%k_-@`x(cyTShfTm8Sc8$$t|kJt@(964Xq($YtdyLE}U z&W|Npen5|hOla;*u@Wu$puh0{x*kBnh5h3=Y86}hJht=IKjY(iR+MXCehSW%&g}ik zT`RGvbLWJNV={>Ty&y_5`PVbSRRL7LQcZL|4tQIuD9E3lUw~-D`iB*y2&iI+%V3xP z9_E6?fx!HgJlsJDs0j1I8BcJO%|AjX34(myQqjtkYQC#Q1x$gGuc!F8WB&&|3@6#) zu3nnf^8kL>K+IqO%;6os6(myuT9%At=kIA>D0SUyqSqj>q#=vvX5+1__T&RFk0`WM2W(d^?jZ`jCF6gE4`*;2O^%nS2j0wOm$Pc00NFt-9jiXVO zjLICoQ<8c~ALV~c|An0k9annL zI{3h3p_)59yykvkJ-+tCjah^r{u63%P72U?_+d^&?fVa6?SJnj%Fikwrp{`mUCgNk zOzfajw@_?#U$8DY5e+nMqpGnP+?v28`^)Kqr5^6q68{0eG#1Z&M z&?Xq7d9NGc2B;LpT>t(I5u6(f9DqpO6`6er{XH_$Rn7Nm|4t2{8CD0InwpvAEWi%-XSR%Mi|dHHY07B4wCHIXDA|&RZ)_pH*S&Kj%8)2i^;&$Ssq;Md?`0M2nKf|4+9vro^($cEjZ%&vW zWO)p)d##){%<+K?IIP`7zgkk8i@?8q`!1|EUJwu-8qpB_6N?EF&qDLMR@9g**yTezjzCLW!2ivTNn`~YO!k{0eHp# z-%(;zq3d&Ua1AA?UQK9xxwtfYeIFDjetYvpr3OzO^hi4QOduhT@dc*C^EeuyWWl0f zH4jYPHb34Ho#|3Qzl#=B^!R=_U4qWbIsW%TOI!`z46DexbjP8xpU8TH+{(J6k=bZs za^Bv9wjmVP*Y~7N=Yc$f&OJrxK7?W=K4@jgqz^KoclbA^gUruNX70H`t89GQuk5q);CW0#YRl3_kxGphy1U_0n?*O3$i`9nHRIqG0HH{0^KE+Er;Sc zsaeBtfUp(S5*G!}Da)S8vCJhoW))y8Dgj(d^jHp-NEH7p-%O&c2x|v_S0#K-PME)5 zr2P*+eqPlK9&_Zv<}KoF?32Q$?-@?n_V@%CkFeo4ic05i&ea7C#k2R;(ZRan$R;K` zO15e+gCmuqCbeaXkR{9bINi*^0qVd*5eY8J8K$k3E?Km?%6Ru6L$w^1CMF$peMDgw z2FH1WFQJjOqBcPO1{VODMurX&-h=&r&FPOtiZIM-)|*c#dqDjGU^wW%m?-_X^D`qQ;{+=|r!2;n#H9jg_Y-__L(D(ShH&}3-` z&?H(2ei>v_M(P{Z8C=WB!MKkq<*HHI{a{KZZ#GYbxXJa3kyi=O~I|KzNI~ zqgvnqaH@wZ}0p)>-eibRbt;kQ@ z+;0>zMom!MW(4_AB`u(uZ}Xk5-<8^n8S-ZDNU_MYFZ6rFYGor3iJAz9gauns4GS3@ zZBJ!BIbWTQzD^`AgQz>c!-l&AOCWI}yJk^85C$#B(MEK=Q*FBlRjm`YT9++MFA*xn zD@X}J>_M9l74C?Bm=*br_eZ4r*p2iC5K=Vl#NgS@fMt9n z@a8;+&1e~6aK1X0rRhb6JY=SDBUM6CYMDZmt3_!$sm7bsr2HX+rO_@s;;BPbxd01u z&Q_LOqW*`pZ7U_XgK}A0&}&G4r*ewQsEOO=@YgeIalX>f9S}QUK$Q|y;sqQz#m&9@ zY)fvqXJ#<*W&*!Cv+?9Upz&B&dhv$7sAD5}7Zod^SzBHAN`$6I^wNPQbfv4+NuwpN z*rP9T<5qH;lY@4;DXfzWhEXQx2E+2<9+y zS8<@ppoettVyFtWBT24UHihNe3`~kUX|++myi$noc-!e{euZ|E2l|F%>BBWXSq1ZN zs#+g61?G3|0-L}12VXqiVLGW)eL$Akrq3A49K1eog|IYM=Cw0-{6M&lmM8yWrSjrE zMPE0lQR8<(aofbp=$N}ztrhS4s@>U*E=u!1X+lJ*k%LtVLm8`J4TLaa!a0;?%3 zod@mbFVvV8V?q;O&d}P#(J4CwOhJc)EN6`H zCwwn8fn=zXgir^HN+*%wA1P>pZ4xmM%$VCO=3YSiS;vlIV{3*qR11{v0zI^;{WC_+ zh{goA1PC2Uf1^j4&*LC+z(Kyw?66*-DsMgncH#x<7&I-%x`YlTNCARnptszy*OskVw#L#vbmDdrGHxb%R#GaPVy3_1-rE#(#G5tRr| zG%gQ&P*5xHR*tTkwiNTWJg%tbr9f>M$;GN{OBJ7_m_WM%>?4SHPMeDV!|w1$5l9x$ zSGa)68uyWfqbg@9=_Chgf>d)}X(ikZ?B5ap{J=Dr$-yH^6XLndqQ;P&9$ln3yKx$d z;FPy4ttZu2s_L{suIeUT6nGuq+;Xdt@OB-TNCzbRiYm|b_lkAd7ZJo1*2EW@t=`zI zbVwp%>sBG+W3oPa(UN&mEO*+$n3x*VW=e$1gca-9?xhRQ%A{>-D0lNEm(D4r75(IR zPGz$yyaE$&u2n8hY1>|u09iAcp(MsUU>~X>rP|_P!hJnGRV)_1S^RAi9G{d#$%x3z zhd$roi2}@`2wKhdZ${E?-)`^1mSqHDmn-FgrK?=s+*k;(n>Ygy7!Ir2HLx0Z!^7lT zKBr7aORIC3jCo%w4WcrF+6mg%;c2Ab1TX=n{u00>m3}>gIQVesOJPR#T{!Cw4PF!j zpLCdt*zCcG1WbH8kJ->6xc_EozCE!PYouV9&6h^1RJONx6=sd-so# z`PNy6)T@>Vq%tbA;I*^GIS;(9_U5h{RppM%J=}8nczQ(F9DVT3h#}{(*3VmRlRcfA zB$d!t1cejHpk>0`Sce>uA}9YEh@<0aXym&X1YlLS15y^}OcTFza*uZN0nz}z`SPfH zy~S$7Z3hFYMwxgm>Lfb@gAV}A zgA1VH!`A!0`Y@Y9K#U~ker)z@Yi`Eqi@d!^rDq#y37~mX48i?(P%{-`l7vO8xk8h_cvUKC^IOJX&O-^=h6<5FK5_sY}*#udEL&h_L~keQws z%p9*^e3@@E-H}%t&IMPB!wOMV?~oR!#Bc8e1jap;R0c0fBZxx$<;2$HS}s=6RM%oA z(!M4gcTq^POmnnD|FUGtkgw8)=~xCsMD>oU6F8y3Lc~SX&h$oNtgN-z4qH`uor#%W zdf0oZiI%MNNNDGDl}g+e{K6+48+(yZvNq|Xy0pVfQ$mL*6i&aHC6KT(P);PE=%LtB z#A0=?;8cBU)a#7ZgmjzPoFgty3}m^rs_fhcd~#sZ>Lp6Mw9Xu*47FAE)FUfmfU@1?_j3P0wC;N^%H?U zFp6~R>BqVAY{$C*tpN~Y1}G<>+*M5ybNRqzqDL=bkXKfGZvklLioUhg;6IA?4n_On!X25cjS~dNt*b)%p-ktq@b6bd!rjfX>j?d z7L{XGy*IBy8X-ila3kt>L#ByY;+wGLXU1V2W zQJGVD@k;Qy}5Vo*3aD@tb+DxMJlGz-2MUS@x>CPLj^53lDAX?iSW+zjNJY{pY`ATEh_)`@&aQs6qn|m$jsGRclI_F?~A)S}oZHCxj%f*pC zI?|AEM{D}w;|vofa)U!wTiiuRJAH84Y|@E2BSdIlnld(d)>!5 zDtY}+n|B1=grY%j@h4Q84}S@$stuEtYZU7Jh{K&t3W=yS_&sW3Xo_0fHUk{T(Cj2x zxGE-B-wvoHCL?g|Xna!{5P=eerD}(VbE#5Z;awTYizPK*;Y=A3;a!V4fa%1F(q*Uh z1)5~C<K6^>zOgP%DI*GSYqR31P)SHF+R4C#1nh!rsA;4X3~?QGalJ1$EztDBJ~s8*2f zFtZgJW{w$8pexb*?vn?Pj>MD9N~<>3VwN;-r$m)tQsApopG#X3iIHEY1s8tc;A*Qi zW4IG`RVE1@u+T2FH&ilo%b_osh)G{Ms|$!8*56eOwg>;D*11oLuM+MvBs4s)IsSA# z$x?fNt+ne<6ZfSJ%`v3T=ivv-tL7(OF~P>UVEa_UqUVGpKA ze;T|B4cH}Qx7oz^x)4vIzT&$)MMuDf^^F2i(jYb3oL`(HY3I9e`3}_-#(wxZQ4iLD zn8xy%UB-*|zm#lbE^8L3xgSIkNJh2s0n|%b{Rc- z?@8fN!WnF*Q^WAzOBgpqRlnLBB!FU4Bd!U8`>sjGR7Q1(GgCr#UX`|l(aY#AD^Jym>+0>uaOWz| zZf0G--U%R$FK+v0)X~9Bb%et2whA&G-url@Us}QB^0Rw4!r&vDWdwZxI#wxXH`?;& z2WY;1C);G2>pP%)M4HuSeznKU{=)3am%=S|FlDKq=zhsxH|GW7TWN>XnLX}%;18*X z8IjLL4t?K^w!0$fGSIS2?b&LR$N*{( z)MbAuDHvF|TLmpdT5G#x?TLaX*P48`MbU%H#ISd>PBz)93LFP-Tco{=*F6OuEgMbM z{Kju);&dha$HeCgl~4B%M~4#)NzlpR1s@hCo1SM0`JD=}ZU+nyj34FrSFaU&xu+W^ zu!jz?b_Jm@=>`Jwcr$r93?r-{w?K)#`dc$!H5F+sdFM#+H}}V>#`7ed#m>ZL@*Te6 zwr@X!N_c!uhoq`QK@1c-2q{Eq<{(;v_l$bxaYqieM^fc8_M2QU6#Vz|1eM-{qmb)m ziibObtK)>bV}mrWRg^^aBiAJGV13wA6x)LL5Rp%e_wU)(%O;()$VWP3c+cOQN7mtF zhY!ov{2Sk&(iUDjW%K%o=SVuQFI=_b-E94JhM@seXT=Fs&7oxUFrLuyU=hVZ!XUT?xV)oojp4?DK&Q5 zQ8GX)VCBWz@rG?|i3lOvMN|DD?=!grvMn1fqOr^uUm-a5`PYD$Y+9e}2)=Cd=K~bo zer4J_&+qjnPGBupzQKk*XcA#2b;JdUHt)`~RqjRa*$1B_vl!37r(1wrg77*}&(YR` zmHUtqscnr9NpEuQCH6j07y2#a0~~s=WKjeWAkox=GC2CQiEYv#v^LCooF$KxtU&EM zFahaBhA^D}mwgD1H5q8q|JLKvnq&p(5ia9*6?CcVl>hv)qP()GG9?@wV|jN8d~}wU zy>mC>I|K=xk^dxh^sx}dVpF2?zF8pE)iFVMWOnAFm#3_94{~If1{3DoJ#Rcg`&*lJ<}$`=hRU#r{@Ah|Yqgqv1=TQPt_~V-7k|=XUYy z{>Td>)&(*}`7Cjk|5pOqa&(IDPFCAd0rT~pL0i@PQRiM!hVFq7JuDk)SCj7C58r=A z#;Y%BRjB3MM)ay**=MF52UmtLEh#n~y9?i9(YebVoRsMVkdMLR`oq5(M;I)g^mCh~ zqL@vGn?+#sjp z4uH*{fRGpKKO6WE0yo4E`&4^^pq;od9B#oNzPsvvynX-OfjNppq@-~4x7x@)Dl`* z?<}Zmfmq8ezyS;yDcAdvNSq^o+3&}P-vZ{NjbJJWwj)xw0OyDJBCCPU0 z86@3cCffI9V#I2FJmx6Mc$J)Ni)FJ_UaQU#TAVzq`sn-GzHuGrBi7YMFZjkhZX4Gy zuaqCeOro9ZV$N^Q%UZXFEnYD0mWu=DSmh+0lNuC$Gs@GFyyFr*@W-$F30DE2LPHhw z1Yps%6Go{_<& z=0l?l)(@dJi$1HB&I=EI(J9DlU+-hx(`(mS1L>meX2I$qT~};X*YDckSDuOY$lyzs z+4|*!F$&qUf)`hicVXp)HpR|}Gg4Bf`S-GJ5*0d&4rk;SQ$54mP;sX|eNtT3}lFGnb*5xhj zfO_V)$Qw|b(S%9Z4Kc$zNHVt{y^W);)uRr2fE#R?)iHZij8Rjgw`I|S*4i2z#ODSz znAG>SZPju0VV1->%b6uTdIgs9P3_=G<6@H4##StE!U0-lb(z;o1c95pdyUH-deF}I9oah*9POHOhRXAZW!*_$JdJ=L z4-#!oWf zZYdUatU8;=fM>RgoRXcc^%A$sbMTz4ZLV60m7dHl2A@D-i$(5^?$A%{glA~J6>tpk((DM9N)s`82XZ1>puyUiCg{^e_k|Coi@sqfBhB zOUY?&5ZGOLCXwcq(eh`cyMXNKjLO|v=r^sFly7zIaKG~O5d*Dq%scDhk4NY-iH^~j z6~5K^b0l^9m3pX?E*A+!I)$_tOdrdXSG&gb6jo^;+O&7NXrFm@1U6wc;Z{oYuTY@k zTsAXUx(KglS@hc1$9DR9j_S61SS|zcFTEvKU3GU|ZstPvHQ@`2o#{+BpO0LzndjW@ zseQf-f_vhg6JZnj=uA*}wOo078&cF+HTpMZGx`3rX(x?e}r znp)1k+dYgCACpxOnsKpHRl0IfE;PvX%$U)k2DmJzg(hpdrln)GC%JcwwFJ{D)G^Ox z%n|y_@2n5+^qr0kzPxq^An?<=jBQ1}u1e^}J_-OD#`n0R*2Z%;-F9u$Dz}{d$rEU% zMF~b^E*2s&CbFoF>iVcI^UT_^h>i8WmK&d6&-Ymk*;A%2eNsufhQIYg(6LhBrkVU5 zN4ZvgsV#HD_12u7^Sy%_9DBdYzaGJB4{`V&i;TmGSn0ckrq6h%SU~#0&|-aG^O?a2 z4Ih0vgSMSQdC(B%bLxPFpUGar|DN^0Vi?dHlh;_v_2P>l?1vj}B4lZ4u znI7lNpb~8Nnl>6y=gk@2xuMx}LH{$WgHNU|oa0~{&1bR43=*%-<`C}e2OCm;KAcL|r}T>v%A>Xv!{M(<4XM@9;a$~Hx3e9-UqAUSALYI) zYtb4Ue147fx_LuXg0^5~5b-q!_SX)?wgJ^R7CWJKeoSp{Covlws1Xt^dVrQ)fLFTb zA!FHdKBA&|u=nLdVEQ6(1kOS6AqBd>7Fjh=+?-RznvXJg4<;hxr}lB|N0+m-JujWc z5f&De;fp-1E;6go*IHwfjhnpW4(Zqdi+1 zGo7@u--q>6+Q=H?>`t{#0VQ{6YgYkq$R*}+(ejcro%Q-xQ>piC5sQCfpZhj^fhMoZ z=lhHzWBBz6jc#e5&pHt5y*RZ4@@w-VCPDj#lb2;L-OC}#?u6&n#_LX)ruVc9{Z(ib zG9KZO7{v+0ow#ggoAH|8v0_9!G1vHZMI4ucV*RUF+~BXRD?y{obkSj5E<+^aYBU?a zgxj@|`FM_ObGoV?nNE+s^P+FR_`+uiq?$Lqj^N7RsSp3&iokB;5U-W$7U$`3EFjag zi&FF=a!7AX!?|9O!Vl0LE~S9m?WPIZ2)mXz6wN+>{!P=`gUs{gxw#K{zH{&a zGV_GWuJh7Uo5gABdej4L;JvM3x-BU{kNa-F`7#xA;)a~0TVS{ye`ZV=Tmo&S?^D5~ zdBs;ZI(_u8bp=~HWnh?HO zq%FbZ%T%U0fg-!?x*SP;E<@?(YnK|g6fIDTg_sit7UD#l}H#VgGuDdF*z{CXqr{S7t8 zx4FB}MDwq10I-u1Ei_(+JWckIiL9VBcF2`^U75kAzYrx9ZTOLG$owM?bLnozExv2- zhZg3w^J5@%oFTKnf$V;{v^OCrGb%}VO8&uwMe=-#@8w-H{J_&Zyr6x57VIU3J!sh; z5hvrv_eQ~2K@OfAVxw6~5J}!hs5FqxSR`+6R zroCFY)Rx1`WD!N+C3i4~4HpTIC?7fw`I~9!b~$@YsYc(BKtyM;4lt}C?rD-hb_7oM zh=a0K*AsUFHbTGW!u>1k1CPe>>hjCWsLDeA_Mt$7?C|Q@Fn$$x59kus&OL_&9ukQl z>xR;7g6@2iqA;9hw9RwWW+){%`Ff0Zsr40fX9z9PGHXzvC7rtbbldxG@tVQq#8?YC zIHX#~XmL7yG=w7*WtFZ~8}h2(>hspT+!i=T_c(<^HHKyoV7=|sx4`9=2<@h=C zJq~e)J)1V_b59tL2?Qr#7{jCBwrT*??D(FZ8=tys_@;nd1Tbv5Aqn%Y;JPrC!dZOmgAY zJPQt%z8^TnVW9nx<_}k^SWJbx=nB+()uEjMFHW%zQ|hc2lTgIBahqZgIg0> zX$5xNb7t<_I5vrhC2JZ#5nOZEvG9!+okPY=*BuGe80+K3f<9hPco@R1miHaPnyO=D zo;8fqk=j=$dMjK@{p|JvbxL$_?O23rt1+cwR~w1`tVvL_swvjoQ^gs=GRasr^8*FU zyewCMT{EqlB822#4;ScmT*~$ruw;#e+BY_Vy zuD-xX3i-Bxo}|ih8kRG#r1Vi7u*-@B&U@_ z-_1=k%_7M}JC}$WIeqz37&q|F*ZLvmvq9==`Hv3Wyf-cAncU9!90tPszESr)l?9&^ zaiJD%+cJn2wNhqjRuK%#?%RCrM?zjEYxiwhzj_JJ<;0#2J0bakdXXO2JkeT;JUUCA@rx+yR)@{&AKj=j`cmQx90zxp zcRc>EeVX`DT}8fa+g60{ce(eKtqY5+F&{PiDAV~1zQMO9*VufFI%u0F*QmUKv=0y$ z!s^qn4Zf~rcNunzpE=^^LZrosf-zgnLp2$j3yDq*8jyT9`1}II5I4k24_+ZOdZ)HY zajgUFl`I-?q{x?jD~^pB0!{OU+Z9HLo?CTEcg>Hdayh}$GxEj)fnTPT^sF z%Su@yi3w&k?(VLV7%od&LzqxG@3&NzYx)U~`CsNU+!$xD#uaSP$TEwKjPWd)ZD;9mBGW5_Y`(tzV{6 zOeF1W4cbB__iWqof#+t>m|i%FWqnD@IK^p-pBbcKBvI}e!3th+);TCl&@QVYy{J#E zZgx=KeMC;(4NukV@<5AC@H!$=L)f0KE(^LKI9YJv{mi4E5c>NxSYUTvXpw%gMnTJD z=mT6(rHI4MR1Ke_89G_fK8wBt!*K5^?8g60L6+XTQs=%i`&@xju9|8Z2j8@WD-Fe| zd^YW(uGn-SQOw^F)3V1qh^(Y51cwN;0p>-}J~1XW-;SkK0#Rt%^YVe)BsdJ>`-)K2gQ<}IBC zi?tV3lWT779#Wb#ST0?O+~p3k{UBUrj=RsR?WL#|uOqp%nwh-T{fAPTRS4zE{{8!M5o zx88GJgOT1RP!@HpCUC+&s(Cp!1bMB|ulrxj7O;5b=vqND#Q1QBI33Aj9^e|D$w-Ex z8+{la)e$Sb3dd67%vd?{m5h{S3Y)$>_XMjz0gmT`L&(Tt<72DU@?qeSS59c)3>4x9 z45MHge7VEO9O&~mjM#EAx)kXWEzA0hY<{)5w+N^1$;}3uA^9hIQ>Po+0&S5`#!ic#x)L|Ey@woa6W{r!;UERkm0tB1XI$m5U)&AWEG;xF*D!Hr+jjlk;c! zKxTa&(W8}eoyE`)E_4kJjf{L5KW3F=hN&4NNbgU|`1oYS8ttN| zV`W^Hk5u#5(IT&Q*@%iAX}%3QH!XO=ws{=)(`gY5){gjO<(8aGk#xy~zN-!WYTf37 z|9aR#L4G4-t!xj`L{ciZNqerK&~_HK+|(uYVx4xC(TuEac253<1W#JL2{|ibwfQ*y z{fyaCmOay3QJ#vUuRKq@5VEDscrP|B7#zWxtisXBUwhn~a z+s3pE{NKVPjzV~s?#jM5qt~roc9U3-*RJmO^+zuR7w~fCRA{*qSAZwmy=IkN0-bxU2*z9b=A zuSt#MS_{=-7P*TZsL?Ms(VH;MdsS3+2{^zZRf=+cfx48eOs{xvJ5^?-x4El&X8c(F ziPc>~|Me$c%yzp&HynL0b*lmx%^;p7%%G_7xy_N)Q+4Sk$Sz@_VDVwtBWs93hVPph zJBhrDfmb)Q?t_5uD8ooONY|xxTy$e3iT-jkNApx>G10SiwklKA{IZm8th_Tt0Qm{^ zt6f zl7Yn9w>`^mvAB1jr_iM0TU!f0NVbP4wZE<7KLx|G> zlM$ip6I|R*iYzG{wrd`cTD8`hj9u9BfD7=OEB=1bn8YmJjlOo=FLT7>b@9CC#%J2*+b-u zsyXS+;(Y4NWzorskAeKg;K^u^B_C~8Yn;xhcv+eeT4ouvM!`WB-dXhOVQ>@7-rC+Y zMesgy4mWp!r_wo!5)SrVJ#oiC9SmEMu8n1T;58yOp|cMb7< zXY2uauN<&yvFkA#uOH#qZvH>)y>(Pn>lZh!h%iXafWXiUjdTbi-H4iw;Et@r}Tg^?`Ln-%4rdEAMfCS zo)6BrPN6lFm#=J7wl=iBU2+X1&I<&Mx5bV~@VP3=T)VwhZ(NSn*U}JIXG#40tZ^^@ zIUbw!W%;;=c_oKo7-(0HB*ycn;;6-J#gT53m!WvRM(<$KO0mzV(rimNQ+#S6zy}?E zUDW1d4vXU}(;nmOS$Dj=Mgt%08e$VmZ`VE^=Li84l8jH+$YP5Y+4pH2r()Z77U^Cj zUWENDI696r4(&f(J!U%=Y4jQ5#gu$|b;6_fGmR|Dx4sy8+1ac3m94L^(XsM_shc4? z19W1jv{z-k0iUvdo}~XWI4qLWjBea^*sp1ffrpx~+<5A2OE`%B0fuqe+Zb_}DmWz*=Z7_NX-nfHd)gx=zQ?WUtRS4ecF1-o$p7ig^<-RRG&r4f<)?J-} zNtSuqKF5ze8=Bl6`WvBEPFPvIZjkqd{AT^Haz90-A!nf64ZGtEW`xKM9E&Mn^T%+5K zoql*)<p_h0kbf90ZRY`^GX%WyIlgN-(W&(TexOC2RXYXe z)$s||Emq1&IkyCyp(4R=?T4SzHp6WvPte^JLz=E!zM&tbw$@Mz9#3WkwmmeNSH^YCV zT>Ifz^pXNShJb|RwR`$?h{+Q{)ZQf1ifKg0&y1=031RowxI($!cNZyAqH1^q8q21+ zxcWurNhVjU^)wb=(RyZ?vXkmxwWU0meR(qMULwQz@n@a({_N+XxQ@-$uF6SonPJdq z?Jg5PR936q9QXOyy>I0n4vW$;rxsbKoy>|~*vV2>F9%lB!*L@it(#Yv;SIg~A=kAt z%Ri$SdYyaix=iYxMJxw@+!A}4zDANANWxxfB0hgpkdR_|C1*+l<(k}C<=V7q$P^)* z5!@>DVLdP~9zDvLo-Wz7-wpP0R~O5-oOxo_tpvC|2y^Bk4Y0j1*`|bLzpJ zD%7;cGU0RC5|cLQiI14Ri|*Y})c2R`sj==x^5s@n>G%!waheyhslc*opNP2ktMm{? zdUzg1HEcTx!kQP*$lk5>Okpbz@a5A+?Rw7}rMw!8tYT;w^^9(NZu zypJH)=y>xs(glO`UVLfzU+`sFseWt|HH+o)k;CNh2-OF~8{XnEs_stP%%99L7(34q zXvCNw!?er<>X>{sD3VIUi=nQSLo1J$SGdbI9yYO98mGjv3$OHdu$PE@;#FkUM;pDa zUb*L^IG-BQ>b0ovnDCQU8JXKu;yACI0yuJ_$Gt)1tFKJA!-UH|=Zx35 z#qPH*?YC;QQi36-EQXuvjr!&2Kn8PLYkRq|w7E^$C8Q|fYM-2Cwc0Sn|7`lx(Js_j zVE@7qKcZsC^W|wiLGQvu?ag}8dXoO(WbTbmpegS3j7k}YHT?kb<~aO&)KBV-ecrT^ zh+dl`y3xj^gGPGYgZB(%$)*L&Nt)j&&a|Kg8|!|iDf!2ta(cT?{S`x_DT|4hBEn@6 zp&Xar!}~Kp$5lp*gR-imIBew6M%eoNnCY?oITHG_^I)C{Cp5 zbH^UN9+{0p^fTi+NE{*TyQuxOnp_aS``Nuh5IOBo%k5x$`ovjop9lcU6yrvf{^p6Ks z);D7*O^%h;e1mG;dlb^2j3M}m_X~~3zw4Am5RjOmjEV4S1bk35bU0tVeTBF3uUeYnni=16}e`DBja0`QFYQ@%iMThqWuTQ zPd`VWhsYKy>{dQSq_}Cvn2XWjsV!Ub)*-(J5_`R;sB4p3e~Ui9F|4~OoacrgG*13V zaFBAgCEdkQ)YqN)r$AyQlAzxAt=|)~^tawW>~OzL@J>#@w`II5ZDD`7?)Poqfm^Yx z!>;gLr2R(JZsbrZxIE5a+rbO&;hG2k>RzvFhAeL+>cNkB>@Uhu~cP9Kf^MUKLUQlC(W9uAZjKC0xZ` zm6$Nc-%eq{G85P~PiJ!~MwB)#?Mwi>zd=M+6viQNhhe&r)akhJN`wd0ZUU%+yoac={$mJ>aGE^|!9xC;Ry6#Ae6y(g&FDY(_DXekHrg8wZs41b6ArzfkL>@tMUYEIpx* z8hpxEvAFWM?yf!mh`6Wi6j5NGYX8Kyy6I}ki0Fc^oj=UICUoVo%9J{aJ+M<%<2ww} z?5aC9aNLNcs;`E3N;0c<6B*y2<1ifx@=aMSno7`$<_ZaG+X|3vajj_XuF1uMHFf>s zPK2z5_RM|jq3bI(Doa&4K+Q$1SMtUB)}w3kEkhCXCHE@vCSwH7hZ|>!RpQAC8~(ZQ zYzVWhT3Z4hYvam?_eV2Ol`jL2N?b4}e=M_=#Rz2MJwCncuSU5941 zN-480huR`;+vJ~4ptPz>jF@VWH&4G>k-ac?_*$~eYWc0lE+z)wXS(er*C=WiiwWlKO z`ErCfuh(VbQsc{t{f2(Fr1-MX@r{#*DRpnF^G6)Hk&+4|pPk(^wjth;j$-yS#>bf# zVmxv`(e6tcEGcP;Rur)r&N-FSKh%1XM{#$c6HJB0ZfH1x@q8$TXBX4>qR_T|C=gOS>9Nsh2!o zDoSGSj|6UNOvxp1=rxMp+`Akp=5jCUJZ39n=1+OGaidlYY?XZqcd^bwTh-N#+YbBB zKvn!t6=n(|lanH2AM^#c7*}fAYZA)QR|{Say&nd8Es3Ofe4?zzT@_xPxjZ61{n3S6 z$A75j{3*G=(80(0n%pUo-n$jrNy}C_pk=qtNm|3%#sDui5R{Lf27d&#sC^6^Gc+DD zep>H#-_U$jU`j=X9H#R2@a}*-6AE)-Nwxrh<2|?ia124AyHSy<{GJOsLceR3_-cw! zuhaoA<_)Dhwp#q_2oIa;4H?20XRG(WP3XSr>`VsoBU4^jK0^@wk(nKrl}Tu-lJMR# zLu_&XUV842V(olG>=a*j>$8O;iBXq^%ez+W?`V&nxb9Yr3t=d*C5DG#UsYUQui7v^ zFPpW$-cJ(9PJTcf0G0p;s|%}){kTp}89m5KnLMbx%=JjTEIilcYuc6=ow^9Mw$89F zCOm{zYCb3AvTc;=Bwsjx&LC6!A$ZUZ?wLwz_!w;;99hcpq3!G9+tL9QuNSTJWrXci z0ntSB*^VD;q6aO|?|Sak5LE+^y9TN1nW0O<2PrCc|4@8&SB6yOahsPOxVb^pR44>= z99s;ZIo}ajG?*6S>zdUSzsjV0tm2BY0uvpmu&qc6`l>gQ%+hXWBwM+RZ zZ_=s)glryw4RAVzKNs?>!+!P|UB*mOxWe~1gjc0G!u-n~3ER1y8rBQnY~$tQFci!H zW`x-gPb-Jr`V#2*b*pu~_Ry!@catmCN(yAYKYm7D7A^~=+_a+_mVFUJHSB5Ei=*^= z(kiY~y&)S_i&ay8csKGeZ0J;HF=R1Xr!!tVf|z9 zB-_cb;mr@-#_1g8WvWhx9?omL1b0k!1?;kYzpz>tqw3Ix4wiBGypR%AaHkL= z=d0?Ni5CII)ArA8)h&JR0)M>l71Fp2;K(!*9P1#`U!w3Gi{q>?rm)ot2pJnLZZ zNVHNzmCV!wnfyrB+AmVer8n>JdXMHMk!f5&pc9;w;I-e0J;|Wvw94HpJHzpnzbKap*ES*Ke)7Vq2wInHv_{oL^0gR^H+orDpc{f8ctv6 zrdg|g($#7VOQbdfeUrE86}0S;ssrm`qCWV|m_RF>QVfmC*2o|t=g1`aTcUc3H^)LM zD7-)P+EnLQmtO>gM$KrKRMD}&(eA1?^=2wMajl9he&j{rXomM~^XtnVxo&Mq2}66s z@o#RE9Ps-BvjSb1iFkoLFUmBf>(UHOTFNblr}$TYQkP1`NyOZlZ#Pff=e~(HU`+R; z>*pU7>>rxcPqQtxtt&odq@}LQq5n5G^iXHcPM30Ezl(5bus(co!P2L88ZW=`rE2?l zrT2#l{)-$!*X_hFyk&hqc+CbGao3D!li=7FJeHs~Ps8Xb#)G|Ng=M{F&K_fvSR3y(cEyN}TB0*y^$# zC;HPhI5+sTZ{I(hVCzWQjg5W!#VVmIsf~!+7W6b__Gce!De^md95xfm$4`~DbwG0l zI<%0HSEFCvyaplv{Q=0m_R#TRQU6;$_QkHV{XTE{;bc@aF?EY>%3cW##>ukX0Jn+4 zh=VrC9NNtv5>TN~=HmLPY3F{CoG>0C5XRoo((8LTF4}fA->C!z(qjL+@V}OSnbDjH zMi`_#-o$qAVG_v~79;=s2z6+^Twt@Xj6B^i`L}G%goT%S&-q_Y1GW=SH+TIhodYnMp*lfL zt3c7K*e>kXs{&s{ZSkS;0pKN8)=z}up0QrL4er*L5AxkTFbYe1B;6N6AKdN3l);qx zm)!rC@ZzXwpQy0BDSXci-S<0)f;AgP@A?lb-Fzk$@g0Akgc;tBH(^ERo%PMHMYiKMgn} zt3Nc1zda&T2>IVV|GJq`(m)ndJkx}W*c~`1R%cyQQwpYGEe89)e6)Nr-6eCkdpf&()Np~2o{6+oS zFUqVacnB%kCg7m(P5`Fwww~YBF}1ekt9ViB7zcoR-(2>&M>^6-ha-!I%71%Sq-X>r znu=vHfQOH-E`-8!K-XiLG9kJAPH|@^y*n^=p|0YG*5v!)0u*h_&wt#>3f#Fh|NRW; zXeAHT+oAASYLd_+<9&?ntZno8{iJh$109Oj8UN7A@6U>fN(;JlAP@%J4EJ7EzS_Fo zYjaAi0$@%%#rLBYMq^$S^&l|fACsK&YLc`?62mV zflr%qB|jn;x-rbht)6n~t*aQ->uTzZ(pNLSdzdry;`e3ZftN?$D_wZD^w_+Q?6eiL zzYb_!IpjsK&!#pc9S&XRov<)wzo1u4U6VzNlc#6)09DZaPt^Xk*&)Chn|s*>y}!}* zmJKjaobX=-WKaCT$YB4cv{b-!b0P&@!e3(X?=Svx;ApBsRH+Ks?>|C?;wmc|P=dq$ zu9oG`D+vHKH89>-N&L1qz&>q6zeY7A*W+>3{PW5qF<>#ghu?#LXQ9`i5!hXf)~EFr z8>N3-A4{X1w;M*&7AX%{5|J#`V zw=sXP*+#Tzc3UCN<)?qJ%xln5%xgh}4{HAOKNwK&mNhpMRGa>BCF)kUf|Tq2!GI07 ztU1b@=lhQWWwY&>6zOVp}w#+iZVohGRKE%=L;>FIfM) z;sYq4F`3sBx_@ehjRZi<8}#^(wg0?wajSr$?o`zMsToF?0WtS%aN4N)^9n#RR71+U zR(}{)Kr^TVI^)=LdBpxtZL&rKEGCRHvhxp}QGBark9!Jc|GY9F11$D`y)i>RQ~Gu8 zkh8PJsA<4WT1@x5_TY0~k>|7i!2*n=*{uP3bHo$by03i$u#>)d(~*YweA9Gkm=SU*ly`_eXN z{BEua??{4u&*npRa-xKtoL9c?ic_2I+AnyR5rRV3YEGjUeM60y>TL zgtY;^32J~CYbt_LWQMhFtJJRGed0kY1j2;>C!bv38dr(Gwzs$S=6o*J^JXy5S~1zH zLnwX6!o=GR>{%1!Jp8LS{`y!8^slV}tmC8?m`KY4w);v_w&xFdkj#t)sO}{jx7W`% z>pcui9lvLHakRbz+~o{^fPrCaZM|t|jmg`Ek6deWMvgj!(j_`<7B@8lhQAb-&a~!V zk<;H7ee_J!7}T2^I!5ylaH}$00V?OFa2f}DU2a$TSXh)}Ajq>ab7Z1U*b!ulXdd&r zx#aDO^&W?0dY!=8L4j5|45sCvY7=r}T+Qnibjs@EAKLw&>JNJCzR)FwQ^*bfgE<%g z<}jU;XojI>c8d1DqT<2(BYFf2{QQYb1VH7+~N zGYhES8PN6kvJw&kJC_FsBNgjo!ew%Ck#ZBpSlR!0uM0WRo@}fD+At4*r>SXaFpX{==ly1h#ha!5C+b3 zdT)L1s%MlGwX55%w2P4keXufA3;aGYC9L_GmRWkMa!xIFwYA~Q8?ph(7 z8uvR%cTOhlPmR$7p|qA*i)Vo2$qgiKA68v#e7vOPTJ}W6B;E8ezqB8BQ-hjU6=2p_<+2eY$1?#w(DiBa`J9To1$pTQ0nzXL z;aC`7+A+J{0(%H9(u^=+BfEzS(|e|e_=qPbmyxe2dyt&WZGK_d`Q)D(fdSA6H068s zDyS4O7sC<9KFI{o;B$0j2LEWnx;TqN1!=g|1vP}WkU!->AmNlBN_Y;iSZN{ z4d4(D_JpkkhnO{{#WdBXl}|;h9;EZ4LWzZCqA1A6t>)<0`|+N$41N;HV#`9E zZ`LIx|2;O?xV6}$uV{=JLN)Vui8>cJgQH{d!)HI<&k>=m3_V2`lT~{u81(=9zF9Hi zcNPeif;hq-w0ffy>QpDpM3%hjgiwQ+{2;9w>+GQp0p?{xU9Y_U&}M;guTisf)lpx) z1O-2jn4^|=&a}b}_C>f~NMw2H4GI%%_>C$3sRF5^qky|qFvOWRT<;NzGsCeDTS$?n zN1sD8)>b19j{E`p@m6*j>@JpnapgkNlxeKfl-iv9<__OuyPy9~)p$sat zb;bN7*;&&+?xR*_1LU0T1yZzg<<>4^vJftY<~+Rr#muS&jK~sk6w`QaOm6L;aPc=B z=5`I`cegtT!O-r0^rj120t`$vn^gJPKp4(32+UC~(e@MPeR;wD4<@_~tfggdE&nJv zt;<6i=T%@#iVun z3}buqZ4FQ|A$weJIU1KO4gUlw`+d2Rsi`@0{jECpD0$ki09fwXObgJ! zwH5txk@99u!V{Psm9r(Cr0bTX# z*0rCS>%4&m#V*>yBZOoQ&3CW4NriTAeS}ZI5XC{Mdt3@nHshI8o%9fuJx?)^Q9xVL zf3p+^9K*#-iMW1sG>1Ef5Eg1G>&Xc~7B|^k;HYk_EFCU6_@Ud34rloQ!YH( zHIRxqt>u)|ht(}7YI`#>84HJ$ZdWfx{s(mbkL#Gp3t}|k0r30fuDA6BY8owGC=wVC z5aWRVypisG@azm@pk`pWVOPwfo0`@1UZ$JqyktH0 z2MdSis~PUM3PS|P@M8=?_ ze+$N3@CKl*-3>{l?WXpvCtE}h zgpv6j?$XCa1yI%7^_nvj|E3l8KN`8~pufUe09M~J_B6nE|i7Xp& zi9jNbjWo=Z)2g!t=@{d^H<;q6AXx5^BQWONd9$dlh&?GQrNP1VuS<$k9J{8glX3ZS z_=B8)Jz%7{0|4`RX0!|7Vih%Ad)`o&SvK0dr4^nqOR=4z@Y1M(KwcS1cfQzA!qZc9 z`pY|*W6Cs1cM6Cmw=03+7v3pLx}9T&okZxj*#~cdulPN;-uuig+w1_zg9j;R?i4nh z!k&THybdDgUzDa082C;f{$ zQ5;+LEhMH~@p9A)DsLUojN27?i6#5u#_m9Uk?V-c z4!hs^^DoYC>|Q%G0poh>PdRD@XL*Q&a{{8bDo5bnfDb=K)O03w3P8UrldR^%xLCd? zWf|xFFB)gxTrb28WBgBqMo|4>0>ROw9<350*Js9l_d2i{ln(71j@2@r#qSkSp+Pi| z#qSffdXhXdUq9v>zj_tLL0hTmbNsy_DdZF&_e2CSH$5qd+-yOV?6U_K5qZe{U=Y4I zIz~a6%GsR?YxrtDh}USRq0 zdR|5?O_bn}SJd;0PshIuO<+oMG&ZrRJe5)O0Gps=as7dunyggX2SK4OQqdnO53KRc zIs}!*4uv#}m%4&J8_>u^9#Js1O77p;qt@YhHyCT#$wO_VsTBO&iiyik_D2)y!U7I1 zc1A=#gxB-?D|J&M$HOQ-kdji3^g2Wwx;Wn(FEj61T-NvWy6g*_Q~Z8$%?gP~5l4By zFCuaw3kc+$G*S=sB8->FO2U(`H}I!G1=yW!1adu+5d(4*s2!~O7QDu&7$NV|svT|N zuiNjv_c&ZRM+eb_e3U=7v3yA5L zf_D>4G@eXYPXht{mhfp!e~{F5!;rTV$>^^{j;I0z8Vk!o1mI0Pww>VF6`Ge0jsB{9 zl*TOSgcB9;3{MXZSIbf2XaMYG1JUEXW%4M2`W{Yk;hUeU zBC9sFKxt{M{`Empqo91>gOqu%2&lk%Zro3I{@V0q{qr96>@cSfi?AHQ%muMKl|Ud+ zcgs&6n{h8>j;-}C-`#u*<3(zi3OeQ2kmwS9xa?sl&-n$W`A^Vr1or=w9tM#zA)sTQM9r`tn6H}vG*J>u3@9`=so+ne9ROy7L|JTo4cQ$n%z{5iUd4b zbOlrYEZ`D&*xj}^#xQ?TY`)Xf*;Ib#pZr(1z`~4@WLTjeXv$?+f!`=P1SGIsu38m1 zzui(tQ~{@cw^n<`^GrV5DEe6BtOXZHW~Zv|9d>g*8w+3zC!uhx?{@sy$+^(Q@>oC2 zr)Si>^WlLelEmo7-tSUdkF(p&+kBr4e@8*XaYPn0jE`vqhMb3p{Dc)lbA<%cVTF$; zgkc@DOtHUwSYZ6NgdCX5E_hGbt`&OOp;2c6B2bzETsO_#`El#whWf5M#RflvZ8L=* zO-U}?Z#RCXCXSax_41G|2KHUZ&=QgVXT;~cSD)?ekBpR?{At%wU4B^FpzFS6 zXJ}^xE%ovkU(>ll*IRYruKA!mM!WA%q<_ABzheDa>HOj=aHNR;ej_dX>E%{g?<1y` zz&yZT<;>F*mtM?j;U`^6ZXtcfmGi=s1)eDtJXpQ#B@3RF{+|~a7}p#Pl|ZhB??1f( z$m?BArilXyY}tF@B+(T?W_;fx$T7e$Mau(sMzj>mi2{!Pq^TNav`;~Zc`s}?=llQz z+!&T0ru7-D9NV&2;_qk#9o_0-E1Hx(wJb8g|`{<}q z#)6MYI{MvuPixxjP!imNTiAjAArmHKIz2=(+?3UQ3TDjU5sj#N0#(8P72Ek|Ju?{a z0(lJeoeAJcJKT#J^Cjw4VTy18YA;3%mM2kOJ2hQN zxl~gLuBo_uK_IbC94=l)eew#eCrO^W_l(#!bm=j-)U<71?Uh&aj--TXO|?OFiPGqq zo{fle<*t=BDylC+g|>}ZPYUu@mHSRiAd#d2B{~vw`*%JvR01CKijCp|@vnHdd4QH9 z|2~X5G{qc2WxOHViC60E6sVX_$CoBJ&A=+6MD@S~K()BwQe6?O7tFtkSHsIlnq*vPz~YK>vK3l3KnNhB&W zP1Nl4`s9%b2?vX`UW0?{WnYgF0TSpr(WJGds??uFGI>b8T>xn$tJuqAsg?g9S}GCP zocR!eBtzix&43uweSrZ>qnIT1PZm2PoDr7WC2cr%0TIJr)U68>*+fN&9JxMcDC_q1KVzw#M$l0*?NimrOIry2WgfN*Bmdl8r49hJ(k44L47g~%)PGW6(7 zPuzSj_9We@he zNYVxJVLxpkynJal>tP|mNH3ngA1#QS?>J?&<4^XcBK?Eg5V8^8r63jRAUx<+*T+-@4Iq`}{mb%zRK7V* z+1$Hz0H@)L5gxr>4=2?(|A&}kF6T1*S&V_uEz8Ci-*yKrgg^@gX@jj#he#NK-WE)N|@kkL*UNB>G2AT)# zY1TgkDWK{%5^d&NB4uKH_}M6MFT}@jxYV7()5Bf=GVNPFVMQLSoh0cvh2nmqb15Fd z#MPTxScEKYwh2mgcyN^LHeMzkF*<$Af7W%TA{;$QGQQPV&hUA#}1$hu*i3hnsS7--m zjzUvo_$P8Gkd>N(u1Se8=5(?8G(fvo7AGLpas8zUUx|xD?0~30tY2CV1;3tXuf>?8 z{q7~l2RtPv_KC>g6l$z}BUtHvtq}FowEy-3xIWCdIkKGr#9lAgsW6M@I$vl1M_fNP z#UzkeNUFfhYB702mo;!}n@)q+y|Z#x6E}TFRAg#^PM|+9f4)EmTs*mBSYspM<--dk z`qh90?(s3|dE-N_YLvFz+Z+|w?w|7 zi2bDe!YCkuxG+Kd@IBj83NZw$arEBWeVPuzaTSbL;q)QR&;94x!a97BXo;}3xz;CT z@TXp=RP#X~v-JDlY+j0YSh!!NRnTZ~2`+5Iq7(3i=~L zih%Nz>kr|1M->$Ga!ve{u?m6!x}t~Vv;+5(ueM>+8)i?Dg>XhAQ7Rd7qroceT6=0# zPsBltunHApKS9C~JxSW=mWRP&;2~T|*ySM3{Cnu((K-;;cGG__#9A~^RCC;}7QZ(01WzQv((WsV;Z<*m(nX7i)2H;WHq@_$YPTCsXEuwf7aq9J`J+n{ zC8ZVto9ISeDaLvfy4%j~yC0UCzV8qe@%y}mUE|+UOU-YVjRl+d))@o-I{Z<8L z9R+r(jr(>4pA_W2x;63k6&DZLiCa#sfPq9iD(?H;e=9dM$OK_M5bHkUMaXui6C2>Q z%Ir&9`834?g+Ns;!!B12k1xF%@^xzL65#{)?{c}tv^)&N2 zh*X@;tsKYCXw039$3MVR@V#tlMuyR%AwqVo40~@w{V2^_Zy?HN8=u(Yxn}(oXcm`Z z>ZrY_@nR$0Mvr?ku`SQ+>Bq=lNY6uB4n}e5XFa0%j9KdNF7R_CfgGo@Mw(-wm?#0Q z3Jo*JXW4sCP*Oq=qeBvldPh2vY(41SOiQ#RI_K9$=&Bsy&@DLRg|FG=hJ?m8MVk`v zmfvHjo;L+LK+trFqEgH6>wzmt>Y+#X#E@NBO7sf>zKA^)1mglh3;yZr@1O+=_j@tY zX8rlLfUu-Hx@aop?Q_fkc=7o3o*jO`)9+mKXf#;2I1EnN_0`YAes{7aot&StBWF62 zpGdlp6ve6QR;Qt{JdTTAsy&R{c#j*)1iR-iRU_wLncG->(zZVzx$r3P`xV0WVFP=o z>e)IMKqbCJg|cttc&M!uswf-YrojcIVlW4k-g30ef0Af7gyZao$8N`wj)Lh)+Bvc# z1|HY@6-v~@PBi*?x|-vq9c$%SHcK(z zZN)35-sYGA|2TT=%l#ZUyClTPemss033KuViUFP%Ov@Fmmel}I#flA3 z;>c&hT~msZ?zLT^-p3ox{{Dl3VDhs*X)mFd#IkZLRfXr~M$B_^rJ^tbEJNOi~ z^&2WV!b|swbmp3r2A2od`+attujgf5#-sdx8oL92u-l~_!uAZvT+asyvj{voYP-<# z-et|u5+pi)_Fqjyl_Uye!)mgqmmvKl$vm8>uuzq3<83FUI^I>V6CzcrgVhLEtP2xH z7*6VidcPN9g?JmB^4#tT1QX$kNBt&0SJw(3FZ-nF=BhsoHIj%AK|vuR_#A|L5r7`! z7($yhFP(O>-!tU9*MsIS=ePH6Bu<^TkLqa@R617*n-eNnF}U22+&K)zmI*pm;G2$D zEd&DFo0_(ihu@^XxGvSw5E6%Vx1k7A!hLHRqXZ9-5(B^h$PaM)MYRay_9#uO#t9#4 zL)D*Jx1e`pA*$gIkTgYU^m_t-#6JIRnqV5(kE_&S{*|}JQ^kH)*1LC?E}I*@&EZte zK-S@svuf*g$XUPNb=jn02)WZqaYypZUO~s9a>g&W&Ix0rfy$&Fhpz|OLgfHvonncb z%hC&PT(reBj?SJ@e4|CvnH_wm4O8X`!)0tVEl9jlq8qXAg9xSu?_D^mzUg8tc~eQ8 zhI1u$1ZkA>;~g`&M;Y*3grBei8xjI-O%TR2dIK+vH+XYmN%g@VfT2>O6)!|T@5_z5 zO#&TmJohWn+GuJ3ZVT4zCvcQOTE2W3D~jCg`$#6?tq0@}JouI;j!!ucD5|?#0jWnh zgulvx)w@LP;uags*AcJmS5pr_wpCIrF*5oD55KNur&>~saQK$!Z4jI!D)l|Hmi{k0 zWUhcllvqsfy1-kj{V`F{V;=S>ND5iqcPmcrK=PoHEnt2oKoBkv?kc^UDoy|FX>!ya zMnofij^;O#5cmt?6j`81=vOipnH_zIh4@&`5df+oAYq43zSvu!+ab6QCM*|RT-sVZv*LZ4KSDkOO?Z?%U zQdPl!RcBUt|1~B>F8AwIiBLE6z<7_| zFDBwl56)mmP;FTOxZE1$_F@fIRu)LBo#pBlTk_TwuZ;3++*sB^_%8T-XfzsOd<>Cv zaPiRpu!vzbM~Y2@Z5wBC-%wGO$uRr9@GRUKsJAf@;eE)i#=rRVqhq*(@N%PinG)Pg z-(#7;edrm(xlO&J65lMlp5vkxRkeNHHt&t@f>DOq2wa6F9^&Ws!?MhQ#XV-lBAJC4A7`ipq&~;hDRS_5!=ny9Q)8(xhijf%wQfoiS#J(vm4QylOvsZ=2(ih9 zb3zh;LXp(dcBi&pg{J`z4M{pRU@yQ)rPr`#SL)nS5x@wqS>Ak{X2`~dAGe=fzv3#d zX6Pz9sce{6-4@<}|1!Km7$ZL2jN+*C_*lCSmG%yUT!U<__Q?%Hsjr8tE1||CpLz9tI$DAglJ7r7v+ltX(DS+Z<+b zZjgNB^ZH;D!sW3eZjwYy|yN&igMl)O&YZ z>IjLd;1bzJ9JBlmjR=evG|?zS@Cc1yKA`WW55ykGvuS-P;cI6!3;~+YNmH&DznWz5e2mhAW9R{Xq^9r#HDN)zvk5pPsx0)ysc5dPMPr$ugio^6Kaf}&M)91jL17tpZSRel$cO8^H!9Fa@j z3vYR!hqgGRR*#wS+YZUhXe#A1W=A`Q!kHj>e~SulE5iLRsFY6wz`HMB^28X>>z5{I zHIady^wB)}5peeCyL(^q=KvG&+!7%@X-R5hCWx&{j^KUGyNg-5gSKzYgeHTW2n~g{ zVNWbYj-rhF%2__x^uJa7TM%>WoQV2>fd^OFID|b2grOCL5FM8XxmNs)q>?m|x^GxB z)2GZ3%`tde3ZszB)e+)=Hx$~110jMdXTNszr;Ti>)9QxObXPZ9Br0D>dzFVVnvj-8 z1K9RqVI*LH~!)+bpOdN8Q6KafV8KwL(QUSRJ59YWL9XWv_X`WnNO3 zgQf2ok_qf=OQr(#RWV)F%^Yg6Ly&kxGYyiD9T7NWU;ieRJ1fg3a83esp~YAi?1U7z zLZx2YqaNbz5?z8(Sf=3Nu>@j>C%g-MSk4e5&-g+~L3|=Y3tZL9QWm}|;ga^@7Z~#& znuXlbtR2!Z2Ju2Npkkq5sC0*wbQ-|Fk40|py9E&)BB=#kYyzJw2FZ#~A8!!)k^3Yjr%lC`EaLzi!Wc6Yn8=LcFbk)q=m8w`(c)3y z1mNEbT!Ea&t<3ZjEEDq1dOM#2AdCmDI+)vWiiH6cZyrg6eK&AzG0hFk4JX|nfmy-l z#U!UnB8g@=#pxlT2}krpxTvtM%xUn0H{B8gFmKHe$h90L--HDX`^;Xj9#9FWxA!^S zhY3$YH*pK{8rhp8HumWWzGdZISjD&U#g+YTQkpo}zi6VUm*b_PF*{y5@h6P`zYL5hT zn@lf8iKKs{?%^fNFb;W&08If9FWcsoi3cO3#Ss!z-sKAyhB(2ch`D7ehi)r-z2x}K zE8E6`-I(_M2hmXCuQ}Lal!2PBC~3c69`)^)Ofw7sF91zbweHEo%;@Fc&ULlJP$8^9 zbqjY_n4?p@YN7b$psR%`a1%(d zkLWHIQLC`T0ZAuaDNZq?tpiJa2uP+?3i6|*B}EpGI8w?Bu~MqfV-nx!Xj7R*{-=4^ z#)rNP;Gnc?$1qH*myN{3+7D32nwQKshB`xMAcF8Yuq3E$4kG#FGyAUL)31jV;p=PO zE*@{C1@~K9d9ET9xf5gLvj!VOwlP$treHwSJJ>%!6uY9VL4iv%+%I$rOpcY+Ho=sl zqWKBWOQTvC%WwmSB4z85?DcyAvl+ghh2FDRM16e^mzD4Xe*!7ihdJKefcdE zbKETv?HGAEdeOw4`ZPOQ9qe5nVu?z*36=!`?S9fFS0Li^X_k7hpYd)UQeCU_X_(Yp zsl+Il^O8>(0$9Q&Oo-X*U16Uw#j$pEMxLMrM7#?CO4`eaf{yNDUM?=@*dGZXjVEBL zOsx(PkAFBIlAKs37N;_RQvv@%$6!cv4%(Hhrf^Kj+#w1h65%bGSxaXidElyT-%!y% z(8K>X`08Ira<-j@`5qW~994s~Q7I^tW4D#dDR!Ck zq$_Fetpf!F3te})c4D^!yRo{=XDw3V+YJ2V{G#R2Aiezm;5?wVfDo~)_l}Ch`tt`0 zqsS$8_;LvVO5P2#Xk#YkYiBm%sF%Hi-zvS2^`el%P_tV+1@r>($mn*Uth=^tMFLSi zUSLqS#(Y}FKSr1h#;tRiXhS{jWkF|cb5VOknWI@ zR2qRpH-dB=@{rOEB3;s5A|Ob9>)dE`_Ooo;tZXlK@J&|h@82NqfU|%>fwFHbjnUElLjOl8 z_3zpN+T@OY63jhN^I?6AT_E7ggx@_taN|7|30efu7TQ9d#;RdA%ccnmOmlS`(W(z> ziuqIRxf1!YqP!JjMI7N;GH7&=bMnv1ZR8X&yaE2j(ikY_zf){M3I>SuWaD{-`Vy^@ zST6p7Y$%b1X{hbp(KK}cuWTJ>!blYrmBDfg2u0@bkJ+t17-*d5-%)OQyPZS%E`ir6 zKP{G!QB1M-w=*@}8KDT;t=v!>6g{CexmeYS`35B@-`HGR0(hfD{?29E$u1 zq+zx0D^QJ@8Mwm%b;|QP#Z2E)MGyjBp~|oYV<$={eP>I9mHa`!P8S43s2@%ia#lLzl# zzaP@qvDO8AjQ3ndQ-4+_KYuuq1$u(ilGM|moUR{?Sxt*B1%|8-(pf~UV7bBa0q4DQe&NT&e(j$+f zk)QmEA9=_6U*KYbABKy6-o(E@C=LPwAs*&nEM~xT7!`c!=Mwr#kldN7f@t&QNhpfLH|Bs z^h1h)K?+v;|9!~+mCLn};gEmikV8sJiqPrxgVRy~upDzf-Uuz7n(iaBbQy>V?cDTeKDK^ zM^wrU`yE@m7so=jX&zsLEUc`YfYQ$TbG_Sc>s_HQ!wzd+t0w&~TZ<6-pB8^KYoLhh zvQl*TpV;wAxTRi+^v2i=J3KU7B1{i<)5gtIP;DLq#Jv>|SapiwaJU&uRQEd)z{8(@ z=68DrFu4}T^j!1~$ip4;RP)!pw87B7AK~+#AHHIab(vmceX6;BaeUP|>v=3-{cU?v z(6U1H_zU5pfCmsAHn>_^TidDRSgwm3=6P2Be(;JtGeblhpRI`8BzDtqchEJhclk2w zGIz9)?s!{aP86N#@M^o^W;~_ZY@;XFTJpg*bCLr&6FTEl3Cf2`Zz+Ar8;$p`PSMt7 z6uXgbQDBRSUBB*ggQ~8Mkwg>xx(U}B&z#$UeaB|vZt9)k+2P@1IBh;dii(p)zy8q( z%Vd1BI+uKDK%Q24>|33UjxZ8gJG&s9u(NMF4xI>6%1E)^wB!26=Gq8nhu9W+TeoB+ zWb$j*QH8G|VZOSCOs*)7riw0-E5?8={(bYJ)?rPagrR08l!SYLQM)2n7GtbHV^Hf9 zm&Em>h=3f>V;0R97%kl#PlEKu)*7?7x3`;YjTP-* zJuS55AXDD{=Y#(JOj=naw-S_kCpikK7RBE0W0cD#gQ-hV-CZlg+*+rBw@FOGc{gd3 z7;}nn+_3Fy<>5gCN!)`TU|X8B_z(6LyZ6Qx4SdS=blwZU@10xo1Wg1&ZS}bxUdgNM z*~V^q=hvNG^AV+pJofz(tsuzCpi%5N+~|3B@JX81Whg2N+jJv39hzhY1{cURd0q5j zNrtk`))BxVK_YXB94{7;GyO|pkv)br4r|P7qP51|$~2hJbZTwBXQYKMc%8S6d7U=b zkxeTuG;jXr1Fxg1+90{Hpw4-^6yo?Xs2ApPxk!)Iaam1ijt>f&%zyA1@Fl?Yt5w{| z!p51B#Fv1FOJnvpIS=Q^Stkm5O6XGC)9sAp;rKpcrs5L)_W>c+E&UX`%Uz_#b^)o} z^DNxl>GkGVkwua3Yzl1*pQ$DW3X8gRnqI9VColD6mG$gPonc#3*y}Q(-ygIb>ayn- z&1&me-Fv#6aI#%C^U?ebU9qjv0ul`j^R?5Xt-3b$yb)5%q09g!E@k51|2iJ|>t|6{ zK#d@Q>g1}t4-ZRH$r(DYdpliiQ=Ls&HPv$Hu7|OFc|ot-G!6HrcIK>I??TrI&FE1R zlOfDf6oZy1aw)@;KmB*_UGr(7L_DE*qmKBu4<&1OJ-~oj`rfJpg=z;t4=_1D*_SxF z>9Y6PsD1u^5~T^8fh9wkcwblIZcMu7YWTr;;RQ6su`fPLZ!w{ib_B-q;=#gGKd`BP z?eAOB!k^Jap>mPAFQ%)C7&;>(DpA!$4cmjERTJkOY$7%0qx9v^nnj1RB=5$Zh$Asi z#DuBFwg;dSBqHM1+!XWpP>x&@ug1sgf1%VYvp*N1ZO(nik*I9Pc{}xH(}Q21M1IZZ zoC@5H;yRT%M}W9W;|xCJbbGS=eE~y_)wDB>CFFaOfO}OD-b9PO#O>jHHJLab2}Ah= zv1+U7RagN6CflLu%}k8y%@u;iD7Fy&{s6A|Xd>qakcT?ieTV7aSigy}ZUbKSwI1;< zh^key?+t6W?_XDPY~~sbOmT{g#)@=I@tL%Z8&3?QhPZ-6Y>2ETN_~iU9pB7WJ2dJF zuA%+5ZI|C%^L->a@7J1->IpLJ{x?_;lS`vXa;L&c`TD?wYCYZMe6@m<_7dkE?Ezlb zbixa^>Iecq`!r}sp04xwkDsP4S@J0|^F)I}^|%#N(+cB^1-{`K_Ku?vUl zu-AoFf)|G>aS+vRBYJb*Dvc8T)!eLb4j|aBk)c-^Vzqqz+ZG^yMP5iT_^Qz3HZjK| z#7mC+xCb|%umwagcziP$ogO<%b*Lqp#A#uI>rLDHtjWt$Ztru0)z<`dC5yZ2Z+n+H z{Ji5e%d35MiFv>)Vvi6!%_ZVeDEsZuh*$Wg{sj{q;R@d=kGq!jc(~u^*%-h5-^x>f;4}oIat;{RscI^i#b` zb0|)v=h-*TyZm2XISk1e*Ne{3sMnhp9tCv0u?YORC%y|`iyQK&kx4dcL5_i{?WS#w zmnfXXYx03?B5!ri`^p{a=o8bs3h-0{yG`%&B{I3I%ZrC&?K)52-_=3_DyEO9L;S8^ zo*e*xftr&s*Cp70j=1zq%ny)?%^CCoN;#y1wLus4W-~*@AXnA*b|C&+n}aBn0K!0m zpl59Yknxv;xjf!mMb&+v-D;ulwgRQ6u?M5$ErEd!ptO^3&^6gYmtrvPehc_{Qvpw}i4fLo(QlPHZK-Q)iVz8`T;?DX$t7~IhLLbP-R%!u?Jm>t4OZlUj6~imb8>q5FIl!7vlBSwvoN9vsaSwmNO5;Jas~@ z%i2o=PntUi$5k3l>~WknAgp5%D%z zP)y{Z6=3hK0>(lE9Hf&M^sE03M!ERNx70DM=Nf1GKvv~(H0sEJY8u}j634^p`hktm z&4%h61l_e6DTsh>rFkV0mu2pY(R?+iEDyHZw^47YMFC4vFxbK&3foUantRqU8lk`M z5xiwK4Rm&XbzeySxId9wEu?(T+7|Ql2Vj||M5k2xK4tf2ewJ-Vm$uxVYnp4vW7e(t zSg2Lr!KhO;qkVgew|S^ok1seuGCQsT3fm6E$q&8vm~90o@`fgn1VRA|6Kp}#?ct*Q z@`SlNgn)%hCYF)4KarDNTwFYGEr*}yqNv-j$>X~{_Z|pV8>0mp5`wi|=)x;f;3QdQ zypZOiWO*gac>{bE`1DNfk_3u9n2e93IPp*BW50U-n{Wos}^LGzkL16yYP zob4H)lPoQgF=RzNo9iU=u0PZHvSnSrFW~?%pVRg?-#=zNdAKP8BxVh(fW_x>*0p&F zXb=fBX&#>#HA~4CdEl3z0vLWef3--^WNXN4_?i;`u=*TWThtLML1!k)O%>XPz@y;+ zlCgL=P(7vS)Xbd#ol8OHwxZ2DC>csamuhE^rWI}MSg>Ti) zfVl`qt;w%o-i7bui|zmNaddhTw@sr1t132;XXSWrjeZMAH0K+~sx8JpH*Sx*uL&7%`rOOWYT;f#k=m)fRq?kwb}W ztN9yl3e^$Mu3+&NUzxPwcbnvvHWNLkD_%sO|*+!g#x z`|Yc5ODErfjMRj=;ZQm26J=SVAY<bJtt0GeL^juWq2X*ELEhIfOl*Xqo z!cLnb`vq)*apb&9q3neWUumSmvR}TLJL%x=I~WwQ84x_%eiz=qmf|#v5blAkDkB<~ z(S)Fi4LqH>_&(?@zfQPwSlx8duM1>|SiT&en_>6p;gQHGsadLtZ7Gai&l!xxJ?WZ9 z(P)zAQv(pf;LO>{UxmphYDGm~#WFwOW8=KDEI=}|ZUgXatK8kE2Q?9Qx(#G-6;bu7jC40?w zx|bgH8muvor%p`1W+UNKCrZDQJ}h6#^5ib|l))G~+(Ynq#$h!xg!z`s^IDg^-I-e# zC_#fjk$5W39j5~Ub;!f97b24?qx4yK$Caqg6~?^)i3b`ag7)%)w0jB^?GDGy5{xUN z#LMq83|?+fX`n0v?Qy{uS#WgW9qib6*Xfe+mUea6-?`5}(GTf|jv9>d&&qJZgFgd7 zB=uXnnd=5u3chN`Y>X)F2IK3UF?F@Y3XAGju_rl8%e?d&lfVh_WVG*RiX<$7I#Qas zF6X`Oj-n1`%q0seZ##B>Nh3v98i5APOG{u8s1v0)|f^|Sb>}vEkSl5@p8^p1G z`9O_-a-wW+a-!7^vTFnrq#It(czvJvNSuF0K}{>RP7lOB+1GbSlby=FuP)VAMwA63 zz59lO+eJ}pJolUUg$EZ}&(xZ}&5mA|ubg~9?~ z#?I1?I9JQtl?P?MONIV*Trd_8}s0MwvO0> z6+#l1Bk(;W9FGBOm{+DZ!8CP)(MI|+R(~+QonjO^Og6AR-9I-fX#IQeSa6}!CU}#I zaBQX97H9RK&sIQ~_HeI0kxi&2;EBav)3Pj5P4i0Bt=FjR_Kq8m1xy8Q6-QU9#O`f=mgn7|Gz|lOuNOx$ zv~;azHByZ2<~`e|?}aYt49gi4r3rDiS`}d%J>^TJi0uW5Z2 z8P6ctx1`qVKBVgDVW{qQo#cgTK2={a0GcJ{jo13;YFqNLM5Cmk>H`lxyKM#NbqD(H z1kt3HlHDOj(P+P5Iu=iHFO@1(U(0ENg9CtTVND@+wv^8@-aRtzB;ZP2&H16WR`|SK z^IQ*G!5U=(^#fwd(>IiHhhm9_&sQk&Ez7)=lc|2C(Z*52pX);D_@X7TVC1j*nDj|$GnbU8$2-#`8n`{D4>kCypmcOvYrC&u zg3KU)gLnhjMO+rWC7g6xkAE;2kD+Hbt1XL-BAm#fg5jK0MmCmIQQYe(hICgC?^wnY zH-cVz`$W35z{1q(S?45&_VZS<%V+u?`{Jf<`*tt)dDX+D@M1Jz1nu9XR67`inHTUa z^J2pkeR0}xPjeC!7J!oRDn|28#da-9Sh4s zWv9wSVYbn^F$Lynf}Sl&n!oC($25pdmB5CF^Um-q?91ev5Aljrs7Llqrh}i^L~;v# zEyjz>SR$8_R}^EB4V*2V~6IF9W&`d6Y0Y=?BGHGf1dAA@h$kaEm;7VKG;S>A6sTik7DCi zF}`4glc{Tn%=kZQQR4tv#!W#8v4=@wkC0}C}N%$iX)|p*&|wHDn1$N8EsK8 zqeq3oneD*bsPHSzPltgxNIpW~(Y|4ppSy8GnR9a4kQdx7ajd1J zF-(2`#fD*0jHSu(uHHaCZ8eKQy#7*GPfpyC&tErrl_p@2-rzt}_d96om$VPF2c_ZQ zh+pe@-?CKF@GTMNd`R8~*uoWWzhaXNTtb30qj%=fY00r^(Otyb8{MfEo5gMITxqqZ z@Ge={dZP||P#+PSMRiMBQj>;3pX}xOgX2Erv@j-}Djp@e=Xqa=CCNN13T)`hCaZ1c z>QCcw!ya$_fGoNU5Qt>72n#DMgWqEPA(g>y8g>vp*@J=>K+X0^;M!rRQ!v#ql6AU$ zq+CqkJ<6eSo{{JRR}}(6`8Qe-j0p}#bKBU88$mW6OC;9HxA{HEBgGYu<~=;}gdS=I zuK4C#HRH>bem5p>zEHj(ExJ-Yqkp$_cuZ^!n}0tQ73RdhQ!(7fKFDw6^~H}Y<{}B} zo=&U*lx{y;no=EaE_aDT?Y)>n^VTZ&kNQ##V0NZNawrA<$%PmV?#HZIl4J`}+D|Dr zWf~bd>=|MT;=~q!Ly6u+Il|&DB=eS1Z(^=s46>MYrXR{}$M#t_ADLBV)qYR+f7BBZ@t$jy$PYZ$#}T#7TSe;q8oh_5k`nhBUSn0|d65&60?Rj$ z#-l~IKS~S`5mmHv!S;i(-3KNP#kqB{FGgQ~haB$cufvB2!1^H(A-$9u7YQ9@+4_|_F(TcdLxtd}>P9wp0R_ots+hMBTL9sg@jPaw z?QMO7)!GkEYU?Gh)5&*ic%4ig+mW}`VqYO&fppxc5qQr?CL8hi$Z{-XyyMKHjtwFV z4TwP#3;C|1oEt6AO9#Gl0#8bgW#h|Oj_zJzB4c2efkSf#ua&qT`#ggw#eU%NT0E$& z=OD=PrXJzHu!?;|eHc@zkRZnAv}tB^?QT^|aR3u?!$b#qahZC?Q5Da3X9CGpJy|Mb zP+dZf_bfx=$(CWL^sQ#%#n1LXloy%f5VD)d!f`MNNF%6Ghs(sEB$0S@Sc+fMiuLMh zzp^#{1qr^`kMQ0mh)#Sh6GG`^Yi8<3)HSOc&FJ%0Hj-9#R<_@72bkfoAt*NmAw;@^ zHorO|3COpUF>j@}r7{NGBpn%c+!`B=&7ieoiR_JKDlhXVN#4r+_TrNm71PvX?xD;~ z3XLiXgU#FOtA5IAXUdlG`iXvW;)BCQ-*Yk#vCo^4*%uh&?C+}W^rTzl!J_C{QJJcd z2Y9y_4}e%LHpQRO9#M;*lE@<>VSfjXg7j+SyKkdSBGR;3Qe}SFLCxQQK{W-cpYX}; ze~TmGY#drm5kks50`GQQx4iq{pQ8ngy;?eHU}TXvwIZ!t4w2)N>7J{b|BHoq$8(Qp8y}JDG0e*?RWJe z?Z+9k3qFLQ;*VUmR(xGR@-3140g!*7&aoZ9B84SWfhl+1wT5nhVIn456+&-6#AQ7b z|E&}{BsoQ+ghom`Pz~~OECJ9zBw5vHI#p|{)kMekHrnNTA`59e8Y^TtVA zF%#Pgy{ea`X@=@9T5-WTaDAEE5#;ZZF3K|T+I`l3(R+HIQD9H^ZQ!WVuktGb(o{R;_aSB492sB0wc4iyHcxxjADVZn z8D}G(k7^j`?ONUk#{~h72PhEZ5g123Kr9BJs;nLWaBD0_F4*=<)a|<1vnLHu#~^(4 z;b{zL8dh6IU7Ia4k~AA!58+kU68Do^Q84=nhLL9>TPisdBY#bO<(a@z=}o&r&9EzN zRn>8;WH7i|S?6B;NNh6g`0M_sI_5VF`vfg>x|DVL8fUpiQWny7Ql%={x8L^2)!Pyl z6Mxn*^(^|P_~G*#4uyKXW7EoP*;UTQZFbEEZ;q$66=jNQ7%D6O>Ls-?Qt$0Ry(|@N zoM{~MtQ_fhhvLF;Jl%087LgP#YFex?R;qW}pTUrRLT{?n*Q0tSxJ9)uaUv^CLHh{{ zP2W+?esY-dxC?X-W96hV%N;kAvlyfD(cdqVBDz&KMOlMc8V;ivj1;Yx#u;$EPr+Ho z6Zh#ElMM7W;bZ%Ek5A_P^pdlrA9P*V0$|Cy9+cZt*fi4=wQ7qLc$78(VQ4!wL+`xj z5DMU54GJ#ch3d3=dA7%WaeCyiUm{(VB@3mG#x7EmAR9U@qTgy$Iaa8oQk!}(lw zM}N9NgGDFY#3}PNoZ?Vg7pIRO!9z{zu1P9u8G+!8!Z|F)`uac*wW~o3AJWbpm{j-) z;0(7*Oo)EnH?vQVYTV%sA6@KHEfE>OHEcm;2)VG3a?`?31X&O7f(#7pskD_%o&yx)I{|ouOH@%1;CwqfD+uEd z05$x;RLmEV3{n6FD#ocfE49xf{=k$-om#s+{xdKUSPkdfedK*QoHo;-B1%+*KAtSQ znu%MNTl;!pyE^DF!(SA{gf#c?BmV!qz&U91Y}!)(E<00J&bu?u-=~;>{)qKdnbCVE ztitEfek1GvatDrtmWOzJd%VF*MKDzhG zi#>E^jPPcZSw$x~JONV>GZ#&h&jk1!*Pn4vO=VIAu zza#x`7@=6*u$GM7Fs%9I&j)}RCVV@AJj?2t-XgN`g$~R(F9ba$gJ}7O7k~=m6evkT zKTTOQa2OP6R~C_5ZZCd3{kF5T=&L&Sh?GHW(X=x)csNS@Y0Jl21>&T>cF2L{?5S`= zxAV?af`}hVf{oWfQb(4DZ_1Zsfp*RrvEyD2JD+(utu3>P2jTfw0^9HdRQ# zJ@|O!HS({ztLp~nYY~rFg+?eP_-+ippB8)I(C2#teFi;k>_*Wom^R)18|;8CwxKLZ z7k1luVT}^mZb3?H5a)zPDQ&^nkR+gW&e&cCLk$+%^d@h4{a{R7^Wmp{g)Oze+FeS| zkZv9xMtYXoOGwzqNVu&YE2@QROd1&=twk*(JqFi1J>J{9^;Toq7k@iq4qVv->2zB4 zp4lVkW8jI%39w<)^S_?x995qJ+(WW3o9h|!9sD0BMVAATCaOw}4@e{LOl|wgWAxxD zp&3^&zoibzh?2}bYz8f(rJ0-1z*KM=tKRo%y~Ecx(N_W?rFYiog$>YrI^-@A6S4p6 zZWSPBCOvNryrHrGtIM#=bR8C&W4jf@V=|BoA5(J-bih$dj&Do%PhCU`vAkUld}I@F z|-)ybRPb1Ufmgu_5?OZ2tB+whwubk?c@&xge!L zHkNc)1g!)!_~%7UkWr{=W?U)Z$Q--jqo*NY4gP6aE%W)*S7S=+(uFMT&eo;m_5_wj z@lAmi?((ORUWlrkVJX-%TtSkO#}s*#RMPjduyH{nlHI^Fo2PY>3*LoIVo);-hkdVU zQIUT<8Qh5ji**|@O|5X+)3wYRNI~)0d^!&h)e80VvK3}I{Fl&^_0J9NS`-hcu7-@a z@TMr0WO_)4D=jp#C=LLa&sZIX_v5PxlN+ER%0LZo$dT&BBbHn2ZtRp`0)m?Qvy~n- zNZvA3Ts5}2d{D3#?zfTm50oZ z9h6{=?T_u(W1q(uW1pQRlFo~*sJlmGn!GSmHwW3~JNhnlP}$^_Tr_o<-u9>6 zS@)UmyAv6PM`y`S4jZ2!@|x1|kXCIP5!we+dC|zvB{i-J^9ACQ?;_Lty^PNLqf>;#Mgs_6#A#Iea(0E9fIeXZ&S(OC!yg`^T?!a#@q;q{iY#Ggw`=A zlxBuoPHDHU12_@M*~PiJI_f3u5re_CDhI7)=C=V}zxL)oF~v9puuh~tVcP|3 z+!OSOpR9F~Ng$6|SFvi*(EpxPAU;v&!lLm>gw+o_96{E|=cXN3wjqtVrfL{xJzJ~& zV3L_Zd?UJE*ZFt;NIok#NN#a!l(_`!sTwA5T8!0>9AW#@Kg@9acFMFcUSs#rlv5Qu zakOAu^E$ke5i6|lb^i6-nr6Q{n=6a~bji0~|2#VWDd3(afG>K(k)Gc`Rn-{f&ONiG z>mgPG*dMx5{fDnt1^O5F?xbs0sWBAWytIdcIRiV_V=~^E+SOkF+6_{yDe>& zRnwBE(p15mA;YlUuY(f7vxw>djCi!-hUBZLAC&pw`5N8)`C|ReC;NmpQcCnlhM{2` zX+v>c)!p{;{ChEOJ2)Qo?qwLFsHuzMKS|?}Xi-vczC+3ze_!BbJV5yqQw7{>E#EaK z`rq&k@AdylK0xfv{A*y9sAiGdG4c!BKnt`V%pgE?!lijK4F%uA?pogGJF;CL;LbPQ%eg`u0yS?*42H{(C+?rg%l(hvgdh3s?C26^XP! zLT%BVyWa8pLnM!U2>$(^kE!Nw3vmqzP7N+|MEcC*kAMGvmj@f||L=>V$Tv>&;RN$( zz=s+;9OcKMMn7_^zq1gZYd*x;RX1Y4|4xPj_kBYYP=t`+L%P&IFv)+yug@c}$>ULb ze+$OfkZ<{4^DPy&=7{^_Lgcc5ltbMDM1a2-ZGb<9^Z-BjFlWQ!<+tq@h`MDJpywQb3m|3A z@BFK$@lOarN8&6zq3dt|pk^nF*0{K6SZ=#O0SbR?z*>}6QC2ntK$RIF+L}A>eYOHM zz0tS5IU58ecXPbNl$guXSi8dPg*JdLr>bpif`e-lK#H3LsFbyy=3{NBI(U1WYskMn zWI{jk3I!kJ&j`9@6qQVWUjlnSpap>mit?z`2a#Ro;OMep2cuWm0Z(!`T~kzA3WcliXI{%asw#CS%zR(vkI9Dr$Mzi2;Ey1@0hlrC2EZtUaVUIfrA z!Yw3^agD~a1;m0?Aa&)6rctm%QgF!zoRoo2;}tJ(08Q3nI9rB*yV7#9g~ROQ2Q&e+ zro~0AF`jEt{=+&<;$`F8nLF845a)rXtBh4^f?+l-+#2g%64f9e+m zk4qY3Ag$>G{EajQeW0S8p<-+UxI)6)hj+O^1A(LGo_2}8r^P~n8udCQE!8=w@*ze3 zBz=G#@B+c8#fjgPfxoO61g`1HTX}_{v$am;zA&$5A;)X~mN)+%`1vS4zPSF_<{%g1 z0t!10K>4662X&lkHf10NkzsTT1}g&OnG^*i>@|PG3Z0xr5CwbyVXdVUb&+T3^NrwX7&V#j+UachpNocjQP$ z?5=`wO%C19aJe;=4uXtTLrV4PoVf-{-wM17tR%J$wk1p9co9{kHPNAk2JwlZiuwiY z{{0!`amcq|Pe1oS3v|_oj<&|@kRM&50Fr-aaPv|MUJ0N`dpWf@K;sDoJ!+gdNf(f_ z3j@ss)$O{Y+L_V9ZcYE0qAe#1i)f>c7wZ|ZhYXYxiBvzXmLElnse3OicDOe;hsb&2 zETbzGgN$At?;7bTb89gy6VsrqsOM916lj!G-Pns$N_wPKy8U}PVC*m4tc6N7AT2Ge zYw{7?B3~{&(-5fcR8&W1@uEwB-=uaa*pkbOm^zi_D?REb;8(}suA*8Pe=?5kumoFe|jr`pCcO#+d?$i&0{@~@-y)rA=Y8+yqm6UWa7qw=%d2Eob7Dvz{VH4@Q{}pYE7xXzsT2obTLm#w7c8aweG8k_9-l6Sd8Rq z<+U&3NxG(=oO`2xwAj8lyW7ST*lGF;bNnZdtwO_%A@AeT?f6Aj_&W+ILIFx%@O5@! z=Fhzz3DQJA+YRDB(nK|o#})Rtymt8GLXjfiJj7_pw)pKHuOX>{9K4i%j&$Jng6EYm z3Id)-jVt~wtO9@q0|sxTl>c$@_)Di;T?=`a^r~G%xClg-rorT zXnL@Cj$prnjhgbt$!p;Uak~%nk^6p7w-JmjZuVb!t(#Q3HfoE2`?vVnIv0}ut&uzn zz}2?^vJME)-n@EG)SYOm;jw0VAQJ}L2ykGQli84p;iv7sSzM8Vq#`VOMM@j zyaixa$YExxC3s0w-R}e9;yUAF(-fyzB6gF|JS`lB4P!0*(@Pc*Jrf8I8G)ZNgjylh z@($njqo&|ryQzy0h=by}EGM1;cR&Vq>ls%>cpt8^(kXv=WbOb4$R;AJm}hS<`1j&W zR9eJM*4P<+zl~NnB#ESDH?q7qo~J@{0GJRT(PXvWzQBCyFU)A;r@4i*5$*YN9|?oO zxyLzC2=*}ecJW~P(Fnq|Qk^iIJq>7wkT&-NPx3zC zwf!8QMgLxzx1C*?ds&!*>q&DiETsUu%4M{ zONvp=1s%B6Q1*dG2vZLwq)0G$t9PWtK*$i2>c;oc5-+^6@EiYqA8>Dh1UX}71F1zKZY$e~jG(y6ZiVNXBX$hM%7Z(iO$qh_`$}ZY9bP2l%0TJ(K5I@P9+PtbGbd zyzGXg=sy=0fkgnohU|$ZDtC}Yp)L}l4G6RZmSXQ!a%5Q%gw(cLF??`RZy4glF={RL zB;(@YB_P0OS?I%w2KQ>E^LHI8^_C!v>lKMp@#byklu^d2EvZN));jN)*E()Q?Yqjb zj>acC-T?qN8yGfB8@Iwfbrc*l;0Cbz0Rh(!udWwUzo_tZXpj#ojiJ(7D}bMT+Z<(h z7_i$ePUK7gSkjxeckc0gtS}p*$U;3oCixH7DppTMIe_5cYF&TTGf>C7enuq%u$><+oonnR16=wY(M04oBi?)4}7oVpGx-T^bq*arCzLP;1rtTx|+Mx=Ez(7aC_ zZcnlg70-Hs-VZ0XN8{`d0(1yH38E972&9^HhGbST@k2F3i33VRLVI<4f?3;T(j0h} zKqTV~kpN8S6XfcwbDx*Gupt=WFywz)y@aCN^}rBbE+1d!D^(D51H@W@xP zwmU9&y4~&v+is<^Wj?q}2mlay7r8m|kb> zuID2u%KfNc1nN%9=_;m7GA7z@#}h^oOz!%5H?{9z{n$xbRIhr?)a}?c)yT;iGyt+g zAuq089Xth2NnIs(EuNTkiB2&bS!{loFv3NfxvU>SpbV}Jubqvc5jluXJ8#RiHsoN< z^@ED2b=#@lUjUPT*y%f?WK}j|8H#IKw65V<&}CrnOpUAoKx0-DW+K%`r(=;RM`Yj! zD6>g383+~uqR*Gob>~(`@F`SLNkCZ31u;IvK2x%@7m4OAokfP&DQI;vY;tWnYmxe` z-H))d6}tE~{vE(|kDI-K`9lnjAF*mIKcvGGG#~mAng~EpAU+Tj6X-6{@B#rlMG(B*U0X{BR?>K4Pf^(Wl{25QuJ$UH`zI}$eU0xxu5T5~=0=qn5QTSh-@^PnmK zZYLp_Kf5;`4;fXY>7qi!rJVUm8Maaj(_iK(ypwuF3cMdz!Elan`dq`K2jMTv;!q<$ zN>w(10TrvDS8lCrWKjsZ+g%`A?m*a2WMohUBbw4QBP#>(J2|EcKu2V|+ZYtewBQJa z3p}>4q&PeCr0f8#IiBO|%_Sk+1aW73O>@aWp0jevyhutgld~o~_z^IGd!p5*Q{_3X90n6_ z^)~4ATrF9wcEQsT(+=ug+R91UUQ(lI^BC;~JcoNt&13S6E`@le*%3mQt{b2*KDUNA zFpx_ZVbWGQ5%iL}^s#ov>=5j90vf93E+K=m^wr^eA*eQkHv9=kY?urKDVL=te5tMN zR+xP!vc|+o&zq&fE$c~Gm=QzeSika?J`sN#>sU?Wi%>*opL8wlHiM%yNB|~t*NU1X zEl3$FMa#Eqp4=6v*sk7d)m}M&w6eOmcszWb>b^@?9btggH~=t)SW6O4cm1;fy*#`j$kK^JrElSg_H!9OjEgdL#ki@H5#_B|UFT%H9!QfX z*?!FgPurV|qI8zZVtDo@pZ2f=WHw2rGHuVmVTsrX5Jr1EPcc^=B#gW{^~r) z+iBrS6w%M3#Wz83?rt&tSy3Ay=-Z1jtOl- z7f3A0hBRD7#&F<@C`pA+gP*8k6HpbRai?5OnxrN^*K=(^>2QdPzT?Vy|-T_2BCO7sN?_~`LrjshrCAD|E&;w{Lx~(ljKemo&AL`u}ams)`$uC9nknJ ze9*wMk>cCh`>9ZbQ_CgB?BHy5B3Ri6S!5TqhUJFYl*yT#7R{_cuBFmOjg|mL`ppek zu^T>#xdHJ3f+}u3?W=i{pkZ5;uTj9TO~A0Shp!$`n>w`1DaIsqKDyCa_i1lZa4`(O zcj*tEz%&)ZJbu8E%4+eox6&m3n+NiZIqh+VW!3>us|L&eZWJ?3J2lJIX> z4|wAJW7t9ib?SNK+I_SOtlJ*gH+uk=Q(g7JH@B7WW9(Fq$tS;3fis9Xk*0@KrdKHsjiD? z4_RZ(qT3l6RbvhxYOClbvk9Rj!9wT@USt-5GJmC5sqFbeyj0PFI>TJ`fLi9GA!;Qm z3%ydh`;4*TY&B_DOju{Y3Y$jtlW^zLKDtTi(hDH@u@R*hBYTKNg1_mdld}rL)o~fi z9qTnSqR)tg6{F~!Xkl0nvr}!klnQ+9dZ@(I)9mTnM1|sgv1M>mL+wOIlw%^M;W*vz z&aL9$?*PM^8jvnH(Ga2=_=!^pJEJXoDigs)#2o@|HQj>{Fl0dzU-jHpHO`KnACjq{ zZg?aqlbrd|0;VixA^j1{(teg7s78GY=+9?!l^({O3YletjY~m2(~^Miw0(6xc;)X> zV5^1pv_-rV>LGsd9p70f2Fj%CKCnk(@nr1IJ6R0r z2h#_Lk8G&44FJ2}(*F9`1q_(O;)js{Y+4Tn7SNfBFx_NMClQDnr(pEwxnO!D7Kal8%N1lrc_L z``VhCdG7)*W0hZE-xm>~J(km=^h4rMZz|JuGTJFYI&97%gsaX7=~P*6EJ{G2{Sqpc z&tOcJMCyS9W^%ht3)*pcCW@m?ai*zmCNoVT^N({wC2FKpd(_l+;Xj+8`GP+6E<{Bd zCBG4fA6ncrGIwvQkX6X6oV>wP$*E{ngR2?P9splGe(CesmA@r+^IC7jPEk;y2=H#yW z*wM|@)k9y7ZdBj&E)WyTv;rBv{L`DqcOyt=)Q9$Lm6LROLefMb<`t;A;tI0xn4UZjpuvLN43dX0R9eq= zjH(R7yEx^$aeUWsR}|GDZ(i*dF`7!}P#gnmLHzpC=`!p_esG^<)7(VRzTIu7X+egeta;b-Si!VN+l2c`$QLt@bi9&Z(I z;%(#Z3Qfs)!dOl5Ftn;3^H*_ECh5Tn+0UNbSZ-ySB3$r{(z`>`JhVU5Azv})7%t}+ zYPn4yNBiEvs$0;d=aa>jB(aYB@cP_G+vrNoY#op9_(5uLqAead=n)n(Kl9Jd45bA5 z-i?eX>8EW{_nsoJGgQu81c%62a0b2P={1TlbB{n+@6(r^KJOj{o6JdgF2&& zFH-_z$Uf#4dX2v0p;NtxU!VyntkqGuoLEYqix8KPRf*H2TSlJ}VwQLUp)yBvJo{*# zihY8Z;q|Pb2v;Mjy8iLGgU%v@rq5T5Nv4~vA{8)9yfQ|X$s%@#qzI=1-MX=C~-KuYF_5%hW1k6Bds`2(SI(l&ZOj0LADf-e= z_1hfT<(Jp2v(-jNtv|V2^sf;P7eOLg7aSW@Pcs!+WnndzQx%VWqr?)wjibk4+dO?I zg}XadInAhB)79RRJD|&EZHe`lnAS&4Uhb5*Q>bmb9{sIcjKbQrRQEn`j*(&+WMc%w zq*W<N_K)TMCulQx;$hinR@b15-Ct|>yVE7i3j zWc!LToE-!2tI>=bX$;;1Lxq7}I^qYaMRoRA>S$P_nX1Y}qiw2g(XPo50adg}pjjHF z<+D23%gl6u@cr108#sX7Kx;QzsO6AV6W1O>z_*YcUj+Ob5=%$L&!l5ER_cJB)ns?Z zO&+tS{{9syc9rFVZbbd4Bz_B&K|`y0sFE2j z`{=JU|9E|M=){N4`j$tw7mI*u)kk3BtH=S-;tb%)ao%9))&H!cF zUV$6^lAWw05`ER~UisV;Yb)&aeQger=N zAcQ4`s-jgRDm#9lDqR@;*@=vNjx;KUS;ZkPKC6qOv>!#1Tj*y`0zHdHHY^3G+h-Hu z?JdKPxN9!t;kFSB&n`jjsJ*qwW;!~2s+uI0BQ^($i(dcvB%8(+-8^d9lbJ5%Y=@W| zthAacq!CM*IEpB;(0Cxi6bWi^mD|l&AS?&Wf=)ilBC8%+x?bth20(FcZkIkQ>Z^ZF zFbbRu$X6~~J2$gJ3|r~zy8HRIx#$b5^5w>IH$MR$e&HLLx8m~mak{HOnll+;7#$_R zxNvbaB##DZ)1Q=T-2r*=?GnQuz_kwsPAG>(SDrlT>TSzS>!HKkmmBTkRm+M@ww+M#M-v!szGSH=m(+-d+$ zJrGLf7!tlnc$m(H^W2W6dPp;%@giZpopXYI*dBX({7U`$*|TAp^3(+5q*N_W)VC}0 z_#B?|sBw)vD={h*wa^pUBQ0+r69wf}+1FCrkckIj0k%6IR0nmgsJkfC^riq;ki?Ge zl-vnGFp`A@W+GP-dVt%Hx1;`I+R5vAwK}}^SNX^6WBvdYvaiVI3osP%`jf3}P39!} z@0hZ$_3NCOs?%VLbXdN+#gvp(i^c+_ij|YwQ<10(TmC`;V<-*74 zbTWgv8Md-@>x`cRr-pF8PUDWQ-K?mlEGZ0WT$Ci_DD1vAi{KZxssJ+FB0$pY1pUr; zuG|Eg9tVI>PbtvGP*T5WXs*Vg8_P@8f@Ye65kciL0s3%{H_Cvmwgda~7XLR(EuNB= zvJMMC&L6QZV)v>sS)?uS7XG0KIbN9_XfaJAT)dJ1HYyof(#G6$I$A<8)~@}rNe*C$ zPvGuE7FRvmLI5#;Q`|D?@{kMmqgfBM#|UdI9z3lJTmr&S_NaCn00c6dC{QrcR#76o zzD;5t-G$-2&y5Y$$L$$)ocaIQd&{UQw=RBEkp=~6rIl`w5^0n!>Fx&UPJs;wNJ%$> zbcl2#Te?HKLAs^;zxH|6^PY3Zz2EK__m1&?VK{WlexCKLXU@6i{6)=yY*E*-q{Krb z8I3x}{K}dl$2fsTJ*n+BOZP6+@JBPM%=}osWhI^69}n=Dw0^+nw@MZ*`+4oZu!FNF zypJ!hDm?<&lX&IW>dZfQ9$UfGFQl|^v{Z*cFRp2tFWp^~;}|ghQ`%&`@?2eN5L2`? zkA)>9`i;g`sB?aE+M+o5rgP`u;=|b}U%sr&42+2!E2WbC;Q^NW0oxc|oC2x9RR_|Z@#}}_ zFccPs#YNs~?ia%j6-Tw!ll}R0UcNuP0Hb)pN=%5bv*5!0@{)|%l+r_j*f)gf~N5{c^|FKC~w0u===7??iv{(BYt zKGO6~E#~16ml(5Hj|_z>pR+|V>zR;NlPA~Z13oD0Iza&+s$d}Q+gaKpDN+=Q4}LOj zyRky7LzhomZp+iJd)J>IMO##z!;7~x9qT`3P;z_^F@N%i^_W-UEYOgcL#Jj#9Ya&* zxJAT($xH@=bS?h4n&K3Cu-tK}Z0+5Kt4g3w^=wqBe+f`4!q#>CRsphKS{#Qix!|R- zlk_HqDooOy$1e;Ir!Y5y9Mp|rZs2?{i$vo_#e22?Z58GWwBoFEA|zvdbW^SQaLwl) zBD(EvCjdKFK1#-r#>xoh71&fM>0RWOHFnGSO)!hph8q>d?6v?x6&|KuQK2dLE?CYm zs4Zx8J3V1KD|_;qMpZGETHb0H=rqlgSs-i%sCHP-)O4wv9hLF=+`wfK;2&qRZ=m5b zNnTh>Ag{0VYFZs(F^_XJ=51z6E-ANtKVH#Nr=sMoz+m)(qZ9h*L2PC367w};lp+Zc zgM{eIIS9#r;R|5}+7FLg?gx>$=hXsOr(a>W_tuIRXagJfTzsqx>%Q~I`QH8APtCs1`nkXH z9)DMC8SUrec#Yro?q0N3WGP0xMx=2;=HVFs61Uq=Bd*NuUZv`julFz#K$QGEW89S` zL|RTkaO^8oQeC!-7~0uWsd3P^=sInm>eVQG8yC=_pzwG$D1`0jrbzIN7Vg%1a#4yq z)t@0R*rapg?H|P=$byZUMB^-vhp5itNeh=g`+5rqLTy^; zbs12{%La=vcT!+d&al%~N#P;ZN`OMm=`p~u^|92o)Rt|&l7WtxQYv3%w#VP$1N(UP zT#C2bi8V=?cJctt&4=$Poyu*WjrTJ+|Ci|u(l<|qZL|2Z1`oHAXF_9th~m8oe$2P_SZ*MA zv%PDF`^>(0`KXr{kR4WLkiF8boLZ-nBd+N$W9RG7D?RFsr{+%Vxy7sX=bmTf`= z6!Mr;tF;WC&BnY@8eC`%lP_g{)*1FAue^{=F`T#SP#6b z6VKGGMz*w~Y2RWU}9(MQH4afKmR{HVgC`O6wdbN&8$NT5)!6TF9Yc+m-_NgB%Gi-SF zKz6BRhynsqU5!5;JZA4S79CY})YybK`l48*!}9GDBphCpVGFXEXYQk}3}x*%l&m9Y;wc7GYA2_C(;EqG%n3=- zIWaazHN8{3UgKCrzbZqC%2dD2Mt$Muwc*a*W^ti8{H4W|Y^>?LM(0+vQ^5n+ohQv- zt#Un7`MQ7H`Pdb-Qn?GADlncbUVrNeaT|4To-)sU^-h>_;KNtxijs_eWjyIW80AT7 z`5pL=kW@DMa1t*_<$D79?VJ}q!9}+AJy%zU!DCOVJ2Y&nrd<!&n|1Vux55eoorl-qIfrNmNAY64zDC|+NxWx>mA2D%ITCcPHV@`<>v zNM(sJ@jm0IsXC|Rax%$xFd;{;mT{>Ra5{Oxe@W;7=z}~_#6}09x>wNPP+Kql<^l2` zB7^kQfiO0+c8A=fOQbc!_V=vKS1Zh^ZHzVib2jQ06sWL?uWILuxu(T8Sf!FInHWUD z?CQi$Z$hZ0R48c6vmqr|JjV6fKzgcws=#ef740!e~(N6M}cS1v@Qnqs8VpdAa7>t+K#jE=^9I^A6sJYRCTAyMQhy$M@9V{nXQE~YP!(;nb(bHFf)8HDLd%dPPEudNmYVYb^&Wtct2^1|(0cCd1Jmm$Dg+m&gYE113UiXSKsFrAAQ z{a|w!{ZW?}udPm@Xzt#GBS*(2qt2oWlx2{sNA=P}JVv?8Drkb=r-d46fW}5&5GRug z^AVPG+1bXU_hUy~R9o2}>S^NG;s??hn(UKf@5FIPJK<+>P|`=S44>m^C^i^#udXt!f& ze_(LKk_R9%`+!x-bQHn zDO#f=7|^I9@5i`K&Z$eKTg>wDIA)baX*eo^Y4v%%3w7X5{ynAceBx`7PjU35B;LUb zH~vLRkwr-TuvDhb;}w27{Abs5m6p|B=IR@*A6qqmaAFUGO&tc74_0In+bG46QDRJ+ zyhANxKfolm3-y=BwXEzKORg12=duWGI?L#6Xrw z4ok6sIPddl*-5@yc@Bu7NhExAFX(&T-n~~`SsE5vcpzM=Qap8XmLy9gX{A!NBDO}q zNE;fcV`8lRp);BLODyiYXl+y%QebVK4asPl=n1K@U!k*HnOO~2Jdq4WJdO=^IMRZF zm6Su@-VjHRzrFF=-vL~vFb$6pn+Q(TxS4TXA3g)@%DYc(OMey8dCu?_*FIIs^@XTf zk&uj+3dx+sshaEVn!7?JE-hy?jV~o^yY9;wlPYBjvw9Q=8pi^au%}z^F-Wog=d*FuDMo7xkZIWQwH>1_xhNl_)Mgg)wu0u+ z%2J8{r8rsl4vhKr9~{*&r95MFcWa%tByv_f>8NuuuUkkeRXxL}rdHtkd6J(ef!Xbz z`+1K#)zRSl>@i!MnL=V7F+^oEwE2Sv&9@bR7SZN>m0DfWkzQ_)r%`FKp#vut_IPEf zneEXf0naNu@;kmn*z$~>p!kn_fkru`AgWTExwV`yWsv+zE>&26q7(sC-8eCPG z-|-j7*5;kyK^KYvqAycIg)f_j6v*NM*~1*hbC$l?tjM14cTWcwUa$D{C@V5$17xa$ z0R!QIyX4Q0_Sp8f0HxZ*_=;sT$1Q!qg8pI{iN~e3)%$3uqd$`t?W4{njH;)P89BWU zh*S@wCe>6+FeG84eeA#tA5$>6ByQD%woW|!&lo7O86H&8npyglJX^fU;YKk0CP(t z%a2WO_{dFK`6NdBW6-XES*2be1}TY)F6VFHxqKrGf{Q*UibC7?(rI_5tM&t(SAAK@DP8Mg4_qv;i=>&wJ_k0RT_vhA%yOrCF-y zJ%-kNxt$B-621?m0Ya^4r#Qsy`*t zFVH-E93>WIf#-HwT=@_Me4|HRx43i?`=s&9*nnYE;n7;xYE@&r*q(7vvMe$9gMz;@ z^7mu;#bO~N0mvm@p663kta#ER&P%=g#~Can)+Or~{VuNv(6f_E_2}9(h_X zl{KZeV&nt=eGRYSXx_b)Fg6otqwRi@_xN461rIm{nLg60v3>m#jxd<7jf)eoxsP^d zd(;tuY!U?G`#p2~9h7(gLt$f3YEcb0VZKy9OA0HCy9M|u zwzi`%IrKEWXhY#Nlb>g|nVWIk{5}a&2{swb5CV#lB~+S;ve&gNe?uMr0!uQ3Clt3= zTo&Mcwul6n!uOfn-Wwp{iV#@QIShT))pgi!K}seU39NbSZ;$Z`9g+6G=&rCRDIO1? zquPEFB+Z5$4+xphVjb=)w|LC|AfX!?FV^IWXBTD41ZYZjzz21dFvRpv!}$f(`n5%X zJP;YO2nB9)E`$k`fvlhia?&&&9pRz$MX3T1DUH*C`z1J#8D1}{L05GF@ngrKo4pSxfVyiRTLcr zXDR@R7vpx3LupbgNuzr@1egcZWEi0FS?_}ZBhSY3v5&E~d^!IuO!E6((uUnj%RRhi zpXWX4GeYzhZEciQjxQx9tzms&Q-GJZavqfJzsQ}}VBX4F)!{CPfv^RIKj!GJ4WcXj z7YFgJASXZx-mAc+uK}x9Hqr7m2jYEk_N_0uI$>wJIvI3a>(M_JJfiWWG~8 z5RY6?jEt1u<2xh_e%<~j*FumC0d{p2K%ivu$^NT;V@E(u8!Nz1d`VSm`8{0{4kpbF zM(Tu5ir z`;QIL$?N;LDn{7eq_j63`{{37)1TfX9`g5IC;|H2U+>zll?Qbhz(<#&&f&vLYXQ%=9N0RH|)c?1}I zb3tY?=3l?m$RE6EgfWlq{p%WV0am)mk1IgY@6YxAwT6-R!9`ffo1p*e8vft8ng4Ix z!1w-kviEm=jgW!Y0(s)>Yc=Gmw67_ z-C?UR5pYn)yBq@AFo8fA0V@=UP!F5w0Q{CB5Z33CThow|l$8FG%6_{P%G`_Z?AZr2 z>#PBiZgrK<{fNaIv{g$F6afNT8pyMTt^T{rij}y7rf)p_iTPif)9q!(lqRyv_Jlr2 z2c}~s+FJ~cKs<~CRcSHqj8_wu%$bN)zqiR@*$ZS%q`{0|1~k~a z86er&*%I>_#F?z)CF+)O4B7@`(>EO6Fqe=l(J*Nsk1qo>FlP1ub0QH8YC$%iPIek| zukA{UD3{lur^JJP8glq&Xp_I|Yr%}X5=SdkV>QXPRz+(^wK!U)Oh2-@B{4m&?jkFo z+vr}YZe49IP#Y#mAc=lKi>HWEulFK@R4SEB%kb4|W+@HmN&|B(wmf#J18nN*}BUFye&a)KRSCG#9JqH7H~EO}ai% z?($Agcmd+)GF5Hjg+#E4V|db^cJ!|l_(?cJ103k*0eQeYq?mHh_@v?x0aRKDXm|+$ z&N_#dcPU-^R8%mls==YndCTO-lc~&C4kM*PBIO?AcZKrK8pFm6awnRBXw~{shOq(>B--@{y!VaC|t1eHBK2ipe*9ap%^tFYcjB!w8gG6S~2K3 z(6_S3lO5tgvz;{$R~b`|Wiss#S7rJu9l~(^`;wWt`nGQ@a5a%`J+dT=OQ)G1ny+Ey zwY6E!YDpLXj_O+bsb8s7JX6149=8y9$}C6Otel#xc|URL+JVtcoe}rrV0)a~mA-$z zb!2WZvI}L*ccT@>Kv@|i_=J~gU!oGGYAxfZ#m0DQW4jrT-tJFtzZ{Qa)J#qI&Kb;K zYd}|My2Ddhd?z~8l(-P_IQ=qxi+=UCi4(h9TWL8qZr3HQ0Z?^oy({}8K0Cy}jXjoY zuGE?KkDk#|opy+t7=2Dp^7@jVTy|>=32S-X^BU){Vd9?)B}n!XhW#lEEC5lY8&GLG zWUy3|DrA<-<8c*-&9O8>$Yb^uJU_N3VAWbp*0rH90gl_-=$a2NOo(MvaKL<= z(tLmWddf#z)Uw9=0dl><+MIgfm~VnW@!^aq#_*^i`6gpcs~454K>77DAcgN2L* zkH@p->Ed6Po7^{LJZjr=n)`R~3WmA((2!?S3FX1FftKpU6r0OeVd}!E5&}G7YUDQ! zb7OAfRGh?J$b&iSZ zz)mN}rAs>`HC6^Hbr67Mf)$DcKSo8}PO%WPo}Jt$NH^XKv>2(sV+9mkHxPX1rh7)t zN+Y$j2yPQ9a*x9p$p`WbX&(l}T_sW^7$n8dF9MQW zHijqLR=RK%y;OStvOwNy>WU!uEj{w;zI3jm-{1foPro~cPzW==(vvK)xY4cbrStz*C@uPBMv z)_R{h2Bb-PE8a|xwJn^N-JhdWTq*`KhSr-V#eQ^XA8!=QLpDY}u_`TP=H=BpJv`>X z!Y~r#BRjFE^YTQ`SOvsq`?ZWir59v4VT~n-{irl|*U^Rxc?0^B|J|lghYhGVp({y~ z++@fr!uj07!3?#=-MAH?LDf&JwAFxo827vn_t`o%F}+=)MYNe>I-oJwmgMrJ-zOY< zq58TuwBY=3e@XuE3BBk_0buI9Fl~%kQBVZeFv}r{IVL}U;u;@zWVw~O6?yx6F8=E+ z7mpOIdFK*>fqp=9?eG24HVvml7<=C8JOZIydah4{#*7+aap zmPD7<4NKCun^PrN_z|LAwg`6`EhSTmQ|QeM!WWN0j9}ilGpQ3sQMamT8Xz= zZ{bjBGJgN~PCj_-%Ywk1+Ld>we$f*myZMFLwm-;c=-CT%%o>RLE@!=FJP)_Ska) zRL8`x0GWr~^fUHz>xNPlAj9qh_8oW8m-ffn&N#azzrTI35snWV8O2_DShlS%Lx#kmQO|%Ae7M)asBdc!k@1ef#btP zMtLi}FI$>9xduSS%lR5g0X;V^L${`%8Qrr_+_Z?`4S5P*R!ot;IU8*``M7tY)0q^H zbyG8ha{~Byok>mn_{m{SDIESXqaD5x`HRFm6U-^DOTmjkLot6!AP1{keEsZwTqsE(ZMncZXZ!8GKJY7&Wp?}gd*9Lwiu$IZ zLChCo#mZUEHmzdh<9wHN3Eu=&Y~mc{!8OGkGio`?3A{{WMh$N0FUx~_{;AKYFaA-= zTCmmE)GO#=c|Q+5k?q&J=kb~sFmUEh`K)8OM%_oO;v#|O8y)6{VL=7IzYIMYwgtX7 zM?Aj)zVNl&jjiieQ-QeUgr~Dah_$E+PLVCvs{`rr%AZy{JVXU${AbZCCALbn-@KU_ z1n{EyDnZws%JKFBWkQ!`dR3X|fdS9eXUdndlup1yve3P_nHq4-e72u;a-_wDaZb@# zRZW^~>~L1aK?42pv~9 zxJ}8y3%%qMp*mHiy}6E?J2)23A~fN+LI3rL32?oO-Ji-#DjXXK$Z@Lz^q!8feB$j{ z#4R$+zhS9zc0kor{VoEIyddmHMjLDkDh5QptpMJ~fij$v6jluf?To9B(?+wY9A=({ zAu7t)$|*~AZt*#s<{_}rfQFwVYCA{!wZ&E|sxkTQ>j z)y&@uOS9jN?C3=%Z3W2%|BWt?3cASF!+;Is52NOGJ1>1yPYYa_Ns*sZSp$xbBN2Om zBu#7!W&9^rD=yA=#r$I`{4ao^3iP2E(L(~G9Az{aGL&Vezn2a5C=>SJa0(R2D7YI> zDnEz$+5&HpodSnA0X#q`R74H<>@mAVC-cgU8KI+ur;~G+p$}J%@Ay0a^;FU<#o96e zwV9o4dCUD-5kcQ@{PhdL1W108lV(7qmmE3EEjL0V4l+t@8|osK)Pxp$>g5&R-4gCW ziJNOt5?z2YSOl&V)<5XIRsQR@lwg4;I$^#UniH%S@-80Q48*jPxaK?n4RhJ_=Vf|< z&&-;D$h=UFnx2wqPMRKBA_0kE&yYPQskVLqZb6QJ&GpIjH<%AuDR_-mC6e7|c3X^U zm;hBB7fdsVlWS!YSjgWKzo>c>JHI%mqqr_|h2^8Ce=`JtZ)9^3qyqd!m17!=>Fa4e z)mI*16lY=uZEQg#gn;hr1G_z>n+u1@t1O~%@Gnao11AJ8ErGa;&H2Io2I{85U(c_R zV(^(Si}KX)HNDpdWP5lnZ*C^n&HS@_;Vh>wImNq{L-$5vu+H^QCvRVQ!EaF47!{%C z@I$T$jEJR$T09{KYUM-;93*|ht@K{4pL&(qtsVpscLY?q2~0~pk@9zE+mS6$T1nr1EE zs=?JkgpZcGNAbf~FrDQIqxzp8+b~KRes;3}?B!CA{^x>e6(WD!6ZL zvN+E^-uhaM7&pOw`Ft(?vqm3XVG&l3pu)W<0wng>Q(#dvy#FP_tLSG664#uo z;WoC`u|XKM)gg?q-k@#Ug77i!xy&*QyA$NnxTU@5wdbMBJNLNoC*_|vGDmO#9(px| z>tnPwPgv5CU)G^}oZcO{mTPeUFyBEz<;}YT>Yf808*%fWzhA|AAa+P_33r3buca|F z!G$usSfzuUbHr>NQ1c%I+X6zP5_A;!&s_>)W=@T53)gfaIeFWD2GOyvgh`fEctXEX zntXU(c%gPZGju6zCl%PT=>xja&ffBMQ$MFhVTzSr88b9OCPZK2r zG&Mj(OeZ<1HJv^eJOdUA?E^Ewj%Sg0&sD5>dNqQL{d&cDw{|UX58ULUV)})WNbCe) zK0kp4Wqn{&;B`XZ__bNCgfC~9Z1A@E_VgA`KP<{O)cWdFzcgU5%Uj3i`uLuA%&~*k z3`{t_WAG-2tI_=H-dWD?G!_ZJ{Vt9|!}fN&T>Y%4!1u~Fhn7r0>2uv?0k`UOMbQ&m zkX70(I{n%NjPenOe%Q^_*d0^>U0ft<`r--&EARG(5GAg&hrBj(4PPee3j$H!yD+7`H`p2P)p9ZNIdHaJY&lrI}nT1u7c!rJRV#K|xQtBEU{EKQ< zRjShzO*&(xfS;pJp#ps@F!!B6V1jqurhMc!*S}K?YN0RY22(UG4xo*)Vcw9dPUX`{ z!z3L)yor#D0gU_(<_Wh}Bd7s$#4CZ@&frP}ZIpKgCO1!~$nODM?gH;&@UkHCrJYt^ zom4m9-*X%AxbRFL7&&sx3gZkph4;Eae))EpsB}>2NJ{r&IAi)9Y5z6GsCfVL+nYnQ z8zS8)s^SOSoJnjWpII0^Bfd&Kn*<8fyp7w9zc-h>;#Wbn=}zy8S?d%em$)F0{ii!1f2~)AGogJYjJH21A-pU1Tj` zzCgu#2?iqgHa&lH5-4Y4$MWc+g0dxks?>1 zp_Gqki8$TAGi3BZQv*ibX|+&t@4uGw{uw=y`|MVuo&>h6;WA&;Z;|--efMYgyt#^i znEyBd4!<&tJxAmCS;H7b@ z@pE!`PQ=}_i}7Zi=SITHS-z14SVGi{Mb*thvcskq^`@ASz^r0w~JB2T!wJFFhYcod&nZs4x(}op>+*; z1MQZo3rK~z@rHs%U*m2NQ8O`CfoOupIWGqC3P933U!5u+w=Yq{S4DXKc)Iw;#zV8= zA$O=h_UMI@ePPYRvQ2G* zY^>^vZD6Mrog~w1KBw`#!f(AN9C9(SuiEkdi79fvOkE|$r_^YK7;s#-7 zUL3q|(mRDPJ?~Q7a0=(w?M> zp&+v^s}C1y+UV*}dgC5Gy&*>I!9jf#8FWW%G$dR0ue7@d)O z17!`R;w@16<tz>FY>QaKyj?@(95E!x^J?+nnp$)&dd8EDFro?=r00@^rQ z$-I>8Y}fGNE$+2jmakjV^{?d!q_;BM&Z5Lf9wis%j3d?$oNBL>1M3IR1a|XbJ>Aef z#lD>2yg$dy!FPgANI9ZS>PrI(jZZU%1|q18l|B;KLOQO*wT)wy%Y7Ng&_Tx1neZ&{ zGa&e6Ac$;q=MkO1`Jxy#*BFO@C0^&?aZwPJ-;tQniv~H|sO~3Qi%3g9D#sse8IK0B zlb=9~+~@?XfuY?a|EF7t0=EYfF&u9S(NEj%xBwP`>T$>8&bMR|&0i|yXD7{bQ-?GDWO{ojaQiHrOluE6bd>jIA_k-MxTIr%_V;oB7?l8dE4JGUob`nX7Q?#9d?R!8 zr5Gz6RUT?l5-!>p6#Zc7CS7Di5KcnFLOzTYf}4ke9F%s9>q%pYCpk|8M=tZq{6ja? zB@a&?;VGtq9fhrR#bTiTkGv@T#St{a(a0z|Kw-IIQ0wm+V--N`n<+WH61fOop+@K^ zn=>c;d9U_PTLw`dQ`J@haG|d!X|mDq`BRmV_xeu)1YLED z*sG&Yy3=^(7HsKDg*vq3o& zR_7xP2QnXYM2W_8H7wp&)|K$F?P~5MeHijI6jT>g=Mn5j3Fcy(+GaYkx+7P@E9p5U zO3k4{9JkL&>3=_(KIDm@QWOqEM~N)2pUY8eS8t8T;+0j@pWkF;Ns42?ri1_DL;AD{ z2anEw=4=<}_d-P`V^B_wvb4e<@$tyY2syltV_%oP*;0DEk<}_(&SqWYPnFNk5$1(f z?rSoU8>^zh>diE-#L+aEb^DEs2$-6x@iG%Ffm#Re(itxqZ55-L;Bn$1^YLM?Pf1#b z(mwa+^MHK#$B*8yd2wmq+jxF@E+pd0KQnEZoLVZ+YU8MHo7fU}mEyfo?k{s1#jm>6 zG_>FjYTH&f=EHH!+nid_TGmRKxC;RQ`~-1#tN;q0;^Jxq@mV^FcA)Zxg5d<8px9GNc$ z9ocmd$ET^x8mgv{WKQ6J*+lc_rA6fA?{9cFqwxi2T-S4Mcc*fRfX9uvGU><9z1qp_ zA@A_s{H_I2r8@Hfd96H5hsGSsxKhbm(WZ`KhTHy7rr#UTcNN}>Z3?2f`Jz*gjTRGY z+ss5xvMe3Z=GXRlX|}X`-bBcgET^cytw;_D~E-`=W}1_=vs@ zvWaYd)qK>>AIELk6IzZmqe5fa zJ&BeO(ycxQr8^yAgsSHj7IY~(1iL%gJ13i7b3DX`#RdBAHl>#uxHGU!b)_FHpmMbz zB=G)_6r8qw(1B)^`IXD;{AoUk_pU=a8Z70fcxSs7AD!~){w{KU!lE1RDMTnqhb;r$ zH*%9$@df4$vJsf*hV;EOFX^;|2o?A{G1B7XT-G%m?O|jKo(Wgk$Qg}hW$!i%5E_~2 zUoCbDa+n)fA!gBz2*Jcw z<_M~}1eA`oKla>lnmoyemnSzW5r&#&3nwVEH8P%Zbo2l|MY4$^Me&ms>F(4 zcw85Jk;aHxb2p{@dGm1x0~Pci8#ySCemk0Uwq|~lrMh>1+S{CcWe*OBtLdCaHQbcq zBDzeT2|m;BwWM()Hwc z^`qU;`sz4UNOzcwtx^=euQ+En$eiWzE|O+kzc&Tj8M=VcAy-pZ1`b5k+E|n296W9< zr-}1B;^O^sg0in*Y9Iv{p3mgWNO;(iQ9(kKGp>&V(Y8K3D|)ORsIRE*JivW^fzDMo z10-4&fw6|oktN6sw{t8R=&^#L)Qn8IDfW^Fl<9whtTG%TlrH=x{gYqm;jW$jlIs|_h>RZKV@8CiY2NH zvi#>i2zH};rsqzo171a^b)a^R-#+w|$50quR&>) zbO6eR=2TO`EFCq_<4i6E{Sjs2Znw2me3(5}!T5y-^waVmUu-8e|1n11qS1l4QJ>I zN6Dm)+L6IJ)~i1YOY!iVRYZ?JrT8bGKB39kEfb4y!|%>hj3@L8l{g z^AOBq3*2|H|J3_5dSnbCM~5l$#|q9KtY|vSrqv9!%5<(*3r{^Cc7_O$U8>K%Wfn+P zJ|=h+6TAlsxrfw+rk|i!piIh9eCNx8_E-ruzCWklRc7q-J4woW)1@}Foeye;NW7y_ z$z!1vKy!>wAIQc?$}RJGA!*v}4ofCt`~)Xp1^35$KnL`(SjZ=+)_}0tH8@C-hzPW# z6CRF?ZsziUTzhL75GDX*0FQ|@R6R{VF;O^~8`I?8d)swHab>p%42#jxdA?owz#2Ns zmF*Q63_w~rTv715!`H3P&EDwW!9maE>M7RMcg9(n*glmUIL0P_I{W{xC@qG)dq9J#_1!D z44#S@`k^_(k@7WY>!qfh)ROM*ux9Q6;nTtsf0I~1)X-{JEtp#$riOWlxdN8*tm$5& zd*I!WGZDDaNkC0*jS?6Dg#`Bmj&6ou_l$2PUA~t}LZjdyvvsJDIf0O4>1)ID<-2`a zhqz`pJJ>YZzq;yzzP|7&LAGS6GamVJq>Fx}8g>iu+t)Z%AhW!77?@E-^hqc-m4E~O zzT*uS9Cj7Mub+wqtm(S)H$*B&oegyfV+-X(y_+_ko($vnyCTcw5zkl*BD)mkh-?aj zCt0QZ!NIS467W^5GR#~!1Wf=M+LCjYXp*M*F}wLmELFdvM#2NVP{t}`Fv~EWuqZ5E z!a>qfg&70sVMYS%cH3bp{{SEEJgg6C*VJ>hbq>M^UsdCX>6nIPfGAatDVBRdScK_eP|ga_ zTMY3hwo6sm$>Hfb;#8_TU&f3z^>ej5?-b+5;+!;!Uh4T>#oR?GfJcWY6W!xgCu&uo z=}}Nw`4%cnevO6_5F3x=_4TnD>BmUYw5MgLgPpIR{?(5|P`4$A$3i?8>ceOSS&_~% zPEw#PyNnb<-x?)jE-T7S0bkZCn1Il-Rwj6+aZjIp(PtQP2-EUhsXTg{;phYtOtBOP`%)htPd1Dzgq&6xmQh6{cO$Aiw&mLyv4Ocq2 zEfdZYlmN-7oT@|6DW$yv+945rVq3Evi!&sn1;BTST%~Apw%PicXdKl?o^1VQL(V5e z#;|!mfVuS!C}nfo9eSG;bu6jSsqpE#dp#z4ow~k?C_O?6XV-Um{h#*ET?9nz^$S#T zUk1kWj*Uu{S?no-iU1QgyE}<(Ss_jP&`|wFXzn-Ak0!aiGc-^b6;Rq<21V^Ll|h=1 zR3^|xEiA6G;8dMkRu9ngR(6o{UdX0f1mc}b3%E)+d6;GLuZL! zuaU`o!R3Li^&VIRAH4@+1!hF}zQLBPjEyHq!9ZQ~xox3KJ_k*&o_^R}lNud@PeDVn z`D`QAHO&D{1s=P#rYZDM7Bzp4?((0%VyVBoaLFt<)g(Tu1xy(BT^V$dNen7)_JepQ z?<=lD{F9ppVf=dR(@Sa1bHK+w`@lQZX{_r)vKaqTsu=X;)Nj*9%LJ=6d`u(C?`?y3{q z`Ih|*o&enpsIs&2_NDQ?xQX(8{bIwR{W$tYez2gCcz35ST|hvk9Hko8nbpJjUdD99 zceRAytoGb9DRyb36YArU(DPyJE;>)EPf+{&N7(J*#Durg-$?Ih{Rv+t@a_e|6X=4C z^W^UiRIeoiSX8#+-pg=+Q?1h2?dRqKIiG0>fvZOp2CeTN9&|jD;TvJRZB#N}6CL5TSIE*EoHz}hKD@$s(cy>j z-q1&*_&M(u#7;xhv1KpzhXx{B3=|d!t)^+WAM&`Rz?mI*oDUp4!b|$}+HS!$pN;== z+d;j}JYOvqv_@CT?kczAs4hDo;1CGDy$u{}NN8#>f4=bc9u$mh`i?3}JVe9!z;vpB ze{1HgG76bEyEOKs|DnM8SD@R!Au|RI?Ao@4Qza$*V0G>H#*3DBgwj1E+A}F zLAk-yUM@F@0U|jbY9Vno>NT2lXfDSLwD4s%=N;#JKixGZtliV#$nR+k?(KtyY#(Q% zqw~z?P=BxYj||f@f2=mb9V74Cc!1f(BAD;zd#2>1OJA3QQJ#_x;rdf?=TwB@<1R!Fx+3rGS32w_pn-N<44*6EuV`2nE^wnPY{p$`_E}9g%D`WZ?PadtE|Z#Y9FaL> z{=3L?eT7ihB%FY#n6XE+7$Nv_u$~#s48on{j73muYM#TR#w!AP?&!}_3e{ zB|e2OOPmxWH!PDR#|?~{WRz)7EpTgd;F5mK#`c$yf0!B>CfqIlj@^>+ z@GVK-#RVV2$-K|4Eij4wqAr+eaav~;BO=Q4BMz!pXCs=XC#K6Mda;~# zN0jWxO-oVNYOmFg=9Ti=uLQLA`9c(<3YbE&_mtEq(k9cKG&<Mf-6u|eIL)J5{X@{wsGKu0{7_t4hWx+1@sB?afaMI?bU->ec&xHVJU|DX!=Cg8!_JDeUKK)!3< z)P_-N2dnh@QeSX!5_-{E@+2V!kY{8^j=g8wlJmmYpciL(ieoRw5t)<4PHWr@(UPWHlMMvmD<8=GvQ z$=wgCi04%WeW&20&ux!}#De~s`6d{K18k9xcg;@Kw1toBLE)9YNp}pbe)IJSTJoE! z$+zjpGQSJ-g;<>Ri{K3uQwF8(;WySQw4Ur}{xbs62<*a-xrCKb14V=eJ_qe!Bi2%r ziD`elsAy?1XOBwIe-PA)V4z6AYHu?4Sa!k}UI>`KnHwa$C@hOrM@wqz|L5EzJ zPY!x6PP5(4(>jx)hd;%TzCmaIb}f%r0NIFxBRf^vCQu9X5GJ}CRX}pe{?u3l6|YH( zrpQ!6Khi7b^OFvtm1w#jfKEyRlMZHaXODgx5iTIA+8@|0hYRJ_FdtJI17}1Hdcm{h zztJ0x^@0PR0z5knUcS!p%9tnXV;3{+lXw&mWBaOf$vaO96$0TCrmAM0e9N{W`s`WN zE5RS-kmncNSm=`i*3z^GbUATqGY#xACg~W7p3Jjn-gOUAL1JuUfG;5^j8G!09kOy( z!V5?7hsaj#{EZobwJE=2tzS@OZDjn^XFjgc@9-+9%HBgiPAh%2E=B%K z1*!Z_rbiB)uCpHUIge>&raZ*1}nB?cex3*q`p9Bs@kOHs9x?dP}|Vg=G*OS3nfs zSV`VmiOIa^!d2zigQpOVDH@@1+*n3DzN<;hm<6F$jrdbOO)PXfErh&Jd_+7OUJx-) zf-6lCmjXSfTYm=SR_yP)0e>O@hidLSvRO85f(go(HMzG>u)jZpnl;UndOb21?e^My z*2yOn9=u)a!@m`O23>kBr6^9ZJ@h?hgQG?cd%$5pJd<5$rQBR2RP=Oq;7^wWY*xW@ zP{K3vuE7ggGbkOJ^`8SdrT`dNX)f<4?8}fJ1s^@9s>+QpbWXpx$o3c$A{B(wt78@H z2PX3*muO|yNvZbf!epm^vj1NROt2A->YaP`Rm$)F?O)yNK|?scXWeEIsrVTGyg#%0 zx46(M?D~J)w0y=h1awHMo6ZdV?>GEEu%{i+ocZ5}e}lmOw;KP+TmR2{BW|~M*8Ve& z8inns^0@fN-&Gdu1%892wzOhpK2oP${Eyw5A&7)FVN~HS7ha$9-=9aV0N8>FS?%%S zfBdauDVR|F@58^A@PDiE-+Sr*b~W@ioJ$(w$F4zp4g!pG*?9NA-dk+C+(iSvU??zs z-UI<3Z;=0}p#UC14CVno0YH+KsR7u9>jzWDA;Vy}-z;@6r}jZdkRK51*ydEU?Al7Z z=?Wo0wJvB>MU#;M6f620*?jjK9gAHVeitZU?>dHpW3j7St){ax_i41=Da>J|7u0#Y zKzW<>itpxZnf2-+dO9#!D79UL?gOnmB|ox{2ifsD1@KVNy}c01T2|I*s=^;KVW^zVdt8Vw;~GXEC~}74hE-Od}7# z2)%X;YNcenK$BrHC)pYmHeW&aJx3+;{Su3yoD_?7rhpK&nhiTyqXz;hQ8(9bgmakp z46X6K^8WEAS4d|Z`9_A2_6fjRxHd{~djJVBAss`N*>>kFX}p1obL&%CHL#p-r^-+| z)HyCtZPVPu=sZJFzsYKe(nj(IWAMgFK~uE9l=xu1E@!!gLX11?7(7Wk~B8E zCe`#;O8oPKom_rOP+V64?vacL;AjxTV34)|$`^n{>RE~fr-%@NDSjO8;kS^$Y6t~V zdqf0efh`8EVK=^>ffl6mhS%^yh)EwmlV3lW90Ry+X3(@9|rXqIYFC0qc=~F7EIyws`yzof7O(yLj19|S$-?sMt)a!T{H?6qCye+^myym z7l*a;nmq4vjxsiS@~|7+=UsBw)6W+CAds`r1S*e=Kt!CC>}qZF@v%p9JSuKbMRVA> zRL9h#Q_6Njdu!$oRO{c+;JNbb)ETbSi~sP3e1*C+0I3&Ycpm-^<`!~>)GC=R2<2}? z#!3>Go2t#N!oohMT9Vz^8d?A0fV8Bsoz@|oxJ2X0vA8A8(}ql{-+_1%d(%ne;TK0} zR!?mp_k|B_!urX|nu9zR-P*A#wjyA^%DPb-t1vY(b|M@J=V4zQvLeSLYyGRg&4ubG zP4Q*pG@Eak^rIifv_)>x7{(f`r68iT(JF?9$w|3W&w#FP_MbA-zh5L@*)ci7faIEP z!y(aXG3^v-;k%+ij38&{>O4JL{06jI-gC+NVrK>|Vh6&q=vz?wbi5h#I9RBpU5*t` zaUPyGRkt;_VDMTjM0WhaBosj--8*BqIQ?IK_S?@L2uv%68?a_Ca(GZe0DP#a6|Ey- zXcxnmA^Fc&>)^wUzVk1bHCD6l3ourUS-_r9Yc)k8kKdEHqo{KUOv{qFmhOnqDm93@ z&((@Og1wnt@GQP@Ou^RW!d?s(_>*~NQ(4pFf}jg|!v&E_UK7fKikt)QHPfJS&>#Q= zT-{*PTG4MTFIU^xodv)jU+rmo)UiHEU4*ewz*sp*aGhL9Fcd3(O|nN)hXPN1*nKU9>5## z&kvqbVm(7+y3evI-$evRd^v9y6H13jstw%4&&X(=h#KwhP?ZH!XjGiv%LyGla`y%= ziLlhHHbW=F91!ebes*Woh2L0w2#kyUDjDUX6>C88*yap7ZHuPcwbup|jod6%e_Op( z81@=hwy(NZRKW=r9iTp>$zy%d@q$eZSlo7d=EBGj6&ybp!dCV&`ZyAA!1!oYBAQDD zg1<&RjUu3oez8$z_$PGh&Khc#f|M(aiktC#)MB_$(LFpZpN= zo}`LH*Wxlf0VL=yuy}$|pFVg59qE%I9Rdn#@N!@XWJgBzgBXmf%w21wfMS%~a+-an z5%tQU_(n-M^;QEytlR%|r)JXCAh+|S`axWs8kFhI!8aMmDJ#fZOgiEpE79y>QlLa) zkrHbW8l$XU*8t5x)s@#f5gGdM3|L{Y)_a+11=RE+Lmwea55cU(fO})+dP?YfTG#n=o}g6e9*_h^O})P<^$Ml5 zi*f($%_iw*DwQ=Soq_JEJDgR0@)~z)H*IwH**BkWJlpUQ$V&=m*EzQcdeNqV+DL|i zwu?`)M!5RqRoT*Q(_we9w!D%(1JR@X4qVz>+Da<@dOIpXd@Ubvlwn4+a=N5T`l_y< z6ZX+Ps06y+k}5L8SluRp9gZ+oEpz}#g6js1*KSa%_UI?yzjYGcm`{@%cmrnZXq~9I zHpmlYsU-%2%ee}*q`if?4To`*N} zE12~wPMy1@3#&zJ;Vuyh@l*k?sGy&g?H z4G~LzWI&g#rE%J%(EC(b?U^|Ic*SGC7=2BKp4X$wrwuHYP7VV}vAlO}C;NI|Zvz;_ z;%Q+`U(7CO68ai#0$mJ&F}1;xN!fzx2Qt{+VQGvGQff)QaGrcLMaFw1m*mD&X9_ca ze%=m8r`ixR-}7m?^$wNRM(<0OcP3c`%**tQDCBgb5+|lM+^sn|0Q8(i+q~?Biz#jJ ze5(6zNA}zUX)TN4DP|mLc|@vL2TEdl(`MmD_cW zF={GE8&iKk^aYD1AG)@nO}s%dwx`rZ&<%U|ni2{$S({5*uIIz)J9=I-kV`erR?Qa; z_wYSmAVdBmXQ|F<}gZLNPUB6pEL zzfGey=@m{`K}Zff0oNuzwgu4wfd1<6Es+9jH#SyqY;D+;lZ>NN<4)wdfmakNBt(jo zEi0y|j)1cP703I14fgywoHGHkmQiOoVU&3raIN-|uEZ5!U!JiGPV>~kA3=TR?F$H# zJ(rX58oFr`ArM}Vq*5e5-e^|JP&eQwCHA32(8m1R|#a_>sEDcyQq-n60nK3LV+q4zdt~e6h)N# z0;#e0foK?Je+ek=a>hIvHy#V@V5t6CmTNSsq~>Rsf;jqQ8kyFq=Ono2nKd~Ph3@2H z>WG{V0y2%<#qO9<7IMwC=-PWPEC!=NoFu}bgr_jfq2^3|9F&#FOwm<2SNKdYOp^ry zrQ1#>PzmD?_NuypK6qVHTKSJO58WLTQn_Hll1A`t<9m)0owsENEK(xm+ogxgYRaEh zUj1|818qPXRC%LIjkfusLM#j8nPi7@fF=&mVCeY7ep<@h?xT{R#}^-AV@ksS-UF{( z7yU-IuJ-Dx+B{>9O1TNA9^__TKVFSRmH&^g8(t#9k6>83$^3SBC2RWbhDKVGS1J^{4fF#6cJQCN?)RlW3HrFsIfgFD%M8-K}sV<@DGdILv}U*DXPio_(72;6*VbjH7gTPnhrIAAiT}SNAFsOS|Is( zSI>W(;jn9p2W|+1l710J+IAtl_gqG45O zBHhA!wu^dE6uo)j`G!90bH=qE1huCggCVJ1@@e-BjPwdeOXu=L43ob>nOIG~(>jDA zl>ms)El{U$SaqRF`?o-oCZ|6zHhAH-?zbG4?JiMD6`B`t@2r>$i`gJTf=T& z+*^zn*h*kW3j)bCLj|YIt!tF6P(z~{gH9L#G?`&#hA!dq!Q(sqLcbp4Az2%XA!&5= zW9ge_lXA3!dbk!QW?bjK7*|ph(9~mcJsb%tEE|EEUitA^J`%ErkQ9_AlAN8Q+e^74 z$CXSRN!!X-WRk1I2Pu(Mn=VxMeo%$7%aF}~2WqvSM6J$sE}}&hrr5Z?OeXq!bYta_ zRF1kAIQ5u5&H}xSV_TlN7)cK_)KeeXA*_pIJy5epH^6z5({9C4F(m?e#$BMVG7lvV z#l8;^Vc6JVkVihV6h&;#XefQ=r`AoC6$fHo+j>6WI1lG7o*H0Xk@!W3l=)@~7p z?hoXgdSRCTGl$B`{Yk<7Dc}GY2op*Ko{v%+fZ?RL0D6V)T(JO1AV~4vMA}C9ry4;n zFs4D~SMc0uY;oq4(#WA`N-xPKokKeIBe?!Ixq0z^+OR8|IkIpaLX9uy>2QH~+mFjY zqW4IY5@93RCT5lH22j&gYR=8vT=hV9CzjOBM_|(Ye|>SixK=j-job@Eyn)1WKfwmCM^rYzgVI&n||Nu6{g zZRrirbZxN@f+{*XbYViUT;%r(Il}hs0_~}1`Lm@px2&kWI?fDQ^*u9{s|FfoO&|s} zQ(dlEM2h;)sByA+UPPMfVN9+(T0J0HmkpBVL4tWlWfoAtWJ zC|P_@gg8|3;f@5aed$G<8f3X%Anv?y7HPAqk9I87EyJDorS>E@EFw-5tsVr!ufyyX zTHOBW-JWcdUKwt7$Y?Vpy#2cNnB+3dYcteQ5oex1E+J!OCW~(FKHuvX`2~_^8w0wW zfcxwI33Jsg=ksMJo37MKk7<*db6(N zU)>n{R3^VIrr8c~T1>SMdo#z>rlaoCqAia4mZIbmEZ;$(P=eO5%2DZ6K`@s|FgudGXy5~pCkGn3H8)uQ5FrAyQvsaXw; zt}lmXKtN(9HL8`>qTT90Jp8SHW?+2!0rFVo-6BBIM9d3Hp8!m?D^4cQxBOqeKh%8F z60oUX4tYdI;~wo9}G;j-(+fyXZmWAHgU|~5?NBzk{5*Za}8jhR|?={KB^n2*lUBpF5 zmmbmRy><+s4D!tw@k)+tDOMX_3jjwlUdg=3>g)x-X=odMW%gILL zINPkO>Ej3b@4ejbx6<(o*8|N<58>%jC_}a{UKKbrf;p)A(F&C$<7!E8^zX=!=oBfd zZ5OEA7yC_u*orU9=nTv9X<>41)R*$Ns*lSD9M{=pNP-9vjtzMx#sW1Xk?YM3*Ua3h zp&HUfh&?ZJ_iA8zaya54m_K z8!7>1Sd%43k+!oFn<~bFt_hk{KT-P(U0{)`MB6AE1iqZ~%%1I4wCnz;5r1po#bBql?lyQO ztNxdDQAIx zwy@l_^}V5p<%wtHVyhR1g}02 z3|0a_P!j;17_N4YSKTQcjD9%4cGx@d%I(Xk3~`GzUQg#1_ma0R-@qc;keIINa6Z&* zm}H;>gpzk-otkj!+YWdh)^NjA>5YGS;U|SspYWdflLGVQR1-ip>ZnVQR^Kn6lI7~q4jy{| z7a=BZ*A|yNKPvmc_?swl_JZ+>PXG4RpXas_>y;See=ZeWD9moQOR`J2k91opP6y$J zm)>-v)Fx1~Ky@~P>wXIuP_qIRF-Y~CHl%FZfZAhoeGb|2C3y4UjZMp!^p`PJV2*-b$km-{ zLM@~Z9RhN#mvc8i_W6BVNh=)aVJNJD_-z1QUwIeiu`O<066&;I%eiHmK2?rQw*Y!* zPNq~(^*JFu$ud36DL96{{z5$?Y41*;rY6v!lq+FFR5@> z#I=s|IQEdoXu8EvA7nm#jfc{PAn1=`oF`Igde-F`4_iAiXD2g&3mORc5?p7E}%CrN4UivV`Zqk}TEt;(13$UNFZfex&UKK$X{AX-%)Tb>oYM9jD2|V4dBL&Eja3ca`sJ*|0}1_l0-A>cBlz65 z^KZ%cM{h zUzWpCq3y3}3JG6&8aYk>K$-zxml+J?(JYJ1^@}JxZz!v7^S$MGUn3xlh)7Ro8yG%I zAF=kwZt;Ad6hdzP={eYa{Q?WeOEtB-3MtxO zSzz#(a`!J-?wjysBApp2 ztxbve-o|M@cUk(2Thr1rEBp=3K665bdm|-(h#qpzaQSo5^|yNk0{sm4z_b~)RvW|4 zj9)6f?Lebl$>e>099^zAC8Wg6{SDX1L!}H>E zAe&wVMIBVTatbW8LT_m}To+^hcoctl1+AR_@^i8%9ggxwgiF;9VT*QfJ!ZAHIJ)u> zh~WDN<0_`Kw(dNf%7@~L4KV6L!CH2TRwP6gH*o7PaBTAJ`IT0iZI=Xf3|HpA`%dp+ z6a~7f0R(}ifMY0g)646fjN`ZSvRlofD7ut82FQtn;*1Az3O}IK`BSGlDx_C3O0JJZ zMPgOYd9s1t1qR2eJM9_9w8s*}Qiy^2}=no0U@lwG7a^?*)L!Dvri z)Y3;O&B+A5cg+`d!m1J_nR7ALHw-?MS29)Tv?gn(?+2JO7Q+1+R0mtM%m5M~zjc(*UoBum+CCvhXxJLqkH~ zIa!XVNUjf6`BW05C&-3INB5!+$eU5~cEuJ1&Yo~ce$%afw3&)cXDxq0yuKX_u(b6d zwcGmfruf)%C_H0|cr_ za?wK1FL$d-Zn{V|OrSDC`HB~mkgSx!3rZ~ws`0T@6F_90xgWGpwFZwlAZzpf!gFvz zH+W)3@g&1cUFnP}yGl3#-65sX98=Qjfly;GP)D;1u)MM)wNNCh%SN)aDXPTW;3bEK zj_({&ug^qt_sWW~o#c+VL%|wxcPf#3(n{}ikBJ3k!5sme%ap$Zkl)Am4*stQ# z{!}x-w&DW#k;l3++~IELGLC;2ze(16ZSCoX~zRifgE|wb200^ssSegfY^ngbLC_L zG)ysSMTkbDS>i|V|K4}bag;Dq2n~@e3?x@6yw$PTqM3%}*Vd5)n-4+pcq}0~j-HRz z#~$QzP`~qK(#eL%jD%#jSE%HC31#X&L?cJ9hS=mkjP($eWWXmKKdSD~;hHkqrf?rZ z=ddWD{J$`5+1Qo%NF$5(pQ27!oHU&8l;AB%TDvG!7o)izuG8cdN4k2ZDX)bn;n;xa z;j2JLL0C|=E(@QkJjB{>p zuzmFC@2^M|*mJN^;dtlS+4h!t5$$y`r)ACTGC`lsMX9X{(?DKRgFD%G1cTq}bMyM_ zD?vk+&BL)wCk?(d$BA(ZZB)InT$ zwmXq+JV;o9?Ek}c*0Pe-N$kk=)k*CRu&5sIRGg)4%@8BkNDk_ujlnQ587kEq;d!uh z3o~fVe`2O`C3muawFF2}votA7Nis~n_mfoI*Li`?#AjhJF30e3hDNMGZlWwd5>76sKLhRpxrl(5YwGU<9-ESy=a|@g$%xXP;((Sj_0i+k}m1jbC zGv+rvy{r8W! z1i4^Y4`ihGu0cvp{`BbYtNnLbWg}&{Izu3`&oz!L)&F>EfMo3D6=Fcl>g<|#7rAlN@59OH`OE7X241ii&ndJ zHexjotOT*lNh~|;9tdLDVPDamSau+m9roHZ#Et>6W3U@W0&__$I}pnb`@ANx>_99# z?1quRYZA*2#InP_Vm-0!KrB1_*S&(gCb8^5EIUBK^ndXK5$!-MI}pnbM4%!O!TG1! zLd>p-*)=h{CZfcNz3bf|k;p6fy%NOU^{!bYCXvJ>l9)siNnJ!__@CUF*rFx2Xo)S_ z{|Th7-KdpV+9Z}X|CnbY2m5!tMkI0(iClkrKg60ZvF5waKoW^ue~5iVMAiR&h$?zh zU(A66l(){GRWbU{L=w46yBQ4;MD+gxBKo58+h`mMv_fs#`2tBr>_oJZE+$Pe1qB2w zXE#@-dpXhD;^4K_F<2};m-46->`Rr`{LCdqpy;_W+2XXA?kjDXVr5mU=#M5;8)6dE zOZ|7&ehl}1ee0cf#`~xC`p>T^-+(y$EPj0?9kIRC^x(P%Np*>NpgDSHrNsp;ufzhy zcB$vA&yE058%0H5tOE{wHg6e?n^tO(SxO8l727&a4%^oFXUffYXgLaBRW{vzy?wo9 zJyj`fq)0Kv${f1;j|p4M`;~SAySpsndNmTLrsN%@<dCQ3KHW0ZIA&8782VdV}fQM`i-%q~>+|hLg7WDLDyJ%f15T$!N z+x&p}`c_pf9DGG8QV)eI-u3kFaoW0G%p}?XAEGbj|8PXx*w2fpUdW$gr{j z+Vm$lAJk3MnOe*?;q&lhso`Su0F708dd<`J#7J(Lak9=jp&tT_-4Zu;*Ea_kz=NMJ4~+3lozoP3zOq1K*;q zw@-&H7S|w@{D$7}P@!?N{3;uQEu~|{j3Gy_Zka%+!G)mqCpC29x#aAZr;yXb4s{H-v5Y0d2V>F55 z8po9b>MP0Lqc3_A9&AYg|epU7KA0j$`7rOl3rY+=#Si# zTXAYh6Sk^bz%T3NZA{q1V2vp+`ISz9-_b=E;-yP7~`Vu`QkOl7hYKEp=;f zUfHe|4)kA54U&7+TC{VwCQVWEi9*m&7Mov^SJ+(R;psZ|7lkO4eJ2!vK z@8-X|$7vCR>HlWA=3HI7ow^COzHSWyHBY${+U;?rcYa4cXleE677chDA6rsdPDJYa zbRH`F7Q3tS;aYJLQWhBcZM&YGNgWQf@9|;9p-1V&Wb~EmQXl=#4hU=KL&Cc18RwjSL-#c9LSjy_B z`4-DF{0>m4RMfKiF^8hBBy@y(fuPt9KDuM$LOtt4Vq_8D0J^x2 z+g}@(tvHX>>3zD_ygYqREpWqZ6X{M$ep^ILqe~9m(Ox_Cc|K9`j6agFA?T`y{OEIY z6Zg4==Rk`RlRTl?Z~dp|;U$pprz&pOQ zTk@|rwUyy6>OYQxqxhzWv)Wqf-Ms~LFYD7JDiy3{u75oxk`mU4{L!Qbj@O^N i6Cd*bcO?UNNX~ap6xo}<>OBDdJAY31Y>}#U(EkEfLyx5Z diff --git a/UITests/Screenshots/images/status_bar.png b/UITests/Screenshots/images/status_bar.png deleted file mode 100644 index ec2cb332577896004d42c6be72fd407c14b477d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9695 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 diff --git a/UITests/Screenshots/images/status_bar_call_view.png b/UITests/Screenshots/images/status_bar_call_view.png deleted file mode 100644 index a6adae0b789726f7086273bfaabd5ce0015e2d50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16347 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 diff --git a/UITests/Screenshots/images/tab_bar.png b/UITests/Screenshots/images/tab_bar.png deleted file mode 100644 index 640ff7d2ac4790a53056444d40f44e38cfc67898..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25767 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 - - - - - - - - - - - \ No newline at end of file diff --git a/UITests/Screenshots/status_bar.svg b/UITests/Screenshots/status_bar.svg deleted file mode 100644 index 3e2630bb0..000000000 --- a/UITests/Screenshots/status_bar.svg +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/UITests/Screenshots/tab_bar.svg b/UITests/Screenshots/tab_bar.svg deleted file mode 100644 index 5a21254f8..000000000 --- a/UITests/Screenshots/tab_bar.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/UITests/TestPlans/Debug.xctestplan b/UITests/TestPlans/Debug.xctestplan deleted file mode 100644 index 7dd4854fe..000000000 --- a/UITests/TestPlans/Debug.xctestplan +++ /dev/null @@ -1,47 +0,0 @@ -{ - "configurations" : [ - { - "id" : "F802CEE6-B0E3-4B17-A13A-993A541A3D18", - "name" : "Configuration 1", - "options" : { - - } - } - ], - "defaultOptions" : { - "commandLineArgumentEntries" : [ - - ], - "environmentVariableEntries" : [ - { - "key" : "CGBITMAP_CONTEXT_LOG_ERRORS", - "value" : "" - } - ], - "language" : "en", - "region" : "GB", - "testTimeoutsEnabled" : true, - "userAttachmentLifetime" : "keepAlways" - }, - "testTargets" : [ - { - "skippedTests" : [ - "ActiveCallUITests", - "ExtraMenuUITests" - ], - "target" : { - "containerPath" : "container:linphone.xcodeproj", - "identifier" : "6637AF8C288593AF00965733", - "name" : "CallUITests" - } - }, - { - "target" : { - "containerPath" : "container:linphone.xcodeproj", - "identifier" : "66B77EB6289C0B4F007D9C25", - "name" : "ConferenceUITests" - } - } - ], - "version" : 1 -} diff --git a/UITests/TestPlans/Default.xctestplan b/UITests/TestPlans/Default.xctestplan deleted file mode 100644 index 04054f7a7..000000000 --- a/UITests/TestPlans/Default.xctestplan +++ /dev/null @@ -1,36 +0,0 @@ -{ - "configurations" : [ - { - "id" : "21D0F563-6C94-4DE8-9A9F-D90DA7237F5A", - "name" : "Configuration 1", - "options" : { - "uiTestingScreenshotsLifetime" : "keepNever" - } - } - ], - "defaultOptions" : { - "environmentVariableEntries" : [ - { - "key" : "CGBITMAP_CONTEXT_LOG_ERRORS", - "value" : "" - } - ], - "language" : "en", - "region" : "GB", - "testExecutionOrdering" : "random", - "testTimeoutsEnabled" : true - }, - "testTargets" : [ - { - "skippedTests" : [ - "ActiveCallUITests_withVideo" - ], - "target" : { - "containerPath" : "container:linphone.xcodeproj", - "identifier" : "6637AF8C288593AF00965733", - "name" : "CallUITests" - } - } - ], - "version" : 1 -} diff --git a/UITests/TestPlans/PauseMode_extended.xctestplan b/UITests/TestPlans/PauseMode_extended.xctestplan deleted file mode 100644 index 6d31a6760..000000000 --- a/UITests/TestPlans/PauseMode_extended.xctestplan +++ /dev/null @@ -1,56 +0,0 @@ -{ - "configurations" : [ - { - "id" : "0CE85DD8-6489-4B3B-8B9C-CC72AB27D7FA", - "name" : "pause mode", - "options" : { - "commandLineArgumentEntries" : [ - { - "argument" : "pause" - } - ] - } - }, - { - "id" : "AB4C412C-D536-4088-A22F-3BF027F7BC75", - "name" : "remote pause mode", - "options" : { - "commandLineArgumentEntries" : [ - { - "argument" : "remote" - }, - { - "argument" : "pause" - } - ] - } - } - ], - "defaultOptions" : { - "language" : "en", - "region" : "GB", - "testExecutionOrdering" : "random", - "testTimeoutsEnabled" : true - }, - "testTargets" : [ - { - "skippedTests" : [ - "ActiveCallUITests\/testCallRecord()", - "ActiveCallUITests\/testPauseCall()", - "ActiveCallUITests\/testRemoteCallRecord()", - "ActiveCallUITests\/testRemotePauseCall()", - "ActiveCallUITests\/testRemoteResumeCall()", - "ActiveCallUITests\/testResumeCall()", - "ActiveCallUITests_withVideo", - "IncomingCallUITests", - "OutgoingCallUITests" - ], - "target" : { - "containerPath" : "container:linphone.xcodeproj", - "identifier" : "6637AF8C288593AF00965733", - "name" : "CallUITests" - } - } - ], - "version" : 1 -} diff --git a/doc/CUSTOMIZING.txt b/doc/CUSTOMIZING.txt deleted file mode 100644 index 6fa0a155f..000000000 --- a/doc/CUSTOMIZING.txt +++ /dev/null @@ -1,20 +0,0 @@ -# Assistant configuration - -The assistant allows to create a new sip account on a pre-defined SIP service using an xml-rpc connection, -as well as configuring an existing SIP account. -The files Resources/assistant_linphone_create.rc and Resources/assistant_linphone_existing.rc contain the -information necessary to create and configure the SIP accounts, most notabily: - * proxy_default_values/reg_identity to define the SIP identity - * sip/rls_uri to define the SIP URI of the presence server - * assistant/domain to specify the SIP domain - * assistant/xmlrpc_url to specify the https url of the account creation service - -# In-app purchase configuration - -The Resources/linphonerc.factory, section [in_app_purchase] is the entry point for configuring -the in-app purchases available in the application, as well as parameters for account expiry notifications. -Refer to the inlined comments in this configuration for description of all configurables. - - - - diff --git a/iTunesArtwork b/iTunesArtwork deleted file mode 100644 index 1901f505a5523205bb58697a2c2ac67c4be98d72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25389 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 - - - - CFBundleDevelopmentRegion - English - CFBundleDisplayName - Linphone - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIcons~ipad - - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleLocalizations - - en - fr - - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - APPL - CFBundleShortVersionString - $(MARKETING_VERSION) - CFBundleURLTypes - - - CFBundleTypeRole - Viewer - CFBundleURLIconFile - linphone_icon_72@2x - CFBundleURLName - org.linphone.phone - CFBundleURLSchemes - - sip - - - - CFBundleTypeRole - Viewer - CFBundleURLIconFile - linphone_icon_72@2x - CFBundleURLName - org.linphone.phone - CFBundleURLSchemes - - linphone-config - - - - CFBundleTypeRole - Editor - CFBundleURLIconFile - linphone_icon_72@2x - CFBundleURLName - org.linphone.phone - CFBundleURLSchemes - - message-linphone - - - - CFBundleTypeRole - Viewer - CFBundleURLIconFile - linphone_icon_72@2x - CFBundleURLName - org.linphone.phone - CFBundleURLSchemes - - linphone-widget - - - - CFBundleTypeRole - Viewer - CFBundleURLIconFile - linphone_icon_72@2x - CFBundleURLName - org.linphone.phone - CFBundleURLSchemes - - sips - - - - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - ITSAppUsesNonExemptEncryption - - ITSEncryptionExportComplianceCode - b5cb085f-772a-4a4f-8c77-5d1332b1f93f - LSRequiresIPhoneOS - - NSBluetoothPeripheralUsageDescription - Use your BT headset - NSCalendarsUsageDescription - Add Conference invitations to calendar - NSCameraUsageDescription - Share photos with your friends and customize avatars - NSContactsUsageDescription - Make calls with your friends - NSLocalNetworkUsageDescription - Stream audio and video through the local network - NSLocationWhenInUseUsageDescription - Linphone will not use, store or communicate your location. The authorization allows us to detect Wifi connection changes - NSMicrophoneUsageDescription - Use microphone to make audio calls - NSPhotoLibraryAddUsageDescription - Add tranfered files to your library - NSPhotoLibraryUsageDescription - Share photos with your friends and customize avatars - NSUbiquitousContainers - - iCloud.org.linphone.phone - - NSUbiquitousContainerIsDocumentScopePublic - - NSUbiquitousContainerName - Linphone - NSUbiquitousContainerSupportedFolderLevels - Any - - - NSVoIPUsageDescription - Make audio/video calls - UIAppFonts - - Roboto-Regular.ttf - Roboto-Bold.ttf - Roboto-Italic.ttf - - UIApplicationShortcutItems - - - UIApplicationShortcutItemIconType - UIApplicationShortcutIconTypeCompose - UIApplicationShortcutItemTitle - New Message - UIApplicationShortcutItemType - linphone.phone.action.newMessage - - - UIBackgroundModes - - audio - fetch - remote-notification - voip - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - MainStoryboard - UIRequiredDeviceCapabilities - - wifi - microphone - - UIRequiresFullScreen - - UIRequiresPersistentWiFi - - UIStatusBarStyle - UIStatusBarStyleLightContent - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationLandscapeRight - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationPortrait - - UISupportsDocumentBrowser - - UIViewControllerBasedStatusBarAppearance - - - diff --git a/linphone-adhoc.plist b/linphone-adhoc.plist deleted file mode 100644 index c2c9b185f..000000000 --- a/linphone-adhoc.plist +++ /dev/null @@ -1,13 +0,0 @@ - - - - - method - ad-hoc - iCloudContainerEnvironment - Production -compileBitcode - - - - diff --git a/linphone.entitlements b/linphone.entitlements deleted file mode 100644 index 9e64877db..000000000 --- a/linphone.entitlements +++ /dev/null @@ -1,34 +0,0 @@ - - - - - aps-environment - development - com.apple.developer.icloud-container-identifiers - - iCloud.$(CFBundleIdentifier) - - com.apple.developer.icloud-services - - CloudDocuments - - com.apple.developer.networking.wifi-info - - com.apple.developer.ubiquity-container-identifiers - - iCloud.$(CFBundleIdentifier) - - com.apple.developer.ubiquity-kvstore-identifier - $(TeamIdentifierPrefix)$(CFBundleIdentifier) - com.apple.security.application-groups - - group.org.linphone.phone.linphoneExtension - group.belledonne-communications.linphone.widget - group.org.linphone.phone.msgNotification - - keychain-access-groups - - $(AppIdentifierPrefix)org.linphone.phone - - - diff --git a/linphone.xcodeproj/.gitignore b/linphone.xcodeproj/.gitignore deleted file mode 100644 index 7f42cdded..000000000 --- a/linphone.xcodeproj/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -project.xcworkspace -xcuserdata diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj deleted file mode 100644 index f8e400d03..000000000 --- a/linphone.xcodeproj/project.pbxproj +++ /dev/null @@ -1,7167 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 152F22361B15E889008C0621 /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 152F22351B15E889008C0621 /* libxml2.dylib */; }; - 1D3623260D0F684500981E51 /* LinphoneAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* LinphoneAppDelegate.m */; }; - 1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; }; - 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; - 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; - 2214EB7A12F846B1002A5394 /* UICallButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 2214EB7912F846B1002A5394 /* UICallButton.m */; }; - 22276E8913C73DC000210156 /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22276E8813C73DC000210156 /* CoreMedia.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; - 22405EEE1600B4E400B92522 /* AssetsLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22405EED1600B4E400B92522 /* AssetsLibrary.framework */; }; - 22405F001601C19200B92522 /* ImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 22405EFE1601C19100B92522 /* ImageView.m */; }; - 224567C2107B968500F10948 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 224567C1107B968500F10948 /* AVFoundation.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; - 2248E90E12F7E4CF00220D9C /* UIDigitButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 2248E90D12F7E4CF00220D9C /* UIDigitButton.m */; }; - 2264B6D211200342002C2C53 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2264B6D111200342002C2C53 /* SystemConfiguration.framework */; }; - 226EF06C15FA256B005865C7 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 226EF06B15FA256B005865C7 /* MobileCoreServices.framework */; }; - 2274401A106F31BD006EC466 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22744019106F31BD006EC466 /* CoreAudio.framework */; }; - 2274402F106F335E006EC466 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2274402E106F335E006EC466 /* AudioToolbox.framework */; }; - 228697C411AC29B800E9E0CA /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 228697C311AC29B800E9E0CA /* CFNetwork.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; - 22AA8B0113D83F6300B30535 /* UICamSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = 22AA8B0013D83F6300B30535 /* UICamSwitch.m */; }; - 22D1B68112A3E0BE001AE361 /* libresolv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 22D1B68012A3E0BE001AE361 /* libresolv.dylib */; }; - 22E0A822111C44E100B04932 /* AboutView.m in Sources */ = {isa = PBXBuildFile; fileRef = 22E0A81C111C44E100B04932 /* AboutView.m */; }; - 22F2508E107141E100AC9B3F /* DialerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 22F2508C107141E100AC9B3F /* DialerView.m */; }; - 244523AF1E8266CC0037A187 /* chat_delivered.png in Resources */ = {isa = PBXBuildFile; fileRef = 244523AC1E8266CC0037A187 /* chat_delivered.png */; }; - 244523B01E8266CC0037A187 /* chat_error.png in Resources */ = {isa = PBXBuildFile; fileRef = 244523AD1E8266CC0037A187 /* chat_error.png */; }; - 244523B11E8266CC0037A187 /* chat_read.png in Resources */ = {isa = PBXBuildFile; fileRef = 244523AE1E8266CC0037A187 /* chat_read.png */; }; - 244523BE1E8D3A6C0037A187 /* chat_unsecure.png in Resources */ = {isa = PBXBuildFile; fileRef = 244523BC1E8D3A6C0037A187 /* chat_unsecure.png */; }; - 249660951FD6A35F001D55AA /* Photos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 249660941FD6A359001D55AA /* Photos.framework */; }; - 24A3459E1D95797700881A5C /* UIShopTableCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 24A3459D1D95797700881A5C /* UIShopTableCell.xib */; }; - 24A345A61D95798A00881A5C /* UIShopTableCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 24A345A51D95798A00881A5C /* UIShopTableCell.m */; }; - 24BFAA9E209B0630004F47A7 /* dialer_background.png in Resources */ = {isa = PBXBuildFile; fileRef = 24BFAA8C209B062B004F47A7 /* dialer_background.png */; }; - 24BFAA9F209B0630004F47A7 /* linphone_user.png in Resources */ = {isa = PBXBuildFile; fileRef = 24BFAA93209B062C004F47A7 /* linphone_user.png */; }; - 24BFAAA0209B0630004F47A7 /* contacts_sip_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 24BFAA94209B062C004F47A7 /* contacts_sip_default@2x.png */; }; - 24BFAAA1209B0630004F47A7 /* linphone_user@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 24BFAA95209B062D004F47A7 /* linphone_user@2x.png */; }; - 24BFAAA2209B0630004F47A7 /* linphone_user~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 24BFAA96209B062D004F47A7 /* linphone_user~ipad@2x.png */; }; - 24BFAAA3209B0630004F47A7 /* contacts_sip_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 24BFAA97209B062E004F47A7 /* contacts_sip_selected.png */; }; - 24BFAAA4209B0630004F47A7 /* linphone_logo.png in Resources */ = {isa = PBXBuildFile; fileRef = 24BFAA98209B062E004F47A7 /* linphone_logo.png */; }; - 24BFAAA5209B0630004F47A7 /* contacts_sip_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 24BFAA99209B062E004F47A7 /* contacts_sip_default.png */; }; - 24BFAAA6209B0630004F47A7 /* linphone_user~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 24BFAA9A209B062F004F47A7 /* linphone_user~ipad.png */; }; - 24BFAAA7209B0630004F47A7 /* callkit_logo.png in Resources */ = {isa = PBXBuildFile; fileRef = 24BFAA9B209B062F004F47A7 /* callkit_logo.png */; }; - 24BFAAA8209B0630004F47A7 /* contacts_sip_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 24BFAA9C209B062F004F47A7 /* contacts_sip_selected@2x.png */; }; - 24BFAAA9209B0630004F47A7 /* linphone_logo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 24BFAA9D209B0630004F47A7 /* linphone_logo@2x.png */; }; - 24E1C7C01F9A235600D3F981 /* Contacts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 24E1C7B91F9A235500D3F981 /* Contacts.framework */; }; - 288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; }; - 340751971506459A00B89C47 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 340751961506459A00B89C47 /* CoreTelephony.framework */; }; - 344ABDF114850AE9007420B6 /* libc++.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 344ABDEF14850AE9007420B6 /* libc++.1.dylib */; settings = {ATTRIBUTES = (Weak, ); }; }; - 570742581D5A0691004B9C84 /* ShopView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 570742561D5A0691004B9C84 /* ShopView.xib */; }; - 570742611D5A09B8004B9C84 /* ShopView.m in Sources */ = {isa = PBXBuildFile; fileRef = 5707425F1D5A09B8004B9C84 /* ShopView.m */; }; - 570742671D5A63DB004B9C84 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 570742661D5A63DB004B9C84 /* StoreKit.framework */; }; - 6112A01C243B31A700DBD5F5 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 6112A01B243B31A600DBD5F5 /* GoogleService-Info.plist */; }; - 6112A01E243B5FD500DBD5F5 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 6112A01D243B5FD500DBD5F5 /* GoogleService-Info.plist */; }; - 6135761C240E81BB005304D4 /* UIInterfaceStyleButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 6135761B240E81BA005304D4 /* UIInterfaceStyleButton.m */; }; - 6135761F240E81D0005304D4 /* UIInterfaceStyleToggleButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 6135761E240E81D0005304D4 /* UIInterfaceStyleToggleButton.m */; }; - 614D09CE21E74D5400C43EDF /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 614D09CD21E74D5400C43EDF /* GoogleService-Info.plist */; }; - 61586B81217A16EE0038AC45 /* menu_about.png in Resources */ = {isa = PBXBuildFile; fileRef = 61586B7A217A16EE0038AC45 /* menu_about.png */; }; - 61586B83217A16FD0038AC45 /* menu_about@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 61586B82217A16FD0038AC45 /* menu_about@2x.png */; }; - 61586B85217A17070038AC45 /* menu_assistant.png in Resources */ = {isa = PBXBuildFile; fileRef = 61586B84217A17070038AC45 /* menu_assistant.png */; }; - 61586B87217A17160038AC45 /* menu_assistant@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 61586B86217A17150038AC45 /* menu_assistant@2x.png */; }; - 61586B89217A17220038AC45 /* menu_link_account.png in Resources */ = {isa = PBXBuildFile; fileRef = 61586B88217A17220038AC45 /* menu_link_account.png */; }; - 61586B8B217A17320038AC45 /* menu_link_account@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 61586B8A217A17320038AC45 /* menu_link_account@2x.png */; }; - 61586B8D217A173F0038AC45 /* menu_options.png in Resources */ = {isa = PBXBuildFile; fileRef = 61586B8C217A173F0038AC45 /* menu_options.png */; }; - 61586B8F217A174F0038AC45 /* menu_options@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 61586B8E217A174F0038AC45 /* menu_options@2x.png */; }; - 61586B91217A175D0038AC45 /* menu_recordings.png in Resources */ = {isa = PBXBuildFile; fileRef = 61586B90217A175C0038AC45 /* menu_recordings.png */; }; - 61586B93217A17700038AC45 /* menu_recordings@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 61586B92217A176F0038AC45 /* menu_recordings@2x.png */; }; - 615A280F217F1FD50060F920 /* chat_add_group.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A2808217F1FD40060F920 /* chat_add_group.png */; }; - 615A2811217F1FDE0060F920 /* chat_add_group@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A2810217F1FDE0060F920 /* chat_add_group@2x.png */; }; - 615A2813217F24D40060F920 /* security_1_indicator.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A2812217F24D40060F920 /* security_1_indicator.png */; }; - 615A2815217F24E00060F920 /* security_1_indicator@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A2814217F24E00060F920 /* security_1_indicator@2x.png */; }; - 615A2817217F280C0060F920 /* chat_list_indicator.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A2816217F280C0060F920 /* chat_list_indicator.png */; }; - 615A2819217F28160060F920 /* chat_list_indicator@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A2818217F28160060F920 /* chat_list_indicator@2x.png */; }; - 615A281B217F6F9C0060F920 /* security_2_indicator.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A281A217F6F9B0060F920 /* security_2_indicator.png */; }; - 615A281D217F6FA80060F920 /* security_2_indicator@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A281C217F6FA80060F920 /* security_2_indicator@2x.png */; }; - 615A281F217F6FB40060F920 /* security_alert_indicator.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A281E217F6FB30060F920 /* security_alert_indicator.png */; }; - 615A2821217F6FBF0060F920 /* security_alert_indicator@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A2820217F6FBF0060F920 /* security_alert_indicator@2x.png */; }; - 615A282421805B260060F920 /* security_toogle_icon_green.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A282321805B250060F920 /* security_toogle_icon_green.png */; }; - 615A282621805B320060F920 /* security_toogle_icon_green@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A282521805B320060F920 /* security_toogle_icon_green@2x.png */; }; - 615A282821805B400060F920 /* security_toogle_icon_grey.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A282721805B400060F920 /* security_toogle_icon_grey.png */; }; - 615A282A21805B4C0060F920 /* security_toogle_icon_grey@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A282921805B4C0060F920 /* security_toogle_icon_grey@2x.png */; }; - 615A2830218071E80060F920 /* security_toogle_background_green.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A282F218071E80060F920 /* security_toogle_background_green.png */; }; - 615A2832218071F30060F920 /* security_toogle_background_green@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A2831218071F30060F920 /* security_toogle_background_green@2x.png */; }; - 615A2834218071FF0060F920 /* security_toogle_background_grey.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A2833218071FF0060F920 /* security_toogle_background_grey.png */; }; - 615A28362180720D0060F920 /* security_toogle_background_grey@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A28352180720D0060F920 /* security_toogle_background_grey@2x.png */; }; - 615A283A2180788E0060F920 /* security_toogle_button.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A28392180788E0060F920 /* security_toogle_button.png */; }; - 615A283C2180789C0060F920 /* security_toogle_button@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A283B2180789C0060F920 /* security_toogle_button@2x.png */; }; - 615A283E2180A2560060F920 /* invite_linphone.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A283D2180A2550060F920 /* invite_linphone.png */; }; - 615A28402180A2620060F920 /* invite_linphone@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A283F2180A2620060F920 /* invite_linphone@2x.png */; }; - 615A28422180C0870060F920 /* recording.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A28412180C0820060F920 /* recording.png */; }; - 615A28442180C0900060F920 /* recording@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A28432180C08F0060F920 /* recording@2x.png */; }; - 617B4A60260A2B7800A87337 /* RecordingsListView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 617B4A62260A2B7800A87337 /* RecordingsListView.xib */; }; - 617C242A263022690042FB4A /* UIChatContentView.m in Sources */ = {isa = PBXBuildFile; fileRef = 617C2429263022690042FB4A /* UIChatContentView.m */; }; - 6180D6FE21EE41A800AD9CB6 /* QuickLook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6180D6FD21EE41A800AD9CB6 /* QuickLook.framework */; }; - 61AE364F20C00B370089D9D3 /* ShareViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 61AE364E20C00B370089D9D3 /* ShareViewController.m */; }; - 61AE365220C00B370089D9D3 /* MainInterface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 61AE365020C00B370089D9D3 /* MainInterface.storyboard */; }; - 61AE365620C00B370089D9D3 /* linphoneExtension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 61AE364B20C00B370089D9D3 /* linphoneExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - 61AEBEBD2191990A00F35E7F /* DevicesListView.m in Sources */ = {isa = PBXBuildFile; fileRef = 61AEBEBC2191990A00F35E7F /* DevicesListView.m */; }; - 61AEBEBF2191991F00F35E7F /* DevicesListView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 61AEBEBE2191991F00F35E7F /* DevicesListView.xib */; }; - 61AEBEC62191E47500F35E7F /* chevron_list_close.png in Resources */ = {isa = PBXBuildFile; fileRef = 61AEBEC52191E47500F35E7F /* chevron_list_close.png */; }; - 61AEBEC82191E48400F35E7F /* chevron_list_close@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 61AEBEC72191E48400F35E7F /* chevron_list_close@2x.png */; }; - 61AEBECA2191E49300F35E7F /* chevron_list_open.png in Resources */ = {isa = PBXBuildFile; fileRef = 61AEBEC92191E49200F35E7F /* chevron_list_open.png */; }; - 61AEBECC2191E4A300F35E7F /* chevron_list_open@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 61AEBECB2191E4A300F35E7F /* chevron_list_open@2x.png */; }; - 61CCC3DF21933B580060EDEA /* UIDeviceCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 61CCC3DE21933B580060EDEA /* UIDeviceCell.m */; }; - 61CCC3E121933B660060EDEA /* UIDeviceCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 61CCC3E021933B660060EDEA /* UIDeviceCell.xib */; }; - 61DD7E1F2372E88F001BDD01 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 61DD7E1E2372E88F001BDD01 /* CoreLocation.framework */; }; - 61F1997520C6B1D5006B069A /* AVKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 61F1996E20C6B1D5006B069A /* AVKit.framework */; }; - 6306440E1BECB08500134C72 /* FirstLoginView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6306440C1BECB08500134C72 /* FirstLoginView.m */; }; - 6308F9C51BF0DD6600D1234B /* XMLRPCHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 6308F9C41BF0DD6600D1234B /* XMLRPCHelper.m */; }; - 630CF5571AF7CE1500539F7A /* UITextField+DoneButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 630CF5561AF7CE1500539F7A /* UITextField+DoneButton.m */; }; - 631098491D4660580041F2B3 /* CountryListView.m in Sources */ = {isa = PBXBuildFile; fileRef = 631098481D4660580041F2B3 /* CountryListView.m */; }; - 631098521D4660630041F2B3 /* CountryListView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 631098501D4660630041F2B3 /* CountryListView.xib */; }; - 63130FB21C1ED06900371918 /* SideMenuView~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 63130FB01C1ED06900371918 /* SideMenuView~ipad.xib */; }; - 631348301B6F7B6600C6BDCB /* UIRoundBorderedButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 6313482F1B6F7B6600C6BDCB /* UIRoundBorderedButton.m */; }; - 63177FBF1C86E68C00ADE58D /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22276E8613C73D8A00210156 /* CoreVideo.framework */; }; - 6334DDFA1BBAC97C00631900 /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D32B6E2E15A5C0AC0033019F /* libsqlite3.dylib */; settings = {ATTRIBUTES = (Required, ); }; }; - 633671611BCBAAD200BFCBDE /* ChatConversationCreateView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6336715F1BCBAAD200BFCBDE /* ChatConversationCreateView.m */; }; - 633756391B67BAF400E21BAD /* SideMenuTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 633756381B67BAF400E21BAD /* SideMenuTableView.m */; }; - 633756451B67D2B200E21BAD /* SideMenuView.m in Sources */ = {isa = PBXBuildFile; fileRef = 633756431B67D2B100E21BAD /* SideMenuView.m */; }; - 633888451BFB2C49001D5E7B /* HPGrowingTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 633888421BFB2C49001D5E7B /* HPGrowingTextView.m */; }; - 633888461BFB2C49001D5E7B /* HPTextViewInternal.m in Sources */ = {isa = PBXBuildFile; fileRef = 633888441BFB2C49001D5E7B /* HPTextViewInternal.m */; }; - 633E41821D74259000320475 /* AssistantLinkView.m in Sources */ = {isa = PBXBuildFile; fileRef = 633E41801D74258F00320475 /* AssistantLinkView.m */; }; - 633FED9C1D3CD5590014B822 /* add_field_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBE21D3CD5570014B822 /* add_field_default.png */; }; - 633FED9D1D3CD5590014B822 /* add_field_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBE31D3CD5570014B822 /* add_field_default@2x.png */; }; - 633FED9E1D3CD5590014B822 /* add_field_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBE41D3CD5570014B822 /* add_field_over.png */; }; - 633FED9F1D3CD5590014B822 /* add_field_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBE51D3CD5570014B822 /* add_field_over@2x.png */; }; - 633FEDA01D3CD5590014B822 /* avatar.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBE61D3CD5570014B822 /* avatar.png */; }; - 633FEDA11D3CD5590014B822 /* avatar@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBE71D3CD5570014B822 /* avatar@2x.png */; }; - 633FEDA21D3CD5590014B822 /* avatar~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBE81D3CD5570014B822 /* avatar~ipad.png */; }; - 633FEDA31D3CD5590014B822 /* avatar~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBE91D3CD5570014B822 /* avatar~ipad@2x.png */; }; - 633FEDA41D3CD5590014B822 /* back_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBEA1D3CD5570014B822 /* back_default.png */; }; - 633FEDA51D3CD5590014B822 /* back_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBEB1D3CD5570014B822 /* back_default@2x.png */; }; - 633FEDA61D3CD5590014B822 /* back_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBEC1D3CD5570014B822 /* back_disabled.png */; }; - 633FEDA71D3CD5590014B822 /* back_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBED1D3CD5570014B822 /* back_disabled@2x.png */; }; - 633FEDA81D3CD5590014B822 /* backspace_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBEE1D3CD5570014B822 /* backspace_default.png */; }; - 633FEDA91D3CD5590014B822 /* backspace_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBEF1D3CD5570014B822 /* backspace_default@2x.png */; }; - 633FEDAA1D3CD5590014B822 /* backspace_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBF01D3CD5570014B822 /* backspace_disabled.png */; }; - 633FEDAB1D3CD5590014B822 /* backspace_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBF11D3CD5570014B822 /* backspace_disabled@2x.png */; }; - 633FEDAC1D3CD5590014B822 /* backspace_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBF21D3CD5570014B822 /* backspace_over.png */; }; - 633FEDAD1D3CD5590014B822 /* backspace_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBF31D3CD5570014B822 /* backspace_over@2x.png */; }; - 633FEDAE1D3CD5590014B822 /* call_add_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBF41D3CD5570014B822 /* call_add_default.png */; }; - 633FEDAF1D3CD5590014B822 /* call_add_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBF51D3CD5570014B822 /* call_add_default@2x.png */; }; - 633FEDB01D3CD5590014B822 /* call_add_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBF61D3CD5570014B822 /* call_add_disabled.png */; }; - 633FEDB11D3CD5590014B822 /* call_add_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBF71D3CD5570014B822 /* call_add_disabled@2x.png */; }; - 633FEDB21D3CD5590014B822 /* call_alt_back_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBF81D3CD5570014B822 /* call_alt_back_default.png */; }; - 633FEDB31D3CD5590014B822 /* call_alt_back_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBF91D3CD5570014B822 /* call_alt_back_default@2x.png */; }; - 633FEDB41D3CD5590014B822 /* call_alt_back_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBFA1D3CD5570014B822 /* call_alt_back_disabled.png */; }; - 633FEDB51D3CD5590014B822 /* call_alt_back_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBFB1D3CD5570014B822 /* call_alt_back_disabled@2x.png */; }; - 633FEDB61D3CD5590014B822 /* call_alt_start_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBFC1D3CD5570014B822 /* call_alt_start_default.png */; }; - 633FEDB71D3CD5590014B822 /* call_alt_start_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBFD1D3CD5570014B822 /* call_alt_start_default@2x.png */; }; - 633FEDB81D3CD5590014B822 /* call_alt_start_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBFE1D3CD5570014B822 /* call_alt_start_disabled.png */; }; - 633FEDB91D3CD5590014B822 /* call_alt_start_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBFF1D3CD5570014B822 /* call_alt_start_disabled@2x.png */; }; - 633FEDBA1D3CD5590014B822 /* call_audio_start_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC001D3CD5570014B822 /* call_audio_start_default.png */; }; - 633FEDBB1D3CD5590014B822 /* call_audio_start_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC011D3CD5570014B822 /* call_audio_start_default@2x.png */; }; - 633FEDBC1D3CD5590014B822 /* call_audio_start_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC021D3CD5570014B822 /* call_audio_start_disabled.png */; }; - 633FEDBD1D3CD5590014B822 /* call_audio_start_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC031D3CD5570014B822 /* call_audio_start_disabled@2x.png */; }; - 633FEDBE1D3CD5590014B822 /* call_back_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC041D3CD5570014B822 /* call_back_default.png */; }; - 633FEDBF1D3CD5590014B822 /* call_back_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC051D3CD5570014B822 /* call_back_default@2x.png */; }; - 633FEDC01D3CD5590014B822 /* call_back_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC061D3CD5570014B822 /* call_back_disabled.png */; }; - 633FEDC11D3CD5590014B822 /* call_back_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC071D3CD5570014B822 /* call_back_disabled@2x.png */; }; - 633FEDC21D3CD5590014B822 /* call_hangup_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC081D3CD5570014B822 /* call_hangup_default.png */; }; - 633FEDC31D3CD5590014B822 /* call_hangup_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC091D3CD5570014B822 /* call_hangup_default@2x.png */; }; - 633FEDC41D3CD5590014B822 /* call_hangup_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC0A1D3CD5570014B822 /* call_hangup_disabled.png */; }; - 633FEDC51D3CD5590014B822 /* call_hangup_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC0B1D3CD5570014B822 /* call_hangup_disabled@2x.png */; }; - 633FEDC61D3CD5590014B822 /* call_incoming.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC0C1D3CD5570014B822 /* call_incoming.png */; }; - 633FEDC71D3CD5590014B822 /* call_incoming@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC0D1D3CD5570014B822 /* call_incoming@2x.png */; }; - 633FEDC81D3CD5590014B822 /* call_missed.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC0E1D3CD5570014B822 /* call_missed.png */; }; - 633FEDC91D3CD5590014B822 /* call_missed@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC0F1D3CD5570014B822 /* call_missed@2x.png */; }; - 633FEDCA1D3CD5590014B822 /* call_outgoing.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC101D3CD5570014B822 /* call_outgoing.png */; }; - 633FEDCB1D3CD5590014B822 /* call_outgoing@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC111D3CD5570014B822 /* call_outgoing@2x.png */; }; - 633FEDCC1D3CD5590014B822 /* call_quality_indicator_0.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC121D3CD5570014B822 /* call_quality_indicator_0.png */; }; - 633FEDCD1D3CD5590014B822 /* call_quality_indicator_0@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC131D3CD5570014B822 /* call_quality_indicator_0@2x.png */; }; - 633FEDCE1D3CD5590014B822 /* call_quality_indicator_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC141D3CD5570014B822 /* call_quality_indicator_1.png */; }; - 633FEDCF1D3CD5590014B822 /* call_quality_indicator_1@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC151D3CD5570014B822 /* call_quality_indicator_1@2x.png */; }; - 633FEDD01D3CD5590014B822 /* call_quality_indicator_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC161D3CD5570014B822 /* call_quality_indicator_2.png */; }; - 633FEDD11D3CD5590014B822 /* call_quality_indicator_2@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC171D3CD5570014B822 /* call_quality_indicator_2@2x.png */; }; - 633FEDD21D3CD5590014B822 /* call_quality_indicator_3.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC181D3CD5570014B822 /* call_quality_indicator_3.png */; }; - 633FEDD31D3CD5590014B822 /* call_quality_indicator_3@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC191D3CD5570014B822 /* call_quality_indicator_3@2x.png */; }; - 633FEDD41D3CD5590014B822 /* call_quality_indicator_4.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC1A1D3CD5570014B822 /* call_quality_indicator_4.png */; }; - 633FEDD51D3CD5590014B822 /* call_quality_indicator_4@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC1B1D3CD5570014B822 /* call_quality_indicator_4@2x.png */; }; - 633FEDD61D3CD5590014B822 /* call_start_body_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC1C1D3CD5570014B822 /* call_start_body_default.png */; }; - 633FEDD71D3CD5590014B822 /* call_start_body_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC1D1D3CD5570014B822 /* call_start_body_default@2x.png */; }; - 633FEDD81D3CD5590014B822 /* call_start_body_default~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC1E1D3CD5570014B822 /* call_start_body_default~ipad.png */; }; - 633FEDD91D3CD5590014B822 /* call_start_body_default~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC1F1D3CD5570014B822 /* call_start_body_default~ipad@2x.png */; }; - 633FEDDA1D3CD5590014B822 /* call_start_body_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC201D3CD5570014B822 /* call_start_body_disabled.png */; }; - 633FEDDB1D3CD5590014B822 /* call_start_body_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC211D3CD5570014B822 /* call_start_body_disabled@2x.png */; }; - 633FEDDC1D3CD5590014B822 /* call_start_body_disabled~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC221D3CD5570014B822 /* call_start_body_disabled~ipad.png */; }; - 633FEDDD1D3CD5590014B822 /* call_start_body_disabled~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC231D3CD5570014B822 /* call_start_body_disabled~ipad@2x.png */; }; - 633FEDDE1D3CD5590014B822 /* call_start_body_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC241D3CD5570014B822 /* call_start_body_over.png */; }; - 633FEDDF1D3CD5590014B822 /* call_start_body_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC251D3CD5570014B822 /* call_start_body_over@2x.png */; }; - 633FEDE01D3CD5590014B822 /* call_start_body_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC261D3CD5570014B822 /* call_start_body_over~ipad.png */; }; - 633FEDE11D3CD5590014B822 /* call_start_body_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC271D3CD5570014B822 /* call_start_body_over~ipad@2x.png */; }; - 633FEDE21D3CD5590014B822 /* call_status_incoming.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC281D3CD5570014B822 /* call_status_incoming.png */; }; - 633FEDE31D3CD5590014B822 /* call_status_incoming@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC291D3CD5570014B822 /* call_status_incoming@2x.png */; }; - 633FEDE41D3CD5590014B822 /* call_status_incoming~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC2A1D3CD5570014B822 /* call_status_incoming~ipad.png */; }; - 633FEDE51D3CD5590014B822 /* call_status_incoming~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC2B1D3CD5570014B822 /* call_status_incoming~ipad@2x.png */; }; - 633FEDE61D3CD5590014B822 /* call_status_missed.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC2C1D3CD5570014B822 /* call_status_missed.png */; }; - 633FEDE71D3CD5590014B822 /* call_status_missed@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC2D1D3CD5570014B822 /* call_status_missed@2x.png */; }; - 633FEDE81D3CD5590014B822 /* call_status_missed~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC2E1D3CD5570014B822 /* call_status_missed~ipad.png */; }; - 633FEDE91D3CD5590014B822 /* call_status_missed~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC2F1D3CD5570014B822 /* call_status_missed~ipad@2x.png */; }; - 633FEDEA1D3CD5590014B822 /* call_status_outgoing.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC301D3CD5570014B822 /* call_status_outgoing.png */; }; - 633FEDEB1D3CD5590014B822 /* call_status_outgoing@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC311D3CD5570014B822 /* call_status_outgoing@2x.png */; }; - 633FEDEC1D3CD5590014B822 /* call_status_outgoing~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC321D3CD5570014B822 /* call_status_outgoing~ipad.png */; }; - 633FEDED1D3CD5590014B822 /* call_status_outgoing~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC331D3CD5570014B822 /* call_status_outgoing~ipad@2x.png */; }; - 633FEDEE1D3CD5590014B822 /* call_transfer_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC341D3CD5570014B822 /* call_transfer_default.png */; }; - 633FEDEF1D3CD5590014B822 /* call_transfer_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC351D3CD5570014B822 /* call_transfer_default@2x.png */; }; - 633FEDF01D3CD5590014B822 /* call_transfer_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC361D3CD5570014B822 /* call_transfer_disabled.png */; }; - 633FEDF11D3CD5590014B822 /* call_transfer_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC371D3CD5570014B822 /* call_transfer_disabled@2x.png */; }; - 633FEDF21D3CD5590014B822 /* call_video_start_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC381D3CD5570014B822 /* call_video_start_default.png */; }; - 633FEDF31D3CD5590014B822 /* call_video_start_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC391D3CD5570014B822 /* call_video_start_default@2x.png */; }; - 633FEDF41D3CD5590014B822 /* call_video_start_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC3A1D3CD5570014B822 /* call_video_start_disabled.png */; }; - 633FEDF51D3CD5590014B822 /* call_video_start_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC3B1D3CD5570014B822 /* call_video_start_disabled@2x.png */; }; - 633FEDF61D3CD5590014B822 /* camera_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC3C1D3CD5570014B822 /* camera_default.png */; }; - 633FEDF71D3CD5590014B822 /* camera_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC3D1D3CD5570014B822 /* camera_default@2x.png */; }; - 633FEDF81D3CD5590014B822 /* camera_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC3E1D3CD5570014B822 /* camera_disabled.png */; }; - 633FEDF91D3CD5590014B822 /* camera_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC3F1D3CD5570014B822 /* camera_disabled@2x.png */; }; - 633FEDFA1D3CD5590014B822 /* camera_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC401D3CD5570014B822 /* camera_selected.png */; }; - 633FEDFB1D3CD5590014B822 /* camera_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC411D3CD5570014B822 /* camera_selected@2x.png */; }; - 633FEDFC1D3CD5590014B822 /* camera_switch_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC421D3CD5570014B822 /* camera_switch_default.png */; }; - 633FEDFD1D3CD5590014B822 /* camera_switch_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC431D3CD5570014B822 /* camera_switch_default@2x.png */; }; - 633FEDFE1D3CD5590014B822 /* camera_switch_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC441D3CD5570014B822 /* camera_switch_disabled.png */; }; - 633FEDFF1D3CD5590014B822 /* camera_switch_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC451D3CD5570014B822 /* camera_switch_disabled@2x.png */; }; - 633FEE001D3CD5590014B822 /* camera_switch_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC461D3CD5570014B822 /* camera_switch_over.png */; }; - 633FEE011D3CD5590014B822 /* camera_switch_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC471D3CD5570014B822 /* camera_switch_over@2x.png */; }; - 633FEE021D3CD5590014B822 /* cancel_edit_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC481D3CD5570014B822 /* cancel_edit_default.png */; }; - 633FEE031D3CD5590014B822 /* cancel_edit_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC491D3CD5570014B822 /* cancel_edit_default@2x.png */; }; - 633FEE041D3CD5590014B822 /* cancel_edit_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC4A1D3CD5570014B822 /* cancel_edit_disabled.png */; }; - 633FEE051D3CD5590014B822 /* cancel_edit_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC4B1D3CD5570014B822 /* cancel_edit_disabled@2x.png */; }; - 633FEE061D3CD5590014B822 /* chat_add_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC4C1D3CD5570014B822 /* chat_add_default.png */; }; - 633FEE071D3CD5590014B822 /* chat_add_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC4D1D3CD5570014B822 /* chat_add_default@2x.png */; }; - 633FEE081D3CD5590014B822 /* chat_add_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC4E1D3CD5570014B822 /* chat_add_disabled.png */; }; - 633FEE091D3CD5590014B822 /* chat_add_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC4F1D3CD5570014B822 /* chat_add_disabled@2x.png */; }; - 633FEE0A1D3CD5590014B822 /* chat_attachment_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC501D3CD5570014B822 /* chat_attachment_default.png */; }; - 633FEE0B1D3CD5590014B822 /* chat_attachment_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC511D3CD5570014B822 /* chat_attachment_default@2x.png */; }; - 633FEE0C1D3CD5590014B822 /* chat_attachment_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC521D3CD5570014B822 /* chat_attachment_disabled.png */; }; - 633FEE0D1D3CD5590014B822 /* chat_attachment_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC531D3CD5570014B822 /* chat_attachment_disabled@2x.png */; }; - 633FEE0E1D3CD5590014B822 /* chat_attachment_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC541D3CD5570014B822 /* chat_attachment_over.png */; }; - 633FEE0F1D3CD5590014B822 /* chat_attachment_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC551D3CD5570014B822 /* chat_attachment_over@2x.png */; }; - 633FEE101D3CD5590014B822 /* chat_list_indicator~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC561D3CD5570014B822 /* chat_list_indicator~ipad.png */; }; - 633FEE111D3CD5590014B822 /* chat_list_indicator~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC571D3CD5570014B822 /* chat_list_indicator~ipad@2x.png */; }; - 633FEE121D3CD5590014B822 /* chat_message_not_delivered.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC581D3CD5570014B822 /* chat_message_not_delivered.png */; }; - 633FEE131D3CD5590014B822 /* chat_message_not_delivered@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC591D3CD5570014B822 /* chat_message_not_delivered@2x.png */; }; - 633FEE141D3CD5590014B822 /* chat_send_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC5A1D3CD5570014B822 /* chat_send_default.png */; }; - 633FEE151D3CD5590014B822 /* chat_send_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC5B1D3CD5570014B822 /* chat_send_default@2x.png */; }; - 633FEE161D3CD5590014B822 /* chat_send_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC5C1D3CD5570014B822 /* chat_send_disabled.png */; }; - 633FEE171D3CD5590014B822 /* chat_send_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC5D1D3CD5570014B822 /* chat_send_disabled@2x.png */; }; - 633FEE181D3CD5590014B822 /* chat_send_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC5E1D3CD5570014B822 /* chat_send_over.png */; }; - 633FEE191D3CD5590014B822 /* chat_send_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC5F1D3CD5570014B822 /* chat_send_over@2x.png */; }; - 633FEE1A1D3CD5590014B822 /* chat_start_body_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC601D3CD5570014B822 /* chat_start_body_default.png */; }; - 633FEE1B1D3CD5590014B822 /* chat_start_body_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC611D3CD5570014B822 /* chat_start_body_default@2x.png */; }; - 633FEE1C1D3CD5590014B822 /* chat_start_body_default~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC621D3CD5570014B822 /* chat_start_body_default~ipad.png */; }; - 633FEE1D1D3CD5590014B822 /* chat_start_body_default~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC631D3CD5570014B822 /* chat_start_body_default~ipad@2x.png */; }; - 633FEE1E1D3CD5590014B822 /* chat_start_body_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC641D3CD5570014B822 /* chat_start_body_disabled.png */; }; - 633FEE1F1D3CD5590014B822 /* chat_start_body_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC651D3CD5570014B822 /* chat_start_body_disabled@2x.png */; }; - 633FEE201D3CD5590014B822 /* chat_start_body_disabled~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC661D3CD5570014B822 /* chat_start_body_disabled~ipad.png */; }; - 633FEE211D3CD5590014B822 /* chat_start_body_disabled~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC671D3CD5570014B822 /* chat_start_body_disabled~ipad@2x.png */; }; - 633FEE221D3CD5590014B822 /* chat_start_body_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC681D3CD5570014B822 /* chat_start_body_over.png */; }; - 633FEE231D3CD5590014B822 /* chat_start_body_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC691D3CD5570014B822 /* chat_start_body_over@2x.png */; }; - 633FEE241D3CD5590014B822 /* chat_start_body_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC6A1D3CD5570014B822 /* chat_start_body_over~ipad.png */; }; - 633FEE251D3CD5590014B822 /* chat_start_body_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC6B1D3CD5570014B822 /* chat_start_body_over~ipad@2x.png */; }; - 633FEE261D3CD5590014B822 /* checkbox_checked.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC6C1D3CD5570014B822 /* checkbox_checked.png */; }; - 633FEE271D3CD5590014B822 /* checkbox_checked@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC6D1D3CD5570014B822 /* checkbox_checked@2x.png */; }; - 633FEE281D3CD5590014B822 /* checkbox_unchecked.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC6E1D3CD5570014B822 /* checkbox_unchecked.png */; }; - 633FEE291D3CD5590014B822 /* checkbox_unchecked@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC6F1D3CD5570014B822 /* checkbox_unchecked@2x.png */; }; - 633FEE2A1D3CD5590014B822 /* color_A.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC701D3CD5570014B822 /* color_A.png */; }; - 633FEE2B1D3CD5590014B822 /* color_C.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC711D3CD5570014B822 /* color_C.png */; }; - 633FEE2C1D3CD5590014B822 /* color_D.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC721D3CD5570014B822 /* color_D.png */; }; - 633FEE2D1D3CD5590014B822 /* color_E.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC731D3CD5570014B822 /* color_E.png */; }; - 633FEE2E1D3CD5590014B822 /* color_F.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC741D3CD5570014B822 /* color_F.png */; }; - 633FEE2F1D3CD5590014B822 /* color_G.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC751D3CD5570014B822 /* color_G.png */; }; - 633FEE301D3CD5590014B822 /* color_H.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC761D3CD5570014B822 /* color_H.png */; }; - 633FEE311D3CD5590014B822 /* color_I.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC771D3CD5570014B822 /* color_I.png */; }; - 633FEE321D3CD5590014B822 /* color_L.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC781D3CD5570014B822 /* color_L.png */; }; - 633FEE331D3CD5590014B822 /* color_M.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC791D3CD5570014B822 /* color_M.png */; }; - 633FEE341D3CD5590014B822 /* conference_exit_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC7A1D3CD5570014B822 /* conference_exit_default.png */; }; - 633FEE351D3CD5590014B822 /* conference_exit_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC7B1D3CD5570014B822 /* conference_exit_default@2x.png */; }; - 633FEE361D3CD5590014B822 /* conference_exit_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC7C1D3CD5570014B822 /* conference_exit_over.png */; }; - 633FEE371D3CD5590014B822 /* conference_exit_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC7D1D3CD5570014B822 /* conference_exit_over@2x.png */; }; - 633FEE381D3CD5590014B822 /* contact_add_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC7E1D3CD5570014B822 /* contact_add_default.png */; }; - 633FEE391D3CD5590014B822 /* contact_add_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC7F1D3CD5570014B822 /* contact_add_default@2x.png */; }; - 633FEE3A1D3CD5590014B822 /* contact_add_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC801D3CD5570014B822 /* contact_add_disabled.png */; }; - 633FEE3B1D3CD5590014B822 /* contact_add_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC811D3CD5570014B822 /* contact_add_disabled@2x.png */; }; - 633FEE3C1D3CD5590014B822 /* contacts_all_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC821D3CD5570014B822 /* contacts_all_default.png */; }; - 633FEE3D1D3CD5590014B822 /* contacts_all_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC831D3CD5570014B822 /* contacts_all_default@2x.png */; }; - 633FEE3E1D3CD5590014B822 /* contacts_all_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC841D3CD5570014B822 /* contacts_all_disabled.png */; }; - 633FEE3F1D3CD5590014B822 /* contacts_all_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC851D3CD5570014B822 /* contacts_all_disabled@2x.png */; }; - 633FEE401D3CD5590014B822 /* contacts_all_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC861D3CD5570014B822 /* contacts_all_selected.png */; }; - 633FEE411D3CD5590014B822 /* contacts_all_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC871D3CD5570014B822 /* contacts_all_selected@2x.png */; }; - 633FEE481D3CD5590014B822 /* delete_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC8E1D3CD5570014B822 /* delete_default.png */; }; - 633FEE491D3CD5590014B822 /* delete_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC8F1D3CD5570014B822 /* delete_default@2x.png */; }; - 633FEE4A1D3CD5590014B822 /* delete_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC901D3CD5570014B822 /* delete_disabled.png */; }; - 633FEE4B1D3CD5590014B822 /* delete_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC911D3CD5570014B822 /* delete_disabled@2x.png */; }; - 633FEE4C1D3CD5590014B822 /* delete_field_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC921D3CD5570014B822 /* delete_field_default.png */; }; - 633FEE4D1D3CD5590014B822 /* delete_field_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC931D3CD5570014B822 /* delete_field_default@2x.png */; }; - 633FEE4E1D3CD5590014B822 /* delete_field_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC941D3CD5570014B822 /* delete_field_over.png */; }; - 633FEE4F1D3CD5590014B822 /* delete_field_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC951D3CD5570014B822 /* delete_field_over@2x.png */; }; - 633FEE501D3CD5590014B822 /* deselect_all.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC961D3CD5570014B822 /* deselect_all.png */; }; - 633FEE511D3CD5590014B822 /* deselect_all@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC971D3CD5570014B822 /* deselect_all@2x.png */; }; - 633FEE521D3CD5590014B822 /* dialer_alt_back.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC981D3CD5570014B822 /* dialer_alt_back.png */; }; - 633FEE531D3CD5590014B822 /* dialer_alt_back@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC991D3CD5570014B822 /* dialer_alt_back@2x.png */; }; - 633FEE541D3CD5590014B822 /* dialer_back_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC9A1D3CD5570014B822 /* dialer_back_default.png */; }; - 633FEE551D3CD5590014B822 /* dialer_back_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC9B1D3CD5570014B822 /* dialer_back_default@2x.png */; }; - 633FEE561D3CD5590014B822 /* dialer_back_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC9C1D3CD5570014B822 /* dialer_back_disabled.png */; }; - 633FEE571D3CD5590014B822 /* dialer_back_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC9D1D3CD5570014B822 /* dialer_back_disabled@2x.png */; }; - 633FEE5A1D3CD5590014B822 /* edit_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECA01D3CD5570014B822 /* edit_default.png */; }; - 633FEE5B1D3CD5590014B822 /* edit_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECA11D3CD5570014B822 /* edit_default@2x.png */; }; - 633FEE5C1D3CD5590014B822 /* edit_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECA21D3CD5570014B822 /* edit_disabled.png */; }; - 633FEE5D1D3CD5590014B822 /* edit_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECA31D3CD5570014B822 /* edit_disabled@2x.png */; }; - 633FEE5E1D3CD5590014B822 /* edit_list_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECA41D3CD5570014B822 /* edit_list_default.png */; }; - 633FEE5F1D3CD5590014B822 /* edit_list_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECA51D3CD5570014B822 /* edit_list_default@2x.png */; }; - 633FEE601D3CD5590014B822 /* edit_list_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECA61D3CD5570014B822 /* edit_list_disabled.png */; }; - 633FEE611D3CD5590014B822 /* edit_list_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECA71D3CD5570014B822 /* edit_list_disabled@2x.png */; }; - 633FEE621D3CD5590014B822 /* footer_chat_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECA81D3CD5570014B822 /* footer_chat_default.png */; }; - 633FEE631D3CD5590014B822 /* footer_chat_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECA91D3CD5570014B822 /* footer_chat_default@2x.png */; }; - 633FEE641D3CD5590014B822 /* footer_chat_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECAA1D3CD5570014B822 /* footer_chat_disabled.png */; }; - 633FEE651D3CD5590014B822 /* footer_chat_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECAB1D3CD5570014B822 /* footer_chat_disabled@2x.png */; }; - 633FEE661D3CD5590014B822 /* footer_contacts_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECAC1D3CD5570014B822 /* footer_contacts_default.png */; }; - 633FEE671D3CD5590014B822 /* footer_contacts_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECAD1D3CD5570014B822 /* footer_contacts_default@2x.png */; }; - 633FEE681D3CD5590014B822 /* footer_contacts_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECAE1D3CD5570014B822 /* footer_contacts_disabled.png */; }; - 633FEE691D3CD5590014B822 /* footer_contacts_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECAF1D3CD5570014B822 /* footer_contacts_disabled@2x.png */; }; - 633FEE6A1D3CD5590014B822 /* footer_dialer_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECB01D3CD5570014B822 /* footer_dialer_default.png */; }; - 633FEE6B1D3CD5590014B822 /* footer_dialer_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECB11D3CD5570014B822 /* footer_dialer_default@2x.png */; }; - 633FEE6C1D3CD5590014B822 /* footer_dialer_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECB21D3CD5570014B822 /* footer_dialer_disabled.png */; }; - 633FEE6D1D3CD5590014B822 /* footer_dialer_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECB31D3CD5570014B822 /* footer_dialer_disabled@2x.png */; }; - 633FEE6E1D3CD5590014B822 /* footer_history_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECB41D3CD5570014B822 /* footer_history_default.png */; }; - 633FEE6F1D3CD5590014B822 /* footer_history_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECB51D3CD5570014B822 /* footer_history_default@2x.png */; }; - 633FEE701D3CD5590014B822 /* footer_history_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECB61D3CD5570014B822 /* footer_history_disabled.png */; }; - 633FEE711D3CD5590014B822 /* footer_history_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECB71D3CD5570014B822 /* footer_history_disabled@2x.png */; }; - 633FEE721D3CD5590014B822 /* history_all_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECB81D3CD5570014B822 /* history_all_default.png */; }; - 633FEE731D3CD5590014B822 /* history_all_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECB91D3CD5570014B822 /* history_all_default@2x.png */; }; - 633FEE741D3CD5590014B822 /* history_all_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECBA1D3CD5570014B822 /* history_all_disabled.png */; }; - 633FEE751D3CD5590014B822 /* history_all_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECBB1D3CD5570014B822 /* history_all_disabled@2x.png */; }; - 633FEE761D3CD5590014B822 /* history_all_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECBC1D3CD5570014B822 /* history_all_selected.png */; }; - 633FEE771D3CD5590014B822 /* history_all_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECBD1D3CD5570014B822 /* history_all_selected@2x.png */; }; - 633FEE781D3CD5590014B822 /* history_chat_indicator.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECBE1D3CD5570014B822 /* history_chat_indicator.png */; }; - 633FEE791D3CD5590014B822 /* history_chat_indicator@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECBF1D3CD5570014B822 /* history_chat_indicator@2x.png */; }; - 633FEE7A1D3CD5590014B822 /* history_missed_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECC01D3CD5570014B822 /* history_missed_default.png */; }; - 633FEE7B1D3CD5590014B822 /* history_missed_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECC11D3CD5570014B822 /* history_missed_default@2x.png */; }; - 633FEE7C1D3CD5590014B822 /* history_missed_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECC21D3CD5570014B822 /* history_missed_disabled.png */; }; - 633FEE7D1D3CD5590014B822 /* history_missed_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECC31D3CD5570014B822 /* history_missed_disabled@2x.png */; }; - 633FEE7E1D3CD5590014B822 /* history_missed_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECC41D3CD5570014B822 /* history_missed_selected.png */; }; - 633FEE7F1D3CD5590014B822 /* history_missed_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECC51D3CD5570014B822 /* history_missed_selected@2x.png */; }; - 633FEE801D3CD5590014B822 /* led_connected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECC61D3CD5570014B822 /* led_connected.png */; }; - 633FEE811D3CD5590014B822 /* led_connected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECC71D3CD5570014B822 /* led_connected@2x.png */; }; - 633FEE821D3CD5590014B822 /* led_disconnected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECC81D3CD5570014B822 /* led_disconnected.png */; }; - 633FEE831D3CD5590014B822 /* led_disconnected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECC91D3CD5570014B822 /* led_disconnected@2x.png */; }; - 633FEE841D3CD5590014B822 /* led_error.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECCA1D3CD5570014B822 /* led_error.png */; }; - 633FEE851D3CD5590014B822 /* led_error@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECCB1D3CD5570014B822 /* led_error@2x.png */; }; - 633FEE861D3CD5590014B822 /* led_inprogress.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECCC1D3CD5570014B822 /* led_inprogress.png */; }; - 633FEE871D3CD5590014B822 /* led_inprogress@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECCD1D3CD5570014B822 /* led_inprogress@2x.png */; }; - 633FEE8E1D3CD55A0014B822 /* list_details_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECD41D3CD5580014B822 /* list_details_default.png */; }; - 633FEE8F1D3CD55A0014B822 /* list_details_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECD51D3CD5580014B822 /* list_details_default@2x.png */; }; - 633FEE901D3CD55A0014B822 /* list_details_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECD61D3CD5580014B822 /* list_details_over.png */; }; - 633FEE911D3CD55A0014B822 /* list_details_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECD71D3CD5580014B822 /* list_details_over@2x.png */; }; - 633FEE921D3CD55A0014B822 /* menu.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECD81D3CD5580014B822 /* menu.png */; }; - 633FEE931D3CD55A0014B822 /* menu@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECD91D3CD5580014B822 /* menu@2x.png */; }; - 633FEE941D3CD55A0014B822 /* micro_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECDA1D3CD5580014B822 /* micro_default.png */; }; - 633FEE951D3CD55A0014B822 /* micro_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECDB1D3CD5580014B822 /* micro_default@2x.png */; }; - 633FEE961D3CD55A0014B822 /* micro_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECDC1D3CD5580014B822 /* micro_disabled.png */; }; - 633FEE971D3CD55A0014B822 /* micro_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECDD1D3CD5580014B822 /* micro_disabled@2x.png */; }; - 633FEE981D3CD55A0014B822 /* micro_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECDE1D3CD5580014B822 /* micro_selected.png */; }; - 633FEE991D3CD55A0014B822 /* micro_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECDF1D3CD5580014B822 /* micro_selected@2x.png */; }; - 633FEE9A1D3CD55A0014B822 /* nowebcamCIF.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 633FECE01D3CD5580014B822 /* nowebcamCIF.jpg */; }; - 633FEE9B1D3CD55A0014B822 /* numpad_0_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECE11D3CD5580014B822 /* numpad_0_default.png */; }; - 633FEE9C1D3CD55A0014B822 /* numpad_0_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECE21D3CD5580014B822 /* numpad_0_default@2x.png */; }; - 633FEE9D1D3CD55A0014B822 /* numpad_0_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECE31D3CD5580014B822 /* numpad_0_over.png */; }; - 633FEE9E1D3CD55A0014B822 /* numpad_0_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECE41D3CD5580014B822 /* numpad_0_over@2x.png */; }; - 633FEE9F1D3CD55A0014B822 /* numpad_0_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECE51D3CD5580014B822 /* numpad_0_over~ipad.png */; }; - 633FEEA01D3CD55A0014B822 /* numpad_0_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECE61D3CD5580014B822 /* numpad_0_over~ipad@2x.png */; }; - 633FEEA11D3CD55A0014B822 /* numpad_0~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECE71D3CD5580014B822 /* numpad_0~ipad.png */; }; - 633FEEA21D3CD55A0014B822 /* numpad_0~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECE81D3CD5580014B822 /* numpad_0~ipad@2x.png */; }; - 633FEEA31D3CD55A0014B822 /* numpad_1_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECE91D3CD5580014B822 /* numpad_1_default.png */; }; - 633FEEA41D3CD55A0014B822 /* numpad_1_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECEA1D3CD5580014B822 /* numpad_1_default@2x.png */; }; - 633FEEA51D3CD55A0014B822 /* numpad_1_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECEB1D3CD5580014B822 /* numpad_1_over.png */; }; - 633FEEA61D3CD55A0014B822 /* numpad_1_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECEC1D3CD5580014B822 /* numpad_1_over@2x.png */; }; - 633FEEA71D3CD55A0014B822 /* numpad_1_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECED1D3CD5580014B822 /* numpad_1_over~ipad.png */; }; - 633FEEA81D3CD55A0014B822 /* numpad_1_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECEE1D3CD5580014B822 /* numpad_1_over~ipad@2x.png */; }; - 633FEEA91D3CD55A0014B822 /* numpad_1~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECEF1D3CD5580014B822 /* numpad_1~ipad.png */; }; - 633FEEAA1D3CD55A0014B822 /* numpad_1~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECF01D3CD5580014B822 /* numpad_1~ipad@2x.png */; }; - 633FEEAB1D3CD55A0014B822 /* numpad_2_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECF11D3CD5580014B822 /* numpad_2_default.png */; }; - 633FEEAC1D3CD55A0014B822 /* numpad_2_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECF21D3CD5580014B822 /* numpad_2_default@2x.png */; }; - 633FEEAD1D3CD55A0014B822 /* numpad_2_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECF31D3CD5580014B822 /* numpad_2_over.png */; }; - 633FEEAE1D3CD55A0014B822 /* numpad_2_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECF41D3CD5580014B822 /* numpad_2_over@2x.png */; }; - 633FEEAF1D3CD55A0014B822 /* numpad_2_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECF51D3CD5580014B822 /* numpad_2_over~ipad.png */; }; - 633FEEB01D3CD55A0014B822 /* numpad_2_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECF61D3CD5580014B822 /* numpad_2_over~ipad@2x.png */; }; - 633FEEB11D3CD55A0014B822 /* numpad_2~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECF71D3CD5580014B822 /* numpad_2~ipad.png */; }; - 633FEEB21D3CD55A0014B822 /* numpad_2~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECF81D3CD5580014B822 /* numpad_2~ipad@2x.png */; }; - 633FEEB31D3CD55A0014B822 /* numpad_3_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECF91D3CD5580014B822 /* numpad_3_default.png */; }; - 633FEEB41D3CD55A0014B822 /* numpad_3_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECFA1D3CD5580014B822 /* numpad_3_default@2x.png */; }; - 633FEEB51D3CD55A0014B822 /* numpad_3_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECFB1D3CD5580014B822 /* numpad_3_over.png */; }; - 633FEEB61D3CD55A0014B822 /* numpad_3_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECFC1D3CD5580014B822 /* numpad_3_over@2x.png */; }; - 633FEEB71D3CD55A0014B822 /* numpad_3_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECFD1D3CD5580014B822 /* numpad_3_over~ipad.png */; }; - 633FEEB81D3CD55A0014B822 /* numpad_3_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECFE1D3CD5580014B822 /* numpad_3_over~ipad@2x.png */; }; - 633FEEB91D3CD55A0014B822 /* numpad_3~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECFF1D3CD5580014B822 /* numpad_3~ipad.png */; }; - 633FEEBA1D3CD55A0014B822 /* numpad_3~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED001D3CD5580014B822 /* numpad_3~ipad@2x.png */; }; - 633FEEBB1D3CD55A0014B822 /* numpad_4_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED011D3CD5580014B822 /* numpad_4_default.png */; }; - 633FEEBC1D3CD55A0014B822 /* numpad_4_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED021D3CD5580014B822 /* numpad_4_default@2x.png */; }; - 633FEEBD1D3CD55A0014B822 /* numpad_4_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED031D3CD5580014B822 /* numpad_4_over.png */; }; - 633FEEBE1D3CD55A0014B822 /* numpad_4_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED041D3CD5580014B822 /* numpad_4_over@2x.png */; }; - 633FEEBF1D3CD55A0014B822 /* numpad_4_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED051D3CD5580014B822 /* numpad_4_over~ipad.png */; }; - 633FEEC01D3CD55A0014B822 /* numpad_4_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED061D3CD5580014B822 /* numpad_4_over~ipad@2x.png */; }; - 633FEEC11D3CD55A0014B822 /* numpad_4~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED071D3CD5580014B822 /* numpad_4~ipad.png */; }; - 633FEEC21D3CD55A0014B822 /* numpad_4~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED081D3CD5580014B822 /* numpad_4~ipad@2x.png */; }; - 633FEEC31D3CD55A0014B822 /* numpad_5_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED091D3CD5580014B822 /* numpad_5_default.png */; }; - 633FEEC41D3CD55A0014B822 /* numpad_5_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED0A1D3CD5580014B822 /* numpad_5_default@2x.png */; }; - 633FEEC51D3CD55A0014B822 /* numpad_5_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED0B1D3CD5580014B822 /* numpad_5_over.png */; }; - 633FEEC61D3CD55A0014B822 /* numpad_5_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED0C1D3CD5580014B822 /* numpad_5_over@2x.png */; }; - 633FEEC71D3CD55A0014B822 /* numpad_5_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED0D1D3CD5580014B822 /* numpad_5_over~ipad.png */; }; - 633FEEC81D3CD55A0014B822 /* numpad_5_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED0E1D3CD5580014B822 /* numpad_5_over~ipad@2x.png */; }; - 633FEEC91D3CD55A0014B822 /* numpad_5~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED0F1D3CD5580014B822 /* numpad_5~ipad.png */; }; - 633FEECA1D3CD55A0014B822 /* numpad_5~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED101D3CD5580014B822 /* numpad_5~ipad@2x.png */; }; - 633FEECB1D3CD55A0014B822 /* numpad_6_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED111D3CD5580014B822 /* numpad_6_default.png */; }; - 633FEECC1D3CD55A0014B822 /* numpad_6_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED121D3CD5580014B822 /* numpad_6_default@2x.png */; }; - 633FEECD1D3CD55A0014B822 /* numpad_6_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED131D3CD5580014B822 /* numpad_6_over.png */; }; - 633FEECE1D3CD55A0014B822 /* numpad_6_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED141D3CD5580014B822 /* numpad_6_over@2x.png */; }; - 633FEECF1D3CD55A0014B822 /* numpad_6_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED151D3CD5580014B822 /* numpad_6_over~ipad.png */; }; - 633FEED01D3CD55A0014B822 /* numpad_6_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED161D3CD5580014B822 /* numpad_6_over~ipad@2x.png */; }; - 633FEED11D3CD55A0014B822 /* numpad_6~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED171D3CD5580014B822 /* numpad_6~ipad.png */; }; - 633FEED21D3CD55A0014B822 /* numpad_6~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED181D3CD5580014B822 /* numpad_6~ipad@2x.png */; }; - 633FEED31D3CD55A0014B822 /* numpad_7_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED191D3CD5580014B822 /* numpad_7_default.png */; }; - 633FEED41D3CD55A0014B822 /* numpad_7_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED1A1D3CD5580014B822 /* numpad_7_default@2x.png */; }; - 633FEED51D3CD55A0014B822 /* numpad_7_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED1B1D3CD5580014B822 /* numpad_7_over.png */; }; - 633FEED61D3CD55A0014B822 /* numpad_7_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED1C1D3CD5580014B822 /* numpad_7_over@2x.png */; }; - 633FEED71D3CD55A0014B822 /* numpad_7_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED1D1D3CD5580014B822 /* numpad_7_over~ipad.png */; }; - 633FEED81D3CD55A0014B822 /* numpad_7_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED1E1D3CD5580014B822 /* numpad_7_over~ipad@2x.png */; }; - 633FEED91D3CD55A0014B822 /* numpad_7~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED1F1D3CD5580014B822 /* numpad_7~ipad.png */; }; - 633FEEDA1D3CD55A0014B822 /* numpad_7~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED201D3CD5580014B822 /* numpad_7~ipad@2x.png */; }; - 633FEEDB1D3CD55A0014B822 /* numpad_8_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED211D3CD5580014B822 /* numpad_8_default.png */; }; - 633FEEDC1D3CD55A0014B822 /* numpad_8_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED221D3CD5580014B822 /* numpad_8_default@2x.png */; }; - 633FEEDD1D3CD55A0014B822 /* numpad_8_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED231D3CD5580014B822 /* numpad_8_over.png */; }; - 633FEEDE1D3CD55A0014B822 /* numpad_8_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED241D3CD5580014B822 /* numpad_8_over@2x.png */; }; - 633FEEDF1D3CD55A0014B822 /* numpad_8_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED251D3CD5580014B822 /* numpad_8_over~ipad.png */; }; - 633FEEE01D3CD55A0014B822 /* numpad_8_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED261D3CD5580014B822 /* numpad_8_over~ipad@2x.png */; }; - 633FEEE11D3CD55A0014B822 /* numpad_8~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED271D3CD5580014B822 /* numpad_8~ipad.png */; }; - 633FEEE21D3CD55A0014B822 /* numpad_8~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED281D3CD5580014B822 /* numpad_8~ipad@2x.png */; }; - 633FEEE31D3CD55A0014B822 /* numpad_9_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED291D3CD5580014B822 /* numpad_9_default.png */; }; - 633FEEE41D3CD55A0014B822 /* numpad_9_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED2A1D3CD5580014B822 /* numpad_9_default@2x.png */; }; - 633FEEE51D3CD55A0014B822 /* numpad_9_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED2B1D3CD5580014B822 /* numpad_9_over.png */; }; - 633FEEE61D3CD55A0014B822 /* numpad_9_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED2C1D3CD5580014B822 /* numpad_9_over@2x.png */; }; - 633FEEE71D3CD55A0014B822 /* numpad_9_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED2D1D3CD5580014B822 /* numpad_9_over~ipad.png */; }; - 633FEEE81D3CD55A0014B822 /* numpad_9_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED2E1D3CD5580014B822 /* numpad_9_over~ipad@2x.png */; }; - 633FEEE91D3CD55A0014B822 /* numpad_9~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED2F1D3CD5580014B822 /* numpad_9~ipad.png */; }; - 633FEEEA1D3CD55A0014B822 /* numpad_9~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED301D3CD5580014B822 /* numpad_9~ipad@2x.png */; }; - 633FEEEB1D3CD55A0014B822 /* numpad_hash_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED311D3CD5580014B822 /* numpad_hash_default.png */; }; - 633FEEEC1D3CD55A0014B822 /* numpad_hash_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED321D3CD5580014B822 /* numpad_hash_default@2x.png */; }; - 633FEEED1D3CD55A0014B822 /* numpad_hash_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED331D3CD5580014B822 /* numpad_hash_over.png */; }; - 633FEEEE1D3CD55A0014B822 /* numpad_hash_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED341D3CD5580014B822 /* numpad_hash_over@2x.png */; }; - 633FEEEF1D3CD55A0014B822 /* numpad_hash_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED351D3CD5580014B822 /* numpad_hash_over~ipad.png */; }; - 633FEEF01D3CD55A0014B822 /* numpad_hash_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED361D3CD5580014B822 /* numpad_hash_over~ipad@2x.png */; }; - 633FEEF11D3CD55A0014B822 /* numpad_hash~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED371D3CD5580014B822 /* numpad_hash~ipad.png */; }; - 633FEEF21D3CD55A0014B822 /* numpad_hash~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED381D3CD5580014B822 /* numpad_hash~ipad@2x.png */; }; - 633FEEF31D3CD55A0014B822 /* numpad_over_background.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED391D3CD5580014B822 /* numpad_over_background.png */; }; - 633FEEF41D3CD55A0014B822 /* numpad_star_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED3A1D3CD5580014B822 /* numpad_star_default.png */; }; - 633FEEF51D3CD55A0014B822 /* numpad_star_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED3B1D3CD5580014B822 /* numpad_star_default@2x.png */; }; - 633FEEF61D3CD55A0014B822 /* numpad_star_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED3C1D3CD5580014B822 /* numpad_star_over.png */; }; - 633FEEF71D3CD55A0014B822 /* numpad_star_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED3D1D3CD5580014B822 /* numpad_star_over@2x.png */; }; - 633FEEF81D3CD55A0014B822 /* numpad_star_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED3E1D3CD5580014B822 /* numpad_star_over~ipad.png */; }; - 633FEEF91D3CD55A0014B822 /* numpad_star_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED3F1D3CD5580014B822 /* numpad_star_over~ipad@2x.png */; }; - 633FEEFA1D3CD55A0014B822 /* numpad_star~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED401D3CD5580014B822 /* numpad_star~ipad.png */; }; - 633FEEFB1D3CD55A0014B822 /* numpad_star~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED411D3CD5580014B822 /* numpad_star~ipad@2x.png */; }; - 633FEEFC1D3CD55A0014B822 /* options_add_call_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED421D3CD5580014B822 /* options_add_call_default.png */; }; - 633FEEFD1D3CD55A0014B822 /* options_add_call_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED431D3CD5580014B822 /* options_add_call_default@2x.png */; }; - 633FEEFE1D3CD55A0014B822 /* options_add_call_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED441D3CD5580014B822 /* options_add_call_disabled.png */; }; - 633FEEFF1D3CD55A0014B822 /* options_add_call_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED451D3CD5580014B822 /* options_add_call_disabled@2x.png */; }; - 633FEF001D3CD55A0014B822 /* options_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED461D3CD5580014B822 /* options_default.png */; }; - 633FEF011D3CD55A0014B822 /* options_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED471D3CD5580014B822 /* options_default@2x.png */; }; - 633FEF021D3CD55A0014B822 /* options_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED481D3CD5580014B822 /* options_disabled.png */; }; - 633FEF031D3CD55A0014B822 /* options_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED491D3CD5580014B822 /* options_disabled@2x.png */; }; - 633FEF041D3CD55A0014B822 /* options_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED4A1D3CD5580014B822 /* options_selected.png */; }; - 633FEF051D3CD55A0014B822 /* options_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED4B1D3CD5580014B822 /* options_selected@2x.png */; }; - 633FEF061D3CD55A0014B822 /* options_start_conference_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED4C1D3CD5580014B822 /* options_start_conference_default.png */; }; - 633FEF071D3CD55A0014B822 /* options_start_conference_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED4D1D3CD5580014B822 /* options_start_conference_default@2x.png */; }; - 633FEF081D3CD55A0014B822 /* options_start_conference_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED4E1D3CD5580014B822 /* options_start_conference_disabled.png */; }; - 633FEF091D3CD55A0014B822 /* options_start_conference_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED4F1D3CD5580014B822 /* options_start_conference_disabled@2x.png */; }; - 633FEF0A1D3CD55A0014B822 /* options_transfer_call_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED501D3CD5580014B822 /* options_transfer_call_default.png */; }; - 633FEF0B1D3CD55A0014B822 /* options_transfer_call_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED511D3CD5580014B822 /* options_transfer_call_default@2x.png */; }; - 633FEF0C1D3CD55A0014B822 /* options_transfer_call_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED521D3CD5580014B822 /* options_transfer_call_disabled.png */; }; - 633FEF0D1D3CD55A0014B822 /* options_transfer_call_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED531D3CD5580014B822 /* options_transfer_call_disabled@2x.png */; }; - 633FEF0E1D3CD55A0014B822 /* pause_big_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED541D3CD5580014B822 /* pause_big_default.png */; }; - 633FEF0F1D3CD55A0014B822 /* pause_big_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED551D3CD5580014B822 /* pause_big_default@2x.png */; }; - 633FEF101D3CD55A0014B822 /* pause_big_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED561D3CD5580014B822 /* pause_big_disabled.png */; }; - 633FEF111D3CD55A0014B822 /* pause_big_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED571D3CD5580014B822 /* pause_big_disabled@2x.png */; }; - 633FEF121D3CD55A0014B822 /* pause_big_over_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED581D3CD5580014B822 /* pause_big_over_selected.png */; }; - 633FEF131D3CD55A0014B822 /* pause_big_over_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED591D3CD5580014B822 /* pause_big_over_selected@2x.png */; }; - 633FEF141D3CD55A0014B822 /* pause_small_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED5A1D3CD5580014B822 /* pause_small_default.png */; }; - 633FEF151D3CD55A0014B822 /* pause_small_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED5B1D3CD5590014B822 /* pause_small_default@2x.png */; }; - 633FEF161D3CD55A0014B822 /* pause_small_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED5C1D3CD5590014B822 /* pause_small_disabled.png */; }; - 633FEF171D3CD55A0014B822 /* pause_small_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED5D1D3CD5590014B822 /* pause_small_disabled@2x.png */; }; - 633FEF181D3CD55A0014B822 /* pause_small_over_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED5E1D3CD5590014B822 /* pause_small_over_selected.png */; }; - 633FEF191D3CD55A0014B822 /* pause_small_over_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED5F1D3CD5590014B822 /* pause_small_over_selected@2x.png */; }; - 633FEF1A1D3CD55A0014B822 /* presence_away.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED601D3CD5590014B822 /* presence_away.png */; }; - 633FEF1B1D3CD55A0014B822 /* presence_away@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED611D3CD5590014B822 /* presence_away@2x.png */; }; - 633FEF1C1D3CD55A0014B822 /* presence_offline.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED621D3CD5590014B822 /* presence_offline.png */; }; - 633FEF1D1D3CD55A0014B822 /* presence_offline@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED631D3CD5590014B822 /* presence_offline@2x.png */; }; - 633FEF1E1D3CD55A0014B822 /* presence_online.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED641D3CD5590014B822 /* presence_online.png */; }; - 633FEF1F1D3CD55A0014B822 /* presence_online@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED651D3CD5590014B822 /* presence_online@2x.png */; }; - 633FEF201D3CD55A0014B822 /* presence_unregistered.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED661D3CD5590014B822 /* presence_unregistered.png */; }; - 633FEF211D3CD55A0014B822 /* presence_unregistered@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED671D3CD5590014B822 /* presence_unregistered@2x.png */; }; - 633FEF221D3CD55A0014B822 /* route_bluetooth_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED681D3CD5590014B822 /* route_bluetooth_default.png */; }; - 633FEF231D3CD55A0014B822 /* route_bluetooth_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED691D3CD5590014B822 /* route_bluetooth_default@2x.png */; }; - 633FEF241D3CD55A0014B822 /* route_bluetooth_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED6A1D3CD5590014B822 /* route_bluetooth_disabled.png */; }; - 633FEF251D3CD55A0014B822 /* route_bluetooth_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED6B1D3CD5590014B822 /* route_bluetooth_disabled@2x.png */; }; - 633FEF261D3CD55A0014B822 /* route_bluetooth_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED6C1D3CD5590014B822 /* route_bluetooth_selected.png */; }; - 633FEF271D3CD55A0014B822 /* route_bluetooth_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED6D1D3CD5590014B822 /* route_bluetooth_selected@2x.png */; }; - 633FEF281D3CD55A0014B822 /* route_earpiece_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED6E1D3CD5590014B822 /* route_earpiece_default.png */; }; - 633FEF291D3CD55A0014B822 /* route_earpiece_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED6F1D3CD5590014B822 /* route_earpiece_default@2x.png */; }; - 633FEF2A1D3CD55A0014B822 /* route_earpiece_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED701D3CD5590014B822 /* route_earpiece_disabled.png */; }; - 633FEF2B1D3CD55A0014B822 /* route_earpiece_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED711D3CD5590014B822 /* route_earpiece_disabled@2x.png */; }; - 633FEF2C1D3CD55A0014B822 /* route_earpiece_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED721D3CD5590014B822 /* route_earpiece_selected.png */; }; - 633FEF2D1D3CD55A0014B822 /* route_earpiece_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED731D3CD5590014B822 /* route_earpiece_selected@2x.png */; }; - 633FEF2E1D3CD55A0014B822 /* route_speaker_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED741D3CD5590014B822 /* route_speaker_default.png */; }; - 633FEF2F1D3CD55A0014B822 /* route_speaker_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED751D3CD5590014B822 /* route_speaker_default@2x.png */; }; - 633FEF301D3CD55A0014B822 /* route_speaker_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED761D3CD5590014B822 /* route_speaker_disabled.png */; }; - 633FEF311D3CD55A0014B822 /* route_speaker_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED771D3CD5590014B822 /* route_speaker_disabled@2x.png */; }; - 633FEF321D3CD55A0014B822 /* route_speaker_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED781D3CD5590014B822 /* route_speaker_selected.png */; }; - 633FEF331D3CD55A0014B822 /* route_speaker_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED791D3CD5590014B822 /* route_speaker_selected@2x.png */; }; - 633FEF341D3CD55A0014B822 /* routes_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED7A1D3CD5590014B822 /* routes_default.png */; }; - 633FEF351D3CD55A0014B822 /* routes_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED7B1D3CD5590014B822 /* routes_default@2x.png */; }; - 633FEF361D3CD55A0014B822 /* routes_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED7C1D3CD5590014B822 /* routes_disabled.png */; }; - 633FEF371D3CD55A0014B822 /* routes_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED7D1D3CD5590014B822 /* routes_disabled@2x.png */; }; - 633FEF381D3CD55A0014B822 /* routes_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED7E1D3CD5590014B822 /* routes_selected.png */; }; - 633FEF391D3CD55A0014B822 /* routes_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED7F1D3CD5590014B822 /* routes_selected@2x.png */; }; - 633FEF3A1D3CD55A0014B822 /* security_ko.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED801D3CD5590014B822 /* security_ko.png */; }; - 633FEF3B1D3CD55A0014B822 /* security_ko@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED811D3CD5590014B822 /* security_ko@2x.png */; }; - 633FEF3C1D3CD55A0014B822 /* security_ok.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED821D3CD5590014B822 /* security_ok.png */; }; - 633FEF3D1D3CD55A0014B822 /* security_ok@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED831D3CD5590014B822 /* security_ok@2x.png */; }; - 633FEF3E1D3CD55A0014B822 /* security_pending.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED841D3CD5590014B822 /* security_pending.png */; }; - 633FEF3F1D3CD55A0014B822 /* security_pending@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED851D3CD5590014B822 /* security_pending@2x.png */; }; - 633FEF401D3CD55A0014B822 /* select_all_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED861D3CD5590014B822 /* select_all_default.png */; }; - 633FEF411D3CD55A0014B822 /* select_all_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED871D3CD5590014B822 /* select_all_default@2x.png */; }; - 633FEF421D3CD55A0014B822 /* select_all_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED881D3CD5590014B822 /* select_all_disabled.png */; }; - 633FEF431D3CD55A0014B822 /* select_all_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED891D3CD5590014B822 /* select_all_disabled@2x.png */; }; - 633FEF441D3CD55A0014B822 /* speaker_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED8A1D3CD5590014B822 /* speaker_default.png */; }; - 633FEF451D3CD55A0014B822 /* speaker_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED8B1D3CD5590014B822 /* speaker_default@2x.png */; }; - 633FEF461D3CD55A0014B822 /* speaker_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED8C1D3CD5590014B822 /* speaker_disabled.png */; }; - 633FEF471D3CD55A0014B822 /* speaker_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED8D1D3CD5590014B822 /* speaker_disabled@2x.png */; }; - 633FEF481D3CD55A0014B822 /* speaker_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED8E1D3CD5590014B822 /* speaker_selected.png */; }; - 633FEF491D3CD55A0014B822 /* speaker_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED8F1D3CD5590014B822 /* speaker_selected@2x.png */; }; - 633FEF4E1D3CD55A0014B822 /* valid_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED941D3CD5590014B822 /* valid_default.png */; }; - 633FEF4F1D3CD55A0014B822 /* valid_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED951D3CD5590014B822 /* valid_default@2x.png */; }; - 633FEF501D3CD55A0014B822 /* valid_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED961D3CD5590014B822 /* valid_disabled.png */; }; - 633FEF511D3CD55A0014B822 /* valid_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED971D3CD5590014B822 /* valid_disabled@2x.png */; }; - 633FEF521D3CD55A0014B822 /* voicemail.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED981D3CD5590014B822 /* voicemail.png */; }; - 633FEF531D3CD55A0014B822 /* voicemail@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED991D3CD5590014B822 /* voicemail@2x.png */; }; - 633FEF541D3CD55A0014B822 /* waiting_time.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED9A1D3CD5590014B822 /* waiting_time.png */; }; - 633FEF551D3CD55A0014B822 /* waiting_time@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED9B1D3CD5590014B822 /* waiting_time@2x.png */; }; - 633FEF581D3CD5E00014B822 /* UIAvatarPresence.m in Sources */ = {isa = PBXBuildFile; fileRef = 633FEF571D3CD5E00014B822 /* UIAvatarPresence.m */; }; - 6341807C1BBC103100F71761 /* ChatConversationCreateTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6341807B1BBC103100F71761 /* ChatConversationCreateTableView.m */; }; - 63423C0A1C4501D000D9A050 /* Contact.m in Sources */ = {isa = PBXBuildFile; fileRef = 63423C091C4501D000D9A050 /* Contact.m */; }; - 634610061B61330300548952 /* UILabel+Boldify.m in Sources */ = {isa = PBXBuildFile; fileRef = 634610051B61330300548952 /* UILabel+Boldify.m */; }; - 635173F91BA082A40095EB0A /* UIChatBubblePhotoCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 635173F81BA082A40095EB0A /* UIChatBubblePhotoCell.m */; }; - 635775251B6673EC00C8B704 /* HistoryDetailsTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 635775241B6673EC00C8B704 /* HistoryDetailsTableView.m */; }; - 636316D11A1DEBCB0009B839 /* AboutView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 636316D31A1DEBCB0009B839 /* AboutView.xib */; }; - 636316D41A1DEC650009B839 /* SettingsView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 636316D61A1DEC650009B839 /* SettingsView.xib */; }; - 636BC9971B5F921B00C754CE /* UIIconButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 636BC9961B5F921B00C754CE /* UIIconButton.m */; }; - 63701DDF1BA32039006A9AE3 /* UIConfirmationDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = 63701DDE1BA32039006A9AE3 /* UIConfirmationDialog.m */; }; - 637157A11B283FE200C91677 /* FileTransferDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 637157A01B283FE200C91677 /* FileTransferDelegate.m */; }; - 6377AC801BDE4069007F7625 /* UIBackToCallButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 6377AC7F1BDE4069007F7625 /* UIBackToCallButton.m */; }; - 6381DA7D1C1AD5EA00DF3BBD /* UIBouncingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6381DA7C1C1AD5EA00DF3BBD /* UIBouncingView.m */; }; - 638F1A621C2021B2004B8E02 /* DialerView~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 638F1A601C2021B2004B8E02 /* DialerView~ipad.xib */; }; - 638F1A911C21993D004B8E02 /* UICompositeView~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 638F1A8F1C21993D004B8E02 /* UICompositeView~ipad.xib */; }; - 639CEAFD1A1DF4D9004DE38F /* StatusBarView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639CEAFF1A1DF4D9004DE38F /* StatusBarView.xib */; }; - 639CEB001A1DF4E4004DE38F /* UIHistoryCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639CEB021A1DF4E4004DE38F /* UIHistoryCell.xib */; }; - 639CEB031A1DF4EB004DE38F /* UICompositeView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639CEB051A1DF4EB004DE38F /* UICompositeView.xib */; }; - 639CEB091A1DF4FA004DE38F /* UIChatCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639CEB0B1A1DF4FA004DE38F /* UIChatCell.xib */; }; - 639E9C801C0DB13D00019A75 /* UICheckBoxTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 639E9C7F1C0DB13D00019A75 /* UICheckBoxTableView.m */; }; - 639E9C931C0DB7BE00019A75 /* FirstLoginView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639E9C951C0DB7BE00019A75 /* FirstLoginView.xib */; }; - 639E9CA01C0DB7E500019A75 /* UIChatBubblePhotoCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639E9CA21C0DB7E500019A75 /* UIChatBubblePhotoCell.xib */; }; - 639E9CA31C0DB7EA00019A75 /* UIChatBubbleTextCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639E9CA51C0DB7EA00019A75 /* UIChatBubbleTextCell.xib */; }; - 639E9CA61C0DB7F200019A75 /* UIChatCreateCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639E9CA81C0DB7F200019A75 /* UIChatCreateCell.xib */; }; - 639E9CA91C0DB7FB00019A75 /* UIConfirmationDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639E9CAB1C0DB7FB00019A75 /* UIConfirmationDialog.xib */; }; - 639E9CAC1C0DB80300019A75 /* UIContactDetailsCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639E9CAE1C0DB80300019A75 /* UIContactDetailsCell.xib */; }; - 639E9CB01C0DB83000019A75 /* SideMenuView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639E9CB21C0DB83000019A75 /* SideMenuView.xib */; }; - 639E9CB51C0DB88200019A75 /* PhoneMainView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639E9CB31C0DB88200019A75 /* PhoneMainView.xib */; }; - 63AADBE81B6A0FF200AA16FD /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 63AADBC41B6A0FF200AA16FD /* Localizable.strings */; }; - 63AADBEA1B6A0FF200AA16FD /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 63AADBCA1B6A0FF200AA16FD /* Images.xcassets */; }; - 63AADBF51B6A0FF200AA16FD /* linphonerc in Resources */ = {isa = PBXBuildFile; fileRef = 63AADBD71B6A0FF200AA16FD /* linphonerc */; }; - 63AADBF61B6A0FF200AA16FD /* linphonerc-factory in Resources */ = {isa = PBXBuildFile; fileRef = 63AADBD81B6A0FF200AA16FD /* linphonerc-factory */; }; - 63AADBF81B6A0FF200AA16FD /* linphonerc~ipad in Resources */ = {isa = PBXBuildFile; fileRef = 63AADBDA1B6A0FF200AA16FD /* linphonerc~ipad */; }; - 63AADBFF1B6A0FF200AA16FD /* assistant_external_sip.rc in Resources */ = {isa = PBXBuildFile; fileRef = 63AADBE31B6A0FF200AA16FD /* assistant_external_sip.rc */; }; - 63AADC001B6A0FF200AA16FD /* assistant_linphone_create.rc in Resources */ = {isa = PBXBuildFile; fileRef = 63AADBE41B6A0FF200AA16FD /* assistant_linphone_create.rc */; }; - 63AADC011B6A0FF200AA16FD /* assistant_linphone_existing.rc in Resources */ = {isa = PBXBuildFile; fileRef = 63AADBE51B6A0FF200AA16FD /* assistant_linphone_existing.rc */; }; - 63AADC021B6A0FF200AA16FD /* assistant_remote.rc in Resources */ = {isa = PBXBuildFile; fileRef = 63AADBE61B6A0FF200AA16FD /* assistant_remote.rc */; }; - 63B81A0C1B57DA33009604A6 /* LICENSE.txt in Resources */ = {isa = PBXBuildFile; fileRef = 63B81A031B57DA33009604A6 /* LICENSE.txt */; }; - 63B81A0D1B57DA33009604A6 /* TPKeyboardAvoidingCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63B81A051B57DA33009604A6 /* TPKeyboardAvoidingCollectionView.m */; }; - 63B81A0E1B57DA33009604A6 /* TPKeyboardAvoidingScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63B81A071B57DA33009604A6 /* TPKeyboardAvoidingScrollView.m */; }; - 63B81A0F1B57DA33009604A6 /* TPKeyboardAvoidingTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63B81A091B57DA33009604A6 /* TPKeyboardAvoidingTableView.m */; }; - 63B81A101B57DA33009604A6 /* UIScrollView+TPKeyboardAvoidingAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 63B81A0B1B57DA33009604A6 /* UIScrollView+TPKeyboardAvoidingAdditions.m */; }; - 63B8D68C1BCBE65600C12B09 /* ChatConversationCreateView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 63B8D68E1BCBE65600C12B09 /* ChatConversationCreateView.xib */; }; - 63B8D6A21BCBF43100C12B09 /* UIChatCreateCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 63B8D6A01BCBF43100C12B09 /* UIChatCreateCell.m */; }; - 63BE7A781D75BDF6000990EF /* ShopTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63BE7A771D75BDF6000990EF /* ShopTableView.m */; }; - 63C441C31BBC23ED0053DC5E /* UIAssistantTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C441C21BBC23ED0053DC5E /* UIAssistantTextField.m */; }; - 63CD4B4F1A5AAC8C00B84282 /* DTAlertView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63CD4B4E1A5AAC8C00B84282 /* DTAlertView.m */; }; - 63CDC45E1C3BDE370085F529 /* msg.caf in Resources */ = {isa = PBXBuildFile; fileRef = 63CDC4531C3BDE370085F529 /* msg.caf */; }; - 63CDC45F1C3BDE370085F529 /* ringback.wav in Resources */ = {isa = PBXBuildFile; fileRef = 63CDC4541C3BDE370085F529 /* ringback.wav */; }; - 63CDC4661C3BDE370085F529 /* shortring.caf in Resources */ = {isa = PBXBuildFile; fileRef = 63CDC45C1C3BDE370085F529 /* shortring.caf */; }; - 63CE58401C85EBF400304800 /* VideoToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63CE583F1C85EBF400304800 /* VideoToolbox.framework */; }; - 63D11C531C3D501200E8FCEE /* Log.m in Sources */ = {isa = PBXBuildFile; fileRef = 63D11C521C3D501200E8FCEE /* Log.m */; }; - 63DFE04B1C40161700DA5E87 /* notes_of_the_optimistic.caf in Resources */ = {isa = PBXBuildFile; fileRef = 63DFE0451C40161700DA5E87 /* notes_of_the_optimistic.caf */; }; - 63E27A321C4FECD000D332AE /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 63E27A311C4FECD000D332AE /* LaunchScreen.xib */; }; - 63E27A521C50EDB000D332AE /* hold.mkv in Resources */ = {isa = PBXBuildFile; fileRef = 63E27A511C50EB2700D332AE /* hold.mkv */; }; - 63E59A3F1ADE70D900646FB3 /* InAppProductsManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 63E59A3E1ADE70D900646FB3 /* InAppProductsManager.m */; }; - 63E802DB1C625AEF000D5509 /* (null) in Resources */ = {isa = PBXBuildFile; }; - 63EC8D391D7438660066547B /* AssistantLinkView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 63EC8D3B1D7438660066547B /* AssistantLinkView.xib */; }; - 63F1DF441BCE618E00EDED90 /* UIAddressTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = 63F1DF431BCE618E00EDED90 /* UIAddressTextField.m */; }; - 63FB30351A680E73008CA393 /* UIRoundedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63FB30341A680E73008CA393 /* UIRoundedImageView.m */; }; - 662553B427EDFB35007F67D8 /* MagicSearch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 662553B327EDFB35007F67D8 /* MagicSearch.swift */; }; - 662B73332A73C331002135F3 /* CopyableLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 662B73322A73C331002135F3 /* CopyableLabel.swift */; }; - 662F56FE28C00DF300E851BF /* UITestsUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 662F13B52887E8A10084C28C /* UITestsUtils.swift */; }; - 662F56FF28C0A9FE00E851BF /* IncomingOutgoingCallViewUITestsMethods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6643AD54287F25A500701703 /* IncomingOutgoingCallViewUITestsMethods.swift */; }; - 662F570028C0AA0800E851BF /* UITestsCoreManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6643AD51287EF56200701703 /* UITestsCoreManager.swift */; }; - 662F570228C2506600E851BF /* OutgoingCallUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 663B06592886B54F00E41889 /* OutgoingCallUITests.swift */; }; - 66305A5B28B9105D00838792 /* UITestsScreenshots.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66689D3F28A2443A0054E633 /* UITestsScreenshots.swift */; }; - 6637AF90288593AF00965733 /* IncomingCallUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6637AF8F288593AF00965733 /* IncomingCallUITests.swift */; }; - 6643501C28D1CD3300AEA777 /* UIColorExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71BE285A24B10066163B /* UIColorExtensions.swift */; }; - 66631CE728D37A2400115E36 /* ExtraMenuUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 663B06652886F0DB00E41889 /* ExtraMenuUITests.swift */; }; - 66631CE828D37AA300115E36 /* ExtraMenuActiveCallActionsUITestsMethods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 663B06672886F16300E41889 /* ExtraMenuActiveCallActionsUITestsMethods.swift */; }; - 667A423C293A4BAD00C4306C /* post_quantum_secure@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 667A423B293A4BAD00C4306C /* post_quantum_secure@3x.png */; }; - 6693A1D328D0FCE400489A39 /* ActiveCallUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 663B065F2886E38100E41889 /* ActiveCallUITests.swift */; }; - 6693A1D428D0FCE900489A39 /* ActiveCallViewUITestsMethods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 663B065B2886DA8500E41889 /* ActiveCallViewUITestsMethods.swift */; }; - 669B140827A1821F0012220A /* scroll_to_bottom_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 669B140727A1821F0012220A /* scroll_to_bottom_default.png */; }; - 669B140C27A29D140012220A /* FloatingScrollDownButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 669B140B27A29D140012220A /* FloatingScrollDownButton.swift */; }; - 66E399F72857869300E73456 /* menu_notifications_off.png in Resources */ = {isa = PBXBuildFile; fileRef = 66E399F52857869200E73456 /* menu_notifications_off.png */; }; - 66E399F82857869300E73456 /* menu_notifications_on.png in Resources */ = {isa = PBXBuildFile; fileRef = 66E399F62857869200E73456 /* menu_notifications_on.png */; }; - 70E542F313E147E3002BA2C0 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70E542F213E147E3002BA2C0 /* OpenGLES.framework */; }; - 70E542F513E147EB002BA2C0 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70E542F413E147EB002BA2C0 /* QuartzCore.framework */; }; - 8C2595DF1DEDCC8E007A6424 /* CallKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C2595DE1DEDCC8E007A6424 /* CallKit.framework */; }; - 8C2A81951F87B8000012A66B /* chat_group_avatar@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C2A81931F87B7FF0012A66B /* chat_group_avatar@2x.png */; }; - 8C2A81961F87B8000012A66B /* chat_group_avatar.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C2A81941F87B8000012A66B /* chat_group_avatar.png */; }; - 8C300D9A1E40E0CC00728EF3 /* lime_ko.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C300D981E40E0CC00728EF3 /* lime_ko.png */; }; - 8C300D9B1E40E0CC00728EF3 /* lime_ko@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C300D991E40E0CC00728EF3 /* lime_ko@2x.png */; }; - 8C73477C1D9BA3A00022EE8C /* UserNotifications.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C73477B1D9BA3A00022EE8C /* UserNotifications.framework */; }; - 8C92ABE81FA773190006FB5D /* UIChatNotifiedEventCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8C92ABE71FA773190006FB5D /* UIChatNotifiedEventCell.xib */; }; - 8C92ABF31FA773E50006FB5D /* UIChatNotifiedEventCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C92ABF21FA773E50006FB5D /* UIChatNotifiedEventCell.m */; }; - 8C9C5E0D1F83B2EF006987FA /* ChatConversationCreateCollectionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C5E0C1F83B2EF006987FA /* ChatConversationCreateCollectionViewController.m */; }; - 8C9C5E111F83BD97006987FA /* UIChatCreateCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C5E0F1F83BD97006987FA /* UIChatCreateCollectionViewCell.m */; }; - 8CA2004C1D8158440095F859 /* PushKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8CA2004B1D8158440095F859 /* PushKit.framework */; }; - 8CA70AD11F9E0AE100A3D2EB /* ChatConversationInfoView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CA70AD01F9E0AE100A3D2EB /* ChatConversationInfoView.m */; }; - 8CA70AD41F9E285C00A3D2EB /* chat_group_add@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CA70AD21F9E285B00A3D2EB /* chat_group_add@2x.png */; }; - 8CA70AD51F9E285C00A3D2EB /* chat_group_add.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CA70AD31F9E285B00A3D2EB /* chat_group_add.png */; }; - 8CA70AE41F9E39E400A3D2EB /* UIChatConversationInfoTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CA70AE21F9E39E400A3D2EB /* UIChatConversationInfoTableViewCell.m */; }; - 8CB2B8F91F86229E0015CEE2 /* chat_secure.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CB2B8F61F86229B0015CEE2 /* chat_secure.png */; }; - 8CB2B8FA1F86229E0015CEE2 /* next_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CB2B8F71F86229C0015CEE2 /* next_disabled.png */; }; - 8CB2B8FB1F86229E0015CEE2 /* next_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CB2B8F81F86229D0015CEE2 /* next_disabled@2x.png */; }; - 8CBD7BA020B6B7FD00E5DCC0 /* ChatConversationInfoView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8CBD7BA220B6B7FD00E5DCC0 /* ChatConversationInfoView.xib */; }; - 8CBD7BA320B6B80D00E5DCC0 /* ChatConversationImdnView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8CBD7BA520B6B80D00E5DCC0 /* ChatConversationImdnView.xib */; }; - 8CBD7BA620B6B82400E5DCC0 /* UIChatConversationInfoTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8CBD7BA820B6B82400E5DCC0 /* UIChatConversationInfoTableViewCell.xib */; }; - 8CBD7BA920B6B82A00E5DCC0 /* UIChatConversationImdnTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8CBD7BAB20B6B82A00E5DCC0 /* UIChatConversationImdnTableViewCell.xib */; }; - 8CD99A1C20908C27008A7CDA /* callkit_logo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CD99A1B20908C27008A7CDA /* callkit_logo@2x.png */; }; - 8CD99A372090A824008A7CDA /* splashscreen@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CD99A352090A823008A7CDA /* splashscreen@2x.png */; }; - 8CD99A382090A824008A7CDA /* splashscreen.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CD99A362090A824008A7CDA /* splashscreen.png */; }; - 8CD99A3C2090B9FA008A7CDA /* ChatConversationImdnView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CD99A3B2090B9FA008A7CDA /* ChatConversationImdnView.m */; }; - 8CD99A422090CE6F008A7CDA /* UIChatConversationImdnTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CD99A412090CE6F008A7CDA /* UIChatConversationImdnTableViewCell.m */; }; - 8CDC61951F84D89B0087CF7F /* check_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CDC618C1F84D89B0087CF7F /* check_selected.png */; }; - 8CDC61971F84D9270087CF7F /* check_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CDC61961F84D9270087CF7F /* check_selected@2x.png */; }; - 8CE24F4B1F8234A30077AC0A /* next_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CE24F491F8234A20077AC0A /* next_default.png */; }; - 8CE24F4C1F8234A30077AC0A /* next_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CE24F4A1F8234A30077AC0A /* next_default@2x.png */; }; - 8CE24F571F8268850077AC0A /* conference_delete.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CE24F551F8268840077AC0A /* conference_delete.png */; }; - 8CE24F581F8268850077AC0A /* conference_delete@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CE24F561F8268840077AC0A /* conference_delete@2x.png */; }; - 8CF25D951F9F336100BEA0C1 /* check_unselected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CF25D8B1F9F336000BEA0C1 /* check_unselected@2x.png */; }; - 8CF25D961F9F336100BEA0C1 /* check_unselected.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CF25D941F9F336100BEA0C1 /* check_unselected.png */; }; - 8CF25D9D1F9F76BD00BEA0C1 /* chat_group_informations.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CF25D9B1F9F76BC00BEA0C1 /* chat_group_informations.png */; }; - 8CF25D9E1F9F76BD00BEA0C1 /* chat_group_informations@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CF25D9C1F9F76BD00BEA0C1 /* chat_group_informations@2x.png */; }; - C61B1BF22667D075001A4E4A /* menu_security_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C61B1BF12667D075001A4E4A /* menu_security_default.png */; }; - C61B1BF42667D202001A4E4A /* more_menu_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C61B1BF32667D202001A4E4A /* more_menu_default.png */; }; - C61B1BF72667EC6B001A4E4A /* ephemeral_messages_color_A.png in Resources */ = {isa = PBXBuildFile; fileRef = C61B1BF62667EC6B001A4E4A /* ephemeral_messages_color_A.png */; }; - C622E3EF26A81290004F5434 /* vr_stop.png in Resources */ = {isa = PBXBuildFile; fileRef = C622E3E926A8128F004F5434 /* vr_stop.png */; }; - C622E3F026A81290004F5434 /* vr_wave.png in Resources */ = {isa = PBXBuildFile; fileRef = C622E3EA26A8128F004F5434 /* vr_wave.png */; }; - C622E3F126A81290004F5434 /* vr_on.png in Resources */ = {isa = PBXBuildFile; fileRef = C622E3EB26A8128F004F5434 /* vr_on.png */; }; - C622E3F226A81290004F5434 /* vr_off.png in Resources */ = {isa = PBXBuildFile; fileRef = C622E3EC26A8128F004F5434 /* vr_off.png */; }; - C622E3F326A81290004F5434 /* vr_pause.png in Resources */ = {isa = PBXBuildFile; fileRef = C622E3ED26A8128F004F5434 /* vr_pause.png */; }; - C622E3F426A81290004F5434 /* vr_play.png in Resources */ = {isa = PBXBuildFile; fileRef = C622E3EE26A81290004F5434 /* vr_play.png */; }; - C63D2F1529029536008F0F66 /* FileUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63D2F1429029536008F0F66 /* FileUtil.swift */; }; - C63F720D285A24B10066163B /* ConfigManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F7197285A24B10066163B /* ConfigManager.swift */; }; - C63F720E285A24B10066163B /* CallManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F7198285A24B10066163B /* CallManager.swift */; }; - C63F720F285A24B10066163B /* ConferenceWaitingRoomViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F719B285A24B10066163B /* ConferenceWaitingRoomViewModel.swift */; }; - C63F7210285A24B10066163B /* ConferenceSchedulingViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F719C285A24B10066163B /* ConferenceSchedulingViewModel.swift */; }; - C63F7211285A24B10066163B /* ScheduledConferencesViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F719D285A24B10066163B /* ScheduledConferencesViewModel.swift */; }; - C63F7212285A24B10066163B /* ScheduledConferenceData.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F719F285A24B10066163B /* ScheduledConferenceData.swift */; }; - C63F7213285A24B10066163B /* TimeZoneData.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71A0285A24B10066163B /* TimeZoneData.swift */; }; - C63F7214285A24B10066163B /* Duration.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71A1285A24B10066163B /* Duration.swift */; }; - C63F7215285A24B10066163B /* ConferenceWaitingRoomView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71A3285A24B10066163B /* ConferenceWaitingRoomView.swift */; }; - C63F7216285A24B10066163B /* ScheduledConferencesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71A4285A24B10066163B /* ScheduledConferencesView.swift */; }; - C63F7217285A24B10066163B /* ICSBubbleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71A5285A24B10066163B /* ICSBubbleView.swift */; }; - C63F7218285A24B10066163B /* ScheduledConferencesCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71A6285A24B10066163B /* ScheduledConferencesCell.swift */; }; - C63F7219285A24B10066163B /* ConferenceHistoryDetailsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71A7285A24B10066163B /* ConferenceHistoryDetailsView.swift */; }; - C63F721A285A24B10066163B /* ConferenceSchedulingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71A8285A24B10066163B /* ConferenceSchedulingView.swift */; }; - C63F721B285A24B10066163B /* ConferenceSchedulingSummaryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71A9285A24B10066163B /* ConferenceSchedulingSummaryView.swift */; }; - C63F721C285A24B10066163B /* MediatorLiveData.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71AC285A24B10066163B /* MediatorLiveData.swift */; }; - C63F721D285A24B10066163B /* MutableLiveData.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71AD285A24B10066163B /* MutableLiveData.swift */; }; - C63F721E285A24B10066163B /* Pair.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71AE285A24B10066163B /* Pair.swift */; }; - C63F721F285A24B10066163B /* BackNextNavigationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71AF285A24B10066163B /* BackNextNavigationView.swift */; }; - C63F7220285A24B10066163B /* TimestampUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71B0285A24B10066163B /* TimestampUtils.swift */; }; - C63F7221285A24B10066163B /* AppManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71B1285A24B10066163B /* AppManager.swift */; }; - C63F7222285A24B10066163B /* UIApplication+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71B4285A24B10066163B /* UIApplication+Extension.swift */; }; - C63F7224285A24B10066163B /* UIVIewControllerExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71B6285A24B10066163B /* UIVIewControllerExtensions.swift */; }; - C63F7225285A24B10066163B /* UIImageExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71B7285A24B10066163B /* UIImageExtensions.swift */; }; - C63F7226285A24B10066163B /* UIVIewExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71B8285A24B10066163B /* UIVIewExtensions.swift */; }; - C63F7227285A24B10066163B /* UILabelExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71B9285A24B10066163B /* UILabelExtensions.swift */; }; - C63F7228285A24B10066163B /* OptionalExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71BA285A24B10066163B /* OptionalExtensions.swift */; }; - C63F7229285A24B10066163B /* UIButtonExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71BB285A24B10066163B /* UIButtonExtensions.swift */; }; - C63F722A285A24B10066163B /* UIImageViewExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71BC285A24B10066163B /* UIImageViewExtensions.swift */; }; - C63F722B285A24B10066163B /* UIDeviceExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71BD285A24B10066163B /* UIDeviceExtensions.swift */; }; - C63F722C285A24B10066163B /* UIColorExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71BE285A24B10066163B /* UIColorExtensions.swift */; }; - C63F722D285A24B10066163B /* CoreExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71C0285A24B10066163B /* CoreExtensions.swift */; }; - C63F722E285A24B10066163B /* IceState.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71C1285A24B10066163B /* IceState.swift */; }; - C63F722F285A24B10066163B /* AddressExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71C2285A24B10066163B /* AddressExtensions.swift */; }; - C63F7230285A24B10066163B /* ParticipantExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71C3285A24B10066163B /* ParticipantExtensions.swift */; }; - C63F7231285A24B10066163B /* PayloadType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71C4285A24B10066163B /* PayloadType.swift */; }; - C63F7232285A24B10066163B /* CallExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71C5285A24B10066163B /* CallExtensions.swift */; }; - C63F7233285A24B10066163B /* ConferenceExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71C6285A24B10066163B /* ConferenceExtensions.swift */; }; - C63F7234285A24B10066163B /* ConferenceViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71C9285A24B10066163B /* ConferenceViewModel.swift */; }; - C63F7235285A24B10066163B /* CallsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71CA285A24B10066163B /* CallsViewModel.swift */; }; - C63F7236285A24B10066163B /* ControlsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71CB285A24B10066163B /* ControlsViewModel.swift */; }; - C63F7237285A24B10066163B /* CallStatisticsData.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71CC285A24B10066163B /* CallStatisticsData.swift */; }; - C63F7238285A24B10066163B /* ConferenceParticipantData.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71CD285A24B10066163B /* ConferenceParticipantData.swift */; }; - C63F7239285A24B10066163B /* ConferenceParticipantDeviceData.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71CE285A24B10066163B /* ConferenceParticipantDeviceData.swift */; }; - C63F723A285A24B10066163B /* CallData.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71CF285A24B10066163B /* CallData.swift */; }; - C63F723B285A24B10066163B /* AudioRouteUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71D0285A24B10066163B /* AudioRouteUtils.swift */; }; - C63F723C285A24B10066163B /* LightDarkColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71D2285A24B10066163B /* LightDarkColor.swift */; }; - C63F723D285A24B10066163B /* TextStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71D3285A24B10066163B /* TextStyle.swift */; }; - C63F723E285A24B10066163B /* VoipTexts.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71D4285A24B10066163B /* VoipTexts.swift */; }; - C63F723F285A24B10066163B /* ButtonTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71D5285A24B10066163B /* ButtonTheme.swift */; }; - C63F7240285A24B10066163B /* VoipTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71D6285A24B10066163B /* VoipTheme.swift */; }; - C63F7241285A24B10066163B /* ParticipantsListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71DA285A24B10066163B /* ParticipantsListView.swift */; }; - C63F7242285A24B10066163B /* VoipParticipantCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71DB285A24B10066163B /* VoipParticipantCell.swift */; }; - C63F7243285A24B10066163B /* AudioRoutesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71DC285A24B10066163B /* AudioRoutesView.swift */; }; - C63F7244285A24B10066163B /* VoipActiveSpeakerParticipantCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71DE285A24B10066163B /* VoipActiveSpeakerParticipantCell.swift */; }; - C63F7245285A24B10066163B /* VoipConferenceAudioOnlyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71DF285A24B10066163B /* VoipConferenceAudioOnlyView.swift */; }; - C63F7246285A24B10066163B /* VoipGridParticipantCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71E0285A24B10066163B /* VoipGridParticipantCell.swift */; }; - C63F7247285A24B10066163B /* VoipAudioOnlyParticipantCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71E1285A24B10066163B /* VoipAudioOnlyParticipantCell.swift */; }; - C63F7248285A24B10066163B /* MicMuted.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71E2285A24B10066163B /* MicMuted.swift */; }; - C63F7249285A24B10066163B /* VoipConferenceGridView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71E3285A24B10066163B /* VoipConferenceGridView.swift */; }; - C63F724A285A24B10066163B /* VoipConferenceActiveSpeakerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71E4285A24B10066163B /* VoipConferenceActiveSpeakerView.swift */; }; - C63F724B285A24B10066163B /* VoipConferenceDisplayModeSelectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71E5285A24B10066163B /* VoipConferenceDisplayModeSelectionView.swift */; }; - C63F724C285A24B10066163B /* ActiveCallView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71E7285A24B10066163B /* ActiveCallView.swift */; }; - C63F724D285A24B10066163B /* AbstractIncomingOutgoingCallView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71E8285A24B10066163B /* AbstractIncomingOutgoingCallView.swift */; }; - C63F724E285A24B10066163B /* PausedCallOrConferenceView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71E9285A24B10066163B /* PausedCallOrConferenceView.swift */; }; - C63F724F285A24B10066163B /* LocalVideoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71EA285A24B10066163B /* LocalVideoView.swift */; }; - C63F7250285A24B10066163B /* CallStatsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71EB285A24B10066163B /* CallStatsView.swift */; }; - C63F7251285A24B10066163B /* NumpadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71EC285A24B10066163B /* NumpadView.swift */; }; - C63F7252285A24B10066163B /* VoipExtraButtonsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71ED285A24B10066163B /* VoipExtraButtonsView.swift */; }; - C63F7253285A24B10066163B /* VoipCallContextMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71EF285A24B10066163B /* VoipCallContextMenu.swift */; }; - C63F7254285A24B10066163B /* CallsListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71F0285A24B10066163B /* CallsListView.swift */; }; - C63F7255285A24B10066163B /* VoipCallCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71F1285A24B10066163B /* VoipCallCell.swift */; }; - C63F7256285A24B10066163B /* DismissableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71F2285A24B10066163B /* DismissableView.swift */; }; - C63F7257285A24B10066163B /* ConferenceLayoutPickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71F3285A24B10066163B /* ConferenceLayoutPickerView.swift */; }; - C63F7258285A24B10066163B /* ControlsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71F4285A24B10066163B /* ControlsView.swift */; }; - C63F7259285A24B10066163B /* RemotelyRecording.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71F5285A24B10066163B /* RemotelyRecording.swift */; }; - C63F725A285A24B10066163B /* OutgoingCallView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71F7285A24B10066163B /* OutgoingCallView.swift */; }; - C63F725C285A24B10066163B /* IncomingCallView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71F9285A24B10066163B /* IncomingCallView.swift */; }; - C63F725D285A24B10066163B /* SharedLayoutConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71FA285A24B10066163B /* SharedLayoutConstants.swift */; }; - C63F725E285A24B10066163B /* VoipDialog.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71FB285A24B10066163B /* VoipDialog.swift */; }; - C63F725F285A24B10066163B /* StyledValuePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71FD285A24B10066163B /* StyledValuePicker.swift */; }; - C63F7260285A24B10066163B /* StyledSwitch.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71FE285A24B10066163B /* StyledSwitch.swift */; }; - C63F7261285A24B10066163B /* CallControlButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71FF285A24B10066163B /* CallControlButton.swift */; }; - C63F7262285A24B10066163B /* RotatingSpinner.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F7200285A24B10066163B /* RotatingSpinner.swift */; }; - C63F7263285A24B10066163B /* FormButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F7201285A24B10066163B /* FormButton.swift */; }; - C63F7264285A24B10066163B /* BouncingCounter.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F7202285A24B10066163B /* BouncingCounter.swift */; }; - C63F7265285A24B10066163B /* VoipExtraButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F7203285A24B10066163B /* VoipExtraButton.swift */; }; - C63F7266285A24B10066163B /* UICallTimer.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F7204285A24B10066163B /* UICallTimer.swift */; }; - C63F7267285A24B10066163B /* StyledCheckBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F7205285A24B10066163B /* StyledCheckBox.swift */; }; - C63F7268285A24B10066163B /* Avatar.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F7206285A24B10066163B /* Avatar.swift */; }; - C63F7269285A24B10066163B /* StyledLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F7207285A24B10066163B /* StyledLabel.swift */; }; - C63F726A285A24B10066163B /* StyledDatePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F7208285A24B10066163B /* StyledDatePicker.swift */; }; - C63F726B285A24B10066163B /* ButtonWithStateBackgrounds.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F7209285A24B10066163B /* ButtonWithStateBackgrounds.swift */; }; - C63F726C285A24B10066163B /* StyledTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F720A285A24B10066163B /* StyledTextView.swift */; }; - C63F726D285A24B10066163B /* ProviderDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F720B285A24B10066163B /* ProviderDelegate.swift */; }; - C63F726E285A24B10066163B /* VFSUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F720C285A24B10066163B /* VFSUtil.swift */; }; - C63F726F285A24E90066163B /* VFSUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F720C285A24B10066163B /* VFSUtil.swift */; }; - C63F7270285A24E90066163B /* VFSUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F720C285A24B10066163B /* VFSUtil.swift */; }; - C63F72B5285A2F1D0066163B /* voip_dropdown.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7271285A2F140066163B /* voip_dropdown.png */; }; - C63F72B6285A2F1D0066163B /* voip_spinner.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7272285A2F140066163B /* voip_spinner.png */; }; - C63F72B7285A2F1D0066163B /* voip_numpad_7.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7273285A2F140066163B /* voip_numpad_7.png */; }; - C63F72B8285A2F1D0066163B /* voip_radio_off.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7274285A2F150066163B /* voip_radio_off.png */; }; - C63F72B9285A2F1D0066163B /* voip_export.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7275285A2F150066163B /* voip_export.png */; }; - C63F72BA285A2F1D0066163B /* voip_call_numpad.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7276285A2F150066163B /* voip_call_numpad.png */; }; - C63F72BB285A2F1D0066163B /* voip_chat_rooms_list.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7277285A2F150066163B /* voip_chat_rooms_list.png */; }; - C63F72BC285A2F1D0066163B /* voip_numpad_4.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7278285A2F150066163B /* voip_numpad_4.png */; }; - C63F72BD285A2F1D0066163B /* voip_call_header_incoming.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7279285A2F150066163B /* voip_call_header_incoming.png */; }; - C63F72BE285A2F1D0066163B /* voip_calls_list.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F727A285A2F150066163B /* voip_calls_list.png */; }; - C63F72BF285A2F1D0066163B /* voip_call_header_paused.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F727B285A2F160066163B /* voip_call_header_paused.png */; }; - C63F72C0285A2F1D0066163B /* voip_numpad_0.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F727C285A2F160066163B /* voip_numpad_0.png */; }; - C63F72C1285A2F1D0066163B /* voip_numpad_3.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F727D285A2F160066163B /* voip_numpad_3.png */; }; - C63F72C2285A2F1D0066163B /* voip_numpad_9.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F727E285A2F160066163B /* voip_numpad_9.png */; }; - C63F72C3285A2F1D0066163B /* voip_speaker_on.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F727F285A2F160066163B /* voip_speaker_on.png */; }; - C63F72C4285A2F1D0066163B /* voip_audio_routes.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7280285A2F160066163B /* voip_audio_routes.png */; }; - C63F72C5285A2F1E0066163B /* voip_call_record.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7281285A2F160066163B /* voip_call_record.png */; }; - C63F72C6285A2F1E0066163B /* voip_call_forward.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7282285A2F170066163B /* voip_call_forward.png */; }; - C63F72C7285A2F1E0066163B /* voip_change_camera.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7283285A2F170066163B /* voip_change_camera.png */; }; - C63F72C8285A2F1E0066163B /* voip_checkbox_checked.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7284285A2F170066163B /* voip_checkbox_checked.png */; }; - C63F72C9285A2F1E0066163B /* voip_info.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7285285A2F170066163B /* voip_info.png */; }; - C63F72CA285A2F1E0066163B /* voip_speaker_off.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7286285A2F170066163B /* voip_speaker_off.png */; }; - C63F72CB285A2F1E0066163B /* voip_call_more.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7287285A2F170066163B /* voip_call_more.png */; }; - C63F72CC285A2F1E0066163B /* voip_call_stats.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7288285A2F170066163B /* voip_call_stats.png */; }; - C63F72CD285A2F1E0066163B /* voip_numpad_8.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7289285A2F180066163B /* voip_numpad_8.png */; }; - C63F72CE285A2F1E0066163B /* voip_call_add.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F728A285A2F180066163B /* voip_call_add.png */; }; - C63F72CF285A2F1E0066163B /* voip_copy.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F728B285A2F180066163B /* voip_copy.png */; }; - C63F72D0285A2F1E0066163B /* voip_conference_paused_big.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F728C285A2F180066163B /* voip_conference_paused_big.png */; }; - C63F72D1285A2F1E0066163B /* voip_numpad_star.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F728D285A2F180066163B /* voip_numpad_star.png */; }; - C63F72D2285A2F1E0066163B /* voip_numpad_hash.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F728E285A2F180066163B /* voip_numpad_hash.png */; }; - C63F72D3285A2F1E0066163B /* voip_multiple_contacts_avatar.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F728F285A2F180066163B /* voip_multiple_contacts_avatar.png */; }; - C63F72D4285A2F1E0066163B /* voip_remote_recording.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7290285A2F180066163B /* voip_remote_recording.png */; }; - C63F72D5285A2F1E0066163B /* voip_hangup.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7291285A2F190066163B /* voip_hangup.png */; }; - C63F72D6285A2F1E0066163B /* voip_pause.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7292285A2F190066163B /* voip_pause.png */; }; - C63F72D7285A2F1E0066163B /* voip_numpad_1.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7293285A2F190066163B /* voip_numpad_1.png */; }; - C63F72D8285A2F1E0066163B /* voip_mandatory.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7294285A2F190066163B /* voip_mandatory.png */; }; - C63F72D9285A2F1E0066163B /* voip_earpiece.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7295285A2F190066163B /* voip_earpiece.png */; }; - C63F72DA285A2F1E0066163B /* voip_numpad_2.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7296285A2F190066163B /* voip_numpad_2.png */; }; - C63F72DB285A2F1E0066163B /* voip_conference_audio_only.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7297285A2F190066163B /* voip_conference_audio_only.png */; }; - C63F72DC285A2F1E0066163B /* voip_menu_more.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7298285A2F1A0066163B /* voip_menu_more.png */; }; - C63F72DD285A2F1E0066163B /* voip_conference_new.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7299285A2F1A0066163B /* voip_conference_new.png */; }; - C63F72DE285A2F1E0066163B /* voip_call_header_active.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F729A285A2F1A0066163B /* voip_call_header_active.png */; }; - C63F72DF285A2F1E0066163B /* voip_bluetooth.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F729B285A2F1A0066163B /* voip_bluetooth.png */; }; - C63F72E0285A2F1E0066163B /* voip_micro_off.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F729C285A2F1A0066163B /* voip_micro_off.png */; }; - C63F72E1285A2F1E0066163B /* voip_camera_on.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F729D285A2F1A0066163B /* voip_camera_on.png */; }; - C63F72E2285A2F1E0066163B /* voip_conference_play_big.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F729E285A2F1A0066163B /* voip_conference_play_big.png */; }; - C63F72E3285A2F1E0066163B /* voip_call.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F729F285A2F1B0066163B /* voip_call.png */; }; - C63F72E4285A2F1E0066163B /* voip_call_list_menu.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72A0285A2F1B0066163B /* voip_call_list_menu.png */; }; - C63F72E5285A2F1E0066163B /* voip_conference_active_speaker.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72A1285A2F1B0066163B /* voip_conference_active_speaker.png */; }; - C63F72E6285A2F1E0066163B /* voip_numpad_6.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72A2285A2F1B0066163B /* voip_numpad_6.png */; }; - C63F72E7285A2F1E0066163B /* voip_call_participants.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72A3285A2F1B0066163B /* voip_call_participants.png */; }; - C63F72E8285A2F1E0066163B /* conference_schedule_calendar_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72A4285A2F1B0066163B /* conference_schedule_calendar_default.png */; }; - C63F72E9285A2F1E0066163B /* voip_call_chat.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72A5285A2F1B0066163B /* voip_call_chat.png */; }; - C63F72EA285A2F1E0066163B /* voip_checkbox_unchecked.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72A6285A2F1B0066163B /* voip_checkbox_unchecked.png */; }; - C63F72EB285A2F1E0066163B /* voip_edit.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72A7285A2F1C0066163B /* voip_edit.png */; }; - C63F72EC285A2F1E0066163B /* conference_schedule_time_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72A8285A2F1C0066163B /* conference_schedule_time_default.png */; }; - C63F72ED285A2F1E0066163B /* voip_merge_calls.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72A9285A2F1C0066163B /* voip_merge_calls.png */; }; - C63F72EE285A2F1E0066163B /* voip_camera_off.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72AA285A2F1C0066163B /* voip_camera_off.png */; }; - C63F72EF285A2F1E0066163B /* voip_micro_on.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72AB285A2F1C0066163B /* voip_micro_on.png */; }; - C63F72F0285A2F1E0066163B /* voip_radio_on.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72AC285A2F1C0066163B /* voip_radio_on.png */; }; - C63F72F1285A2F1E0066163B /* conference_schedule_participants_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72AD285A2F1C0066163B /* conference_schedule_participants_default.png */; }; - C63F72F2285A2F1E0066163B /* voip_conference_mosaic.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72AE285A2F1D0066163B /* voip_conference_mosaic.png */; }; - C63F72F3285A2F1E0066163B /* voip_numpad_5.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72AF285A2F1D0066163B /* voip_numpad_5.png */; }; - C63F72F4285A2F1E0066163B /* voip_conference_new_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72B0285A2F1D0066163B /* voip_conference_new_selected.png */; }; - C63F72F5285A2F1E0066163B /* voip_single_contact_avatar.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72B1285A2F1D0066163B /* voip_single_contact_avatar.png */; }; - C63F72F6285A2F1E0066163B /* voip_delete.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72B2285A2F1D0066163B /* voip_delete.png */; }; - C63F72F7285A2F1E0066163B /* voip_cancel.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72B3285A2F1D0066163B /* voip_cancel.png */; }; - C63F72F8285A2F1E0066163B /* voip_call_header_outgoing.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72B4285A2F1D0066163B /* voip_call_header_outgoing.png */; }; - C63F72FD285A31DA0066163B /* Roboto-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = C63F72FA285A31DA0066163B /* Roboto-Regular.ttf */; }; - C63F72FE285A31DA0066163B /* Roboto-Italic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = C63F72FB285A31DA0066163B /* Roboto-Italic.ttf */; }; - C63F72FF285A31DA0066163B /* Roboto-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = C63F72FC285A31DA0066163B /* Roboto-Bold.ttf */; }; - C64A854E2667B67200252AD2 /* EphemeralSettingsView.m in Sources */ = {isa = PBXBuildFile; fileRef = C64A854D2667B67200252AD2 /* EphemeralSettingsView.m */; }; - C64A85502667B67A00252AD2 /* EphemeralSettingsView.xib in Resources */ = {isa = PBXBuildFile; fileRef = C64A854F2667B67A00252AD2 /* EphemeralSettingsView.xib */; }; - C64A85522667B74100252AD2 /* ephemeral_messages_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C64A85512667B74100252AD2 /* ephemeral_messages_default.png */; }; - C6548820292D32FA00BF646B /* SingleCallView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C654881E292D32FA00BF646B /* SingleCallView.swift */; }; - C6548821292D32FA00BF646B /* ConferenceCallView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C654881F292D32FA00BF646B /* ConferenceCallView.swift */; }; - C6548823292D369500BF646B /* AbstractCallView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6548822292D369500BF646B /* AbstractCallView.swift */; }; - C66B03BB26E8EB1A009B5EDC /* UIChatReplyBubbleView.xib in Resources */ = {isa = PBXBuildFile; fileRef = C66B03BD26E8EB1A009B5EDC /* UIChatReplyBubbleView.xib */; }; - C66B040A26EFDA55009B5EDC /* reply_cancel.png in Resources */ = {isa = PBXBuildFile; fileRef = C66B040926EFDA54009B5EDC /* reply_cancel.png */; }; - C66B040E26F095D1009B5EDC /* cancel_forward.png in Resources */ = {isa = PBXBuildFile; fileRef = C66B040D26F095CE009B5EDC /* cancel_forward.png */; }; - C684F1FA2913D65500736775 /* SnapkitBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = C684F1F92913D65500736775 /* SnapkitBridge.swift */; }; - C6A1BB3526E8815400540D50 /* menu_info.png in Resources */ = {isa = PBXBuildFile; fileRef = C6A1BB3126E8815300540D50 /* menu_info.png */; }; - C6A1BB3626E8815400540D50 /* menu_forward_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C6A1BB3226E8815400540D50 /* menu_forward_default.png */; }; - C6A1BB3726E8815400540D50 /* menu_copy_text_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C6A1BB3326E8815400540D50 /* menu_copy_text_default.png */; }; - C6A1BB3826E8815400540D50 /* menu_reply_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C6A1BB3426E8815400540D50 /* menu_reply_default.png */; }; - C6A1BB3A26E881E100540D50 /* menu_delete.png in Resources */ = {isa = PBXBuildFile; fileRef = C6A1BB3926E881E100540D50 /* menu_delete.png */; }; - C6A1BB3E26E882D000540D50 /* UIChatReplyBubbleView.m in Sources */ = {isa = PBXBuildFile; fileRef = C6A1BB3C26E882D000540D50 /* UIChatReplyBubbleView.m */; }; - C6A1BB4126E889AD00540D50 /* forward_message_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C6A1BB4026E889AD00540D50 /* forward_message_default.png */; }; - C6A1BB4326E88F7C00540D50 /* menu_resend_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C6A1BB4226E88F7C00540D50 /* menu_resend_default.png */; }; - C6A1BB4526E890BD00540D50 /* file_voice_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C6A1BB4426E890BD00540D50 /* file_voice_default.png */; }; - C6B4444226AAD0980076C517 /* file_video_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C6B4443D26AAD0970076C517 /* file_video_default.png */; }; - C6B4444326AAD0980076C517 /* file_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C6B4443E26AAD0970076C517 /* file_default.png */; }; - C6B4444426AAD0980076C517 /* file_picture_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C6B4443F26AAD0970076C517 /* file_picture_default.png */; }; - C6B4444526AAD0980076C517 /* file_audio_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C6B4444026AAD0970076C517 /* file_audio_default.png */; }; - C6B4444626AAD0980076C517 /* file_pdf_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C6B4444126AAD0970076C517 /* file_pdf_default.png */; }; - C6B4444826AADA530076C517 /* SwiftUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6B4444726AADA530076C517 /* SwiftUtil.swift */; }; - C6E3E7EC291D642B00DDFC46 /* side_menu_voip_meeting_schedule.png in Resources */ = {isa = PBXBuildFile; fileRef = C6E3E7EB291D642B00DDFC46 /* side_menu_voip_meeting_schedule.png */; }; - C6E3E7EE291D648D00DDFC46 /* side_menu_voip_meeting_schedule@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C6E3E7ED291D648D00DDFC46 /* side_menu_voip_meeting_schedule@2x.png */; }; - C6F55645287CC69F0056E213 /* voip_meeting_schedule.png in Resources */ = {isa = PBXBuildFile; fileRef = C6F55644287CC69F0056E213 /* voip_meeting_schedule.png */; }; - C6F55647287CCFB70056E213 /* menu_voip_meeting_schedule.png in Resources */ = {isa = PBXBuildFile; fileRef = C6F55646287CCFB60056E213 /* menu_voip_meeting_schedule.png */; }; - C90FAA7915AF54E6002091CB /* HistoryDetailsView.m in Sources */ = {isa = PBXBuildFile; fileRef = C90FAA7715AF54E6002091CB /* HistoryDetailsView.m */; }; - CF15F21E20E4F9A3008B1DE6 /* UIImageViewDeletable.m in Sources */ = {isa = PBXBuildFile; fileRef = CF15F21C20E4F9A3008B1DE6 /* UIImageViewDeletable.m */; }; - CF15F21F20E4F9A3008B1DE6 /* UIImageViewDeletable.xib in Resources */ = {isa = PBXBuildFile; fileRef = CF15F21D20E4F9A3008B1DE6 /* UIImageViewDeletable.xib */; }; - CF1DE92D210A0F5D00A0A97E /* UILinphoneAudioPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = CF1DE924210A0F5A00A0A97E /* UILinphoneAudioPlayer.m */; }; - CF1DE92E210A0F5D00A0A97E /* UILinphoneAudioPlayer.xib in Resources */ = {isa = PBXBuildFile; fileRef = CF1DE92B210A0F5B00A0A97E /* UILinphoneAudioPlayer.xib */; }; - CF7602D7210867E800749F76 /* RecordingsListView.m in Sources */ = {isa = PBXBuildFile; fileRef = CF7602D5210867E800749F76 /* RecordingsListView.m */; }; - CF7602E221086EB200749F76 /* RecordingsListTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = CF7602E021086EB200749F76 /* RecordingsListTableView.m */; }; - CF7602E72108759A00749F76 /* UIRecordingCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CF7602E52108759A00749F76 /* UIRecordingCell.m */; }; - CF7602E82108759A00749F76 /* UIRecordingCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = CF7602E62108759A00749F76 /* UIRecordingCell.xib */; }; - CF7602F5210898CC00749F76 /* rec_off_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CF7602EB210898C100749F76 /* rec_off_default@2x.png */; }; - CF7602F6210898CC00749F76 /* rec_on_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CF7602F2210898C400749F76 /* rec_on_default@2x.png */; }; - CF7602F7210898CC00749F76 /* rec_off_default.png in Resources */ = {isa = PBXBuildFile; fileRef = CF7602F3210898C600749F76 /* rec_off_default.png */; }; - CF7602F8210898CC00749F76 /* rec_on_default.png in Resources */ = {isa = PBXBuildFile; fileRef = CF7602F4210898C800749F76 /* rec_on_default.png */; }; - CFBD7A2A20E504AE007C5286 /* delete_img.png in Resources */ = {isa = PBXBuildFile; fileRef = CFBD7A2320E504AD007C5286 /* delete_img.png */; }; - D306459E1611EC2A00BB571E /* UILoadingImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = D306459D1611EC2900BB571E /* UILoadingImageView.m */; }; - D3128FE115AABC7E00A2147A /* ContactDetailsView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3128FDF15AABC7E00A2147A /* ContactDetailsView.m */; }; - D31B4B21159876C0002E6C72 /* UICompositeView.m in Sources */ = {isa = PBXBuildFile; fileRef = D31B4B1F159876C0002E6C72 /* UICompositeView.m */; }; - D31C9C98158A1CDF00756B45 /* UIHistoryCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D31C9C97158A1CDE00756B45 /* UIHistoryCell.m */; }; - D326483815887D5200930C67 /* OrderedDictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = D326483715887D5200930C67 /* OrderedDictionary.m */; }; - D32648441588F6FC00930C67 /* UIToggleButton.m in Sources */ = {isa = PBXBuildFile; fileRef = D32648431588F6FB00930C67 /* UIToggleButton.m */; }; - D32B6E2915A5BC440033019F /* ChatConversationTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = D32B6E2815A5BC430033019F /* ChatConversationTableView.m */; }; - D32B9DFC15A2F131000B6DEC /* FastAddressBook.m in Sources */ = {isa = PBXBuildFile; fileRef = D32B9DFB15A2F131000B6DEC /* FastAddressBook.m */; }; - D34F6F9E1594D3FB0095705B /* InAppSettings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = D34F6F9D1594D3FB0095705B /* InAppSettings.bundle */; }; - D350F20E15A43BB100149E54 /* AssistantView.m in Sources */ = {isa = PBXBuildFile; fileRef = D350F20C15A43BB100149E54 /* AssistantView.m */; }; - D35497FE15875372000081D8 /* ContactsListView.m in Sources */ = {isa = PBXBuildFile; fileRef = D35497FC15875372000081D8 /* ContactsListView.m */; }; - D3549816158761D0000081D8 /* ContactsListTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3549815158761D0000081D8 /* ContactsListTableView.m */; }; - D35498211587716B000081D8 /* StatusBarView.m in Sources */ = {isa = PBXBuildFile; fileRef = D354981F1587716B000081D8 /* StatusBarView.m */; }; - D35860D615B549B500513429 /* Utils.m in Sources */ = {isa = PBXBuildFile; fileRef = D35860D515B549B500513429 /* Utils.m */; }; - D35E7597159460580066B1C1 /* ChatsListView.m in Sources */ = {isa = PBXBuildFile; fileRef = D35E7595159460560066B1C1 /* ChatsListView.m */; }; - D35E759F159460B70066B1C1 /* SettingsView.m in Sources */ = {isa = PBXBuildFile; fileRef = D35E759D159460B50066B1C1 /* SettingsView.m */; }; - D378AB2A15DCDB4A0098505D /* ImagePickerView.m in Sources */ = {isa = PBXBuildFile; fileRef = D378AB2915DCDB490098505D /* ImagePickerView.m */; }; - D37C639B15AADEF6009D0BAC /* ContactDetailsTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = D37C639A15AADEF5009D0BAC /* ContactDetailsTableView.m */; }; - D37DC6C11594AE1800B2A5EB /* LinphoneCoreSettingsStore.m in Sources */ = {isa = PBXBuildFile; fileRef = D37DC6C01594AE1800B2A5EB /* LinphoneCoreSettingsStore.m */; }; - D37DC7181594AF3400B2A5EB /* MessageUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D37DC7171594AF3400B2A5EB /* MessageUI.framework */; }; - D37E3ECD1619C27A0087659A /* CAAnimation+Blocks.m in Sources */ = {isa = PBXBuildFile; fileRef = D37E3ECC1619C27A0087659A /* CAAnimation+Blocks.m */; }; - D37EE10D16035793003608A6 /* ImageView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D37EE11016035793003608A6 /* ImageView.xib */; }; - D37EE162160377D7003608A6 /* DTActionSheet.m in Sources */ = {isa = PBXBuildFile; fileRef = D37EE161160377D7003608A6 /* DTActionSheet.m */; }; - D3807FBF15C28940005BE9BC /* DCRoundSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FB815C28940005BE9BC /* DCRoundSwitch.m */; }; - D3807FC115C28940005BE9BC /* DCRoundSwitchKnobLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FBA15C28940005BE9BC /* DCRoundSwitchKnobLayer.m */; }; - D3807FC315C28940005BE9BC /* DCRoundSwitchOutlineLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FBC15C28940005BE9BC /* DCRoundSwitchOutlineLayer.m */; }; - D3807FC515C28940005BE9BC /* DCRoundSwitchToggleLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FBE15C28940005BE9BC /* DCRoundSwitchToggleLayer.m */; }; - D3807FE815C2894A005BE9BC /* IASKAppSettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FCA15C2894A005BE9BC /* IASKAppSettingsViewController.m */; settings = {COMPILER_FLAGS = "-Wno-deprecated-declarations -Wno-objc-designated-initializers"; }; }; - D3807FEC15C2894A005BE9BC /* IASKSpecifierValuesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FCE15C2894A005BE9BC /* IASKSpecifierValuesViewController.m */; }; - D3807FEE15C2894A005BE9BC /* IASKSettingsReader.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FD215C2894A005BE9BC /* IASKSettingsReader.m */; }; - D3807FF015C2894A005BE9BC /* IASKSettingsStore.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FD415C2894A005BE9BC /* IASKSettingsStore.m */; }; - D3807FF215C2894A005BE9BC /* IASKSettingsStoreFile.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FD615C2894A005BE9BC /* IASKSettingsStoreFile.m */; }; - D3807FF415C2894A005BE9BC /* IASKSettingsStoreUserDefaults.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FD815C2894A005BE9BC /* IASKSettingsStoreUserDefaults.m */; }; - D3807FF615C2894A005BE9BC /* IASKSpecifier.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FDA15C2894A005BE9BC /* IASKSpecifier.m */; settings = {COMPILER_FLAGS = "-Wno-deprecated-declarations"; }; }; - D3807FF815C2894A005BE9BC /* IASKPSSliderSpecifierViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FDD15C2894A005BE9BC /* IASKPSSliderSpecifierViewCell.m */; }; - D3807FFA15C2894A005BE9BC /* IASKPSTextFieldSpecifierViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FDF15C2894A005BE9BC /* IASKPSTextFieldSpecifierViewCell.m */; settings = {COMPILER_FLAGS = "-Wno-deprecated-declarations"; }; }; - D3807FFE15C2894A005BE9BC /* IASKSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FE315C2894A005BE9BC /* IASKSlider.m */; }; - D380800015C2894A005BE9BC /* IASKSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FE515C2894A005BE9BC /* IASKSwitch.m */; }; - D380800215C2894A005BE9BC /* IASKTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FE715C2894A005BE9BC /* IASKTextField.m */; }; - D380801315C299D0005BE9BC /* ColorSpaceUtilites.m in Sources */ = {isa = PBXBuildFile; fileRef = D380801215C299D0005BE9BC /* ColorSpaceUtilites.m */; }; - D38187AD15FE340100C3EDCA /* ChatConversationView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D38187B015FE340100C3EDCA /* ChatConversationView.xib */; }; - D38187B115FE340500C3EDCA /* ChatsListView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D38187B415FE340500C3EDCA /* ChatsListView.xib */; }; - D38187B915FE342200C3EDCA /* ContactDetailsView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D38187BC15FE342200C3EDCA /* ContactDetailsView.xib */; }; - D38187BD15FE342800C3EDCA /* ContactsListView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D38187C015FE342800C3EDCA /* ContactsListView.xib */; }; - D38187C115FE345B00C3EDCA /* DialerView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D38187C415FE345B00C3EDCA /* DialerView.xib */; }; - D38187CD15FE346700C3EDCA /* HistoryDetailsView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D38187D015FE346700C3EDCA /* HistoryDetailsView.xib */; }; - D38187D115FE346B00C3EDCA /* HistoryListView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D38187D415FE346B00C3EDCA /* HistoryListView.xib */; }; - D38187DD15FE348A00C3EDCA /* AssistantView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D38187E015FE348A00C3EDCA /* AssistantView.xib */; }; - D38187F815FE355D00C3EDCA /* TabBarView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D38187FB15FE355D00C3EDCA /* TabBarView.xib */; }; - D3A55FBC15877E5E003FD403 /* UIContactCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D3A55FBB15877E5E003FD403 /* UIContactCell.m */; }; - D3A8BB7015A6C7D500F96BE5 /* UIChatBubbleTextCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D3A8BB6F15A6C7D500F96BE5 /* UIChatBubbleTextCell.m */; }; - D3C6526715AC1A8F0092A874 /* UIContactDetailsCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D3C6526615AC1A8F0092A874 /* UIContactDetailsCell.m */; }; - D3D5126C160B3A8E00946DF8 /* AssistantViewScreens.xib in Resources */ = {isa = PBXBuildFile; fileRef = D3D5126A160B3A8E00946DF8 /* AssistantViewScreens.xib */; }; - D3EA53FD159850E80037DC6B /* LinphoneManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D3EA53FC159850E80037DC6B /* LinphoneManager.m */; }; - D3EA540D1598528B0037DC6B /* ChatsListTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3EA540C1598528B0037DC6B /* ChatsListTableView.m */; }; - D3EA5411159853750037DC6B /* UIChatCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D3EA5410159853750037DC6B /* UIChatCell.m */; }; - D3ED3E871586291E006C0DE4 /* TabBarView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3ED3E851586291B006C0DE4 /* TabBarView.m */; }; - D3ED3EA71587334E006C0DE4 /* HistoryListTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3ED3EA51587334C006C0DE4 /* HistoryListTableView.m */; }; - D3ED3EB81587392C006C0DE4 /* HistoryListView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3ED3EB615873929006C0DE4 /* HistoryListView.m */; }; - D3F795D615A582810077328B /* ChatConversationView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F795D415A582800077328B /* ChatConversationView.m */; }; - D3F7998115BD32370018C273 /* TPMultiLayoutViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F7998015BD32370018C273 /* TPMultiLayoutViewController.m */; }; - D3F83F8E15822ABE00336684 /* PhoneMainView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F83F8D15822ABD00336684 /* PhoneMainView.m */; }; - D7013DB82940AA12004EEAAE /* MessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7013DB72940AA12004EEAAE /* MessageView.swift */; }; - D7097B35296D684900AEF6C5 /* FileType.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7097B34296D684900AEF6C5 /* FileType.swift */; }; - D71418E329C9B4E0002EEF75 /* DownloadMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D71418E229C9B4E0002EEF75 /* DownloadMessageCell.swift */; }; - D71418E529C9E2CD002EEF75 /* CircularProgressBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D71418E429C9E2CD002EEF75 /* CircularProgressBarView.swift */; }; - D72F27AA2AA8B42D00CFB13D /* SheetViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D72F27A92AA8B42D00CFB13D /* SheetViewController.swift */; }; - D7421D9E29228A5200290CAB /* ChatConversationViewSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7421D9D29228A5200290CAB /* ChatConversationViewSwift.swift */; }; - D74A44912923BAF90017D063 /* BackActionsNavigationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D74A44902923BAF90017D063 /* BackActionsNavigationView.swift */; }; - D768763529CDA88200570747 /* UploadMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D768763429CDA88200570747 /* UploadMessageCell.swift */; }; - D77057F1292E4A340031A970 /* ChatConversationViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D77057F0292E4A340031A970 /* ChatConversationViewModel.swift */; }; - D779D39829A3C933007B8087 /* ChatConversationTableViewSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = D779D39729A3C933007B8087 /* ChatConversationTableViewSwift.swift */; }; - D779D39A29A4C285007B8087 /* MultilineMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D779D39929A4C285007B8087 /* MultilineMessageCell.swift */; }; - D779D39C29A76DE6007B8087 /* ChatConversationTableViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D779D39B29A76DE6007B8087 /* ChatConversationTableViewModel.swift */; }; - D779D39E29AC9E93007B8087 /* AudioPlayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D779D39D29AC9E92007B8087 /* AudioPlayer.swift */; }; - D779D3A229B5E365007B8087 /* UIImageExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D779D3A129B5E365007B8087 /* UIImageExtension.swift */; }; - D780FF7D2A459CE3001535E6 /* MediaViewer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D780FF7C2A459CE3001535E6 /* MediaViewer.swift */; }; - D783D9BA2A669A9E00293E87 /* ContentMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D783D9B92A669A9E00293E87 /* ContentMessageView.swift */; }; - D7A4C0082A3B135800EFBD1B /* new_chat_attachment_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D7A4C0052A3B135800EFBD1B /* new_chat_attachment_default.png */; }; - D7A4C0092A3B135800EFBD1B /* new_vr_off.png in Resources */ = {isa = PBXBuildFile; fileRef = D7A4C0062A3B135800EFBD1B /* new_vr_off.png */; }; - D7A4C00A2A3B135800EFBD1B /* new_chat_send_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D7A4C0072A3B135800EFBD1B /* new_chat_send_default.png */; }; - D7A7545029507038005C9D4A /* CustomAlertController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7A7544F29507038005C9D4A /* CustomAlertController.swift */; }; - D7C6DE832948CF3100756E03 /* DropDownCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7C6DE812948CF3100756E03 /* DropDownCell.swift */; }; - D7C6DE842948CF3100756E03 /* DropDownCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = D7C6DE822948CF3100756E03 /* DropDownCell.xib */; }; - D7CBC0F72A8E1669009182D8 /* Mode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7CBC0F62A8E1669009182D8 /* Mode.swift */; }; - D7CBC0FB2A8E3D1E009182D8 /* SpeakersListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7CBC0FA2A8E3D1E009182D8 /* SpeakersListView.swift */; }; - D7CBC0FD2A8E3D3F009182D8 /* VoipSpeakerCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7CBC0FC2A8E3D3F009182D8 /* VoipSpeakerCell.swift */; }; - D7CBC0FF2A8E3E11009182D8 /* ConferenceSpeakerData.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7CBC0FE2A8E3E11009182D8 /* ConferenceSpeakerData.swift */; }; - D7CF13732A2E225200D92165 /* emoji.png in Resources */ = {isa = PBXBuildFile; fileRef = D7CF13722A2E225200D92165 /* emoji.png */; }; - D7DA18712A02598700FABA0D /* TextViewer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7DA18702A02598700FABA0D /* TextViewer.swift */; }; - D7F067482AAA1BFB0044CC87 /* ReactionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7F067472AAA1BFB0044CC87 /* ReactionCell.swift */; }; - EA0007A62356008F003CC6BF /* msgNotificationService.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = EA5F25D9232BD3E200475F2E /* msgNotificationService.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - EA3650DB2330D2E30001148A /* NotificationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA5F25DB232BD3E200475F2E /* NotificationService.swift */; }; - EA88A405242A6216007FEC61 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 63AADBC41B6A0FF200AA16FD /* Localizable.strings */; }; - EA88A407242A6235007FEC61 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 63AADBC41B6A0FF200AA16FD /* Localizable.strings */; }; - EA88F3AB241BD05200E66528 /* UserNotifications.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C73477B1D9BA3A00022EE8C /* UserNotifications.framework */; }; - EA88F3AC241BD05200E66528 /* UserNotificationsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E58962520DCE5700030868C /* UserNotificationsUI.framework */; }; - EA88F3AF241BD1F700E66528 /* MainInterface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EA8CB82D239F96CA00C330CC /* MainInterface.storyboard */; }; - EA8CB82C239F96CA00C330CC /* NotificationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA8CB82B239F96CA00C330CC /* NotificationViewController.swift */; }; - EA8CB833239F96CA00C330CC /* msgNotificationContent.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = EA8CB827239F96CA00C330CC /* msgNotificationContent.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - EAE6C88423FABF690076A018 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAE6C88323FABF690076A018 /* Utils.swift */; }; - EAE6C88523FABF690076A018 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAE6C88323FABF690076A018 /* Utils.swift */; }; - F03CA84318C72F1A0008889D /* UITextViewNoDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = F03CA84218C72F1A0008889D /* UITextViewNoDefine.m */; }; - F05BAA621A5D594E00411815 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F05BAA611A5D594E00411815 /* libz.dylib */; }; - F0642EF119DAC891009DB336 /* MainStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F0642EF019DAC891009DB336 /* MainStoryboard.storyboard */; }; - F088488A19FF8C41007FFCF3 /* UIContactCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = F088488D19FF8C41007FFCF3 /* UIContactCell.xib */; }; - F0938159188E629800A55DFA /* iTunesArtwork in Resources */ = {isa = PBXBuildFile; fileRef = F0938158188E629800A55DFA /* iTunesArtwork */; }; - F0B026F31AA710AF00FF49F7 /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F0B026F21AA710AF00FF49F7 /* libiconv.dylib */; }; - F0B89C2218DC89E30050B60E /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F0B89C2118DC89E30050B60E /* MediaPlayer.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 61AE365420C00B370089D9D3 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; - proxyType = 1; - remoteGlobalIDString = 61AE364A20C00B370089D9D3; - remoteInfo = linphoneExtension; - }; - 6637AF93288593AF00965733 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; - proxyType = 1; - remoteGlobalIDString = 1D6058900D05DD3D006BFB54; - remoteInfo = linphone; - }; - EA88F393241BC1F400E66528 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; - proxyType = 1; - remoteGlobalIDString = EA5F25D8232BD3E200475F2E; - remoteInfo = msgNotificationService; - }; - EA88F394241BC1F400E66528 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; - proxyType = 1; - remoteGlobalIDString = EA8CB826239F96CA00C330CC; - remoteInfo = msgNotificationContent; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 5EF0C35020C806A5005081B0 /* Embed App Extensions */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 13; - files = ( - 61AE365620C00B370089D9D3 /* linphoneExtension.appex in Embed App Extensions */, - EA8CB833239F96CA00C330CC /* msgNotificationContent.appex in Embed App Extensions */, - EA0007A62356008F003CC6BF /* msgNotificationService.appex in Embed App Extensions */, - ); - name = "Embed App Extensions"; - runOnlyForDeploymentPostprocessing = 0; - }; - 8CDC89061EAF89A8006B5652 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 152F22351B15E889008C0621 /* libxml2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libxml2.dylib; path = usr/lib/libxml2.dylib; sourceTree = SDKROOT; }; - 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - 1D3623240D0F684500981E51 /* LinphoneAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinphoneAppDelegate.h; sourceTree = ""; }; - 1D3623250D0F684500981E51 /* LinphoneAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LinphoneAppDelegate.m; sourceTree = ""; }; - 1D6058910D05DD3D006BFB54 /* linphone.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = linphone.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; - 2214EB7812F846B1002A5394 /* UICallButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UICallButton.h; sourceTree = ""; }; - 2214EB7912F846B1002A5394 /* UICallButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UICallButton.m; sourceTree = ""; }; - 22276E8613C73D8A00210156 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; }; - 22276E8813C73DC000210156 /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; }; - 22405EED1600B4E400B92522 /* AssetsLibrary.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AssetsLibrary.framework; path = System/Library/Frameworks/AssetsLibrary.framework; sourceTree = SDKROOT; }; - 22405EFD1601C19000B92522 /* ImageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageView.h; sourceTree = ""; }; - 22405EFE1601C19100B92522 /* ImageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ImageView.m; sourceTree = ""; }; - 224567C1107B968500F10948 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; - 2248E90C12F7E4CF00220D9C /* UIDigitButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIDigitButton.h; sourceTree = ""; }; - 2248E90D12F7E4CF00220D9C /* UIDigitButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIDigitButton.m; sourceTree = ""; }; - 2264B6D111200342002C2C53 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; - 226EF06B15FA256B005865C7 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; }; - 22744019106F31BD006EC466 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; - 2274402E106F335E006EC466 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; - 22744043106F33FC006EC466 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; - 22744056106F9BC9006EC466 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; }; - 228697C311AC29B800E9E0CA /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; }; - 22AA8AFF13D83F6300B30535 /* UICamSwitch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UICamSwitch.h; sourceTree = ""; }; - 22AA8B0013D83F6300B30535 /* UICamSwitch.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UICamSwitch.m; sourceTree = ""; }; - 22B5EFA210CE50BD00777D97 /* AddressBookUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBookUI.framework; path = System/Library/Frameworks/AddressBookUI.framework; sourceTree = SDKROOT; }; - 22B5F03410CE6B2F00777D97 /* AddressBook.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBook.framework; path = System/Library/Frameworks/AddressBook.framework; sourceTree = SDKROOT; }; - 22D1B68012A3E0BE001AE361 /* libresolv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libresolv.dylib; path = usr/lib/libresolv.dylib; sourceTree = SDKROOT; }; - 22E0A81C111C44E100B04932 /* AboutView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AboutView.m; sourceTree = ""; }; - 22E0A81D111C44E100B04932 /* AboutView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AboutView.h; sourceTree = ""; }; - 22F2508B107141E100AC9B3F /* DialerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DialerView.h; sourceTree = ""; }; - 22F2508C107141E100AC9B3F /* DialerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = DialerView.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; - 244523AC1E8266CC0037A187 /* chat_delivered.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_delivered.png; sourceTree = ""; }; - 244523AD1E8266CC0037A187 /* chat_error.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_error.png; sourceTree = ""; }; - 244523AE1E8266CC0037A187 /* chat_read.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_read.png; sourceTree = ""; }; - 244523BC1E8D3A6C0037A187 /* chat_unsecure.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_unsecure.png; sourceTree = ""; }; - 249660941FD6A359001D55AA /* Photos.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Photos.framework; path = System/Library/Frameworks/Photos.framework; sourceTree = SDKROOT; }; - 24A3459D1D95797700881A5C /* UIShopTableCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UIShopTableCell.xib; sourceTree = ""; }; - 24A345A51D95798A00881A5C /* UIShopTableCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIShopTableCell.m; sourceTree = ""; }; - 24A345A71D95799900881A5C /* UIShopTableCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIShopTableCell.h; sourceTree = ""; }; - 24BFAA8C209B062B004F47A7 /* dialer_background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = dialer_background.png; sourceTree = ""; }; - 24BFAA93209B062C004F47A7 /* linphone_user.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = linphone_user.png; sourceTree = ""; }; - 24BFAA94209B062C004F47A7 /* contacts_sip_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "contacts_sip_default@2x.png"; sourceTree = ""; }; - 24BFAA95209B062D004F47A7 /* linphone_user@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "linphone_user@2x.png"; sourceTree = ""; }; - 24BFAA96209B062D004F47A7 /* linphone_user~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "linphone_user~ipad@2x.png"; sourceTree = ""; }; - 24BFAA97209B062E004F47A7 /* contacts_sip_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = contacts_sip_selected.png; sourceTree = ""; }; - 24BFAA98209B062E004F47A7 /* linphone_logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = linphone_logo.png; sourceTree = ""; }; - 24BFAA99209B062E004F47A7 /* contacts_sip_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = contacts_sip_default.png; sourceTree = ""; }; - 24BFAA9A209B062F004F47A7 /* linphone_user~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "linphone_user~ipad.png"; sourceTree = ""; }; - 24BFAA9B209B062F004F47A7 /* callkit_logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = callkit_logo.png; sourceTree = ""; }; - 24BFAA9C209B062F004F47A7 /* contacts_sip_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "contacts_sip_selected@2x.png"; sourceTree = ""; }; - 24BFAA9D209B0630004F47A7 /* linphone_logo@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "linphone_logo@2x.png"; sourceTree = ""; }; - 24E1C7B91F9A235500D3F981 /* Contacts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Contacts.framework; path = System/Library/Frameworks/Contacts.framework; sourceTree = SDKROOT; }; - 288765FC0DF74451002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; - 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 32CA4F630368D1EE00C91783 /* linphone_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = linphone_Prefix.pch; sourceTree = ""; }; - 340751961506459A00B89C47 /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; }; - 344ABDEF14850AE9007420B6 /* libc++.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.1.dylib"; path = "usr/lib/libc++.1.dylib"; sourceTree = SDKROOT; }; - 344ABDF014850AE9007420B6 /* libstdc++.6.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libstdc++.6.dylib"; path = "usr/lib/libstdc++.6.dylib"; sourceTree = SDKROOT; }; - 570742571D5A0691004B9C84 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ShopView.xib; sourceTree = ""; }; - 5707425F1D5A09B8004B9C84 /* ShopView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ShopView.m; sourceTree = ""; }; - 570742601D5A09B8004B9C84 /* ShopView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShopView.h; sourceTree = ""; }; - 570742661D5A63DB004B9C84 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = System/Library/Frameworks/StoreKit.framework; sourceTree = SDKROOT; }; - 5E58962520DCE5700030868C /* UserNotificationsUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UserNotificationsUI.framework; path = System/Library/Frameworks/UserNotificationsUI.framework; sourceTree = SDKROOT; }; - 5EF0C33820C806A5005081B0 /* NotificationCenter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NotificationCenter.framework; path = System/Library/Frameworks/NotificationCenter.framework; sourceTree = SDKROOT; }; - 6112A01B243B31A600DBD5F5 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; - 6112A01D243B5FD500DBD5F5 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; - 6130C85B22BBB493009CC79C /* LaunchScreen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LaunchScreen.h; sourceTree = ""; }; - 6135761A240E81AC005304D4 /* UIInterfaceStyleButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIInterfaceStyleButton.h; sourceTree = ""; }; - 6135761B240E81BA005304D4 /* UIInterfaceStyleButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIInterfaceStyleButton.m; sourceTree = ""; }; - 6135761D240E81C7005304D4 /* UIInterfaceStyleToggleButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIInterfaceStyleToggleButton.h; sourceTree = ""; }; - 6135761E240E81D0005304D4 /* UIInterfaceStyleToggleButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIInterfaceStyleToggleButton.m; sourceTree = ""; }; - 614C087623D1A35E00217F80 /* linphone-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "linphone-Bridging-Header.h"; sourceTree = ""; }; - 614D09CD21E74D5400C43EDF /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; - 61586B7A217A16EE0038AC45 /* menu_about.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_about.png; sourceTree = ""; }; - 61586B82217A16FD0038AC45 /* menu_about@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "menu_about@2x.png"; sourceTree = ""; }; - 61586B84217A17070038AC45 /* menu_assistant.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_assistant.png; sourceTree = ""; }; - 61586B86217A17150038AC45 /* menu_assistant@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "menu_assistant@2x.png"; sourceTree = ""; }; - 61586B88217A17220038AC45 /* menu_link_account.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_link_account.png; sourceTree = ""; }; - 61586B8A217A17320038AC45 /* menu_link_account@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "menu_link_account@2x.png"; sourceTree = ""; }; - 61586B8C217A173F0038AC45 /* menu_options.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_options.png; sourceTree = ""; }; - 61586B8E217A174F0038AC45 /* menu_options@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "menu_options@2x.png"; sourceTree = ""; }; - 61586B90217A175C0038AC45 /* menu_recordings.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_recordings.png; sourceTree = ""; }; - 61586B92217A176F0038AC45 /* menu_recordings@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "menu_recordings@2x.png"; sourceTree = ""; }; - 615A2808217F1FD40060F920 /* chat_add_group.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_add_group.png; sourceTree = ""; }; - 615A2810217F1FDE0060F920 /* chat_add_group@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_add_group@2x.png"; sourceTree = ""; }; - 615A2812217F24D40060F920 /* security_1_indicator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = security_1_indicator.png; sourceTree = ""; }; - 615A2814217F24E00060F920 /* security_1_indicator@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "security_1_indicator@2x.png"; sourceTree = ""; }; - 615A2816217F280C0060F920 /* chat_list_indicator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_list_indicator.png; sourceTree = ""; }; - 615A2818217F28160060F920 /* chat_list_indicator@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_list_indicator@2x.png"; sourceTree = ""; }; - 615A281A217F6F9B0060F920 /* security_2_indicator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = security_2_indicator.png; sourceTree = ""; }; - 615A281C217F6FA80060F920 /* security_2_indicator@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "security_2_indicator@2x.png"; sourceTree = ""; }; - 615A281E217F6FB30060F920 /* security_alert_indicator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = security_alert_indicator.png; sourceTree = ""; }; - 615A2820217F6FBF0060F920 /* security_alert_indicator@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "security_alert_indicator@2x.png"; sourceTree = ""; }; - 615A282321805B250060F920 /* security_toogle_icon_green.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = security_toogle_icon_green.png; sourceTree = ""; }; - 615A282521805B320060F920 /* security_toogle_icon_green@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "security_toogle_icon_green@2x.png"; sourceTree = ""; }; - 615A282721805B400060F920 /* security_toogle_icon_grey.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = security_toogle_icon_grey.png; sourceTree = ""; }; - 615A282921805B4C0060F920 /* security_toogle_icon_grey@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "security_toogle_icon_grey@2x.png"; sourceTree = ""; }; - 615A282F218071E80060F920 /* security_toogle_background_green.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = security_toogle_background_green.png; sourceTree = ""; }; - 615A2831218071F30060F920 /* security_toogle_background_green@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "security_toogle_background_green@2x.png"; sourceTree = ""; }; - 615A2833218071FF0060F920 /* security_toogle_background_grey.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = security_toogle_background_grey.png; sourceTree = ""; }; - 615A28352180720D0060F920 /* security_toogle_background_grey@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "security_toogle_background_grey@2x.png"; sourceTree = ""; }; - 615A28392180788E0060F920 /* security_toogle_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = security_toogle_button.png; sourceTree = ""; }; - 615A283B2180789C0060F920 /* security_toogle_button@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "security_toogle_button@2x.png"; sourceTree = ""; }; - 615A283D2180A2550060F920 /* invite_linphone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = invite_linphone.png; sourceTree = ""; }; - 615A283F2180A2620060F920 /* invite_linphone@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "invite_linphone@2x.png"; sourceTree = ""; }; - 615A28412180C0820060F920 /* recording.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = recording.png; sourceTree = ""; }; - 615A28432180C08F0060F920 /* recording@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "recording@2x.png"; sourceTree = ""; }; - 617B4A61260A2B7800A87337 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/RecordingsListView.xib; sourceTree = ""; }; - 617B4A64260A2B8500A87337 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/RecordingsListView.strings; sourceTree = ""; }; - 617B4A75260A3F5500A87337 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/RecordingsListView.strings; sourceTree = ""; }; - 617C2428263022430042FB4A /* UIChatContentView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIChatContentView.h; sourceTree = ""; }; - 617C2429263022690042FB4A /* UIChatContentView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UIChatContentView.m; sourceTree = ""; }; - 6180D6FD21EE41A800AD9CB6 /* QuickLook.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickLook.framework; path = System/Library/Frameworks/QuickLook.framework; sourceTree = SDKROOT; }; - 6187B1B524B3271500D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/AboutView.strings; sourceTree = ""; }; - 6187B1B624B3271500D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/AssistantLinkView.strings; sourceTree = ""; }; - 6187B1B724B3271600D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/AssistantView.strings; sourceTree = ""; }; - 6187B1B824B3271600D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/AssistantViewScreens.strings; sourceTree = ""; }; - 6187B1BD24B3271800D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/ChatConversationCreateView.strings; sourceTree = ""; }; - 6187B1BE24B3271900D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/ChatConversationImdnView.strings; sourceTree = ""; }; - 6187B1BF24B3271900D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/ChatConversationInfoView.strings; sourceTree = ""; }; - 6187B1C024B3271A00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/ChatConversationView.strings; sourceTree = ""; }; - 6187B1C124B3271A00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/ChatsListView.strings; sourceTree = ""; }; - 6187B1C224B3271A00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/ContactDetailsView.strings; sourceTree = ""; }; - 6187B1C324B3271B00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/ContactsListView.strings; sourceTree = ""; }; - 6187B1C424B3271B00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/CountryListView.strings; sourceTree = ""; }; - 6187B1C524B3271B00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/DialerView.strings; sourceTree = ""; }; - 6187B1C624B3271C00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = "hu.lproj/DialerView~ipad.strings"; sourceTree = ""; }; - 6187B1C724B3271C00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/FirstLoginView.strings; sourceTree = ""; }; - 6187B1C824B3271D00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/HistoryDetailsView.strings; sourceTree = ""; }; - 6187B1C924B3271D00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/HistoryListView.strings; sourceTree = ""; }; - 6187B1CA24B3271E00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/ImageView.strings; sourceTree = ""; }; - 6187B1CD24B3271F00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/UIChatBubblePhotoCell.strings; sourceTree = ""; }; - 6187B1CE24B3271F00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/UIChatBubbleTextCell.strings; sourceTree = ""; }; - 6187B1CF24B3271F00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/UIChatCell.strings; sourceTree = ""; }; - 6187B1D024B3272000D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/UIChatConversationImdnTableViewCell.strings; sourceTree = ""; }; - 6187B1D124B3272000D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/UIChatConversationInfoTableViewCell.strings; sourceTree = ""; }; - 6187B1D224B3272100D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/UIChatCreateCell.strings; sourceTree = ""; }; - 6187B1D424B3272100D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/UICompositeView.strings; sourceTree = ""; }; - 6187B1D524B3272200D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = "hu.lproj/UICompositeView~ipad.strings"; sourceTree = ""; }; - 6187B1D624B3272200D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/UIConfirmationDialog.strings; sourceTree = ""; }; - 6187B1D724B3272300D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/UIContactCell.strings; sourceTree = ""; }; - 6187B1D824B3272300D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/UIContactDetailsCell.strings; sourceTree = ""; }; - 6187B1D924B3272400D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/UIHistoryCell.strings; sourceTree = ""; }; - 6187B1DA24B3272400D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/PhoneMainView.strings; sourceTree = ""; }; - 6187B1DB24B3272400D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/SettingsView.strings; sourceTree = ""; }; - 6187B1DC24B3272500D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/ShopView.strings; sourceTree = ""; }; - 6187B1DD24B3272500D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/SideMenuView.strings; sourceTree = ""; }; - 6187B1DE24B3272600D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = "hu.lproj/SideMenuView~ipad.strings"; sourceTree = ""; }; - 6187B1DF24B3272600D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/StatusBarView.strings; sourceTree = ""; }; - 6187B1E024B3272700D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/TabBarView.strings; sourceTree = ""; }; - 61AE364B20C00B370089D9D3 /* linphoneExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = linphoneExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; - 61AE364D20C00B370089D9D3 /* ShareViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShareViewController.h; sourceTree = ""; }; - 61AE364E20C00B370089D9D3 /* ShareViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShareViewController.m; sourceTree = ""; }; - 61AE365120C00B370089D9D3 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/MainInterface.storyboard; sourceTree = ""; }; - 61AE365320C00B370089D9D3 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 61AE366320C00C810089D9D3 /* linphoneExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = linphoneExtension.entitlements; sourceTree = ""; }; - 61AEBEB5219198EF00F35E7F /* DevicesListView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DevicesListView.h; sourceTree = ""; }; - 61AEBEBC2191990A00F35E7F /* DevicesListView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DevicesListView.m; sourceTree = ""; }; - 61AEBEBE2191991F00F35E7F /* DevicesListView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = DevicesListView.xib; sourceTree = ""; }; - 61AEBEC52191E47500F35E7F /* chevron_list_close.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chevron_list_close.png; sourceTree = ""; }; - 61AEBEC72191E48400F35E7F /* chevron_list_close@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chevron_list_close@2x.png"; sourceTree = ""; }; - 61AEBEC92191E49200F35E7F /* chevron_list_open.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chevron_list_open.png; sourceTree = ""; }; - 61AEBECB2191E4A300F35E7F /* chevron_list_open@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chevron_list_open@2x.png"; sourceTree = ""; }; - 61CCC3D721933B380060EDEA /* UIDeviceCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIDeviceCell.h; sourceTree = ""; }; - 61CCC3DE21933B580060EDEA /* UIDeviceCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UIDeviceCell.m; sourceTree = ""; }; - 61CCC3E021933B660060EDEA /* UIDeviceCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = UIDeviceCell.xib; sourceTree = ""; }; - 61DD7E1E2372E88F001BDD01 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; }; - 61E8E46323C5E8EC00434E71 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/AboutView.strings; sourceTree = ""; }; - 61E8E46523C5E8F000434E71 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/AboutView.strings; sourceTree = ""; }; - 61E8E46723C5E9B400434E71 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/AssistantLinkView.strings; sourceTree = ""; }; - 61E8E46B23C5EA2E00434E71 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/ShopView.strings; sourceTree = ""; }; - 61F1996E20C6B1D5006B069A /* AVKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVKit.framework; path = System/Library/Frameworks/AVKit.framework; sourceTree = SDKROOT; }; - 6306440B1BECB08500134C72 /* FirstLoginView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FirstLoginView.h; sourceTree = ""; }; - 6306440C1BECB08500134C72 /* FirstLoginView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FirstLoginView.m; sourceTree = ""; }; - 6308F9C31BF0DD6600D1234B /* XMLRPCHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XMLRPCHelper.h; path = Utils/XMLRPCHelper.h; sourceTree = ""; }; - 6308F9C41BF0DD6600D1234B /* XMLRPCHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XMLRPCHelper.m; path = Utils/XMLRPCHelper.m; sourceTree = ""; }; - 630CF5551AF7CE1500539F7A /* UITextField+DoneButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UITextField+DoneButton.h"; sourceTree = ""; }; - 630CF5561AF7CE1500539F7A /* UITextField+DoneButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UITextField+DoneButton.m"; sourceTree = ""; }; - 631098471D4660580041F2B3 /* CountryListView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CountryListView.h; sourceTree = ""; }; - 631098481D4660580041F2B3 /* CountryListView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CountryListView.m; sourceTree = ""; }; - 631098511D4660630041F2B3 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/CountryListView.xib; sourceTree = ""; }; - 63130FB11C1ED06900371918 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = "Base.lproj/SideMenuView~ipad.xib"; sourceTree = ""; }; - 6313482E1B6F7B6600C6BDCB /* UIRoundBorderedButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIRoundBorderedButton.h; sourceTree = ""; }; - 6313482F1B6F7B6600C6BDCB /* UIRoundBorderedButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIRoundBorderedButton.m; sourceTree = ""; }; - 6336715E1BCBAAD200BFCBDE /* ChatConversationCreateView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChatConversationCreateView.h; sourceTree = ""; }; - 6336715F1BCBAAD200BFCBDE /* ChatConversationCreateView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChatConversationCreateView.m; sourceTree = ""; }; - 633756371B67BAF400E21BAD /* SideMenuTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SideMenuTableView.h; sourceTree = ""; }; - 633756381B67BAF400E21BAD /* SideMenuTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SideMenuTableView.m; sourceTree = ""; }; - 633756421B67D2B100E21BAD /* SideMenuView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SideMenuView.h; sourceTree = ""; }; - 633756431B67D2B100E21BAD /* SideMenuView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SideMenuView.m; sourceTree = ""; }; - 633888411BFB2C49001D5E7B /* HPGrowingTextView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HPGrowingTextView.h; sourceTree = ""; }; - 633888421BFB2C49001D5E7B /* HPGrowingTextView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HPGrowingTextView.m; sourceTree = ""; }; - 633888431BFB2C49001D5E7B /* HPTextViewInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HPTextViewInternal.h; sourceTree = ""; }; - 633888441BFB2C49001D5E7B /* HPTextViewInternal.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HPTextViewInternal.m; sourceTree = ""; }; - 633E388219FFB0F400936D1C /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; - 633E417F1D74258F00320475 /* AssistantLinkView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AssistantLinkView.h; sourceTree = ""; }; - 633E41801D74258F00320475 /* AssistantLinkView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AssistantLinkView.m; sourceTree = ""; }; - 633FEBE21D3CD5570014B822 /* add_field_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = add_field_default.png; sourceTree = ""; }; - 633FEBE31D3CD5570014B822 /* add_field_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "add_field_default@2x.png"; sourceTree = ""; }; - 633FEBE41D3CD5570014B822 /* add_field_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = add_field_over.png; sourceTree = ""; }; - 633FEBE51D3CD5570014B822 /* add_field_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "add_field_over@2x.png"; sourceTree = ""; }; - 633FEBE61D3CD5570014B822 /* avatar.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = avatar.png; sourceTree = ""; }; - 633FEBE71D3CD5570014B822 /* avatar@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "avatar@2x.png"; sourceTree = ""; }; - 633FEBE81D3CD5570014B822 /* avatar~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "avatar~ipad.png"; sourceTree = ""; }; - 633FEBE91D3CD5570014B822 /* avatar~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "avatar~ipad@2x.png"; sourceTree = ""; }; - 633FEBEA1D3CD5570014B822 /* back_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = back_default.png; sourceTree = ""; }; - 633FEBEB1D3CD5570014B822 /* back_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "back_default@2x.png"; sourceTree = ""; }; - 633FEBEC1D3CD5570014B822 /* back_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = back_disabled.png; sourceTree = ""; }; - 633FEBED1D3CD5570014B822 /* back_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "back_disabled@2x.png"; sourceTree = ""; }; - 633FEBEE1D3CD5570014B822 /* backspace_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = backspace_default.png; sourceTree = ""; }; - 633FEBEF1D3CD5570014B822 /* backspace_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "backspace_default@2x.png"; sourceTree = ""; }; - 633FEBF01D3CD5570014B822 /* backspace_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = backspace_disabled.png; sourceTree = ""; }; - 633FEBF11D3CD5570014B822 /* backspace_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "backspace_disabled@2x.png"; sourceTree = ""; }; - 633FEBF21D3CD5570014B822 /* backspace_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = backspace_over.png; sourceTree = ""; }; - 633FEBF31D3CD5570014B822 /* backspace_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "backspace_over@2x.png"; sourceTree = ""; }; - 633FEBF41D3CD5570014B822 /* call_add_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_add_default.png; sourceTree = ""; }; - 633FEBF51D3CD5570014B822 /* call_add_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_add_default@2x.png"; sourceTree = ""; }; - 633FEBF61D3CD5570014B822 /* call_add_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_add_disabled.png; sourceTree = ""; }; - 633FEBF71D3CD5570014B822 /* call_add_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_add_disabled@2x.png"; sourceTree = ""; }; - 633FEBF81D3CD5570014B822 /* call_alt_back_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_alt_back_default.png; sourceTree = ""; }; - 633FEBF91D3CD5570014B822 /* call_alt_back_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_alt_back_default@2x.png"; sourceTree = ""; }; - 633FEBFA1D3CD5570014B822 /* call_alt_back_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_alt_back_disabled.png; sourceTree = ""; }; - 633FEBFB1D3CD5570014B822 /* call_alt_back_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_alt_back_disabled@2x.png"; sourceTree = ""; }; - 633FEBFC1D3CD5570014B822 /* call_alt_start_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_alt_start_default.png; sourceTree = ""; }; - 633FEBFD1D3CD5570014B822 /* call_alt_start_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_alt_start_default@2x.png"; sourceTree = ""; }; - 633FEBFE1D3CD5570014B822 /* call_alt_start_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_alt_start_disabled.png; sourceTree = ""; }; - 633FEBFF1D3CD5570014B822 /* call_alt_start_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_alt_start_disabled@2x.png"; sourceTree = ""; }; - 633FEC001D3CD5570014B822 /* call_audio_start_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_audio_start_default.png; sourceTree = ""; }; - 633FEC011D3CD5570014B822 /* call_audio_start_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_audio_start_default@2x.png"; sourceTree = ""; }; - 633FEC021D3CD5570014B822 /* call_audio_start_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_audio_start_disabled.png; sourceTree = ""; }; - 633FEC031D3CD5570014B822 /* call_audio_start_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_audio_start_disabled@2x.png"; sourceTree = ""; }; - 633FEC041D3CD5570014B822 /* call_back_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_back_default.png; sourceTree = ""; }; - 633FEC051D3CD5570014B822 /* call_back_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_back_default@2x.png"; sourceTree = ""; }; - 633FEC061D3CD5570014B822 /* call_back_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_back_disabled.png; sourceTree = ""; }; - 633FEC071D3CD5570014B822 /* call_back_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_back_disabled@2x.png"; sourceTree = ""; }; - 633FEC081D3CD5570014B822 /* call_hangup_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_hangup_default.png; sourceTree = ""; }; - 633FEC091D3CD5570014B822 /* call_hangup_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_hangup_default@2x.png"; sourceTree = ""; }; - 633FEC0A1D3CD5570014B822 /* call_hangup_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_hangup_disabled.png; sourceTree = ""; }; - 633FEC0B1D3CD5570014B822 /* call_hangup_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_hangup_disabled@2x.png"; sourceTree = ""; }; - 633FEC0C1D3CD5570014B822 /* call_incoming.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_incoming.png; sourceTree = ""; }; - 633FEC0D1D3CD5570014B822 /* call_incoming@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_incoming@2x.png"; sourceTree = ""; }; - 633FEC0E1D3CD5570014B822 /* call_missed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_missed.png; sourceTree = ""; }; - 633FEC0F1D3CD5570014B822 /* call_missed@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_missed@2x.png"; sourceTree = ""; }; - 633FEC101D3CD5570014B822 /* call_outgoing.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_outgoing.png; sourceTree = ""; }; - 633FEC111D3CD5570014B822 /* call_outgoing@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_outgoing@2x.png"; sourceTree = ""; }; - 633FEC121D3CD5570014B822 /* call_quality_indicator_0.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_quality_indicator_0.png; sourceTree = ""; }; - 633FEC131D3CD5570014B822 /* call_quality_indicator_0@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_quality_indicator_0@2x.png"; sourceTree = ""; }; - 633FEC141D3CD5570014B822 /* call_quality_indicator_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_quality_indicator_1.png; sourceTree = ""; }; - 633FEC151D3CD5570014B822 /* call_quality_indicator_1@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_quality_indicator_1@2x.png"; sourceTree = ""; }; - 633FEC161D3CD5570014B822 /* call_quality_indicator_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_quality_indicator_2.png; sourceTree = ""; }; - 633FEC171D3CD5570014B822 /* call_quality_indicator_2@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_quality_indicator_2@2x.png"; sourceTree = ""; }; - 633FEC181D3CD5570014B822 /* call_quality_indicator_3.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_quality_indicator_3.png; sourceTree = ""; }; - 633FEC191D3CD5570014B822 /* call_quality_indicator_3@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_quality_indicator_3@2x.png"; sourceTree = ""; }; - 633FEC1A1D3CD5570014B822 /* call_quality_indicator_4.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_quality_indicator_4.png; sourceTree = ""; }; - 633FEC1B1D3CD5570014B822 /* call_quality_indicator_4@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_quality_indicator_4@2x.png"; sourceTree = ""; }; - 633FEC1C1D3CD5570014B822 /* call_start_body_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_start_body_default.png; sourceTree = ""; }; - 633FEC1D1D3CD5570014B822 /* call_start_body_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_start_body_default@2x.png"; sourceTree = ""; }; - 633FEC1E1D3CD5570014B822 /* call_start_body_default~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_start_body_default~ipad.png"; sourceTree = ""; }; - 633FEC1F1D3CD5570014B822 /* call_start_body_default~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_start_body_default~ipad@2x.png"; sourceTree = ""; }; - 633FEC201D3CD5570014B822 /* call_start_body_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_start_body_disabled.png; sourceTree = ""; }; - 633FEC211D3CD5570014B822 /* call_start_body_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_start_body_disabled@2x.png"; sourceTree = ""; }; - 633FEC221D3CD5570014B822 /* call_start_body_disabled~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_start_body_disabled~ipad.png"; sourceTree = ""; }; - 633FEC231D3CD5570014B822 /* call_start_body_disabled~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_start_body_disabled~ipad@2x.png"; sourceTree = ""; }; - 633FEC241D3CD5570014B822 /* call_start_body_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_start_body_over.png; sourceTree = ""; }; - 633FEC251D3CD5570014B822 /* call_start_body_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_start_body_over@2x.png"; sourceTree = ""; }; - 633FEC261D3CD5570014B822 /* call_start_body_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_start_body_over~ipad.png"; sourceTree = ""; }; - 633FEC271D3CD5570014B822 /* call_start_body_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_start_body_over~ipad@2x.png"; sourceTree = ""; }; - 633FEC281D3CD5570014B822 /* call_status_incoming.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_status_incoming.png; sourceTree = ""; }; - 633FEC291D3CD5570014B822 /* call_status_incoming@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_status_incoming@2x.png"; sourceTree = ""; }; - 633FEC2A1D3CD5570014B822 /* call_status_incoming~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_status_incoming~ipad.png"; sourceTree = ""; }; - 633FEC2B1D3CD5570014B822 /* call_status_incoming~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_status_incoming~ipad@2x.png"; sourceTree = ""; }; - 633FEC2C1D3CD5570014B822 /* call_status_missed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_status_missed.png; sourceTree = ""; }; - 633FEC2D1D3CD5570014B822 /* call_status_missed@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_status_missed@2x.png"; sourceTree = ""; }; - 633FEC2E1D3CD5570014B822 /* call_status_missed~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_status_missed~ipad.png"; sourceTree = ""; }; - 633FEC2F1D3CD5570014B822 /* call_status_missed~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_status_missed~ipad@2x.png"; sourceTree = ""; }; - 633FEC301D3CD5570014B822 /* call_status_outgoing.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_status_outgoing.png; sourceTree = ""; }; - 633FEC311D3CD5570014B822 /* call_status_outgoing@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_status_outgoing@2x.png"; sourceTree = ""; }; - 633FEC321D3CD5570014B822 /* call_status_outgoing~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_status_outgoing~ipad.png"; sourceTree = ""; }; - 633FEC331D3CD5570014B822 /* call_status_outgoing~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_status_outgoing~ipad@2x.png"; sourceTree = ""; }; - 633FEC341D3CD5570014B822 /* call_transfer_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_transfer_default.png; sourceTree = ""; }; - 633FEC351D3CD5570014B822 /* call_transfer_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_transfer_default@2x.png"; sourceTree = ""; }; - 633FEC361D3CD5570014B822 /* call_transfer_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_transfer_disabled.png; sourceTree = ""; }; - 633FEC371D3CD5570014B822 /* call_transfer_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_transfer_disabled@2x.png"; sourceTree = ""; }; - 633FEC381D3CD5570014B822 /* call_video_start_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_video_start_default.png; sourceTree = ""; }; - 633FEC391D3CD5570014B822 /* call_video_start_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_video_start_default@2x.png"; sourceTree = ""; }; - 633FEC3A1D3CD5570014B822 /* call_video_start_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_video_start_disabled.png; sourceTree = ""; }; - 633FEC3B1D3CD5570014B822 /* call_video_start_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_video_start_disabled@2x.png"; sourceTree = ""; }; - 633FEC3C1D3CD5570014B822 /* camera_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = camera_default.png; sourceTree = ""; }; - 633FEC3D1D3CD5570014B822 /* camera_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "camera_default@2x.png"; sourceTree = ""; }; - 633FEC3E1D3CD5570014B822 /* camera_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = camera_disabled.png; sourceTree = ""; }; - 633FEC3F1D3CD5570014B822 /* camera_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "camera_disabled@2x.png"; sourceTree = ""; }; - 633FEC401D3CD5570014B822 /* camera_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = camera_selected.png; sourceTree = ""; }; - 633FEC411D3CD5570014B822 /* camera_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "camera_selected@2x.png"; sourceTree = ""; }; - 633FEC421D3CD5570014B822 /* camera_switch_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = camera_switch_default.png; sourceTree = ""; }; - 633FEC431D3CD5570014B822 /* camera_switch_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "camera_switch_default@2x.png"; sourceTree = ""; }; - 633FEC441D3CD5570014B822 /* camera_switch_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = camera_switch_disabled.png; sourceTree = ""; }; - 633FEC451D3CD5570014B822 /* camera_switch_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "camera_switch_disabled@2x.png"; sourceTree = ""; }; - 633FEC461D3CD5570014B822 /* camera_switch_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = camera_switch_over.png; sourceTree = ""; }; - 633FEC471D3CD5570014B822 /* camera_switch_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "camera_switch_over@2x.png"; sourceTree = ""; }; - 633FEC481D3CD5570014B822 /* cancel_edit_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cancel_edit_default.png; sourceTree = ""; }; - 633FEC491D3CD5570014B822 /* cancel_edit_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "cancel_edit_default@2x.png"; sourceTree = ""; }; - 633FEC4A1D3CD5570014B822 /* cancel_edit_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cancel_edit_disabled.png; sourceTree = ""; }; - 633FEC4B1D3CD5570014B822 /* cancel_edit_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "cancel_edit_disabled@2x.png"; sourceTree = ""; }; - 633FEC4C1D3CD5570014B822 /* chat_add_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_add_default.png; sourceTree = ""; }; - 633FEC4D1D3CD5570014B822 /* chat_add_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_add_default@2x.png"; sourceTree = ""; }; - 633FEC4E1D3CD5570014B822 /* chat_add_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_add_disabled.png; sourceTree = ""; }; - 633FEC4F1D3CD5570014B822 /* chat_add_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_add_disabled@2x.png"; sourceTree = ""; }; - 633FEC501D3CD5570014B822 /* chat_attachment_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_attachment_default.png; sourceTree = ""; }; - 633FEC511D3CD5570014B822 /* chat_attachment_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_attachment_default@2x.png"; sourceTree = ""; }; - 633FEC521D3CD5570014B822 /* chat_attachment_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_attachment_disabled.png; sourceTree = ""; }; - 633FEC531D3CD5570014B822 /* chat_attachment_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_attachment_disabled@2x.png"; sourceTree = ""; }; - 633FEC541D3CD5570014B822 /* chat_attachment_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_attachment_over.png; sourceTree = ""; }; - 633FEC551D3CD5570014B822 /* chat_attachment_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_attachment_over@2x.png"; sourceTree = ""; }; - 633FEC561D3CD5570014B822 /* chat_list_indicator~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_list_indicator~ipad.png"; sourceTree = ""; }; - 633FEC571D3CD5570014B822 /* chat_list_indicator~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_list_indicator~ipad@2x.png"; sourceTree = ""; }; - 633FEC581D3CD5570014B822 /* chat_message_not_delivered.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_message_not_delivered.png; sourceTree = ""; }; - 633FEC591D3CD5570014B822 /* chat_message_not_delivered@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_message_not_delivered@2x.png"; sourceTree = ""; }; - 633FEC5A1D3CD5570014B822 /* chat_send_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_send_default.png; sourceTree = ""; }; - 633FEC5B1D3CD5570014B822 /* chat_send_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_send_default@2x.png"; sourceTree = ""; }; - 633FEC5C1D3CD5570014B822 /* chat_send_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_send_disabled.png; sourceTree = ""; }; - 633FEC5D1D3CD5570014B822 /* chat_send_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_send_disabled@2x.png"; sourceTree = ""; }; - 633FEC5E1D3CD5570014B822 /* chat_send_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_send_over.png; sourceTree = ""; }; - 633FEC5F1D3CD5570014B822 /* chat_send_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_send_over@2x.png"; sourceTree = ""; }; - 633FEC601D3CD5570014B822 /* chat_start_body_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_start_body_default.png; sourceTree = ""; }; - 633FEC611D3CD5570014B822 /* chat_start_body_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_start_body_default@2x.png"; sourceTree = ""; }; - 633FEC621D3CD5570014B822 /* chat_start_body_default~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_start_body_default~ipad.png"; sourceTree = ""; }; - 633FEC631D3CD5570014B822 /* chat_start_body_default~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_start_body_default~ipad@2x.png"; sourceTree = ""; }; - 633FEC641D3CD5570014B822 /* chat_start_body_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_start_body_disabled.png; sourceTree = ""; }; - 633FEC651D3CD5570014B822 /* chat_start_body_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_start_body_disabled@2x.png"; sourceTree = ""; }; - 633FEC661D3CD5570014B822 /* chat_start_body_disabled~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_start_body_disabled~ipad.png"; sourceTree = ""; }; - 633FEC671D3CD5570014B822 /* chat_start_body_disabled~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_start_body_disabled~ipad@2x.png"; sourceTree = ""; }; - 633FEC681D3CD5570014B822 /* chat_start_body_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_start_body_over.png; sourceTree = ""; }; - 633FEC691D3CD5570014B822 /* chat_start_body_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_start_body_over@2x.png"; sourceTree = ""; }; - 633FEC6A1D3CD5570014B822 /* chat_start_body_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_start_body_over~ipad.png"; sourceTree = ""; }; - 633FEC6B1D3CD5570014B822 /* chat_start_body_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_start_body_over~ipad@2x.png"; sourceTree = ""; }; - 633FEC6C1D3CD5570014B822 /* checkbox_checked.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = checkbox_checked.png; sourceTree = ""; }; - 633FEC6D1D3CD5570014B822 /* checkbox_checked@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "checkbox_checked@2x.png"; sourceTree = ""; }; - 633FEC6E1D3CD5570014B822 /* checkbox_unchecked.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = checkbox_unchecked.png; sourceTree = ""; }; - 633FEC6F1D3CD5570014B822 /* checkbox_unchecked@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "checkbox_unchecked@2x.png"; sourceTree = ""; }; - 633FEC701D3CD5570014B822 /* color_A.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = color_A.png; sourceTree = ""; }; - 633FEC711D3CD5570014B822 /* color_C.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = color_C.png; sourceTree = ""; }; - 633FEC721D3CD5570014B822 /* color_D.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = color_D.png; sourceTree = ""; }; - 633FEC731D3CD5570014B822 /* color_E.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = color_E.png; sourceTree = ""; }; - 633FEC741D3CD5570014B822 /* color_F.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = color_F.png; sourceTree = ""; }; - 633FEC751D3CD5570014B822 /* color_G.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = color_G.png; sourceTree = ""; }; - 633FEC761D3CD5570014B822 /* color_H.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = color_H.png; sourceTree = ""; }; - 633FEC771D3CD5570014B822 /* color_I.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = color_I.png; sourceTree = ""; }; - 633FEC781D3CD5570014B822 /* color_L.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = color_L.png; sourceTree = ""; }; - 633FEC791D3CD5570014B822 /* color_M.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = color_M.png; sourceTree = ""; }; - 633FEC7A1D3CD5570014B822 /* conference_exit_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = conference_exit_default.png; sourceTree = ""; }; - 633FEC7B1D3CD5570014B822 /* conference_exit_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "conference_exit_default@2x.png"; sourceTree = ""; }; - 633FEC7C1D3CD5570014B822 /* conference_exit_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = conference_exit_over.png; sourceTree = ""; }; - 633FEC7D1D3CD5570014B822 /* conference_exit_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "conference_exit_over@2x.png"; sourceTree = ""; }; - 633FEC7E1D3CD5570014B822 /* contact_add_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = contact_add_default.png; sourceTree = ""; }; - 633FEC7F1D3CD5570014B822 /* contact_add_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "contact_add_default@2x.png"; sourceTree = ""; }; - 633FEC801D3CD5570014B822 /* contact_add_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = contact_add_disabled.png; sourceTree = ""; }; - 633FEC811D3CD5570014B822 /* contact_add_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "contact_add_disabled@2x.png"; sourceTree = ""; }; - 633FEC821D3CD5570014B822 /* contacts_all_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = contacts_all_default.png; sourceTree = ""; }; - 633FEC831D3CD5570014B822 /* contacts_all_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "contacts_all_default@2x.png"; sourceTree = ""; }; - 633FEC841D3CD5570014B822 /* contacts_all_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = contacts_all_disabled.png; sourceTree = ""; }; - 633FEC851D3CD5570014B822 /* contacts_all_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "contacts_all_disabled@2x.png"; sourceTree = ""; }; - 633FEC861D3CD5570014B822 /* contacts_all_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = contacts_all_selected.png; sourceTree = ""; }; - 633FEC871D3CD5570014B822 /* contacts_all_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "contacts_all_selected@2x.png"; sourceTree = ""; }; - 633FEC8E1D3CD5570014B822 /* delete_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = delete_default.png; sourceTree = ""; }; - 633FEC8F1D3CD5570014B822 /* delete_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "delete_default@2x.png"; sourceTree = ""; }; - 633FEC901D3CD5570014B822 /* delete_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = delete_disabled.png; sourceTree = ""; }; - 633FEC911D3CD5570014B822 /* delete_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "delete_disabled@2x.png"; sourceTree = ""; }; - 633FEC921D3CD5570014B822 /* delete_field_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = delete_field_default.png; sourceTree = ""; }; - 633FEC931D3CD5570014B822 /* delete_field_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "delete_field_default@2x.png"; sourceTree = ""; }; - 633FEC941D3CD5570014B822 /* delete_field_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = delete_field_over.png; sourceTree = ""; }; - 633FEC951D3CD5570014B822 /* delete_field_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "delete_field_over@2x.png"; sourceTree = ""; }; - 633FEC961D3CD5570014B822 /* deselect_all.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = deselect_all.png; sourceTree = ""; }; - 633FEC971D3CD5570014B822 /* deselect_all@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "deselect_all@2x.png"; sourceTree = ""; }; - 633FEC981D3CD5570014B822 /* dialer_alt_back.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = dialer_alt_back.png; sourceTree = ""; }; - 633FEC991D3CD5570014B822 /* dialer_alt_back@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "dialer_alt_back@2x.png"; sourceTree = ""; }; - 633FEC9A1D3CD5570014B822 /* dialer_back_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = dialer_back_default.png; sourceTree = ""; }; - 633FEC9B1D3CD5570014B822 /* dialer_back_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "dialer_back_default@2x.png"; sourceTree = ""; }; - 633FEC9C1D3CD5570014B822 /* dialer_back_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = dialer_back_disabled.png; sourceTree = ""; }; - 633FEC9D1D3CD5570014B822 /* dialer_back_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "dialer_back_disabled@2x.png"; sourceTree = ""; }; - 633FECA01D3CD5570014B822 /* edit_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = edit_default.png; sourceTree = ""; }; - 633FECA11D3CD5570014B822 /* edit_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "edit_default@2x.png"; sourceTree = ""; }; - 633FECA21D3CD5570014B822 /* edit_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = edit_disabled.png; sourceTree = ""; }; - 633FECA31D3CD5570014B822 /* edit_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "edit_disabled@2x.png"; sourceTree = ""; }; - 633FECA41D3CD5570014B822 /* edit_list_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = edit_list_default.png; sourceTree = ""; }; - 633FECA51D3CD5570014B822 /* edit_list_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "edit_list_default@2x.png"; sourceTree = ""; }; - 633FECA61D3CD5570014B822 /* edit_list_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = edit_list_disabled.png; sourceTree = ""; }; - 633FECA71D3CD5570014B822 /* edit_list_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "edit_list_disabled@2x.png"; sourceTree = ""; }; - 633FECA81D3CD5570014B822 /* footer_chat_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = footer_chat_default.png; sourceTree = ""; }; - 633FECA91D3CD5570014B822 /* footer_chat_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "footer_chat_default@2x.png"; sourceTree = ""; }; - 633FECAA1D3CD5570014B822 /* footer_chat_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = footer_chat_disabled.png; sourceTree = ""; }; - 633FECAB1D3CD5570014B822 /* footer_chat_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "footer_chat_disabled@2x.png"; sourceTree = ""; }; - 633FECAC1D3CD5570014B822 /* footer_contacts_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = footer_contacts_default.png; sourceTree = ""; }; - 633FECAD1D3CD5570014B822 /* footer_contacts_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "footer_contacts_default@2x.png"; sourceTree = ""; }; - 633FECAE1D3CD5570014B822 /* footer_contacts_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = footer_contacts_disabled.png; sourceTree = ""; }; - 633FECAF1D3CD5570014B822 /* footer_contacts_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "footer_contacts_disabled@2x.png"; sourceTree = ""; }; - 633FECB01D3CD5570014B822 /* footer_dialer_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = footer_dialer_default.png; sourceTree = ""; }; - 633FECB11D3CD5570014B822 /* footer_dialer_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "footer_dialer_default@2x.png"; sourceTree = ""; }; - 633FECB21D3CD5570014B822 /* footer_dialer_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = footer_dialer_disabled.png; sourceTree = ""; }; - 633FECB31D3CD5570014B822 /* footer_dialer_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "footer_dialer_disabled@2x.png"; sourceTree = ""; }; - 633FECB41D3CD5570014B822 /* footer_history_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = footer_history_default.png; sourceTree = ""; }; - 633FECB51D3CD5570014B822 /* footer_history_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "footer_history_default@2x.png"; sourceTree = ""; }; - 633FECB61D3CD5570014B822 /* footer_history_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = footer_history_disabled.png; sourceTree = ""; }; - 633FECB71D3CD5570014B822 /* footer_history_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "footer_history_disabled@2x.png"; sourceTree = ""; }; - 633FECB81D3CD5570014B822 /* history_all_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = history_all_default.png; sourceTree = ""; }; - 633FECB91D3CD5570014B822 /* history_all_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "history_all_default@2x.png"; sourceTree = ""; }; - 633FECBA1D3CD5570014B822 /* history_all_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = history_all_disabled.png; sourceTree = ""; }; - 633FECBB1D3CD5570014B822 /* history_all_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "history_all_disabled@2x.png"; sourceTree = ""; }; - 633FECBC1D3CD5570014B822 /* history_all_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = history_all_selected.png; sourceTree = ""; }; - 633FECBD1D3CD5570014B822 /* history_all_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "history_all_selected@2x.png"; sourceTree = ""; }; - 633FECBE1D3CD5570014B822 /* history_chat_indicator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = history_chat_indicator.png; sourceTree = ""; }; - 633FECBF1D3CD5570014B822 /* history_chat_indicator@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "history_chat_indicator@2x.png"; sourceTree = ""; }; - 633FECC01D3CD5570014B822 /* history_missed_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = history_missed_default.png; sourceTree = ""; }; - 633FECC11D3CD5570014B822 /* history_missed_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "history_missed_default@2x.png"; sourceTree = ""; }; - 633FECC21D3CD5570014B822 /* history_missed_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = history_missed_disabled.png; sourceTree = ""; }; - 633FECC31D3CD5570014B822 /* history_missed_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "history_missed_disabled@2x.png"; sourceTree = ""; }; - 633FECC41D3CD5570014B822 /* history_missed_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = history_missed_selected.png; sourceTree = ""; }; - 633FECC51D3CD5570014B822 /* history_missed_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "history_missed_selected@2x.png"; sourceTree = ""; }; - 633FECC61D3CD5570014B822 /* led_connected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = led_connected.png; sourceTree = ""; }; - 633FECC71D3CD5570014B822 /* led_connected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "led_connected@2x.png"; sourceTree = ""; }; - 633FECC81D3CD5570014B822 /* led_disconnected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = led_disconnected.png; sourceTree = ""; }; - 633FECC91D3CD5570014B822 /* led_disconnected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "led_disconnected@2x.png"; sourceTree = ""; }; - 633FECCA1D3CD5570014B822 /* led_error.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = led_error.png; sourceTree = ""; }; - 633FECCB1D3CD5570014B822 /* led_error@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "led_error@2x.png"; sourceTree = ""; }; - 633FECCC1D3CD5570014B822 /* led_inprogress.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = led_inprogress.png; sourceTree = ""; }; - 633FECCD1D3CD5570014B822 /* led_inprogress@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "led_inprogress@2x.png"; sourceTree = ""; }; - 633FECD41D3CD5580014B822 /* list_details_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = list_details_default.png; sourceTree = ""; }; - 633FECD51D3CD5580014B822 /* list_details_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "list_details_default@2x.png"; sourceTree = ""; }; - 633FECD61D3CD5580014B822 /* list_details_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = list_details_over.png; sourceTree = ""; }; - 633FECD71D3CD5580014B822 /* list_details_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "list_details_over@2x.png"; sourceTree = ""; }; - 633FECD81D3CD5580014B822 /* menu.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu.png; sourceTree = ""; }; - 633FECD91D3CD5580014B822 /* menu@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "menu@2x.png"; sourceTree = ""; }; - 633FECDA1D3CD5580014B822 /* micro_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = micro_default.png; sourceTree = ""; }; - 633FECDB1D3CD5580014B822 /* micro_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "micro_default@2x.png"; sourceTree = ""; }; - 633FECDC1D3CD5580014B822 /* micro_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = micro_disabled.png; sourceTree = ""; }; - 633FECDD1D3CD5580014B822 /* micro_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "micro_disabled@2x.png"; sourceTree = ""; }; - 633FECDE1D3CD5580014B822 /* micro_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = micro_selected.png; sourceTree = ""; }; - 633FECDF1D3CD5580014B822 /* micro_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "micro_selected@2x.png"; sourceTree = ""; }; - 633FECE01D3CD5580014B822 /* nowebcamCIF.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = nowebcamCIF.jpg; sourceTree = ""; }; - 633FECE11D3CD5580014B822 /* numpad_0_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_0_default.png; sourceTree = ""; }; - 633FECE21D3CD5580014B822 /* numpad_0_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_0_default@2x.png"; sourceTree = ""; }; - 633FECE31D3CD5580014B822 /* numpad_0_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_0_over.png; sourceTree = ""; }; - 633FECE41D3CD5580014B822 /* numpad_0_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_0_over@2x.png"; sourceTree = ""; }; - 633FECE51D3CD5580014B822 /* numpad_0_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_0_over~ipad.png"; sourceTree = ""; }; - 633FECE61D3CD5580014B822 /* numpad_0_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_0_over~ipad@2x.png"; sourceTree = ""; }; - 633FECE71D3CD5580014B822 /* numpad_0~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_0~ipad.png"; sourceTree = ""; }; - 633FECE81D3CD5580014B822 /* numpad_0~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_0~ipad@2x.png"; sourceTree = ""; }; - 633FECE91D3CD5580014B822 /* numpad_1_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_1_default.png; sourceTree = ""; }; - 633FECEA1D3CD5580014B822 /* numpad_1_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_1_default@2x.png"; sourceTree = ""; }; - 633FECEB1D3CD5580014B822 /* numpad_1_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_1_over.png; sourceTree = ""; }; - 633FECEC1D3CD5580014B822 /* numpad_1_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_1_over@2x.png"; sourceTree = ""; }; - 633FECED1D3CD5580014B822 /* numpad_1_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_1_over~ipad.png"; sourceTree = ""; }; - 633FECEE1D3CD5580014B822 /* numpad_1_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_1_over~ipad@2x.png"; sourceTree = ""; }; - 633FECEF1D3CD5580014B822 /* numpad_1~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_1~ipad.png"; sourceTree = ""; }; - 633FECF01D3CD5580014B822 /* numpad_1~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_1~ipad@2x.png"; sourceTree = ""; }; - 633FECF11D3CD5580014B822 /* numpad_2_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_2_default.png; sourceTree = ""; }; - 633FECF21D3CD5580014B822 /* numpad_2_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_2_default@2x.png"; sourceTree = ""; }; - 633FECF31D3CD5580014B822 /* numpad_2_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_2_over.png; sourceTree = ""; }; - 633FECF41D3CD5580014B822 /* numpad_2_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_2_over@2x.png"; sourceTree = ""; }; - 633FECF51D3CD5580014B822 /* numpad_2_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_2_over~ipad.png"; sourceTree = ""; }; - 633FECF61D3CD5580014B822 /* numpad_2_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_2_over~ipad@2x.png"; sourceTree = ""; }; - 633FECF71D3CD5580014B822 /* numpad_2~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_2~ipad.png"; sourceTree = ""; }; - 633FECF81D3CD5580014B822 /* numpad_2~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_2~ipad@2x.png"; sourceTree = ""; }; - 633FECF91D3CD5580014B822 /* numpad_3_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_3_default.png; sourceTree = ""; }; - 633FECFA1D3CD5580014B822 /* numpad_3_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_3_default@2x.png"; sourceTree = ""; }; - 633FECFB1D3CD5580014B822 /* numpad_3_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_3_over.png; sourceTree = ""; }; - 633FECFC1D3CD5580014B822 /* numpad_3_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_3_over@2x.png"; sourceTree = ""; }; - 633FECFD1D3CD5580014B822 /* numpad_3_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_3_over~ipad.png"; sourceTree = ""; }; - 633FECFE1D3CD5580014B822 /* numpad_3_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_3_over~ipad@2x.png"; sourceTree = ""; }; - 633FECFF1D3CD5580014B822 /* numpad_3~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_3~ipad.png"; sourceTree = ""; }; - 633FED001D3CD5580014B822 /* numpad_3~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_3~ipad@2x.png"; sourceTree = ""; }; - 633FED011D3CD5580014B822 /* numpad_4_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_4_default.png; sourceTree = ""; }; - 633FED021D3CD5580014B822 /* numpad_4_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_4_default@2x.png"; sourceTree = ""; }; - 633FED031D3CD5580014B822 /* numpad_4_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_4_over.png; sourceTree = ""; }; - 633FED041D3CD5580014B822 /* numpad_4_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_4_over@2x.png"; sourceTree = ""; }; - 633FED051D3CD5580014B822 /* numpad_4_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_4_over~ipad.png"; sourceTree = ""; }; - 633FED061D3CD5580014B822 /* numpad_4_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_4_over~ipad@2x.png"; sourceTree = ""; }; - 633FED071D3CD5580014B822 /* numpad_4~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_4~ipad.png"; sourceTree = ""; }; - 633FED081D3CD5580014B822 /* numpad_4~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_4~ipad@2x.png"; sourceTree = ""; }; - 633FED091D3CD5580014B822 /* numpad_5_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_5_default.png; sourceTree = ""; }; - 633FED0A1D3CD5580014B822 /* numpad_5_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_5_default@2x.png"; sourceTree = ""; }; - 633FED0B1D3CD5580014B822 /* numpad_5_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_5_over.png; sourceTree = ""; }; - 633FED0C1D3CD5580014B822 /* numpad_5_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_5_over@2x.png"; sourceTree = ""; }; - 633FED0D1D3CD5580014B822 /* numpad_5_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_5_over~ipad.png"; sourceTree = ""; }; - 633FED0E1D3CD5580014B822 /* numpad_5_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_5_over~ipad@2x.png"; sourceTree = ""; }; - 633FED0F1D3CD5580014B822 /* numpad_5~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_5~ipad.png"; sourceTree = ""; }; - 633FED101D3CD5580014B822 /* numpad_5~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_5~ipad@2x.png"; sourceTree = ""; }; - 633FED111D3CD5580014B822 /* numpad_6_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_6_default.png; sourceTree = ""; }; - 633FED121D3CD5580014B822 /* numpad_6_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_6_default@2x.png"; sourceTree = ""; }; - 633FED131D3CD5580014B822 /* numpad_6_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_6_over.png; sourceTree = ""; }; - 633FED141D3CD5580014B822 /* numpad_6_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_6_over@2x.png"; sourceTree = ""; }; - 633FED151D3CD5580014B822 /* numpad_6_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_6_over~ipad.png"; sourceTree = ""; }; - 633FED161D3CD5580014B822 /* numpad_6_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_6_over~ipad@2x.png"; sourceTree = ""; }; - 633FED171D3CD5580014B822 /* numpad_6~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_6~ipad.png"; sourceTree = ""; }; - 633FED181D3CD5580014B822 /* numpad_6~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_6~ipad@2x.png"; sourceTree = ""; }; - 633FED191D3CD5580014B822 /* numpad_7_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_7_default.png; sourceTree = ""; }; - 633FED1A1D3CD5580014B822 /* numpad_7_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_7_default@2x.png"; sourceTree = ""; }; - 633FED1B1D3CD5580014B822 /* numpad_7_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_7_over.png; sourceTree = ""; }; - 633FED1C1D3CD5580014B822 /* numpad_7_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_7_over@2x.png"; sourceTree = ""; }; - 633FED1D1D3CD5580014B822 /* numpad_7_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_7_over~ipad.png"; sourceTree = ""; }; - 633FED1E1D3CD5580014B822 /* numpad_7_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_7_over~ipad@2x.png"; sourceTree = ""; }; - 633FED1F1D3CD5580014B822 /* numpad_7~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_7~ipad.png"; sourceTree = ""; }; - 633FED201D3CD5580014B822 /* numpad_7~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_7~ipad@2x.png"; sourceTree = ""; }; - 633FED211D3CD5580014B822 /* numpad_8_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_8_default.png; sourceTree = ""; }; - 633FED221D3CD5580014B822 /* numpad_8_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_8_default@2x.png"; sourceTree = ""; }; - 633FED231D3CD5580014B822 /* numpad_8_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_8_over.png; sourceTree = ""; }; - 633FED241D3CD5580014B822 /* numpad_8_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_8_over@2x.png"; sourceTree = ""; }; - 633FED251D3CD5580014B822 /* numpad_8_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_8_over~ipad.png"; sourceTree = ""; }; - 633FED261D3CD5580014B822 /* numpad_8_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_8_over~ipad@2x.png"; sourceTree = ""; }; - 633FED271D3CD5580014B822 /* numpad_8~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_8~ipad.png"; sourceTree = ""; }; - 633FED281D3CD5580014B822 /* numpad_8~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_8~ipad@2x.png"; sourceTree = ""; }; - 633FED291D3CD5580014B822 /* numpad_9_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_9_default.png; sourceTree = ""; }; - 633FED2A1D3CD5580014B822 /* numpad_9_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_9_default@2x.png"; sourceTree = ""; }; - 633FED2B1D3CD5580014B822 /* numpad_9_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_9_over.png; sourceTree = ""; }; - 633FED2C1D3CD5580014B822 /* numpad_9_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_9_over@2x.png"; sourceTree = ""; }; - 633FED2D1D3CD5580014B822 /* numpad_9_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_9_over~ipad.png"; sourceTree = ""; }; - 633FED2E1D3CD5580014B822 /* numpad_9_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_9_over~ipad@2x.png"; sourceTree = ""; }; - 633FED2F1D3CD5580014B822 /* numpad_9~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_9~ipad.png"; sourceTree = ""; }; - 633FED301D3CD5580014B822 /* numpad_9~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_9~ipad@2x.png"; sourceTree = ""; }; - 633FED311D3CD5580014B822 /* numpad_hash_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_hash_default.png; sourceTree = ""; }; - 633FED321D3CD5580014B822 /* numpad_hash_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_hash_default@2x.png"; sourceTree = ""; }; - 633FED331D3CD5580014B822 /* numpad_hash_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_hash_over.png; sourceTree = ""; }; - 633FED341D3CD5580014B822 /* numpad_hash_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_hash_over@2x.png"; sourceTree = ""; }; - 633FED351D3CD5580014B822 /* numpad_hash_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_hash_over~ipad.png"; sourceTree = ""; }; - 633FED361D3CD5580014B822 /* numpad_hash_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_hash_over~ipad@2x.png"; sourceTree = ""; }; - 633FED371D3CD5580014B822 /* numpad_hash~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_hash~ipad.png"; sourceTree = ""; }; - 633FED381D3CD5580014B822 /* numpad_hash~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_hash~ipad@2x.png"; sourceTree = ""; }; - 633FED391D3CD5580014B822 /* numpad_over_background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_over_background.png; sourceTree = ""; }; - 633FED3A1D3CD5580014B822 /* numpad_star_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_star_default.png; sourceTree = ""; }; - 633FED3B1D3CD5580014B822 /* numpad_star_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_star_default@2x.png"; sourceTree = ""; }; - 633FED3C1D3CD5580014B822 /* numpad_star_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_star_over.png; sourceTree = ""; }; - 633FED3D1D3CD5580014B822 /* numpad_star_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_star_over@2x.png"; sourceTree = ""; }; - 633FED3E1D3CD5580014B822 /* numpad_star_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_star_over~ipad.png"; sourceTree = ""; }; - 633FED3F1D3CD5580014B822 /* numpad_star_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_star_over~ipad@2x.png"; sourceTree = ""; }; - 633FED401D3CD5580014B822 /* numpad_star~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_star~ipad.png"; sourceTree = ""; }; - 633FED411D3CD5580014B822 /* numpad_star~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_star~ipad@2x.png"; sourceTree = ""; }; - 633FED421D3CD5580014B822 /* options_add_call_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = options_add_call_default.png; sourceTree = ""; }; - 633FED431D3CD5580014B822 /* options_add_call_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "options_add_call_default@2x.png"; sourceTree = ""; }; - 633FED441D3CD5580014B822 /* options_add_call_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = options_add_call_disabled.png; sourceTree = ""; }; - 633FED451D3CD5580014B822 /* options_add_call_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "options_add_call_disabled@2x.png"; sourceTree = ""; }; - 633FED461D3CD5580014B822 /* options_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = options_default.png; sourceTree = ""; }; - 633FED471D3CD5580014B822 /* options_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "options_default@2x.png"; sourceTree = ""; }; - 633FED481D3CD5580014B822 /* options_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = options_disabled.png; sourceTree = ""; }; - 633FED491D3CD5580014B822 /* options_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "options_disabled@2x.png"; sourceTree = ""; }; - 633FED4A1D3CD5580014B822 /* options_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = options_selected.png; sourceTree = ""; }; - 633FED4B1D3CD5580014B822 /* options_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "options_selected@2x.png"; sourceTree = ""; }; - 633FED4C1D3CD5580014B822 /* options_start_conference_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = options_start_conference_default.png; sourceTree = ""; }; - 633FED4D1D3CD5580014B822 /* options_start_conference_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "options_start_conference_default@2x.png"; sourceTree = ""; }; - 633FED4E1D3CD5580014B822 /* options_start_conference_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = options_start_conference_disabled.png; sourceTree = ""; }; - 633FED4F1D3CD5580014B822 /* options_start_conference_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "options_start_conference_disabled@2x.png"; sourceTree = ""; }; - 633FED501D3CD5580014B822 /* options_transfer_call_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = options_transfer_call_default.png; sourceTree = ""; }; - 633FED511D3CD5580014B822 /* options_transfer_call_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "options_transfer_call_default@2x.png"; sourceTree = ""; }; - 633FED521D3CD5580014B822 /* options_transfer_call_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = options_transfer_call_disabled.png; sourceTree = ""; }; - 633FED531D3CD5580014B822 /* options_transfer_call_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "options_transfer_call_disabled@2x.png"; sourceTree = ""; }; - 633FED541D3CD5580014B822 /* pause_big_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pause_big_default.png; sourceTree = ""; }; - 633FED551D3CD5580014B822 /* pause_big_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "pause_big_default@2x.png"; sourceTree = ""; }; - 633FED561D3CD5580014B822 /* pause_big_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pause_big_disabled.png; sourceTree = ""; }; - 633FED571D3CD5580014B822 /* pause_big_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "pause_big_disabled@2x.png"; sourceTree = ""; }; - 633FED581D3CD5580014B822 /* pause_big_over_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pause_big_over_selected.png; sourceTree = ""; }; - 633FED591D3CD5580014B822 /* pause_big_over_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "pause_big_over_selected@2x.png"; sourceTree = ""; }; - 633FED5A1D3CD5580014B822 /* pause_small_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pause_small_default.png; sourceTree = ""; }; - 633FED5B1D3CD5590014B822 /* pause_small_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "pause_small_default@2x.png"; sourceTree = ""; }; - 633FED5C1D3CD5590014B822 /* pause_small_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pause_small_disabled.png; sourceTree = ""; }; - 633FED5D1D3CD5590014B822 /* pause_small_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "pause_small_disabled@2x.png"; sourceTree = ""; }; - 633FED5E1D3CD5590014B822 /* pause_small_over_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pause_small_over_selected.png; sourceTree = ""; }; - 633FED5F1D3CD5590014B822 /* pause_small_over_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "pause_small_over_selected@2x.png"; sourceTree = ""; }; - 633FED601D3CD5590014B822 /* presence_away.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = presence_away.png; sourceTree = ""; }; - 633FED611D3CD5590014B822 /* presence_away@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "presence_away@2x.png"; sourceTree = ""; }; - 633FED621D3CD5590014B822 /* presence_offline.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = presence_offline.png; sourceTree = ""; }; - 633FED631D3CD5590014B822 /* presence_offline@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "presence_offline@2x.png"; sourceTree = ""; }; - 633FED641D3CD5590014B822 /* presence_online.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = presence_online.png; sourceTree = ""; }; - 633FED651D3CD5590014B822 /* presence_online@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "presence_online@2x.png"; sourceTree = ""; }; - 633FED661D3CD5590014B822 /* presence_unregistered.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = presence_unregistered.png; sourceTree = ""; }; - 633FED671D3CD5590014B822 /* presence_unregistered@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "presence_unregistered@2x.png"; sourceTree = ""; }; - 633FED681D3CD5590014B822 /* route_bluetooth_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = route_bluetooth_default.png; sourceTree = ""; }; - 633FED691D3CD5590014B822 /* route_bluetooth_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "route_bluetooth_default@2x.png"; sourceTree = ""; }; - 633FED6A1D3CD5590014B822 /* route_bluetooth_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = route_bluetooth_disabled.png; sourceTree = ""; }; - 633FED6B1D3CD5590014B822 /* route_bluetooth_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "route_bluetooth_disabled@2x.png"; sourceTree = ""; }; - 633FED6C1D3CD5590014B822 /* route_bluetooth_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = route_bluetooth_selected.png; sourceTree = ""; }; - 633FED6D1D3CD5590014B822 /* route_bluetooth_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "route_bluetooth_selected@2x.png"; sourceTree = ""; }; - 633FED6E1D3CD5590014B822 /* route_earpiece_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = route_earpiece_default.png; sourceTree = ""; }; - 633FED6F1D3CD5590014B822 /* route_earpiece_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "route_earpiece_default@2x.png"; sourceTree = ""; }; - 633FED701D3CD5590014B822 /* route_earpiece_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = route_earpiece_disabled.png; sourceTree = ""; }; - 633FED711D3CD5590014B822 /* route_earpiece_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "route_earpiece_disabled@2x.png"; sourceTree = ""; }; - 633FED721D3CD5590014B822 /* route_earpiece_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = route_earpiece_selected.png; sourceTree = ""; }; - 633FED731D3CD5590014B822 /* route_earpiece_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "route_earpiece_selected@2x.png"; sourceTree = ""; }; - 633FED741D3CD5590014B822 /* route_speaker_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = route_speaker_default.png; sourceTree = ""; }; - 633FED751D3CD5590014B822 /* route_speaker_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "route_speaker_default@2x.png"; sourceTree = ""; }; - 633FED761D3CD5590014B822 /* route_speaker_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = route_speaker_disabled.png; sourceTree = ""; }; - 633FED771D3CD5590014B822 /* route_speaker_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "route_speaker_disabled@2x.png"; sourceTree = ""; }; - 633FED781D3CD5590014B822 /* route_speaker_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = route_speaker_selected.png; sourceTree = ""; }; - 633FED791D3CD5590014B822 /* route_speaker_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "route_speaker_selected@2x.png"; sourceTree = ""; }; - 633FED7A1D3CD5590014B822 /* routes_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = routes_default.png; sourceTree = ""; }; - 633FED7B1D3CD5590014B822 /* routes_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "routes_default@2x.png"; sourceTree = ""; }; - 633FED7C1D3CD5590014B822 /* routes_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = routes_disabled.png; sourceTree = ""; }; - 633FED7D1D3CD5590014B822 /* routes_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "routes_disabled@2x.png"; sourceTree = ""; }; - 633FED7E1D3CD5590014B822 /* routes_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = routes_selected.png; sourceTree = ""; }; - 633FED7F1D3CD5590014B822 /* routes_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "routes_selected@2x.png"; sourceTree = ""; }; - 633FED801D3CD5590014B822 /* security_ko.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = security_ko.png; sourceTree = ""; }; - 633FED811D3CD5590014B822 /* security_ko@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "security_ko@2x.png"; sourceTree = ""; }; - 633FED821D3CD5590014B822 /* security_ok.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = security_ok.png; sourceTree = ""; }; - 633FED831D3CD5590014B822 /* security_ok@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "security_ok@2x.png"; sourceTree = ""; }; - 633FED841D3CD5590014B822 /* security_pending.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = security_pending.png; sourceTree = ""; }; - 633FED851D3CD5590014B822 /* security_pending@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "security_pending@2x.png"; sourceTree = ""; }; - 633FED861D3CD5590014B822 /* select_all_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = select_all_default.png; sourceTree = ""; }; - 633FED871D3CD5590014B822 /* select_all_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "select_all_default@2x.png"; sourceTree = ""; }; - 633FED881D3CD5590014B822 /* select_all_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = select_all_disabled.png; sourceTree = ""; }; - 633FED891D3CD5590014B822 /* select_all_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "select_all_disabled@2x.png"; sourceTree = ""; }; - 633FED8A1D3CD5590014B822 /* speaker_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = speaker_default.png; sourceTree = ""; }; - 633FED8B1D3CD5590014B822 /* speaker_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "speaker_default@2x.png"; sourceTree = ""; }; - 633FED8C1D3CD5590014B822 /* speaker_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = speaker_disabled.png; sourceTree = ""; }; - 633FED8D1D3CD5590014B822 /* speaker_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "speaker_disabled@2x.png"; sourceTree = ""; }; - 633FED8E1D3CD5590014B822 /* speaker_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = speaker_selected.png; sourceTree = ""; }; - 633FED8F1D3CD5590014B822 /* speaker_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "speaker_selected@2x.png"; sourceTree = ""; }; - 633FED941D3CD5590014B822 /* valid_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = valid_default.png; sourceTree = ""; }; - 633FED951D3CD5590014B822 /* valid_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "valid_default@2x.png"; sourceTree = ""; }; - 633FED961D3CD5590014B822 /* valid_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = valid_disabled.png; sourceTree = ""; }; - 633FED971D3CD5590014B822 /* valid_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "valid_disabled@2x.png"; sourceTree = ""; }; - 633FED981D3CD5590014B822 /* voicemail.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voicemail.png; sourceTree = ""; }; - 633FED991D3CD5590014B822 /* voicemail@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "voicemail@2x.png"; sourceTree = ""; }; - 633FED9A1D3CD5590014B822 /* waiting_time.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = waiting_time.png; sourceTree = ""; }; - 633FED9B1D3CD5590014B822 /* waiting_time@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "waiting_time@2x.png"; sourceTree = ""; }; - 633FEF561D3CD5E00014B822 /* UIAvatarPresence.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIAvatarPresence.h; sourceTree = ""; }; - 633FEF571D3CD5E00014B822 /* UIAvatarPresence.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIAvatarPresence.m; sourceTree = ""; }; - 6341807A1BBC103100F71761 /* ChatConversationCreateTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChatConversationCreateTableView.h; sourceTree = ""; }; - 6341807B1BBC103100F71761 /* ChatConversationCreateTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChatConversationCreateTableView.m; sourceTree = ""; }; - 63423C081C4501D000D9A050 /* Contact.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Contact.h; sourceTree = ""; }; - 63423C091C4501D000D9A050 /* Contact.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Contact.m; sourceTree = ""; }; - 634610041B61330300548952 /* UILabel+Boldify.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UILabel+Boldify.h"; sourceTree = ""; }; - 634610051B61330300548952 /* UILabel+Boldify.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UILabel+Boldify.m"; sourceTree = ""; }; - 635173F71BA082A40095EB0A /* UIChatBubblePhotoCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIChatBubblePhotoCell.h; sourceTree = ""; }; - 635173F81BA082A40095EB0A /* UIChatBubblePhotoCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIChatBubblePhotoCell.m; sourceTree = ""; }; - 635775231B6673EC00C8B704 /* HistoryDetailsTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryDetailsTableView.h; sourceTree = ""; }; - 635775241B6673EC00C8B704 /* HistoryDetailsTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryDetailsTableView.m; sourceTree = ""; }; - 636316D21A1DEBCB0009B839 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/AboutView.xib; sourceTree = ""; }; - 636316D51A1DEC650009B839 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/SettingsView.xib; sourceTree = ""; }; - 636316DB1A1DEDD80009B839 /* ru */ = {isa = PBXFileReference; fileEncoding = 2483028224; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/HistoryDetailsView.strings; sourceTree = ""; }; - 636BC9951B5F921B00C754CE /* UIIconButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIIconButton.h; sourceTree = ""; }; - 636BC9961B5F921B00C754CE /* UIIconButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIIconButton.m; sourceTree = ""; }; - 63701DDD1BA32039006A9AE3 /* UIConfirmationDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIConfirmationDialog.h; sourceTree = ""; }; - 63701DDE1BA32039006A9AE3 /* UIConfirmationDialog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIConfirmationDialog.m; sourceTree = ""; }; - 6371579F1B283FE200C91677 /* FileTransferDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FileTransferDelegate.h; path = Utils/FileTransferDelegate.h; sourceTree = ""; }; - 637157A01B283FE200C91677 /* FileTransferDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FileTransferDelegate.m; path = Utils/FileTransferDelegate.m; sourceTree = ""; }; - 6377AC7E1BDE4068007F7625 /* UIBackToCallButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIBackToCallButton.h; sourceTree = ""; }; - 6377AC7F1BDE4069007F7625 /* UIBackToCallButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIBackToCallButton.m; sourceTree = ""; }; - 6381DA7B1C1AD5EA00DF3BBD /* UIBouncingView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIBouncingView.h; sourceTree = ""; }; - 6381DA7C1C1AD5EA00DF3BBD /* UIBouncingView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIBouncingView.m; sourceTree = ""; }; - 638F1A611C2021B2004B8E02 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = "Base.lproj/DialerView~ipad.xib"; sourceTree = ""; }; - 638F1A901C21993D004B8E02 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = "Base.lproj/UICompositeView~ipad.xib"; sourceTree = ""; }; - 639CEAFE1A1DF4D9004DE38F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/StatusBarView.xib; sourceTree = ""; }; - 639CEB011A1DF4E4004DE38F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIHistoryCell.xib; sourceTree = ""; }; - 639CEB041A1DF4EB004DE38F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UICompositeView.xib; sourceTree = ""; }; - 639CEB0A1A1DF4FA004DE38F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIChatCell.xib; sourceTree = ""; }; - 639E9C7E1C0DB13D00019A75 /* UICheckBoxTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UICheckBoxTableView.h; sourceTree = ""; }; - 639E9C7F1C0DB13D00019A75 /* UICheckBoxTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UICheckBoxTableView.m; sourceTree = ""; }; - 639E9C941C0DB7BE00019A75 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/FirstLoginView.xib; sourceTree = ""; }; - 639E9CA11C0DB7E500019A75 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIChatBubblePhotoCell.xib; sourceTree = ""; }; - 639E9CA41C0DB7EA00019A75 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIChatBubbleTextCell.xib; sourceTree = ""; }; - 639E9CA71C0DB7F200019A75 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIChatCreateCell.xib; sourceTree = ""; }; - 639E9CAA1C0DB7FB00019A75 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIConfirmationDialog.xib; sourceTree = ""; }; - 639E9CAD1C0DB80300019A75 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIContactDetailsCell.xib; sourceTree = ""; }; - 639E9CB11C0DB83000019A75 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/SideMenuView.xib; sourceTree = ""; }; - 639E9CB41C0DB88200019A75 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/PhoneMainView.xib; sourceTree = ""; }; - 63AADBC51B6A0FF200AA16FD /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/Localizable.strings; sourceTree = ""; }; - 63AADBC61B6A0FF200AA16FD /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; - 63AADBC71B6A0FF200AA16FD /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; - 63AADBCA1B6A0FF200AA16FD /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; - 63AADBCB1B6A0FF200AA16FD /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; - 63AADBD71B6A0FF200AA16FD /* linphonerc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = linphonerc; sourceTree = ""; }; - 63AADBD81B6A0FF200AA16FD /* linphonerc-factory */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "linphonerc-factory"; sourceTree = ""; }; - 63AADBDA1B6A0FF200AA16FD /* linphonerc~ipad */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "linphonerc~ipad"; sourceTree = ""; }; - 63AADBDD1B6A0FF200AA16FD /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; - 63AADBE11B6A0FF200AA16FD /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; - 63AADBE31B6A0FF200AA16FD /* assistant_external_sip.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = assistant_external_sip.rc; sourceTree = ""; }; - 63AADBE41B6A0FF200AA16FD /* assistant_linphone_create.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = assistant_linphone_create.rc; sourceTree = ""; }; - 63AADBE51B6A0FF200AA16FD /* assistant_linphone_existing.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = assistant_linphone_existing.rc; sourceTree = ""; }; - 63AADBE61B6A0FF200AA16FD /* assistant_remote.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = assistant_remote.rc; sourceTree = ""; }; - 63B81A031B57DA33009604A6 /* LICENSE.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE.txt; sourceTree = ""; }; - 63B81A041B57DA33009604A6 /* TPKeyboardAvoidingCollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPKeyboardAvoidingCollectionView.h; sourceTree = ""; }; - 63B81A051B57DA33009604A6 /* TPKeyboardAvoidingCollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TPKeyboardAvoidingCollectionView.m; sourceTree = ""; }; - 63B81A061B57DA33009604A6 /* TPKeyboardAvoidingScrollView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPKeyboardAvoidingScrollView.h; sourceTree = ""; }; - 63B81A071B57DA33009604A6 /* TPKeyboardAvoidingScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TPKeyboardAvoidingScrollView.m; sourceTree = ""; }; - 63B81A081B57DA33009604A6 /* TPKeyboardAvoidingTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPKeyboardAvoidingTableView.h; sourceTree = ""; }; - 63B81A091B57DA33009604A6 /* TPKeyboardAvoidingTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TPKeyboardAvoidingTableView.m; sourceTree = ""; }; - 63B81A0A1B57DA33009604A6 /* UIScrollView+TPKeyboardAvoidingAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIScrollView+TPKeyboardAvoidingAdditions.h"; sourceTree = ""; }; - 63B81A0B1B57DA33009604A6 /* UIScrollView+TPKeyboardAvoidingAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIScrollView+TPKeyboardAvoidingAdditions.m"; sourceTree = ""; }; - 63B8D68D1BCBE65600C12B09 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ChatConversationCreateView.xib; sourceTree = ""; }; - 63B8D69F1BCBF43100C12B09 /* UIChatCreateCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIChatCreateCell.h; sourceTree = ""; }; - 63B8D6A01BCBF43100C12B09 /* UIChatCreateCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIChatCreateCell.m; sourceTree = ""; }; - 63BE7A761D75BDF6000990EF /* ShopTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShopTableView.h; sourceTree = ""; }; - 63BE7A771D75BDF6000990EF /* ShopTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ShopTableView.m; sourceTree = ""; }; - 63C441C11BBC23ED0053DC5E /* UIAssistantTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIAssistantTextField.h; sourceTree = ""; }; - 63C441C21BBC23ED0053DC5E /* UIAssistantTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIAssistantTextField.m; sourceTree = ""; }; - 63CD4B4D1A5AAC8C00B84282 /* DTAlertView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DTAlertView.h; sourceTree = ""; }; - 63CD4B4E1A5AAC8C00B84282 /* DTAlertView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DTAlertView.m; sourceTree = ""; }; - 63CDC4531C3BDE370085F529 /* msg.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = msg.caf; sourceTree = ""; }; - 63CDC4541C3BDE370085F529 /* ringback.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = ringback.wav; sourceTree = ""; }; - 63CDC45C1C3BDE370085F529 /* shortring.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = shortring.caf; sourceTree = ""; }; - 63CE583F1C85EBF400304800 /* VideoToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VideoToolbox.framework; path = System/Library/Frameworks/VideoToolbox.framework; sourceTree = SDKROOT; }; - 63D11C521C3D501200E8FCEE /* Log.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Log.m; path = Utils/Log.m; sourceTree = ""; }; - 63D11C541C3D503A00E8FCEE /* Log.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Log.h; sourceTree = ""; }; - 63DFE0451C40161700DA5E87 /* notes_of_the_optimistic.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = notes_of_the_optimistic.caf; sourceTree = ""; }; - 63E27A311C4FECD000D332AE /* LaunchScreen.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LaunchScreen.xib; sourceTree = ""; }; - 63E27A511C50EB2700D332AE /* hold.mkv */ = {isa = PBXFileReference; lastKnownFileType = file; path = hold.mkv; sourceTree = ""; }; - 63E59A3D1ADE6ECB00646FB3 /* InAppProductsManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InAppProductsManager.h; sourceTree = ""; }; - 63E59A3E1ADE70D900646FB3 /* InAppProductsManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = InAppProductsManager.m; sourceTree = ""; }; - 63EC8D3A1D7438660066547B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/AssistantLinkView.xib; sourceTree = ""; }; - 63EEE4091BBA9B110087D3AF /* libxml2.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libxml2.tbd; path = usr/lib/libxml2.tbd; sourceTree = SDKROOT; }; - 63EEE40B1BBA9B1B0087D3AF /* libsqlite3.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libsqlite3.tbd; path = usr/lib/libsqlite3.tbd; sourceTree = SDKROOT; }; - 63EEE40D1BBA9B250087D3AF /* libiconv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libiconv.tbd; path = usr/lib/libiconv.tbd; sourceTree = SDKROOT; }; - 63F1DF421BCE618E00EDED90 /* UIAddressTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIAddressTextField.h; sourceTree = ""; }; - 63F1DF431BCE618E00EDED90 /* UIAddressTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIAddressTextField.m; sourceTree = ""; }; - 63FB30331A680E73008CA393 /* UIRoundedImageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIRoundedImageView.h; sourceTree = ""; }; - 63FB30341A680E73008CA393 /* UIRoundedImageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIRoundedImageView.m; sourceTree = ""; }; - 662553B327EDFB35007F67D8 /* MagicSearch.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MagicSearch.swift; sourceTree = ""; }; - 662B73322A73C331002135F3 /* CopyableLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CopyableLabel.swift; sourceTree = ""; }; - 662F13B52887E8A10084C28C /* UITestsUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UITestsUtils.swift; sourceTree = ""; }; - 6637AF8D288593AF00965733 /* CallUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CallUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 6637AF8F288593AF00965733 /* IncomingCallUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IncomingCallUITests.swift; sourceTree = ""; }; - 663B06592886B54F00E41889 /* OutgoingCallUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OutgoingCallUITests.swift; sourceTree = ""; }; - 663B065B2886DA8500E41889 /* ActiveCallViewUITestsMethods.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActiveCallViewUITestsMethods.swift; sourceTree = ""; }; - 663B065F2886E38100E41889 /* ActiveCallUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActiveCallUITests.swift; sourceTree = ""; }; - 663B06652886F0DB00E41889 /* ExtraMenuUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtraMenuUITests.swift; sourceTree = ""; }; - 663B06672886F16300E41889 /* ExtraMenuActiveCallActionsUITestsMethods.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtraMenuActiveCallActionsUITestsMethods.swift; sourceTree = ""; }; - 6643AD51287EF56200701703 /* UITestsCoreManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UITestsCoreManager.swift; sourceTree = ""; }; - 6643AD54287F25A500701703 /* IncomingOutgoingCallViewUITestsMethods.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IncomingOutgoingCallViewUITestsMethods.swift; sourceTree = ""; }; - 66495D0B28901429002780DE /* Default.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = Default.xctestplan; sourceTree = ""; }; - 66495D0C289014E2002780DE /* PauseMode_extended.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = PauseMode_extended.xctestplan; sourceTree = ""; }; - 664F8220289A66ED00D8C470 /* Debug.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = Debug.xctestplan; sourceTree = ""; }; - 66689D3F28A2443A0054E633 /* UITestsScreenshots.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UITestsScreenshots.swift; sourceTree = ""; }; - 666D795C283E67E300B07215 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; - 667A423B293A4BAD00C4306C /* post_quantum_secure@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "post_quantum_secure@3x.png"; sourceTree = ""; }; - 669B140727A1821F0012220A /* scroll_to_bottom_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = scroll_to_bottom_default.png; sourceTree = ""; }; - 669B140B27A29D140012220A /* FloatingScrollDownButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FloatingScrollDownButton.swift; sourceTree = ""; }; - 66E399F52857869200E73456 /* menu_notifications_off.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_notifications_off.png; sourceTree = ""; }; - 66E399F62857869200E73456 /* menu_notifications_on.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_notifications_on.png; sourceTree = ""; }; - 66EADAF62A939485002DDCEE /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Localizable.strings; sourceTree = ""; }; - 66EADAF72A939485002DDCEE /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; - 66EADAF82A939486002DDCEE /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = ""; }; - 66EADAF92A939486002DDCEE /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt_BR; path = pt_BR.lproj/Localizable.strings; sourceTree = ""; }; - 66EADAFA2A939486002DDCEE /* zh_TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh_TW; path = zh_TW.lproj/Localizable.strings; sourceTree = ""; }; - 66EADAFB2A939486002DDCEE /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; - 66EADAFC2A939486002DDCEE /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/Localizable.strings; sourceTree = ""; }; - 66EADAFD2A939486002DDCEE /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; - 66EADAFE2A939487002DDCEE /* ka */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ka; path = ka.lproj/Localizable.strings; sourceTree = ""; }; - 66EADAFF2A939487002DDCEE /* es_AR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es_AR; path = es_AR.lproj/Localizable.strings; sourceTree = ""; }; - 66EADB002A939487002DDCEE /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/Localizable.strings; sourceTree = ""; }; - 66EADB012A939487002DDCEE /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Localizable.strings; sourceTree = ""; }; - 66EADB022A939487002DDCEE /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh_CN; path = zh_CN.lproj/Localizable.strings; sourceTree = ""; }; - 70E542F213E147E3002BA2C0 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; - 70E542F413E147EB002BA2C0 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; - 8C1A1F7C1FA331D40064BE00 /* libsoci_sqlite3.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsoci_sqlite3.a; path = "liblinphone-sdk/apple-darwin/lib/libsoci_sqlite3.a"; sourceTree = ""; }; - 8C23BCB71D82AAC3005F19BB /* linphone.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = linphone.entitlements; sourceTree = ""; }; - 8C2595DE1DEDCC8E007A6424 /* CallKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CallKit.framework; path = System/Library/Frameworks/CallKit.framework; sourceTree = SDKROOT; }; - 8C2A81931F87B7FF0012A66B /* chat_group_avatar@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_group_avatar@2x.png"; sourceTree = ""; }; - 8C2A81941F87B8000012A66B /* chat_group_avatar.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_group_avatar.png; sourceTree = ""; }; - 8C300D981E40E0CC00728EF3 /* lime_ko.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = lime_ko.png; sourceTree = ""; }; - 8C300D991E40E0CC00728EF3 /* lime_ko@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "lime_ko@2x.png"; sourceTree = ""; }; - 8C3EAA191EB8D9C300B732B6 /* linphonetester.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = linphonetester.framework; path = "liblinphone-sdk/apple-darwin/Frameworks/linphonetester.framework"; sourceTree = ""; }; - 8C5BCEC61EB3859200A9AAEF /* bctoolbox-tester.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = "bctoolbox-tester.framework"; path = "liblinphone-sdk/apple-darwin/Frameworks/bctoolbox-tester.framework"; sourceTree = ""; }; - 8C5D1B991D9BC48100DC6539 /* UIShopTableCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIShopTableCell.h; sourceTree = ""; }; - 8C5D1B9B1D9BC48100DC6539 /* UIShopTableCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UIShopTableCell.xib; sourceTree = ""; }; - 8C73477B1D9BA3A00022EE8C /* UserNotifications.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UserNotifications.framework; path = System/Library/Frameworks/UserNotifications.framework; sourceTree = SDKROOT; }; - 8C92ABE71FA773190006FB5D /* UIChatNotifiedEventCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = UIChatNotifiedEventCell.xib; sourceTree = ""; }; - 8C92ABF11FA773C20006FB5D /* UIChatNotifiedEventCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIChatNotifiedEventCell.h; sourceTree = ""; }; - 8C92ABF21FA773E50006FB5D /* UIChatNotifiedEventCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UIChatNotifiedEventCell.m; sourceTree = ""; }; - 8C9C5E0B1F83B2EF006987FA /* ChatConversationCreateCollectionViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ChatConversationCreateCollectionViewController.h; sourceTree = ""; }; - 8C9C5E0C1F83B2EF006987FA /* ChatConversationCreateCollectionViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ChatConversationCreateCollectionViewController.m; sourceTree = ""; }; - 8C9C5E0E1F83BD97006987FA /* UIChatCreateCollectionViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIChatCreateCollectionViewCell.h; sourceTree = ""; }; - 8C9C5E0F1F83BD97006987FA /* UIChatCreateCollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UIChatCreateCollectionViewCell.m; sourceTree = ""; }; - 8CA2004B1D8158440095F859 /* PushKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PushKit.framework; path = System/Library/Frameworks/PushKit.framework; sourceTree = SDKROOT; }; - 8CA70ACF1F9E0ABA00A3D2EB /* ChatConversationInfoView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ChatConversationInfoView.h; sourceTree = ""; }; - 8CA70AD01F9E0AE100A3D2EB /* ChatConversationInfoView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ChatConversationInfoView.m; sourceTree = ""; }; - 8CA70AD21F9E285B00A3D2EB /* chat_group_add@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_group_add@2x.png"; sourceTree = ""; }; - 8CA70AD31F9E285B00A3D2EB /* chat_group_add.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_group_add.png; sourceTree = ""; }; - 8CA70AE11F9E39E400A3D2EB /* UIChatConversationInfoTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIChatConversationInfoTableViewCell.h; sourceTree = ""; }; - 8CA70AE21F9E39E400A3D2EB /* UIChatConversationInfoTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UIChatConversationInfoTableViewCell.m; sourceTree = ""; }; - 8CB2B8F61F86229B0015CEE2 /* chat_secure.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_secure.png; sourceTree = ""; }; - 8CB2B8F71F86229C0015CEE2 /* next_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = next_disabled.png; sourceTree = ""; }; - 8CB2B8F81F86229D0015CEE2 /* next_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "next_disabled@2x.png"; sourceTree = ""; }; - 8CBD7BA120B6B7FD00E5DCC0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ChatConversationInfoView.xib; sourceTree = ""; }; - 8CBD7BA420B6B80D00E5DCC0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ChatConversationImdnView.xib; sourceTree = ""; }; - 8CBD7BA720B6B82400E5DCC0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIChatConversationInfoTableViewCell.xib; sourceTree = ""; }; - 8CBD7BAA20B6B82A00E5DCC0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIChatConversationImdnTableViewCell.xib; sourceTree = ""; }; - 8CBD7BB120B6B86900E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/AssistantView.strings; sourceTree = ""; }; - 8CBD7BB220B6B86A00E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/AssistantViewScreens.strings; sourceTree = ""; }; - 8CBD7BB720B6B86E00E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/ChatConversationInfoView.strings; sourceTree = ""; }; - 8CBD7BB820B6B86F00E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/ChatConversationImdnView.strings; sourceTree = ""; }; - 8CBD7BB920B6B87000E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/ChatConversationCreateView.strings; sourceTree = ""; }; - 8CBD7BBA20B6B87000E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/ChatConversationView.strings; sourceTree = ""; }; - 8CBD7BBB20B6B87100E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/ChatsListView.strings; sourceTree = ""; }; - 8CBD7BBC20B6B87200E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/ContactDetailsView.strings; sourceTree = ""; }; - 8CBD7BBD20B6B87300E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/ContactsListView.strings; sourceTree = ""; }; - 8CBD7BBE20B6B87400E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/CountryListView.strings; sourceTree = ""; }; - 8CBD7BBF20B6B87400E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/DialerView.strings; sourceTree = ""; }; - 8CBD7BC020B6B87500E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = "fr.lproj/DialerView~ipad.strings"; sourceTree = ""; }; - 8CBD7BC120B6B87600E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/FirstLoginView.strings; sourceTree = ""; }; - 8CBD7BC220B6B87600E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/HistoryDetailsView.strings; sourceTree = ""; }; - 8CBD7BC320B6B87700E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/HistoryListView.strings; sourceTree = ""; }; - 8CBD7BC420B6B87800E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/ImageView.strings; sourceTree = ""; }; - 8CBD7BC720B6B87A00E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UIChatBubblePhotoCell.strings; sourceTree = ""; }; - 8CBD7BC820B6B87B00E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UIChatBubbleTextCell.strings; sourceTree = ""; }; - 8CBD7BC920B6B87B00E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UIChatCell.strings; sourceTree = ""; }; - 8CBD7BCA20B6B87D00E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UIChatConversationInfoTableViewCell.strings; sourceTree = ""; }; - 8CBD7BCB20B6B87E00E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UIChatConversationImdnTableViewCell.strings; sourceTree = ""; }; - 8CBD7BCD20B6B88000E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UIChatCreateCell.strings; sourceTree = ""; }; - 8CBD7BCE20B6B88100E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UICompositeView.strings; sourceTree = ""; }; - 8CBD7BCF20B6B88200E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = "fr.lproj/UICompositeView~ipad.strings"; sourceTree = ""; }; - 8CBD7BD020B6B88400E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UIConfirmationDialog.strings; sourceTree = ""; }; - 8CBD7BD120B6B88500E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UIContactCell.strings; sourceTree = ""; }; - 8CBD7BD220B6B88700E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UIContactDetailsCell.strings; sourceTree = ""; }; - 8CBD7BD320B6B88900E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UIHistoryCell.strings; sourceTree = ""; }; - 8CBD7BD420B6B88A00E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/PhoneMainView.strings; sourceTree = ""; }; - 8CBD7BD520B6B88C00E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/SettingsView.strings; sourceTree = ""; }; - 8CBD7BD720B6B88E00E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/SideMenuView.strings; sourceTree = ""; }; - 8CBD7BD820B6B88F00E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = "fr.lproj/SideMenuView~ipad.strings"; sourceTree = ""; }; - 8CBD7BD920B6B89000E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/StatusBarView.strings; sourceTree = ""; }; - 8CBD7BDA20B6B89000E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/TabBarView.strings; sourceTree = ""; }; - 8CD0B3BE1FA22CBA008FEB16 /* libsoci_core.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsoci_core.a; path = "liblinphone-sdk/apple-darwin/lib/libsoci_core.a"; sourceTree = ""; }; - 8CD99A1B20908C27008A7CDA /* callkit_logo@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "callkit_logo@2x.png"; sourceTree = ""; }; - 8CD99A352090A823008A7CDA /* splashscreen@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "splashscreen@2x.png"; sourceTree = ""; }; - 8CD99A362090A824008A7CDA /* splashscreen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = splashscreen.png; sourceTree = ""; }; - 8CD99A3B2090B9FA008A7CDA /* ChatConversationImdnView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ChatConversationImdnView.m; sourceTree = ""; }; - 8CD99A3D2090BA24008A7CDA /* ChatConversationImdnView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ChatConversationImdnView.h; sourceTree = ""; }; - 8CD99A402090CE25008A7CDA /* UIChatConversationImdnTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIChatConversationImdnTableViewCell.h; sourceTree = ""; }; - 8CD99A412090CE6F008A7CDA /* UIChatConversationImdnTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UIChatConversationImdnTableViewCell.m; sourceTree = ""; }; - 8CDC618C1F84D89B0087CF7F /* check_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = check_selected.png; sourceTree = ""; }; - 8CDC61961F84D9270087CF7F /* check_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "check_selected@2x.png"; sourceTree = ""; }; - 8CE24F491F8234A20077AC0A /* next_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = next_default.png; sourceTree = ""; }; - 8CE24F4A1F8234A30077AC0A /* next_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "next_default@2x.png"; sourceTree = ""; }; - 8CE24F551F8268840077AC0A /* conference_delete.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = conference_delete.png; sourceTree = ""; }; - 8CE24F561F8268840077AC0A /* conference_delete@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "conference_delete@2x.png"; sourceTree = ""; }; - 8CF25D8B1F9F336000BEA0C1 /* check_unselected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "check_unselected@2x.png"; sourceTree = ""; }; - 8CF25D941F9F336100BEA0C1 /* check_unselected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = check_unselected.png; sourceTree = ""; }; - 8CF25D9B1F9F76BC00BEA0C1 /* chat_group_informations.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_group_informations.png; sourceTree = ""; }; - 8CF25D9C1F9F76BD00BEA0C1 /* chat_group_informations@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_group_informations@2x.png"; sourceTree = ""; }; - C61B1BF12667D075001A4E4A /* menu_security_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_security_default.png; sourceTree = ""; }; - C61B1BF32667D202001A4E4A /* more_menu_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = more_menu_default.png; sourceTree = ""; }; - C61B1BF62667EC6B001A4E4A /* ephemeral_messages_color_A.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ephemeral_messages_color_A.png; sourceTree = ""; }; - C622E3E926A8128F004F5434 /* vr_stop.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = vr_stop.png; sourceTree = ""; }; - C622E3EA26A8128F004F5434 /* vr_wave.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = vr_wave.png; sourceTree = ""; }; - C622E3EB26A8128F004F5434 /* vr_on.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = vr_on.png; sourceTree = ""; }; - C622E3EC26A8128F004F5434 /* vr_off.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = vr_off.png; sourceTree = ""; }; - C622E3ED26A8128F004F5434 /* vr_pause.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = vr_pause.png; sourceTree = ""; }; - C622E3EE26A81290004F5434 /* vr_play.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = vr_play.png; sourceTree = ""; }; - C63D2F1429029536008F0F66 /* FileUtil.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FileUtil.swift; sourceTree = ""; }; - C63F7197285A24B10066163B /* ConfigManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConfigManager.swift; sourceTree = ""; }; - C63F7198285A24B10066163B /* CallManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CallManager.swift; sourceTree = ""; }; - C63F719B285A24B10066163B /* ConferenceWaitingRoomViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConferenceWaitingRoomViewModel.swift; sourceTree = ""; }; - C63F719C285A24B10066163B /* ConferenceSchedulingViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConferenceSchedulingViewModel.swift; sourceTree = ""; }; - C63F719D285A24B10066163B /* ScheduledConferencesViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScheduledConferencesViewModel.swift; sourceTree = ""; }; - C63F719F285A24B10066163B /* ScheduledConferenceData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScheduledConferenceData.swift; sourceTree = ""; }; - C63F71A0285A24B10066163B /* TimeZoneData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TimeZoneData.swift; sourceTree = ""; }; - C63F71A1285A24B10066163B /* Duration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Duration.swift; sourceTree = ""; }; - C63F71A3285A24B10066163B /* ConferenceWaitingRoomView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConferenceWaitingRoomView.swift; sourceTree = ""; }; - C63F71A4285A24B10066163B /* ScheduledConferencesView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScheduledConferencesView.swift; sourceTree = ""; }; - C63F71A5285A24B10066163B /* ICSBubbleView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ICSBubbleView.swift; sourceTree = ""; }; - C63F71A6285A24B10066163B /* ScheduledConferencesCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScheduledConferencesCell.swift; sourceTree = ""; }; - C63F71A7285A24B10066163B /* ConferenceHistoryDetailsView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConferenceHistoryDetailsView.swift; sourceTree = ""; }; - C63F71A8285A24B10066163B /* ConferenceSchedulingView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConferenceSchedulingView.swift; sourceTree = ""; }; - C63F71A9285A24B10066163B /* ConferenceSchedulingSummaryView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConferenceSchedulingSummaryView.swift; sourceTree = ""; }; - C63F71AC285A24B10066163B /* MediatorLiveData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MediatorLiveData.swift; sourceTree = ""; }; - C63F71AD285A24B10066163B /* MutableLiveData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MutableLiveData.swift; sourceTree = ""; }; - C63F71AE285A24B10066163B /* Pair.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Pair.swift; sourceTree = ""; }; - C63F71AF285A24B10066163B /* BackNextNavigationView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BackNextNavigationView.swift; sourceTree = ""; }; - C63F71B0285A24B10066163B /* TimestampUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TimestampUtils.swift; sourceTree = ""; }; - C63F71B1285A24B10066163B /* AppManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppManager.swift; sourceTree = ""; }; - C63F71B4285A24B10066163B /* UIApplication+Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIApplication+Extension.swift"; sourceTree = ""; }; - C63F71B6285A24B10066163B /* UIVIewControllerExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIVIewControllerExtensions.swift; sourceTree = ""; }; - C63F71B7285A24B10066163B /* UIImageExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIImageExtensions.swift; sourceTree = ""; }; - C63F71B8285A24B10066163B /* UIVIewExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIVIewExtensions.swift; sourceTree = ""; }; - C63F71B9285A24B10066163B /* UILabelExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UILabelExtensions.swift; sourceTree = ""; }; - C63F71BA285A24B10066163B /* OptionalExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OptionalExtensions.swift; sourceTree = ""; }; - C63F71BB285A24B10066163B /* UIButtonExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIButtonExtensions.swift; sourceTree = ""; }; - C63F71BC285A24B10066163B /* UIImageViewExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIImageViewExtensions.swift; sourceTree = ""; }; - C63F71BD285A24B10066163B /* UIDeviceExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIDeviceExtensions.swift; sourceTree = ""; }; - C63F71BE285A24B10066163B /* UIColorExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIColorExtensions.swift; sourceTree = ""; }; - C63F71C0285A24B10066163B /* CoreExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CoreExtensions.swift; sourceTree = ""; }; - C63F71C1285A24B10066163B /* IceState.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IceState.swift; sourceTree = ""; }; - C63F71C2285A24B10066163B /* AddressExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AddressExtensions.swift; sourceTree = ""; }; - C63F71C3285A24B10066163B /* ParticipantExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ParticipantExtensions.swift; sourceTree = ""; }; - C63F71C4285A24B10066163B /* PayloadType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PayloadType.swift; sourceTree = ""; }; - C63F71C5285A24B10066163B /* CallExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CallExtensions.swift; sourceTree = ""; }; - C63F71C6285A24B10066163B /* ConferenceExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConferenceExtensions.swift; sourceTree = ""; }; - C63F71C9285A24B10066163B /* ConferenceViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConferenceViewModel.swift; sourceTree = ""; }; - C63F71CA285A24B10066163B /* CallsViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CallsViewModel.swift; sourceTree = ""; }; - C63F71CB285A24B10066163B /* ControlsViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ControlsViewModel.swift; sourceTree = ""; }; - C63F71CC285A24B10066163B /* CallStatisticsData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CallStatisticsData.swift; sourceTree = ""; }; - C63F71CD285A24B10066163B /* ConferenceParticipantData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConferenceParticipantData.swift; sourceTree = ""; }; - C63F71CE285A24B10066163B /* ConferenceParticipantDeviceData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConferenceParticipantDeviceData.swift; sourceTree = ""; }; - C63F71CF285A24B10066163B /* CallData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CallData.swift; sourceTree = ""; }; - C63F71D0285A24B10066163B /* AudioRouteUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AudioRouteUtils.swift; sourceTree = ""; }; - C63F71D2285A24B10066163B /* LightDarkColor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LightDarkColor.swift; sourceTree = ""; }; - C63F71D3285A24B10066163B /* TextStyle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextStyle.swift; sourceTree = ""; }; - C63F71D4285A24B10066163B /* VoipTexts.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipTexts.swift; sourceTree = ""; }; - C63F71D5285A24B10066163B /* ButtonTheme.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ButtonTheme.swift; sourceTree = ""; }; - C63F71D6285A24B10066163B /* VoipTheme.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipTheme.swift; sourceTree = ""; }; - C63F71DA285A24B10066163B /* ParticipantsListView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ParticipantsListView.swift; sourceTree = ""; }; - C63F71DB285A24B10066163B /* VoipParticipantCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipParticipantCell.swift; sourceTree = ""; }; - C63F71DC285A24B10066163B /* AudioRoutesView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AudioRoutesView.swift; sourceTree = ""; }; - C63F71DE285A24B10066163B /* VoipActiveSpeakerParticipantCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipActiveSpeakerParticipantCell.swift; sourceTree = ""; }; - C63F71DF285A24B10066163B /* VoipConferenceAudioOnlyView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipConferenceAudioOnlyView.swift; sourceTree = ""; }; - C63F71E0285A24B10066163B /* VoipGridParticipantCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipGridParticipantCell.swift; sourceTree = ""; }; - C63F71E1285A24B10066163B /* VoipAudioOnlyParticipantCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipAudioOnlyParticipantCell.swift; sourceTree = ""; }; - C63F71E2285A24B10066163B /* MicMuted.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MicMuted.swift; sourceTree = ""; }; - C63F71E3285A24B10066163B /* VoipConferenceGridView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipConferenceGridView.swift; sourceTree = ""; }; - C63F71E4285A24B10066163B /* VoipConferenceActiveSpeakerView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipConferenceActiveSpeakerView.swift; sourceTree = ""; }; - C63F71E5285A24B10066163B /* VoipConferenceDisplayModeSelectionView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipConferenceDisplayModeSelectionView.swift; sourceTree = ""; }; - C63F71E7285A24B10066163B /* ActiveCallView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ActiveCallView.swift; sourceTree = ""; }; - C63F71E8285A24B10066163B /* AbstractIncomingOutgoingCallView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AbstractIncomingOutgoingCallView.swift; sourceTree = ""; }; - C63F71E9285A24B10066163B /* PausedCallOrConferenceView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PausedCallOrConferenceView.swift; sourceTree = ""; }; - C63F71EA285A24B10066163B /* LocalVideoView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LocalVideoView.swift; sourceTree = ""; }; - C63F71EB285A24B10066163B /* CallStatsView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CallStatsView.swift; sourceTree = ""; }; - C63F71EC285A24B10066163B /* NumpadView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NumpadView.swift; sourceTree = ""; }; - C63F71ED285A24B10066163B /* VoipExtraButtonsView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipExtraButtonsView.swift; sourceTree = ""; }; - C63F71EF285A24B10066163B /* VoipCallContextMenu.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipCallContextMenu.swift; sourceTree = ""; }; - C63F71F0285A24B10066163B /* CallsListView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CallsListView.swift; sourceTree = ""; }; - C63F71F1285A24B10066163B /* VoipCallCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipCallCell.swift; sourceTree = ""; }; - C63F71F2285A24B10066163B /* DismissableView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DismissableView.swift; sourceTree = ""; }; - C63F71F3285A24B10066163B /* ConferenceLayoutPickerView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConferenceLayoutPickerView.swift; sourceTree = ""; }; - C63F71F4285A24B10066163B /* ControlsView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ControlsView.swift; sourceTree = ""; }; - C63F71F5285A24B10066163B /* RemotelyRecording.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RemotelyRecording.swift; sourceTree = ""; }; - C63F71F7285A24B10066163B /* OutgoingCallView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OutgoingCallView.swift; sourceTree = ""; }; - C63F71F9285A24B10066163B /* IncomingCallView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IncomingCallView.swift; sourceTree = ""; }; - C63F71FA285A24B10066163B /* SharedLayoutConstants.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SharedLayoutConstants.swift; sourceTree = ""; }; - C63F71FB285A24B10066163B /* VoipDialog.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipDialog.swift; sourceTree = ""; }; - C63F71FD285A24B10066163B /* StyledValuePicker.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StyledValuePicker.swift; sourceTree = ""; }; - C63F71FE285A24B10066163B /* StyledSwitch.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StyledSwitch.swift; sourceTree = ""; }; - C63F71FF285A24B10066163B /* CallControlButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CallControlButton.swift; sourceTree = ""; }; - C63F7200285A24B10066163B /* RotatingSpinner.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RotatingSpinner.swift; sourceTree = ""; }; - C63F7201285A24B10066163B /* FormButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormButton.swift; sourceTree = ""; }; - C63F7202285A24B10066163B /* BouncingCounter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BouncingCounter.swift; sourceTree = ""; }; - C63F7203285A24B10066163B /* VoipExtraButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipExtraButton.swift; sourceTree = ""; }; - C63F7204285A24B10066163B /* UICallTimer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UICallTimer.swift; sourceTree = ""; }; - C63F7205285A24B10066163B /* StyledCheckBox.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StyledCheckBox.swift; sourceTree = ""; }; - C63F7206285A24B10066163B /* Avatar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Avatar.swift; sourceTree = ""; }; - C63F7207285A24B10066163B /* StyledLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StyledLabel.swift; sourceTree = ""; }; - C63F7208285A24B10066163B /* StyledDatePicker.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StyledDatePicker.swift; sourceTree = ""; }; - C63F7209285A24B10066163B /* ButtonWithStateBackgrounds.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ButtonWithStateBackgrounds.swift; sourceTree = ""; }; - C63F720A285A24B10066163B /* StyledTextView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StyledTextView.swift; sourceTree = ""; }; - C63F720B285A24B10066163B /* ProviderDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProviderDelegate.swift; sourceTree = ""; }; - C63F720C285A24B10066163B /* VFSUtil.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VFSUtil.swift; sourceTree = ""; }; - C63F7271285A2F140066163B /* voip_dropdown.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_dropdown.png; sourceTree = ""; }; - C63F7272285A2F140066163B /* voip_spinner.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_spinner.png; sourceTree = ""; }; - C63F7273285A2F140066163B /* voip_numpad_7.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_numpad_7.png; sourceTree = ""; }; - C63F7274285A2F150066163B /* voip_radio_off.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_radio_off.png; sourceTree = ""; }; - C63F7275285A2F150066163B /* voip_export.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_export.png; sourceTree = ""; }; - C63F7276285A2F150066163B /* voip_call_numpad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call_numpad.png; sourceTree = ""; }; - C63F7277285A2F150066163B /* voip_chat_rooms_list.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_chat_rooms_list.png; sourceTree = ""; }; - C63F7278285A2F150066163B /* voip_numpad_4.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_numpad_4.png; sourceTree = ""; }; - C63F7279285A2F150066163B /* voip_call_header_incoming.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call_header_incoming.png; sourceTree = ""; }; - C63F727A285A2F150066163B /* voip_calls_list.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_calls_list.png; sourceTree = ""; }; - C63F727B285A2F160066163B /* voip_call_header_paused.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call_header_paused.png; sourceTree = ""; }; - C63F727C285A2F160066163B /* voip_numpad_0.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_numpad_0.png; sourceTree = ""; }; - C63F727D285A2F160066163B /* voip_numpad_3.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_numpad_3.png; sourceTree = ""; }; - C63F727E285A2F160066163B /* voip_numpad_9.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_numpad_9.png; sourceTree = ""; }; - C63F727F285A2F160066163B /* voip_speaker_on.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_speaker_on.png; sourceTree = ""; }; - C63F7280285A2F160066163B /* voip_audio_routes.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_audio_routes.png; sourceTree = ""; }; - C63F7281285A2F160066163B /* voip_call_record.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call_record.png; sourceTree = ""; }; - C63F7282285A2F170066163B /* voip_call_forward.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call_forward.png; sourceTree = ""; }; - C63F7283285A2F170066163B /* voip_change_camera.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_change_camera.png; sourceTree = ""; }; - C63F7284285A2F170066163B /* voip_checkbox_checked.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_checkbox_checked.png; sourceTree = ""; }; - C63F7285285A2F170066163B /* voip_info.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_info.png; sourceTree = ""; }; - C63F7286285A2F170066163B /* voip_speaker_off.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_speaker_off.png; sourceTree = ""; }; - C63F7287285A2F170066163B /* voip_call_more.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call_more.png; sourceTree = ""; }; - C63F7288285A2F170066163B /* voip_call_stats.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call_stats.png; sourceTree = ""; }; - C63F7289285A2F180066163B /* voip_numpad_8.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_numpad_8.png; sourceTree = ""; }; - C63F728A285A2F180066163B /* voip_call_add.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call_add.png; sourceTree = ""; }; - C63F728B285A2F180066163B /* voip_copy.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_copy.png; sourceTree = ""; }; - C63F728C285A2F180066163B /* voip_conference_paused_big.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_conference_paused_big.png; sourceTree = ""; }; - C63F728D285A2F180066163B /* voip_numpad_star.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_numpad_star.png; sourceTree = ""; }; - C63F728E285A2F180066163B /* voip_numpad_hash.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_numpad_hash.png; sourceTree = ""; }; - C63F728F285A2F180066163B /* voip_multiple_contacts_avatar.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_multiple_contacts_avatar.png; sourceTree = ""; }; - C63F7290285A2F180066163B /* voip_remote_recording.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_remote_recording.png; sourceTree = ""; }; - C63F7291285A2F190066163B /* voip_hangup.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_hangup.png; sourceTree = ""; }; - C63F7292285A2F190066163B /* voip_pause.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_pause.png; sourceTree = ""; }; - C63F7293285A2F190066163B /* voip_numpad_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_numpad_1.png; sourceTree = ""; }; - C63F7294285A2F190066163B /* voip_mandatory.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_mandatory.png; sourceTree = ""; }; - C63F7295285A2F190066163B /* voip_earpiece.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_earpiece.png; sourceTree = ""; }; - C63F7296285A2F190066163B /* voip_numpad_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_numpad_2.png; sourceTree = ""; }; - C63F7297285A2F190066163B /* voip_conference_audio_only.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_conference_audio_only.png; sourceTree = ""; }; - C63F7298285A2F1A0066163B /* voip_menu_more.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_menu_more.png; sourceTree = ""; }; - C63F7299285A2F1A0066163B /* voip_conference_new.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_conference_new.png; sourceTree = ""; }; - C63F729A285A2F1A0066163B /* voip_call_header_active.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call_header_active.png; sourceTree = ""; }; - C63F729B285A2F1A0066163B /* voip_bluetooth.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_bluetooth.png; sourceTree = ""; }; - C63F729C285A2F1A0066163B /* voip_micro_off.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_micro_off.png; sourceTree = ""; }; - C63F729D285A2F1A0066163B /* voip_camera_on.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_camera_on.png; sourceTree = ""; }; - C63F729E285A2F1A0066163B /* voip_conference_play_big.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_conference_play_big.png; sourceTree = ""; }; - C63F729F285A2F1B0066163B /* voip_call.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call.png; sourceTree = ""; }; - C63F72A0285A2F1B0066163B /* voip_call_list_menu.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call_list_menu.png; sourceTree = ""; }; - C63F72A1285A2F1B0066163B /* voip_conference_active_speaker.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_conference_active_speaker.png; sourceTree = ""; }; - C63F72A2285A2F1B0066163B /* voip_numpad_6.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_numpad_6.png; sourceTree = ""; }; - C63F72A3285A2F1B0066163B /* voip_call_participants.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call_participants.png; sourceTree = ""; }; - C63F72A4285A2F1B0066163B /* conference_schedule_calendar_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = conference_schedule_calendar_default.png; sourceTree = ""; }; - C63F72A5285A2F1B0066163B /* voip_call_chat.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call_chat.png; sourceTree = ""; }; - C63F72A6285A2F1B0066163B /* voip_checkbox_unchecked.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_checkbox_unchecked.png; sourceTree = ""; }; - C63F72A7285A2F1C0066163B /* voip_edit.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_edit.png; sourceTree = ""; }; - C63F72A8285A2F1C0066163B /* conference_schedule_time_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = conference_schedule_time_default.png; sourceTree = ""; }; - C63F72A9285A2F1C0066163B /* voip_merge_calls.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_merge_calls.png; sourceTree = ""; }; - C63F72AA285A2F1C0066163B /* voip_camera_off.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_camera_off.png; sourceTree = ""; }; - C63F72AB285A2F1C0066163B /* voip_micro_on.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_micro_on.png; sourceTree = ""; }; - C63F72AC285A2F1C0066163B /* voip_radio_on.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_radio_on.png; sourceTree = ""; }; - C63F72AD285A2F1C0066163B /* conference_schedule_participants_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = conference_schedule_participants_default.png; sourceTree = ""; }; - C63F72AE285A2F1D0066163B /* voip_conference_mosaic.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_conference_mosaic.png; sourceTree = ""; }; - C63F72AF285A2F1D0066163B /* voip_numpad_5.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_numpad_5.png; sourceTree = ""; }; - C63F72B0285A2F1D0066163B /* voip_conference_new_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_conference_new_selected.png; sourceTree = ""; }; - C63F72B1285A2F1D0066163B /* voip_single_contact_avatar.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_single_contact_avatar.png; sourceTree = ""; }; - C63F72B2285A2F1D0066163B /* voip_delete.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_delete.png; sourceTree = ""; }; - C63F72B3285A2F1D0066163B /* voip_cancel.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_cancel.png; sourceTree = ""; }; - C63F72B4285A2F1D0066163B /* voip_call_header_outgoing.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call_header_outgoing.png; sourceTree = ""; }; - C63F72FA285A31DA0066163B /* Roboto-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Roboto-Regular.ttf"; sourceTree = ""; }; - C63F72FB285A31DA0066163B /* Roboto-Italic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Roboto-Italic.ttf"; sourceTree = ""; }; - C63F72FC285A31DA0066163B /* Roboto-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Roboto-Bold.ttf"; sourceTree = ""; }; - C64A854C2667B66900252AD2 /* EphemeralSettingsView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EphemeralSettingsView.h; sourceTree = ""; }; - C64A854D2667B67200252AD2 /* EphemeralSettingsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EphemeralSettingsView.m; sourceTree = ""; }; - C64A854F2667B67A00252AD2 /* EphemeralSettingsView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = EphemeralSettingsView.xib; sourceTree = ""; }; - C64A85512667B74100252AD2 /* ephemeral_messages_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ephemeral_messages_default.png; sourceTree = ""; }; - C654881E292D32FA00BF646B /* SingleCallView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SingleCallView.swift; sourceTree = ""; }; - C654881F292D32FA00BF646B /* ConferenceCallView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConferenceCallView.swift; sourceTree = ""; }; - C6548822292D369500BF646B /* AbstractCallView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AbstractCallView.swift; sourceTree = ""; }; - C66B03BC26E8EB1A009B5EDC /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIChatReplyBubbleView.xib; sourceTree = ""; }; - C66B03C126E8EB82009B5EDC /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/UIChatReplyBubbleView.strings; sourceTree = ""; }; - C66B03C326E8EB87009B5EDC /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UIChatReplyBubbleView.strings; sourceTree = ""; }; - C66B040926EFDA54009B5EDC /* reply_cancel.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = reply_cancel.png; sourceTree = ""; }; - C66B040D26F095CE009B5EDC /* cancel_forward.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cancel_forward.png; sourceTree = ""; }; - C684F1F92913D65500736775 /* SnapkitBridge.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SnapkitBridge.swift; sourceTree = ""; }; - C6909F6B2AA0DC2A0011D273 /* NetworkExtension.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NetworkExtension.framework; path = System/Library/Frameworks/NetworkExtension.framework; sourceTree = SDKROOT; }; - C6A1BB3126E8815300540D50 /* menu_info.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_info.png; sourceTree = ""; }; - C6A1BB3226E8815400540D50 /* menu_forward_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_forward_default.png; sourceTree = ""; }; - C6A1BB3326E8815400540D50 /* menu_copy_text_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_copy_text_default.png; sourceTree = ""; }; - C6A1BB3426E8815400540D50 /* menu_reply_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_reply_default.png; sourceTree = ""; }; - C6A1BB3926E881E100540D50 /* menu_delete.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_delete.png; sourceTree = ""; }; - C6A1BB3B26E882D000540D50 /* UIChatReplyBubbleView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIChatReplyBubbleView.h; sourceTree = ""; }; - C6A1BB3C26E882D000540D50 /* UIChatReplyBubbleView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIChatReplyBubbleView.m; sourceTree = ""; }; - C6A1BB4026E889AD00540D50 /* forward_message_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = forward_message_default.png; sourceTree = ""; }; - C6A1BB4226E88F7C00540D50 /* menu_resend_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_resend_default.png; sourceTree = ""; }; - C6A1BB4426E890BD00540D50 /* file_voice_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = file_voice_default.png; sourceTree = ""; }; - C6B4443D26AAD0970076C517 /* file_video_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = file_video_default.png; sourceTree = ""; }; - C6B4443E26AAD0970076C517 /* file_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = file_default.png; sourceTree = ""; }; - C6B4443F26AAD0970076C517 /* file_picture_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = file_picture_default.png; sourceTree = ""; }; - C6B4444026AAD0970076C517 /* file_audio_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = file_audio_default.png; sourceTree = ""; }; - C6B4444126AAD0970076C517 /* file_pdf_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = file_pdf_default.png; sourceTree = ""; }; - C6B4444726AADA530076C517 /* SwiftUtil.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftUtil.swift; sourceTree = ""; }; - C6E3E7EB291D642B00DDFC46 /* side_menu_voip_meeting_schedule.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = side_menu_voip_meeting_schedule.png; sourceTree = ""; }; - C6E3E7ED291D648D00DDFC46 /* side_menu_voip_meeting_schedule@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "side_menu_voip_meeting_schedule@2x.png"; sourceTree = ""; }; - C6F55644287CC69F0056E213 /* voip_meeting_schedule.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_meeting_schedule.png; sourceTree = ""; }; - C6F55646287CCFB60056E213 /* menu_voip_meeting_schedule.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_voip_meeting_schedule.png; sourceTree = ""; }; - C90FAA7615AF54E6002091CB /* HistoryDetailsView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryDetailsView.h; sourceTree = ""; }; - C90FAA7715AF54E6002091CB /* HistoryDetailsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryDetailsView.m; sourceTree = ""; }; - C9B3A6FD15B485DB006F52EE /* Utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Utils.h; path = Utils/Utils.h; sourceTree = ""; }; - CF15F21B20E4F9A3008B1DE6 /* UIImageViewDeletable.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIImageViewDeletable.h; sourceTree = ""; }; - CF15F21C20E4F9A3008B1DE6 /* UIImageViewDeletable.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UIImageViewDeletable.m; sourceTree = ""; }; - CF15F21D20E4F9A3008B1DE6 /* UIImageViewDeletable.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = UIImageViewDeletable.xib; sourceTree = ""; }; - CF1DE924210A0F5A00A0A97E /* UILinphoneAudioPlayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UILinphoneAudioPlayer.m; sourceTree = ""; }; - CF1DE92B210A0F5B00A0A97E /* UILinphoneAudioPlayer.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UILinphoneAudioPlayer.xib; sourceTree = ""; }; - CF1DE92C210A0F5C00A0A97E /* UILinphoneAudioPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UILinphoneAudioPlayer.h; sourceTree = ""; }; - CF7602D4210867E800749F76 /* RecordingsListView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RecordingsListView.h; sourceTree = ""; }; - CF7602D5210867E800749F76 /* RecordingsListView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RecordingsListView.m; sourceTree = ""; }; - CF7602DF21086EB100749F76 /* RecordingsListTableView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RecordingsListTableView.h; sourceTree = ""; }; - CF7602E021086EB200749F76 /* RecordingsListTableView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RecordingsListTableView.m; sourceTree = ""; }; - CF7602E42108759A00749F76 /* UIRecordingCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIRecordingCell.h; sourceTree = ""; }; - CF7602E52108759A00749F76 /* UIRecordingCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UIRecordingCell.m; sourceTree = ""; }; - CF7602E62108759A00749F76 /* UIRecordingCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = UIRecordingCell.xib; sourceTree = ""; }; - CF7602EB210898C100749F76 /* rec_off_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "rec_off_default@2x.png"; sourceTree = ""; }; - CF7602F2210898C400749F76 /* rec_on_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "rec_on_default@2x.png"; sourceTree = ""; }; - CF7602F3210898C600749F76 /* rec_off_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = rec_off_default.png; sourceTree = ""; }; - CF7602F4210898C800749F76 /* rec_on_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = rec_on_default.png; sourceTree = ""; }; - CFBD7A2320E504AD007C5286 /* delete_img.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = delete_img.png; sourceTree = ""; }; - D306459C1611EC2900BB571E /* UILoadingImageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UILoadingImageView.h; sourceTree = ""; }; - D306459D1611EC2900BB571E /* UILoadingImageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UILoadingImageView.m; sourceTree = ""; }; - D3128FDE15AABC7E00A2147A /* ContactDetailsView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContactDetailsView.h; sourceTree = ""; }; - D3128FDF15AABC7E00A2147A /* ContactDetailsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ContactDetailsView.m; sourceTree = ""; }; - D31B4B1E159876C0002E6C72 /* UICompositeView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UICompositeView.h; sourceTree = ""; }; - D31B4B1F159876C0002E6C72 /* UICompositeView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UICompositeView.m; sourceTree = ""; }; - D31C9C96158A1CDE00756B45 /* UIHistoryCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIHistoryCell.h; sourceTree = ""; }; - D31C9C97158A1CDE00756B45 /* UIHistoryCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIHistoryCell.m; sourceTree = ""; }; - D326483615887D5200930C67 /* OrderedDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OrderedDictionary.h; path = Utils/OrderedDictionary.h; sourceTree = ""; }; - D326483715887D5200930C67 /* OrderedDictionary.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OrderedDictionary.m; path = Utils/OrderedDictionary.m; sourceTree = ""; }; - D32648421588F6FA00930C67 /* UIToggleButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIToggleButton.h; sourceTree = ""; }; - D32648431588F6FB00930C67 /* UIToggleButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIToggleButton.m; sourceTree = ""; }; - D32B6E2715A5BC430033019F /* ChatConversationTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChatConversationTableView.h; sourceTree = ""; }; - D32B6E2815A5BC430033019F /* ChatConversationTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChatConversationTableView.m; sourceTree = ""; }; - D32B6E2E15A5C0AC0033019F /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; }; - D32B9DFA15A2F131000B6DEC /* FastAddressBook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FastAddressBook.h; path = Utils/FastAddressBook.h; sourceTree = ""; }; - D32B9DFB15A2F131000B6DEC /* FastAddressBook.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FastAddressBook.m; path = Utils/FastAddressBook.m; sourceTree = ""; }; - D34F6F9D1594D3FB0095705B /* InAppSettings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = InAppSettings.bundle; sourceTree = ""; }; - D350F20B15A43BB100149E54 /* AssistantView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AssistantView.h; sourceTree = ""; }; - D350F20C15A43BB100149E54 /* AssistantView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AssistantView.m; sourceTree = ""; }; - D35497FB15875372000081D8 /* ContactsListView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContactsListView.h; sourceTree = ""; }; - D35497FC15875372000081D8 /* ContactsListView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = ContactsListView.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; - D3549814158761CF000081D8 /* ContactsListTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContactsListTableView.h; sourceTree = ""; }; - D3549815158761D0000081D8 /* ContactsListTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = ContactsListTableView.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; - D354981E1587716B000081D8 /* StatusBarView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StatusBarView.h; path = LinphoneUI/StatusBarView.h; sourceTree = ""; }; - D354981F1587716B000081D8 /* StatusBarView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = StatusBarView.m; path = LinphoneUI/StatusBarView.m; sourceTree = ""; }; - D35860D515B549B500513429 /* Utils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Utils.m; path = Utils/Utils.m; sourceTree = ""; }; - D35E7594159460560066B1C1 /* ChatsListView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChatsListView.h; sourceTree = ""; }; - D35E7595159460560066B1C1 /* ChatsListView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChatsListView.m; sourceTree = ""; }; - D35E759C159460B50066B1C1 /* SettingsView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SettingsView.h; sourceTree = ""; }; - D35E759D159460B50066B1C1 /* SettingsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SettingsView.m; sourceTree = ""; }; - D378AB2815DCDB480098505D /* ImagePickerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImagePickerView.h; sourceTree = ""; }; - D378AB2915DCDB490098505D /* ImagePickerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ImagePickerView.m; sourceTree = ""; }; - D37C639915AADEF4009D0BAC /* ContactDetailsTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContactDetailsTableView.h; sourceTree = ""; }; - D37C639A15AADEF5009D0BAC /* ContactDetailsTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ContactDetailsTableView.m; sourceTree = ""; }; - D37DC6BF1594AE1800B2A5EB /* LinphoneCoreSettingsStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinphoneCoreSettingsStore.h; sourceTree = ""; }; - D37DC6C01594AE1800B2A5EB /* LinphoneCoreSettingsStore.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LinphoneCoreSettingsStore.m; sourceTree = ""; }; - D37DC7171594AF3400B2A5EB /* MessageUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MessageUI.framework; path = System/Library/Frameworks/MessageUI.framework; sourceTree = SDKROOT; }; - D37E3ECB1619C27A0087659A /* CAAnimation+Blocks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "CAAnimation+Blocks.h"; sourceTree = ""; }; - D37E3ECC1619C27A0087659A /* CAAnimation+Blocks.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "CAAnimation+Blocks.m"; sourceTree = ""; }; - D37EE160160377D7003608A6 /* DTActionSheet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DTActionSheet.h; sourceTree = ""; }; - D37EE161160377D7003608A6 /* DTActionSheet.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DTActionSheet.m; sourceTree = ""; }; - D3807FB715C28940005BE9BC /* DCRoundSwitch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DCRoundSwitch.h; sourceTree = ""; }; - D3807FB815C28940005BE9BC /* DCRoundSwitch.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DCRoundSwitch.m; sourceTree = ""; }; - D3807FB915C28940005BE9BC /* DCRoundSwitchKnobLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DCRoundSwitchKnobLayer.h; sourceTree = ""; }; - D3807FBA15C28940005BE9BC /* DCRoundSwitchKnobLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DCRoundSwitchKnobLayer.m; sourceTree = ""; }; - D3807FBB15C28940005BE9BC /* DCRoundSwitchOutlineLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DCRoundSwitchOutlineLayer.h; sourceTree = ""; }; - D3807FBC15C28940005BE9BC /* DCRoundSwitchOutlineLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DCRoundSwitchOutlineLayer.m; sourceTree = ""; }; - D3807FBD15C28940005BE9BC /* DCRoundSwitchToggleLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DCRoundSwitchToggleLayer.h; sourceTree = ""; }; - D3807FBE15C28940005BE9BC /* DCRoundSwitchToggleLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DCRoundSwitchToggleLayer.m; sourceTree = ""; }; - D3807FC915C2894A005BE9BC /* IASKAppSettingsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKAppSettingsViewController.h; sourceTree = ""; }; - D3807FCA15C2894A005BE9BC /* IASKAppSettingsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IASKAppSettingsViewController.m; sourceTree = ""; }; - D3807FCD15C2894A005BE9BC /* IASKSpecifierValuesViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKSpecifierValuesViewController.h; sourceTree = ""; }; - D3807FCE15C2894A005BE9BC /* IASKSpecifierValuesViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IASKSpecifierValuesViewController.m; sourceTree = ""; }; - D3807FCF15C2894A005BE9BC /* IASKViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKViewController.h; sourceTree = ""; }; - D3807FD115C2894A005BE9BC /* IASKSettingsReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKSettingsReader.h; sourceTree = ""; }; - D3807FD215C2894A005BE9BC /* IASKSettingsReader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IASKSettingsReader.m; sourceTree = ""; }; - D3807FD315C2894A005BE9BC /* IASKSettingsStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKSettingsStore.h; sourceTree = ""; }; - D3807FD415C2894A005BE9BC /* IASKSettingsStore.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IASKSettingsStore.m; sourceTree = ""; }; - D3807FD515C2894A005BE9BC /* IASKSettingsStoreFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKSettingsStoreFile.h; sourceTree = ""; }; - D3807FD615C2894A005BE9BC /* IASKSettingsStoreFile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IASKSettingsStoreFile.m; sourceTree = ""; }; - D3807FD715C2894A005BE9BC /* IASKSettingsStoreUserDefaults.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKSettingsStoreUserDefaults.h; sourceTree = ""; }; - D3807FD815C2894A005BE9BC /* IASKSettingsStoreUserDefaults.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IASKSettingsStoreUserDefaults.m; sourceTree = ""; }; - D3807FD915C2894A005BE9BC /* IASKSpecifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKSpecifier.h; sourceTree = ""; }; - D3807FDA15C2894A005BE9BC /* IASKSpecifier.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IASKSpecifier.m; sourceTree = ""; }; - D3807FDC15C2894A005BE9BC /* IASKPSSliderSpecifierViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKPSSliderSpecifierViewCell.h; sourceTree = ""; }; - D3807FDD15C2894A005BE9BC /* IASKPSSliderSpecifierViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IASKPSSliderSpecifierViewCell.m; sourceTree = ""; }; - D3807FDE15C2894A005BE9BC /* IASKPSTextFieldSpecifierViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKPSTextFieldSpecifierViewCell.h; sourceTree = ""; }; - D3807FDF15C2894A005BE9BC /* IASKPSTextFieldSpecifierViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IASKPSTextFieldSpecifierViewCell.m; sourceTree = ""; }; - D3807FE215C2894A005BE9BC /* IASKSlider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKSlider.h; sourceTree = ""; }; - D3807FE315C2894A005BE9BC /* IASKSlider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IASKSlider.m; sourceTree = ""; }; - D3807FE415C2894A005BE9BC /* IASKSwitch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKSwitch.h; sourceTree = ""; }; - D3807FE515C2894A005BE9BC /* IASKSwitch.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IASKSwitch.m; sourceTree = ""; }; - D3807FE615C2894A005BE9BC /* IASKTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKTextField.h; sourceTree = ""; }; - D3807FE715C2894A005BE9BC /* IASKTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IASKTextField.m; sourceTree = ""; }; - D380801115C29984005BE9BC /* ColorSpaceUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ColorSpaceUtilities.h; path = Utils/ColorSpaceUtilities.h; sourceTree = ""; }; - D380801215C299D0005BE9BC /* ColorSpaceUtilites.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ColorSpaceUtilites.m; path = Utils/ColorSpaceUtilites.m; sourceTree = ""; }; - D3A55FBA15877E5E003FD403 /* UIContactCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIContactCell.h; sourceTree = ""; }; - D3A55FBB15877E5E003FD403 /* UIContactCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIContactCell.m; sourceTree = ""; }; - D3A8BB6E15A6C7D500F96BE5 /* UIChatBubbleTextCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIChatBubbleTextCell.h; sourceTree = ""; }; - D3A8BB6F15A6C7D500F96BE5 /* UIChatBubbleTextCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIChatBubbleTextCell.m; sourceTree = ""; }; - D3C6526515AC1A8F0092A874 /* UIContactDetailsCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIContactDetailsCell.h; sourceTree = ""; }; - D3C6526615AC1A8F0092A874 /* UIContactDetailsCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIContactDetailsCell.m; sourceTree = ""; }; - D3EA53FB159850E80037DC6B /* LinphoneManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinphoneManager.h; sourceTree = ""; }; - D3EA53FC159850E80037DC6B /* LinphoneManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LinphoneManager.m; sourceTree = ""; }; - D3EA540B1598528B0037DC6B /* ChatsListTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChatsListTableView.h; sourceTree = ""; }; - D3EA540C1598528B0037DC6B /* ChatsListTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChatsListTableView.m; sourceTree = ""; }; - D3EA540F159853750037DC6B /* UIChatCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIChatCell.h; sourceTree = ""; }; - D3EA5410159853750037DC6B /* UIChatCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIChatCell.m; sourceTree = ""; }; - D3ED3E841586291B006C0DE4 /* TabBarView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TabBarView.h; path = LinphoneUI/TabBarView.h; sourceTree = ""; }; - D3ED3E851586291B006C0DE4 /* TabBarView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TabBarView.m; path = LinphoneUI/TabBarView.m; sourceTree = ""; }; - D3ED3EA41587334B006C0DE4 /* HistoryListTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryListTableView.h; sourceTree = ""; }; - D3ED3EA51587334C006C0DE4 /* HistoryListTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = HistoryListTableView.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; - D3ED3EB515873928006C0DE4 /* HistoryListView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryListView.h; sourceTree = ""; }; - D3ED3EB615873929006C0DE4 /* HistoryListView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = HistoryListView.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; - D3F795D315A582800077328B /* ChatConversationView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChatConversationView.h; sourceTree = ""; }; - D3F795D415A582800077328B /* ChatConversationView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChatConversationView.m; sourceTree = ""; }; - D3F7997F15BD32370018C273 /* TPMultiLayoutViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TPMultiLayoutViewController.h; path = Utils/TPMultiLayoutViewController/TPMultiLayoutViewController.h; sourceTree = ""; }; - D3F7998015BD32370018C273 /* TPMultiLayoutViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TPMultiLayoutViewController.m; path = Utils/TPMultiLayoutViewController/TPMultiLayoutViewController.m; sourceTree = ""; }; - D3F83F8C158229C500336684 /* PhoneMainView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PhoneMainView.h; sourceTree = ""; }; - D3F83F8D15822ABD00336684 /* PhoneMainView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PhoneMainView.m; sourceTree = ""; }; - D7013DB72940AA12004EEAAE /* MessageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageView.swift; sourceTree = ""; }; - D7097B34296D684900AEF6C5 /* FileType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileType.swift; sourceTree = ""; }; - D71418E229C9B4E0002EEF75 /* DownloadMessageCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DownloadMessageCell.swift; sourceTree = ""; }; - D71418E429C9E2CD002EEF75 /* CircularProgressBarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CircularProgressBarView.swift; sourceTree = ""; }; - D72F27A92AA8B42D00CFB13D /* SheetViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SheetViewController.swift; sourceTree = ""; }; - D7421D9D29228A5200290CAB /* ChatConversationViewSwift.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatConversationViewSwift.swift; sourceTree = ""; }; - D74A44902923BAF90017D063 /* BackActionsNavigationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BackActionsNavigationView.swift; sourceTree = ""; }; - D768763429CDA88200570747 /* UploadMessageCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UploadMessageCell.swift; sourceTree = ""; }; - D77057F0292E4A340031A970 /* ChatConversationViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatConversationViewModel.swift; sourceTree = ""; }; - D779D39729A3C933007B8087 /* ChatConversationTableViewSwift.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatConversationTableViewSwift.swift; sourceTree = ""; }; - D779D39929A4C285007B8087 /* MultilineMessageCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MultilineMessageCell.swift; sourceTree = ""; }; - D779D39B29A76DE6007B8087 /* ChatConversationTableViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatConversationTableViewModel.swift; sourceTree = ""; }; - D779D39D29AC9E92007B8087 /* AudioPlayer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AudioPlayer.swift; sourceTree = ""; }; - D779D3A129B5E365007B8087 /* UIImageExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIImageExtension.swift; sourceTree = ""; }; - D780FF7C2A459CE3001535E6 /* MediaViewer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaViewer.swift; sourceTree = ""; }; - D783D9B92A669A9E00293E87 /* ContentMessageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentMessageView.swift; sourceTree = ""; }; - D7A4C0052A3B135800EFBD1B /* new_chat_attachment_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = new_chat_attachment_default.png; sourceTree = ""; }; - D7A4C0062A3B135800EFBD1B /* new_vr_off.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = new_vr_off.png; sourceTree = ""; }; - D7A4C0072A3B135800EFBD1B /* new_chat_send_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = new_chat_send_default.png; sourceTree = ""; }; - D7A7544F29507038005C9D4A /* CustomAlertController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomAlertController.swift; sourceTree = ""; }; - D7C6DE812948CF3100756E03 /* DropDownCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DropDownCell.swift; sourceTree = ""; }; - D7C6DE822948CF3100756E03 /* DropDownCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = DropDownCell.xib; sourceTree = ""; }; - D7CBC0F62A8E1669009182D8 /* Mode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Mode.swift; sourceTree = ""; }; - D7CBC0FA2A8E3D1E009182D8 /* SpeakersListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpeakersListView.swift; sourceTree = ""; }; - D7CBC0FC2A8E3D3F009182D8 /* VoipSpeakerCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VoipSpeakerCell.swift; sourceTree = ""; }; - D7CBC0FE2A8E3E11009182D8 /* ConferenceSpeakerData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConferenceSpeakerData.swift; sourceTree = ""; }; - D7CF13722A2E225200D92165 /* emoji.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = emoji.png; sourceTree = ""; }; - D7DA18702A02598700FABA0D /* TextViewer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextViewer.swift; sourceTree = ""; }; - D7F067472AAA1BFB0044CC87 /* ReactionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReactionCell.swift; sourceTree = ""; }; - EA5F25D9232BD3E200475F2E /* msgNotificationService.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = msgNotificationService.appex; sourceTree = BUILT_PRODUCTS_DIR; }; - EA5F25DB232BD3E200475F2E /* NotificationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationService.swift; sourceTree = ""; }; - EA5F25DD232BD3E200475F2E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - EA8CB827239F96CA00C330CC /* msgNotificationContent.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = msgNotificationContent.appex; sourceTree = BUILT_PRODUCTS_DIR; }; - EA8CB82B239F96CA00C330CC /* NotificationViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationViewController.swift; sourceTree = ""; }; - EA8CB82E239F96CA00C330CC /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/MainInterface.storyboard; sourceTree = ""; }; - EA8CB830239F96CA00C330CC /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - EA8CB83F239FD41400C330CC /* msgNotificationContent.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = msgNotificationContent.entitlements; sourceTree = ""; }; - EAB783CF232F8E4D0076B1A0 /* msgNotificationService.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = msgNotificationService.entitlements; sourceTree = ""; }; - EAE6C88323FABF690076A018 /* Utils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Utils.swift; path = msgNotification/Utils.swift; sourceTree = SOURCE_ROOT; }; - F0181B6B18BF7B1200A9A357 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; }; - F03A9B9418C0DAE100C4D7FE /* libstdc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libstdc++.dylib"; path = "usr/lib/libstdc++.dylib"; sourceTree = SDKROOT; }; - F03A9B9718C0DB6F00C4D7FE /* libc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.dylib"; path = "usr/lib/libc++.dylib"; sourceTree = SDKROOT; }; - F03CA84118C72F1A0008889D /* UITextViewNoDefine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UITextViewNoDefine.h; sourceTree = ""; }; - F03CA84218C72F1A0008889D /* UITextViewNoDefine.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UITextViewNoDefine.m; sourceTree = ""; }; - F05BAA611A5D594E00411815 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; }; - F0642EF019DAC891009DB336 /* MainStoryboard.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = MainStoryboard.storyboard; sourceTree = ""; }; - F0642EF719DAF32E009DB336 /* DTWeakSupport.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DTWeakSupport.h; sourceTree = ""; }; - F088488C19FF8C41007FFCF3 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIContactCell.xib; sourceTree = ""; }; - F0938158188E629800A55DFA /* iTunesArtwork */ = {isa = PBXFileReference; lastKnownFileType = file; path = iTunesArtwork; sourceTree = ""; }; - F09548181883F15300E8A69B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ChatConversationView.xib; sourceTree = ""; }; - F09548191883F15300E8A69B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ChatsListView.xib; sourceTree = ""; }; - F095481B1883F15300E8A69B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ContactDetailsView.xib; sourceTree = ""; }; - F095481C1883F15300E8A69B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ContactsListView.xib; sourceTree = ""; }; - F095481D1883F15300E8A69B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/DialerView.xib; sourceTree = ""; }; - F09548201883F15400E8A69B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/HistoryDetailsView.xib; sourceTree = ""; }; - F09548211883F15400E8A69B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/HistoryListView.xib; sourceTree = ""; }; - F09548221883F15400E8A69B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ImageView.xib; sourceTree = ""; }; - F095482C1883F15400E8A69B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/TabBarView.xib; sourceTree = ""; }; - F095482E1883F15500E8A69B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/AssistantView.xib; sourceTree = ""; }; - F09548301883F15500E8A69B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/AssistantViewScreens.xib; sourceTree = ""; }; - F09548321883F20A00E8A69B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/ChatConversationView.strings; sourceTree = ""; }; - F09548341883F25F00E8A69B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/ChatsListView.strings; sourceTree = ""; }; - F09548381883F29C00E8A69B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/ContactDetailsView.strings; sourceTree = ""; }; - F095483A1883F2CA00E8A69B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/ContactsListView.strings; sourceTree = ""; }; - F095483C1883F2E300E8A69B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/DialerView.strings; sourceTree = ""; }; - F09548421883F51B00E8A69B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/HistoryListView.strings; sourceTree = ""; }; - F09548441883F52900E8A69B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/ImageView.strings; sourceTree = ""; }; - F09548561883F61600E8A69B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/TabBarView.strings; sourceTree = ""; }; - F095485A1883F67B00E8A69B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/AssistantView.strings; sourceTree = ""; }; - F095485E1883F6EA00E8A69B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/AssistantViewScreens.strings; sourceTree = ""; }; - F0AF06F11A24BA760086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/ChatConversationView.strings; sourceTree = ""; }; - F0AF06F21A24BA760086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/ChatsListView.strings; sourceTree = ""; }; - F0AF06F41A24BA760086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/ContactDetailsView.strings; sourceTree = ""; }; - F0AF06F51A24BA760086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/ContactsListView.strings; sourceTree = ""; }; - F0AF06F61A24BA760086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/DialerView.strings; sourceTree = ""; }; - F0AF06F91A24BA760086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/HistoryDetailsView.strings; sourceTree = ""; }; - F0AF06FA1A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/HistoryListView.strings; sourceTree = ""; }; - F0AF06FB1A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/ImageView.strings; sourceTree = ""; }; - F0AF07021A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/UIChatCell.strings; sourceTree = ""; }; - F0AF07041A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/UICompositeView.strings; sourceTree = ""; }; - F0AF07061A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/UIContactCell.strings; sourceTree = ""; }; - F0AF07091A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/UIHistoryCell.strings; sourceTree = ""; }; - F0AF070A1A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/TabBarView.strings; sourceTree = ""; }; - F0AF070C1A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/StatusBarView.strings; sourceTree = ""; }; - F0AF070E1A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/SettingsView.strings; sourceTree = ""; }; - F0AF070F1A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/AssistantView.strings; sourceTree = ""; }; - F0AF07111A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/AssistantViewScreens.strings; sourceTree = ""; }; - F0B026F21AA710AF00FF49F7 /* libiconv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.dylib; path = usr/lib/libiconv.dylib; sourceTree = SDKROOT; }; - F0B89C2118DC89E30050B60E /* MediaPlayer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaPlayer.framework; path = System/Library/Frameworks/MediaPlayer.framework; sourceTree = SDKROOT; }; - F0BB8C311936246600974404 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; }; - F0BB8C34193624C800974404 /* libresolv.9.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libresolv.9.dylib; path = usr/lib/libresolv.9.dylib; sourceTree = SDKROOT; }; - F0BB8C4A193631B300974404 /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = System/Library/Frameworks/ImageIO.framework; sourceTree = SDKROOT; }; - F0FF66AA1ACAEEB0008A4486 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = ../../../../Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/IOKit.framework; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 143EFEE2501CB14E6BB244EF /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - EA88F3AC241BD05200E66528 /* UserNotificationsUI.framework in Frameworks */, - EA88F3AB241BD05200E66528 /* UserNotifications.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 1D60588F0D05DD3D006BFB54 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 61DD7E1F2372E88F001BDD01 /* CoreLocation.framework in Frameworks */, - 6180D6FE21EE41A800AD9CB6 /* QuickLook.framework in Frameworks */, - D37DC7181594AF3400B2A5EB /* MessageUI.framework in Frameworks */, - 61F1997520C6B1D5006B069A /* AVKit.framework in Frameworks */, - 249660951FD6A35F001D55AA /* Photos.framework in Frameworks */, - 24E1C7C01F9A235600D3F981 /* Contacts.framework in Frameworks */, - 8C2595DF1DEDCC8E007A6424 /* CallKit.framework in Frameworks */, - 8C73477C1D9BA3A00022EE8C /* UserNotifications.framework in Frameworks */, - 8CA2004C1D8158440095F859 /* PushKit.framework in Frameworks */, - 340751971506459A00B89C47 /* CoreTelephony.framework in Frameworks */, - 63177FBF1C86E68C00ADE58D /* CoreVideo.framework in Frameworks */, - 63CE58401C85EBF400304800 /* VideoToolbox.framework in Frameworks */, - 6334DDFA1BBAC97C00631900 /* libsqlite3.dylib in Frameworks */, - 152F22361B15E889008C0621 /* libxml2.dylib in Frameworks */, - 570742671D5A63DB004B9C84 /* StoreKit.framework in Frameworks */, - 22405EEE1600B4E400B92522 /* AssetsLibrary.framework in Frameworks */, - 2274402F106F335E006EC466 /* AudioToolbox.framework in Frameworks */, - 224567C2107B968500F10948 /* AVFoundation.framework in Frameworks */, - 228697C411AC29B800E9E0CA /* CFNetwork.framework in Frameworks */, - 2274401A106F31BD006EC466 /* CoreAudio.framework in Frameworks */, - 288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */, - 22276E8913C73DC000210156 /* CoreMedia.framework in Frameworks */, - 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */, - F0B89C2218DC89E30050B60E /* MediaPlayer.framework in Frameworks */, - 226EF06C15FA256B005865C7 /* MobileCoreServices.framework in Frameworks */, - 70E542F313E147E3002BA2C0 /* OpenGLES.framework in Frameworks */, - 70E542F513E147EB002BA2C0 /* QuartzCore.framework in Frameworks */, - 2264B6D211200342002C2C53 /* SystemConfiguration.framework in Frameworks */, - 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */, - F0B026F31AA710AF00FF49F7 /* libiconv.dylib in Frameworks */, - F05BAA621A5D594E00411815 /* libz.dylib in Frameworks */, - 344ABDF114850AE9007420B6 /* libc++.1.dylib in Frameworks */, - 22D1B68112A3E0BE001AE361 /* libresolv.dylib in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 203E6292C3E84CD13778F720 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 61AE364820C00B370089D9D3 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 6637AF8A288593AF00965733 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 080E96DDFE201D6D7F000001 /* Classes */ = { - isa = PBXGroup; - children = ( - 614C087623D1A35E00217F80 /* linphone-Bridging-Header.h */, - C63F7196285A24B10066163B /* Swift */, - 22E0A81D111C44E100B04932 /* AboutView.h */, - 22E0A81C111C44E100B04932 /* AboutView.m */, - 636316D31A1DEBCB0009B839 /* AboutView.xib */, - 633E417F1D74258F00320475 /* AssistantLinkView.h */, - 633E41801D74258F00320475 /* AssistantLinkView.m */, - 63EC8D3B1D7438660066547B /* AssistantLinkView.xib */, - D350F20B15A43BB100149E54 /* AssistantView.h */, - D350F20C15A43BB100149E54 /* AssistantView.m */, - D38187E015FE348A00C3EDCA /* AssistantView.xib */, - D3D5126A160B3A8E00946DF8 /* AssistantViewScreens.xib */, - 8C9C5E0B1F83B2EF006987FA /* ChatConversationCreateCollectionViewController.h */, - 8C9C5E0C1F83B2EF006987FA /* ChatConversationCreateCollectionViewController.m */, - 6341807A1BBC103100F71761 /* ChatConversationCreateTableView.h */, - 6341807B1BBC103100F71761 /* ChatConversationCreateTableView.m */, - 6336715E1BCBAAD200BFCBDE /* ChatConversationCreateView.h */, - 6336715F1BCBAAD200BFCBDE /* ChatConversationCreateView.m */, - 63B8D68E1BCBE65600C12B09 /* ChatConversationCreateView.xib */, - 8CD99A3D2090BA24008A7CDA /* ChatConversationImdnView.h */, - 8CD99A3B2090B9FA008A7CDA /* ChatConversationImdnView.m */, - 8CBD7BA520B6B80D00E5DCC0 /* ChatConversationImdnView.xib */, - 8CA70ACF1F9E0ABA00A3D2EB /* ChatConversationInfoView.h */, - 8CA70AD01F9E0AE100A3D2EB /* ChatConversationInfoView.m */, - 8CBD7BA220B6B7FD00E5DCC0 /* ChatConversationInfoView.xib */, - D32B6E2715A5BC430033019F /* ChatConversationTableView.h */, - D32B6E2815A5BC430033019F /* ChatConversationTableView.m */, - D3F795D315A582800077328B /* ChatConversationView.h */, - D3F795D415A582800077328B /* ChatConversationView.m */, - D38187B015FE340100C3EDCA /* ChatConversationView.xib */, - D3EA540B1598528B0037DC6B /* ChatsListTableView.h */, - D3EA540C1598528B0037DC6B /* ChatsListTableView.m */, - D35E7594159460560066B1C1 /* ChatsListView.h */, - D35E7595159460560066B1C1 /* ChatsListView.m */, - D38187B415FE340500C3EDCA /* ChatsListView.xib */, - D37C639915AADEF4009D0BAC /* ContactDetailsTableView.h */, - D37C639A15AADEF5009D0BAC /* ContactDetailsTableView.m */, - D3128FDE15AABC7E00A2147A /* ContactDetailsView.h */, - D3128FDF15AABC7E00A2147A /* ContactDetailsView.m */, - D38187BC15FE342200C3EDCA /* ContactDetailsView.xib */, - D3549814158761CF000081D8 /* ContactsListTableView.h */, - D3549815158761D0000081D8 /* ContactsListTableView.m */, - D35497FB15875372000081D8 /* ContactsListView.h */, - D35497FC15875372000081D8 /* ContactsListView.m */, - 662553B327EDFB35007F67D8 /* MagicSearch.swift */, - D38187C015FE342800C3EDCA /* ContactsListView.xib */, - 631098471D4660580041F2B3 /* CountryListView.h */, - 631098481D4660580041F2B3 /* CountryListView.m */, - 631098501D4660630041F2B3 /* CountryListView.xib */, - C64A854C2667B66900252AD2 /* EphemeralSettingsView.h */, - C64A854D2667B67200252AD2 /* EphemeralSettingsView.m */, - C64A854F2667B67A00252AD2 /* EphemeralSettingsView.xib */, - 61AEBEB5219198EF00F35E7F /* DevicesListView.h */, - 61AEBEBC2191990A00F35E7F /* DevicesListView.m */, - 61AEBEBE2191991F00F35E7F /* DevicesListView.xib */, - 22F2508B107141E100AC9B3F /* DialerView.h */, - 22F2508C107141E100AC9B3F /* DialerView.m */, - D38187C415FE345B00C3EDCA /* DialerView.xib */, - 638F1A601C2021B2004B8E02 /* DialerView~ipad.xib */, - 6306440B1BECB08500134C72 /* FirstLoginView.h */, - 6306440C1BECB08500134C72 /* FirstLoginView.m */, - 639E9C951C0DB7BE00019A75 /* FirstLoginView.xib */, - 635775231B6673EC00C8B704 /* HistoryDetailsTableView.h */, - 635775241B6673EC00C8B704 /* HistoryDetailsTableView.m */, - C90FAA7615AF54E6002091CB /* HistoryDetailsView.h */, - C90FAA7715AF54E6002091CB /* HistoryDetailsView.m */, - D38187D015FE346700C3EDCA /* HistoryDetailsView.xib */, - D3ED3EA41587334B006C0DE4 /* HistoryListTableView.h */, - D3ED3EA51587334C006C0DE4 /* HistoryListTableView.m */, - D3ED3EB515873928006C0DE4 /* HistoryListView.h */, - D3ED3EB615873929006C0DE4 /* HistoryListView.m */, - D38187D415FE346B00C3EDCA /* HistoryListView.xib */, - D378AB2815DCDB480098505D /* ImagePickerView.h */, - D378AB2915DCDB490098505D /* ImagePickerView.m */, - 22405EFD1601C19000B92522 /* ImageView.h */, - 22405EFE1601C19100B92522 /* ImageView.m */, - D37EE11016035793003608A6 /* ImageView.xib */, - 63E59A3D1ADE6ECB00646FB3 /* InAppProductsManager.h */, - 63E59A3E1ADE70D900646FB3 /* InAppProductsManager.m */, - 6130C85B22BBB493009CC79C /* LaunchScreen.h */, - 63E27A311C4FECD000D332AE /* LaunchScreen.xib */, - 1D3623240D0F684500981E51 /* LinphoneAppDelegate.h */, - 1D3623250D0F684500981E51 /* LinphoneAppDelegate.m */, - D37DC6BF1594AE1800B2A5EB /* LinphoneCoreSettingsStore.h */, - D37DC6C01594AE1800B2A5EB /* LinphoneCoreSettingsStore.m */, - D3EA53FB159850E80037DC6B /* LinphoneManager.h */, - D3EA53FC159850E80037DC6B /* LinphoneManager.m */, - 2214EB7012F84668002A5394 /* LinphoneUI */, - F0642EF019DAC891009DB336 /* MainStoryboard.storyboard */, - D3F83F8C158229C500336684 /* PhoneMainView.h */, - D3F83F8D15822ABD00336684 /* PhoneMainView.m */, - 639E9CB31C0DB88200019A75 /* PhoneMainView.xib */, - CF7602DF21086EB100749F76 /* RecordingsListTableView.h */, - CF7602E021086EB200749F76 /* RecordingsListTableView.m */, - CF7602D4210867E800749F76 /* RecordingsListView.h */, - CF7602D5210867E800749F76 /* RecordingsListView.m */, - 617B4A62260A2B7800A87337 /* RecordingsListView.xib */, - D35E759C159460B50066B1C1 /* SettingsView.h */, - D35E759D159460B50066B1C1 /* SettingsView.m */, - 636316D61A1DEC650009B839 /* SettingsView.xib */, - 63BE7A761D75BDF6000990EF /* ShopTableView.h */, - 63BE7A771D75BDF6000990EF /* ShopTableView.m */, - 570742601D5A09B8004B9C84 /* ShopView.h */, - 5707425F1D5A09B8004B9C84 /* ShopView.m */, - 570742561D5A0691004B9C84 /* ShopView.xib */, - 633756371B67BAF400E21BAD /* SideMenuTableView.h */, - 633756381B67BAF400E21BAD /* SideMenuTableView.m */, - 633756421B67D2B100E21BAD /* SideMenuView.h */, - 633756431B67D2B100E21BAD /* SideMenuView.m */, - 639E9CB21C0DB83000019A75 /* SideMenuView.xib */, - 63130FB01C1ED06900371918 /* SideMenuView~ipad.xib */, - D354981E1587716B000081D8 /* StatusBarView.h */, - D354981F1587716B000081D8 /* StatusBarView.m */, - 639CEAFF1A1DF4D9004DE38F /* StatusBarView.xib */, - D3ED3E841586291B006C0DE4 /* TabBarView.h */, - D3ED3E851586291B006C0DE4 /* TabBarView.m */, - D38187FB15FE355D00C3EDCA /* TabBarView.xib */, - D326483415887D4400930C67 /* Utils */, - 669B140B27A29D140012220A /* FloatingScrollDownButton.swift */, - ); - path = Classes; - sourceTree = ""; - }; - 19C28FACFE9D520D11CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 1D6058910D05DD3D006BFB54 /* linphone.app */, - 61AE364B20C00B370089D9D3 /* linphoneExtension.appex */, - EA5F25D9232BD3E200475F2E /* msgNotificationService.appex */, - EA8CB827239F96CA00C330CC /* msgNotificationContent.appex */, - 6637AF8D288593AF00965733 /* CallUITests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 2214EB7012F84668002A5394 /* LinphoneUI */ = { - isa = PBXGroup; - children = ( - C6A1BB3B26E882D000540D50 /* UIChatReplyBubbleView.h */, - C6A1BB3C26E882D000540D50 /* UIChatReplyBubbleView.m */, - C66B03BD26E8EB1A009B5EDC /* UIChatReplyBubbleView.xib */, - 63F1DF421BCE618E00EDED90 /* UIAddressTextField.h */, - 63F1DF431BCE618E00EDED90 /* UIAddressTextField.m */, - 63C441C11BBC23ED0053DC5E /* UIAssistantTextField.h */, - 63C441C21BBC23ED0053DC5E /* UIAssistantTextField.m */, - 633FEF561D3CD5E00014B822 /* UIAvatarPresence.h */, - 633FEF571D3CD5E00014B822 /* UIAvatarPresence.m */, - 6377AC7E1BDE4068007F7625 /* UIBackToCallButton.h */, - 6377AC7F1BDE4069007F7625 /* UIBackToCallButton.m */, - 6381DA7B1C1AD5EA00DF3BBD /* UIBouncingView.h */, - 6381DA7C1C1AD5EA00DF3BBD /* UIBouncingView.m */, - 2214EB7812F846B1002A5394 /* UICallButton.h */, - 2214EB7912F846B1002A5394 /* UICallButton.m */, - 22AA8AFF13D83F6300B30535 /* UICamSwitch.h */, - 22AA8B0013D83F6300B30535 /* UICamSwitch.m */, - 635173F71BA082A40095EB0A /* UIChatBubblePhotoCell.h */, - 635173F81BA082A40095EB0A /* UIChatBubblePhotoCell.m */, - 639E9CA21C0DB7E500019A75 /* UIChatBubblePhotoCell.xib */, - D3A8BB6E15A6C7D500F96BE5 /* UIChatBubbleTextCell.h */, - D3A8BB6F15A6C7D500F96BE5 /* UIChatBubbleTextCell.m */, - 639E9CA51C0DB7EA00019A75 /* UIChatBubbleTextCell.xib */, - 617C2428263022430042FB4A /* UIChatContentView.h */, - 617C2429263022690042FB4A /* UIChatContentView.m */, - D3EA540F159853750037DC6B /* UIChatCell.h */, - D3EA5410159853750037DC6B /* UIChatCell.m */, - 639CEB0B1A1DF4FA004DE38F /* UIChatCell.xib */, - 8CD99A402090CE25008A7CDA /* UIChatConversationImdnTableViewCell.h */, - 8CD99A412090CE6F008A7CDA /* UIChatConversationImdnTableViewCell.m */, - 8CBD7BAB20B6B82A00E5DCC0 /* UIChatConversationImdnTableViewCell.xib */, - 8CA70AE11F9E39E400A3D2EB /* UIChatConversationInfoTableViewCell.h */, - 8CA70AE21F9E39E400A3D2EB /* UIChatConversationInfoTableViewCell.m */, - 8CBD7BA820B6B82400E5DCC0 /* UIChatConversationInfoTableViewCell.xib */, - 63B8D69F1BCBF43100C12B09 /* UIChatCreateCell.h */, - 63B8D6A01BCBF43100C12B09 /* UIChatCreateCell.m */, - 639E9CA81C0DB7F200019A75 /* UIChatCreateCell.xib */, - 8C9C5E0E1F83BD97006987FA /* UIChatCreateCollectionViewCell.h */, - 8C9C5E0F1F83BD97006987FA /* UIChatCreateCollectionViewCell.m */, - 8C92ABF11FA773C20006FB5D /* UIChatNotifiedEventCell.h */, - 8C92ABF21FA773E50006FB5D /* UIChatNotifiedEventCell.m */, - 8C92ABE71FA773190006FB5D /* UIChatNotifiedEventCell.xib */, - 639E9C7E1C0DB13D00019A75 /* UICheckBoxTableView.h */, - 639E9C7F1C0DB13D00019A75 /* UICheckBoxTableView.m */, - D31B4B1E159876C0002E6C72 /* UICompositeView.h */, - D31B4B1F159876C0002E6C72 /* UICompositeView.m */, - 639CEB051A1DF4EB004DE38F /* UICompositeView.xib */, - 638F1A8F1C21993D004B8E02 /* UICompositeView~ipad.xib */, - 63701DDD1BA32039006A9AE3 /* UIConfirmationDialog.h */, - 63701DDE1BA32039006A9AE3 /* UIConfirmationDialog.m */, - 639E9CAB1C0DB7FB00019A75 /* UIConfirmationDialog.xib */, - D3A55FBA15877E5E003FD403 /* UIContactCell.h */, - D3A55FBB15877E5E003FD403 /* UIContactCell.m */, - F088488D19FF8C41007FFCF3 /* UIContactCell.xib */, - D3C6526515AC1A8F0092A874 /* UIContactDetailsCell.h */, - D3C6526615AC1A8F0092A874 /* UIContactDetailsCell.m */, - 639E9CAE1C0DB80300019A75 /* UIContactDetailsCell.xib */, - 2248E90C12F7E4CF00220D9C /* UIDigitButton.h */, - 2248E90D12F7E4CF00220D9C /* UIDigitButton.m */, - 61CCC3D721933B380060EDEA /* UIDeviceCell.h */, - 61CCC3DE21933B580060EDEA /* UIDeviceCell.m */, - 61CCC3E021933B660060EDEA /* UIDeviceCell.xib */, - D31C9C96158A1CDE00756B45 /* UIHistoryCell.h */, - D31C9C97158A1CDE00756B45 /* UIHistoryCell.m */, - 639CEB021A1DF4E4004DE38F /* UIHistoryCell.xib */, - 636BC9951B5F921B00C754CE /* UIIconButton.h */, - 636BC9961B5F921B00C754CE /* UIIconButton.m */, - CF15F21B20E4F9A3008B1DE6 /* UIImageViewDeletable.h */, - CF15F21C20E4F9A3008B1DE6 /* UIImageViewDeletable.m */, - CF15F21D20E4F9A3008B1DE6 /* UIImageViewDeletable.xib */, - 6135761A240E81AC005304D4 /* UIInterfaceStyleButton.h */, - 6135761B240E81BA005304D4 /* UIInterfaceStyleButton.m */, - 6135761D240E81C7005304D4 /* UIInterfaceStyleToggleButton.h */, - 6135761E240E81D0005304D4 /* UIInterfaceStyleToggleButton.m */, - 634610041B61330300548952 /* UILabel+Boldify.h */, - 634610051B61330300548952 /* UILabel+Boldify.m */, - CF1DE92C210A0F5C00A0A97E /* UILinphoneAudioPlayer.h */, - CF1DE924210A0F5A00A0A97E /* UILinphoneAudioPlayer.m */, - CF1DE92B210A0F5B00A0A97E /* UILinphoneAudioPlayer.xib */, - D306459C1611EC2900BB571E /* UILoadingImageView.h */, - D306459D1611EC2900BB571E /* UILoadingImageView.m */, - CF7602E42108759A00749F76 /* UIRecordingCell.h */, - CF7602E52108759A00749F76 /* UIRecordingCell.m */, - CF7602E62108759A00749F76 /* UIRecordingCell.xib */, - 6313482E1B6F7B6600C6BDCB /* UIRoundBorderedButton.h */, - 6313482F1B6F7B6600C6BDCB /* UIRoundBorderedButton.m */, - 63FB30331A680E73008CA393 /* UIRoundedImageView.h */, - 63FB30341A680E73008CA393 /* UIRoundedImageView.m */, - 8C5D1B991D9BC48100DC6539 /* UIShopTableCell.h */, - 8C5D1B9B1D9BC48100DC6539 /* UIShopTableCell.xib */, - 24A345A71D95799900881A5C /* UIShopTableCell.h */, - 630CF5551AF7CE1500539F7A /* UITextField+DoneButton.h */, - 630CF5561AF7CE1500539F7A /* UITextField+DoneButton.m */, - F03CA84118C72F1A0008889D /* UITextViewNoDefine.h */, - F03CA84218C72F1A0008889D /* UITextViewNoDefine.m */, - D32648421588F6FA00930C67 /* UIToggleButton.h */, - D32648431588F6FB00930C67 /* UIToggleButton.m */, - 24A345A51D95798A00881A5C /* UIShopTableCell.m */, - 24A3459D1D95797700881A5C /* UIShopTableCell.xib */, - ); - path = LinphoneUI; - sourceTree = ""; - }; - 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = { - isa = PBXGroup; - children = ( - 8C23BCB71D82AAC3005F19BB /* linphone.entitlements */, - 614D09CD21E74D5400C43EDF /* GoogleService-Info.plist */, - 080E96DDFE201D6D7F000001 /* Classes */, - 61AE364C20C00B370089D9D3 /* linphoneExtension */, - EA5F25DA232BD3E200475F2E /* msgNotificationService */, - 662F5971288AEFAA00C9CAF7 /* UITests */, - EA8CB82A239F96CA00C330CC /* msgNotificationContent */, - 29B97323FDCFA39411CA2CEA /* Frameworks */, - F0938158188E629800A55DFA /* iTunesArtwork */, - 29B97315FDCFA39411CA2CEA /* Other Sources */, - 19C28FACFE9D520D11CA2CBB /* Products */, - 633E388219FFB0F400936D1C /* README.md */, - 63AADBC31B6A0FF200AA16FD /* Resources */, - D398D3031594B0FB00FD553C /* Settings */, - 75AA7090378DBBA5417E4370 /* Pods */, - ); - name = CustomTemplate; - sourceTree = ""; - }; - 29B97315FDCFA39411CA2CEA /* Other Sources */ = { - isa = PBXGroup; - children = ( - 32CA4F630368D1EE00C91783 /* linphone_Prefix.pch */, - 29B97316FDCFA39411CA2CEA /* main.m */, - ); - name = "Other Sources"; - sourceTree = ""; - }; - 29B97323FDCFA39411CA2CEA /* Frameworks */ = { - isa = PBXGroup; - children = ( - 61DD7E1E2372E88F001BDD01 /* CoreLocation.framework */, - 6180D6FD21EE41A800AD9CB6 /* QuickLook.framework */, - 22B5F03410CE6B2F00777D97 /* AddressBook.framework */, - 22B5EFA210CE50BD00777D97 /* AddressBookUI.framework */, - 22405EED1600B4E400B92522 /* AssetsLibrary.framework */, - 2274402E106F335E006EC466 /* AudioToolbox.framework */, - F0BB8C311936246600974404 /* AudioUnit.framework */, - 224567C1107B968500F10948 /* AVFoundation.framework */, - 61F1996E20C6B1D5006B069A /* AVKit.framework */, - 8C5BCEC61EB3859200A9AAEF /* bctoolbox-tester.framework */, - 8C2595DE1DEDCC8E007A6424 /* CallKit.framework */, - 228697C311AC29B800E9E0CA /* CFNetwork.framework */, - 24E1C7B91F9A235500D3F981 /* Contacts.framework */, - 22744019106F31BD006EC466 /* CoreAudio.framework */, - 22744056106F9BC9006EC466 /* CoreFoundation.framework */, - 288765FC0DF74451002DB57D /* CoreGraphics.framework */, - 22276E8813C73DC000210156 /* CoreMedia.framework */, - 340751961506459A00B89C47 /* CoreTelephony.framework */, - 22276E8613C73D8A00210156 /* CoreVideo.framework */, - 1D30AB110D05D00D00671497 /* Foundation.framework */, - F0BB8C4A193631B300974404 /* ImageIO.framework */, - F0FF66AA1ACAEEB0008A4486 /* IOKit.framework */, - 344ABDEF14850AE9007420B6 /* libc++.1.dylib */, - F03A9B9718C0DB6F00C4D7FE /* libc++.dylib */, - F0B026F21AA710AF00FF49F7 /* libiconv.dylib */, - 63EEE40D1BBA9B250087D3AF /* libiconv.tbd */, - F0BB8C34193624C800974404 /* libresolv.9.dylib */, - 22D1B68012A3E0BE001AE361 /* libresolv.dylib */, - 8CD0B3BE1FA22CBA008FEB16 /* libsoci_core.a */, - 8C1A1F7C1FA331D40064BE00 /* libsoci_sqlite3.a */, - D32B6E2E15A5C0AC0033019F /* libsqlite3.dylib */, - 63EEE40B1BBA9B1B0087D3AF /* libsqlite3.tbd */, - 344ABDF014850AE9007420B6 /* libstdc++.6.dylib */, - F03A9B9418C0DAE100C4D7FE /* libstdc++.dylib */, - 152F22351B15E889008C0621 /* libxml2.dylib */, - 63EEE4091BBA9B110087D3AF /* libxml2.tbd */, - F05BAA611A5D594E00411815 /* libz.dylib */, - 8C3EAA191EB8D9C300B732B6 /* linphonetester.framework */, - F0B89C2118DC89E30050B60E /* MediaPlayer.framework */, - D37DC7171594AF3400B2A5EB /* MessageUI.framework */, - 226EF06B15FA256B005865C7 /* MobileCoreServices.framework */, - 5EF0C33820C806A5005081B0 /* NotificationCenter.framework */, - 70E542F213E147E3002BA2C0 /* OpenGLES.framework */, - 249660941FD6A359001D55AA /* Photos.framework */, - 8CA2004B1D8158440095F859 /* PushKit.framework */, - 70E542F413E147EB002BA2C0 /* QuartzCore.framework */, - 22744043106F33FC006EC466 /* Security.framework */, - F0181B6B18BF7B1200A9A357 /* SenTestingKit.framework */, - 570742661D5A63DB004B9C84 /* StoreKit.framework */, - 2264B6D111200342002C2C53 /* SystemConfiguration.framework */, - 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */, - 8C73477B1D9BA3A00022EE8C /* UserNotifications.framework */, - 5E58962520DCE5700030868C /* UserNotificationsUI.framework */, - 63CE583F1C85EBF400304800 /* VideoToolbox.framework */, - C6909F6B2AA0DC2A0011D273 /* NetworkExtension.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 61AE364C20C00B370089D9D3 /* linphoneExtension */ = { - isa = PBXGroup; - children = ( - 61AE366320C00C810089D9D3 /* linphoneExtension.entitlements */, - 61AE364D20C00B370089D9D3 /* ShareViewController.h */, - 61AE364E20C00B370089D9D3 /* ShareViewController.m */, - 61AE365020C00B370089D9D3 /* MainInterface.storyboard */, - 61AE365320C00B370089D9D3 /* Info.plist */, - ); - path = linphoneExtension; - sourceTree = ""; - }; - 633888401BFB2C49001D5E7B /* HPGrowingTextView */ = { - isa = PBXGroup; - children = ( - 633888411BFB2C49001D5E7B /* HPGrowingTextView.h */, - 633888421BFB2C49001D5E7B /* HPGrowingTextView.m */, - 633888431BFB2C49001D5E7B /* HPTextViewInternal.h */, - 633888441BFB2C49001D5E7B /* HPTextViewInternal.m */, - ); - name = HPGrowingTextView; - path = Utils/HPGrowingTextView; - sourceTree = ""; - }; - 633FEBE11D3CD5570014B822 /* images */ = { - isa = PBXGroup; - children = ( - D7A4C0052A3B135800EFBD1B /* new_chat_attachment_default.png */, - D7A4C0072A3B135800EFBD1B /* new_chat_send_default.png */, - D7A4C0062A3B135800EFBD1B /* new_vr_off.png */, - D7CF13722A2E225200D92165 /* emoji.png */, - C6E3E7ED291D648D00DDFC46 /* side_menu_voip_meeting_schedule@2x.png */, - C6E3E7EB291D642B00DDFC46 /* side_menu_voip_meeting_schedule.png */, - C6F55646287CCFB60056E213 /* menu_voip_meeting_schedule.png */, - C6F55644287CC69F0056E213 /* voip_meeting_schedule.png */, - C63F72A4285A2F1B0066163B /* conference_schedule_calendar_default.png */, - C63F72AD285A2F1C0066163B /* conference_schedule_participants_default.png */, - C63F72A8285A2F1C0066163B /* conference_schedule_time_default.png */, - C63F7280285A2F160066163B /* voip_audio_routes.png */, - C63F729B285A2F1A0066163B /* voip_bluetooth.png */, - C63F728A285A2F180066163B /* voip_call_add.png */, - C63F72A5285A2F1B0066163B /* voip_call_chat.png */, - C63F7282285A2F170066163B /* voip_call_forward.png */, - C63F729A285A2F1A0066163B /* voip_call_header_active.png */, - C63F7279285A2F150066163B /* voip_call_header_incoming.png */, - C63F72B4285A2F1D0066163B /* voip_call_header_outgoing.png */, - C63F727B285A2F160066163B /* voip_call_header_paused.png */, - C63F72A0285A2F1B0066163B /* voip_call_list_menu.png */, - C63F7287285A2F170066163B /* voip_call_more.png */, - C63F7276285A2F150066163B /* voip_call_numpad.png */, - C63F72A3285A2F1B0066163B /* voip_call_participants.png */, - C63F7281285A2F160066163B /* voip_call_record.png */, - C63F7288285A2F170066163B /* voip_call_stats.png */, - C63F729F285A2F1B0066163B /* voip_call.png */, - C63F727A285A2F150066163B /* voip_calls_list.png */, - C63F72AA285A2F1C0066163B /* voip_camera_off.png */, - C63F729D285A2F1A0066163B /* voip_camera_on.png */, - C63F72B3285A2F1D0066163B /* voip_cancel.png */, - C63F7283285A2F170066163B /* voip_change_camera.png */, - C63F7277285A2F150066163B /* voip_chat_rooms_list.png */, - C63F7284285A2F170066163B /* voip_checkbox_checked.png */, - C63F72A6285A2F1B0066163B /* voip_checkbox_unchecked.png */, - C63F72A1285A2F1B0066163B /* voip_conference_active_speaker.png */, - C63F7297285A2F190066163B /* voip_conference_audio_only.png */, - C63F72AE285A2F1D0066163B /* voip_conference_mosaic.png */, - C63F72B0285A2F1D0066163B /* voip_conference_new_selected.png */, - C63F7299285A2F1A0066163B /* voip_conference_new.png */, - C63F728C285A2F180066163B /* voip_conference_paused_big.png */, - C63F729E285A2F1A0066163B /* voip_conference_play_big.png */, - C63F728B285A2F180066163B /* voip_copy.png */, - C63F72B2285A2F1D0066163B /* voip_delete.png */, - C63F7271285A2F140066163B /* voip_dropdown.png */, - C63F7295285A2F190066163B /* voip_earpiece.png */, - C63F72A7285A2F1C0066163B /* voip_edit.png */, - C63F7275285A2F150066163B /* voip_export.png */, - C63F7291285A2F190066163B /* voip_hangup.png */, - C63F7285285A2F170066163B /* voip_info.png */, - C63F7294285A2F190066163B /* voip_mandatory.png */, - C63F7298285A2F1A0066163B /* voip_menu_more.png */, - C63F72A9285A2F1C0066163B /* voip_merge_calls.png */, - C63F729C285A2F1A0066163B /* voip_micro_off.png */, - C63F72AB285A2F1C0066163B /* voip_micro_on.png */, - C63F728F285A2F180066163B /* voip_multiple_contacts_avatar.png */, - C63F727C285A2F160066163B /* voip_numpad_0.png */, - C63F7293285A2F190066163B /* voip_numpad_1.png */, - C63F7296285A2F190066163B /* voip_numpad_2.png */, - C63F727D285A2F160066163B /* voip_numpad_3.png */, - C63F7278285A2F150066163B /* voip_numpad_4.png */, - C63F72AF285A2F1D0066163B /* voip_numpad_5.png */, - C63F72A2285A2F1B0066163B /* voip_numpad_6.png */, - C63F7273285A2F140066163B /* voip_numpad_7.png */, - C63F7289285A2F180066163B /* voip_numpad_8.png */, - C63F727E285A2F160066163B /* voip_numpad_9.png */, - C63F728E285A2F180066163B /* voip_numpad_hash.png */, - C63F728D285A2F180066163B /* voip_numpad_star.png */, - C63F7292285A2F190066163B /* voip_pause.png */, - C63F7274285A2F150066163B /* voip_radio_off.png */, - C63F72AC285A2F1C0066163B /* voip_radio_on.png */, - C63F7290285A2F180066163B /* voip_remote_recording.png */, - C63F72B1285A2F1D0066163B /* voip_single_contact_avatar.png */, - C63F7286285A2F170066163B /* voip_speaker_off.png */, - C63F727F285A2F160066163B /* voip_speaker_on.png */, - C63F7272285A2F140066163B /* voip_spinner.png */, - C66B040D26F095CE009B5EDC /* cancel_forward.png */, - C66B040926EFDA54009B5EDC /* reply_cancel.png */, - C6A1BB4426E890BD00540D50 /* file_voice_default.png */, - C6A1BB4226E88F7C00540D50 /* menu_resend_default.png */, - C6A1BB4026E889AD00540D50 /* forward_message_default.png */, - C6A1BB3926E881E100540D50 /* menu_delete.png */, - C6A1BB3326E8815400540D50 /* menu_copy_text_default.png */, - C6A1BB3226E8815400540D50 /* menu_forward_default.png */, - C6A1BB3126E8815300540D50 /* menu_info.png */, - C6A1BB3426E8815400540D50 /* menu_reply_default.png */, - C6B4444026AAD0970076C517 /* file_audio_default.png */, - C6B4443E26AAD0970076C517 /* file_default.png */, - C6B4444126AAD0970076C517 /* file_pdf_default.png */, - C6B4443F26AAD0970076C517 /* file_picture_default.png */, - C6B4443D26AAD0970076C517 /* file_video_default.png */, - C622E3EC26A8128F004F5434 /* vr_off.png */, - C622E3EB26A8128F004F5434 /* vr_on.png */, - C622E3ED26A8128F004F5434 /* vr_pause.png */, - C622E3EE26A81290004F5434 /* vr_play.png */, - C622E3E926A8128F004F5434 /* vr_stop.png */, - C622E3EA26A8128F004F5434 /* vr_wave.png */, - C61B1BF62667EC6B001A4E4A /* ephemeral_messages_color_A.png */, - C61B1BF32667D202001A4E4A /* more_menu_default.png */, - C61B1BF12667D075001A4E4A /* menu_security_default.png */, - C64A85512667B74100252AD2 /* ephemeral_messages_default.png */, - 633FEBE21D3CD5570014B822 /* add_field_default.png */, - 633FEBE31D3CD5570014B822 /* add_field_default@2x.png */, - 633FEBE41D3CD5570014B822 /* add_field_over.png */, - 633FEBE51D3CD5570014B822 /* add_field_over@2x.png */, - 633FEBE61D3CD5570014B822 /* avatar.png */, - 633FEBE71D3CD5570014B822 /* avatar@2x.png */, - 633FEBE81D3CD5570014B822 /* avatar~ipad.png */, - 633FEBE91D3CD5570014B822 /* avatar~ipad@2x.png */, - 633FEBEA1D3CD5570014B822 /* back_default.png */, - 633FEBEB1D3CD5570014B822 /* back_default@2x.png */, - 633FEBEC1D3CD5570014B822 /* back_disabled.png */, - 633FEBED1D3CD5570014B822 /* back_disabled@2x.png */, - 633FEBEE1D3CD5570014B822 /* backspace_default.png */, - 633FEBEF1D3CD5570014B822 /* backspace_default@2x.png */, - 633FEBF01D3CD5570014B822 /* backspace_disabled.png */, - 633FEBF11D3CD5570014B822 /* backspace_disabled@2x.png */, - 633FEBF21D3CD5570014B822 /* backspace_over.png */, - 633FEBF31D3CD5570014B822 /* backspace_over@2x.png */, - 633FEBF41D3CD5570014B822 /* call_add_default.png */, - 633FEBF51D3CD5570014B822 /* call_add_default@2x.png */, - 633FEBF61D3CD5570014B822 /* call_add_disabled.png */, - 633FEBF71D3CD5570014B822 /* call_add_disabled@2x.png */, - 633FEBF81D3CD5570014B822 /* call_alt_back_default.png */, - 633FEBF91D3CD5570014B822 /* call_alt_back_default@2x.png */, - 633FEBFA1D3CD5570014B822 /* call_alt_back_disabled.png */, - 633FEBFB1D3CD5570014B822 /* call_alt_back_disabled@2x.png */, - 633FEBFC1D3CD5570014B822 /* call_alt_start_default.png */, - 633FEBFD1D3CD5570014B822 /* call_alt_start_default@2x.png */, - 633FEBFE1D3CD5570014B822 /* call_alt_start_disabled.png */, - 633FEBFF1D3CD5570014B822 /* call_alt_start_disabled@2x.png */, - 633FEC001D3CD5570014B822 /* call_audio_start_default.png */, - 633FEC011D3CD5570014B822 /* call_audio_start_default@2x.png */, - 633FEC021D3CD5570014B822 /* call_audio_start_disabled.png */, - 633FEC031D3CD5570014B822 /* call_audio_start_disabled@2x.png */, - 633FEC041D3CD5570014B822 /* call_back_default.png */, - 633FEC051D3CD5570014B822 /* call_back_default@2x.png */, - 633FEC061D3CD5570014B822 /* call_back_disabled.png */, - 633FEC071D3CD5570014B822 /* call_back_disabled@2x.png */, - 633FEC081D3CD5570014B822 /* call_hangup_default.png */, - 633FEC091D3CD5570014B822 /* call_hangup_default@2x.png */, - 633FEC0A1D3CD5570014B822 /* call_hangup_disabled.png */, - 633FEC0B1D3CD5570014B822 /* call_hangup_disabled@2x.png */, - 633FEC0C1D3CD5570014B822 /* call_incoming.png */, - 633FEC0D1D3CD5570014B822 /* call_incoming@2x.png */, - 633FEC0E1D3CD5570014B822 /* call_missed.png */, - 633FEC0F1D3CD5570014B822 /* call_missed@2x.png */, - 633FEC101D3CD5570014B822 /* call_outgoing.png */, - 633FEC111D3CD5570014B822 /* call_outgoing@2x.png */, - 633FEC121D3CD5570014B822 /* call_quality_indicator_0.png */, - 633FEC131D3CD5570014B822 /* call_quality_indicator_0@2x.png */, - 633FEC141D3CD5570014B822 /* call_quality_indicator_1.png */, - 633FEC151D3CD5570014B822 /* call_quality_indicator_1@2x.png */, - 633FEC161D3CD5570014B822 /* call_quality_indicator_2.png */, - 633FEC171D3CD5570014B822 /* call_quality_indicator_2@2x.png */, - 633FEC181D3CD5570014B822 /* call_quality_indicator_3.png */, - 633FEC191D3CD5570014B822 /* call_quality_indicator_3@2x.png */, - 633FEC1A1D3CD5570014B822 /* call_quality_indicator_4.png */, - 633FEC1B1D3CD5570014B822 /* call_quality_indicator_4@2x.png */, - 633FEC1C1D3CD5570014B822 /* call_start_body_default.png */, - 633FEC1D1D3CD5570014B822 /* call_start_body_default@2x.png */, - 633FEC1E1D3CD5570014B822 /* call_start_body_default~ipad.png */, - 633FEC1F1D3CD5570014B822 /* call_start_body_default~ipad@2x.png */, - 633FEC201D3CD5570014B822 /* call_start_body_disabled.png */, - 633FEC211D3CD5570014B822 /* call_start_body_disabled@2x.png */, - 633FEC221D3CD5570014B822 /* call_start_body_disabled~ipad.png */, - 633FEC231D3CD5570014B822 /* call_start_body_disabled~ipad@2x.png */, - 633FEC241D3CD5570014B822 /* call_start_body_over.png */, - 633FEC251D3CD5570014B822 /* call_start_body_over@2x.png */, - 633FEC261D3CD5570014B822 /* call_start_body_over~ipad.png */, - 633FEC271D3CD5570014B822 /* call_start_body_over~ipad@2x.png */, - 633FEC281D3CD5570014B822 /* call_status_incoming.png */, - 633FEC291D3CD5570014B822 /* call_status_incoming@2x.png */, - 633FEC2A1D3CD5570014B822 /* call_status_incoming~ipad.png */, - 633FEC2B1D3CD5570014B822 /* call_status_incoming~ipad@2x.png */, - 633FEC2C1D3CD5570014B822 /* call_status_missed.png */, - 633FEC2D1D3CD5570014B822 /* call_status_missed@2x.png */, - 633FEC2E1D3CD5570014B822 /* call_status_missed~ipad.png */, - 633FEC2F1D3CD5570014B822 /* call_status_missed~ipad@2x.png */, - 633FEC301D3CD5570014B822 /* call_status_outgoing.png */, - 633FEC311D3CD5570014B822 /* call_status_outgoing@2x.png */, - 633FEC321D3CD5570014B822 /* call_status_outgoing~ipad.png */, - 633FEC331D3CD5570014B822 /* call_status_outgoing~ipad@2x.png */, - 633FEC341D3CD5570014B822 /* call_transfer_default.png */, - 633FEC351D3CD5570014B822 /* call_transfer_default@2x.png */, - 633FEC361D3CD5570014B822 /* call_transfer_disabled.png */, - 633FEC371D3CD5570014B822 /* call_transfer_disabled@2x.png */, - 633FEC381D3CD5570014B822 /* call_video_start_default.png */, - 633FEC391D3CD5570014B822 /* call_video_start_default@2x.png */, - 633FEC3A1D3CD5570014B822 /* call_video_start_disabled.png */, - 633FEC3B1D3CD5570014B822 /* call_video_start_disabled@2x.png */, - 24BFAA9B209B062F004F47A7 /* callkit_logo.png */, - 8CD99A1B20908C27008A7CDA /* callkit_logo@2x.png */, - 633FEC3C1D3CD5570014B822 /* camera_default.png */, - 633FEC3D1D3CD5570014B822 /* camera_default@2x.png */, - 633FEC3E1D3CD5570014B822 /* camera_disabled.png */, - 633FEC3F1D3CD5570014B822 /* camera_disabled@2x.png */, - 633FEC401D3CD5570014B822 /* camera_selected.png */, - 633FEC411D3CD5570014B822 /* camera_selected@2x.png */, - 633FEC421D3CD5570014B822 /* camera_switch_default.png */, - 633FEC431D3CD5570014B822 /* camera_switch_default@2x.png */, - 633FEC441D3CD5570014B822 /* camera_switch_disabled.png */, - 633FEC451D3CD5570014B822 /* camera_switch_disabled@2x.png */, - 633FEC461D3CD5570014B822 /* camera_switch_over.png */, - 633FEC471D3CD5570014B822 /* camera_switch_over@2x.png */, - 633FEC481D3CD5570014B822 /* cancel_edit_default.png */, - 633FEC491D3CD5570014B822 /* cancel_edit_default@2x.png */, - 633FEC4A1D3CD5570014B822 /* cancel_edit_disabled.png */, - 633FEC4B1D3CD5570014B822 /* cancel_edit_disabled@2x.png */, - 633FEC4C1D3CD5570014B822 /* chat_add_default.png */, - 633FEC4D1D3CD5570014B822 /* chat_add_default@2x.png */, - 633FEC4E1D3CD5570014B822 /* chat_add_disabled.png */, - 633FEC4F1D3CD5570014B822 /* chat_add_disabled@2x.png */, - 615A2808217F1FD40060F920 /* chat_add_group.png */, - 615A2810217F1FDE0060F920 /* chat_add_group@2x.png */, - 633FEC501D3CD5570014B822 /* chat_attachment_default.png */, - 633FEC511D3CD5570014B822 /* chat_attachment_default@2x.png */, - 633FEC521D3CD5570014B822 /* chat_attachment_disabled.png */, - 633FEC531D3CD5570014B822 /* chat_attachment_disabled@2x.png */, - 633FEC541D3CD5570014B822 /* chat_attachment_over.png */, - 633FEC551D3CD5570014B822 /* chat_attachment_over@2x.png */, - 244523AC1E8266CC0037A187 /* chat_delivered.png */, - 244523AD1E8266CC0037A187 /* chat_error.png */, - 8CA70AD31F9E285B00A3D2EB /* chat_group_add.png */, - 8CA70AD21F9E285B00A3D2EB /* chat_group_add@2x.png */, - 8C2A81941F87B8000012A66B /* chat_group_avatar.png */, - 8C2A81931F87B7FF0012A66B /* chat_group_avatar@2x.png */, - 8CF25D9B1F9F76BC00BEA0C1 /* chat_group_informations.png */, - 8CF25D9C1F9F76BD00BEA0C1 /* chat_group_informations@2x.png */, - 615A2816217F280C0060F920 /* chat_list_indicator.png */, - 615A2818217F28160060F920 /* chat_list_indicator@2x.png */, - 633FEC561D3CD5570014B822 /* chat_list_indicator~ipad.png */, - 633FEC571D3CD5570014B822 /* chat_list_indicator~ipad@2x.png */, - 633FEC581D3CD5570014B822 /* chat_message_not_delivered.png */, - 633FEC591D3CD5570014B822 /* chat_message_not_delivered@2x.png */, - 244523AE1E8266CC0037A187 /* chat_read.png */, - 8CB2B8F61F86229B0015CEE2 /* chat_secure.png */, - 633FEC5A1D3CD5570014B822 /* chat_send_default.png */, - 633FEC5B1D3CD5570014B822 /* chat_send_default@2x.png */, - 633FEC5C1D3CD5570014B822 /* chat_send_disabled.png */, - 633FEC5D1D3CD5570014B822 /* chat_send_disabled@2x.png */, - 633FEC5E1D3CD5570014B822 /* chat_send_over.png */, - 633FEC5F1D3CD5570014B822 /* chat_send_over@2x.png */, - 633FEC601D3CD5570014B822 /* chat_start_body_default.png */, - 633FEC611D3CD5570014B822 /* chat_start_body_default@2x.png */, - 633FEC621D3CD5570014B822 /* chat_start_body_default~ipad.png */, - 633FEC631D3CD5570014B822 /* chat_start_body_default~ipad@2x.png */, - 633FEC641D3CD5570014B822 /* chat_start_body_disabled.png */, - 633FEC651D3CD5570014B822 /* chat_start_body_disabled@2x.png */, - 633FEC661D3CD5570014B822 /* chat_start_body_disabled~ipad.png */, - 633FEC671D3CD5570014B822 /* chat_start_body_disabled~ipad@2x.png */, - 633FEC681D3CD5570014B822 /* chat_start_body_over.png */, - 633FEC691D3CD5570014B822 /* chat_start_body_over@2x.png */, - 633FEC6A1D3CD5570014B822 /* chat_start_body_over~ipad.png */, - 633FEC6B1D3CD5570014B822 /* chat_start_body_over~ipad@2x.png */, - 244523BC1E8D3A6C0037A187 /* chat_unsecure.png */, - 8CDC618C1F84D89B0087CF7F /* check_selected.png */, - 8CDC61961F84D9270087CF7F /* check_selected@2x.png */, - 8CF25D941F9F336100BEA0C1 /* check_unselected.png */, - 8CF25D8B1F9F336000BEA0C1 /* check_unselected@2x.png */, - 633FEC6C1D3CD5570014B822 /* checkbox_checked.png */, - 633FEC6D1D3CD5570014B822 /* checkbox_checked@2x.png */, - 633FEC6E1D3CD5570014B822 /* checkbox_unchecked.png */, - 633FEC6F1D3CD5570014B822 /* checkbox_unchecked@2x.png */, - 61AEBEC52191E47500F35E7F /* chevron_list_close.png */, - 61AEBEC72191E48400F35E7F /* chevron_list_close@2x.png */, - 61AEBEC92191E49200F35E7F /* chevron_list_open.png */, - 61AEBECB2191E4A300F35E7F /* chevron_list_open@2x.png */, - 633FEC701D3CD5570014B822 /* color_A.png */, - 633FEC711D3CD5570014B822 /* color_C.png */, - 633FEC721D3CD5570014B822 /* color_D.png */, - 633FEC731D3CD5570014B822 /* color_E.png */, - 633FEC741D3CD5570014B822 /* color_F.png */, - 633FEC751D3CD5570014B822 /* color_G.png */, - 633FEC761D3CD5570014B822 /* color_H.png */, - 633FEC771D3CD5570014B822 /* color_I.png */, - 633FEC781D3CD5570014B822 /* color_L.png */, - 633FEC791D3CD5570014B822 /* color_M.png */, - 8CE24F551F8268840077AC0A /* conference_delete.png */, - 8CE24F561F8268840077AC0A /* conference_delete@2x.png */, - 633FEC7A1D3CD5570014B822 /* conference_exit_default.png */, - 633FEC7B1D3CD5570014B822 /* conference_exit_default@2x.png */, - 633FEC7C1D3CD5570014B822 /* conference_exit_over.png */, - 633FEC7D1D3CD5570014B822 /* conference_exit_over@2x.png */, - 633FEC7E1D3CD5570014B822 /* contact_add_default.png */, - 633FEC7F1D3CD5570014B822 /* contact_add_default@2x.png */, - 633FEC801D3CD5570014B822 /* contact_add_disabled.png */, - 633FEC811D3CD5570014B822 /* contact_add_disabled@2x.png */, - 633FEC821D3CD5570014B822 /* contacts_all_default.png */, - 633FEC831D3CD5570014B822 /* contacts_all_default@2x.png */, - 633FEC841D3CD5570014B822 /* contacts_all_disabled.png */, - 633FEC851D3CD5570014B822 /* contacts_all_disabled@2x.png */, - 633FEC861D3CD5570014B822 /* contacts_all_selected.png */, - 633FEC871D3CD5570014B822 /* contacts_all_selected@2x.png */, - 24BFAA99209B062E004F47A7 /* contacts_sip_default.png */, - 24BFAA94209B062C004F47A7 /* contacts_sip_default@2x.png */, - 24BFAA97209B062E004F47A7 /* contacts_sip_selected.png */, - 24BFAA9C209B062F004F47A7 /* contacts_sip_selected@2x.png */, - 633FEC8E1D3CD5570014B822 /* delete_default.png */, - 633FEC8F1D3CD5570014B822 /* delete_default@2x.png */, - 633FEC901D3CD5570014B822 /* delete_disabled.png */, - 633FEC911D3CD5570014B822 /* delete_disabled@2x.png */, - 633FEC921D3CD5570014B822 /* delete_field_default.png */, - 633FEC931D3CD5570014B822 /* delete_field_default@2x.png */, - 633FEC941D3CD5570014B822 /* delete_field_over.png */, - 633FEC951D3CD5570014B822 /* delete_field_over@2x.png */, - CFBD7A2320E504AD007C5286 /* delete_img.png */, - 633FEC961D3CD5570014B822 /* deselect_all.png */, - 633FEC971D3CD5570014B822 /* deselect_all@2x.png */, - 633FEC981D3CD5570014B822 /* dialer_alt_back.png */, - 633FEC991D3CD5570014B822 /* dialer_alt_back@2x.png */, - 633FEC9A1D3CD5570014B822 /* dialer_back_default.png */, - 633FEC9B1D3CD5570014B822 /* dialer_back_default@2x.png */, - 633FEC9C1D3CD5570014B822 /* dialer_back_disabled.png */, - 633FEC9D1D3CD5570014B822 /* dialer_back_disabled@2x.png */, - 24BFAA8C209B062B004F47A7 /* dialer_background.png */, - 633FECA01D3CD5570014B822 /* edit_default.png */, - 633FECA11D3CD5570014B822 /* edit_default@2x.png */, - 633FECA21D3CD5570014B822 /* edit_disabled.png */, - 633FECA31D3CD5570014B822 /* edit_disabled@2x.png */, - 633FECA41D3CD5570014B822 /* edit_list_default.png */, - 633FECA51D3CD5570014B822 /* edit_list_default@2x.png */, - 633FECA61D3CD5570014B822 /* edit_list_disabled.png */, - 633FECA71D3CD5570014B822 /* edit_list_disabled@2x.png */, - 633FECA81D3CD5570014B822 /* footer_chat_default.png */, - 633FECA91D3CD5570014B822 /* footer_chat_default@2x.png */, - 633FECAA1D3CD5570014B822 /* footer_chat_disabled.png */, - 633FECAB1D3CD5570014B822 /* footer_chat_disabled@2x.png */, - 633FECAC1D3CD5570014B822 /* footer_contacts_default.png */, - 633FECAD1D3CD5570014B822 /* footer_contacts_default@2x.png */, - 633FECAE1D3CD5570014B822 /* footer_contacts_disabled.png */, - 633FECAF1D3CD5570014B822 /* footer_contacts_disabled@2x.png */, - 633FECB01D3CD5570014B822 /* footer_dialer_default.png */, - 633FECB11D3CD5570014B822 /* footer_dialer_default@2x.png */, - 633FECB21D3CD5570014B822 /* footer_dialer_disabled.png */, - 633FECB31D3CD5570014B822 /* footer_dialer_disabled@2x.png */, - 633FECB41D3CD5570014B822 /* footer_history_default.png */, - 633FECB51D3CD5570014B822 /* footer_history_default@2x.png */, - 633FECB61D3CD5570014B822 /* footer_history_disabled.png */, - 633FECB71D3CD5570014B822 /* footer_history_disabled@2x.png */, - 633FECB81D3CD5570014B822 /* history_all_default.png */, - 633FECB91D3CD5570014B822 /* history_all_default@2x.png */, - 633FECBA1D3CD5570014B822 /* history_all_disabled.png */, - 633FECBB1D3CD5570014B822 /* history_all_disabled@2x.png */, - 633FECBC1D3CD5570014B822 /* history_all_selected.png */, - 633FECBD1D3CD5570014B822 /* history_all_selected@2x.png */, - 633FECBE1D3CD5570014B822 /* history_chat_indicator.png */, - 633FECBF1D3CD5570014B822 /* history_chat_indicator@2x.png */, - 633FECC01D3CD5570014B822 /* history_missed_default.png */, - 633FECC11D3CD5570014B822 /* history_missed_default@2x.png */, - 633FECC21D3CD5570014B822 /* history_missed_disabled.png */, - 633FECC31D3CD5570014B822 /* history_missed_disabled@2x.png */, - 633FECC41D3CD5570014B822 /* history_missed_selected.png */, - 633FECC51D3CD5570014B822 /* history_missed_selected@2x.png */, - 615A283D2180A2550060F920 /* invite_linphone.png */, - 615A283F2180A2620060F920 /* invite_linphone@2x.png */, - 633FECC61D3CD5570014B822 /* led_connected.png */, - 633FECC71D3CD5570014B822 /* led_connected@2x.png */, - 633FECC81D3CD5570014B822 /* led_disconnected.png */, - 633FECC91D3CD5570014B822 /* led_disconnected@2x.png */, - 633FECCA1D3CD5570014B822 /* led_error.png */, - 633FECCB1D3CD5570014B822 /* led_error@2x.png */, - 633FECCC1D3CD5570014B822 /* led_inprogress.png */, - 633FECCD1D3CD5570014B822 /* led_inprogress@2x.png */, - 8C300D981E40E0CC00728EF3 /* lime_ko.png */, - 8C300D991E40E0CC00728EF3 /* lime_ko@2x.png */, - 24BFAA98209B062E004F47A7 /* linphone_logo.png */, - 24BFAA9D209B0630004F47A7 /* linphone_logo@2x.png */, - 24BFAA93209B062C004F47A7 /* linphone_user.png */, - 24BFAA95209B062D004F47A7 /* linphone_user@2x.png */, - 24BFAA9A209B062F004F47A7 /* linphone_user~ipad.png */, - 24BFAA96209B062D004F47A7 /* linphone_user~ipad@2x.png */, - 633FECD41D3CD5580014B822 /* list_details_default.png */, - 633FECD51D3CD5580014B822 /* list_details_default@2x.png */, - 633FECD61D3CD5580014B822 /* list_details_over.png */, - 633FECD71D3CD5580014B822 /* list_details_over@2x.png */, - 633FECD81D3CD5580014B822 /* menu.png */, - 633FECD91D3CD5580014B822 /* menu@2x.png */, - 61586B7A217A16EE0038AC45 /* menu_about.png */, - 61586B82217A16FD0038AC45 /* menu_about@2x.png */, - 61586B84217A17070038AC45 /* menu_assistant.png */, - 61586B86217A17150038AC45 /* menu_assistant@2x.png */, - 61586B88217A17220038AC45 /* menu_link_account.png */, - 61586B8A217A17320038AC45 /* menu_link_account@2x.png */, - 66E399F52857869200E73456 /* menu_notifications_off.png */, - 66E399F62857869200E73456 /* menu_notifications_on.png */, - 61586B8C217A173F0038AC45 /* menu_options.png */, - 61586B8E217A174F0038AC45 /* menu_options@2x.png */, - 61586B90217A175C0038AC45 /* menu_recordings.png */, - 61586B92217A176F0038AC45 /* menu_recordings@2x.png */, - 633FECDA1D3CD5580014B822 /* micro_default.png */, - 633FECDB1D3CD5580014B822 /* micro_default@2x.png */, - 633FECDC1D3CD5580014B822 /* micro_disabled.png */, - 633FECDD1D3CD5580014B822 /* micro_disabled@2x.png */, - 633FECDE1D3CD5580014B822 /* micro_selected.png */, - 633FECDF1D3CD5580014B822 /* micro_selected@2x.png */, - 8CE24F491F8234A20077AC0A /* next_default.png */, - 8CE24F4A1F8234A30077AC0A /* next_default@2x.png */, - 8CB2B8F71F86229C0015CEE2 /* next_disabled.png */, - 8CB2B8F81F86229D0015CEE2 /* next_disabled@2x.png */, - 633FECE01D3CD5580014B822 /* nowebcamCIF.jpg */, - 633FECE11D3CD5580014B822 /* numpad_0_default.png */, - 633FECE21D3CD5580014B822 /* numpad_0_default@2x.png */, - 633FECE31D3CD5580014B822 /* numpad_0_over.png */, - 633FECE41D3CD5580014B822 /* numpad_0_over@2x.png */, - 633FECE51D3CD5580014B822 /* numpad_0_over~ipad.png */, - 633FECE61D3CD5580014B822 /* numpad_0_over~ipad@2x.png */, - 633FECE71D3CD5580014B822 /* numpad_0~ipad.png */, - 633FECE81D3CD5580014B822 /* numpad_0~ipad@2x.png */, - 633FECE91D3CD5580014B822 /* numpad_1_default.png */, - 633FECEA1D3CD5580014B822 /* numpad_1_default@2x.png */, - 633FECEB1D3CD5580014B822 /* numpad_1_over.png */, - 633FECEC1D3CD5580014B822 /* numpad_1_over@2x.png */, - 633FECED1D3CD5580014B822 /* numpad_1_over~ipad.png */, - 633FECEE1D3CD5580014B822 /* numpad_1_over~ipad@2x.png */, - 633FECEF1D3CD5580014B822 /* numpad_1~ipad.png */, - 633FECF01D3CD5580014B822 /* numpad_1~ipad@2x.png */, - 633FECF11D3CD5580014B822 /* numpad_2_default.png */, - 633FECF21D3CD5580014B822 /* numpad_2_default@2x.png */, - 633FECF31D3CD5580014B822 /* numpad_2_over.png */, - 633FECF41D3CD5580014B822 /* numpad_2_over@2x.png */, - 633FECF51D3CD5580014B822 /* numpad_2_over~ipad.png */, - 633FECF61D3CD5580014B822 /* numpad_2_over~ipad@2x.png */, - 633FECF71D3CD5580014B822 /* numpad_2~ipad.png */, - 633FECF81D3CD5580014B822 /* numpad_2~ipad@2x.png */, - 633FECF91D3CD5580014B822 /* numpad_3_default.png */, - 633FECFA1D3CD5580014B822 /* numpad_3_default@2x.png */, - 633FECFB1D3CD5580014B822 /* numpad_3_over.png */, - 633FECFC1D3CD5580014B822 /* numpad_3_over@2x.png */, - 633FECFD1D3CD5580014B822 /* numpad_3_over~ipad.png */, - 633FECFE1D3CD5580014B822 /* numpad_3_over~ipad@2x.png */, - 633FECFF1D3CD5580014B822 /* numpad_3~ipad.png */, - 633FED001D3CD5580014B822 /* numpad_3~ipad@2x.png */, - 633FED011D3CD5580014B822 /* numpad_4_default.png */, - 633FED021D3CD5580014B822 /* numpad_4_default@2x.png */, - 633FED031D3CD5580014B822 /* numpad_4_over.png */, - 633FED041D3CD5580014B822 /* numpad_4_over@2x.png */, - 633FED051D3CD5580014B822 /* numpad_4_over~ipad.png */, - 633FED061D3CD5580014B822 /* numpad_4_over~ipad@2x.png */, - 633FED071D3CD5580014B822 /* numpad_4~ipad.png */, - 633FED081D3CD5580014B822 /* numpad_4~ipad@2x.png */, - 633FED091D3CD5580014B822 /* numpad_5_default.png */, - 633FED0A1D3CD5580014B822 /* numpad_5_default@2x.png */, - 633FED0B1D3CD5580014B822 /* numpad_5_over.png */, - 633FED0C1D3CD5580014B822 /* numpad_5_over@2x.png */, - 633FED0D1D3CD5580014B822 /* numpad_5_over~ipad.png */, - 633FED0E1D3CD5580014B822 /* numpad_5_over~ipad@2x.png */, - 633FED0F1D3CD5580014B822 /* numpad_5~ipad.png */, - 633FED101D3CD5580014B822 /* numpad_5~ipad@2x.png */, - 633FED111D3CD5580014B822 /* numpad_6_default.png */, - 633FED121D3CD5580014B822 /* numpad_6_default@2x.png */, - 633FED131D3CD5580014B822 /* numpad_6_over.png */, - 633FED141D3CD5580014B822 /* numpad_6_over@2x.png */, - 633FED151D3CD5580014B822 /* numpad_6_over~ipad.png */, - 633FED161D3CD5580014B822 /* numpad_6_over~ipad@2x.png */, - 633FED171D3CD5580014B822 /* numpad_6~ipad.png */, - 633FED181D3CD5580014B822 /* numpad_6~ipad@2x.png */, - 633FED191D3CD5580014B822 /* numpad_7_default.png */, - 633FED1A1D3CD5580014B822 /* numpad_7_default@2x.png */, - 633FED1B1D3CD5580014B822 /* numpad_7_over.png */, - 633FED1C1D3CD5580014B822 /* numpad_7_over@2x.png */, - 633FED1D1D3CD5580014B822 /* numpad_7_over~ipad.png */, - 633FED1E1D3CD5580014B822 /* numpad_7_over~ipad@2x.png */, - 633FED1F1D3CD5580014B822 /* numpad_7~ipad.png */, - 633FED201D3CD5580014B822 /* numpad_7~ipad@2x.png */, - 633FED211D3CD5580014B822 /* numpad_8_default.png */, - 633FED221D3CD5580014B822 /* numpad_8_default@2x.png */, - 633FED231D3CD5580014B822 /* numpad_8_over.png */, - 633FED241D3CD5580014B822 /* numpad_8_over@2x.png */, - 633FED251D3CD5580014B822 /* numpad_8_over~ipad.png */, - 633FED261D3CD5580014B822 /* numpad_8_over~ipad@2x.png */, - 633FED271D3CD5580014B822 /* numpad_8~ipad.png */, - 633FED281D3CD5580014B822 /* numpad_8~ipad@2x.png */, - 633FED291D3CD5580014B822 /* numpad_9_default.png */, - 633FED2A1D3CD5580014B822 /* numpad_9_default@2x.png */, - 633FED2B1D3CD5580014B822 /* numpad_9_over.png */, - 633FED2C1D3CD5580014B822 /* numpad_9_over@2x.png */, - 633FED2D1D3CD5580014B822 /* numpad_9_over~ipad.png */, - 633FED2E1D3CD5580014B822 /* numpad_9_over~ipad@2x.png */, - 633FED2F1D3CD5580014B822 /* numpad_9~ipad.png */, - 633FED301D3CD5580014B822 /* numpad_9~ipad@2x.png */, - 633FED311D3CD5580014B822 /* numpad_hash_default.png */, - 633FED321D3CD5580014B822 /* numpad_hash_default@2x.png */, - 633FED331D3CD5580014B822 /* numpad_hash_over.png */, - 633FED341D3CD5580014B822 /* numpad_hash_over@2x.png */, - 633FED351D3CD5580014B822 /* numpad_hash_over~ipad.png */, - 633FED361D3CD5580014B822 /* numpad_hash_over~ipad@2x.png */, - 633FED371D3CD5580014B822 /* numpad_hash~ipad.png */, - 633FED381D3CD5580014B822 /* numpad_hash~ipad@2x.png */, - 633FED391D3CD5580014B822 /* numpad_over_background.png */, - 633FED3A1D3CD5580014B822 /* numpad_star_default.png */, - 633FED3B1D3CD5580014B822 /* numpad_star_default@2x.png */, - 633FED3C1D3CD5580014B822 /* numpad_star_over.png */, - 633FED3D1D3CD5580014B822 /* numpad_star_over@2x.png */, - 633FED3E1D3CD5580014B822 /* numpad_star_over~ipad.png */, - 633FED3F1D3CD5580014B822 /* numpad_star_over~ipad@2x.png */, - 633FED401D3CD5580014B822 /* numpad_star~ipad.png */, - 633FED411D3CD5580014B822 /* numpad_star~ipad@2x.png */, - 633FED421D3CD5580014B822 /* options_add_call_default.png */, - 633FED431D3CD5580014B822 /* options_add_call_default@2x.png */, - 633FED441D3CD5580014B822 /* options_add_call_disabled.png */, - 633FED451D3CD5580014B822 /* options_add_call_disabled@2x.png */, - 633FED461D3CD5580014B822 /* options_default.png */, - 633FED471D3CD5580014B822 /* options_default@2x.png */, - 633FED481D3CD5580014B822 /* options_disabled.png */, - 633FED491D3CD5580014B822 /* options_disabled@2x.png */, - 633FED4A1D3CD5580014B822 /* options_selected.png */, - 633FED4B1D3CD5580014B822 /* options_selected@2x.png */, - 633FED4C1D3CD5580014B822 /* options_start_conference_default.png */, - 633FED4D1D3CD5580014B822 /* options_start_conference_default@2x.png */, - 633FED4E1D3CD5580014B822 /* options_start_conference_disabled.png */, - 633FED4F1D3CD5580014B822 /* options_start_conference_disabled@2x.png */, - 633FED501D3CD5580014B822 /* options_transfer_call_default.png */, - 633FED511D3CD5580014B822 /* options_transfer_call_default@2x.png */, - 633FED521D3CD5580014B822 /* options_transfer_call_disabled.png */, - 633FED531D3CD5580014B822 /* options_transfer_call_disabled@2x.png */, - 633FED541D3CD5580014B822 /* pause_big_default.png */, - 633FED551D3CD5580014B822 /* pause_big_default@2x.png */, - 633FED561D3CD5580014B822 /* pause_big_disabled.png */, - 633FED571D3CD5580014B822 /* pause_big_disabled@2x.png */, - 633FED581D3CD5580014B822 /* pause_big_over_selected.png */, - 633FED591D3CD5580014B822 /* pause_big_over_selected@2x.png */, - 633FED5A1D3CD5580014B822 /* pause_small_default.png */, - 633FED5B1D3CD5590014B822 /* pause_small_default@2x.png */, - 633FED5C1D3CD5590014B822 /* pause_small_disabled.png */, - 633FED5D1D3CD5590014B822 /* pause_small_disabled@2x.png */, - 633FED5E1D3CD5590014B822 /* pause_small_over_selected.png */, - 633FED5F1D3CD5590014B822 /* pause_small_over_selected@2x.png */, - 667A423B293A4BAD00C4306C /* post_quantum_secure@3x.png */, - 633FED601D3CD5590014B822 /* presence_away.png */, - 633FED611D3CD5590014B822 /* presence_away@2x.png */, - 633FED621D3CD5590014B822 /* presence_offline.png */, - 633FED631D3CD5590014B822 /* presence_offline@2x.png */, - 633FED641D3CD5590014B822 /* presence_online.png */, - 633FED651D3CD5590014B822 /* presence_online@2x.png */, - 633FED661D3CD5590014B822 /* presence_unregistered.png */, - 633FED671D3CD5590014B822 /* presence_unregistered@2x.png */, - CF7602F3210898C600749F76 /* rec_off_default.png */, - CF7602EB210898C100749F76 /* rec_off_default@2x.png */, - CF7602F4210898C800749F76 /* rec_on_default.png */, - CF7602F2210898C400749F76 /* rec_on_default@2x.png */, - 615A28412180C0820060F920 /* recording.png */, - 615A28432180C08F0060F920 /* recording@2x.png */, - 633FED681D3CD5590014B822 /* route_bluetooth_default.png */, - 633FED691D3CD5590014B822 /* route_bluetooth_default@2x.png */, - 633FED6A1D3CD5590014B822 /* route_bluetooth_disabled.png */, - 633FED6B1D3CD5590014B822 /* route_bluetooth_disabled@2x.png */, - 633FED6C1D3CD5590014B822 /* route_bluetooth_selected.png */, - 633FED6D1D3CD5590014B822 /* route_bluetooth_selected@2x.png */, - 633FED6E1D3CD5590014B822 /* route_earpiece_default.png */, - 633FED6F1D3CD5590014B822 /* route_earpiece_default@2x.png */, - 633FED701D3CD5590014B822 /* route_earpiece_disabled.png */, - 633FED711D3CD5590014B822 /* route_earpiece_disabled@2x.png */, - 633FED721D3CD5590014B822 /* route_earpiece_selected.png */, - 633FED731D3CD5590014B822 /* route_earpiece_selected@2x.png */, - 633FED741D3CD5590014B822 /* route_speaker_default.png */, - 633FED751D3CD5590014B822 /* route_speaker_default@2x.png */, - 633FED761D3CD5590014B822 /* route_speaker_disabled.png */, - 633FED771D3CD5590014B822 /* route_speaker_disabled@2x.png */, - 633FED781D3CD5590014B822 /* route_speaker_selected.png */, - 633FED791D3CD5590014B822 /* route_speaker_selected@2x.png */, - 633FED7A1D3CD5590014B822 /* routes_default.png */, - 633FED7B1D3CD5590014B822 /* routes_default@2x.png */, - 633FED7C1D3CD5590014B822 /* routes_disabled.png */, - 633FED7D1D3CD5590014B822 /* routes_disabled@2x.png */, - 633FED7E1D3CD5590014B822 /* routes_selected.png */, - 633FED7F1D3CD5590014B822 /* routes_selected@2x.png */, - 669B140727A1821F0012220A /* scroll_to_bottom_default.png */, - 615A2812217F24D40060F920 /* security_1_indicator.png */, - 615A2814217F24E00060F920 /* security_1_indicator@2x.png */, - 615A281A217F6F9B0060F920 /* security_2_indicator.png */, - 615A281C217F6FA80060F920 /* security_2_indicator@2x.png */, - 615A281E217F6FB30060F920 /* security_alert_indicator.png */, - 615A2820217F6FBF0060F920 /* security_alert_indicator@2x.png */, - 633FED801D3CD5590014B822 /* security_ko.png */, - 633FED811D3CD5590014B822 /* security_ko@2x.png */, - 633FED821D3CD5590014B822 /* security_ok.png */, - 633FED831D3CD5590014B822 /* security_ok@2x.png */, - 633FED841D3CD5590014B822 /* security_pending.png */, - 633FED851D3CD5590014B822 /* security_pending@2x.png */, - 615A282F218071E80060F920 /* security_toogle_background_green.png */, - 615A2831218071F30060F920 /* security_toogle_background_green@2x.png */, - 615A2833218071FF0060F920 /* security_toogle_background_grey.png */, - 615A28352180720D0060F920 /* security_toogle_background_grey@2x.png */, - 615A28392180788E0060F920 /* security_toogle_button.png */, - 615A283B2180789C0060F920 /* security_toogle_button@2x.png */, - 615A282321805B250060F920 /* security_toogle_icon_green.png */, - 615A282521805B320060F920 /* security_toogle_icon_green@2x.png */, - 615A282721805B400060F920 /* security_toogle_icon_grey.png */, - 615A282921805B4C0060F920 /* security_toogle_icon_grey@2x.png */, - 633FED861D3CD5590014B822 /* select_all_default.png */, - 633FED871D3CD5590014B822 /* select_all_default@2x.png */, - 633FED881D3CD5590014B822 /* select_all_disabled.png */, - 633FED891D3CD5590014B822 /* select_all_disabled@2x.png */, - 633FED8A1D3CD5590014B822 /* speaker_default.png */, - 633FED8B1D3CD5590014B822 /* speaker_default@2x.png */, - 633FED8C1D3CD5590014B822 /* speaker_disabled.png */, - 633FED8D1D3CD5590014B822 /* speaker_disabled@2x.png */, - 633FED8E1D3CD5590014B822 /* speaker_selected.png */, - 633FED8F1D3CD5590014B822 /* speaker_selected@2x.png */, - 8CD99A362090A824008A7CDA /* splashscreen.png */, - 8CD99A352090A823008A7CDA /* splashscreen@2x.png */, - 633FED941D3CD5590014B822 /* valid_default.png */, - 633FED951D3CD5590014B822 /* valid_default@2x.png */, - 633FED961D3CD5590014B822 /* valid_disabled.png */, - 633FED971D3CD5590014B822 /* valid_disabled@2x.png */, - 633FED981D3CD5590014B822 /* voicemail.png */, - 633FED991D3CD5590014B822 /* voicemail@2x.png */, - 633FED9A1D3CD5590014B822 /* waiting_time.png */, - 633FED9B1D3CD5590014B822 /* waiting_time@2x.png */, - ); - path = images; - sourceTree = ""; - }; - 63AADBC31B6A0FF200AA16FD /* Resources */ = { - isa = PBXGroup; - children = ( - C63F72F9285A31DA0066163B /* fonts */, - 63AADBE31B6A0FF200AA16FD /* assistant_external_sip.rc */, - 63AADBE41B6A0FF200AA16FD /* assistant_linphone_create.rc */, - 63AADBE51B6A0FF200AA16FD /* assistant_linphone_existing.rc */, - 63AADBE61B6A0FF200AA16FD /* assistant_remote.rc */, - 63AADBCA1B6A0FF200AA16FD /* Images.xcassets */, - 633FEBE11D3CD5570014B822 /* images */, - 63AADBD71B6A0FF200AA16FD /* linphonerc */, - 63AADBD81B6A0FF200AA16FD /* linphonerc-factory */, - 63AADBDA1B6A0FF200AA16FD /* linphonerc~ipad */, - 63AADBC41B6A0FF200AA16FD /* Localizable.strings */, - 63CDC4511C3BDE370085F529 /* sounds */, - ); - path = Resources; - sourceTree = ""; - }; - 63B81A021B57DA33009604A6 /* TPKeyboardAvoiding */ = { - isa = PBXGroup; - children = ( - 63B81A031B57DA33009604A6 /* LICENSE.txt */, - 63B81A041B57DA33009604A6 /* TPKeyboardAvoidingCollectionView.h */, - 63B81A051B57DA33009604A6 /* TPKeyboardAvoidingCollectionView.m */, - 63B81A061B57DA33009604A6 /* TPKeyboardAvoidingScrollView.h */, - 63B81A071B57DA33009604A6 /* TPKeyboardAvoidingScrollView.m */, - 63B81A081B57DA33009604A6 /* TPKeyboardAvoidingTableView.h */, - 63B81A091B57DA33009604A6 /* TPKeyboardAvoidingTableView.m */, - 63B81A0A1B57DA33009604A6 /* UIScrollView+TPKeyboardAvoidingAdditions.h */, - 63B81A0B1B57DA33009604A6 /* UIScrollView+TPKeyboardAvoidingAdditions.m */, - ); - name = TPKeyboardAvoiding; - path = Utils/TPKeyboardAvoiding; - sourceTree = ""; - }; - 63CDC4511C3BDE370085F529 /* sounds */ = { - isa = PBXGroup; - children = ( - 63DFE0401C40161700DA5E87 /* ringtones */, - 63CDC4531C3BDE370085F529 /* msg.caf */, - 63E27A511C50EB2700D332AE /* hold.mkv */, - 63CDC4541C3BDE370085F529 /* ringback.wav */, - 63CDC45C1C3BDE370085F529 /* shortring.caf */, - ); - path = sounds; - sourceTree = ""; - }; - 63DFE0401C40161700DA5E87 /* ringtones */ = { - isa = PBXGroup; - children = ( - 63DFE0451C40161700DA5E87 /* notes_of_the_optimistic.caf */, - ); - path = ringtones; - sourceTree = ""; - }; - 662F5971288AEFAA00C9CAF7 /* UITests */ = { - isa = PBXGroup; - children = ( - 6637AF8E288593AF00965733 /* CallUITests */, - 6643AD3F287EEE2500701703 /* Methods */, - 66495D09289013B7002780DE /* TestPlans */, - ); - path = UITests; - sourceTree = ""; - }; - 6637AF8E288593AF00965733 /* CallUITests */ = { - isa = PBXGroup; - children = ( - 663B06652886F0DB00E41889 /* ExtraMenuUITests.swift */, - 663B065F2886E38100E41889 /* ActiveCallUITests.swift */, - 663B06592886B54F00E41889 /* OutgoingCallUITests.swift */, - 6637AF8F288593AF00965733 /* IncomingCallUITests.swift */, - ); - path = CallUITests; - sourceTree = ""; - }; - 6643AD3F287EEE2500701703 /* Methods */ = { - isa = PBXGroup; - children = ( - 6643AD51287EF56200701703 /* UITestsCoreManager.swift */, - 6643AD54287F25A500701703 /* IncomingOutgoingCallViewUITestsMethods.swift */, - 663B065B2886DA8500E41889 /* ActiveCallViewUITestsMethods.swift */, - 663B06672886F16300E41889 /* ExtraMenuActiveCallActionsUITestsMethods.swift */, - 662F13B52887E8A10084C28C /* UITestsUtils.swift */, - 66689D3F28A2443A0054E633 /* UITestsScreenshots.swift */, - ); - path = Methods; - sourceTree = ""; - }; - 66495D09289013B7002780DE /* TestPlans */ = { - isa = PBXGroup; - children = ( - 664F8220289A66ED00D8C470 /* Debug.xctestplan */, - 66495D0B28901429002780DE /* Default.xctestplan */, - 66495D0C289014E2002780DE /* PauseMode_extended.xctestplan */, - ); - path = TestPlans; - sourceTree = ""; - }; - 75AA7090378DBBA5417E4370 /* Pods */ = { - isa = PBXGroup; - children = ( - ); - path = Pods; - sourceTree = ""; - }; - C63F7196285A24B10066163B /* Swift */ = { - isa = PBXGroup; - children = ( - C63D2F1429029536008F0F66 /* FileUtil.swift */, - C6B4444726AADA530076C517 /* SwiftUtil.swift */, - C63F7197285A24B10066163B /* ConfigManager.swift */, - C63F7198285A24B10066163B /* CallManager.swift */, - C63F720B285A24B10066163B /* ProviderDelegate.swift */, - C63F720C285A24B10066163B /* VFSUtil.swift */, - C63F71B1285A24B10066163B /* AppManager.swift */, - D7421D99292283AE00290CAB /* Chat */, - C63F7199285A24B10066163B /* Conference */, - C63F71AA285A24B10066163B /* Util */, - C63F71B2285A24B10066163B /* Extensions */, - C63F71C7285A24B10066163B /* Voip */, - ); - path = Swift; - sourceTree = ""; - }; - C63F7199285A24B10066163B /* Conference */ = { - isa = PBXGroup; - children = ( - C63F719A285A24B10066163B /* ViewModels */, - C63F719E285A24B10066163B /* Data */, - C63F71A2285A24B10066163B /* Views */, - ); - path = Conference; - sourceTree = ""; - }; - C63F719A285A24B10066163B /* ViewModels */ = { - isa = PBXGroup; - children = ( - C63F719B285A24B10066163B /* ConferenceWaitingRoomViewModel.swift */, - C63F719C285A24B10066163B /* ConferenceSchedulingViewModel.swift */, - C63F719D285A24B10066163B /* ScheduledConferencesViewModel.swift */, - ); - path = ViewModels; - sourceTree = ""; - }; - C63F719E285A24B10066163B /* Data */ = { - isa = PBXGroup; - children = ( - C63F719F285A24B10066163B /* ScheduledConferenceData.swift */, - C63F71A0285A24B10066163B /* TimeZoneData.swift */, - C63F71A1285A24B10066163B /* Duration.swift */, - D7CBC0F62A8E1669009182D8 /* Mode.swift */, - ); - path = Data; - sourceTree = ""; - }; - C63F71A2285A24B10066163B /* Views */ = { - isa = PBXGroup; - children = ( - C63F71A3285A24B10066163B /* ConferenceWaitingRoomView.swift */, - C63F71A4285A24B10066163B /* ScheduledConferencesView.swift */, - C63F71A6285A24B10066163B /* ScheduledConferencesCell.swift */, - C63F71A5285A24B10066163B /* ICSBubbleView.swift */, - C63F71A7285A24B10066163B /* ConferenceHistoryDetailsView.swift */, - C63F71A8285A24B10066163B /* ConferenceSchedulingView.swift */, - C63F71A9285A24B10066163B /* ConferenceSchedulingSummaryView.swift */, - ); - path = Views; - sourceTree = ""; - }; - C63F71AA285A24B10066163B /* Util */ = { - isa = PBXGroup; - children = ( - D7DA18722A02599A00FABA0D /* Viewers */, - C63F71AB285A24B10066163B /* ViewModel */, - C63F71AD285A24B10066163B /* MutableLiveData.swift */, - C63F71AE285A24B10066163B /* Pair.swift */, - C63F71AF285A24B10066163B /* BackNextNavigationView.swift */, - C63F71B0285A24B10066163B /* TimestampUtils.swift */, - D74A44902923BAF90017D063 /* BackActionsNavigationView.swift */, - D7A7544F29507038005C9D4A /* CustomAlertController.swift */, - D779D39D29AC9E92007B8087 /* AudioPlayer.swift */, - D779D3A129B5E365007B8087 /* UIImageExtension.swift */, - D783D9B92A669A9E00293E87 /* ContentMessageView.swift */, - ); - path = Util; - sourceTree = ""; - }; - C63F71AB285A24B10066163B /* ViewModel */ = { - isa = PBXGroup; - children = ( - C63F71AC285A24B10066163B /* MediatorLiveData.swift */, - ); - path = ViewModel; - sourceTree = ""; - }; - C63F71B2285A24B10066163B /* Extensions */ = { - isa = PBXGroup; - children = ( - C63F71B3285A24B10066163B /* IOS */, - C63F71BF285A24B10066163B /* LinphoneCore */, - ); - path = Extensions; - sourceTree = ""; - }; - C63F71B3285A24B10066163B /* IOS */ = { - isa = PBXGroup; - children = ( - 662B73322A73C331002135F3 /* CopyableLabel.swift */, - C684F1F92913D65500736775 /* SnapkitBridge.swift */, - C63F71B4285A24B10066163B /* UIApplication+Extension.swift */, - C63F71B6285A24B10066163B /* UIVIewControllerExtensions.swift */, - C63F71B7285A24B10066163B /* UIImageExtensions.swift */, - C63F71B8285A24B10066163B /* UIVIewExtensions.swift */, - C63F71B9285A24B10066163B /* UILabelExtensions.swift */, - C63F71BA285A24B10066163B /* OptionalExtensions.swift */, - C63F71BB285A24B10066163B /* UIButtonExtensions.swift */, - C63F71BC285A24B10066163B /* UIImageViewExtensions.swift */, - C63F71BD285A24B10066163B /* UIDeviceExtensions.swift */, - C63F71BE285A24B10066163B /* UIColorExtensions.swift */, - ); - path = IOS; - sourceTree = ""; - }; - C63F71BF285A24B10066163B /* LinphoneCore */ = { - isa = PBXGroup; - children = ( - C63F71C0285A24B10066163B /* CoreExtensions.swift */, - C63F71C1285A24B10066163B /* IceState.swift */, - C63F71C2285A24B10066163B /* AddressExtensions.swift */, - C63F71C3285A24B10066163B /* ParticipantExtensions.swift */, - C63F71C4285A24B10066163B /* PayloadType.swift */, - C63F71C5285A24B10066163B /* CallExtensions.swift */, - C63F71C6285A24B10066163B /* ConferenceExtensions.swift */, - ); - path = LinphoneCore; - sourceTree = ""; - }; - C63F71C7285A24B10066163B /* Voip */ = { - isa = PBXGroup; - children = ( - C63F71C8285A24B10066163B /* ViewModels */, - C63F71D0285A24B10066163B /* AudioRouteUtils.swift */, - C63F71D1285A24B10066163B /* Theme */, - C63F71D7285A24B10066163B /* Views */, - C63F71FB285A24B10066163B /* VoipDialog.swift */, - C63F71FC285A24B10066163B /* Widgets */, - ); - path = Voip; - sourceTree = ""; - }; - C63F71C8285A24B10066163B /* ViewModels */ = { - isa = PBXGroup; - children = ( - C63F71C9285A24B10066163B /* ConferenceViewModel.swift */, - C63F71CA285A24B10066163B /* CallsViewModel.swift */, - C63F71CB285A24B10066163B /* ControlsViewModel.swift */, - C63F71CC285A24B10066163B /* CallStatisticsData.swift */, - C63F71CD285A24B10066163B /* ConferenceParticipantData.swift */, - C63F71CE285A24B10066163B /* ConferenceParticipantDeviceData.swift */, - C63F71CF285A24B10066163B /* CallData.swift */, - D7CBC0FE2A8E3E11009182D8 /* ConferenceSpeakerData.swift */, - ); - path = ViewModels; - sourceTree = ""; - }; - C63F71D1285A24B10066163B /* Theme */ = { - isa = PBXGroup; - children = ( - C63F71D2285A24B10066163B /* LightDarkColor.swift */, - C63F71D3285A24B10066163B /* TextStyle.swift */, - C63F71D4285A24B10066163B /* VoipTexts.swift */, - C63F71D5285A24B10066163B /* ButtonTheme.swift */, - C63F71D6285A24B10066163B /* VoipTheme.swift */, - ); - path = Theme; - sourceTree = ""; - }; - C63F71D7285A24B10066163B /* Views */ = { - isa = PBXGroup; - children = ( - C63F71D8285A24B10066163B /* Fragments */, - C63F71F6285A24B10066163B /* CompositeViewControllers */, - C63F71FA285A24B10066163B /* SharedLayoutConstants.swift */, - ); - path = Views; - sourceTree = ""; - }; - C63F71D8285A24B10066163B /* Fragments */ = { - isa = PBXGroup; - children = ( - D7CBC0F92A8E3CF4009182D8 /* SpeakersList */, - C63F71D9285A24B10066163B /* ParticipantsList */, - C63F71DC285A24B10066163B /* AudioRoutesView.swift */, - C63F71DD285A24B10066163B /* Conference */, - C63F71E6285A24B10066163B /* ActiveCall */, - C63F71E9285A24B10066163B /* PausedCallOrConferenceView.swift */, - C63F71EA285A24B10066163B /* LocalVideoView.swift */, - C63F71EB285A24B10066163B /* CallStatsView.swift */, - C63F71EC285A24B10066163B /* NumpadView.swift */, - C63F71ED285A24B10066163B /* VoipExtraButtonsView.swift */, - C63F71EE285A24B10066163B /* CallsList */, - C63F71F2285A24B10066163B /* DismissableView.swift */, - C63F71F3285A24B10066163B /* ConferenceLayoutPickerView.swift */, - C63F71F4285A24B10066163B /* ControlsView.swift */, - C63F71F5285A24B10066163B /* RemotelyRecording.swift */, - ); - path = Fragments; - sourceTree = ""; - }; - C63F71D9285A24B10066163B /* ParticipantsList */ = { - isa = PBXGroup; - children = ( - C63F71DA285A24B10066163B /* ParticipantsListView.swift */, - C63F71DB285A24B10066163B /* VoipParticipantCell.swift */, - ); - path = ParticipantsList; - sourceTree = ""; - }; - C63F71DD285A24B10066163B /* Conference */ = { - isa = PBXGroup; - children = ( - C63F71DE285A24B10066163B /* VoipActiveSpeakerParticipantCell.swift */, - C63F71DF285A24B10066163B /* VoipConferenceAudioOnlyView.swift */, - C63F71E0285A24B10066163B /* VoipGridParticipantCell.swift */, - C63F71E1285A24B10066163B /* VoipAudioOnlyParticipantCell.swift */, - C63F71E2285A24B10066163B /* MicMuted.swift */, - C63F71E3285A24B10066163B /* VoipConferenceGridView.swift */, - C63F71E4285A24B10066163B /* VoipConferenceActiveSpeakerView.swift */, - C63F71E5285A24B10066163B /* VoipConferenceDisplayModeSelectionView.swift */, - ); - path = Conference; - sourceTree = ""; - }; - C63F71E6285A24B10066163B /* ActiveCall */ = { - isa = PBXGroup; - children = ( - C63F71E7285A24B10066163B /* ActiveCallView.swift */, - ); - path = ActiveCall; - sourceTree = ""; - }; - C63F71EE285A24B10066163B /* CallsList */ = { - isa = PBXGroup; - children = ( - C63F71EF285A24B10066163B /* VoipCallContextMenu.swift */, - C63F71F0285A24B10066163B /* CallsListView.swift */, - C63F71F1285A24B10066163B /* VoipCallCell.swift */, - ); - path = CallsList; - sourceTree = ""; - }; - C63F71F6285A24B10066163B /* CompositeViewControllers */ = { - isa = PBXGroup; - children = ( - C63F71E8285A24B10066163B /* AbstractIncomingOutgoingCallView.swift */, - C6548822292D369500BF646B /* AbstractCallView.swift */, - C654881F292D32FA00BF646B /* ConferenceCallView.swift */, - C654881E292D32FA00BF646B /* SingleCallView.swift */, - C63F71F7285A24B10066163B /* OutgoingCallView.swift */, - C63F71F9285A24B10066163B /* IncomingCallView.swift */, - ); - path = CompositeViewControllers; - sourceTree = ""; - }; - C63F71FC285A24B10066163B /* Widgets */ = { - isa = PBXGroup; - children = ( - C63F71FD285A24B10066163B /* StyledValuePicker.swift */, - C63F71FE285A24B10066163B /* StyledSwitch.swift */, - C63F71FF285A24B10066163B /* CallControlButton.swift */, - C63F7200285A24B10066163B /* RotatingSpinner.swift */, - C63F7201285A24B10066163B /* FormButton.swift */, - C63F7202285A24B10066163B /* BouncingCounter.swift */, - C63F7203285A24B10066163B /* VoipExtraButton.swift */, - C63F7204285A24B10066163B /* UICallTimer.swift */, - C63F7205285A24B10066163B /* StyledCheckBox.swift */, - C63F7206285A24B10066163B /* Avatar.swift */, - C63F7207285A24B10066163B /* StyledLabel.swift */, - C63F7208285A24B10066163B /* StyledDatePicker.swift */, - C63F7209285A24B10066163B /* ButtonWithStateBackgrounds.swift */, - C63F720A285A24B10066163B /* StyledTextView.swift */, - ); - path = Widgets; - sourceTree = ""; - }; - C63F72F9285A31DA0066163B /* fonts */ = { - isa = PBXGroup; - children = ( - C63F72FA285A31DA0066163B /* Roboto-Regular.ttf */, - C63F72FB285A31DA0066163B /* Roboto-Italic.ttf */, - C63F72FC285A31DA0066163B /* Roboto-Bold.ttf */, - ); - path = fonts; - sourceTree = ""; - }; - D326483415887D4400930C67 /* Utils */ = { - isa = PBXGroup; - children = ( - D37E3ECA1619C27A0087659A /* CAAnimationBlocks */, - D380801215C299D0005BE9BC /* ColorSpaceUtilites.m */, - D380801115C29984005BE9BC /* ColorSpaceUtilities.h */, - D3807FB615C28940005BE9BC /* DCRoundSwitch */, - D37EE15F160377D7003608A6 /* DTFoundation */, - D32B9DFA15A2F131000B6DEC /* FastAddressBook.h */, - D32B9DFB15A2F131000B6DEC /* FastAddressBook.m */, - 6371579F1B283FE200C91677 /* FileTransferDelegate.h */, - 637157A01B283FE200C91677 /* FileTransferDelegate.m */, - 633888401BFB2C49001D5E7B /* HPGrowingTextView */, - D3807FC715C2894A005BE9BC /* InAppSettingsKit */, - D326483615887D5200930C67 /* OrderedDictionary.h */, - D326483715887D5200930C67 /* OrderedDictionary.m */, - 63B81A021B57DA33009604A6 /* TPKeyboardAvoiding */, - D3F7997E15BD31EC0018C273 /* TPMultiLayoutViewController */, - 6308F9C31BF0DD6600D1234B /* XMLRPCHelper.h */, - 6308F9C41BF0DD6600D1234B /* XMLRPCHelper.m */, - C9B3A6FD15B485DB006F52EE /* Utils.h */, - D35860D515B549B500513429 /* Utils.m */, - 63D11C521C3D501200E8FCEE /* Log.m */, - 63D11C541C3D503A00E8FCEE /* Log.h */, - 63423C081C4501D000D9A050 /* Contact.h */, - 63423C091C4501D000D9A050 /* Contact.m */, - ); - name = Utils; - sourceTree = ""; - }; - D37E3ECA1619C27A0087659A /* CAAnimationBlocks */ = { - isa = PBXGroup; - children = ( - D37E3ECB1619C27A0087659A /* CAAnimation+Blocks.h */, - D37E3ECC1619C27A0087659A /* CAAnimation+Blocks.m */, - ); - name = CAAnimationBlocks; - path = Utils/CAAnimationBlocks; - sourceTree = ""; - }; - D37EE15F160377D7003608A6 /* DTFoundation */ = { - isa = PBXGroup; - children = ( - D37EE160160377D7003608A6 /* DTActionSheet.h */, - 63CD4B4D1A5AAC8C00B84282 /* DTAlertView.h */, - 63CD4B4E1A5AAC8C00B84282 /* DTAlertView.m */, - D37EE161160377D7003608A6 /* DTActionSheet.m */, - F0642EF719DAF32E009DB336 /* DTWeakSupport.h */, - ); - name = DTFoundation; - path = Utils/DTFoundation; - sourceTree = ""; - }; - D3807FB615C28940005BE9BC /* DCRoundSwitch */ = { - isa = PBXGroup; - children = ( - D3807FB715C28940005BE9BC /* DCRoundSwitch.h */, - D3807FB815C28940005BE9BC /* DCRoundSwitch.m */, - D3807FB915C28940005BE9BC /* DCRoundSwitchKnobLayer.h */, - D3807FBA15C28940005BE9BC /* DCRoundSwitchKnobLayer.m */, - D3807FBB15C28940005BE9BC /* DCRoundSwitchOutlineLayer.h */, - D3807FBC15C28940005BE9BC /* DCRoundSwitchOutlineLayer.m */, - D3807FBD15C28940005BE9BC /* DCRoundSwitchToggleLayer.h */, - D3807FBE15C28940005BE9BC /* DCRoundSwitchToggleLayer.m */, - ); - name = DCRoundSwitch; - path = Utils/DCRoundSwitch; - sourceTree = ""; - }; - D3807FC715C2894A005BE9BC /* InAppSettingsKit */ = { - isa = PBXGroup; - children = ( - D3807FC815C2894A005BE9BC /* Controllers */, - D3807FD015C2894A005BE9BC /* Models */, - D3807FDB15C2894A005BE9BC /* Views */, - ); - name = InAppSettingsKit; - path = Utils/InAppSettingsKit; - sourceTree = ""; - }; - D3807FC815C2894A005BE9BC /* Controllers */ = { - isa = PBXGroup; - children = ( - D3807FC915C2894A005BE9BC /* IASKAppSettingsViewController.h */, - D3807FCA15C2894A005BE9BC /* IASKAppSettingsViewController.m */, - D3807FCD15C2894A005BE9BC /* IASKSpecifierValuesViewController.h */, - D3807FCE15C2894A005BE9BC /* IASKSpecifierValuesViewController.m */, - D3807FCF15C2894A005BE9BC /* IASKViewController.h */, - ); - path = Controllers; - sourceTree = ""; - }; - D3807FD015C2894A005BE9BC /* Models */ = { - isa = PBXGroup; - children = ( - D3807FD115C2894A005BE9BC /* IASKSettingsReader.h */, - D3807FD215C2894A005BE9BC /* IASKSettingsReader.m */, - D3807FD315C2894A005BE9BC /* IASKSettingsStore.h */, - D3807FD415C2894A005BE9BC /* IASKSettingsStore.m */, - D3807FD515C2894A005BE9BC /* IASKSettingsStoreFile.h */, - D3807FD615C2894A005BE9BC /* IASKSettingsStoreFile.m */, - D3807FD715C2894A005BE9BC /* IASKSettingsStoreUserDefaults.h */, - D3807FD815C2894A005BE9BC /* IASKSettingsStoreUserDefaults.m */, - D3807FD915C2894A005BE9BC /* IASKSpecifier.h */, - D3807FDA15C2894A005BE9BC /* IASKSpecifier.m */, - ); - path = Models; - sourceTree = ""; - }; - D3807FDB15C2894A005BE9BC /* Views */ = { - isa = PBXGroup; - children = ( - D3807FDC15C2894A005BE9BC /* IASKPSSliderSpecifierViewCell.h */, - D3807FDD15C2894A005BE9BC /* IASKPSSliderSpecifierViewCell.m */, - D3807FDE15C2894A005BE9BC /* IASKPSTextFieldSpecifierViewCell.h */, - D3807FDF15C2894A005BE9BC /* IASKPSTextFieldSpecifierViewCell.m */, - D3807FE215C2894A005BE9BC /* IASKSlider.h */, - D3807FE315C2894A005BE9BC /* IASKSlider.m */, - D3807FE415C2894A005BE9BC /* IASKSwitch.h */, - D3807FE515C2894A005BE9BC /* IASKSwitch.m */, - D3807FE615C2894A005BE9BC /* IASKTextField.h */, - D3807FE715C2894A005BE9BC /* IASKTextField.m */, - ); - path = Views; - sourceTree = ""; - }; - D398D3031594B0FB00FD553C /* Settings */ = { - isa = PBXGroup; - children = ( - D34F6F9D1594D3FB0095705B /* InAppSettings.bundle */, - ); - path = Settings; - sourceTree = ""; - }; - D3F7997E15BD31EC0018C273 /* TPMultiLayoutViewController */ = { - isa = PBXGroup; - children = ( - D3F7997F15BD32370018C273 /* TPMultiLayoutViewController.h */, - D3F7998015BD32370018C273 /* TPMultiLayoutViewController.m */, - ); - name = TPMultiLayoutViewController; - sourceTree = ""; - }; - D72F27A82AA8B40C00CFB13D /* Fragments */ = { - isa = PBXGroup; - children = ( - D72F27A92AA8B42D00CFB13D /* SheetViewController.swift */, - D7F067472AAA1BFB0044CC87 /* ReactionCell.swift */, - ); - path = Fragments; - sourceTree = ""; - }; - D7421D99292283AE00290CAB /* Chat */ = { - isa = PBXGroup; - children = ( - D7421D9A292283D300290CAB /* ViewModels */, - D7421D9B292283E100290CAB /* Data */, - D7421D9C292283ED00290CAB /* Views */, - ); - path = Chat; - sourceTree = ""; - }; - D7421D9A292283D300290CAB /* ViewModels */ = { - isa = PBXGroup; - children = ( - D77057F0292E4A340031A970 /* ChatConversationViewModel.swift */, - D779D39B29A76DE6007B8087 /* ChatConversationTableViewModel.swift */, - ); - path = ViewModels; - sourceTree = ""; - }; - D7421D9B292283E100290CAB /* Data */ = { - isa = PBXGroup; - children = ( - D7097B34296D684900AEF6C5 /* FileType.swift */, - ); - path = Data; - sourceTree = ""; - }; - D7421D9C292283ED00290CAB /* Views */ = { - isa = PBXGroup; - children = ( - D72F27A82AA8B40C00CFB13D /* Fragments */, - D7421D9D29228A5200290CAB /* ChatConversationViewSwift.swift */, - D779D39729A3C933007B8087 /* ChatConversationTableViewSwift.swift */, - D7013DB72940AA12004EEAAE /* MessageView.swift */, - D779D39929A4C285007B8087 /* MultilineMessageCell.swift */, - D7C6DE812948CF3100756E03 /* DropDownCell.swift */, - D7C6DE822948CF3100756E03 /* DropDownCell.xib */, - D71418E229C9B4E0002EEF75 /* DownloadMessageCell.swift */, - D71418E429C9E2CD002EEF75 /* CircularProgressBarView.swift */, - D768763429CDA88200570747 /* UploadMessageCell.swift */, - ); - path = Views; - sourceTree = ""; - }; - D7CBC0F92A8E3CF4009182D8 /* SpeakersList */ = { - isa = PBXGroup; - children = ( - D7CBC0FA2A8E3D1E009182D8 /* SpeakersListView.swift */, - D7CBC0FC2A8E3D3F009182D8 /* VoipSpeakerCell.swift */, - ); - path = SpeakersList; - sourceTree = ""; - }; - D7DA18722A02599A00FABA0D /* Viewers */ = { - isa = PBXGroup; - children = ( - D7DA18702A02598700FABA0D /* TextViewer.swift */, - D780FF7C2A459CE3001535E6 /* MediaViewer.swift */, - ); - path = Viewers; - sourceTree = ""; - }; - EA5F25DA232BD3E200475F2E /* msgNotificationService */ = { - isa = PBXGroup; - children = ( - EAB783CF232F8E4D0076B1A0 /* msgNotificationService.entitlements */, - EAE6C88323FABF690076A018 /* Utils.swift */, - EA5F25DB232BD3E200475F2E /* NotificationService.swift */, - 6112A01D243B5FD500DBD5F5 /* GoogleService-Info.plist */, - EA5F25DD232BD3E200475F2E /* Info.plist */, - ); - path = msgNotificationService; - sourceTree = ""; - }; - EA8CB82A239F96CA00C330CC /* msgNotificationContent */ = { - isa = PBXGroup; - children = ( - 6112A01B243B31A600DBD5F5 /* GoogleService-Info.plist */, - EA8CB83F239FD41400C330CC /* msgNotificationContent.entitlements */, - EA8CB82B239F96CA00C330CC /* NotificationViewController.swift */, - EA8CB82D239F96CA00C330CC /* MainInterface.storyboard */, - EA8CB830239F96CA00C330CC /* Info.plist */, - ); - path = msgNotificationContent; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 1D6058900D05DD3D006BFB54 /* linphone */ = { - isa = PBXNativeTarget; - buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "linphone" */; - buildPhases = ( - 1D60588D0D05DD3D006BFB54 /* Resources */, - 63DCC71D1A07B08E00916627 /* Run Script */, - 1D60588E0D05DD3D006BFB54 /* Sources */, - 1D60588F0D05DD3D006BFB54 /* Frameworks */, - 8CDC89061EAF89A8006B5652 /* Embed Frameworks */, - 5EF0C35020C806A5005081B0 /* Embed App Extensions */, - 614D0A1821E77F5300C43EDF /* ShellScript */, - ); - buildRules = ( - ); - dependencies = ( - EA8CB83A239F9A3000C330CC /* PBXTargetDependency */, - EA8CB83C239F9A3000C330CC /* PBXTargetDependency */, - 61AE365520C00B370089D9D3 /* PBXTargetDependency */, - ); - name = linphone; - productName = linphone; - productReference = 1D6058910D05DD3D006BFB54 /* linphone.app */; - productType = "com.apple.product-type.application"; - }; - 61AE364A20C00B370089D9D3 /* linphoneExtension */ = { - isa = PBXNativeTarget; - buildConfigurationList = 61AE366120C00B370089D9D3 /* Build configuration list for PBXNativeTarget "linphoneExtension" */; - buildPhases = ( - 61AE364720C00B370089D9D3 /* Sources */, - 61AE364820C00B370089D9D3 /* Frameworks */, - 61AE364920C00B370089D9D3 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = linphoneExtension; - productName = linphoneExtension; - productReference = 61AE364B20C00B370089D9D3 /* linphoneExtension.appex */; - productType = "com.apple.product-type.app-extension"; - }; - 6637AF8C288593AF00965733 /* CallUITests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 6637AF99288593AF00965733 /* Build configuration list for PBXNativeTarget "CallUITests" */; - buildPhases = ( - 6637AF89288593AF00965733 /* Sources */, - 6637AF8A288593AF00965733 /* Frameworks */, - 6637AF8B288593AF00965733 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 6637AF94288593AF00965733 /* PBXTargetDependency */, - ); - name = CallUITests; - productName = IncommingCallUITests; - productReference = 6637AF8D288593AF00965733 /* CallUITests.xctest */; - productType = "com.apple.product-type.bundle.ui-testing"; - }; - EA5F25D8232BD3E200475F2E /* msgNotificationService */ = { - isa = PBXNativeTarget; - buildConfigurationList = EA5F25E1232BD3E300475F2E /* Build configuration list for PBXNativeTarget "msgNotificationService" */; - buildPhases = ( - EA5F25D5232BD3E200475F2E /* Sources */, - 203E6292C3E84CD13778F720 /* Frameworks */, - EA88A406242A6224007FEC61 /* Resources */, - 6112A01A243B2CCF00DBD5F5 /* Run Script */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = msgNotificationService; - productName = messagesNotification; - productReference = EA5F25D9232BD3E200475F2E /* msgNotificationService.appex */; - productType = "com.apple.product-type.app-extension"; - }; - EA8CB826239F96CA00C330CC /* msgNotificationContent */ = { - isa = PBXNativeTarget; - buildConfigurationList = EA8CB834239F96CA00C330CC /* Build configuration list for PBXNativeTarget "msgNotificationContent" */; - buildPhases = ( - EA8CB823239F96CA00C330CC /* Sources */, - 143EFEE2501CB14E6BB244EF /* Frameworks */, - EA88F3AE241BD1ED00E66528 /* Resources */, - 6112A019243B2C8400DBD5F5 /* ShellScript */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = msgNotificationContent; - productName = msgNotificationContent; - productReference = EA8CB827239F96CA00C330CC /* msgNotificationContent.appex */; - productType = "com.apple.product-type.app-extension"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 29B97313FDCFA39411CA2CEA /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 1430; - LastUpgradeCheck = 1130; - TargetAttributes = { - 1D6058900D05DD3D006BFB54 = { - DevelopmentTeam = Z2V957B3D6; - LastSwiftMigration = 1030; - ProvisioningStyle = Automatic; - SystemCapabilities = { - com.apple.ApplicationGroups.iOS = { - enabled = 1; - }; - com.apple.BackgroundModes = { - enabled = 1; - }; - com.apple.InAppPurchase = { - enabled = 1; - }; - com.apple.Push = { - enabled = 1; - }; - com.apple.iCloud = { - enabled = 1; - }; - }; - }; - 61AE364A20C00B370089D9D3 = { - CreatedOnToolsVersion = 9.2; - DevelopmentTeam = Z2V957B3D6; - ProvisioningStyle = Automatic; - SystemCapabilities = { - com.apple.ApplicationGroups.iOS = { - enabled = 1; - }; - }; - }; - 6637AF8C288593AF00965733 = { - CreatedOnToolsVersion = 13.4.1; - DevelopmentTeam = Z2V957B3D6; - ProvisioningStyle = Automatic; - TestTargetID = 1D6058900D05DD3D006BFB54; - }; - EA5F25D8232BD3E200475F2E = { - CreatedOnToolsVersion = 11.0; - DevelopmentTeam = Z2V957B3D6; - ProvisioningStyle = Automatic; - SystemCapabilities = { - com.apple.ApplicationGroups.iOS = { - enabled = 1; - }; - }; - }; - EA8CB826239F96CA00C330CC = { - CreatedOnToolsVersion = 10.3; - DevelopmentTeam = Z2V957B3D6; - ProvisioningStyle = Automatic; - SystemCapabilities = { - com.apple.ApplicationGroups.iOS = { - enabled = 1; - }; - }; - }; - }; - }; - buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "linphone" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 1; - knownRegions = ( - English, - Japanese, - French, - German, - en, - ru, - Base, - ar, - de, - ja, - nl, - zh_TW, - pl, - sv, - tr, - zh_CN, - fr, - hu, - es, - pt_BR, - it, - uk, - ka, - es_AR, - cs, - ); - mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */; - productRefGroup = 19C28FACFE9D520D11CA2CBB /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 1D6058900D05DD3D006BFB54 /* linphone */, - 61AE364A20C00B370089D9D3 /* linphoneExtension */, - EA5F25D8232BD3E200475F2E /* msgNotificationService */, - EA8CB826239F96CA00C330CC /* msgNotificationContent */, - 6637AF8C288593AF00965733 /* CallUITests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 1D60588D0D05DD3D006BFB54 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 633FEF3F1D3CD55A0014B822 /* security_pending@2x.png in Resources */, - 24BFAAA4209B0630004F47A7 /* linphone_logo.png in Resources */, - 633FEDC41D3CD5590014B822 /* call_hangup_disabled.png in Resources */, - C66B03BB26E8EB1A009B5EDC /* UIChatReplyBubbleView.xib in Resources */, - 633FEDA81D3CD5590014B822 /* backspace_default.png in Resources */, - C63F72C0285A2F1D0066163B /* voip_numpad_0.png in Resources */, - 636316D11A1DEBCB0009B839 /* AboutView.xib in Resources */, - 8CBD7BA620B6B82400E5DCC0 /* UIChatConversationInfoTableViewCell.xib in Resources */, - 244523AF1E8266CC0037A187 /* chat_delivered.png in Resources */, - CF7602F8210898CC00749F76 /* rec_on_default.png in Resources */, - 633FEF481D3CD55A0014B822 /* speaker_selected.png in Resources */, - 633FEED91D3CD55A0014B822 /* numpad_7~ipad.png in Resources */, - 633FEE2B1D3CD5590014B822 /* color_C.png in Resources */, - 633FEE871D3CD5590014B822 /* led_inprogress@2x.png in Resources */, - 633FEEC61D3CD55A0014B822 /* numpad_5_over@2x.png in Resources */, - 633FEF021D3CD55A0014B822 /* options_disabled.png in Resources */, - 633FEDC81D3CD5590014B822 /* call_missed.png in Resources */, - 8CB2B8FA1F86229E0015CEE2 /* next_disabled.png in Resources */, - 8CF25D961F9F336100BEA0C1 /* check_unselected.png in Resources */, - 8C300D9A1E40E0CC00728EF3 /* lime_ko.png in Resources */, - 633FEE311D3CD5590014B822 /* color_I.png in Resources */, - 633FEF1F1D3CD55A0014B822 /* presence_online@2x.png in Resources */, - 633FEE641D3CD5590014B822 /* footer_chat_disabled.png in Resources */, - 633FEE9C1D3CD55A0014B822 /* numpad_0_default@2x.png in Resources */, - 633FEE3C1D3CD5590014B822 /* contacts_all_default.png in Resources */, - 633FEE171D3CD5590014B822 /* chat_send_disabled@2x.png in Resources */, - C61B1BF22667D075001A4E4A /* menu_security_default.png in Resources */, - 633FEE6E1D3CD5590014B822 /* footer_history_default.png in Resources */, - 633FEEB21D3CD55A0014B822 /* numpad_2~ipad@2x.png in Resources */, - 633FEDC61D3CD5590014B822 /* call_incoming.png in Resources */, - D7A4C00A2A3B135800EFBD1B /* new_chat_send_default.png in Resources */, - 633FEF2D1D3CD55A0014B822 /* route_earpiece_selected@2x.png in Resources */, - 638F1A621C2021B2004B8E02 /* DialerView~ipad.xib in Resources */, - 615A2817217F280C0060F920 /* chat_list_indicator.png in Resources */, - 633FEEFF1D3CD55A0014B822 /* options_add_call_disabled@2x.png in Resources */, - C63F72FD285A31DA0066163B /* Roboto-Regular.ttf in Resources */, - 633FEF091D3CD55A0014B822 /* options_start_conference_disabled@2x.png in Resources */, - C622E3F326A81290004F5434 /* vr_pause.png in Resources */, - 633FEE051D3CD5590014B822 /* cancel_edit_disabled@2x.png in Resources */, - 633FEE5F1D3CD5590014B822 /* edit_list_default@2x.png in Resources */, - C63F72F6285A2F1E0066163B /* voip_delete.png in Resources */, - C63F72F0285A2F1E0066163B /* voip_radio_on.png in Resources */, - C63F72EB285A2F1E0066163B /* voip_edit.png in Resources */, - 633FEEB61D3CD55A0014B822 /* numpad_3_over@2x.png in Resources */, - 633FEF371D3CD55A0014B822 /* routes_disabled@2x.png in Resources */, - C63F72D1285A2F1E0066163B /* voip_numpad_star.png in Resources */, - 633FEE0F1D3CD5590014B822 /* chat_attachment_over@2x.png in Resources */, - C6E3E7EC291D642B00DDFC46 /* side_menu_voip_meeting_schedule.png in Resources */, - 633FEF381D3CD55A0014B822 /* routes_selected.png in Resources */, - 633FEE0B1D3CD5590014B822 /* chat_attachment_default@2x.png in Resources */, - 633FEED41D3CD55A0014B822 /* numpad_7_default@2x.png in Resources */, - 633FEEE01D3CD55A0014B822 /* numpad_8_over~ipad@2x.png in Resources */, - 633FEDDC1D3CD5590014B822 /* call_start_body_disabled~ipad.png in Resources */, - C63F72FF285A31DA0066163B /* Roboto-Bold.ttf in Resources */, - 63E802DB1C625AEF000D5509 /* (null) in Resources */, - 633FEE2E1D3CD5590014B822 /* color_F.png in Resources */, - 633FEDC51D3CD5590014B822 /* call_hangup_disabled@2x.png in Resources */, - 633FEEDF1D3CD55A0014B822 /* numpad_8_over~ipad.png in Resources */, - C63F72C3285A2F1D0066163B /* voip_speaker_on.png in Resources */, - 8CD99A372090A824008A7CDA /* splashscreen@2x.png in Resources */, - 24BFAAA9209B0630004F47A7 /* linphone_logo@2x.png in Resources */, - 633FEE071D3CD5590014B822 /* chat_add_default@2x.png in Resources */, - 633FEF551D3CD55A0014B822 /* waiting_time@2x.png in Resources */, - 633FEEAC1D3CD55A0014B822 /* numpad_2_default@2x.png in Resources */, - 633FEE541D3CD5590014B822 /* dialer_back_default.png in Resources */, - C63F72DE285A2F1E0066163B /* voip_call_header_active.png in Resources */, - 633FEF0B1D3CD55A0014B822 /* options_transfer_call_default@2x.png in Resources */, - 633FEDE81D3CD5590014B822 /* call_status_missed~ipad.png in Resources */, - 63AADBFF1B6A0FF200AA16FD /* assistant_external_sip.rc in Resources */, - 61CCC3E121933B660060EDEA /* UIDeviceCell.xib in Resources */, - C63F72F8285A2F1E0066163B /* voip_call_header_outgoing.png in Resources */, - 633FEE9E1D3CD55A0014B822 /* numpad_0_over@2x.png in Resources */, - 8CE24F581F8268850077AC0A /* conference_delete@2x.png in Resources */, - 633FEDC21D3CD5590014B822 /* call_hangup_default.png in Resources */, - 633FEEB41D3CD55A0014B822 /* numpad_3_default@2x.png in Resources */, - 633FEEE51D3CD55A0014B822 /* numpad_9_over.png in Resources */, - 633FEECA1D3CD55A0014B822 /* numpad_5~ipad@2x.png in Resources */, - 633FEE101D3CD5590014B822 /* chat_list_indicator~ipad.png in Resources */, - 633FEF331D3CD55A0014B822 /* route_speaker_selected@2x.png in Resources */, - 633FEE6C1D3CD5590014B822 /* footer_dialer_disabled.png in Resources */, - 633FEF231D3CD55A0014B822 /* route_bluetooth_default@2x.png in Resources */, - C6A1BB4526E890BD00540D50 /* file_voice_default.png in Resources */, - 633FED9C1D3CD5590014B822 /* add_field_default.png in Resources */, - 633FEE411D3CD5590014B822 /* contacts_all_selected@2x.png in Resources */, - D38187F815FE355D00C3EDCA /* TabBarView.xib in Resources */, - C63F72D2285A2F1E0066163B /* voip_numpad_hash.png in Resources */, - C63F72F4285A2F1E0066163B /* voip_conference_new_selected.png in Resources */, - 633FEE2F1D3CD5590014B822 /* color_G.png in Resources */, - 633FEECE1D3CD55A0014B822 /* numpad_6_over@2x.png in Resources */, - 8C92ABE81FA773190006FB5D /* UIChatNotifiedEventCell.xib in Resources */, - C63F72C7285A2F1E0066163B /* voip_change_camera.png in Resources */, - 633FEDAB1D3CD5590014B822 /* backspace_disabled@2x.png in Resources */, - 633FEDD91D3CD5590014B822 /* call_start_body_default~ipad@2x.png in Resources */, - 633FEE401D3CD5590014B822 /* contacts_all_selected.png in Resources */, - 633FEE0C1D3CD5590014B822 /* chat_attachment_disabled.png in Resources */, - C622E3EF26A81290004F5434 /* vr_stop.png in Resources */, - 633FEF001D3CD55A0014B822 /* options_default.png in Resources */, - CF15F21F20E4F9A3008B1DE6 /* UIImageViewDeletable.xib in Resources */, - 633FEE951D3CD55A0014B822 /* micro_default@2x.png in Resources */, - 633FEE6A1D3CD5590014B822 /* footer_dialer_default.png in Resources */, - 633FEEC91D3CD55A0014B822 /* numpad_5~ipad.png in Resources */, - 633FEDFA1D3CD5590014B822 /* camera_selected.png in Resources */, - 633FEF451D3CD55A0014B822 /* speaker_default@2x.png in Resources */, - 633FEDD41D3CD5590014B822 /* call_quality_indicator_4.png in Resources */, - 633FEF241D3CD55A0014B822 /* route_bluetooth_disabled.png in Resources */, - 633FEECD1D3CD55A0014B822 /* numpad_6_over.png in Resources */, - D38187D115FE346B00C3EDCA /* HistoryListView.xib in Resources */, - D38187BD15FE342800C3EDCA /* ContactsListView.xib in Resources */, - 633FEF0E1D3CD55A0014B822 /* pause_big_default.png in Resources */, - 633FEF191D3CD55A0014B822 /* pause_small_over_selected@2x.png in Resources */, - 633FEDA71D3CD5590014B822 /* back_disabled@2x.png in Resources */, - 633FEDBD1D3CD5590014B822 /* call_audio_start_disabled@2x.png in Resources */, - 615A2815217F24E00060F920 /* security_1_indicator@2x.png in Resources */, - 633FEE981D3CD55A0014B822 /* micro_selected.png in Resources */, - 633FEEB51D3CD55A0014B822 /* numpad_3_over.png in Resources */, - 633FEE041D3CD5590014B822 /* cancel_edit_disabled.png in Resources */, - 633FEDE61D3CD5590014B822 /* call_status_missed.png in Resources */, - 8CDC61971F84D9270087CF7F /* check_selected@2x.png in Resources */, - 633FEE7A1D3CD5590014B822 /* history_missed_default.png in Resources */, - 633FEF121D3CD55A0014B822 /* pause_big_over_selected.png in Resources */, - 633FED9D1D3CD5590014B822 /* add_field_default@2x.png in Resources */, - C622E3F426A81290004F5434 /* vr_play.png in Resources */, - 639E9CB01C0DB83000019A75 /* SideMenuView.xib in Resources */, - 633FEDBB1D3CD5590014B822 /* call_audio_start_default@2x.png in Resources */, - 633FEF1A1D3CD55A0014B822 /* presence_away.png in Resources */, - 639E9CB51C0DB88200019A75 /* PhoneMainView.xib in Resources */, - 633FEDB61D3CD5590014B822 /* call_alt_start_default.png in Resources */, - 633FEF0D1D3CD55A0014B822 /* options_transfer_call_disabled@2x.png in Resources */, - 633FEDEF1D3CD5590014B822 /* call_transfer_default@2x.png in Resources */, - 633FEF391D3CD55A0014B822 /* routes_selected@2x.png in Resources */, - 633FEE491D3CD5590014B822 /* delete_default@2x.png in Resources */, - 633FEF291D3CD55A0014B822 /* route_earpiece_default@2x.png in Resources */, - C63F72EA285A2F1E0066163B /* voip_checkbox_unchecked.png in Resources */, - 633FEE271D3CD5590014B822 /* checkbox_checked@2x.png in Resources */, - 61586B85217A17070038AC45 /* menu_assistant.png in Resources */, - 633FEDCC1D3CD5590014B822 /* call_quality_indicator_0.png in Resources */, - 633FEDEB1D3CD5590014B822 /* call_status_outgoing@2x.png in Resources */, - 633FEDEE1D3CD5590014B822 /* call_transfer_default.png in Resources */, - 63DFE04B1C40161700DA5E87 /* notes_of_the_optimistic.caf in Resources */, - 639E9C931C0DB7BE00019A75 /* FirstLoginView.xib in Resources */, - 633FEEF61D3CD55A0014B822 /* numpad_star_over.png in Resources */, - 633FEEE81D3CD55A0014B822 /* numpad_9_over~ipad@2x.png in Resources */, - 633FEEDE1D3CD55A0014B822 /* numpad_8_over@2x.png in Resources */, - 633FEEB11D3CD55A0014B822 /* numpad_2~ipad.png in Resources */, - 633FEE521D3CD5590014B822 /* dialer_alt_back.png in Resources */, - 633FEE341D3CD5590014B822 /* conference_exit_default.png in Resources */, - 615A283E2180A2560060F920 /* invite_linphone.png in Resources */, - 633FEF281D3CD55A0014B822 /* route_earpiece_default.png in Resources */, - 633FEE4F1D3CD5590014B822 /* delete_field_over@2x.png in Resources */, - C622E3F226A81290004F5434 /* vr_off.png in Resources */, - 633FEE531D3CD5590014B822 /* dialer_alt_back@2x.png in Resources */, - 633FEE3E1D3CD5590014B822 /* contacts_all_disabled.png in Resources */, - 633FEEF31D3CD55A0014B822 /* numpad_over_background.png in Resources */, - 633FEDAD1D3CD5590014B822 /* backspace_over@2x.png in Resources */, - 633FEEEF1D3CD55A0014B822 /* numpad_hash_over~ipad.png in Resources */, - 633FEEE21D3CD55A0014B822 /* numpad_8~ipad@2x.png in Resources */, - 633FEEED1D3CD55A0014B822 /* numpad_hash_over.png in Resources */, - D7CF13732A2E225200D92165 /* emoji.png in Resources */, - 633FEE1F1D3CD5590014B822 /* chat_start_body_disabled@2x.png in Resources */, - 633FEEF81D3CD55A0014B822 /* numpad_star_over~ipad.png in Resources */, - C6A1BB3826E8815400540D50 /* menu_reply_default.png in Resources */, - 633FEF301D3CD55A0014B822 /* route_speaker_disabled.png in Resources */, - 639CEAFD1A1DF4D9004DE38F /* StatusBarView.xib in Resources */, - 633FEDE91D3CD5590014B822 /* call_status_missed~ipad@2x.png in Resources */, - C63F72C9285A2F1E0066163B /* voip_info.png in Resources */, - 8CE24F4C1F8234A30077AC0A /* next_default@2x.png in Resources */, - 244523B11E8266CC0037A187 /* chat_read.png in Resources */, - 61AEBEC62191E47500F35E7F /* chevron_list_close.png in Resources */, - 617B4A60260A2B7800A87337 /* RecordingsListView.xib in Resources */, - 639E9CAC1C0DB80300019A75 /* UIContactDetailsCell.xib in Resources */, - 633FEE511D3CD5590014B822 /* deselect_all@2x.png in Resources */, - C63F72D4285A2F1E0066163B /* voip_remote_recording.png in Resources */, - 8CF25D951F9F336100BEA0C1 /* check_unselected@2x.png in Resources */, - F088488A19FF8C41007FFCF3 /* UIContactCell.xib in Resources */, - 633FEE381D3CD5590014B822 /* contact_add_default.png in Resources */, - 633FEE6F1D3CD5590014B822 /* footer_history_default@2x.png in Resources */, - 633FEF201D3CD55A0014B822 /* presence_unregistered.png in Resources */, - 61586B8D217A173F0038AC45 /* menu_options.png in Resources */, - 61AEBEC82191E48400F35E7F /* chevron_list_close@2x.png in Resources */, - C6E3E7EE291D648D00DDFC46 /* side_menu_voip_meeting_schedule@2x.png in Resources */, - 633FEF341D3CD55A0014B822 /* routes_default.png in Resources */, - C63F72ED285A2F1E0066163B /* voip_merge_calls.png in Resources */, - 633FEE061D3CD5590014B822 /* chat_add_default.png in Resources */, - 633FEDF21D3CD5590014B822 /* call_video_start_default.png in Resources */, - 633FEF491D3CD55A0014B822 /* speaker_selected@2x.png in Resources */, - 633FEF541D3CD55A0014B822 /* waiting_time.png in Resources */, - 633FEE861D3CD5590014B822 /* led_inprogress.png in Resources */, - 633FEDFC1D3CD5590014B822 /* camera_switch_default.png in Resources */, - 24BFAA9F209B0630004F47A7 /* linphone_user.png in Resources */, - 633FEE4B1D3CD5590014B822 /* delete_disabled@2x.png in Resources */, - 633FEE181D3CD5590014B822 /* chat_send_over.png in Resources */, - 633FEDED1D3CD5590014B822 /* call_status_outgoing~ipad@2x.png in Resources */, - 633FEE2D1D3CD5590014B822 /* color_E.png in Resources */, - 633FEED01D3CD55A0014B822 /* numpad_6_over~ipad@2x.png in Resources */, - C64A85502667B67A00252AD2 /* EphemeralSettingsView.xib in Resources */, - 633FEEC81D3CD55A0014B822 /* numpad_5_over~ipad@2x.png in Resources */, - 61586B91217A175D0038AC45 /* menu_recordings.png in Resources */, - C63F72DA285A2F1E0066163B /* voip_numpad_2.png in Resources */, - 633FEF1B1D3CD55A0014B822 /* presence_away@2x.png in Resources */, - C6A1BB3A26E881E100540D50 /* menu_delete.png in Resources */, - 633FEE281D3CD5590014B822 /* checkbox_unchecked.png in Resources */, - 633FEE9D1D3CD55A0014B822 /* numpad_0_over.png in Resources */, - 633FEEC21D3CD55A0014B822 /* numpad_4~ipad@2x.png in Resources */, - 633FEDFE1D3CD5590014B822 /* camera_switch_disabled.png in Resources */, - 633FEE7F1D3CD5590014B822 /* history_missed_selected@2x.png in Resources */, - 633FEDC01D3CD5590014B822 /* call_back_disabled.png in Resources */, - 633FEED31D3CD55A0014B822 /* numpad_7_default.png in Resources */, - 63130FB21C1ED06900371918 /* SideMenuView~ipad.xib in Resources */, - 633FEEE71D3CD55A0014B822 /* numpad_9_over~ipad.png in Resources */, - 633FEEEA1D3CD55A0014B822 /* numpad_9~ipad@2x.png in Resources */, - 633FEEC31D3CD55A0014B822 /* numpad_5_default.png in Resources */, - 669B140827A1821F0012220A /* scroll_to_bottom_default.png in Resources */, - 633FEE3B1D3CD5590014B822 /* contact_add_disabled@2x.png in Resources */, - 633FEF011D3CD55A0014B822 /* options_default@2x.png in Resources */, - 633FEEC01D3CD55A0014B822 /* numpad_4_over~ipad@2x.png in Resources */, - 61586B8B217A17320038AC45 /* menu_link_account@2x.png in Resources */, - 63CDC4661C3BDE370085F529 /* shortring.caf in Resources */, - C6A1BB4126E889AD00540D50 /* forward_message_default.png in Resources */, - 633FEDD51D3CD5590014B822 /* call_quality_indicator_4@2x.png in Resources */, - C63F72CA285A2F1E0066163B /* voip_speaker_off.png in Resources */, - 633FEDE71D3CD5590014B822 /* call_status_missed@2x.png in Resources */, - 615A2821217F6FBF0060F920 /* security_alert_indicator@2x.png in Resources */, - 633FEE1E1D3CD5590014B822 /* chat_start_body_disabled.png in Resources */, - 639CEB001A1DF4E4004DE38F /* UIHistoryCell.xib in Resources */, - 633FEE841D3CD5590014B822 /* led_error.png in Resources */, - 633FEDEA1D3CD5590014B822 /* call_status_outgoing.png in Resources */, - 633FEF511D3CD55A0014B822 /* valid_disabled@2x.png in Resources */, - C63F72C5285A2F1E0066163B /* voip_call_record.png in Resources */, - 633FEEBB1D3CD55A0014B822 /* numpad_4_default.png in Resources */, - 633FEF2B1D3CD55A0014B822 /* route_earpiece_disabled@2x.png in Resources */, - 639E9CA31C0DB7EA00019A75 /* UIChatBubbleTextCell.xib in Resources */, - 633FEDD21D3CD5590014B822 /* call_quality_indicator_3.png in Resources */, - 633FEDAF1D3CD5590014B822 /* call_add_default@2x.png in Resources */, - 633FEE931D3CD55A0014B822 /* menu@2x.png in Resources */, - 633FEF3D1D3CD55A0014B822 /* security_ok@2x.png in Resources */, - 633FEF161D3CD55A0014B822 /* pause_small_disabled.png in Resources */, - 633FEF521D3CD55A0014B822 /* voicemail.png in Resources */, - 633FEE711D3CD5590014B822 /* footer_history_disabled@2x.png in Resources */, - C63F72E5285A2F1E0066163B /* voip_conference_active_speaker.png in Resources */, - 633FEF141D3CD55A0014B822 /* pause_small_default.png in Resources */, - D38187B115FE340500C3EDCA /* ChatsListView.xib in Resources */, - 633FEDA41D3CD5590014B822 /* back_default.png in Resources */, - C63F72BE285A2F1D0066163B /* voip_calls_list.png in Resources */, - C63F72DF285A2F1E0066163B /* voip_bluetooth.png in Resources */, - 633FEE2C1D3CD5590014B822 /* color_D.png in Resources */, - 615A280F217F1FD50060F920 /* chat_add_group.png in Resources */, - 633FEEC41D3CD55A0014B822 /* numpad_5_default@2x.png in Resources */, - 633FEDAC1D3CD5590014B822 /* backspace_over.png in Resources */, - D7A4C0082A3B135800EFBD1B /* new_chat_attachment_default.png in Resources */, - 633FEE1B1D3CD5590014B822 /* chat_start_body_default@2x.png in Resources */, - 633FEE021D3CD5590014B822 /* cancel_edit_default.png in Resources */, - C63F72D7285A2F1E0066163B /* voip_numpad_1.png in Resources */, - 633FEEE31D3CD55A0014B822 /* numpad_9_default.png in Resources */, - 633FEE651D3CD5590014B822 /* footer_chat_disabled@2x.png in Resources */, - 633FEEDD1D3CD55A0014B822 /* numpad_8_over.png in Resources */, - 633FEE8E1D3CD55A0014B822 /* list_details_default.png in Resources */, - 633FEED71D3CD55A0014B822 /* numpad_7_over~ipad.png in Resources */, - C63F72D3285A2F1E0066163B /* voip_multiple_contacts_avatar.png in Resources */, - 633FEF2A1D3CD55A0014B822 /* route_earpiece_disabled.png in Resources */, - 633FEDDB1D3CD5590014B822 /* call_start_body_disabled@2x.png in Resources */, - CFBD7A2A20E504AE007C5286 /* delete_img.png in Resources */, - C63F72C8285A2F1E0066163B /* voip_checkbox_checked.png in Resources */, - 633FEDFD1D3CD5590014B822 /* camera_switch_default@2x.png in Resources */, - 633FEEC51D3CD55A0014B822 /* numpad_5_over.png in Resources */, - 633FEE721D3CD5590014B822 /* history_all_default.png in Resources */, - C6B4444326AAD0980076C517 /* file_default.png in Resources */, - 615A283C2180789C0060F920 /* security_toogle_button@2x.png in Resources */, - 633FEF0A1D3CD55A0014B822 /* options_transfer_call_default.png in Resources */, - 633FEDA51D3CD5590014B822 /* back_default@2x.png in Resources */, - 633FEF311D3CD55A0014B822 /* route_speaker_disabled@2x.png in Resources */, - 61586B81217A16EE0038AC45 /* menu_about.png in Resources */, - C63F72D0285A2F1E0066163B /* voip_conference_paused_big.png in Resources */, - 633FEEE41D3CD55A0014B822 /* numpad_9_default@2x.png in Resources */, - C63F72CD285A2F1E0066163B /* voip_numpad_8.png in Resources */, - 8C2A81961F87B8000012A66B /* chat_group_avatar.png in Resources */, - 633FEDA31D3CD5590014B822 /* avatar~ipad@2x.png in Resources */, - 633FEF461D3CD55A0014B822 /* speaker_disabled.png in Resources */, - 638F1A911C21993D004B8E02 /* UICompositeView~ipad.xib in Resources */, - 633FEE211D3CD5590014B822 /* chat_start_body_disabled~ipad@2x.png in Resources */, - 63AADC011B6A0FF200AA16FD /* assistant_linphone_existing.rc in Resources */, - 633FEE5A1D3CD5590014B822 /* edit_default.png in Resources */, - 244523B01E8266CC0037A187 /* chat_error.png in Resources */, - 8CBD7BA320B6B80D00E5DCC0 /* ChatConversationImdnView.xib in Resources */, - 633FEDD11D3CD5590014B822 /* call_quality_indicator_2@2x.png in Resources */, - 633FEDBC1D3CD5590014B822 /* call_audio_start_disabled.png in Resources */, - 24BFAA9E209B0630004F47A7 /* dialer_background.png in Resources */, - 633FEE481D3CD5590014B822 /* delete_default.png in Resources */, - 633FEEB01D3CD55A0014B822 /* numpad_2_over~ipad@2x.png in Resources */, - 633FEE2A1D3CD5590014B822 /* color_A.png in Resources */, - 633FEEA41D3CD55A0014B822 /* numpad_1_default@2x.png in Resources */, - 63E27A321C4FECD000D332AE /* LaunchScreen.xib in Resources */, - 633FEED11D3CD55A0014B822 /* numpad_6~ipad.png in Resources */, - CF7602E82108759A00749F76 /* UIRecordingCell.xib in Resources */, - C6B4444626AAD0980076C517 /* file_pdf_default.png in Resources */, - 633FEED21D3CD55A0014B822 /* numpad_6~ipad@2x.png in Resources */, - C63F72E0285A2F1E0066163B /* voip_micro_off.png in Resources */, - 633FEDCD1D3CD5590014B822 /* call_quality_indicator_0@2x.png in Resources */, - 636316D41A1DEC650009B839 /* SettingsView.xib in Resources */, - 24BFAAA6209B0630004F47A7 /* linphone_user~ipad.png in Resources */, - 633FEEBF1D3CD55A0014B822 /* numpad_4_over~ipad.png in Resources */, - 633FEEAD1D3CD55A0014B822 /* numpad_2_over.png in Resources */, - 633FEE801D3CD5590014B822 /* led_connected.png in Resources */, - 633FEEF41D3CD55A0014B822 /* numpad_star_default.png in Resources */, - 61586B93217A17700038AC45 /* menu_recordings@2x.png in Resources */, - 615A2834218071FF0060F920 /* security_toogle_background_grey.png in Resources */, - 633FEDDE1D3CD5590014B822 /* call_start_body_over.png in Resources */, - 24BFAAA0209B0630004F47A7 /* contacts_sip_default@2x.png in Resources */, - 8CF25D9D1F9F76BD00BEA0C1 /* chat_group_informations.png in Resources */, - 633FEDFB1D3CD5590014B822 /* camera_selected@2x.png in Resources */, - 633FEF051D3CD55A0014B822 /* options_selected@2x.png in Resources */, - 633FEDD61D3CD5590014B822 /* call_start_body_default.png in Resources */, - 633FEEEC1D3CD55A0014B822 /* numpad_hash_default@2x.png in Resources */, - C63F72D8285A2F1E0066163B /* voip_mandatory.png in Resources */, - 633FEE831D3CD5590014B822 /* led_disconnected@2x.png in Resources */, - 244523BE1E8D3A6C0037A187 /* chat_unsecure.png in Resources */, - C63F72DC285A2F1E0066163B /* voip_menu_more.png in Resources */, - C63F72D5285A2F1E0066163B /* voip_hangup.png in Resources */, - 633FEE031D3CD5590014B822 /* cancel_edit_default@2x.png in Resources */, - 633FEDE01D3CD5590014B822 /* call_start_body_over~ipad.png in Resources */, - 8CBD7BA920B6B82A00E5DCC0 /* UIChatConversationImdnTableViewCell.xib in Resources */, - 615A28442180C0900060F920 /* recording@2x.png in Resources */, - 615A2813217F24D40060F920 /* security_1_indicator.png in Resources */, - 24BFAAA7209B0630004F47A7 /* callkit_logo.png in Resources */, - 615A2811217F1FDE0060F920 /* chat_add_group@2x.png in Resources */, - D34F6F9E1594D3FB0095705B /* InAppSettings.bundle in Resources */, - 633FEE4D1D3CD5590014B822 /* delete_field_default@2x.png in Resources */, - C63F72D9285A2F1E0066163B /* voip_earpiece.png in Resources */, - 615A28362180720D0060F920 /* security_toogle_background_grey@2x.png in Resources */, - 639CEB091A1DF4FA004DE38F /* UIChatCell.xib in Resources */, - C6F55645287CC69F0056E213 /* voip_meeting_schedule.png in Resources */, - 633FEE961D3CD55A0014B822 /* micro_disabled.png in Resources */, - 63AADBF61B6A0FF200AA16FD /* linphonerc-factory in Resources */, - C63F72C6285A2F1E0066163B /* voip_call_forward.png in Resources */, - 633FEE671D3CD5590014B822 /* footer_contacts_default@2x.png in Resources */, - 615A2830218071E80060F920 /* security_toogle_background_green.png in Resources */, - 63B8D68C1BCBE65600C12B09 /* ChatConversationCreateView.xib in Resources */, - 63CDC45F1C3BDE370085F529 /* ringback.wav in Resources */, - 8CD99A1C20908C27008A7CDA /* callkit_logo@2x.png in Resources */, - 633FEE251D3CD5590014B822 /* chat_start_body_over~ipad@2x.png in Resources */, - 633FEDF91D3CD5590014B822 /* camera_disabled@2x.png in Resources */, - 633FEE161D3CD5590014B822 /* chat_send_disabled.png in Resources */, - 615A282421805B260060F920 /* security_toogle_icon_green.png in Resources */, - 633FEE1A1D3CD5590014B822 /* chat_start_body_default.png in Resources */, - 633FEF041D3CD55A0014B822 /* options_selected.png in Resources */, - 633FEEE61D3CD55A0014B822 /* numpad_9_over@2x.png in Resources */, - 63E27A521C50EDB000D332AE /* hold.mkv in Resources */, - 633FEEDC1D3CD55A0014B822 /* numpad_8_default@2x.png in Resources */, - 633FEDAE1D3CD5590014B822 /* call_add_default.png in Resources */, - 633FEE1D1D3CD5590014B822 /* chat_start_body_default~ipad@2x.png in Resources */, - 633FEEEB1D3CD55A0014B822 /* numpad_hash_default.png in Resources */, - 633FEF221D3CD55A0014B822 /* route_bluetooth_default.png in Resources */, - 633FEE701D3CD5590014B822 /* footer_history_disabled.png in Resources */, - 633FEDC91D3CD5590014B822 /* call_missed@2x.png in Resources */, - C63F72E8285A2F1E0066163B /* conference_schedule_calendar_default.png in Resources */, - 633FEEAE1D3CD55A0014B822 /* numpad_2_over@2x.png in Resources */, - 633FEDB51D3CD5590014B822 /* call_alt_back_disabled@2x.png in Resources */, - 631098521D4660630041F2B3 /* CountryListView.xib in Resources */, - 633FEF271D3CD55A0014B822 /* route_bluetooth_selected@2x.png in Resources */, - 633FEE111D3CD5590014B822 /* chat_list_indicator~ipad@2x.png in Resources */, - 633FEEFC1D3CD55A0014B822 /* options_add_call_default.png in Resources */, - 615A2819217F28160060F920 /* chat_list_indicator@2x.png in Resources */, - 61AEBECC2191E4A300F35E7F /* chevron_list_open@2x.png in Resources */, - 24BFAAA5209B0630004F47A7 /* contacts_sip_default.png in Resources */, - 633FEF441D3CD55A0014B822 /* speaker_default.png in Resources */, - 639CEB031A1DF4EB004DE38F /* UICompositeView.xib in Resources */, - C6A1BB4326E88F7C00540D50 /* menu_resend_default.png in Resources */, - 633FEF3A1D3CD55A0014B822 /* security_ko.png in Resources */, - 615A283A2180788E0060F920 /* security_toogle_button.png in Resources */, - 633FEDA01D3CD5590014B822 /* avatar.png in Resources */, - 633FEEBC1D3CD55A0014B822 /* numpad_4_default@2x.png in Resources */, - 633FEEA91D3CD55A0014B822 /* numpad_1~ipad.png in Resources */, - 615A28402180A2620060F920 /* invite_linphone@2x.png in Resources */, - C61B1BF42667D202001A4E4A /* more_menu_default.png in Resources */, - 633FEDF71D3CD5590014B822 /* camera_default@2x.png in Resources */, - D7A4C0092A3B135800EFBD1B /* new_vr_off.png in Resources */, - C64A85522667B74100252AD2 /* ephemeral_messages_default.png in Resources */, - 633FEDB31D3CD5590014B822 /* call_alt_back_default@2x.png in Resources */, - C63F72F2285A2F1E0066163B /* voip_conference_mosaic.png in Resources */, - 633FEDCF1D3CD5590014B822 /* call_quality_indicator_1@2x.png in Resources */, - 633FEF131D3CD55A0014B822 /* pause_big_over_selected@2x.png in Resources */, - 8CDC61951F84D89B0087CF7F /* check_selected.png in Resources */, - 633FEEF01D3CD55A0014B822 /* numpad_hash_over~ipad@2x.png in Resources */, - 63AADBF81B6A0FF200AA16FD /* linphonerc~ipad in Resources */, - 633FEE8F1D3CD55A0014B822 /* list_details_default@2x.png in Resources */, - 633FEE5E1D3CD5590014B822 /* edit_list_default.png in Resources */, - C63F72F7285A2F1E0066163B /* voip_cancel.png in Resources */, - 615A282621805B320060F920 /* security_toogle_icon_green@2x.png in Resources */, - 633FEDB11D3CD5590014B822 /* call_add_disabled@2x.png in Resources */, - CF7602F7210898CC00749F76 /* rec_off_default.png in Resources */, - 633FEDB21D3CD5590014B822 /* call_alt_back_default.png in Resources */, - 633FEE3D1D3CD5590014B822 /* contacts_all_default@2x.png in Resources */, - 633FEF251D3CD55A0014B822 /* route_bluetooth_disabled@2x.png in Resources */, - 633FEDD81D3CD5590014B822 /* call_start_body_default~ipad.png in Resources */, - 61586B83217A16FD0038AC45 /* menu_about@2x.png in Resources */, - C63F72E6285A2F1E0066163B /* voip_numpad_6.png in Resources */, - 633FEED81D3CD55A0014B822 /* numpad_7_over~ipad@2x.png in Resources */, - 633FEDD71D3CD5590014B822 /* call_start_body_default@2x.png in Resources */, - C63F72D6285A2F1E0066163B /* voip_pause.png in Resources */, - 633FEE571D3CD5590014B822 /* dialer_back_disabled@2x.png in Resources */, - 63CDC45E1C3BDE370085F529 /* msg.caf in Resources */, - 633FEE6D1D3CD5590014B822 /* footer_dialer_disabled@2x.png in Resources */, - 633FEF171D3CD55A0014B822 /* pause_small_disabled@2x.png in Resources */, - C6A1BB3626E8815400540D50 /* menu_forward_default.png in Resources */, - D38187DD15FE348A00C3EDCA /* AssistantView.xib in Resources */, - 633FEDA61D3CD5590014B822 /* back_disabled.png in Resources */, - 633FEED61D3CD55A0014B822 /* numpad_7_over@2x.png in Resources */, - 633FEDA11D3CD5590014B822 /* avatar@2x.png in Resources */, - 633FED9E1D3CD5590014B822 /* add_field_over.png in Resources */, - 633FEE0A1D3CD5590014B822 /* chat_attachment_default.png in Resources */, - 633FEE201D3CD5590014B822 /* chat_start_body_disabled~ipad.png in Resources */, - 633FEE5B1D3CD5590014B822 /* edit_default@2x.png in Resources */, - 633FEDE11D3CD5590014B822 /* call_start_body_over~ipad@2x.png in Resources */, - 633FEF4F1D3CD55A0014B822 /* valid_default@2x.png in Resources */, - 8CD99A382090A824008A7CDA /* splashscreen.png in Resources */, - C63F72B7285A2F1D0066163B /* voip_numpad_7.png in Resources */, - 633FEE241D3CD5590014B822 /* chat_start_body_over~ipad.png in Resources */, - 8C2A81951F87B8000012A66B /* chat_group_avatar@2x.png in Resources */, - C63F72C4285A2F1D0066163B /* voip_audio_routes.png in Resources */, - C63F72E1285A2F1E0066163B /* voip_camera_on.png in Resources */, - 633FEE091D3CD5590014B822 /* chat_add_disabled@2x.png in Resources */, - 633FEE191D3CD5590014B822 /* chat_send_over@2x.png in Resources */, - 633FEF181D3CD55A0014B822 /* pause_small_over_selected.png in Resources */, - 633FEE001D3CD5590014B822 /* camera_switch_over.png in Resources */, - C622E3F126A81290004F5434 /* vr_on.png in Resources */, - 633FEF401D3CD55A0014B822 /* select_all_default.png in Resources */, - C6B4444426AAD0980076C517 /* file_picture_default.png in Resources */, - 633FEDF01D3CD5590014B822 /* call_transfer_disabled.png in Resources */, - 633FEE351D3CD5590014B822 /* conference_exit_default@2x.png in Resources */, - 633FEECF1D3CD55A0014B822 /* numpad_6_over~ipad.png in Resources */, - 61586B87217A17160038AC45 /* menu_assistant@2x.png in Resources */, - 633FEE9A1D3CD55A0014B822 /* nowebcamCIF.jpg in Resources */, - 61586B89217A17220038AC45 /* menu_link_account.png in Resources */, - 633FEF351D3CD55A0014B822 /* routes_default@2x.png in Resources */, - 633FEEDB1D3CD55A0014B822 /* numpad_8_default.png in Resources */, - 633FEE5C1D3CD5590014B822 /* edit_disabled.png in Resources */, - C63F72BD285A2F1D0066163B /* voip_call_header_incoming.png in Resources */, - 8CF25D9E1F9F76BD00BEA0C1 /* chat_group_informations@2x.png in Resources */, - 633FEDCA1D3CD5590014B822 /* call_outgoing.png in Resources */, - 633FEDF81D3CD5590014B822 /* camera_disabled.png in Resources */, - 8CB2B8FB1F86229E0015CEE2 /* next_disabled@2x.png in Resources */, - 633FEEE91D3CD55A0014B822 /* numpad_9~ipad.png in Resources */, - 633FEE331D3CD5590014B822 /* color_M.png in Resources */, - 633FEE811D3CD5590014B822 /* led_connected@2x.png in Resources */, - 8CA70AD51F9E285C00A3D2EB /* chat_group_add.png in Resources */, - 633FEE9B1D3CD55A0014B822 /* numpad_0_default.png in Resources */, - 633FEF411D3CD55A0014B822 /* select_all_default@2x.png in Resources */, - 633FEEFD1D3CD55A0014B822 /* options_add_call_default@2x.png in Resources */, - 633FEEA81D3CD55A0014B822 /* numpad_1_over~ipad@2x.png in Resources */, - C63F72B9285A2F1D0066163B /* voip_export.png in Resources */, - D38187AD15FE340100C3EDCA /* ChatConversationView.xib in Resources */, - 633FEE7C1D3CD5590014B822 /* history_missed_disabled.png in Resources */, - CF1DE92E210A0F5D00A0A97E /* UILinphoneAudioPlayer.xib in Resources */, - 633FEDF11D3CD5590014B822 /* call_transfer_disabled@2x.png in Resources */, - 615A282821805B400060F920 /* security_toogle_icon_grey.png in Resources */, - 667A423C293A4BAD00C4306C /* post_quantum_secure@3x.png in Resources */, - 633FEDFF1D3CD5590014B822 /* camera_switch_disabled@2x.png in Resources */, - 633FEDDF1D3CD5590014B822 /* call_start_body_over@2x.png in Resources */, - 633FEEFA1D3CD55A0014B822 /* numpad_star~ipad.png in Resources */, - D38187B915FE342200C3EDCA /* ContactDetailsView.xib in Resources */, - 633FEE921D3CD55A0014B822 /* menu.png in Resources */, - C622E3F026A81290004F5434 /* vr_wave.png in Resources */, - C63F72E3285A2F1E0066163B /* voip_call.png in Resources */, - 633FEDE41D3CD5590014B822 /* call_status_incoming~ipad.png in Resources */, - 633FEE4C1D3CD5590014B822 /* delete_field_default.png in Resources */, - 633FEE391D3CD5590014B822 /* contact_add_default@2x.png in Resources */, - 633FEE741D3CD5590014B822 /* history_all_disabled.png in Resources */, - 633FEE081D3CD5590014B822 /* chat_add_disabled.png in Resources */, - 615A28422180C0870060F920 /* recording.png in Resources */, - C63F72EC285A2F1E0066163B /* conference_schedule_time_default.png in Resources */, - 633FEF1D1D3CD55A0014B822 /* presence_offline@2x.png in Resources */, - 24A3459E1D95797700881A5C /* UIShopTableCell.xib in Resources */, - 633FEE231D3CD5590014B822 /* chat_start_body_over@2x.png in Resources */, - 633FEEBE1D3CD55A0014B822 /* numpad_4_over@2x.png in Resources */, - 633FEF471D3CD55A0014B822 /* speaker_disabled@2x.png in Resources */, - 633FEEFE1D3CD55A0014B822 /* options_add_call_disabled.png in Resources */, - 633FEE291D3CD5590014B822 /* checkbox_unchecked@2x.png in Resources */, - 63AADC001B6A0FF200AA16FD /* assistant_linphone_create.rc in Resources */, - 633FEF1C1D3CD55A0014B822 /* presence_offline.png in Resources */, - 633FEE901D3CD55A0014B822 /* list_details_over.png in Resources */, - 633FEDE31D3CD5590014B822 /* call_status_incoming@2x.png in Resources */, - 633FEE821D3CD5590014B822 /* led_disconnected.png in Resources */, - C63F72BC285A2F1D0066163B /* voip_numpad_4.png in Resources */, - 633FEDB01D3CD5590014B822 /* call_add_disabled.png in Resources */, - 63EC8D391D7438660066547B /* AssistantLinkView.xib in Resources */, - 633FEE971D3CD55A0014B822 /* micro_disabled@2x.png in Resources */, - D38187CD15FE346700C3EDCA /* HistoryDetailsView.xib in Resources */, - 633FEEA21D3CD55A0014B822 /* numpad_0~ipad@2x.png in Resources */, - 633FEE991D3CD55A0014B822 /* micro_selected@2x.png in Resources */, - 633FEE621D3CD5590014B822 /* footer_chat_default.png in Resources */, - 24BFAAA3209B0630004F47A7 /* contacts_sip_selected.png in Resources */, - 633FEE0D1D3CD5590014B822 /* chat_attachment_disabled@2x.png in Resources */, - 639E9CA61C0DB7F200019A75 /* UIChatCreateCell.xib in Resources */, - 633FEEA31D3CD55A0014B822 /* numpad_1_default.png in Resources */, - 633FEEA51D3CD55A0014B822 /* numpad_1_over.png in Resources */, - 633FEF2E1D3CD55A0014B822 /* route_speaker_default.png in Resources */, - 633FEDA91D3CD5590014B822 /* backspace_default@2x.png in Resources */, - 633FEDF61D3CD5590014B822 /* camera_default.png in Resources */, - C63F72E2285A2F1E0066163B /* voip_conference_play_big.png in Resources */, - F0642EF119DAC891009DB336 /* MainStoryboard.storyboard in Resources */, - 633FEECC1D3CD55A0014B822 /* numpad_6_default@2x.png in Resources */, - 633FEEB91D3CD55A0014B822 /* numpad_3~ipad.png in Resources */, - C63F72F5285A2F1E0066163B /* voip_single_contact_avatar.png in Resources */, - C63F72EF285A2F1E0066163B /* voip_micro_on.png in Resources */, - 633FEE731D3CD5590014B822 /* history_all_default@2x.png in Resources */, - 633FEDE21D3CD5590014B822 /* call_status_incoming.png in Resources */, - 633FEDDA1D3CD5590014B822 /* call_start_body_disabled.png in Resources */, - 633FEDB91D3CD5590014B822 /* call_alt_start_disabled@2x.png in Resources */, - 633FEE691D3CD5590014B822 /* footer_contacts_disabled@2x.png in Resources */, - 8CBD7BA020B6B7FD00E5DCC0 /* ChatConversationInfoView.xib in Resources */, - 633FEF071D3CD55A0014B822 /* options_start_conference_default@2x.png in Resources */, - 633FEE151D3CD5590014B822 /* chat_send_default@2x.png in Resources */, - 633FEDC31D3CD5590014B822 /* call_hangup_default@2x.png in Resources */, - 633FEF061D3CD55A0014B822 /* options_start_conference_default.png in Resources */, - 63AADC021B6A0FF200AA16FD /* assistant_remote.rc in Resources */, - 633FEF1E1D3CD55A0014B822 /* presence_online.png in Resources */, - 8CE24F571F8268850077AC0A /* conference_delete.png in Resources */, - 633FEDF41D3CD5590014B822 /* call_video_start_disabled.png in Resources */, - 633FEDD31D3CD5590014B822 /* call_quality_indicator_3@2x.png in Resources */, - 633FEE3A1D3CD5590014B822 /* contact_add_disabled.png in Resources */, - 633FEEA11D3CD55A0014B822 /* numpad_0~ipad.png in Resources */, - 8CE24F4B1F8234A30077AC0A /* next_default.png in Resources */, - 633FEE751D3CD5590014B822 /* history_all_disabled@2x.png in Resources */, - 633FEEF71D3CD55A0014B822 /* numpad_star_over@2x.png in Resources */, - 633FEEAB1D3CD55A0014B822 /* numpad_2_default.png in Resources */, - 633FEE851D3CD5590014B822 /* led_error@2x.png in Resources */, - C6B4444226AAD0980076C517 /* file_video_default.png in Resources */, - 633FEDBE1D3CD5590014B822 /* call_back_default.png in Resources */, - 633FEF0F1D3CD55A0014B822 /* pause_big_default@2x.png in Resources */, - C66B040E26F095D1009B5EDC /* cancel_forward.png in Resources */, - CF7602F6210898CC00749F76 /* rec_on_default@2x.png in Resources */, - 633FEF081D3CD55A0014B822 /* options_start_conference_disabled.png in Resources */, - 633FEE301D3CD5590014B822 /* color_H.png in Resources */, - 633FEE7D1D3CD5590014B822 /* history_missed_disabled@2x.png in Resources */, - 633FEE941D3CD55A0014B822 /* micro_default.png in Resources */, - 633FEE611D3CD5590014B822 /* edit_list_disabled@2x.png in Resources */, - C63F72EE285A2F1E0066163B /* voip_camera_off.png in Resources */, - 633FEE761D3CD5590014B822 /* history_all_selected.png in Resources */, - C63F72E7285A2F1E0066163B /* voip_call_participants.png in Resources */, - 8C300D9B1E40E0CC00728EF3 /* lime_ko@2x.png in Resources */, - 633FEF321D3CD55A0014B822 /* route_speaker_selected.png in Resources */, - 61AEBEBF2191991F00F35E7F /* DevicesListView.xib in Resources */, - C63F72BA285A2F1D0066163B /* voip_call_numpad.png in Resources */, - 633FEDF51D3CD5590014B822 /* call_video_start_disabled@2x.png in Resources */, - 63B81A0C1B57DA33009604A6 /* LICENSE.txt in Resources */, - 633FEEDA1D3CD55A0014B822 /* numpad_7~ipad@2x.png in Resources */, - 633FEE5D1D3CD5590014B822 /* edit_disabled@2x.png in Resources */, - 615A2832218071F30060F920 /* security_toogle_background_green@2x.png in Resources */, - 633FEEC11D3CD55A0014B822 /* numpad_4~ipad.png in Resources */, - 633FEE6B1D3CD5590014B822 /* footer_dialer_default@2x.png in Resources */, - 633FEE0E1D3CD5590014B822 /* chat_attachment_over.png in Resources */, - 633FEE7B1D3CD5590014B822 /* history_missed_default@2x.png in Resources */, - 633FEEC71D3CD55A0014B822 /* numpad_5_over~ipad.png in Resources */, - C6F55647287CCFB70056E213 /* menu_voip_meeting_schedule.png in Resources */, - C63F72BF285A2F1D0066163B /* voip_call_header_paused.png in Resources */, - 633FEEAA1D3CD55A0014B822 /* numpad_1~ipad@2x.png in Resources */, - 633FEDEC1D3CD5590014B822 /* call_status_outgoing~ipad.png in Resources */, - 633FEDE51D3CD5590014B822 /* call_status_incoming~ipad@2x.png in Resources */, - 633FEEE11D3CD55A0014B822 /* numpad_8~ipad.png in Resources */, - 633FEF101D3CD55A0014B822 /* pause_big_disabled.png in Resources */, - 633FEE221D3CD5590014B822 /* chat_start_body_over.png in Resources */, - 633FEE601D3CD5590014B822 /* edit_list_disabled.png in Resources */, - D38187C115FE345B00C3EDCA /* DialerView.xib in Resources */, - C6A1BB3726E8815400540D50 /* menu_copy_text_default.png in Resources */, - D37EE10D16035793003608A6 /* ImageView.xib in Resources */, - C63F72B8285A2F1D0066163B /* voip_radio_off.png in Resources */, - 633FEE9F1D3CD55A0014B822 /* numpad_0_over~ipad.png in Resources */, - 633FEED51D3CD55A0014B822 /* numpad_7_over.png in Resources */, - 633FEE561D3CD5590014B822 /* dialer_back_disabled.png in Resources */, - 633FEDBF1D3CD5590014B822 /* call_back_default@2x.png in Resources */, - 24BFAAA8209B0630004F47A7 /* contacts_sip_selected@2x.png in Resources */, - 633FEE141D3CD5590014B822 /* chat_send_default.png in Resources */, - 633FEF421D3CD55A0014B822 /* select_all_disabled.png in Resources */, - 63AADBE81B6A0FF200AA16FD /* Localizable.strings in Resources */, - C63F72CF285A2F1E0066163B /* voip_copy.png in Resources */, - 633FEEF21D3CD55A0014B822 /* numpad_hash~ipad@2x.png in Resources */, - 633FEE3F1D3CD5590014B822 /* contacts_all_disabled@2x.png in Resources */, - 633FEF3B1D3CD55A0014B822 /* security_ko@2x.png in Resources */, - C63F72F1285A2F1E0066163B /* conference_schedule_participants_default.png in Resources */, - 633FEE4A1D3CD5590014B822 /* delete_disabled.png in Resources */, - 614D09CE21E74D5400C43EDF /* GoogleService-Info.plist in Resources */, - C6B4444526AAD0980076C517 /* file_audio_default.png in Resources */, - C6A1BB3526E8815400540D50 /* menu_info.png in Resources */, - C61B1BF72667EC6B001A4E4A /* ephemeral_messages_color_A.png in Resources */, - 633FEF151D3CD55A0014B822 /* pause_small_default@2x.png in Resources */, - 633FEEF91D3CD55A0014B822 /* numpad_star_over~ipad@2x.png in Resources */, - 633FEDCB1D3CD5590014B822 /* call_outgoing@2x.png in Resources */, - 633FEF501D3CD55A0014B822 /* valid_disabled.png in Resources */, - 633FEEB31D3CD55A0014B822 /* numpad_3_default.png in Resources */, - 61AEBECA2191E49300F35E7F /* chevron_list_open.png in Resources */, - 633FEE1C1D3CD5590014B822 /* chat_start_body_default~ipad.png in Resources */, - 633FEE011D3CD5590014B822 /* camera_switch_over@2x.png in Resources */, - 633FEEA01D3CD55A0014B822 /* numpad_0_over~ipad@2x.png in Resources */, - 66E399F72857869300E73456 /* menu_notifications_off.png in Resources */, - 633FEF3E1D3CD55A0014B822 /* security_pending.png in Resources */, - 633FEE7E1D3CD5590014B822 /* history_missed_selected.png in Resources */, - 633FEE261D3CD5590014B822 /* checkbox_checked.png in Resources */, - C63F72B6285A2F1D0066163B /* voip_spinner.png in Resources */, - 633FEF531D3CD55A0014B822 /* voicemail@2x.png in Resources */, - 633FEF2C1D3CD55A0014B822 /* route_earpiece_selected.png in Resources */, - 633FEE681D3CD5590014B822 /* footer_contacts_disabled.png in Resources */, - C63F72B5285A2F1D0066163B /* voip_dropdown.png in Resources */, - C63F72CC285A2F1E0066163B /* voip_call_stats.png in Resources */, - 633FEDB71D3CD5590014B822 /* call_alt_start_default@2x.png in Resources */, - D3D5126C160B3A8E00946DF8 /* AssistantViewScreens.xib in Resources */, - 63AADBEA1B6A0FF200AA16FD /* Images.xcassets in Resources */, - 633FEECB1D3CD55A0014B822 /* numpad_6_default.png in Resources */, - C63F72DD285A2F1E0066163B /* voip_conference_new.png in Resources */, - 633FEDC71D3CD5590014B822 /* call_incoming@2x.png in Resources */, - 633FEDB81D3CD5590014B822 /* call_alt_start_disabled.png in Resources */, - 615A281D217F6FA80060F920 /* security_2_indicator@2x.png in Resources */, - C63F72E9285A2F1E0066163B /* voip_call_chat.png in Resources */, - 633FEF3C1D3CD55A0014B822 /* security_ok.png in Resources */, - 633FEEAF1D3CD55A0014B822 /* numpad_2_over~ipad.png in Resources */, - 633FEEB81D3CD55A0014B822 /* numpad_3_over~ipad@2x.png in Resources */, - 633FEEFB1D3CD55A0014B822 /* numpad_star~ipad@2x.png in Resources */, - 633FED9F1D3CD5590014B822 /* add_field_over@2x.png in Resources */, - 633FEEB71D3CD55A0014B822 /* numpad_3_over~ipad.png in Resources */, - C63F72F3285A2F1E0066163B /* voip_numpad_5.png in Resources */, - 633FEEF51D3CD55A0014B822 /* numpad_star_default@2x.png in Resources */, - 639E9CA91C0DB7FB00019A75 /* UIConfirmationDialog.xib in Resources */, - C63F72CB285A2F1E0066163B /* voip_call_more.png in Resources */, - 633FEF111D3CD55A0014B822 /* pause_big_disabled@2x.png in Resources */, - C63F72FE285A31DA0066163B /* Roboto-Italic.ttf in Resources */, - C63F72C1285A2F1D0066163B /* voip_numpad_3.png in Resources */, - 633FEE321D3CD5590014B822 /* color_L.png in Resources */, - 615A281F217F6FB40060F920 /* security_alert_indicator.png in Resources */, - CF7602F5210898CC00749F76 /* rec_off_default@2x.png in Resources */, - 633FEDB41D3CD5590014B822 /* call_alt_back_disabled.png in Resources */, - 633FEE631D3CD5590014B822 /* footer_chat_default@2x.png in Resources */, - 615A281B217F6F9C0060F920 /* security_2_indicator.png in Resources */, - 633FEE661D3CD5590014B822 /* footer_contacts_default.png in Resources */, - 633FEDC11D3CD5590014B822 /* call_back_disabled@2x.png in Resources */, - 633FEEEE1D3CD55A0014B822 /* numpad_hash_over@2x.png in Resources */, - 633FEDD01D3CD5590014B822 /* call_quality_indicator_2.png in Resources */, - C63F72BB285A2F1D0066163B /* voip_chat_rooms_list.png in Resources */, - 633FEE551D3CD5590014B822 /* dialer_back_default@2x.png in Resources */, - 633FEF361D3CD55A0014B822 /* routes_disabled.png in Resources */, - 633FEF261D3CD55A0014B822 /* route_bluetooth_selected.png in Resources */, - 633FEDF31D3CD5590014B822 /* call_video_start_default@2x.png in Resources */, - 24BFAAA2209B0630004F47A7 /* linphone_user~ipad@2x.png in Resources */, - 633FEDBA1D3CD5590014B822 /* call_audio_start_default.png in Resources */, - D7C6DE842948CF3100756E03 /* DropDownCell.xib in Resources */, - 61586B8F217A174F0038AC45 /* menu_options@2x.png in Resources */, - 633FEE131D3CD5590014B822 /* chat_message_not_delivered@2x.png in Resources */, - 615A282A21805B4C0060F920 /* security_toogle_icon_grey@2x.png in Resources */, - C63F72CE285A2F1E0066163B /* voip_call_add.png in Resources */, - 63AADBF51B6A0FF200AA16FD /* linphonerc in Resources */, - 633FEF0C1D3CD55A0014B822 /* options_transfer_call_disabled.png in Resources */, - 633FEE911D3CD55A0014B822 /* list_details_over@2x.png in Resources */, - 633FEE121D3CD5590014B822 /* chat_message_not_delivered.png in Resources */, - 633FEDCE1D3CD5590014B822 /* call_quality_indicator_1.png in Resources */, - 66E399F82857869300E73456 /* menu_notifications_on.png in Resources */, - 8CB2B8F91F86229E0015CEE2 /* chat_secure.png in Resources */, - C63F72DB285A2F1E0066163B /* voip_conference_audio_only.png in Resources */, - 633FEF4E1D3CD55A0014B822 /* valid_default.png in Resources */, - 570742581D5A0691004B9C84 /* ShopView.xib in Resources */, - 633FEE361D3CD5590014B822 /* conference_exit_over.png in Resources */, - 633FEDAA1D3CD5590014B822 /* backspace_disabled.png in Resources */, - F0938159188E629800A55DFA /* iTunesArtwork in Resources */, - 633FEE791D3CD5590014B822 /* history_chat_indicator@2x.png in Resources */, - 633FEEBA1D3CD55A0014B822 /* numpad_3~ipad@2x.png in Resources */, - 633FEEA61D3CD55A0014B822 /* numpad_1_over@2x.png in Resources */, - 633FEE371D3CD5590014B822 /* conference_exit_over@2x.png in Resources */, - 639E9CA01C0DB7E500019A75 /* UIChatBubblePhotoCell.xib in Resources */, - 633FEE4E1D3CD5590014B822 /* delete_field_over.png in Resources */, - 633FEE501D3CD5590014B822 /* deselect_all.png in Resources */, - 633FEF2F1D3CD55A0014B822 /* route_speaker_default@2x.png in Resources */, - 633FEDDD1D3CD5590014B822 /* call_start_body_disabled~ipad@2x.png in Resources */, - 633FEEBD1D3CD55A0014B822 /* numpad_4_over.png in Resources */, - 8CA70AD41F9E285C00A3D2EB /* chat_group_add@2x.png in Resources */, - C66B040A26EFDA55009B5EDC /* reply_cancel.png in Resources */, - 633FEEF11D3CD55A0014B822 /* numpad_hash~ipad.png in Resources */, - 633FEE781D3CD5590014B822 /* history_chat_indicator.png in Resources */, - 633FEF431D3CD55A0014B822 /* select_all_disabled@2x.png in Resources */, - 633FEE771D3CD5590014B822 /* history_all_selected@2x.png in Resources */, - 633FEF031D3CD55A0014B822 /* options_disabled@2x.png in Resources */, - 633FEDA21D3CD5590014B822 /* avatar~ipad.png in Resources */, - 24BFAAA1209B0630004F47A7 /* linphone_user@2x.png in Resources */, - 633FEF211D3CD55A0014B822 /* presence_unregistered@2x.png in Resources */, - C63F72C2285A2F1D0066163B /* voip_numpad_9.png in Resources */, - C63F72E4285A2F1E0066163B /* voip_call_list_menu.png in Resources */, - 633FEEA71D3CD55A0014B822 /* numpad_1_over~ipad.png in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 61AE364920C00B370089D9D3 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 61AE365220C00B370089D9D3 /* MainInterface.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 6637AF8B288593AF00965733 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - EA88A406242A6224007FEC61 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - EA88A407242A6235007FEC61 /* Localizable.strings in Resources */, - 6112A01E243B5FD500DBD5F5 /* GoogleService-Info.plist in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - EA88F3AE241BD1ED00E66528 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - EA88F3AF241BD1F700E66528 /* MainInterface.storyboard in Resources */, - EA88A405242A6216007FEC61 /* Localizable.strings in Resources */, - 6112A01C243B31A700DBD5F5 /* GoogleService-Info.plist in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 6112A019243B2C8400DBD5F5 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "$(SRCROOT)/msgNotificationContent/linphone-Info.plist", - "$(SRCROOT)/linphone.xcarchive/dSYMs/msgNotificationContent.appex.dSYM/Contents/Resources/DWARF/msgNotificationContent", - ); - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "val=`expr \"$GCC_PREPROCESSOR_DEFINITIONS\" : \".*USE_CRASHLYTICS=\\([0-9]*\\)\"`\nif [ $val = 1 ]; then\n ${PODS_ROOT}/FirebaseCrashlytics/run\nfi\n"; - }; - 6112A01A243B2CCF00DBD5F5 /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "$(SRCROOT)/msgNotificationService/linphone-Info.plist", - "$(SRCROOT)/linphone.xcarchive/dSYMs/msgNotificationService.appex.dSYM/Contents/Resources/DWARF/msgNotificationService", - ); - name = "Run Script"; - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "val=`expr \"$GCC_PREPROCESSOR_DEFINITIONS\" : \".*USE_CRASHLYTICS=\\([0-9]*\\)\"`\nif [ $val = 1 ]; then\n ${PODS_ROOT}/FirebaseCrashlytics/run\nfi\n"; - }; - 614D0A1821E77F5300C43EDF /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "$(SRCROOT)/linphone.xcarchive/dSYMs/linphone.app.dSYM/Contents/Resources/DWARF/linphone", - "$(SRCROOT)/linphone-Info.plist", - ); - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "val=`expr \"$GCC_PREPROCESSOR_DEFINITIONS\" : \".*USE_CRASHLYTICS=\\([0-9]*\\)\"`\nif [ $val = 1 ]; then\n ${PODS_ROOT}/FirebaseCrashlytics/run\nfi\n\n\n"; - }; - 63DCC71D1A07B08E00916627 /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Run Script"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "$SRCROOT/Tools/git_version.sh\n"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 1D60588E0D05DD3D006BFB54 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 63B81A0F1B57DA33009604A6 /* TPKeyboardAvoidingTableView.m in Sources */, - CF1DE92D210A0F5D00A0A97E /* UILinphoneAudioPlayer.m in Sources */, - D779D39C29A76DE6007B8087 /* ChatConversationTableViewModel.swift in Sources */, - 1D60589B0D05DD56006BFB54 /* main.m in Sources */, - C63F725C285A24B10066163B /* IncomingCallView.swift in Sources */, - C63F726B285A24B10066163B /* ButtonWithStateBackgrounds.swift in Sources */, - D783D9BA2A669A9E00293E87 /* ContentMessageView.swift in Sources */, - C63F7218285A24B10066163B /* ScheduledConferencesCell.swift in Sources */, - C63F722E285A24B10066163B /* IceState.swift in Sources */, - 6135761C240E81BB005304D4 /* UIInterfaceStyleButton.m in Sources */, - C63F721C285A24B10066163B /* MediatorLiveData.swift in Sources */, - 8CD99A3C2090B9FA008A7CDA /* ChatConversationImdnView.m in Sources */, - 1D3623260D0F684500981E51 /* LinphoneAppDelegate.m in Sources */, - C63F7264285A24B10066163B /* BouncingCounter.swift in Sources */, - D7013DB82940AA12004EEAAE /* MessageView.swift in Sources */, - C6B4444826AADA530076C517 /* SwiftUtil.swift in Sources */, - C63F7257285A24B10066163B /* ConferenceLayoutPickerView.swift in Sources */, - CF15F21E20E4F9A3008B1DE6 /* UIImageViewDeletable.m in Sources */, - D7F067482AAA1BFB0044CC87 /* ReactionCell.swift in Sources */, - 22F2508E107141E100AC9B3F /* DialerView.m in Sources */, - C63F724F285A24B10066163B /* LocalVideoView.swift in Sources */, - 633756451B67D2B200E21BAD /* SideMenuView.m in Sources */, - 8CD99A422090CE6F008A7CDA /* UIChatConversationImdnTableViewCell.m in Sources */, - 22E0A822111C44E100B04932 /* AboutView.m in Sources */, - 633671611BCBAAD200BFCBDE /* ChatConversationCreateView.m in Sources */, - 634610061B61330300548952 /* UILabel+Boldify.m in Sources */, - 2248E90E12F7E4CF00220D9C /* UIDigitButton.m in Sources */, - D7CBC0F72A8E1669009182D8 /* Mode.swift in Sources */, - 633756391B67BAF400E21BAD /* SideMenuTableView.m in Sources */, - C63F7245285A24B10066163B /* VoipConferenceAudioOnlyView.swift in Sources */, - 2214EB7A12F846B1002A5394 /* UICallButton.m in Sources */, - C63F7258285A24B10066163B /* ControlsView.swift in Sources */, - 630CF5571AF7CE1500539F7A /* UITextField+DoneButton.m in Sources */, - C63F720D285A24B10066163B /* ConfigManager.swift in Sources */, - 8C9C5E111F83BD97006987FA /* UIChatCreateCollectionViewCell.m in Sources */, - C63F7231285A24B10066163B /* PayloadType.swift in Sources */, - 63701DDF1BA32039006A9AE3 /* UIConfirmationDialog.m in Sources */, - 22AA8B0113D83F6300B30535 /* UICamSwitch.m in Sources */, - 63B8D6A21BCBF43100C12B09 /* UIChatCreateCell.m in Sources */, - 636BC9971B5F921B00C754CE /* UIIconButton.m in Sources */, - C63F7263285A24B10066163B /* FormButton.swift in Sources */, - C63F7215285A24B10066163B /* ConferenceWaitingRoomView.swift in Sources */, - C6548820292D32FA00BF646B /* SingleCallView.swift in Sources */, - 63423C0A1C4501D000D9A050 /* Contact.m in Sources */, - C63F7262285A24B10066163B /* RotatingSpinner.swift in Sources */, - C63F723A285A24B10066163B /* CallData.swift in Sources */, - CF7602D7210867E800749F76 /* RecordingsListView.m in Sources */, - C63F7226285A24B10066163B /* UIVIewExtensions.swift in Sources */, - C63F7259285A24B10066163B /* RemotelyRecording.swift in Sources */, - C63F7236285A24B10066163B /* ControlsViewModel.swift in Sources */, - C63F7214285A24B10066163B /* Duration.swift in Sources */, - C63F723B285A24B10066163B /* AudioRouteUtils.swift in Sources */, - C63F7269285A24B10066163B /* StyledLabel.swift in Sources */, - D7CBC0FD2A8E3D3F009182D8 /* VoipSpeakerCell.swift in Sources */, - C63F722C285A24B10066163B /* UIColorExtensions.swift in Sources */, - D3F83F8E15822ABE00336684 /* PhoneMainView.m in Sources */, - C63F7251285A24B10066163B /* NumpadView.swift in Sources */, - C63F723F285A24B10066163B /* ButtonTheme.swift in Sources */, - C63F7213285A24B10066163B /* TimeZoneData.swift in Sources */, - C6A1BB3E26E882D000540D50 /* UIChatReplyBubbleView.m in Sources */, - 6377AC801BDE4069007F7625 /* UIBackToCallButton.m in Sources */, - 6308F9C51BF0DD6600D1234B /* XMLRPCHelper.m in Sources */, - C63F7235285A24B10066163B /* CallsViewModel.swift in Sources */, - D779D39E29AC9E93007B8087 /* AudioPlayer.swift in Sources */, - C63F722D285A24B10066163B /* CoreExtensions.swift in Sources */, - C63F722F285A24B10066163B /* AddressExtensions.swift in Sources */, - D3ED3E871586291E006C0DE4 /* TabBarView.m in Sources */, - 617C242A263022690042FB4A /* UIChatContentView.m in Sources */, - C63F7261285A24B10066163B /* CallControlButton.swift in Sources */, - D3ED3EA71587334E006C0DE4 /* HistoryListTableView.m in Sources */, - D768763529CDA88200570747 /* UploadMessageCell.swift in Sources */, - C63F7220285A24B10066163B /* TimestampUtils.swift in Sources */, - 61AEBEBD2191990A00F35E7F /* DevicesListView.m in Sources */, - D3ED3EB81587392C006C0DE4 /* HistoryListView.m in Sources */, - 24A345A61D95798A00881A5C /* UIShopTableCell.m in Sources */, - C63F7268285A24B10066163B /* Avatar.swift in Sources */, - C63F7247285A24B10066163B /* VoipAudioOnlyParticipantCell.swift in Sources */, - D35497FE15875372000081D8 /* ContactsListView.m in Sources */, - 635173F91BA082A40095EB0A /* UIChatBubblePhotoCell.m in Sources */, - C63F723E285A24B10066163B /* VoipTexts.swift in Sources */, - C63F722A285A24B10066163B /* UIImageViewExtensions.swift in Sources */, - D3549816158761D0000081D8 /* ContactsListTableView.m in Sources */, - D77057F1292E4A340031A970 /* ChatConversationViewModel.swift in Sources */, - 633888461BFB2C49001D5E7B /* HPTextViewInternal.m in Sources */, - C63F7242285A24B10066163B /* VoipParticipantCell.swift in Sources */, - D35498211587716B000081D8 /* StatusBarView.m in Sources */, - D3A55FBC15877E5E003FD403 /* UIContactCell.m in Sources */, - 6341807C1BBC103100F71761 /* ChatConversationCreateTableView.m in Sources */, - C63F7254285A24B10066163B /* CallsListView.swift in Sources */, - 63BE7A781D75BDF6000990EF /* ShopTableView.m in Sources */, - D779D39A29A4C285007B8087 /* MultilineMessageCell.swift in Sources */, - D326483815887D5200930C67 /* OrderedDictionary.m in Sources */, - D32648441588F6FC00930C67 /* UIToggleButton.m in Sources */, - D31C9C98158A1CDF00756B45 /* UIHistoryCell.m in Sources */, - D35E7597159460580066B1C1 /* ChatsListView.m in Sources */, - D35E759F159460B70066B1C1 /* SettingsView.m in Sources */, - C63F7216285A24B10066163B /* ScheduledConferencesView.swift in Sources */, - 662B73332A73C331002135F3 /* CopyableLabel.swift in Sources */, - C63F7255285A24B10066163B /* VoipCallCell.swift in Sources */, - 63B81A101B57DA33009604A6 /* UIScrollView+TPKeyboardAvoidingAdditions.m in Sources */, - C63F7211285A24B10066163B /* ScheduledConferencesViewModel.swift in Sources */, - F03CA84318C72F1A0008889D /* UITextViewNoDefine.m in Sources */, - C63F7212285A24B10066163B /* ScheduledConferenceData.swift in Sources */, - C63F7239285A24B10066163B /* ConferenceParticipantDeviceData.swift in Sources */, - C63F7238285A24B10066163B /* ConferenceParticipantData.swift in Sources */, - 63B81A0D1B57DA33009604A6 /* TPKeyboardAvoidingCollectionView.m in Sources */, - D7C6DE832948CF3100756E03 /* DropDownCell.swift in Sources */, - D7CBC0FF2A8E3E11009182D8 /* ConferenceSpeakerData.swift in Sources */, - C63F726D285A24B10066163B /* ProviderDelegate.swift in Sources */, - C63F7266285A24B10066163B /* UICallTimer.swift in Sources */, - C6548821292D32FA00BF646B /* ConferenceCallView.swift in Sources */, - C63F726C285A24B10066163B /* StyledTextView.swift in Sources */, - 570742611D5A09B8004B9C84 /* ShopView.m in Sources */, - D37DC6C11594AE1800B2A5EB /* LinphoneCoreSettingsStore.m in Sources */, - 63CD4B4F1A5AAC8C00B84282 /* DTAlertView.m in Sources */, - D3EA53FD159850E80037DC6B /* LinphoneManager.m in Sources */, - 63B81A0E1B57DA33009604A6 /* TPKeyboardAvoidingScrollView.m in Sources */, - 633888451BFB2C49001D5E7B /* HPGrowingTextView.m in Sources */, - D7097B35296D684900AEF6C5 /* FileType.swift in Sources */, - 63F1DF441BCE618E00EDED90 /* UIAddressTextField.m in Sources */, - D3EA540D1598528B0037DC6B /* ChatsListTableView.m in Sources */, - C63F725E285A24B10066163B /* VoipDialog.swift in Sources */, - C63F724E285A24B10066163B /* PausedCallOrConferenceView.swift in Sources */, - D3EA5411159853750037DC6B /* UIChatCell.m in Sources */, - D72F27AA2AA8B42D00CFB13D /* SheetViewController.swift in Sources */, - D31B4B21159876C0002E6C72 /* UICompositeView.m in Sources */, - C63F7267285A24B10066163B /* StyledCheckBox.swift in Sources */, - 8C9C5E0D1F83B2EF006987FA /* ChatConversationCreateCollectionViewController.m in Sources */, - 631098491D4660580041F2B3 /* CountryListView.m in Sources */, - D32B9DFC15A2F131000B6DEC /* FastAddressBook.m in Sources */, - C684F1FA2913D65500736775 /* SnapkitBridge.swift in Sources */, - C63F7228285A24B10066163B /* OptionalExtensions.swift in Sources */, - C63F7241285A24B10066163B /* ParticipantsListView.swift in Sources */, - D350F20E15A43BB100149E54 /* AssistantView.m in Sources */, - D3F795D615A582810077328B /* ChatConversationView.m in Sources */, - C63F723C285A24B10066163B /* LightDarkColor.swift in Sources */, - D32B6E2915A5BC440033019F /* ChatConversationTableView.m in Sources */, - C63F7233285A24B10066163B /* ConferenceExtensions.swift in Sources */, - C63F7260285A24B10066163B /* StyledSwitch.swift in Sources */, - C63F7252285A24B10066163B /* VoipExtraButtonsView.swift in Sources */, - D7DA18712A02598700FABA0D /* TextViewer.swift in Sources */, - 669B140C27A29D140012220A /* FloatingScrollDownButton.swift in Sources */, - C63F7219285A24B10066163B /* ConferenceHistoryDetailsView.swift in Sources */, - D779D3A229B5E365007B8087 /* UIImageExtension.swift in Sources */, - D3A8BB7015A6C7D500F96BE5 /* UIChatBubbleTextCell.m in Sources */, - 63D11C531C3D501200E8FCEE /* Log.m in Sources */, - D3128FE115AABC7E00A2147A /* ContactDetailsView.m in Sources */, - 6135761F240E81D0005304D4 /* UIInterfaceStyleToggleButton.m in Sources */, - C63F7221285A24B10066163B /* AppManager.swift in Sources */, - D37C639B15AADEF6009D0BAC /* ContactDetailsTableView.m in Sources */, - 63E59A3F1ADE70D900646FB3 /* InAppProductsManager.m in Sources */, - D3C6526715AC1A8F0092A874 /* UIContactDetailsCell.m in Sources */, - D7421D9E29228A5200290CAB /* ChatConversationViewSwift.swift in Sources */, - C63F7227285A24B10066163B /* UILabelExtensions.swift in Sources */, - 631348301B6F7B6600C6BDCB /* UIRoundBorderedButton.m in Sources */, - C90FAA7915AF54E6002091CB /* HistoryDetailsView.m in Sources */, - C63F7253285A24B10066163B /* VoipCallContextMenu.swift in Sources */, - C63F725A285A24B10066163B /* OutgoingCallView.swift in Sources */, - 63FB30351A680E73008CA393 /* UIRoundedImageView.m in Sources */, - 635775251B6673EC00C8B704 /* HistoryDetailsTableView.m in Sources */, - D7CBC0FB2A8E3D1E009182D8 /* SpeakersListView.swift in Sources */, - C63F720E285A24B10066163B /* CallManager.swift in Sources */, - 63C441C31BBC23ED0053DC5E /* UIAssistantTextField.m in Sources */, - D35860D615B549B500513429 /* Utils.m in Sources */, - D3F7998115BD32370018C273 /* TPMultiLayoutViewController.m in Sources */, - C63F721A285A24B10066163B /* ConferenceSchedulingView.swift in Sources */, - C63F7232285A24B10066163B /* CallExtensions.swift in Sources */, - D3807FBF15C28940005BE9BC /* DCRoundSwitch.m in Sources */, - D3807FC115C28940005BE9BC /* DCRoundSwitchKnobLayer.m in Sources */, - 61CCC3DF21933B580060EDEA /* UIDeviceCell.m in Sources */, - D74A44912923BAF90017D063 /* BackActionsNavigationView.swift in Sources */, - C63F725D285A24B10066163B /* SharedLayoutConstants.swift in Sources */, - C63F7250285A24B10066163B /* CallStatsView.swift in Sources */, - 6306440E1BECB08500134C72 /* FirstLoginView.m in Sources */, - C63F721F285A24B10066163B /* BackNextNavigationView.swift in Sources */, - D71418E529C9E2CD002EEF75 /* CircularProgressBarView.swift in Sources */, - D3807FC315C28940005BE9BC /* DCRoundSwitchOutlineLayer.m in Sources */, - C63F723D285A24B10066163B /* TextStyle.swift in Sources */, - C6548823292D369500BF646B /* AbstractCallView.swift in Sources */, - C63F7229285A24B10066163B /* UIButtonExtensions.swift in Sources */, - C63F722B285A24B10066163B /* UIDeviceExtensions.swift in Sources */, - C63F724B285A24B10066163B /* VoipConferenceDisplayModeSelectionView.swift in Sources */, - C63D2F1529029536008F0F66 /* FileUtil.swift in Sources */, - CF7602E221086EB200749F76 /* RecordingsListTableView.m in Sources */, - C63F721E285A24B10066163B /* Pair.swift in Sources */, - D3807FC515C28940005BE9BC /* DCRoundSwitchToggleLayer.m in Sources */, - 633E41821D74259000320475 /* AssistantLinkView.m in Sources */, - C63F724A285A24B10066163B /* VoipConferenceActiveSpeakerView.swift in Sources */, - C63F7210285A24B10066163B /* ConferenceSchedulingViewModel.swift in Sources */, - D3807FE815C2894A005BE9BC /* IASKAppSettingsViewController.m in Sources */, - D3807FEC15C2894A005BE9BC /* IASKSpecifierValuesViewController.m in Sources */, - 8CA70AE41F9E39E400A3D2EB /* UIChatConversationInfoTableViewCell.m in Sources */, - D3807FEE15C2894A005BE9BC /* IASKSettingsReader.m in Sources */, - D3807FF015C2894A005BE9BC /* IASKSettingsStore.m in Sources */, - C63F7234285A24B10066163B /* ConferenceViewModel.swift in Sources */, - 8CA70AD11F9E0AE100A3D2EB /* ChatConversationInfoView.m in Sources */, - D7A7545029507038005C9D4A /* CustomAlertController.swift in Sources */, - D3807FF215C2894A005BE9BC /* IASKSettingsStoreFile.m in Sources */, - C63F720F285A24B10066163B /* ConferenceWaitingRoomViewModel.swift in Sources */, - C63F7248285A24B10066163B /* MicMuted.swift in Sources */, - C63F7243285A24B10066163B /* AudioRoutesView.swift in Sources */, - D3807FF415C2894A005BE9BC /* IASKSettingsStoreUserDefaults.m in Sources */, - D71418E329C9B4E0002EEF75 /* DownloadMessageCell.swift in Sources */, - C63F7240285A24B10066163B /* VoipTheme.swift in Sources */, - C63F7265285A24B10066163B /* VoipExtraButton.swift in Sources */, - 639E9C801C0DB13D00019A75 /* UICheckBoxTableView.m in Sources */, - CF7602E72108759A00749F76 /* UIRecordingCell.m in Sources */, - D3807FF615C2894A005BE9BC /* IASKSpecifier.m in Sources */, - D3807FF815C2894A005BE9BC /* IASKPSSliderSpecifierViewCell.m in Sources */, - C63F726A285A24B10066163B /* StyledDatePicker.swift in Sources */, - C63F7237285A24B10066163B /* CallStatisticsData.swift in Sources */, - D3807FFA15C2894A005BE9BC /* IASKPSTextFieldSpecifierViewCell.m in Sources */, - C63F721B285A24B10066163B /* ConferenceSchedulingSummaryView.swift in Sources */, - D779D39829A3C933007B8087 /* ChatConversationTableViewSwift.swift in Sources */, - D3807FFE15C2894A005BE9BC /* IASKSlider.m in Sources */, - D380800015C2894A005BE9BC /* IASKSwitch.m in Sources */, - 662553B427EDFB35007F67D8 /* MagicSearch.swift in Sources */, - C63F725F285A24B10066163B /* StyledValuePicker.swift in Sources */, - C63F7224285A24B10066163B /* UIVIewControllerExtensions.swift in Sources */, - D380800215C2894A005BE9BC /* IASKTextField.m in Sources */, - D380801315C299D0005BE9BC /* ColorSpaceUtilites.m in Sources */, - C63F721D285A24B10066163B /* MutableLiveData.swift in Sources */, - C63F7256285A24B10066163B /* DismissableView.swift in Sources */, - C63F724C285A24B10066163B /* ActiveCallView.swift in Sources */, - C63F7225285A24B10066163B /* UIImageExtensions.swift in Sources */, - C64A854E2667B67200252AD2 /* EphemeralSettingsView.m in Sources */, - D780FF7D2A459CE3001535E6 /* MediaViewer.swift in Sources */, - 8C92ABF31FA773E50006FB5D /* UIChatNotifiedEventCell.m in Sources */, - C63F726E285A24B10066163B /* VFSUtil.swift in Sources */, - 633FEF581D3CD5E00014B822 /* UIAvatarPresence.m in Sources */, - C63F7230285A24B10066163B /* ParticipantExtensions.swift in Sources */, - 637157A11B283FE200C91677 /* FileTransferDelegate.m in Sources */, - D378AB2A15DCDB4A0098505D /* ImagePickerView.m in Sources */, - 22405F001601C19200B92522 /* ImageView.m in Sources */, - C63F724D285A24B10066163B /* AbstractIncomingOutgoingCallView.swift in Sources */, - D37EE162160377D7003608A6 /* DTActionSheet.m in Sources */, - D306459E1611EC2A00BB571E /* UILoadingImageView.m in Sources */, - C63F7246285A24B10066163B /* VoipGridParticipantCell.swift in Sources */, - C63F7244285A24B10066163B /* VoipActiveSpeakerParticipantCell.swift in Sources */, - 6381DA7D1C1AD5EA00DF3BBD /* UIBouncingView.m in Sources */, - C63F7217285A24B10066163B /* ICSBubbleView.swift in Sources */, - C63F7222285A24B10066163B /* UIApplication+Extension.swift in Sources */, - C63F7249285A24B10066163B /* VoipConferenceGridView.swift in Sources */, - D37E3ECD1619C27A0087659A /* CAAnimation+Blocks.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 61AE364720C00B370089D9D3 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 61AE364F20C00B370089D9D3 /* ShareViewController.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 6637AF89288593AF00965733 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 6643501C28D1CD3300AEA777 /* UIColorExtensions.swift in Sources */, - 662F570028C0AA0800E851BF /* UITestsCoreManager.swift in Sources */, - 6693A1D428D0FCE900489A39 /* ActiveCallViewUITestsMethods.swift in Sources */, - 66631CE828D37AA300115E36 /* ExtraMenuActiveCallActionsUITestsMethods.swift in Sources */, - 6637AF90288593AF00965733 /* IncomingCallUITests.swift in Sources */, - 66305A5B28B9105D00838792 /* UITestsScreenshots.swift in Sources */, - 662F570228C2506600E851BF /* OutgoingCallUITests.swift in Sources */, - 662F56FE28C00DF300E851BF /* UITestsUtils.swift in Sources */, - 66631CE728D37A2400115E36 /* ExtraMenuUITests.swift in Sources */, - 662F56FF28C0A9FE00E851BF /* IncomingOutgoingCallViewUITestsMethods.swift in Sources */, - 6693A1D328D0FCE400489A39 /* ActiveCallUITests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - EA5F25D5232BD3E200475F2E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - C63F726F285A24E90066163B /* VFSUtil.swift in Sources */, - EA3650DB2330D2E30001148A /* NotificationService.swift in Sources */, - EAE6C88423FABF690076A018 /* Utils.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - EA8CB823239F96CA00C330CC /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - C63F7270285A24E90066163B /* VFSUtil.swift in Sources */, - EA8CB82C239F96CA00C330CC /* NotificationViewController.swift in Sources */, - EAE6C88523FABF690076A018 /* Utils.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 61AE365520C00B370089D9D3 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 61AE364A20C00B370089D9D3 /* linphoneExtension */; - targetProxy = 61AE365420C00B370089D9D3 /* PBXContainerItemProxy */; - }; - 6637AF94288593AF00965733 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 1D6058900D05DD3D006BFB54 /* linphone */; - targetProxy = 6637AF93288593AF00965733 /* PBXContainerItemProxy */; - }; - EA8CB83A239F9A3000C330CC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = EA5F25D8232BD3E200475F2E /* msgNotificationService */; - targetProxy = EA88F393241BC1F400E66528 /* PBXContainerItemProxy */; - }; - EA8CB83C239F9A3000C330CC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = EA8CB826239F96CA00C330CC /* msgNotificationContent */; - targetProxy = EA88F394241BC1F400E66528 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 570742561D5A0691004B9C84 /* ShopView.xib */ = { - isa = PBXVariantGroup; - children = ( - 570742571D5A0691004B9C84 /* Base */, - 61E8E46B23C5EA2E00434E71 /* fr */, - 6187B1DC24B3272500D580FB /* hu */, - ); - name = ShopView.xib; - sourceTree = ""; - }; - 617B4A62260A2B7800A87337 /* RecordingsListView.xib */ = { - isa = PBXVariantGroup; - children = ( - 617B4A61260A2B7800A87337 /* Base */, - 617B4A64260A2B8500A87337 /* fr */, - 617B4A75260A3F5500A87337 /* en */, - ); - name = RecordingsListView.xib; - sourceTree = ""; - }; - 61AE365020C00B370089D9D3 /* MainInterface.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 61AE365120C00B370089D9D3 /* Base */, - ); - name = MainInterface.storyboard; - sourceTree = ""; - }; - 631098501D4660630041F2B3 /* CountryListView.xib */ = { - isa = PBXVariantGroup; - children = ( - 631098511D4660630041F2B3 /* Base */, - 8CBD7BBE20B6B87400E5DCC0 /* fr */, - 6187B1C424B3271B00D580FB /* hu */, - ); - name = CountryListView.xib; - sourceTree = ""; - }; - 63130FB01C1ED06900371918 /* SideMenuView~ipad.xib */ = { - isa = PBXVariantGroup; - children = ( - 63130FB11C1ED06900371918 /* Base */, - 8CBD7BD820B6B88F00E5DCC0 /* fr */, - 6187B1DE24B3272600D580FB /* hu */, - ); - name = "SideMenuView~ipad.xib"; - sourceTree = ""; - }; - 636316D31A1DEBCB0009B839 /* AboutView.xib */ = { - isa = PBXVariantGroup; - children = ( - 636316D21A1DEBCB0009B839 /* Base */, - 61E8E46323C5E8EC00434E71 /* ar */, - 61E8E46523C5E8F000434E71 /* fr */, - 6187B1B524B3271500D580FB /* hu */, - ); - name = AboutView.xib; - sourceTree = ""; - }; - 636316D61A1DEC650009B839 /* SettingsView.xib */ = { - isa = PBXVariantGroup; - children = ( - 636316D51A1DEC650009B839 /* Base */, - F0AF070E1A24BA770086C9C1 /* ar */, - 8CBD7BD520B6B88C00E5DCC0 /* fr */, - 6187B1DB24B3272400D580FB /* hu */, - ); - name = SettingsView.xib; - sourceTree = ""; - }; - 638F1A601C2021B2004B8E02 /* DialerView~ipad.xib */ = { - isa = PBXVariantGroup; - children = ( - 638F1A611C2021B2004B8E02 /* Base */, - 8CBD7BC020B6B87500E5DCC0 /* fr */, - 6187B1C624B3271C00D580FB /* hu */, - ); - name = "DialerView~ipad.xib"; - sourceTree = ""; - }; - 638F1A8F1C21993D004B8E02 /* UICompositeView~ipad.xib */ = { - isa = PBXVariantGroup; - children = ( - 638F1A901C21993D004B8E02 /* Base */, - 8CBD7BCF20B6B88200E5DCC0 /* fr */, - 6187B1D524B3272200D580FB /* hu */, - ); - name = "UICompositeView~ipad.xib"; - sourceTree = ""; - }; - 639CEAFF1A1DF4D9004DE38F /* StatusBarView.xib */ = { - isa = PBXVariantGroup; - children = ( - 639CEAFE1A1DF4D9004DE38F /* Base */, - F0AF070C1A24BA770086C9C1 /* ar */, - 8CBD7BD920B6B89000E5DCC0 /* fr */, - 6187B1DF24B3272600D580FB /* hu */, - ); - name = StatusBarView.xib; - path = LinphoneUI; - sourceTree = ""; - }; - 639CEB021A1DF4E4004DE38F /* UIHistoryCell.xib */ = { - isa = PBXVariantGroup; - children = ( - 639CEB011A1DF4E4004DE38F /* Base */, - F0AF07091A24BA770086C9C1 /* ar */, - 8CBD7BD320B6B88900E5DCC0 /* fr */, - 6187B1D924B3272400D580FB /* hu */, - ); - name = UIHistoryCell.xib; - sourceTree = ""; - }; - 639CEB051A1DF4EB004DE38F /* UICompositeView.xib */ = { - isa = PBXVariantGroup; - children = ( - 639CEB041A1DF4EB004DE38F /* Base */, - F0AF07041A24BA770086C9C1 /* ar */, - 8CBD7BCE20B6B88100E5DCC0 /* fr */, - 6187B1D424B3272100D580FB /* hu */, - ); - name = UICompositeView.xib; - sourceTree = ""; - }; - 639CEB0B1A1DF4FA004DE38F /* UIChatCell.xib */ = { - isa = PBXVariantGroup; - children = ( - 639CEB0A1A1DF4FA004DE38F /* Base */, - F0AF07021A24BA770086C9C1 /* ar */, - 8CBD7BC920B6B87B00E5DCC0 /* fr */, - 6187B1CF24B3271F00D580FB /* hu */, - ); - name = UIChatCell.xib; - sourceTree = ""; - }; - 639E9C951C0DB7BE00019A75 /* FirstLoginView.xib */ = { - isa = PBXVariantGroup; - children = ( - 639E9C941C0DB7BE00019A75 /* Base */, - 8CBD7BC120B6B87600E5DCC0 /* fr */, - 6187B1C724B3271C00D580FB /* hu */, - ); - name = FirstLoginView.xib; - sourceTree = ""; - }; - 639E9CA21C0DB7E500019A75 /* UIChatBubblePhotoCell.xib */ = { - isa = PBXVariantGroup; - children = ( - 639E9CA11C0DB7E500019A75 /* Base */, - 8CBD7BC720B6B87A00E5DCC0 /* fr */, - 6187B1CD24B3271F00D580FB /* hu */, - ); - name = UIChatBubblePhotoCell.xib; - sourceTree = ""; - }; - 639E9CA51C0DB7EA00019A75 /* UIChatBubbleTextCell.xib */ = { - isa = PBXVariantGroup; - children = ( - 639E9CA41C0DB7EA00019A75 /* Base */, - 8CBD7BC820B6B87B00E5DCC0 /* fr */, - 6187B1CE24B3271F00D580FB /* hu */, - ); - name = UIChatBubbleTextCell.xib; - sourceTree = ""; - }; - 639E9CA81C0DB7F200019A75 /* UIChatCreateCell.xib */ = { - isa = PBXVariantGroup; - children = ( - 639E9CA71C0DB7F200019A75 /* Base */, - 8CBD7BCD20B6B88000E5DCC0 /* fr */, - 6187B1D224B3272100D580FB /* hu */, - ); - name = UIChatCreateCell.xib; - sourceTree = ""; - }; - 639E9CAB1C0DB7FB00019A75 /* UIConfirmationDialog.xib */ = { - isa = PBXVariantGroup; - children = ( - 639E9CAA1C0DB7FB00019A75 /* Base */, - 8CBD7BD020B6B88400E5DCC0 /* fr */, - 6187B1D624B3272200D580FB /* hu */, - ); - name = UIConfirmationDialog.xib; - sourceTree = ""; - }; - 639E9CAE1C0DB80300019A75 /* UIContactDetailsCell.xib */ = { - isa = PBXVariantGroup; - children = ( - 639E9CAD1C0DB80300019A75 /* Base */, - 8CBD7BD220B6B88700E5DCC0 /* fr */, - 6187B1D824B3272300D580FB /* hu */, - ); - name = UIContactDetailsCell.xib; - sourceTree = ""; - }; - 639E9CB21C0DB83000019A75 /* SideMenuView.xib */ = { - isa = PBXVariantGroup; - children = ( - 639E9CB11C0DB83000019A75 /* Base */, - 8CBD7BD720B6B88E00E5DCC0 /* fr */, - 6187B1DD24B3272500D580FB /* hu */, - ); - name = SideMenuView.xib; - sourceTree = ""; - }; - 639E9CB31C0DB88200019A75 /* PhoneMainView.xib */ = { - isa = PBXVariantGroup; - children = ( - 639E9CB41C0DB88200019A75 /* Base */, - 8CBD7BD420B6B88A00E5DCC0 /* fr */, - 6187B1DA24B3272400D580FB /* hu */, - ); - name = PhoneMainView.xib; - sourceTree = ""; - }; - 63AADBC41B6A0FF200AA16FD /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - 63AADBC51B6A0FF200AA16FD /* ar */, - 63AADBC61B6A0FF200AA16FD /* de */, - 63AADBC71B6A0FF200AA16FD /* en */, - 63AADBCB1B6A0FF200AA16FD /* ja */, - 63AADBDD1B6A0FF200AA16FD /* nl */, - 63AADBE11B6A0FF200AA16FD /* ru */, - 666D795C283E67E300B07215 /* fr */, - 66EADAF62A939485002DDCEE /* pl */, - 66EADAF72A939485002DDCEE /* es */, - 66EADAF82A939486002DDCEE /* sv */, - 66EADAF92A939486002DDCEE /* pt_BR */, - 66EADAFA2A939486002DDCEE /* zh_TW */, - 66EADAFB2A939486002DDCEE /* it */, - 66EADAFC2A939486002DDCEE /* uk */, - 66EADAFD2A939486002DDCEE /* tr */, - 66EADAFE2A939487002DDCEE /* ka */, - 66EADAFF2A939487002DDCEE /* es_AR */, - 66EADB002A939487002DDCEE /* cs */, - 66EADB012A939487002DDCEE /* hu */, - 66EADB022A939487002DDCEE /* zh_CN */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - 63B8D68E1BCBE65600C12B09 /* ChatConversationCreateView.xib */ = { - isa = PBXVariantGroup; - children = ( - 63B8D68D1BCBE65600C12B09 /* Base */, - 8CBD7BB920B6B87000E5DCC0 /* fr */, - 6187B1BD24B3271800D580FB /* hu */, - ); - name = ChatConversationCreateView.xib; - sourceTree = ""; - }; - 63EC8D3B1D7438660066547B /* AssistantLinkView.xib */ = { - isa = PBXVariantGroup; - children = ( - 63EC8D3A1D7438660066547B /* Base */, - 61E8E46723C5E9B400434E71 /* fr */, - 6187B1B624B3271500D580FB /* hu */, - ); - name = AssistantLinkView.xib; - sourceTree = ""; - }; - 8CBD7BA220B6B7FD00E5DCC0 /* ChatConversationInfoView.xib */ = { - isa = PBXVariantGroup; - children = ( - 8CBD7BA120B6B7FD00E5DCC0 /* Base */, - 8CBD7BB720B6B86E00E5DCC0 /* fr */, - 6187B1BF24B3271900D580FB /* hu */, - ); - name = ChatConversationInfoView.xib; - sourceTree = ""; - }; - 8CBD7BA520B6B80D00E5DCC0 /* ChatConversationImdnView.xib */ = { - isa = PBXVariantGroup; - children = ( - 8CBD7BA420B6B80D00E5DCC0 /* Base */, - 8CBD7BB820B6B86F00E5DCC0 /* fr */, - 6187B1BE24B3271900D580FB /* hu */, - ); - name = ChatConversationImdnView.xib; - sourceTree = ""; - }; - 8CBD7BA820B6B82400E5DCC0 /* UIChatConversationInfoTableViewCell.xib */ = { - isa = PBXVariantGroup; - children = ( - 8CBD7BA720B6B82400E5DCC0 /* Base */, - 8CBD7BCA20B6B87D00E5DCC0 /* fr */, - 6187B1D124B3272000D580FB /* hu */, - ); - name = UIChatConversationInfoTableViewCell.xib; - sourceTree = ""; - }; - 8CBD7BAB20B6B82A00E5DCC0 /* UIChatConversationImdnTableViewCell.xib */ = { - isa = PBXVariantGroup; - children = ( - 8CBD7BAA20B6B82A00E5DCC0 /* Base */, - 8CBD7BCB20B6B87E00E5DCC0 /* fr */, - 6187B1D024B3272000D580FB /* hu */, - ); - name = UIChatConversationImdnTableViewCell.xib; - sourceTree = ""; - }; - C66B03BD26E8EB1A009B5EDC /* UIChatReplyBubbleView.xib */ = { - isa = PBXVariantGroup; - children = ( - C66B03BC26E8EB1A009B5EDC /* Base */, - C66B03C126E8EB82009B5EDC /* en */, - C66B03C326E8EB87009B5EDC /* fr */, - ); - name = UIChatReplyBubbleView.xib; - sourceTree = ""; - }; - D37EE11016035793003608A6 /* ImageView.xib */ = { - isa = PBXVariantGroup; - children = ( - F09548221883F15400E8A69B /* Base */, - F09548441883F52900E8A69B /* ru */, - F0AF06FB1A24BA770086C9C1 /* ar */, - 8CBD7BC420B6B87800E5DCC0 /* fr */, - 6187B1CA24B3271E00D580FB /* hu */, - ); - name = ImageView.xib; - sourceTree = ""; - }; - D38187B015FE340100C3EDCA /* ChatConversationView.xib */ = { - isa = PBXVariantGroup; - children = ( - F09548181883F15300E8A69B /* Base */, - F09548321883F20A00E8A69B /* ru */, - F0AF06F11A24BA760086C9C1 /* ar */, - 8CBD7BBA20B6B87000E5DCC0 /* fr */, - 6187B1C024B3271A00D580FB /* hu */, - ); - name = ChatConversationView.xib; - sourceTree = ""; - }; - D38187B415FE340500C3EDCA /* ChatsListView.xib */ = { - isa = PBXVariantGroup; - children = ( - F09548191883F15300E8A69B /* Base */, - F09548341883F25F00E8A69B /* ru */, - F0AF06F21A24BA760086C9C1 /* ar */, - 8CBD7BBB20B6B87100E5DCC0 /* fr */, - 6187B1C124B3271A00D580FB /* hu */, - ); - name = ChatsListView.xib; - sourceTree = ""; - }; - D38187BC15FE342200C3EDCA /* ContactDetailsView.xib */ = { - isa = PBXVariantGroup; - children = ( - F095481B1883F15300E8A69B /* Base */, - F09548381883F29C00E8A69B /* ru */, - F0AF06F41A24BA760086C9C1 /* ar */, - 8CBD7BBC20B6B87200E5DCC0 /* fr */, - 6187B1C224B3271A00D580FB /* hu */, - ); - name = ContactDetailsView.xib; - sourceTree = ""; - }; - D38187C015FE342800C3EDCA /* ContactsListView.xib */ = { - isa = PBXVariantGroup; - children = ( - F095481C1883F15300E8A69B /* Base */, - F095483A1883F2CA00E8A69B /* ru */, - F0AF06F51A24BA760086C9C1 /* ar */, - 8CBD7BBD20B6B87300E5DCC0 /* fr */, - 6187B1C324B3271B00D580FB /* hu */, - ); - name = ContactsListView.xib; - sourceTree = ""; - }; - D38187C415FE345B00C3EDCA /* DialerView.xib */ = { - isa = PBXVariantGroup; - children = ( - F095481D1883F15300E8A69B /* Base */, - F095483C1883F2E300E8A69B /* ru */, - F0AF06F61A24BA760086C9C1 /* ar */, - 8CBD7BBF20B6B87400E5DCC0 /* fr */, - 6187B1C524B3271B00D580FB /* hu */, - ); - name = DialerView.xib; - sourceTree = ""; - }; - D38187D015FE346700C3EDCA /* HistoryDetailsView.xib */ = { - isa = PBXVariantGroup; - children = ( - F09548201883F15400E8A69B /* Base */, - 636316DB1A1DEDD80009B839 /* ru */, - F0AF06F91A24BA760086C9C1 /* ar */, - 8CBD7BC220B6B87600E5DCC0 /* fr */, - 6187B1C824B3271D00D580FB /* hu */, - ); - name = HistoryDetailsView.xib; - sourceTree = ""; - }; - D38187D415FE346B00C3EDCA /* HistoryListView.xib */ = { - isa = PBXVariantGroup; - children = ( - F09548211883F15400E8A69B /* Base */, - F09548421883F51B00E8A69B /* ru */, - F0AF06FA1A24BA770086C9C1 /* ar */, - 8CBD7BC320B6B87700E5DCC0 /* fr */, - 6187B1C924B3271D00D580FB /* hu */, - ); - name = HistoryListView.xib; - sourceTree = ""; - }; - D38187E015FE348A00C3EDCA /* AssistantView.xib */ = { - isa = PBXVariantGroup; - children = ( - F095482E1883F15500E8A69B /* Base */, - F095485A1883F67B00E8A69B /* ru */, - F0AF070F1A24BA770086C9C1 /* ar */, - 8CBD7BB120B6B86900E5DCC0 /* fr */, - 6187B1B724B3271600D580FB /* hu */, - ); - name = AssistantView.xib; - sourceTree = ""; - }; - D38187FB15FE355D00C3EDCA /* TabBarView.xib */ = { - isa = PBXVariantGroup; - children = ( - F095482C1883F15400E8A69B /* Base */, - F09548561883F61600E8A69B /* ru */, - F0AF070A1A24BA770086C9C1 /* ar */, - 8CBD7BDA20B6B89000E5DCC0 /* fr */, - 6187B1E024B3272700D580FB /* hu */, - ); - name = TabBarView.xib; - path = LinphoneUI; - sourceTree = ""; - }; - D3D5126A160B3A8E00946DF8 /* AssistantViewScreens.xib */ = { - isa = PBXVariantGroup; - children = ( - F09548301883F15500E8A69B /* Base */, - F095485E1883F6EA00E8A69B /* ru */, - F0AF07111A24BA770086C9C1 /* ar */, - 8CBD7BB220B6B86A00E5DCC0 /* fr */, - 6187B1B824B3271600D580FB /* hu */, - ); - name = AssistantViewScreens.xib; - sourceTree = ""; - }; - EA8CB82D239F96CA00C330CC /* MainInterface.storyboard */ = { - isa = PBXVariantGroup; - children = ( - EA8CB82E239F96CA00C330CC /* Base */, - ); - name = MainInterface.storyboard; - sourceTree = ""; - }; - F088488D19FF8C41007FFCF3 /* UIContactCell.xib */ = { - isa = PBXVariantGroup; - children = ( - F088488C19FF8C41007FFCF3 /* Base */, - F0AF07061A24BA770086C9C1 /* ar */, - 8CBD7BD120B6B88500E5DCC0 /* fr */, - 6187B1D724B3272300D580FB /* hu */, - ); - name = UIContactCell.xib; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 1D6058940D05DD3E006BFB54 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = NO; - CLANG_WARN_UNREACHABLE_CODE = NO; - CODE_SIGN_ENTITLEMENTS = linphone.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - COMPRESS_PNG_FILES = NO; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - GCC_C_LANGUAGE_STANDARD = c99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = linphone_Prefix.pch; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "DEBUG=1", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES; - GCC_TREAT_WARNINGS_AS_ERRORS = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/Classes/Utils/XMLRPC/", - "$(SRCROOT)/Classes/Utils/NinePatch/", - "$(inherited)", - ); - IBC_MODULE = linphoneapp; - IBSC_MODULE = linphoneapp; - INFOPLIST_FILE = "linphone-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(BUILT_PRODUCTS_DIR)", - "$(inherited)", - ); - LINK_WITH_STANDARD_LIBRARIES = YES; - MARKETING_VERSION = 5.2.1; - OTHER_CFLAGS = ( - "-DBCTBX_LOG_DOMAIN=\\\"ios\\\"", - "-DCHECK_VERSION_UPDATE=FALSE", - "-DENABLE_QRCODE=TRUE", - "-DENABLE_SMS_INVITE=TRUE", - "$(inherited)", - "-DLINPHONE_SDK_VERSION=\\\"5.3.0-alpha.173+990473d73\\\"", - ); - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone; - PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)app"; - PRODUCT_NAME = linphone; - PROVISIONING_PROFILE = ""; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = NO; - STRIP_SWIFT_SYMBOLS = NO; - SWIFT_OBJC_BRIDGING_HEADER = "Classes/linphone-Bridging-Header.h"; - SWIFT_OBJC_INTERFACE_HEADER_NAME = "linphoneapp-Swift.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - WARNING_CFLAGS = ( - "-Werror=objc-method-access", - "-Werror=incomplete-implementation", - "-Wno-error-deprecated", - ); - }; - name = Debug; - }; - 228B19A61302902F00F154D3 /* DistributionAdhoc */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LIBRARY = "compiler-default"; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "Apple Development"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = YES; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_THUMB_SUPPORT = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = NO; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ""; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LIBRARY_SEARCH_PATHS = ""; - ONLY_ACTIVE_ARCH = NO; - OTHER_CFLAGS = "-DBCTBX_LOG_DOMAIN=\\\"ios\\\""; - OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; - PROVISIONING_PROFILE = ""; - "PROVISIONING_PROFILE[arch=*]" = ""; - SDKROOT = iphoneos; - STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; - TARGETED_DEVICE_FAMILY = "1,2"; - VALID_ARCHS = "arm64 armv7 i386 x86_64"; - }; - name = DistributionAdhoc; - }; - 228B19A71302902F00F154D3 /* DistributionAdhoc */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = NO; - CLANG_WARN_UNREACHABLE_CODE = NO; - CODE_SIGN_ENTITLEMENTS = linphone.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - COMPRESS_PNG_FILES = NO; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - GCC_C_LANGUAGE_STANDARD = c99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = s; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = linphone_Prefix.pch; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES; - GCC_TREAT_WARNINGS_AS_ERRORS = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/Classes/Utils/XMLRPC/", - "$(SRCROOT)/Classes/Utils/NinePatch/", - "$(inherited)", - ); - IBC_MODULE = linphoneapp; - IBSC_MODULE = linphoneapp; - INFOPLIST_FILE = "linphone-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(BUILT_PRODUCTS_DIR)", - "$(inherited)", - ); - LINK_WITH_STANDARD_LIBRARIES = YES; - MARKETING_VERSION = 5.2.1; - OTHER_CFLAGS = ( - "-DBCTBX_LOG_DOMAIN=\\\"ios\\\"", - "-DCHECK_VERSION_UPDATE=FALSE", - "-DENABLE_QRCODE=TRUE", - "-DENABLE_SMS_INVITE=TRUE", - "$(inherited)", - "-DLINPHONE_SDK_VERSION=\\\"5.3.0-alpha.173+990473d73\\\"", - ); - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone; - PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)app"; - PRODUCT_NAME = linphone; - PROVISIONING_PROFILE = ""; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = NO; - STRIP_SWIFT_SYMBOLS = NO; - SWIFT_OBJC_BRIDGING_HEADER = "Classes/linphone-Bridging-Header.h"; - SWIFT_OBJC_INTERFACE_HEADER_NAME = "linphoneapp-Swift.h"; - SWIFT_VERSION = 5.0; - WARNING_CFLAGS = ( - "-Werror=objc-method-access", - "-Werror=incomplete-implementation", - "-Wno-error-deprecated", - ); - }; - name = DistributionAdhoc; - }; - 22F3D55513CC3C9100A0DA02 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LIBRARY = "compiler-default"; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "Apple Development"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = YES; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_THUMB_SUPPORT = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = NO; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ""; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LIBRARY_SEARCH_PATHS = ""; - ONLY_ACTIVE_ARCH = NO; - OTHER_CFLAGS = "-DBCTBX_LOG_DOMAIN=\\\"ios\\\""; - OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; - PROVISIONING_PROFILE = ""; - SDKROOT = iphoneos; - STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; - SWIFT_COMPILATION_MODE = wholemodule; - TARGETED_DEVICE_FAMILY = "1,2"; - VALID_ARCHS = "arm64 armv7 i386 x86_64"; - }; - name = Release; - }; - 22F3D55613CC3C9100A0DA02 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = NO; - CLANG_WARN_UNREACHABLE_CODE = NO; - CODE_SIGN_ENTITLEMENTS = linphone.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - COMPRESS_PNG_FILES = NO; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - GCC_C_LANGUAGE_STANDARD = c99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = s; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = linphone_Prefix.pch; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES; - GCC_TREAT_WARNINGS_AS_ERRORS = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/Classes/Utils/XMLRPC/", - "$(SRCROOT)/Classes/Utils/NinePatch/", - "$(inherited)", - ); - IBC_MODULE = linphoneapp; - IBSC_MODULE = linphoneapp; - INFOPLIST_FILE = "linphone-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(BUILT_PRODUCTS_DIR)", - "$(inherited)", - ); - LINK_WITH_STANDARD_LIBRARIES = YES; - MARKETING_VERSION = 5.2.1; - OTHER_CFLAGS = ( - "-DBCTBX_LOG_DOMAIN=\\\"ios\\\"", - "-DCHECK_VERSION_UPDATE=FALSE", - "-DENABLE_QRCODE=TRUE", - "-DENABLE_SMS_INVITE=TRUE", - "$(inherited)", - "-DLINPHONE_SDK_VERSION=\\\"5.3.0-alpha.173+990473d73\\\"", - ); - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone; - PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)app"; - PRODUCT_NAME = linphone; - PROVISIONING_PROFILE = ""; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = NO; - STRIP_SWIFT_SYMBOLS = NO; - SWIFT_OBJC_BRIDGING_HEADER = "Classes/linphone-Bridging-Header.h"; - SWIFT_OBJC_INTERFACE_HEADER_NAME = "linphoneapp-Swift.h"; - SWIFT_VERSION = 5.0; - WARNING_CFLAGS = ( - "-Werror=objc-method-access", - "-Werror=incomplete-implementation", - "-Wno-error-deprecated", - ); - }; - name = Release; - }; - 22F51EE7107FA53D00F98953 /* Distribution */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LIBRARY = "compiler-default"; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "Apple Development"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = YES; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_THUMB_SUPPORT = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = NO; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ""; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LIBRARY_SEARCH_PATHS = ""; - ONLY_ACTIVE_ARCH = NO; - OTHER_CFLAGS = "-DBCTBX_LOG_DOMAIN=\\\"ios\\\""; - OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; - PROVISIONING_PROFILE = ""; - SDKROOT = iphoneos; - STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; - TARGETED_DEVICE_FAMILY = "1,2"; - VALID_ARCHS = "arm64 armv7 i386 x86_64"; - }; - name = Distribution; - }; - 22F51EE8107FA53D00F98953 /* Distribution */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = NO; - CLANG_WARN_UNREACHABLE_CODE = NO; - CODE_SIGN_ENTITLEMENTS = linphone.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - COMPRESS_PNG_FILES = NO; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - GCC_C_LANGUAGE_STANDARD = c99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = s; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = linphone_Prefix.pch; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES; - GCC_TREAT_WARNINGS_AS_ERRORS = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/Classes/Utils/XMLRPC/", - "$(SRCROOT)/Classes/Utils/NinePatch/", - "$(inherited)", - ); - IBC_MODULE = linphoneapp; - IBSC_MODULE = linphoneapp; - INFOPLIST_FILE = "linphone-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(BUILT_PRODUCTS_DIR)", - "$(inherited)", - ); - LINK_WITH_STANDARD_LIBRARIES = YES; - MARKETING_VERSION = 5.2.1; - OTHER_CFLAGS = ( - "-DBCTBX_LOG_DOMAIN=\\\"ios\\\"", - "-DCHECK_VERSION_UPDATE=FALSE", - "-DENABLE_QRCODE=TRUE", - "-DENABLE_SMS_INVITE=TRUE", - "$(inherited)", - "-DLINPHONE_SDK_VERSION=\\\"5.3.0-alpha.173+990473d73\\\"", - ); - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone; - PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)app"; - PRODUCT_NAME = linphone; - PROVISIONING_PROFILE = ""; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = NO; - STRIP_SWIFT_SYMBOLS = NO; - SWIFT_OBJC_BRIDGING_HEADER = "Classes/linphone-Bridging-Header.h"; - SWIFT_OBJC_INTERFACE_HEADER_NAME = "linphoneapp-Swift.h"; - SWIFT_VERSION = 5.0; - WARNING_CFLAGS = ( - "-Werror=objc-method-access", - "-Werror=incomplete-implementation", - "-Wno-error-deprecated", - ); - }; - name = Distribution; - }; - 61AE365720C00B370089D9D3 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = linphoneExtension/linphoneExtension.entitlements; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - INFOPLIST_FILE = linphoneExtension/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - MARKETING_VERSION = 5.2.0; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.linphoneExtension; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE = ""; - SKIP_INSTALL = YES; - STRIP_SWIFT_SYMBOLS = NO; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 61AE365820C00B370089D9D3 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = linphoneExtension/linphoneExtension.entitlements; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - INFOPLIST_FILE = linphoneExtension/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - MARKETING_VERSION = 5.2.0; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.linphoneExtension; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - STRIP_SWIFT_SYMBOLS = NO; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 61AE365920C00B370089D9D3 /* Distribution */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = linphoneExtension/linphoneExtension.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - INFOPLIST_FILE = linphoneExtension/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - MARKETING_VERSION = 5.2.0; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.linphoneExtension; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE = ""; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - STRIP_SWIFT_SYMBOLS = NO; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Distribution; - }; - 61AE365A20C00B370089D9D3 /* DistributionAdhoc */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = linphoneExtension/linphoneExtension.entitlements; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - INFOPLIST_FILE = linphoneExtension/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - MARKETING_VERSION = 5.2.0; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.linphoneExtension; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE = ""; - SKIP_INSTALL = YES; - STRIP_SWIFT_SYMBOLS = NO; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = DistributionAdhoc; - }; - 6637AF95288593AF00965733 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = Z2V957B3D6; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"${PODS_CONFIGURATION_BUILD_DIR}/linphone-sdk\"", - "\"${PODS_ROOT}/linphone-sdk/linphone-sdk/apple-darwin/XCFrameworks\"", - "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk\"", - "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks\"", - "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension\"", - "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/basic-frameworks\"", - ); - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "DEBUG=1", - ); - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = "CallUITests-Info.plist"; - INFOPLIST_KEY_UIRequiredDeviceCapabilities = "wifi microphone"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited)"; - MARKETING_VERSION = 1.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.IncommingCallUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - REEXPORTED_FRAMEWORK_NAMES = ""; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_OBJC_BRIDGING_HEADER = ""; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = linphone; - }; - name = Debug; - }; - 6637AF96288593AF00965733 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = "CallUITests-Info.plist"; - INFOPLIST_KEY_UIRequiredDeviceCapabilities = "wifi microphone"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited)"; - MARKETING_VERSION = 1.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.IncommingCallUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_OBJC_BRIDGING_HEADER = ""; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = linphone; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 6637AF97288593AF00965733 /* Distribution */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = "CallUITests-Info.plist"; - INFOPLIST_KEY_UIRequiredDeviceCapabilities = "wifi microphone"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited)"; - MARKETING_VERSION = 1.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.IncommingCallUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_OBJC_BRIDGING_HEADER = ""; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = linphone; - VALIDATE_PRODUCT = YES; - }; - name = Distribution; - }; - 6637AF98288593AF00965733 /* DistributionAdhoc */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = "CallUITests-Info.plist"; - INFOPLIST_KEY_UIRequiredDeviceCapabilities = "wifi microphone"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited)"; - MARKETING_VERSION = 1.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.IncommingCallUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_OBJC_BRIDGING_HEADER = ""; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = linphone; - VALIDATE_PRODUCT = YES; - }; - name = DistributionAdhoc; - }; - C01FCF4F08A954540054247B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LIBRARY = "compiler-default"; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "Apple Development"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_THUMB_SUPPORT = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = NO; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ""; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LIBRARY_SEARCH_PATHS = ""; - ONLY_ACTIVE_ARCH = YES; - OTHER_CFLAGS = "-DBCTBX_LOG_DOMAIN=\\\"ios\\\""; - OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; - SDKROOT = iphoneos; - STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; - TARGETED_DEVICE_FAMILY = "1,2"; - VALID_ARCHS = "arm64 armv7 i386 x86_64"; - }; - name = Debug; - }; - EA5F25E2232BD3E300475F2E /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = msgNotificationService/msgNotificationService.entitlements; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "DEBUG=1", - ); - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - INFOPLIST_FILE = "$(SRCROOT)/msgNotificationService/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 5.2.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.msgNotificationService; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - EA5F25E3232BD3E300475F2E /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = msgNotificationService/msgNotificationService.entitlements; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - INFOPLIST_FILE = "$(SRCROOT)/msgNotificationService/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 5.2.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.msgNotificationService; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - EA5F25E4232BD3E300475F2E /* Distribution */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = msgNotificationService/msgNotificationService.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - INFOPLIST_FILE = "$(SRCROOT)/msgNotificationService/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 5.2.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.msgNotificationService; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Distribution; - }; - EA5F25E5232BD3E300475F2E /* DistributionAdhoc */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = msgNotificationService/msgNotificationService.entitlements; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - INFOPLIST_FILE = "$(SRCROOT)/msgNotificationService/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 5.2.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.msgNotificationService; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = DistributionAdhoc; - }; - EA8CB835239F96CA00C330CC /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = msgNotificationContent/msgNotificationContent.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "DEBUG=1", - ); - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - INFOPLIST_FILE = msgNotificationContent/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 5.2.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.msgNotificationContent; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - EA8CB836239F96CA00C330CC /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = msgNotificationContent/msgNotificationContent.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - INFOPLIST_FILE = msgNotificationContent/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 5.2.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.msgNotificationContent; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - EA8CB837239F96CA00C330CC /* Distribution */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = msgNotificationContent/msgNotificationContent.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - INFOPLIST_FILE = msgNotificationContent/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 5.2.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.msgNotificationContent; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Distribution; - }; - EA8CB838239F96CA00C330CC /* DistributionAdhoc */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = msgNotificationContent/msgNotificationContent.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - INFOPLIST_FILE = msgNotificationContent/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 5.2.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.msgNotificationContent; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = DistributionAdhoc; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "linphone" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1D6058940D05DD3E006BFB54 /* Debug */, - 22F3D55613CC3C9100A0DA02 /* Release */, - 22F51EE8107FA53D00F98953 /* Distribution */, - 228B19A71302902F00F154D3 /* DistributionAdhoc */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - 61AE366120C00B370089D9D3 /* Build configuration list for PBXNativeTarget "linphoneExtension" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 61AE365720C00B370089D9D3 /* Debug */, - 61AE365820C00B370089D9D3 /* Release */, - 61AE365920C00B370089D9D3 /* Distribution */, - 61AE365A20C00B370089D9D3 /* DistributionAdhoc */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - 6637AF99288593AF00965733 /* Build configuration list for PBXNativeTarget "CallUITests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 6637AF95288593AF00965733 /* Debug */, - 6637AF96288593AF00965733 /* Release */, - 6637AF97288593AF00965733 /* Distribution */, - 6637AF98288593AF00965733 /* DistributionAdhoc */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - C01FCF4E08A954540054247B /* Build configuration list for PBXProject "linphone" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - C01FCF4F08A954540054247B /* Debug */, - 22F3D55513CC3C9100A0DA02 /* Release */, - 22F51EE7107FA53D00F98953 /* Distribution */, - 228B19A61302902F00F154D3 /* DistributionAdhoc */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - EA5F25E1232BD3E300475F2E /* Build configuration list for PBXNativeTarget "msgNotificationService" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - EA5F25E2232BD3E300475F2E /* Debug */, - EA5F25E3232BD3E300475F2E /* Release */, - EA5F25E4232BD3E300475F2E /* Distribution */, - EA5F25E5232BD3E300475F2E /* DistributionAdhoc */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - EA8CB834239F96CA00C330CC /* Build configuration list for PBXNativeTarget "msgNotificationContent" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - EA8CB835239F96CA00C330CC /* Debug */, - EA8CB836239F96CA00C330CC /* Release */, - EA8CB837239F96CA00C330CC /* Distribution */, - EA8CB838239F96CA00C330CC /* DistributionAdhoc */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; -/* End XCConfigurationList section */ - }; - rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; -} diff --git a/linphone.xcodeproj/project.pbxproj.orig b/linphone.xcodeproj/project.pbxproj.orig deleted file mode 100644 index 053bb6c2a..000000000 --- a/linphone.xcodeproj/project.pbxproj.orig +++ /dev/null @@ -1,8000 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 152F22361B15E889008C0621 /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 152F22351B15E889008C0621 /* libxml2.dylib */; }; - 1D3623260D0F684500981E51 /* LinphoneAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* LinphoneAppDelegate.m */; }; - 1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; }; - 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; - 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; - 2214EB7A12F846B1002A5394 /* UICallButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 2214EB7912F846B1002A5394 /* UICallButton.m */; }; - 22276E8913C73DC000210156 /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22276E8813C73DC000210156 /* CoreMedia.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; - 22405EEE1600B4E400B92522 /* AssetsLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22405EED1600B4E400B92522 /* AssetsLibrary.framework */; }; - 22405F001601C19200B92522 /* ImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 22405EFE1601C19100B92522 /* ImageView.m */; }; - 224567C2107B968500F10948 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 224567C1107B968500F10948 /* AVFoundation.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; - 2248E90E12F7E4CF00220D9C /* UIDigitButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 2248E90D12F7E4CF00220D9C /* UIDigitButton.m */; }; - 2264B6D211200342002C2C53 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2264B6D111200342002C2C53 /* SystemConfiguration.framework */; }; - 226EF06C15FA256B005865C7 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 226EF06B15FA256B005865C7 /* MobileCoreServices.framework */; }; - 2274401A106F31BD006EC466 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22744019106F31BD006EC466 /* CoreAudio.framework */; }; - 2274402F106F335E006EC466 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2274402E106F335E006EC466 /* AudioToolbox.framework */; }; - 228697C411AC29B800E9E0CA /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 228697C311AC29B800E9E0CA /* CFNetwork.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; - 22AA8B0113D83F6300B30535 /* UICamSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = 22AA8B0013D83F6300B30535 /* UICamSwitch.m */; }; - 22D1B68112A3E0BE001AE361 /* libresolv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 22D1B68012A3E0BE001AE361 /* libresolv.dylib */; }; - 22E0A822111C44E100B04932 /* AboutView.m in Sources */ = {isa = PBXBuildFile; fileRef = 22E0A81C111C44E100B04932 /* AboutView.m */; }; - 22F2508E107141E100AC9B3F /* DialerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 22F2508C107141E100AC9B3F /* DialerView.m */; }; - 244523AF1E8266CC0037A187 /* chat_delivered.png in Resources */ = {isa = PBXBuildFile; fileRef = 244523AC1E8266CC0037A187 /* chat_delivered.png */; }; - 244523B01E8266CC0037A187 /* chat_error.png in Resources */ = {isa = PBXBuildFile; fileRef = 244523AD1E8266CC0037A187 /* chat_error.png */; }; - 244523B11E8266CC0037A187 /* chat_read.png in Resources */ = {isa = PBXBuildFile; fileRef = 244523AE1E8266CC0037A187 /* chat_read.png */; }; - 244523BE1E8D3A6C0037A187 /* chat_unsecure.png in Resources */ = {isa = PBXBuildFile; fileRef = 244523BC1E8D3A6C0037A187 /* chat_unsecure.png */; }; - 249660951FD6A35F001D55AA /* Photos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 249660941FD6A359001D55AA /* Photos.framework */; }; - 24A3459E1D95797700881A5C /* UIShopTableCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 24A3459D1D95797700881A5C /* UIShopTableCell.xib */; }; - 24A345A61D95798A00881A5C /* UIShopTableCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 24A345A51D95798A00881A5C /* UIShopTableCell.m */; }; - 24BFAA9E209B0630004F47A7 /* dialer_background.png in Resources */ = {isa = PBXBuildFile; fileRef = 24BFAA8C209B062B004F47A7 /* dialer_background.png */; }; - 24BFAA9F209B0630004F47A7 /* linphone_user.png in Resources */ = {isa = PBXBuildFile; fileRef = 24BFAA93209B062C004F47A7 /* linphone_user.png */; }; - 24BFAAA0209B0630004F47A7 /* contacts_sip_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 24BFAA94209B062C004F47A7 /* contacts_sip_default@2x.png */; }; - 24BFAAA1209B0630004F47A7 /* linphone_user@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 24BFAA95209B062D004F47A7 /* linphone_user@2x.png */; }; - 24BFAAA2209B0630004F47A7 /* linphone_user~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 24BFAA96209B062D004F47A7 /* linphone_user~ipad@2x.png */; }; - 24BFAAA3209B0630004F47A7 /* contacts_sip_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 24BFAA97209B062E004F47A7 /* contacts_sip_selected.png */; }; - 24BFAAA4209B0630004F47A7 /* linphone_logo.png in Resources */ = {isa = PBXBuildFile; fileRef = 24BFAA98209B062E004F47A7 /* linphone_logo.png */; }; - 24BFAAA5209B0630004F47A7 /* contacts_sip_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 24BFAA99209B062E004F47A7 /* contacts_sip_default.png */; }; - 24BFAAA6209B0630004F47A7 /* linphone_user~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 24BFAA9A209B062F004F47A7 /* linphone_user~ipad.png */; }; - 24BFAAA7209B0630004F47A7 /* callkit_logo.png in Resources */ = {isa = PBXBuildFile; fileRef = 24BFAA9B209B062F004F47A7 /* callkit_logo.png */; }; - 24BFAAA8209B0630004F47A7 /* contacts_sip_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 24BFAA9C209B062F004F47A7 /* contacts_sip_selected@2x.png */; }; - 24BFAAA9209B0630004F47A7 /* linphone_logo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 24BFAA9D209B0630004F47A7 /* linphone_logo@2x.png */; }; - 24E1C7C01F9A235600D3F981 /* Contacts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 24E1C7B91F9A235500D3F981 /* Contacts.framework */; }; - 288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; }; - 340751971506459A00B89C47 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 340751961506459A00B89C47 /* CoreTelephony.framework */; }; - 344ABDF114850AE9007420B6 /* libc++.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 344ABDEF14850AE9007420B6 /* libc++.1.dylib */; settings = {ATTRIBUTES = (Weak, ); }; }; - 36C8883CF9CD21240125CC74 /* Pods_msgNotificationService.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 943C756D8C523B63A9BA4022 /* Pods_msgNotificationService.framework */; }; - 570742581D5A0691004B9C84 /* ShopView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 570742561D5A0691004B9C84 /* ShopView.xib */; }; - 570742611D5A09B8004B9C84 /* ShopView.m in Sources */ = {isa = PBXBuildFile; fileRef = 5707425F1D5A09B8004B9C84 /* ShopView.m */; }; - 570742671D5A63DB004B9C84 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 570742661D5A63DB004B9C84 /* StoreKit.framework */; }; - 6112A01C243B31A700DBD5F5 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 6112A01B243B31A600DBD5F5 /* GoogleService-Info.plist */; }; - 6112A01E243B5FD500DBD5F5 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 6112A01D243B5FD500DBD5F5 /* GoogleService-Info.plist */; }; - 6135761C240E81BB005304D4 /* UIInterfaceStyleButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 6135761B240E81BA005304D4 /* UIInterfaceStyleButton.m */; }; - 6135761F240E81D0005304D4 /* UIInterfaceStyleToggleButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 6135761E240E81D0005304D4 /* UIInterfaceStyleToggleButton.m */; }; - 614D09CE21E74D5400C43EDF /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 614D09CD21E74D5400C43EDF /* GoogleService-Info.plist */; }; - 61586B81217A16EE0038AC45 /* menu_about.png in Resources */ = {isa = PBXBuildFile; fileRef = 61586B7A217A16EE0038AC45 /* menu_about.png */; }; - 61586B83217A16FD0038AC45 /* menu_about@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 61586B82217A16FD0038AC45 /* menu_about@2x.png */; }; - 61586B85217A17070038AC45 /* menu_assistant.png in Resources */ = {isa = PBXBuildFile; fileRef = 61586B84217A17070038AC45 /* menu_assistant.png */; }; - 61586B87217A17160038AC45 /* menu_assistant@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 61586B86217A17150038AC45 /* menu_assistant@2x.png */; }; - 61586B89217A17220038AC45 /* menu_link_account.png in Resources */ = {isa = PBXBuildFile; fileRef = 61586B88217A17220038AC45 /* menu_link_account.png */; }; - 61586B8B217A17320038AC45 /* menu_link_account@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 61586B8A217A17320038AC45 /* menu_link_account@2x.png */; }; - 61586B8D217A173F0038AC45 /* menu_options.png in Resources */ = {isa = PBXBuildFile; fileRef = 61586B8C217A173F0038AC45 /* menu_options.png */; }; - 61586B8F217A174F0038AC45 /* menu_options@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 61586B8E217A174F0038AC45 /* menu_options@2x.png */; }; - 61586B91217A175D0038AC45 /* menu_recordings.png in Resources */ = {isa = PBXBuildFile; fileRef = 61586B90217A175C0038AC45 /* menu_recordings.png */; }; - 61586B93217A17700038AC45 /* menu_recordings@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 61586B92217A176F0038AC45 /* menu_recordings@2x.png */; }; - 615A280F217F1FD50060F920 /* chat_add_group.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A2808217F1FD40060F920 /* chat_add_group.png */; }; - 615A2811217F1FDE0060F920 /* chat_add_group@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A2810217F1FDE0060F920 /* chat_add_group@2x.png */; }; - 615A2813217F24D40060F920 /* security_1_indicator.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A2812217F24D40060F920 /* security_1_indicator.png */; }; - 615A2815217F24E00060F920 /* security_1_indicator@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A2814217F24E00060F920 /* security_1_indicator@2x.png */; }; - 615A2817217F280C0060F920 /* chat_list_indicator.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A2816217F280C0060F920 /* chat_list_indicator.png */; }; - 615A2819217F28160060F920 /* chat_list_indicator@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A2818217F28160060F920 /* chat_list_indicator@2x.png */; }; - 615A281B217F6F9C0060F920 /* security_2_indicator.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A281A217F6F9B0060F920 /* security_2_indicator.png */; }; - 615A281D217F6FA80060F920 /* security_2_indicator@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A281C217F6FA80060F920 /* security_2_indicator@2x.png */; }; - 615A281F217F6FB40060F920 /* security_alert_indicator.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A281E217F6FB30060F920 /* security_alert_indicator.png */; }; - 615A2821217F6FBF0060F920 /* security_alert_indicator@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A2820217F6FBF0060F920 /* security_alert_indicator@2x.png */; }; - 615A282421805B260060F920 /* security_toogle_icon_green.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A282321805B250060F920 /* security_toogle_icon_green.png */; }; - 615A282621805B320060F920 /* security_toogle_icon_green@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A282521805B320060F920 /* security_toogle_icon_green@2x.png */; }; - 615A282821805B400060F920 /* security_toogle_icon_grey.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A282721805B400060F920 /* security_toogle_icon_grey.png */; }; - 615A282A21805B4C0060F920 /* security_toogle_icon_grey@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A282921805B4C0060F920 /* security_toogle_icon_grey@2x.png */; }; - 615A2830218071E80060F920 /* security_toogle_background_green.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A282F218071E80060F920 /* security_toogle_background_green.png */; }; - 615A2832218071F30060F920 /* security_toogle_background_green@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A2831218071F30060F920 /* security_toogle_background_green@2x.png */; }; - 615A2834218071FF0060F920 /* security_toogle_background_grey.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A2833218071FF0060F920 /* security_toogle_background_grey.png */; }; - 615A28362180720D0060F920 /* security_toogle_background_grey@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A28352180720D0060F920 /* security_toogle_background_grey@2x.png */; }; - 615A283A2180788E0060F920 /* security_toogle_button.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A28392180788E0060F920 /* security_toogle_button.png */; }; - 615A283C2180789C0060F920 /* security_toogle_button@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A283B2180789C0060F920 /* security_toogle_button@2x.png */; }; - 615A283E2180A2560060F920 /* invite_linphone.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A283D2180A2550060F920 /* invite_linphone.png */; }; - 615A28402180A2620060F920 /* invite_linphone@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A283F2180A2620060F920 /* invite_linphone@2x.png */; }; - 615A28422180C0870060F920 /* recording.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A28412180C0820060F920 /* recording.png */; }; - 615A28442180C0900060F920 /* recording@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A28432180C08F0060F920 /* recording@2x.png */; }; - 617B4A60260A2B7800A87337 /* RecordingsListView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 617B4A62260A2B7800A87337 /* RecordingsListView.xib */; }; - 617C242A263022690042FB4A /* UIChatContentView.m in Sources */ = {isa = PBXBuildFile; fileRef = 617C2429263022690042FB4A /* UIChatContentView.m */; }; - 6180D6FE21EE41A800AD9CB6 /* QuickLook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6180D6FD21EE41A800AD9CB6 /* QuickLook.framework */; }; - 61AE364F20C00B370089D9D3 /* ShareViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 61AE364E20C00B370089D9D3 /* ShareViewController.m */; }; - 61AE365220C00B370089D9D3 /* MainInterface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 61AE365020C00B370089D9D3 /* MainInterface.storyboard */; }; - 61AE365620C00B370089D9D3 /* linphoneExtension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 61AE364B20C00B370089D9D3 /* linphoneExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - 61AEBEBD2191990A00F35E7F /* DevicesListView.m in Sources */ = {isa = PBXBuildFile; fileRef = 61AEBEBC2191990A00F35E7F /* DevicesListView.m */; }; - 61AEBEBF2191991F00F35E7F /* DevicesListView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 61AEBEBE2191991F00F35E7F /* DevicesListView.xib */; }; - 61AEBEC62191E47500F35E7F /* chevron_list_close.png in Resources */ = {isa = PBXBuildFile; fileRef = 61AEBEC52191E47500F35E7F /* chevron_list_close.png */; }; - 61AEBEC82191E48400F35E7F /* chevron_list_close@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 61AEBEC72191E48400F35E7F /* chevron_list_close@2x.png */; }; - 61AEBECA2191E49300F35E7F /* chevron_list_open.png in Resources */ = {isa = PBXBuildFile; fileRef = 61AEBEC92191E49200F35E7F /* chevron_list_open.png */; }; - 61AEBECC2191E4A300F35E7F /* chevron_list_open@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 61AEBECB2191E4A300F35E7F /* chevron_list_open@2x.png */; }; - 61CCC3DF21933B580060EDEA /* UIDeviceCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 61CCC3DE21933B580060EDEA /* UIDeviceCell.m */; }; - 61CCC3E121933B660060EDEA /* UIDeviceCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 61CCC3E021933B660060EDEA /* UIDeviceCell.xib */; }; - 61DD7E1F2372E88F001BDD01 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 61DD7E1E2372E88F001BDD01 /* CoreLocation.framework */; }; - 61F1997520C6B1D5006B069A /* AVKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 61F1996E20C6B1D5006B069A /* AVKit.framework */; }; - 6306440E1BECB08500134C72 /* FirstLoginView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6306440C1BECB08500134C72 /* FirstLoginView.m */; }; - 6308F9C51BF0DD6600D1234B /* XMLRPCHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 6308F9C41BF0DD6600D1234B /* XMLRPCHelper.m */; }; - 630CF5571AF7CE1500539F7A /* UITextField+DoneButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 630CF5561AF7CE1500539F7A /* UITextField+DoneButton.m */; }; - 631098491D4660580041F2B3 /* CountryListView.m in Sources */ = {isa = PBXBuildFile; fileRef = 631098481D4660580041F2B3 /* CountryListView.m */; }; - 631098521D4660630041F2B3 /* CountryListView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 631098501D4660630041F2B3 /* CountryListView.xib */; }; - 63130FB21C1ED06900371918 /* SideMenuView~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 63130FB01C1ED06900371918 /* SideMenuView~ipad.xib */; }; - 631348301B6F7B6600C6BDCB /* UIRoundBorderedButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 6313482F1B6F7B6600C6BDCB /* UIRoundBorderedButton.m */; }; - 63177FBF1C86E68C00ADE58D /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22276E8613C73D8A00210156 /* CoreVideo.framework */; }; - 6334DDFA1BBAC97C00631900 /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D32B6E2E15A5C0AC0033019F /* libsqlite3.dylib */; settings = {ATTRIBUTES = (Required, ); }; }; - 633671611BCBAAD200BFCBDE /* ChatConversationCreateView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6336715F1BCBAAD200BFCBDE /* ChatConversationCreateView.m */; }; - 633756391B67BAF400E21BAD /* SideMenuTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 633756381B67BAF400E21BAD /* SideMenuTableView.m */; }; - 633756451B67D2B200E21BAD /* SideMenuView.m in Sources */ = {isa = PBXBuildFile; fileRef = 633756431B67D2B100E21BAD /* SideMenuView.m */; }; - 633888451BFB2C49001D5E7B /* HPGrowingTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 633888421BFB2C49001D5E7B /* HPGrowingTextView.m */; }; - 633888461BFB2C49001D5E7B /* HPTextViewInternal.m in Sources */ = {isa = PBXBuildFile; fileRef = 633888441BFB2C49001D5E7B /* HPTextViewInternal.m */; }; - 633E41821D74259000320475 /* AssistantLinkView.m in Sources */ = {isa = PBXBuildFile; fileRef = 633E41801D74258F00320475 /* AssistantLinkView.m */; }; - 633FED9C1D3CD5590014B822 /* add_field_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBE21D3CD5570014B822 /* add_field_default.png */; }; - 633FED9D1D3CD5590014B822 /* add_field_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBE31D3CD5570014B822 /* add_field_default@2x.png */; }; - 633FED9E1D3CD5590014B822 /* add_field_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBE41D3CD5570014B822 /* add_field_over.png */; }; - 633FED9F1D3CD5590014B822 /* add_field_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBE51D3CD5570014B822 /* add_field_over@2x.png */; }; - 633FEDA01D3CD5590014B822 /* avatar.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBE61D3CD5570014B822 /* avatar.png */; }; - 633FEDA11D3CD5590014B822 /* avatar@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBE71D3CD5570014B822 /* avatar@2x.png */; }; - 633FEDA21D3CD5590014B822 /* avatar~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBE81D3CD5570014B822 /* avatar~ipad.png */; }; - 633FEDA31D3CD5590014B822 /* avatar~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBE91D3CD5570014B822 /* avatar~ipad@2x.png */; }; - 633FEDA41D3CD5590014B822 /* back_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBEA1D3CD5570014B822 /* back_default.png */; }; - 633FEDA51D3CD5590014B822 /* back_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBEB1D3CD5570014B822 /* back_default@2x.png */; }; - 633FEDA61D3CD5590014B822 /* back_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBEC1D3CD5570014B822 /* back_disabled.png */; }; - 633FEDA71D3CD5590014B822 /* back_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBED1D3CD5570014B822 /* back_disabled@2x.png */; }; - 633FEDA81D3CD5590014B822 /* backspace_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBEE1D3CD5570014B822 /* backspace_default.png */; }; - 633FEDA91D3CD5590014B822 /* backspace_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBEF1D3CD5570014B822 /* backspace_default@2x.png */; }; - 633FEDAA1D3CD5590014B822 /* backspace_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBF01D3CD5570014B822 /* backspace_disabled.png */; }; - 633FEDAB1D3CD5590014B822 /* backspace_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBF11D3CD5570014B822 /* backspace_disabled@2x.png */; }; - 633FEDAC1D3CD5590014B822 /* backspace_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBF21D3CD5570014B822 /* backspace_over.png */; }; - 633FEDAD1D3CD5590014B822 /* backspace_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBF31D3CD5570014B822 /* backspace_over@2x.png */; }; - 633FEDAE1D3CD5590014B822 /* call_add_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBF41D3CD5570014B822 /* call_add_default.png */; }; - 633FEDAF1D3CD5590014B822 /* call_add_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBF51D3CD5570014B822 /* call_add_default@2x.png */; }; - 633FEDB01D3CD5590014B822 /* call_add_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBF61D3CD5570014B822 /* call_add_disabled.png */; }; - 633FEDB11D3CD5590014B822 /* call_add_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBF71D3CD5570014B822 /* call_add_disabled@2x.png */; }; - 633FEDB21D3CD5590014B822 /* call_alt_back_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBF81D3CD5570014B822 /* call_alt_back_default.png */; }; - 633FEDB31D3CD5590014B822 /* call_alt_back_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBF91D3CD5570014B822 /* call_alt_back_default@2x.png */; }; - 633FEDB41D3CD5590014B822 /* call_alt_back_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBFA1D3CD5570014B822 /* call_alt_back_disabled.png */; }; - 633FEDB51D3CD5590014B822 /* call_alt_back_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBFB1D3CD5570014B822 /* call_alt_back_disabled@2x.png */; }; - 633FEDB61D3CD5590014B822 /* call_alt_start_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBFC1D3CD5570014B822 /* call_alt_start_default.png */; }; - 633FEDB71D3CD5590014B822 /* call_alt_start_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBFD1D3CD5570014B822 /* call_alt_start_default@2x.png */; }; - 633FEDB81D3CD5590014B822 /* call_alt_start_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBFE1D3CD5570014B822 /* call_alt_start_disabled.png */; }; - 633FEDB91D3CD5590014B822 /* call_alt_start_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEBFF1D3CD5570014B822 /* call_alt_start_disabled@2x.png */; }; - 633FEDBA1D3CD5590014B822 /* call_audio_start_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC001D3CD5570014B822 /* call_audio_start_default.png */; }; - 633FEDBB1D3CD5590014B822 /* call_audio_start_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC011D3CD5570014B822 /* call_audio_start_default@2x.png */; }; - 633FEDBC1D3CD5590014B822 /* call_audio_start_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC021D3CD5570014B822 /* call_audio_start_disabled.png */; }; - 633FEDBD1D3CD5590014B822 /* call_audio_start_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC031D3CD5570014B822 /* call_audio_start_disabled@2x.png */; }; - 633FEDBE1D3CD5590014B822 /* call_back_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC041D3CD5570014B822 /* call_back_default.png */; }; - 633FEDBF1D3CD5590014B822 /* call_back_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC051D3CD5570014B822 /* call_back_default@2x.png */; }; - 633FEDC01D3CD5590014B822 /* call_back_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC061D3CD5570014B822 /* call_back_disabled.png */; }; - 633FEDC11D3CD5590014B822 /* call_back_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC071D3CD5570014B822 /* call_back_disabled@2x.png */; }; - 633FEDC21D3CD5590014B822 /* call_hangup_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC081D3CD5570014B822 /* call_hangup_default.png */; }; - 633FEDC31D3CD5590014B822 /* call_hangup_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC091D3CD5570014B822 /* call_hangup_default@2x.png */; }; - 633FEDC41D3CD5590014B822 /* call_hangup_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC0A1D3CD5570014B822 /* call_hangup_disabled.png */; }; - 633FEDC51D3CD5590014B822 /* call_hangup_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC0B1D3CD5570014B822 /* call_hangup_disabled@2x.png */; }; - 633FEDC61D3CD5590014B822 /* call_incoming.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC0C1D3CD5570014B822 /* call_incoming.png */; }; - 633FEDC71D3CD5590014B822 /* call_incoming@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC0D1D3CD5570014B822 /* call_incoming@2x.png */; }; - 633FEDC81D3CD5590014B822 /* call_missed.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC0E1D3CD5570014B822 /* call_missed.png */; }; - 633FEDC91D3CD5590014B822 /* call_missed@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC0F1D3CD5570014B822 /* call_missed@2x.png */; }; - 633FEDCA1D3CD5590014B822 /* call_outgoing.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC101D3CD5570014B822 /* call_outgoing.png */; }; - 633FEDCB1D3CD5590014B822 /* call_outgoing@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC111D3CD5570014B822 /* call_outgoing@2x.png */; }; - 633FEDCC1D3CD5590014B822 /* call_quality_indicator_0.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC121D3CD5570014B822 /* call_quality_indicator_0.png */; }; - 633FEDCD1D3CD5590014B822 /* call_quality_indicator_0@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC131D3CD5570014B822 /* call_quality_indicator_0@2x.png */; }; - 633FEDCE1D3CD5590014B822 /* call_quality_indicator_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC141D3CD5570014B822 /* call_quality_indicator_1.png */; }; - 633FEDCF1D3CD5590014B822 /* call_quality_indicator_1@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC151D3CD5570014B822 /* call_quality_indicator_1@2x.png */; }; - 633FEDD01D3CD5590014B822 /* call_quality_indicator_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC161D3CD5570014B822 /* call_quality_indicator_2.png */; }; - 633FEDD11D3CD5590014B822 /* call_quality_indicator_2@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC171D3CD5570014B822 /* call_quality_indicator_2@2x.png */; }; - 633FEDD21D3CD5590014B822 /* call_quality_indicator_3.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC181D3CD5570014B822 /* call_quality_indicator_3.png */; }; - 633FEDD31D3CD5590014B822 /* call_quality_indicator_3@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC191D3CD5570014B822 /* call_quality_indicator_3@2x.png */; }; - 633FEDD41D3CD5590014B822 /* call_quality_indicator_4.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC1A1D3CD5570014B822 /* call_quality_indicator_4.png */; }; - 633FEDD51D3CD5590014B822 /* call_quality_indicator_4@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC1B1D3CD5570014B822 /* call_quality_indicator_4@2x.png */; }; - 633FEDD61D3CD5590014B822 /* call_start_body_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC1C1D3CD5570014B822 /* call_start_body_default.png */; }; - 633FEDD71D3CD5590014B822 /* call_start_body_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC1D1D3CD5570014B822 /* call_start_body_default@2x.png */; }; - 633FEDD81D3CD5590014B822 /* call_start_body_default~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC1E1D3CD5570014B822 /* call_start_body_default~ipad.png */; }; - 633FEDD91D3CD5590014B822 /* call_start_body_default~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC1F1D3CD5570014B822 /* call_start_body_default~ipad@2x.png */; }; - 633FEDDA1D3CD5590014B822 /* call_start_body_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC201D3CD5570014B822 /* call_start_body_disabled.png */; }; - 633FEDDB1D3CD5590014B822 /* call_start_body_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC211D3CD5570014B822 /* call_start_body_disabled@2x.png */; }; - 633FEDDC1D3CD5590014B822 /* call_start_body_disabled~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC221D3CD5570014B822 /* call_start_body_disabled~ipad.png */; }; - 633FEDDD1D3CD5590014B822 /* call_start_body_disabled~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC231D3CD5570014B822 /* call_start_body_disabled~ipad@2x.png */; }; - 633FEDDE1D3CD5590014B822 /* call_start_body_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC241D3CD5570014B822 /* call_start_body_over.png */; }; - 633FEDDF1D3CD5590014B822 /* call_start_body_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC251D3CD5570014B822 /* call_start_body_over@2x.png */; }; - 633FEDE01D3CD5590014B822 /* call_start_body_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC261D3CD5570014B822 /* call_start_body_over~ipad.png */; }; - 633FEDE11D3CD5590014B822 /* call_start_body_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC271D3CD5570014B822 /* call_start_body_over~ipad@2x.png */; }; - 633FEDE21D3CD5590014B822 /* call_status_incoming.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC281D3CD5570014B822 /* call_status_incoming.png */; }; - 633FEDE31D3CD5590014B822 /* call_status_incoming@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC291D3CD5570014B822 /* call_status_incoming@2x.png */; }; - 633FEDE41D3CD5590014B822 /* call_status_incoming~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC2A1D3CD5570014B822 /* call_status_incoming~ipad.png */; }; - 633FEDE51D3CD5590014B822 /* call_status_incoming~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC2B1D3CD5570014B822 /* call_status_incoming~ipad@2x.png */; }; - 633FEDE61D3CD5590014B822 /* call_status_missed.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC2C1D3CD5570014B822 /* call_status_missed.png */; }; - 633FEDE71D3CD5590014B822 /* call_status_missed@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC2D1D3CD5570014B822 /* call_status_missed@2x.png */; }; - 633FEDE81D3CD5590014B822 /* call_status_missed~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC2E1D3CD5570014B822 /* call_status_missed~ipad.png */; }; - 633FEDE91D3CD5590014B822 /* call_status_missed~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC2F1D3CD5570014B822 /* call_status_missed~ipad@2x.png */; }; - 633FEDEA1D3CD5590014B822 /* call_status_outgoing.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC301D3CD5570014B822 /* call_status_outgoing.png */; }; - 633FEDEB1D3CD5590014B822 /* call_status_outgoing@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC311D3CD5570014B822 /* call_status_outgoing@2x.png */; }; - 633FEDEC1D3CD5590014B822 /* call_status_outgoing~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC321D3CD5570014B822 /* call_status_outgoing~ipad.png */; }; - 633FEDED1D3CD5590014B822 /* call_status_outgoing~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC331D3CD5570014B822 /* call_status_outgoing~ipad@2x.png */; }; - 633FEDEE1D3CD5590014B822 /* call_transfer_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC341D3CD5570014B822 /* call_transfer_default.png */; }; - 633FEDEF1D3CD5590014B822 /* call_transfer_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC351D3CD5570014B822 /* call_transfer_default@2x.png */; }; - 633FEDF01D3CD5590014B822 /* call_transfer_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC361D3CD5570014B822 /* call_transfer_disabled.png */; }; - 633FEDF11D3CD5590014B822 /* call_transfer_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC371D3CD5570014B822 /* call_transfer_disabled@2x.png */; }; - 633FEDF21D3CD5590014B822 /* call_video_start_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC381D3CD5570014B822 /* call_video_start_default.png */; }; - 633FEDF31D3CD5590014B822 /* call_video_start_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC391D3CD5570014B822 /* call_video_start_default@2x.png */; }; - 633FEDF41D3CD5590014B822 /* call_video_start_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC3A1D3CD5570014B822 /* call_video_start_disabled.png */; }; - 633FEDF51D3CD5590014B822 /* call_video_start_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC3B1D3CD5570014B822 /* call_video_start_disabled@2x.png */; }; - 633FEDF61D3CD5590014B822 /* camera_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC3C1D3CD5570014B822 /* camera_default.png */; }; - 633FEDF71D3CD5590014B822 /* camera_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC3D1D3CD5570014B822 /* camera_default@2x.png */; }; - 633FEDF81D3CD5590014B822 /* camera_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC3E1D3CD5570014B822 /* camera_disabled.png */; }; - 633FEDF91D3CD5590014B822 /* camera_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC3F1D3CD5570014B822 /* camera_disabled@2x.png */; }; - 633FEDFA1D3CD5590014B822 /* camera_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC401D3CD5570014B822 /* camera_selected.png */; }; - 633FEDFB1D3CD5590014B822 /* camera_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC411D3CD5570014B822 /* camera_selected@2x.png */; }; - 633FEDFC1D3CD5590014B822 /* camera_switch_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC421D3CD5570014B822 /* camera_switch_default.png */; }; - 633FEDFD1D3CD5590014B822 /* camera_switch_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC431D3CD5570014B822 /* camera_switch_default@2x.png */; }; - 633FEDFE1D3CD5590014B822 /* camera_switch_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC441D3CD5570014B822 /* camera_switch_disabled.png */; }; - 633FEDFF1D3CD5590014B822 /* camera_switch_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC451D3CD5570014B822 /* camera_switch_disabled@2x.png */; }; - 633FEE001D3CD5590014B822 /* camera_switch_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC461D3CD5570014B822 /* camera_switch_over.png */; }; - 633FEE011D3CD5590014B822 /* camera_switch_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC471D3CD5570014B822 /* camera_switch_over@2x.png */; }; - 633FEE021D3CD5590014B822 /* cancel_edit_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC481D3CD5570014B822 /* cancel_edit_default.png */; }; - 633FEE031D3CD5590014B822 /* cancel_edit_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC491D3CD5570014B822 /* cancel_edit_default@2x.png */; }; - 633FEE041D3CD5590014B822 /* cancel_edit_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC4A1D3CD5570014B822 /* cancel_edit_disabled.png */; }; - 633FEE051D3CD5590014B822 /* cancel_edit_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC4B1D3CD5570014B822 /* cancel_edit_disabled@2x.png */; }; - 633FEE061D3CD5590014B822 /* chat_add_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC4C1D3CD5570014B822 /* chat_add_default.png */; }; - 633FEE071D3CD5590014B822 /* chat_add_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC4D1D3CD5570014B822 /* chat_add_default@2x.png */; }; - 633FEE081D3CD5590014B822 /* chat_add_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC4E1D3CD5570014B822 /* chat_add_disabled.png */; }; - 633FEE091D3CD5590014B822 /* chat_add_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC4F1D3CD5570014B822 /* chat_add_disabled@2x.png */; }; - 633FEE0A1D3CD5590014B822 /* chat_attachment_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC501D3CD5570014B822 /* chat_attachment_default.png */; }; - 633FEE0B1D3CD5590014B822 /* chat_attachment_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC511D3CD5570014B822 /* chat_attachment_default@2x.png */; }; - 633FEE0C1D3CD5590014B822 /* chat_attachment_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC521D3CD5570014B822 /* chat_attachment_disabled.png */; }; - 633FEE0D1D3CD5590014B822 /* chat_attachment_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC531D3CD5570014B822 /* chat_attachment_disabled@2x.png */; }; - 633FEE0E1D3CD5590014B822 /* chat_attachment_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC541D3CD5570014B822 /* chat_attachment_over.png */; }; - 633FEE0F1D3CD5590014B822 /* chat_attachment_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC551D3CD5570014B822 /* chat_attachment_over@2x.png */; }; - 633FEE101D3CD5590014B822 /* chat_list_indicator~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC561D3CD5570014B822 /* chat_list_indicator~ipad.png */; }; - 633FEE111D3CD5590014B822 /* chat_list_indicator~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC571D3CD5570014B822 /* chat_list_indicator~ipad@2x.png */; }; - 633FEE121D3CD5590014B822 /* chat_message_not_delivered.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC581D3CD5570014B822 /* chat_message_not_delivered.png */; }; - 633FEE131D3CD5590014B822 /* chat_message_not_delivered@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC591D3CD5570014B822 /* chat_message_not_delivered@2x.png */; }; - 633FEE141D3CD5590014B822 /* chat_send_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC5A1D3CD5570014B822 /* chat_send_default.png */; }; - 633FEE151D3CD5590014B822 /* chat_send_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC5B1D3CD5570014B822 /* chat_send_default@2x.png */; }; - 633FEE161D3CD5590014B822 /* chat_send_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC5C1D3CD5570014B822 /* chat_send_disabled.png */; }; - 633FEE171D3CD5590014B822 /* chat_send_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC5D1D3CD5570014B822 /* chat_send_disabled@2x.png */; }; - 633FEE181D3CD5590014B822 /* chat_send_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC5E1D3CD5570014B822 /* chat_send_over.png */; }; - 633FEE191D3CD5590014B822 /* chat_send_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC5F1D3CD5570014B822 /* chat_send_over@2x.png */; }; - 633FEE1A1D3CD5590014B822 /* chat_start_body_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC601D3CD5570014B822 /* chat_start_body_default.png */; }; - 633FEE1B1D3CD5590014B822 /* chat_start_body_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC611D3CD5570014B822 /* chat_start_body_default@2x.png */; }; - 633FEE1C1D3CD5590014B822 /* chat_start_body_default~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC621D3CD5570014B822 /* chat_start_body_default~ipad.png */; }; - 633FEE1D1D3CD5590014B822 /* chat_start_body_default~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC631D3CD5570014B822 /* chat_start_body_default~ipad@2x.png */; }; - 633FEE1E1D3CD5590014B822 /* chat_start_body_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC641D3CD5570014B822 /* chat_start_body_disabled.png */; }; - 633FEE1F1D3CD5590014B822 /* chat_start_body_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC651D3CD5570014B822 /* chat_start_body_disabled@2x.png */; }; - 633FEE201D3CD5590014B822 /* chat_start_body_disabled~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC661D3CD5570014B822 /* chat_start_body_disabled~ipad.png */; }; - 633FEE211D3CD5590014B822 /* chat_start_body_disabled~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC671D3CD5570014B822 /* chat_start_body_disabled~ipad@2x.png */; }; - 633FEE221D3CD5590014B822 /* chat_start_body_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC681D3CD5570014B822 /* chat_start_body_over.png */; }; - 633FEE231D3CD5590014B822 /* chat_start_body_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC691D3CD5570014B822 /* chat_start_body_over@2x.png */; }; - 633FEE241D3CD5590014B822 /* chat_start_body_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC6A1D3CD5570014B822 /* chat_start_body_over~ipad.png */; }; - 633FEE251D3CD5590014B822 /* chat_start_body_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC6B1D3CD5570014B822 /* chat_start_body_over~ipad@2x.png */; }; - 633FEE261D3CD5590014B822 /* checkbox_checked.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC6C1D3CD5570014B822 /* checkbox_checked.png */; }; - 633FEE271D3CD5590014B822 /* checkbox_checked@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC6D1D3CD5570014B822 /* checkbox_checked@2x.png */; }; - 633FEE281D3CD5590014B822 /* checkbox_unchecked.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC6E1D3CD5570014B822 /* checkbox_unchecked.png */; }; - 633FEE291D3CD5590014B822 /* checkbox_unchecked@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC6F1D3CD5570014B822 /* checkbox_unchecked@2x.png */; }; - 633FEE2A1D3CD5590014B822 /* color_A.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC701D3CD5570014B822 /* color_A.png */; }; - 633FEE2B1D3CD5590014B822 /* color_C.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC711D3CD5570014B822 /* color_C.png */; }; - 633FEE2C1D3CD5590014B822 /* color_D.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC721D3CD5570014B822 /* color_D.png */; }; - 633FEE2D1D3CD5590014B822 /* color_E.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC731D3CD5570014B822 /* color_E.png */; }; - 633FEE2E1D3CD5590014B822 /* color_F.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC741D3CD5570014B822 /* color_F.png */; }; - 633FEE2F1D3CD5590014B822 /* color_G.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC751D3CD5570014B822 /* color_G.png */; }; - 633FEE301D3CD5590014B822 /* color_H.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC761D3CD5570014B822 /* color_H.png */; }; - 633FEE311D3CD5590014B822 /* color_I.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC771D3CD5570014B822 /* color_I.png */; }; - 633FEE321D3CD5590014B822 /* color_L.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC781D3CD5570014B822 /* color_L.png */; }; - 633FEE331D3CD5590014B822 /* color_M.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC791D3CD5570014B822 /* color_M.png */; }; - 633FEE341D3CD5590014B822 /* conference_exit_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC7A1D3CD5570014B822 /* conference_exit_default.png */; }; - 633FEE351D3CD5590014B822 /* conference_exit_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC7B1D3CD5570014B822 /* conference_exit_default@2x.png */; }; - 633FEE361D3CD5590014B822 /* conference_exit_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC7C1D3CD5570014B822 /* conference_exit_over.png */; }; - 633FEE371D3CD5590014B822 /* conference_exit_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC7D1D3CD5570014B822 /* conference_exit_over@2x.png */; }; - 633FEE381D3CD5590014B822 /* contact_add_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC7E1D3CD5570014B822 /* contact_add_default.png */; }; - 633FEE391D3CD5590014B822 /* contact_add_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC7F1D3CD5570014B822 /* contact_add_default@2x.png */; }; - 633FEE3A1D3CD5590014B822 /* contact_add_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC801D3CD5570014B822 /* contact_add_disabled.png */; }; - 633FEE3B1D3CD5590014B822 /* contact_add_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC811D3CD5570014B822 /* contact_add_disabled@2x.png */; }; - 633FEE3C1D3CD5590014B822 /* contacts_all_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC821D3CD5570014B822 /* contacts_all_default.png */; }; - 633FEE3D1D3CD5590014B822 /* contacts_all_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC831D3CD5570014B822 /* contacts_all_default@2x.png */; }; - 633FEE3E1D3CD5590014B822 /* contacts_all_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC841D3CD5570014B822 /* contacts_all_disabled.png */; }; - 633FEE3F1D3CD5590014B822 /* contacts_all_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC851D3CD5570014B822 /* contacts_all_disabled@2x.png */; }; - 633FEE401D3CD5590014B822 /* contacts_all_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC861D3CD5570014B822 /* contacts_all_selected.png */; }; - 633FEE411D3CD5590014B822 /* contacts_all_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC871D3CD5570014B822 /* contacts_all_selected@2x.png */; }; - 633FEE481D3CD5590014B822 /* delete_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC8E1D3CD5570014B822 /* delete_default.png */; }; - 633FEE491D3CD5590014B822 /* delete_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC8F1D3CD5570014B822 /* delete_default@2x.png */; }; - 633FEE4A1D3CD5590014B822 /* delete_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC901D3CD5570014B822 /* delete_disabled.png */; }; - 633FEE4B1D3CD5590014B822 /* delete_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC911D3CD5570014B822 /* delete_disabled@2x.png */; }; - 633FEE4C1D3CD5590014B822 /* delete_field_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC921D3CD5570014B822 /* delete_field_default.png */; }; - 633FEE4D1D3CD5590014B822 /* delete_field_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC931D3CD5570014B822 /* delete_field_default@2x.png */; }; - 633FEE4E1D3CD5590014B822 /* delete_field_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC941D3CD5570014B822 /* delete_field_over.png */; }; - 633FEE4F1D3CD5590014B822 /* delete_field_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC951D3CD5570014B822 /* delete_field_over@2x.png */; }; - 633FEE501D3CD5590014B822 /* deselect_all.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC961D3CD5570014B822 /* deselect_all.png */; }; - 633FEE511D3CD5590014B822 /* deselect_all@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC971D3CD5570014B822 /* deselect_all@2x.png */; }; - 633FEE521D3CD5590014B822 /* dialer_alt_back.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC981D3CD5570014B822 /* dialer_alt_back.png */; }; - 633FEE531D3CD5590014B822 /* dialer_alt_back@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC991D3CD5570014B822 /* dialer_alt_back@2x.png */; }; - 633FEE541D3CD5590014B822 /* dialer_back_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC9A1D3CD5570014B822 /* dialer_back_default.png */; }; - 633FEE551D3CD5590014B822 /* dialer_back_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC9B1D3CD5570014B822 /* dialer_back_default@2x.png */; }; - 633FEE561D3CD5590014B822 /* dialer_back_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC9C1D3CD5570014B822 /* dialer_back_disabled.png */; }; - 633FEE571D3CD5590014B822 /* dialer_back_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FEC9D1D3CD5570014B822 /* dialer_back_disabled@2x.png */; }; - 633FEE5A1D3CD5590014B822 /* edit_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECA01D3CD5570014B822 /* edit_default.png */; }; - 633FEE5B1D3CD5590014B822 /* edit_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECA11D3CD5570014B822 /* edit_default@2x.png */; }; - 633FEE5C1D3CD5590014B822 /* edit_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECA21D3CD5570014B822 /* edit_disabled.png */; }; - 633FEE5D1D3CD5590014B822 /* edit_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECA31D3CD5570014B822 /* edit_disabled@2x.png */; }; - 633FEE5E1D3CD5590014B822 /* edit_list_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECA41D3CD5570014B822 /* edit_list_default.png */; }; - 633FEE5F1D3CD5590014B822 /* edit_list_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECA51D3CD5570014B822 /* edit_list_default@2x.png */; }; - 633FEE601D3CD5590014B822 /* edit_list_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECA61D3CD5570014B822 /* edit_list_disabled.png */; }; - 633FEE611D3CD5590014B822 /* edit_list_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECA71D3CD5570014B822 /* edit_list_disabled@2x.png */; }; - 633FEE621D3CD5590014B822 /* footer_chat_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECA81D3CD5570014B822 /* footer_chat_default.png */; }; - 633FEE631D3CD5590014B822 /* footer_chat_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECA91D3CD5570014B822 /* footer_chat_default@2x.png */; }; - 633FEE641D3CD5590014B822 /* footer_chat_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECAA1D3CD5570014B822 /* footer_chat_disabled.png */; }; - 633FEE651D3CD5590014B822 /* footer_chat_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECAB1D3CD5570014B822 /* footer_chat_disabled@2x.png */; }; - 633FEE661D3CD5590014B822 /* footer_contacts_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECAC1D3CD5570014B822 /* footer_contacts_default.png */; }; - 633FEE671D3CD5590014B822 /* footer_contacts_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECAD1D3CD5570014B822 /* footer_contacts_default@2x.png */; }; - 633FEE681D3CD5590014B822 /* footer_contacts_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECAE1D3CD5570014B822 /* footer_contacts_disabled.png */; }; - 633FEE691D3CD5590014B822 /* footer_contacts_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECAF1D3CD5570014B822 /* footer_contacts_disabled@2x.png */; }; - 633FEE6A1D3CD5590014B822 /* footer_dialer_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECB01D3CD5570014B822 /* footer_dialer_default.png */; }; - 633FEE6B1D3CD5590014B822 /* footer_dialer_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECB11D3CD5570014B822 /* footer_dialer_default@2x.png */; }; - 633FEE6C1D3CD5590014B822 /* footer_dialer_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECB21D3CD5570014B822 /* footer_dialer_disabled.png */; }; - 633FEE6D1D3CD5590014B822 /* footer_dialer_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECB31D3CD5570014B822 /* footer_dialer_disabled@2x.png */; }; - 633FEE6E1D3CD5590014B822 /* footer_history_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECB41D3CD5570014B822 /* footer_history_default.png */; }; - 633FEE6F1D3CD5590014B822 /* footer_history_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECB51D3CD5570014B822 /* footer_history_default@2x.png */; }; - 633FEE701D3CD5590014B822 /* footer_history_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECB61D3CD5570014B822 /* footer_history_disabled.png */; }; - 633FEE711D3CD5590014B822 /* footer_history_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECB71D3CD5570014B822 /* footer_history_disabled@2x.png */; }; - 633FEE721D3CD5590014B822 /* history_all_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECB81D3CD5570014B822 /* history_all_default.png */; }; - 633FEE731D3CD5590014B822 /* history_all_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECB91D3CD5570014B822 /* history_all_default@2x.png */; }; - 633FEE741D3CD5590014B822 /* history_all_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECBA1D3CD5570014B822 /* history_all_disabled.png */; }; - 633FEE751D3CD5590014B822 /* history_all_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECBB1D3CD5570014B822 /* history_all_disabled@2x.png */; }; - 633FEE761D3CD5590014B822 /* history_all_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECBC1D3CD5570014B822 /* history_all_selected.png */; }; - 633FEE771D3CD5590014B822 /* history_all_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECBD1D3CD5570014B822 /* history_all_selected@2x.png */; }; - 633FEE781D3CD5590014B822 /* history_chat_indicator.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECBE1D3CD5570014B822 /* history_chat_indicator.png */; }; - 633FEE791D3CD5590014B822 /* history_chat_indicator@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECBF1D3CD5570014B822 /* history_chat_indicator@2x.png */; }; - 633FEE7A1D3CD5590014B822 /* history_missed_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECC01D3CD5570014B822 /* history_missed_default.png */; }; - 633FEE7B1D3CD5590014B822 /* history_missed_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECC11D3CD5570014B822 /* history_missed_default@2x.png */; }; - 633FEE7C1D3CD5590014B822 /* history_missed_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECC21D3CD5570014B822 /* history_missed_disabled.png */; }; - 633FEE7D1D3CD5590014B822 /* history_missed_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECC31D3CD5570014B822 /* history_missed_disabled@2x.png */; }; - 633FEE7E1D3CD5590014B822 /* history_missed_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECC41D3CD5570014B822 /* history_missed_selected.png */; }; - 633FEE7F1D3CD5590014B822 /* history_missed_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECC51D3CD5570014B822 /* history_missed_selected@2x.png */; }; - 633FEE801D3CD5590014B822 /* led_connected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECC61D3CD5570014B822 /* led_connected.png */; }; - 633FEE811D3CD5590014B822 /* led_connected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECC71D3CD5570014B822 /* led_connected@2x.png */; }; - 633FEE821D3CD5590014B822 /* led_disconnected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECC81D3CD5570014B822 /* led_disconnected.png */; }; - 633FEE831D3CD5590014B822 /* led_disconnected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECC91D3CD5570014B822 /* led_disconnected@2x.png */; }; - 633FEE841D3CD5590014B822 /* led_error.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECCA1D3CD5570014B822 /* led_error.png */; }; - 633FEE851D3CD5590014B822 /* led_error@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECCB1D3CD5570014B822 /* led_error@2x.png */; }; - 633FEE861D3CD5590014B822 /* led_inprogress.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECCC1D3CD5570014B822 /* led_inprogress.png */; }; - 633FEE871D3CD5590014B822 /* led_inprogress@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECCD1D3CD5570014B822 /* led_inprogress@2x.png */; }; - 633FEE8E1D3CD55A0014B822 /* list_details_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECD41D3CD5580014B822 /* list_details_default.png */; }; - 633FEE8F1D3CD55A0014B822 /* list_details_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECD51D3CD5580014B822 /* list_details_default@2x.png */; }; - 633FEE901D3CD55A0014B822 /* list_details_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECD61D3CD5580014B822 /* list_details_over.png */; }; - 633FEE911D3CD55A0014B822 /* list_details_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECD71D3CD5580014B822 /* list_details_over@2x.png */; }; - 633FEE921D3CD55A0014B822 /* menu.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECD81D3CD5580014B822 /* menu.png */; }; - 633FEE931D3CD55A0014B822 /* menu@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECD91D3CD5580014B822 /* menu@2x.png */; }; - 633FEE941D3CD55A0014B822 /* micro_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECDA1D3CD5580014B822 /* micro_default.png */; }; - 633FEE951D3CD55A0014B822 /* micro_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECDB1D3CD5580014B822 /* micro_default@2x.png */; }; - 633FEE961D3CD55A0014B822 /* micro_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECDC1D3CD5580014B822 /* micro_disabled.png */; }; - 633FEE971D3CD55A0014B822 /* micro_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECDD1D3CD5580014B822 /* micro_disabled@2x.png */; }; - 633FEE981D3CD55A0014B822 /* micro_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECDE1D3CD5580014B822 /* micro_selected.png */; }; - 633FEE991D3CD55A0014B822 /* micro_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECDF1D3CD5580014B822 /* micro_selected@2x.png */; }; - 633FEE9A1D3CD55A0014B822 /* nowebcamCIF.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 633FECE01D3CD5580014B822 /* nowebcamCIF.jpg */; }; - 633FEE9B1D3CD55A0014B822 /* numpad_0_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECE11D3CD5580014B822 /* numpad_0_default.png */; }; - 633FEE9C1D3CD55A0014B822 /* numpad_0_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECE21D3CD5580014B822 /* numpad_0_default@2x.png */; }; - 633FEE9D1D3CD55A0014B822 /* numpad_0_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECE31D3CD5580014B822 /* numpad_0_over.png */; }; - 633FEE9E1D3CD55A0014B822 /* numpad_0_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECE41D3CD5580014B822 /* numpad_0_over@2x.png */; }; - 633FEE9F1D3CD55A0014B822 /* numpad_0_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECE51D3CD5580014B822 /* numpad_0_over~ipad.png */; }; - 633FEEA01D3CD55A0014B822 /* numpad_0_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECE61D3CD5580014B822 /* numpad_0_over~ipad@2x.png */; }; - 633FEEA11D3CD55A0014B822 /* numpad_0~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECE71D3CD5580014B822 /* numpad_0~ipad.png */; }; - 633FEEA21D3CD55A0014B822 /* numpad_0~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECE81D3CD5580014B822 /* numpad_0~ipad@2x.png */; }; - 633FEEA31D3CD55A0014B822 /* numpad_1_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECE91D3CD5580014B822 /* numpad_1_default.png */; }; - 633FEEA41D3CD55A0014B822 /* numpad_1_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECEA1D3CD5580014B822 /* numpad_1_default@2x.png */; }; - 633FEEA51D3CD55A0014B822 /* numpad_1_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECEB1D3CD5580014B822 /* numpad_1_over.png */; }; - 633FEEA61D3CD55A0014B822 /* numpad_1_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECEC1D3CD5580014B822 /* numpad_1_over@2x.png */; }; - 633FEEA71D3CD55A0014B822 /* numpad_1_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECED1D3CD5580014B822 /* numpad_1_over~ipad.png */; }; - 633FEEA81D3CD55A0014B822 /* numpad_1_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECEE1D3CD5580014B822 /* numpad_1_over~ipad@2x.png */; }; - 633FEEA91D3CD55A0014B822 /* numpad_1~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECEF1D3CD5580014B822 /* numpad_1~ipad.png */; }; - 633FEEAA1D3CD55A0014B822 /* numpad_1~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECF01D3CD5580014B822 /* numpad_1~ipad@2x.png */; }; - 633FEEAB1D3CD55A0014B822 /* numpad_2_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECF11D3CD5580014B822 /* numpad_2_default.png */; }; - 633FEEAC1D3CD55A0014B822 /* numpad_2_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECF21D3CD5580014B822 /* numpad_2_default@2x.png */; }; - 633FEEAD1D3CD55A0014B822 /* numpad_2_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECF31D3CD5580014B822 /* numpad_2_over.png */; }; - 633FEEAE1D3CD55A0014B822 /* numpad_2_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECF41D3CD5580014B822 /* numpad_2_over@2x.png */; }; - 633FEEAF1D3CD55A0014B822 /* numpad_2_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECF51D3CD5580014B822 /* numpad_2_over~ipad.png */; }; - 633FEEB01D3CD55A0014B822 /* numpad_2_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECF61D3CD5580014B822 /* numpad_2_over~ipad@2x.png */; }; - 633FEEB11D3CD55A0014B822 /* numpad_2~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECF71D3CD5580014B822 /* numpad_2~ipad.png */; }; - 633FEEB21D3CD55A0014B822 /* numpad_2~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECF81D3CD5580014B822 /* numpad_2~ipad@2x.png */; }; - 633FEEB31D3CD55A0014B822 /* numpad_3_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECF91D3CD5580014B822 /* numpad_3_default.png */; }; - 633FEEB41D3CD55A0014B822 /* numpad_3_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECFA1D3CD5580014B822 /* numpad_3_default@2x.png */; }; - 633FEEB51D3CD55A0014B822 /* numpad_3_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECFB1D3CD5580014B822 /* numpad_3_over.png */; }; - 633FEEB61D3CD55A0014B822 /* numpad_3_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECFC1D3CD5580014B822 /* numpad_3_over@2x.png */; }; - 633FEEB71D3CD55A0014B822 /* numpad_3_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECFD1D3CD5580014B822 /* numpad_3_over~ipad.png */; }; - 633FEEB81D3CD55A0014B822 /* numpad_3_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECFE1D3CD5580014B822 /* numpad_3_over~ipad@2x.png */; }; - 633FEEB91D3CD55A0014B822 /* numpad_3~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FECFF1D3CD5580014B822 /* numpad_3~ipad.png */; }; - 633FEEBA1D3CD55A0014B822 /* numpad_3~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED001D3CD5580014B822 /* numpad_3~ipad@2x.png */; }; - 633FEEBB1D3CD55A0014B822 /* numpad_4_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED011D3CD5580014B822 /* numpad_4_default.png */; }; - 633FEEBC1D3CD55A0014B822 /* numpad_4_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED021D3CD5580014B822 /* numpad_4_default@2x.png */; }; - 633FEEBD1D3CD55A0014B822 /* numpad_4_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED031D3CD5580014B822 /* numpad_4_over.png */; }; - 633FEEBE1D3CD55A0014B822 /* numpad_4_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED041D3CD5580014B822 /* numpad_4_over@2x.png */; }; - 633FEEBF1D3CD55A0014B822 /* numpad_4_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED051D3CD5580014B822 /* numpad_4_over~ipad.png */; }; - 633FEEC01D3CD55A0014B822 /* numpad_4_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED061D3CD5580014B822 /* numpad_4_over~ipad@2x.png */; }; - 633FEEC11D3CD55A0014B822 /* numpad_4~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED071D3CD5580014B822 /* numpad_4~ipad.png */; }; - 633FEEC21D3CD55A0014B822 /* numpad_4~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED081D3CD5580014B822 /* numpad_4~ipad@2x.png */; }; - 633FEEC31D3CD55A0014B822 /* numpad_5_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED091D3CD5580014B822 /* numpad_5_default.png */; }; - 633FEEC41D3CD55A0014B822 /* numpad_5_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED0A1D3CD5580014B822 /* numpad_5_default@2x.png */; }; - 633FEEC51D3CD55A0014B822 /* numpad_5_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED0B1D3CD5580014B822 /* numpad_5_over.png */; }; - 633FEEC61D3CD55A0014B822 /* numpad_5_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED0C1D3CD5580014B822 /* numpad_5_over@2x.png */; }; - 633FEEC71D3CD55A0014B822 /* numpad_5_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED0D1D3CD5580014B822 /* numpad_5_over~ipad.png */; }; - 633FEEC81D3CD55A0014B822 /* numpad_5_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED0E1D3CD5580014B822 /* numpad_5_over~ipad@2x.png */; }; - 633FEEC91D3CD55A0014B822 /* numpad_5~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED0F1D3CD5580014B822 /* numpad_5~ipad.png */; }; - 633FEECA1D3CD55A0014B822 /* numpad_5~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED101D3CD5580014B822 /* numpad_5~ipad@2x.png */; }; - 633FEECB1D3CD55A0014B822 /* numpad_6_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED111D3CD5580014B822 /* numpad_6_default.png */; }; - 633FEECC1D3CD55A0014B822 /* numpad_6_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED121D3CD5580014B822 /* numpad_6_default@2x.png */; }; - 633FEECD1D3CD55A0014B822 /* numpad_6_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED131D3CD5580014B822 /* numpad_6_over.png */; }; - 633FEECE1D3CD55A0014B822 /* numpad_6_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED141D3CD5580014B822 /* numpad_6_over@2x.png */; }; - 633FEECF1D3CD55A0014B822 /* numpad_6_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED151D3CD5580014B822 /* numpad_6_over~ipad.png */; }; - 633FEED01D3CD55A0014B822 /* numpad_6_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED161D3CD5580014B822 /* numpad_6_over~ipad@2x.png */; }; - 633FEED11D3CD55A0014B822 /* numpad_6~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED171D3CD5580014B822 /* numpad_6~ipad.png */; }; - 633FEED21D3CD55A0014B822 /* numpad_6~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED181D3CD5580014B822 /* numpad_6~ipad@2x.png */; }; - 633FEED31D3CD55A0014B822 /* numpad_7_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED191D3CD5580014B822 /* numpad_7_default.png */; }; - 633FEED41D3CD55A0014B822 /* numpad_7_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED1A1D3CD5580014B822 /* numpad_7_default@2x.png */; }; - 633FEED51D3CD55A0014B822 /* numpad_7_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED1B1D3CD5580014B822 /* numpad_7_over.png */; }; - 633FEED61D3CD55A0014B822 /* numpad_7_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED1C1D3CD5580014B822 /* numpad_7_over@2x.png */; }; - 633FEED71D3CD55A0014B822 /* numpad_7_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED1D1D3CD5580014B822 /* numpad_7_over~ipad.png */; }; - 633FEED81D3CD55A0014B822 /* numpad_7_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED1E1D3CD5580014B822 /* numpad_7_over~ipad@2x.png */; }; - 633FEED91D3CD55A0014B822 /* numpad_7~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED1F1D3CD5580014B822 /* numpad_7~ipad.png */; }; - 633FEEDA1D3CD55A0014B822 /* numpad_7~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED201D3CD5580014B822 /* numpad_7~ipad@2x.png */; }; - 633FEEDB1D3CD55A0014B822 /* numpad_8_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED211D3CD5580014B822 /* numpad_8_default.png */; }; - 633FEEDC1D3CD55A0014B822 /* numpad_8_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED221D3CD5580014B822 /* numpad_8_default@2x.png */; }; - 633FEEDD1D3CD55A0014B822 /* numpad_8_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED231D3CD5580014B822 /* numpad_8_over.png */; }; - 633FEEDE1D3CD55A0014B822 /* numpad_8_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED241D3CD5580014B822 /* numpad_8_over@2x.png */; }; - 633FEEDF1D3CD55A0014B822 /* numpad_8_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED251D3CD5580014B822 /* numpad_8_over~ipad.png */; }; - 633FEEE01D3CD55A0014B822 /* numpad_8_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED261D3CD5580014B822 /* numpad_8_over~ipad@2x.png */; }; - 633FEEE11D3CD55A0014B822 /* numpad_8~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED271D3CD5580014B822 /* numpad_8~ipad.png */; }; - 633FEEE21D3CD55A0014B822 /* numpad_8~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED281D3CD5580014B822 /* numpad_8~ipad@2x.png */; }; - 633FEEE31D3CD55A0014B822 /* numpad_9_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED291D3CD5580014B822 /* numpad_9_default.png */; }; - 633FEEE41D3CD55A0014B822 /* numpad_9_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED2A1D3CD5580014B822 /* numpad_9_default@2x.png */; }; - 633FEEE51D3CD55A0014B822 /* numpad_9_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED2B1D3CD5580014B822 /* numpad_9_over.png */; }; - 633FEEE61D3CD55A0014B822 /* numpad_9_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED2C1D3CD5580014B822 /* numpad_9_over@2x.png */; }; - 633FEEE71D3CD55A0014B822 /* numpad_9_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED2D1D3CD5580014B822 /* numpad_9_over~ipad.png */; }; - 633FEEE81D3CD55A0014B822 /* numpad_9_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED2E1D3CD5580014B822 /* numpad_9_over~ipad@2x.png */; }; - 633FEEE91D3CD55A0014B822 /* numpad_9~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED2F1D3CD5580014B822 /* numpad_9~ipad.png */; }; - 633FEEEA1D3CD55A0014B822 /* numpad_9~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED301D3CD5580014B822 /* numpad_9~ipad@2x.png */; }; - 633FEEEB1D3CD55A0014B822 /* numpad_hash_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED311D3CD5580014B822 /* numpad_hash_default.png */; }; - 633FEEEC1D3CD55A0014B822 /* numpad_hash_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED321D3CD5580014B822 /* numpad_hash_default@2x.png */; }; - 633FEEED1D3CD55A0014B822 /* numpad_hash_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED331D3CD5580014B822 /* numpad_hash_over.png */; }; - 633FEEEE1D3CD55A0014B822 /* numpad_hash_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED341D3CD5580014B822 /* numpad_hash_over@2x.png */; }; - 633FEEEF1D3CD55A0014B822 /* numpad_hash_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED351D3CD5580014B822 /* numpad_hash_over~ipad.png */; }; - 633FEEF01D3CD55A0014B822 /* numpad_hash_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED361D3CD5580014B822 /* numpad_hash_over~ipad@2x.png */; }; - 633FEEF11D3CD55A0014B822 /* numpad_hash~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED371D3CD5580014B822 /* numpad_hash~ipad.png */; }; - 633FEEF21D3CD55A0014B822 /* numpad_hash~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED381D3CD5580014B822 /* numpad_hash~ipad@2x.png */; }; - 633FEEF31D3CD55A0014B822 /* numpad_over_background.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED391D3CD5580014B822 /* numpad_over_background.png */; }; - 633FEEF41D3CD55A0014B822 /* numpad_star_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED3A1D3CD5580014B822 /* numpad_star_default.png */; }; - 633FEEF51D3CD55A0014B822 /* numpad_star_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED3B1D3CD5580014B822 /* numpad_star_default@2x.png */; }; - 633FEEF61D3CD55A0014B822 /* numpad_star_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED3C1D3CD5580014B822 /* numpad_star_over.png */; }; - 633FEEF71D3CD55A0014B822 /* numpad_star_over@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED3D1D3CD5580014B822 /* numpad_star_over@2x.png */; }; - 633FEEF81D3CD55A0014B822 /* numpad_star_over~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED3E1D3CD5580014B822 /* numpad_star_over~ipad.png */; }; - 633FEEF91D3CD55A0014B822 /* numpad_star_over~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED3F1D3CD5580014B822 /* numpad_star_over~ipad@2x.png */; }; - 633FEEFA1D3CD55A0014B822 /* numpad_star~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED401D3CD5580014B822 /* numpad_star~ipad.png */; }; - 633FEEFB1D3CD55A0014B822 /* numpad_star~ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED411D3CD5580014B822 /* numpad_star~ipad@2x.png */; }; - 633FEEFC1D3CD55A0014B822 /* options_add_call_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED421D3CD5580014B822 /* options_add_call_default.png */; }; - 633FEEFD1D3CD55A0014B822 /* options_add_call_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED431D3CD5580014B822 /* options_add_call_default@2x.png */; }; - 633FEEFE1D3CD55A0014B822 /* options_add_call_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED441D3CD5580014B822 /* options_add_call_disabled.png */; }; - 633FEEFF1D3CD55A0014B822 /* options_add_call_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED451D3CD5580014B822 /* options_add_call_disabled@2x.png */; }; - 633FEF001D3CD55A0014B822 /* options_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED461D3CD5580014B822 /* options_default.png */; }; - 633FEF011D3CD55A0014B822 /* options_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED471D3CD5580014B822 /* options_default@2x.png */; }; - 633FEF021D3CD55A0014B822 /* options_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED481D3CD5580014B822 /* options_disabled.png */; }; - 633FEF031D3CD55A0014B822 /* options_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED491D3CD5580014B822 /* options_disabled@2x.png */; }; - 633FEF041D3CD55A0014B822 /* options_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED4A1D3CD5580014B822 /* options_selected.png */; }; - 633FEF051D3CD55A0014B822 /* options_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED4B1D3CD5580014B822 /* options_selected@2x.png */; }; - 633FEF061D3CD55A0014B822 /* options_start_conference_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED4C1D3CD5580014B822 /* options_start_conference_default.png */; }; - 633FEF071D3CD55A0014B822 /* options_start_conference_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED4D1D3CD5580014B822 /* options_start_conference_default@2x.png */; }; - 633FEF081D3CD55A0014B822 /* options_start_conference_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED4E1D3CD5580014B822 /* options_start_conference_disabled.png */; }; - 633FEF091D3CD55A0014B822 /* options_start_conference_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED4F1D3CD5580014B822 /* options_start_conference_disabled@2x.png */; }; - 633FEF0A1D3CD55A0014B822 /* options_transfer_call_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED501D3CD5580014B822 /* options_transfer_call_default.png */; }; - 633FEF0B1D3CD55A0014B822 /* options_transfer_call_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED511D3CD5580014B822 /* options_transfer_call_default@2x.png */; }; - 633FEF0C1D3CD55A0014B822 /* options_transfer_call_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED521D3CD5580014B822 /* options_transfer_call_disabled.png */; }; - 633FEF0D1D3CD55A0014B822 /* options_transfer_call_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED531D3CD5580014B822 /* options_transfer_call_disabled@2x.png */; }; - 633FEF0E1D3CD55A0014B822 /* pause_big_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED541D3CD5580014B822 /* pause_big_default.png */; }; - 633FEF0F1D3CD55A0014B822 /* pause_big_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED551D3CD5580014B822 /* pause_big_default@2x.png */; }; - 633FEF101D3CD55A0014B822 /* pause_big_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED561D3CD5580014B822 /* pause_big_disabled.png */; }; - 633FEF111D3CD55A0014B822 /* pause_big_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED571D3CD5580014B822 /* pause_big_disabled@2x.png */; }; - 633FEF121D3CD55A0014B822 /* pause_big_over_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED581D3CD5580014B822 /* pause_big_over_selected.png */; }; - 633FEF131D3CD55A0014B822 /* pause_big_over_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED591D3CD5580014B822 /* pause_big_over_selected@2x.png */; }; - 633FEF141D3CD55A0014B822 /* pause_small_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED5A1D3CD5580014B822 /* pause_small_default.png */; }; - 633FEF151D3CD55A0014B822 /* pause_small_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED5B1D3CD5590014B822 /* pause_small_default@2x.png */; }; - 633FEF161D3CD55A0014B822 /* pause_small_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED5C1D3CD5590014B822 /* pause_small_disabled.png */; }; - 633FEF171D3CD55A0014B822 /* pause_small_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED5D1D3CD5590014B822 /* pause_small_disabled@2x.png */; }; - 633FEF181D3CD55A0014B822 /* pause_small_over_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED5E1D3CD5590014B822 /* pause_small_over_selected.png */; }; - 633FEF191D3CD55A0014B822 /* pause_small_over_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED5F1D3CD5590014B822 /* pause_small_over_selected@2x.png */; }; - 633FEF1A1D3CD55A0014B822 /* presence_away.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED601D3CD5590014B822 /* presence_away.png */; }; - 633FEF1B1D3CD55A0014B822 /* presence_away@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED611D3CD5590014B822 /* presence_away@2x.png */; }; - 633FEF1C1D3CD55A0014B822 /* presence_offline.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED621D3CD5590014B822 /* presence_offline.png */; }; - 633FEF1D1D3CD55A0014B822 /* presence_offline@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED631D3CD5590014B822 /* presence_offline@2x.png */; }; - 633FEF1E1D3CD55A0014B822 /* presence_online.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED641D3CD5590014B822 /* presence_online.png */; }; - 633FEF1F1D3CD55A0014B822 /* presence_online@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED651D3CD5590014B822 /* presence_online@2x.png */; }; - 633FEF201D3CD55A0014B822 /* presence_unregistered.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED661D3CD5590014B822 /* presence_unregistered.png */; }; - 633FEF211D3CD55A0014B822 /* presence_unregistered@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED671D3CD5590014B822 /* presence_unregistered@2x.png */; }; - 633FEF221D3CD55A0014B822 /* route_bluetooth_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED681D3CD5590014B822 /* route_bluetooth_default.png */; }; - 633FEF231D3CD55A0014B822 /* route_bluetooth_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED691D3CD5590014B822 /* route_bluetooth_default@2x.png */; }; - 633FEF241D3CD55A0014B822 /* route_bluetooth_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED6A1D3CD5590014B822 /* route_bluetooth_disabled.png */; }; - 633FEF251D3CD55A0014B822 /* route_bluetooth_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED6B1D3CD5590014B822 /* route_bluetooth_disabled@2x.png */; }; - 633FEF261D3CD55A0014B822 /* route_bluetooth_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED6C1D3CD5590014B822 /* route_bluetooth_selected.png */; }; - 633FEF271D3CD55A0014B822 /* route_bluetooth_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED6D1D3CD5590014B822 /* route_bluetooth_selected@2x.png */; }; - 633FEF281D3CD55A0014B822 /* route_earpiece_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED6E1D3CD5590014B822 /* route_earpiece_default.png */; }; - 633FEF291D3CD55A0014B822 /* route_earpiece_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED6F1D3CD5590014B822 /* route_earpiece_default@2x.png */; }; - 633FEF2A1D3CD55A0014B822 /* route_earpiece_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED701D3CD5590014B822 /* route_earpiece_disabled.png */; }; - 633FEF2B1D3CD55A0014B822 /* route_earpiece_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED711D3CD5590014B822 /* route_earpiece_disabled@2x.png */; }; - 633FEF2C1D3CD55A0014B822 /* route_earpiece_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED721D3CD5590014B822 /* route_earpiece_selected.png */; }; - 633FEF2D1D3CD55A0014B822 /* route_earpiece_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED731D3CD5590014B822 /* route_earpiece_selected@2x.png */; }; - 633FEF2E1D3CD55A0014B822 /* route_speaker_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED741D3CD5590014B822 /* route_speaker_default.png */; }; - 633FEF2F1D3CD55A0014B822 /* route_speaker_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED751D3CD5590014B822 /* route_speaker_default@2x.png */; }; - 633FEF301D3CD55A0014B822 /* route_speaker_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED761D3CD5590014B822 /* route_speaker_disabled.png */; }; - 633FEF311D3CD55A0014B822 /* route_speaker_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED771D3CD5590014B822 /* route_speaker_disabled@2x.png */; }; - 633FEF321D3CD55A0014B822 /* route_speaker_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED781D3CD5590014B822 /* route_speaker_selected.png */; }; - 633FEF331D3CD55A0014B822 /* route_speaker_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED791D3CD5590014B822 /* route_speaker_selected@2x.png */; }; - 633FEF341D3CD55A0014B822 /* routes_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED7A1D3CD5590014B822 /* routes_default.png */; }; - 633FEF351D3CD55A0014B822 /* routes_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED7B1D3CD5590014B822 /* routes_default@2x.png */; }; - 633FEF361D3CD55A0014B822 /* routes_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED7C1D3CD5590014B822 /* routes_disabled.png */; }; - 633FEF371D3CD55A0014B822 /* routes_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED7D1D3CD5590014B822 /* routes_disabled@2x.png */; }; - 633FEF381D3CD55A0014B822 /* routes_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED7E1D3CD5590014B822 /* routes_selected.png */; }; - 633FEF391D3CD55A0014B822 /* routes_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED7F1D3CD5590014B822 /* routes_selected@2x.png */; }; - 633FEF3A1D3CD55A0014B822 /* security_ko.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED801D3CD5590014B822 /* security_ko.png */; }; - 633FEF3B1D3CD55A0014B822 /* security_ko@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED811D3CD5590014B822 /* security_ko@2x.png */; }; - 633FEF3C1D3CD55A0014B822 /* security_ok.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED821D3CD5590014B822 /* security_ok.png */; }; - 633FEF3D1D3CD55A0014B822 /* security_ok@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED831D3CD5590014B822 /* security_ok@2x.png */; }; - 633FEF3E1D3CD55A0014B822 /* security_pending.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED841D3CD5590014B822 /* security_pending.png */; }; - 633FEF3F1D3CD55A0014B822 /* security_pending@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED851D3CD5590014B822 /* security_pending@2x.png */; }; - 633FEF401D3CD55A0014B822 /* select_all_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED861D3CD5590014B822 /* select_all_default.png */; }; - 633FEF411D3CD55A0014B822 /* select_all_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED871D3CD5590014B822 /* select_all_default@2x.png */; }; - 633FEF421D3CD55A0014B822 /* select_all_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED881D3CD5590014B822 /* select_all_disabled.png */; }; - 633FEF431D3CD55A0014B822 /* select_all_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED891D3CD5590014B822 /* select_all_disabled@2x.png */; }; - 633FEF441D3CD55A0014B822 /* speaker_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED8A1D3CD5590014B822 /* speaker_default.png */; }; - 633FEF451D3CD55A0014B822 /* speaker_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED8B1D3CD5590014B822 /* speaker_default@2x.png */; }; - 633FEF461D3CD55A0014B822 /* speaker_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED8C1D3CD5590014B822 /* speaker_disabled.png */; }; - 633FEF471D3CD55A0014B822 /* speaker_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED8D1D3CD5590014B822 /* speaker_disabled@2x.png */; }; - 633FEF481D3CD55A0014B822 /* speaker_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED8E1D3CD5590014B822 /* speaker_selected.png */; }; - 633FEF491D3CD55A0014B822 /* speaker_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED8F1D3CD5590014B822 /* speaker_selected@2x.png */; }; - 633FEF4E1D3CD55A0014B822 /* valid_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED941D3CD5590014B822 /* valid_default.png */; }; - 633FEF4F1D3CD55A0014B822 /* valid_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED951D3CD5590014B822 /* valid_default@2x.png */; }; - 633FEF501D3CD55A0014B822 /* valid_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED961D3CD5590014B822 /* valid_disabled.png */; }; - 633FEF511D3CD55A0014B822 /* valid_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED971D3CD5590014B822 /* valid_disabled@2x.png */; }; - 633FEF521D3CD55A0014B822 /* voicemail.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED981D3CD5590014B822 /* voicemail.png */; }; - 633FEF531D3CD55A0014B822 /* voicemail@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED991D3CD5590014B822 /* voicemail@2x.png */; }; - 633FEF541D3CD55A0014B822 /* waiting_time.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED9A1D3CD5590014B822 /* waiting_time.png */; }; - 633FEF551D3CD55A0014B822 /* waiting_time@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 633FED9B1D3CD5590014B822 /* waiting_time@2x.png */; }; - 633FEF581D3CD5E00014B822 /* UIAvatarPresence.m in Sources */ = {isa = PBXBuildFile; fileRef = 633FEF571D3CD5E00014B822 /* UIAvatarPresence.m */; }; - 6341807C1BBC103100F71761 /* ChatConversationCreateTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6341807B1BBC103100F71761 /* ChatConversationCreateTableView.m */; }; - 63423C0A1C4501D000D9A050 /* Contact.m in Sources */ = {isa = PBXBuildFile; fileRef = 63423C091C4501D000D9A050 /* Contact.m */; }; - 634610061B61330300548952 /* UILabel+Boldify.m in Sources */ = {isa = PBXBuildFile; fileRef = 634610051B61330300548952 /* UILabel+Boldify.m */; }; - 635173F91BA082A40095EB0A /* UIChatBubblePhotoCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 635173F81BA082A40095EB0A /* UIChatBubblePhotoCell.m */; }; - 635775251B6673EC00C8B704 /* HistoryDetailsTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 635775241B6673EC00C8B704 /* HistoryDetailsTableView.m */; }; - 636316D11A1DEBCB0009B839 /* AboutView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 636316D31A1DEBCB0009B839 /* AboutView.xib */; }; - 636316D41A1DEC650009B839 /* SettingsView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 636316D61A1DEC650009B839 /* SettingsView.xib */; }; - 636BC9971B5F921B00C754CE /* UIIconButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 636BC9961B5F921B00C754CE /* UIIconButton.m */; }; - 63701DDF1BA32039006A9AE3 /* UIConfirmationDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = 63701DDE1BA32039006A9AE3 /* UIConfirmationDialog.m */; }; - 637157A11B283FE200C91677 /* FileTransferDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 637157A01B283FE200C91677 /* FileTransferDelegate.m */; }; - 6377AC801BDE4069007F7625 /* UIBackToCallButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 6377AC7F1BDE4069007F7625 /* UIBackToCallButton.m */; }; - 6381DA7D1C1AD5EA00DF3BBD /* UIBouncingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6381DA7C1C1AD5EA00DF3BBD /* UIBouncingView.m */; }; - 638F1A621C2021B2004B8E02 /* DialerView~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 638F1A601C2021B2004B8E02 /* DialerView~ipad.xib */; }; - 638F1A911C21993D004B8E02 /* UICompositeView~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 638F1A8F1C21993D004B8E02 /* UICompositeView~ipad.xib */; }; - 639CEAFD1A1DF4D9004DE38F /* StatusBarView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639CEAFF1A1DF4D9004DE38F /* StatusBarView.xib */; }; - 639CEB001A1DF4E4004DE38F /* UIHistoryCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639CEB021A1DF4E4004DE38F /* UIHistoryCell.xib */; }; - 639CEB031A1DF4EB004DE38F /* UICompositeView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639CEB051A1DF4EB004DE38F /* UICompositeView.xib */; }; - 639CEB091A1DF4FA004DE38F /* UIChatCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639CEB0B1A1DF4FA004DE38F /* UIChatCell.xib */; }; - 639E9C801C0DB13D00019A75 /* UICheckBoxTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 639E9C7F1C0DB13D00019A75 /* UICheckBoxTableView.m */; }; - 639E9C931C0DB7BE00019A75 /* FirstLoginView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639E9C951C0DB7BE00019A75 /* FirstLoginView.xib */; }; - 639E9CA01C0DB7E500019A75 /* UIChatBubblePhotoCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639E9CA21C0DB7E500019A75 /* UIChatBubblePhotoCell.xib */; }; - 639E9CA31C0DB7EA00019A75 /* UIChatBubbleTextCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639E9CA51C0DB7EA00019A75 /* UIChatBubbleTextCell.xib */; }; - 639E9CA61C0DB7F200019A75 /* UIChatCreateCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639E9CA81C0DB7F200019A75 /* UIChatCreateCell.xib */; }; - 639E9CA91C0DB7FB00019A75 /* UIConfirmationDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639E9CAB1C0DB7FB00019A75 /* UIConfirmationDialog.xib */; }; - 639E9CAC1C0DB80300019A75 /* UIContactDetailsCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639E9CAE1C0DB80300019A75 /* UIContactDetailsCell.xib */; }; - 639E9CB01C0DB83000019A75 /* SideMenuView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639E9CB21C0DB83000019A75 /* SideMenuView.xib */; }; - 639E9CB51C0DB88200019A75 /* PhoneMainView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639E9CB31C0DB88200019A75 /* PhoneMainView.xib */; }; - 63AADBE81B6A0FF200AA16FD /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 63AADBC41B6A0FF200AA16FD /* Localizable.strings */; }; - 63AADBEA1B6A0FF200AA16FD /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 63AADBCA1B6A0FF200AA16FD /* Images.xcassets */; }; - 63AADBF51B6A0FF200AA16FD /* linphonerc in Resources */ = {isa = PBXBuildFile; fileRef = 63AADBD71B6A0FF200AA16FD /* linphonerc */; }; - 63AADBF61B6A0FF200AA16FD /* linphonerc-factory in Resources */ = {isa = PBXBuildFile; fileRef = 63AADBD81B6A0FF200AA16FD /* linphonerc-factory */; }; - 63AADBF81B6A0FF200AA16FD /* linphonerc~ipad in Resources */ = {isa = PBXBuildFile; fileRef = 63AADBDA1B6A0FF200AA16FD /* linphonerc~ipad */; }; - 63AADBFF1B6A0FF200AA16FD /* assistant_external_sip.rc in Resources */ = {isa = PBXBuildFile; fileRef = 63AADBE31B6A0FF200AA16FD /* assistant_external_sip.rc */; }; - 63AADC001B6A0FF200AA16FD /* assistant_linphone_create.rc in Resources */ = {isa = PBXBuildFile; fileRef = 63AADBE41B6A0FF200AA16FD /* assistant_linphone_create.rc */; }; - 63AADC011B6A0FF200AA16FD /* assistant_linphone_existing.rc in Resources */ = {isa = PBXBuildFile; fileRef = 63AADBE51B6A0FF200AA16FD /* assistant_linphone_existing.rc */; }; - 63AADC021B6A0FF200AA16FD /* assistant_remote.rc in Resources */ = {isa = PBXBuildFile; fileRef = 63AADBE61B6A0FF200AA16FD /* assistant_remote.rc */; }; - 63B81A0C1B57DA33009604A6 /* LICENSE.txt in Resources */ = {isa = PBXBuildFile; fileRef = 63B81A031B57DA33009604A6 /* LICENSE.txt */; }; - 63B81A0D1B57DA33009604A6 /* TPKeyboardAvoidingCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63B81A051B57DA33009604A6 /* TPKeyboardAvoidingCollectionView.m */; }; - 63B81A0E1B57DA33009604A6 /* TPKeyboardAvoidingScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63B81A071B57DA33009604A6 /* TPKeyboardAvoidingScrollView.m */; }; - 63B81A0F1B57DA33009604A6 /* TPKeyboardAvoidingTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63B81A091B57DA33009604A6 /* TPKeyboardAvoidingTableView.m */; }; - 63B81A101B57DA33009604A6 /* UIScrollView+TPKeyboardAvoidingAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 63B81A0B1B57DA33009604A6 /* UIScrollView+TPKeyboardAvoidingAdditions.m */; }; - 63B8D68C1BCBE65600C12B09 /* ChatConversationCreateView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 63B8D68E1BCBE65600C12B09 /* ChatConversationCreateView.xib */; }; - 63B8D6A21BCBF43100C12B09 /* UIChatCreateCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 63B8D6A01BCBF43100C12B09 /* UIChatCreateCell.m */; }; - 63BE7A781D75BDF6000990EF /* ShopTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63BE7A771D75BDF6000990EF /* ShopTableView.m */; }; - 63C441C31BBC23ED0053DC5E /* UIAssistantTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C441C21BBC23ED0053DC5E /* UIAssistantTextField.m */; }; - 63CD4B4F1A5AAC8C00B84282 /* DTAlertView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63CD4B4E1A5AAC8C00B84282 /* DTAlertView.m */; }; - 63CDC45E1C3BDE370085F529 /* msg.caf in Resources */ = {isa = PBXBuildFile; fileRef = 63CDC4531C3BDE370085F529 /* msg.caf */; }; - 63CDC45F1C3BDE370085F529 /* ringback.wav in Resources */ = {isa = PBXBuildFile; fileRef = 63CDC4541C3BDE370085F529 /* ringback.wav */; }; - 63CDC4661C3BDE370085F529 /* shortring.caf in Resources */ = {isa = PBXBuildFile; fileRef = 63CDC45C1C3BDE370085F529 /* shortring.caf */; }; - 63CE58401C85EBF400304800 /* VideoToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63CE583F1C85EBF400304800 /* VideoToolbox.framework */; }; - 63D11C531C3D501200E8FCEE /* Log.m in Sources */ = {isa = PBXBuildFile; fileRef = 63D11C521C3D501200E8FCEE /* Log.m */; }; - 63DFE04B1C40161700DA5E87 /* notes_of_the_optimistic.caf in Resources */ = {isa = PBXBuildFile; fileRef = 63DFE0451C40161700DA5E87 /* notes_of_the_optimistic.caf */; }; - 63E27A321C4FECD000D332AE /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 63E27A311C4FECD000D332AE /* LaunchScreen.xib */; }; - 63E27A521C50EDB000D332AE /* hold.mkv in Resources */ = {isa = PBXBuildFile; fileRef = 63E27A511C50EB2700D332AE /* hold.mkv */; }; - 63E59A3F1ADE70D900646FB3 /* InAppProductsManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 63E59A3E1ADE70D900646FB3 /* InAppProductsManager.m */; }; - 63E802DB1C625AEF000D5509 /* BuildFile in Resources */ = {isa = PBXBuildFile; }; - 63EC8D391D7438660066547B /* AssistantLinkView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 63EC8D3B1D7438660066547B /* AssistantLinkView.xib */; }; - 63F1DF441BCE618E00EDED90 /* UIAddressTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = 63F1DF431BCE618E00EDED90 /* UIAddressTextField.m */; }; - 63FB30351A680E73008CA393 /* UIRoundedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63FB30341A680E73008CA393 /* UIRoundedImageView.m */; }; - 662553B427EDFB35007F67D8 /* MagicSearch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 662553B327EDFB35007F67D8 /* MagicSearch.swift */; }; - 662F56FE28C00DF300E851BF /* UITestsUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 662F13B52887E8A10084C28C /* UITestsUtils.swift */; }; - 662F56FF28C0A9FE00E851BF /* IncomingOutgoingCallViewUITestsMethods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6643AD54287F25A500701703 /* IncomingOutgoingCallViewUITestsMethods.swift */; }; - 662F570028C0AA0800E851BF /* UITestsCoreManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6643AD51287EF56200701703 /* UITestsCoreManager.swift */; }; - 662F570228C2506600E851BF /* OutgoingCallUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 663B06592886B54F00E41889 /* OutgoingCallUITests.swift */; }; - 66305A5B28B9105D00838792 /* UITestsScreenshots.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66689D3F28A2443A0054E633 /* UITestsScreenshots.swift */; }; - 6637AF90288593AF00965733 /* IncomingCallUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6637AF8F288593AF00965733 /* IncomingCallUITests.swift */; }; -<<<<<<< HEAD - 6643501C28D1CD3300AEA777 /* UIColorExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71BE285A24B10066163B /* UIColorExtensions.swift */; }; - 66631CE728D37A2400115E36 /* ExtraMenuUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 663B06652886F0DB00E41889 /* ExtraMenuUITests.swift */; }; - 66631CE828D37AA300115E36 /* ExtraMenuActiveCallActionsUITestsMethods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 663B06672886F16300E41889 /* ExtraMenuActiveCallActionsUITestsMethods.swift */; }; - 6693A1D328D0FCE400489A39 /* ActiveCallUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 663B065F2886E38100E41889 /* ActiveCallUITests.swift */; }; - 6693A1D428D0FCE900489A39 /* ActiveCallViewUITestsMethods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 663B065B2886DA8500E41889 /* ActiveCallViewUITestsMethods.swift */; }; -======= - 6637AF9A2885986300965733 /* GhostAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6643AD51287EF56200701703 /* GhostAccount.swift */; }; - 6637AF9B2885995A00965733 /* IncomingOutgoingCallViewUITestsMethods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6643AD54287F25A500701703 /* IncomingOutgoingCallViewUITestsMethods.swift */; }; - 663B065A2886B54F00E41889 /* OutgoingCallUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 663B06592886B54F00E41889 /* OutgoingCallUITests.swift */; }; - 663B065C2886DA8500E41889 /* ActiveCallViewUITestsMethods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 663B065B2886DA8500E41889 /* ActiveCallViewUITestsMethods.swift */; }; - 663B06602886E38100E41889 /* ActiveCallUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 663B065F2886E38100E41889 /* ActiveCallUITests.swift */; }; - 663B06662886F0DB00E41889 /* ExtraMenuUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 663B06652886F0DB00E41889 /* ExtraMenuUITests.swift */; }; - 663B06682886F16300E41889 /* ExtraMenuActiveCallActionsUITestsMethods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 663B06672886F16300E41889 /* ExtraMenuActiveCallActionsUITestsMethods.swift */; }; - 66495CFE288FF346002780DE /* AutoConnectLinphoneAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66495CFD288FF346002780DE /* AutoConnectLinphoneAccount.swift */; }; ->>>>>>> 8e16f1fad (new test plans) - 669B140827A1821F0012220A /* scroll_to_bottom_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 669B140727A1821F0012220A /* scroll_to_bottom_default.png */; }; - 669B140C27A29D140012220A /* FloatingScrollDownButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 669B140B27A29D140012220A /* FloatingScrollDownButton.swift */; }; - 66E399F72857869300E73456 /* menu_notifications_off.png in Resources */ = {isa = PBXBuildFile; fileRef = 66E399F52857869200E73456 /* menu_notifications_off.png */; }; - 66E399F82857869300E73456 /* menu_notifications_on.png in Resources */ = {isa = PBXBuildFile; fileRef = 66E399F62857869200E73456 /* menu_notifications_on.png */; }; - 70E542F313E147E3002BA2C0 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70E542F213E147E3002BA2C0 /* OpenGLES.framework */; }; - 70E542F513E147EB002BA2C0 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70E542F413E147EB002BA2C0 /* QuartzCore.framework */; }; - 8C2595DF1DEDCC8E007A6424 /* CallKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C2595DE1DEDCC8E007A6424 /* CallKit.framework */; }; - 8C2A81951F87B8000012A66B /* chat_group_avatar@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C2A81931F87B7FF0012A66B /* chat_group_avatar@2x.png */; }; - 8C2A81961F87B8000012A66B /* chat_group_avatar.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C2A81941F87B8000012A66B /* chat_group_avatar.png */; }; - 8C300D9A1E40E0CC00728EF3 /* lime_ko.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C300D981E40E0CC00728EF3 /* lime_ko.png */; }; - 8C300D9B1E40E0CC00728EF3 /* lime_ko@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C300D991E40E0CC00728EF3 /* lime_ko@2x.png */; }; - 8C73477C1D9BA3A00022EE8C /* UserNotifications.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C73477B1D9BA3A00022EE8C /* UserNotifications.framework */; }; - 8C92ABE81FA773190006FB5D /* UIChatNotifiedEventCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8C92ABE71FA773190006FB5D /* UIChatNotifiedEventCell.xib */; }; - 8C92ABF31FA773E50006FB5D /* UIChatNotifiedEventCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C92ABF21FA773E50006FB5D /* UIChatNotifiedEventCell.m */; }; - 8C9C5E0D1F83B2EF006987FA /* ChatConversationCreateCollectionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C5E0C1F83B2EF006987FA /* ChatConversationCreateCollectionViewController.m */; }; - 8C9C5E111F83BD97006987FA /* UIChatCreateCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C5E0F1F83BD97006987FA /* UIChatCreateCollectionViewCell.m */; }; - 8CA2004C1D8158440095F859 /* PushKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8CA2004B1D8158440095F859 /* PushKit.framework */; }; - 8CA70AD11F9E0AE100A3D2EB /* ChatConversationInfoView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CA70AD01F9E0AE100A3D2EB /* ChatConversationInfoView.m */; }; - 8CA70AD41F9E285C00A3D2EB /* chat_group_add@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CA70AD21F9E285B00A3D2EB /* chat_group_add@2x.png */; }; - 8CA70AD51F9E285C00A3D2EB /* chat_group_add.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CA70AD31F9E285B00A3D2EB /* chat_group_add.png */; }; - 8CA70AE41F9E39E400A3D2EB /* UIChatConversationInfoTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CA70AE21F9E39E400A3D2EB /* UIChatConversationInfoTableViewCell.m */; }; - 8CB2B8F91F86229E0015CEE2 /* chat_secure.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CB2B8F61F86229B0015CEE2 /* chat_secure.png */; }; - 8CB2B8FA1F86229E0015CEE2 /* next_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CB2B8F71F86229C0015CEE2 /* next_disabled.png */; }; - 8CB2B8FB1F86229E0015CEE2 /* next_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CB2B8F81F86229D0015CEE2 /* next_disabled@2x.png */; }; - 8CBD7BA020B6B7FD00E5DCC0 /* ChatConversationInfoView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8CBD7BA220B6B7FD00E5DCC0 /* ChatConversationInfoView.xib */; }; - 8CBD7BA320B6B80D00E5DCC0 /* ChatConversationImdnView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8CBD7BA520B6B80D00E5DCC0 /* ChatConversationImdnView.xib */; }; - 8CBD7BA620B6B82400E5DCC0 /* UIChatConversationInfoTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8CBD7BA820B6B82400E5DCC0 /* UIChatConversationInfoTableViewCell.xib */; }; - 8CBD7BA920B6B82A00E5DCC0 /* UIChatConversationImdnTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8CBD7BAB20B6B82A00E5DCC0 /* UIChatConversationImdnTableViewCell.xib */; }; - 8CBD7BAC20B6B82F00E5DCC0 /* UIChatCreateCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8CBD7BAE20B6B82F00E5DCC0 /* UIChatCreateCollectionViewCell.xib */; }; - 8CD99A1C20908C27008A7CDA /* callkit_logo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CD99A1B20908C27008A7CDA /* callkit_logo@2x.png */; }; - 8CD99A372090A824008A7CDA /* splashscreen@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CD99A352090A823008A7CDA /* splashscreen@2x.png */; }; - 8CD99A382090A824008A7CDA /* splashscreen.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CD99A362090A824008A7CDA /* splashscreen.png */; }; - 8CD99A3C2090B9FA008A7CDA /* ChatConversationImdnView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CD99A3B2090B9FA008A7CDA /* ChatConversationImdnView.m */; }; - 8CD99A422090CE6F008A7CDA /* UIChatConversationImdnTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CD99A412090CE6F008A7CDA /* UIChatConversationImdnTableViewCell.m */; }; - 8CDC61951F84D89B0087CF7F /* check_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CDC618C1F84D89B0087CF7F /* check_selected.png */; }; - 8CDC61971F84D9270087CF7F /* check_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CDC61961F84D9270087CF7F /* check_selected@2x.png */; }; - 8CE24F4B1F8234A30077AC0A /* next_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CE24F491F8234A20077AC0A /* next_default.png */; }; - 8CE24F4C1F8234A30077AC0A /* next_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CE24F4A1F8234A30077AC0A /* next_default@2x.png */; }; - 8CE24F571F8268850077AC0A /* conference_delete.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CE24F551F8268840077AC0A /* conference_delete.png */; }; - 8CE24F581F8268850077AC0A /* conference_delete@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CE24F561F8268840077AC0A /* conference_delete@2x.png */; }; - 8CF25D951F9F336100BEA0C1 /* check_unselected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CF25D8B1F9F336000BEA0C1 /* check_unselected@2x.png */; }; - 8CF25D961F9F336100BEA0C1 /* check_unselected.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CF25D941F9F336100BEA0C1 /* check_unselected.png */; }; - 8CF25D9D1F9F76BD00BEA0C1 /* chat_group_informations.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CF25D9B1F9F76BC00BEA0C1 /* chat_group_informations.png */; }; - 8CF25D9E1F9F76BD00BEA0C1 /* chat_group_informations@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CF25D9C1F9F76BD00BEA0C1 /* chat_group_informations@2x.png */; }; - AC76CCEFDCD59EB01C2DE3F8 /* Pods_msgNotificationContent.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DA35546364BBF65F0DF5E8F /* Pods_msgNotificationContent.framework */; }; - C61B1BF22667D075001A4E4A /* menu_security_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C61B1BF12667D075001A4E4A /* menu_security_default.png */; }; - C61B1BF42667D202001A4E4A /* more_menu_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C61B1BF32667D202001A4E4A /* more_menu_default.png */; }; - C61B1BF72667EC6B001A4E4A /* ephemeral_messages_color_A.png in Resources */ = {isa = PBXBuildFile; fileRef = C61B1BF62667EC6B001A4E4A /* ephemeral_messages_color_A.png */; }; - C622E3EF26A81290004F5434 /* vr_stop.png in Resources */ = {isa = PBXBuildFile; fileRef = C622E3E926A8128F004F5434 /* vr_stop.png */; }; - C622E3F026A81290004F5434 /* vr_wave.png in Resources */ = {isa = PBXBuildFile; fileRef = C622E3EA26A8128F004F5434 /* vr_wave.png */; }; - C622E3F126A81290004F5434 /* vr_on.png in Resources */ = {isa = PBXBuildFile; fileRef = C622E3EB26A8128F004F5434 /* vr_on.png */; }; - C622E3F226A81290004F5434 /* vr_off.png in Resources */ = {isa = PBXBuildFile; fileRef = C622E3EC26A8128F004F5434 /* vr_off.png */; }; - C622E3F326A81290004F5434 /* vr_pause.png in Resources */ = {isa = PBXBuildFile; fileRef = C622E3ED26A8128F004F5434 /* vr_pause.png */; }; - C622E3F426A81290004F5434 /* vr_play.png in Resources */ = {isa = PBXBuildFile; fileRef = C622E3EE26A81290004F5434 /* vr_play.png */; }; - C63F720D285A24B10066163B /* ConfigManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F7197285A24B10066163B /* ConfigManager.swift */; }; - C63F720E285A24B10066163B /* CallManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F7198285A24B10066163B /* CallManager.swift */; }; - C63F720F285A24B10066163B /* ConferenceWaitingRoomViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F719B285A24B10066163B /* ConferenceWaitingRoomViewModel.swift */; }; - C63F7210285A24B10066163B /* ConferenceSchedulingViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F719C285A24B10066163B /* ConferenceSchedulingViewModel.swift */; }; - C63F7211285A24B10066163B /* ScheduledConferencesViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F719D285A24B10066163B /* ScheduledConferencesViewModel.swift */; }; - C63F7212285A24B10066163B /* ScheduledConferenceData.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F719F285A24B10066163B /* ScheduledConferenceData.swift */; }; - C63F7213285A24B10066163B /* TimeZoneData.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71A0285A24B10066163B /* TimeZoneData.swift */; }; - C63F7214285A24B10066163B /* Duration.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71A1285A24B10066163B /* Duration.swift */; }; - C63F7215285A24B10066163B /* ConferenceWaitingRoomFragment.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71A3285A24B10066163B /* ConferenceWaitingRoomFragment.swift */; }; - C63F7216285A24B10066163B /* ScheduledConferencesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71A4285A24B10066163B /* ScheduledConferencesView.swift */; }; - C63F7217285A24B10066163B /* ICSBubbleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71A5285A24B10066163B /* ICSBubbleView.swift */; }; - C63F7218285A24B10066163B /* ScheduledConferencesCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71A6285A24B10066163B /* ScheduledConferencesCell.swift */; }; - C63F7219285A24B10066163B /* ConferenceHistoryDetailsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71A7285A24B10066163B /* ConferenceHistoryDetailsView.swift */; }; - C63F721A285A24B10066163B /* ConferenceSchedulingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71A8285A24B10066163B /* ConferenceSchedulingView.swift */; }; - C63F721B285A24B10066163B /* ConferenceSchedulingSummaryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71A9285A24B10066163B /* ConferenceSchedulingSummaryView.swift */; }; - C63F721C285A24B10066163B /* MediatorLiveData.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71AC285A24B10066163B /* MediatorLiveData.swift */; }; - C63F721D285A24B10066163B /* MutableLiveData.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71AD285A24B10066163B /* MutableLiveData.swift */; }; - C63F721E285A24B10066163B /* Pair.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71AE285A24B10066163B /* Pair.swift */; }; - C63F721F285A24B10066163B /* BackNextNavigationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71AF285A24B10066163B /* BackNextNavigationView.swift */; }; - C63F7220285A24B10066163B /* TimestampUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71B0285A24B10066163B /* TimestampUtils.swift */; }; - C63F7221285A24B10066163B /* AppManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71B1285A24B10066163B /* AppManager.swift */; }; - C63F7222285A24B10066163B /* UIApplication+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71B4285A24B10066163B /* UIApplication+Extension.swift */; }; - C63F7224285A24B10066163B /* UIVIewControllerExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71B6285A24B10066163B /* UIVIewControllerExtensions.swift */; }; - C63F7225285A24B10066163B /* UIImageExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71B7285A24B10066163B /* UIImageExtensions.swift */; }; - C63F7226285A24B10066163B /* UIVIewExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71B8285A24B10066163B /* UIVIewExtensions.swift */; }; - C63F7227285A24B10066163B /* UILabelExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71B9285A24B10066163B /* UILabelExtensions.swift */; }; - C63F7228285A24B10066163B /* OptionalExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71BA285A24B10066163B /* OptionalExtensions.swift */; }; - C63F7229285A24B10066163B /* UIButtonExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71BB285A24B10066163B /* UIButtonExtensions.swift */; }; - C63F722A285A24B10066163B /* UIImageViewExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71BC285A24B10066163B /* UIImageViewExtensions.swift */; }; - C63F722B285A24B10066163B /* UIDeviceExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71BD285A24B10066163B /* UIDeviceExtensions.swift */; }; - C63F722C285A24B10066163B /* UIColorExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71BE285A24B10066163B /* UIColorExtensions.swift */; }; - C63F722D285A24B10066163B /* CoreExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71C0285A24B10066163B /* CoreExtensions.swift */; }; - C63F722E285A24B10066163B /* IceState.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71C1285A24B10066163B /* IceState.swift */; }; - C63F722F285A24B10066163B /* AddressExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71C2285A24B10066163B /* AddressExtensions.swift */; }; - C63F7230285A24B10066163B /* ParticipantExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71C3285A24B10066163B /* ParticipantExtensions.swift */; }; - C63F7231285A24B10066163B /* PayloadType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71C4285A24B10066163B /* PayloadType.swift */; }; - C63F7232285A24B10066163B /* CallExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71C5285A24B10066163B /* CallExtensions.swift */; }; - C63F7233285A24B10066163B /* ConferenceExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71C6285A24B10066163B /* ConferenceExtensions.swift */; }; - C63F7234285A24B10066163B /* ConferenceViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71C9285A24B10066163B /* ConferenceViewModel.swift */; }; - C63F7235285A24B10066163B /* CallsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71CA285A24B10066163B /* CallsViewModel.swift */; }; - C63F7236285A24B10066163B /* ControlsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71CB285A24B10066163B /* ControlsViewModel.swift */; }; - C63F7237285A24B10066163B /* CallStatisticsData.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71CC285A24B10066163B /* CallStatisticsData.swift */; }; - C63F7238285A24B10066163B /* ConferenceParticipantData.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71CD285A24B10066163B /* ConferenceParticipantData.swift */; }; - C63F7239285A24B10066163B /* ConferenceParticipantDeviceData.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71CE285A24B10066163B /* ConferenceParticipantDeviceData.swift */; }; - C63F723A285A24B10066163B /* CallData.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71CF285A24B10066163B /* CallData.swift */; }; - C63F723B285A24B10066163B /* AudioRouteUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71D0285A24B10066163B /* AudioRouteUtils.swift */; }; - C63F723C285A24B10066163B /* LightDarkColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71D2285A24B10066163B /* LightDarkColor.swift */; }; - C63F723D285A24B10066163B /* TextStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71D3285A24B10066163B /* TextStyle.swift */; }; - C63F723E285A24B10066163B /* VoipTexts.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71D4285A24B10066163B /* VoipTexts.swift */; }; - C63F723F285A24B10066163B /* ButtonTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71D5285A24B10066163B /* ButtonTheme.swift */; }; - C63F7240285A24B10066163B /* VoipTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71D6285A24B10066163B /* VoipTheme.swift */; }; - C63F7241285A24B10066163B /* ParticipantsListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71DA285A24B10066163B /* ParticipantsListView.swift */; }; - C63F7242285A24B10066163B /* VoipParticipantCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71DB285A24B10066163B /* VoipParticipantCell.swift */; }; - C63F7243285A24B10066163B /* AudioRoutesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71DC285A24B10066163B /* AudioRoutesView.swift */; }; - C63F7244285A24B10066163B /* VoipActiveSpeakerParticipantCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71DE285A24B10066163B /* VoipActiveSpeakerParticipantCell.swift */; }; - C63F7245285A24B10066163B /* VoipConferenceAudioOnlyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71DF285A24B10066163B /* VoipConferenceAudioOnlyView.swift */; }; - C63F7246285A24B10066163B /* VoipGridParticipantCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71E0285A24B10066163B /* VoipGridParticipantCell.swift */; }; - C63F7247285A24B10066163B /* VoipAudioOnlyParticipantCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71E1285A24B10066163B /* VoipAudioOnlyParticipantCell.swift */; }; - C63F7248285A24B10066163B /* MicMuted.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71E2285A24B10066163B /* MicMuted.swift */; }; - C63F7249285A24B10066163B /* VoipConferenceGridView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71E3285A24B10066163B /* VoipConferenceGridView.swift */; }; - C63F724A285A24B10066163B /* VoipConferenceActiveSpeakerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71E4285A24B10066163B /* VoipConferenceActiveSpeakerView.swift */; }; - C63F724B285A24B10066163B /* VoipConferenceDisplayModeSelectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71E5285A24B10066163B /* VoipConferenceDisplayModeSelectionView.swift */; }; - C63F724C285A24B10066163B /* ActiveCallView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71E7285A24B10066163B /* ActiveCallView.swift */; }; - C63F724D285A24B10066163B /* IncomingOuntgoingCommonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71E8285A24B10066163B /* IncomingOuntgoingCommonView.swift */; }; - C63F724E285A24B10066163B /* PausedCallOrConferenceView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71E9285A24B10066163B /* PausedCallOrConferenceView.swift */; }; - C63F724F285A24B10066163B /* LocalVideoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71EA285A24B10066163B /* LocalVideoView.swift */; }; - C63F7250285A24B10066163B /* CallStatsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71EB285A24B10066163B /* CallStatsView.swift */; }; - C63F7251285A24B10066163B /* NumpadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71EC285A24B10066163B /* NumpadView.swift */; }; - C63F7252285A24B10066163B /* VoipExtraButtonsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71ED285A24B10066163B /* VoipExtraButtonsView.swift */; }; - C63F7253285A24B10066163B /* VoipCallContextMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71EF285A24B10066163B /* VoipCallContextMenu.swift */; }; - C63F7254285A24B10066163B /* CallsListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71F0285A24B10066163B /* CallsListView.swift */; }; - C63F7255285A24B10066163B /* VoipCallCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71F1285A24B10066163B /* VoipCallCell.swift */; }; - C63F7256285A24B10066163B /* DismissableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71F2285A24B10066163B /* DismissableView.swift */; }; - C63F7257285A24B10066163B /* ConferenceLayoutPickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71F3285A24B10066163B /* ConferenceLayoutPickerView.swift */; }; - C63F7258285A24B10066163B /* ControlsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71F4285A24B10066163B /* ControlsView.swift */; }; - C63F7259285A24B10066163B /* RemotelyRecording.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71F5285A24B10066163B /* RemotelyRecording.swift */; }; - C63F725A285A24B10066163B /* OutgoingCallView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71F7285A24B10066163B /* OutgoingCallView.swift */; }; - C63F725B285A24B10066163B /* ActiveCallOrConferenceView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71F8285A24B10066163B /* ActiveCallOrConferenceView.swift */; }; - C63F725C285A24B10066163B /* IncomingCallView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71F9285A24B10066163B /* IncomingCallView.swift */; }; - C63F725D285A24B10066163B /* SharedLayoutConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71FA285A24B10066163B /* SharedLayoutConstants.swift */; }; - C63F725E285A24B10066163B /* VoipDialog.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71FB285A24B10066163B /* VoipDialog.swift */; }; - C63F725F285A24B10066163B /* StyledValuePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71FD285A24B10066163B /* StyledValuePicker.swift */; }; - C63F7260285A24B10066163B /* StyledSwitch.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71FE285A24B10066163B /* StyledSwitch.swift */; }; - C63F7261285A24B10066163B /* CallControlButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F71FF285A24B10066163B /* CallControlButton.swift */; }; - C63F7262285A24B10066163B /* RotatingSpinner.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F7200285A24B10066163B /* RotatingSpinner.swift */; }; - C63F7263285A24B10066163B /* FormButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F7201285A24B10066163B /* FormButton.swift */; }; - C63F7264285A24B10066163B /* BouncingCounter.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F7202285A24B10066163B /* BouncingCounter.swift */; }; - C63F7265285A24B10066163B /* VoipExtraButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F7203285A24B10066163B /* VoipExtraButton.swift */; }; - C63F7266285A24B10066163B /* UICallTimer.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F7204285A24B10066163B /* UICallTimer.swift */; }; - C63F7267285A24B10066163B /* StyledCheckBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F7205285A24B10066163B /* StyledCheckBox.swift */; }; - C63F7268285A24B10066163B /* Avatar.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F7206285A24B10066163B /* Avatar.swift */; }; - C63F7269285A24B10066163B /* StyledLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F7207285A24B10066163B /* StyledLabel.swift */; }; - C63F726A285A24B10066163B /* StyledDatePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F7208285A24B10066163B /* StyledDatePicker.swift */; }; - C63F726B285A24B10066163B /* ButtonWithStateBackgrounds.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F7209285A24B10066163B /* ButtonWithStateBackgrounds.swift */; }; - C63F726C285A24B10066163B /* StyledTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F720A285A24B10066163B /* StyledTextView.swift */; }; - C63F726D285A24B10066163B /* ProviderDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F720B285A24B10066163B /* ProviderDelegate.swift */; }; - C63F726E285A24B10066163B /* VFSUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F720C285A24B10066163B /* VFSUtil.swift */; }; - C63F726F285A24E90066163B /* VFSUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F720C285A24B10066163B /* VFSUtil.swift */; }; - C63F7270285A24E90066163B /* VFSUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63F720C285A24B10066163B /* VFSUtil.swift */; }; - C63F72B5285A2F1D0066163B /* voip_dropdown.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7271285A2F140066163B /* voip_dropdown.png */; }; - C63F72B6285A2F1D0066163B /* voip_spinner.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7272285A2F140066163B /* voip_spinner.png */; }; - C63F72B7285A2F1D0066163B /* voip_numpad_7.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7273285A2F140066163B /* voip_numpad_7.png */; }; - C63F72B8285A2F1D0066163B /* voip_radio_off.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7274285A2F150066163B /* voip_radio_off.png */; }; - C63F72B9285A2F1D0066163B /* voip_export.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7275285A2F150066163B /* voip_export.png */; }; - C63F72BA285A2F1D0066163B /* voip_call_numpad.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7276285A2F150066163B /* voip_call_numpad.png */; }; - C63F72BB285A2F1D0066163B /* voip_chat_rooms_list.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7277285A2F150066163B /* voip_chat_rooms_list.png */; }; - C63F72BC285A2F1D0066163B /* voip_numpad_4.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7278285A2F150066163B /* voip_numpad_4.png */; }; - C63F72BD285A2F1D0066163B /* voip_call_header_incoming.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7279285A2F150066163B /* voip_call_header_incoming.png */; }; - C63F72BE285A2F1D0066163B /* voip_calls_list.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F727A285A2F150066163B /* voip_calls_list.png */; }; - C63F72BF285A2F1D0066163B /* voip_call_header_paused.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F727B285A2F160066163B /* voip_call_header_paused.png */; }; - C63F72C0285A2F1D0066163B /* voip_numpad_0.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F727C285A2F160066163B /* voip_numpad_0.png */; }; - C63F72C1285A2F1D0066163B /* voip_numpad_3.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F727D285A2F160066163B /* voip_numpad_3.png */; }; - C63F72C2285A2F1D0066163B /* voip_numpad_9.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F727E285A2F160066163B /* voip_numpad_9.png */; }; - C63F72C3285A2F1D0066163B /* voip_speaker_on.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F727F285A2F160066163B /* voip_speaker_on.png */; }; - C63F72C4285A2F1D0066163B /* voip_audio_routes.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7280285A2F160066163B /* voip_audio_routes.png */; }; - C63F72C5285A2F1E0066163B /* voip_call_record.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7281285A2F160066163B /* voip_call_record.png */; }; - C63F72C6285A2F1E0066163B /* voip_call_forward.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7282285A2F170066163B /* voip_call_forward.png */; }; - C63F72C7285A2F1E0066163B /* voip_change_camera.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7283285A2F170066163B /* voip_change_camera.png */; }; - C63F72C8285A2F1E0066163B /* voip_checkbox_checked.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7284285A2F170066163B /* voip_checkbox_checked.png */; }; - C63F72C9285A2F1E0066163B /* voip_info.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7285285A2F170066163B /* voip_info.png */; }; - C63F72CA285A2F1E0066163B /* voip_speaker_off.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7286285A2F170066163B /* voip_speaker_off.png */; }; - C63F72CB285A2F1E0066163B /* voip_call_more.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7287285A2F170066163B /* voip_call_more.png */; }; - C63F72CC285A2F1E0066163B /* voip_call_stats.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7288285A2F170066163B /* voip_call_stats.png */; }; - C63F72CD285A2F1E0066163B /* voip_numpad_8.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7289285A2F180066163B /* voip_numpad_8.png */; }; - C63F72CE285A2F1E0066163B /* voip_call_add.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F728A285A2F180066163B /* voip_call_add.png */; }; - C63F72CF285A2F1E0066163B /* voip_copy.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F728B285A2F180066163B /* voip_copy.png */; }; - C63F72D0285A2F1E0066163B /* voip_conference_paused_big.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F728C285A2F180066163B /* voip_conference_paused_big.png */; }; - C63F72D1285A2F1E0066163B /* voip_numpad_star.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F728D285A2F180066163B /* voip_numpad_star.png */; }; - C63F72D2285A2F1E0066163B /* voip_numpad_hash.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F728E285A2F180066163B /* voip_numpad_hash.png */; }; - C63F72D3285A2F1E0066163B /* voip_multiple_contacts_avatar.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F728F285A2F180066163B /* voip_multiple_contacts_avatar.png */; }; - C63F72D4285A2F1E0066163B /* voip_remote_recording.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7290285A2F180066163B /* voip_remote_recording.png */; }; - C63F72D5285A2F1E0066163B /* voip_hangup.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7291285A2F190066163B /* voip_hangup.png */; }; - C63F72D6285A2F1E0066163B /* voip_pause.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7292285A2F190066163B /* voip_pause.png */; }; - C63F72D7285A2F1E0066163B /* voip_numpad_1.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7293285A2F190066163B /* voip_numpad_1.png */; }; - C63F72D8285A2F1E0066163B /* voip_mandatory.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7294285A2F190066163B /* voip_mandatory.png */; }; - C63F72D9285A2F1E0066163B /* voip_earpiece.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7295285A2F190066163B /* voip_earpiece.png */; }; - C63F72DA285A2F1E0066163B /* voip_numpad_2.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7296285A2F190066163B /* voip_numpad_2.png */; }; - C63F72DB285A2F1E0066163B /* voip_conference_audio_only.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7297285A2F190066163B /* voip_conference_audio_only.png */; }; - C63F72DC285A2F1E0066163B /* voip_menu_more.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7298285A2F1A0066163B /* voip_menu_more.png */; }; - C63F72DD285A2F1E0066163B /* voip_conference_new.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F7299285A2F1A0066163B /* voip_conference_new.png */; }; - C63F72DE285A2F1E0066163B /* voip_call_header_active.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F729A285A2F1A0066163B /* voip_call_header_active.png */; }; - C63F72DF285A2F1E0066163B /* voip_bluetooth.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F729B285A2F1A0066163B /* voip_bluetooth.png */; }; - C63F72E0285A2F1E0066163B /* voip_micro_off.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F729C285A2F1A0066163B /* voip_micro_off.png */; }; - C63F72E1285A2F1E0066163B /* voip_camera_on.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F729D285A2F1A0066163B /* voip_camera_on.png */; }; - C63F72E2285A2F1E0066163B /* voip_conference_play_big.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F729E285A2F1A0066163B /* voip_conference_play_big.png */; }; - C63F72E3285A2F1E0066163B /* voip_call.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F729F285A2F1B0066163B /* voip_call.png */; }; - C63F72E4285A2F1E0066163B /* voip_call_list_menu.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72A0285A2F1B0066163B /* voip_call_list_menu.png */; }; - C63F72E5285A2F1E0066163B /* voip_conference_active_speaker.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72A1285A2F1B0066163B /* voip_conference_active_speaker.png */; }; - C63F72E6285A2F1E0066163B /* voip_numpad_6.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72A2285A2F1B0066163B /* voip_numpad_6.png */; }; - C63F72E7285A2F1E0066163B /* voip_call_participants.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72A3285A2F1B0066163B /* voip_call_participants.png */; }; - C63F72E8285A2F1E0066163B /* conference_schedule_calendar_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72A4285A2F1B0066163B /* conference_schedule_calendar_default.png */; }; - C63F72E9285A2F1E0066163B /* voip_call_chat.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72A5285A2F1B0066163B /* voip_call_chat.png */; }; - C63F72EA285A2F1E0066163B /* voip_checkbox_unchecked.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72A6285A2F1B0066163B /* voip_checkbox_unchecked.png */; }; - C63F72EB285A2F1E0066163B /* voip_edit.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72A7285A2F1C0066163B /* voip_edit.png */; }; - C63F72EC285A2F1E0066163B /* conference_schedule_time_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72A8285A2F1C0066163B /* conference_schedule_time_default.png */; }; - C63F72ED285A2F1E0066163B /* voip_merge_calls.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72A9285A2F1C0066163B /* voip_merge_calls.png */; }; - C63F72EE285A2F1E0066163B /* voip_camera_off.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72AA285A2F1C0066163B /* voip_camera_off.png */; }; - C63F72EF285A2F1E0066163B /* voip_micro_on.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72AB285A2F1C0066163B /* voip_micro_on.png */; }; - C63F72F0285A2F1E0066163B /* voip_radio_on.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72AC285A2F1C0066163B /* voip_radio_on.png */; }; - C63F72F1285A2F1E0066163B /* conference_schedule_participants_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72AD285A2F1C0066163B /* conference_schedule_participants_default.png */; }; - C63F72F2285A2F1E0066163B /* voip_conference_mosaic.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72AE285A2F1D0066163B /* voip_conference_mosaic.png */; }; - C63F72F3285A2F1E0066163B /* voip_numpad_5.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72AF285A2F1D0066163B /* voip_numpad_5.png */; }; - C63F72F4285A2F1E0066163B /* voip_conference_new_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72B0285A2F1D0066163B /* voip_conference_new_selected.png */; }; - C63F72F5285A2F1E0066163B /* voip_single_contact_avatar.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72B1285A2F1D0066163B /* voip_single_contact_avatar.png */; }; - C63F72F6285A2F1E0066163B /* voip_delete.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72B2285A2F1D0066163B /* voip_delete.png */; }; - C63F72F7285A2F1E0066163B /* voip_cancel.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72B3285A2F1D0066163B /* voip_cancel.png */; }; - C63F72F8285A2F1E0066163B /* voip_call_header_outgoing.png in Resources */ = {isa = PBXBuildFile; fileRef = C63F72B4285A2F1D0066163B /* voip_call_header_outgoing.png */; }; - C63F72FD285A31DA0066163B /* Roboto-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = C63F72FA285A31DA0066163B /* Roboto-Regular.ttf */; }; - C63F72FE285A31DA0066163B /* Roboto-Italic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = C63F72FB285A31DA0066163B /* Roboto-Italic.ttf */; }; - C63F72FF285A31DA0066163B /* Roboto-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = C63F72FC285A31DA0066163B /* Roboto-Bold.ttf */; }; - C64A854E2667B67200252AD2 /* EphemeralSettingsView.m in Sources */ = {isa = PBXBuildFile; fileRef = C64A854D2667B67200252AD2 /* EphemeralSettingsView.m */; }; - C64A85502667B67A00252AD2 /* EphemeralSettingsView.xib in Resources */ = {isa = PBXBuildFile; fileRef = C64A854F2667B67A00252AD2 /* EphemeralSettingsView.xib */; }; - C64A85522667B74100252AD2 /* ephemeral_messages_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C64A85512667B74100252AD2 /* ephemeral_messages_default.png */; }; - C66B03BB26E8EB1A009B5EDC /* UIChatReplyBubbleView.xib in Resources */ = {isa = PBXBuildFile; fileRef = C66B03BD26E8EB1A009B5EDC /* UIChatReplyBubbleView.xib */; }; - C66B040A26EFDA55009B5EDC /* reply_cancel.png in Resources */ = {isa = PBXBuildFile; fileRef = C66B040926EFDA54009B5EDC /* reply_cancel.png */; }; - C66B040E26F095D1009B5EDC /* cancel_forward.png in Resources */ = {isa = PBXBuildFile; fileRef = C66B040D26F095CE009B5EDC /* cancel_forward.png */; }; - C6A1BB3526E8815400540D50 /* menu_info.png in Resources */ = {isa = PBXBuildFile; fileRef = C6A1BB3126E8815300540D50 /* menu_info.png */; }; - C6A1BB3626E8815400540D50 /* menu_forward_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C6A1BB3226E8815400540D50 /* menu_forward_default.png */; }; - C6A1BB3726E8815400540D50 /* menu_copy_text_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C6A1BB3326E8815400540D50 /* menu_copy_text_default.png */; }; - C6A1BB3826E8815400540D50 /* menu_reply_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C6A1BB3426E8815400540D50 /* menu_reply_default.png */; }; - C6A1BB3A26E881E100540D50 /* menu_delete.png in Resources */ = {isa = PBXBuildFile; fileRef = C6A1BB3926E881E100540D50 /* menu_delete.png */; }; - C6A1BB3E26E882D000540D50 /* UIChatReplyBubbleView.m in Sources */ = {isa = PBXBuildFile; fileRef = C6A1BB3C26E882D000540D50 /* UIChatReplyBubbleView.m */; }; - C6A1BB4126E889AD00540D50 /* forward_message_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C6A1BB4026E889AD00540D50 /* forward_message_default.png */; }; - C6A1BB4326E88F7C00540D50 /* menu_resend_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C6A1BB4226E88F7C00540D50 /* menu_resend_default.png */; }; - C6A1BB4526E890BD00540D50 /* file_voice_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C6A1BB4426E890BD00540D50 /* file_voice_default.png */; }; - C6B4444226AAD0980076C517 /* file_video_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C6B4443D26AAD0970076C517 /* file_video_default.png */; }; - C6B4444326AAD0980076C517 /* file_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C6B4443E26AAD0970076C517 /* file_default.png */; }; - C6B4444426AAD0980076C517 /* file_picture_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C6B4443F26AAD0970076C517 /* file_picture_default.png */; }; - C6B4444526AAD0980076C517 /* file_audio_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C6B4444026AAD0970076C517 /* file_audio_default.png */; }; - C6B4444626AAD0980076C517 /* file_pdf_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C6B4444126AAD0970076C517 /* file_pdf_default.png */; }; - C6B4444826AADA530076C517 /* SwiftUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6B4444726AADA530076C517 /* SwiftUtil.swift */; }; - C6F55645287CC69F0056E213 /* voip_meeting_schedule.png in Resources */ = {isa = PBXBuildFile; fileRef = C6F55644287CC69F0056E213 /* voip_meeting_schedule.png */; }; - C6F55647287CCFB70056E213 /* menu_voip_meeting_schedule.png in Resources */ = {isa = PBXBuildFile; fileRef = C6F55646287CCFB60056E213 /* menu_voip_meeting_schedule.png */; }; - C90FAA7915AF54E6002091CB /* HistoryDetailsView.m in Sources */ = {isa = PBXBuildFile; fileRef = C90FAA7715AF54E6002091CB /* HistoryDetailsView.m */; }; - CF15F21E20E4F9A3008B1DE6 /* UIImageViewDeletable.m in Sources */ = {isa = PBXBuildFile; fileRef = CF15F21C20E4F9A3008B1DE6 /* UIImageViewDeletable.m */; }; - CF15F21F20E4F9A3008B1DE6 /* UIImageViewDeletable.xib in Resources */ = {isa = PBXBuildFile; fileRef = CF15F21D20E4F9A3008B1DE6 /* UIImageViewDeletable.xib */; }; - CF1DE92D210A0F5D00A0A97E /* UILinphoneAudioPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = CF1DE924210A0F5A00A0A97E /* UILinphoneAudioPlayer.m */; }; - CF1DE92E210A0F5D00A0A97E /* UILinphoneAudioPlayer.xib in Resources */ = {isa = PBXBuildFile; fileRef = CF1DE92B210A0F5B00A0A97E /* UILinphoneAudioPlayer.xib */; }; - CF7602D7210867E800749F76 /* RecordingsListView.m in Sources */ = {isa = PBXBuildFile; fileRef = CF7602D5210867E800749F76 /* RecordingsListView.m */; }; - CF7602E221086EB200749F76 /* RecordingsListTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = CF7602E021086EB200749F76 /* RecordingsListTableView.m */; }; - CF7602E72108759A00749F76 /* UIRecordingCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CF7602E52108759A00749F76 /* UIRecordingCell.m */; }; - CF7602E82108759A00749F76 /* UIRecordingCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = CF7602E62108759A00749F76 /* UIRecordingCell.xib */; }; - CF7602F5210898CC00749F76 /* rec_off_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CF7602EB210898C100749F76 /* rec_off_default@2x.png */; }; - CF7602F6210898CC00749F76 /* rec_on_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CF7602F2210898C400749F76 /* rec_on_default@2x.png */; }; - CF7602F7210898CC00749F76 /* rec_off_default.png in Resources */ = {isa = PBXBuildFile; fileRef = CF7602F3210898C600749F76 /* rec_off_default.png */; }; - CF7602F8210898CC00749F76 /* rec_on_default.png in Resources */ = {isa = PBXBuildFile; fileRef = CF7602F4210898C800749F76 /* rec_on_default.png */; }; - CFBD7A2A20E504AE007C5286 /* delete_img.png in Resources */ = {isa = PBXBuildFile; fileRef = CFBD7A2320E504AD007C5286 /* delete_img.png */; }; - D306459E1611EC2A00BB571E /* UILoadingImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = D306459D1611EC2900BB571E /* UILoadingImageView.m */; }; - D3128FE115AABC7E00A2147A /* ContactDetailsView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3128FDF15AABC7E00A2147A /* ContactDetailsView.m */; }; - D31B4B21159876C0002E6C72 /* UICompositeView.m in Sources */ = {isa = PBXBuildFile; fileRef = D31B4B1F159876C0002E6C72 /* UICompositeView.m */; }; - D31C9C98158A1CDF00756B45 /* UIHistoryCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D31C9C97158A1CDE00756B45 /* UIHistoryCell.m */; }; - D326483815887D5200930C67 /* OrderedDictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = D326483715887D5200930C67 /* OrderedDictionary.m */; }; - D32648441588F6FC00930C67 /* UIToggleButton.m in Sources */ = {isa = PBXBuildFile; fileRef = D32648431588F6FB00930C67 /* UIToggleButton.m */; }; - D32B6E2915A5BC440033019F /* ChatConversationTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = D32B6E2815A5BC430033019F /* ChatConversationTableView.m */; }; - D32B9DFC15A2F131000B6DEC /* FastAddressBook.m in Sources */ = {isa = PBXBuildFile; fileRef = D32B9DFB15A2F131000B6DEC /* FastAddressBook.m */; }; - D34F6F9E1594D3FB0095705B /* InAppSettings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = D34F6F9D1594D3FB0095705B /* InAppSettings.bundle */; }; - D350F20E15A43BB100149E54 /* AssistantView.m in Sources */ = {isa = PBXBuildFile; fileRef = D350F20C15A43BB100149E54 /* AssistantView.m */; }; - D35497FE15875372000081D8 /* ContactsListView.m in Sources */ = {isa = PBXBuildFile; fileRef = D35497FC15875372000081D8 /* ContactsListView.m */; }; - D3549816158761D0000081D8 /* ContactsListTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3549815158761D0000081D8 /* ContactsListTableView.m */; }; - D35498211587716B000081D8 /* StatusBarView.m in Sources */ = {isa = PBXBuildFile; fileRef = D354981F1587716B000081D8 /* StatusBarView.m */; }; - D35860D615B549B500513429 /* Utils.m in Sources */ = {isa = PBXBuildFile; fileRef = D35860D515B549B500513429 /* Utils.m */; }; - D35C5F1B660753F3FF79848A /* Pods_CallUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 49381ABF67DC815C5F299A43 /* Pods_CallUITests.framework */; }; - D35E7597159460580066B1C1 /* ChatsListView.m in Sources */ = {isa = PBXBuildFile; fileRef = D35E7595159460560066B1C1 /* ChatsListView.m */; }; - D35E759F159460B70066B1C1 /* SettingsView.m in Sources */ = {isa = PBXBuildFile; fileRef = D35E759D159460B50066B1C1 /* SettingsView.m */; }; - D378AB2A15DCDB4A0098505D /* ImagePickerView.m in Sources */ = {isa = PBXBuildFile; fileRef = D378AB2915DCDB490098505D /* ImagePickerView.m */; }; - D37C639B15AADEF6009D0BAC /* ContactDetailsTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = D37C639A15AADEF5009D0BAC /* ContactDetailsTableView.m */; }; - D37DC6C11594AE1800B2A5EB /* LinphoneCoreSettingsStore.m in Sources */ = {isa = PBXBuildFile; fileRef = D37DC6C01594AE1800B2A5EB /* LinphoneCoreSettingsStore.m */; }; - D37DC7181594AF3400B2A5EB /* MessageUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D37DC7171594AF3400B2A5EB /* MessageUI.framework */; }; - D37E3ECD1619C27A0087659A /* CAAnimation+Blocks.m in Sources */ = {isa = PBXBuildFile; fileRef = D37E3ECC1619C27A0087659A /* CAAnimation+Blocks.m */; }; - D37EE10D16035793003608A6 /* ImageView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D37EE11016035793003608A6 /* ImageView.xib */; }; - D37EE162160377D7003608A6 /* DTActionSheet.m in Sources */ = {isa = PBXBuildFile; fileRef = D37EE161160377D7003608A6 /* DTActionSheet.m */; }; - D3807FBF15C28940005BE9BC /* DCRoundSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FB815C28940005BE9BC /* DCRoundSwitch.m */; }; - D3807FC115C28940005BE9BC /* DCRoundSwitchKnobLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FBA15C28940005BE9BC /* DCRoundSwitchKnobLayer.m */; }; - D3807FC315C28940005BE9BC /* DCRoundSwitchOutlineLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FBC15C28940005BE9BC /* DCRoundSwitchOutlineLayer.m */; }; - D3807FC515C28940005BE9BC /* DCRoundSwitchToggleLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FBE15C28940005BE9BC /* DCRoundSwitchToggleLayer.m */; }; - D3807FE815C2894A005BE9BC /* IASKAppSettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FCA15C2894A005BE9BC /* IASKAppSettingsViewController.m */; settings = {COMPILER_FLAGS = "-Wno-deprecated-declarations -Wno-objc-designated-initializers"; }; }; - D3807FEC15C2894A005BE9BC /* IASKSpecifierValuesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FCE15C2894A005BE9BC /* IASKSpecifierValuesViewController.m */; }; - D3807FEE15C2894A005BE9BC /* IASKSettingsReader.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FD215C2894A005BE9BC /* IASKSettingsReader.m */; }; - D3807FF015C2894A005BE9BC /* IASKSettingsStore.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FD415C2894A005BE9BC /* IASKSettingsStore.m */; }; - D3807FF215C2894A005BE9BC /* IASKSettingsStoreFile.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FD615C2894A005BE9BC /* IASKSettingsStoreFile.m */; }; - D3807FF415C2894A005BE9BC /* IASKSettingsStoreUserDefaults.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FD815C2894A005BE9BC /* IASKSettingsStoreUserDefaults.m */; }; - D3807FF615C2894A005BE9BC /* IASKSpecifier.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FDA15C2894A005BE9BC /* IASKSpecifier.m */; settings = {COMPILER_FLAGS = "-Wno-deprecated-declarations"; }; }; - D3807FF815C2894A005BE9BC /* IASKPSSliderSpecifierViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FDD15C2894A005BE9BC /* IASKPSSliderSpecifierViewCell.m */; }; - D3807FFA15C2894A005BE9BC /* IASKPSTextFieldSpecifierViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FDF15C2894A005BE9BC /* IASKPSTextFieldSpecifierViewCell.m */; settings = {COMPILER_FLAGS = "-Wno-deprecated-declarations"; }; }; - D3807FFC15C2894A005BE9BC /* IASKPSTitleValueSpecifierViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FE115C2894A005BE9BC /* IASKPSTitleValueSpecifierViewCell.m */; }; - D3807FFE15C2894A005BE9BC /* IASKSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FE315C2894A005BE9BC /* IASKSlider.m */; }; - D380800015C2894A005BE9BC /* IASKSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FE515C2894A005BE9BC /* IASKSwitch.m */; }; - D380800215C2894A005BE9BC /* IASKTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FE715C2894A005BE9BC /* IASKTextField.m */; }; - D380801315C299D0005BE9BC /* ColorSpaceUtilites.m in Sources */ = {isa = PBXBuildFile; fileRef = D380801215C299D0005BE9BC /* ColorSpaceUtilites.m */; }; - D38187AD15FE340100C3EDCA /* ChatConversationView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D38187B015FE340100C3EDCA /* ChatConversationView.xib */; }; - D38187B115FE340500C3EDCA /* ChatsListView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D38187B415FE340500C3EDCA /* ChatsListView.xib */; }; - D38187B915FE342200C3EDCA /* ContactDetailsView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D38187BC15FE342200C3EDCA /* ContactDetailsView.xib */; }; - D38187BD15FE342800C3EDCA /* ContactsListView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D38187C015FE342800C3EDCA /* ContactsListView.xib */; }; - D38187C115FE345B00C3EDCA /* DialerView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D38187C415FE345B00C3EDCA /* DialerView.xib */; }; - D38187CD15FE346700C3EDCA /* HistoryDetailsView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D38187D015FE346700C3EDCA /* HistoryDetailsView.xib */; }; - D38187D115FE346B00C3EDCA /* HistoryListView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D38187D415FE346B00C3EDCA /* HistoryListView.xib */; }; - D38187DD15FE348A00C3EDCA /* AssistantView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D38187E015FE348A00C3EDCA /* AssistantView.xib */; }; - D38187F815FE355D00C3EDCA /* TabBarView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D38187FB15FE355D00C3EDCA /* TabBarView.xib */; }; - D3A55FBC15877E5E003FD403 /* UIContactCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D3A55FBB15877E5E003FD403 /* UIContactCell.m */; }; - D3A8BB7015A6C7D500F96BE5 /* UIChatBubbleTextCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D3A8BB6F15A6C7D500F96BE5 /* UIChatBubbleTextCell.m */; }; - D3C6526715AC1A8F0092A874 /* UIContactDetailsCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D3C6526615AC1A8F0092A874 /* UIContactDetailsCell.m */; }; - D3D5126C160B3A8E00946DF8 /* AssistantViewScreens.xib in Resources */ = {isa = PBXBuildFile; fileRef = D3D5126A160B3A8E00946DF8 /* AssistantViewScreens.xib */; }; - D3EA53FD159850E80037DC6B /* LinphoneManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D3EA53FC159850E80037DC6B /* LinphoneManager.m */; }; - D3EA540D1598528B0037DC6B /* ChatsListTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3EA540C1598528B0037DC6B /* ChatsListTableView.m */; }; - D3EA5411159853750037DC6B /* UIChatCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D3EA5410159853750037DC6B /* UIChatCell.m */; }; - D3ED3E871586291E006C0DE4 /* TabBarView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3ED3E851586291B006C0DE4 /* TabBarView.m */; }; - D3ED3EA71587334E006C0DE4 /* HistoryListTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3ED3EA51587334C006C0DE4 /* HistoryListTableView.m */; }; - D3ED3EB81587392C006C0DE4 /* HistoryListView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3ED3EB615873929006C0DE4 /* HistoryListView.m */; }; - D3F795D615A582810077328B /* ChatConversationView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F795D415A582800077328B /* ChatConversationView.m */; }; - D3F7998115BD32370018C273 /* TPMultiLayoutViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F7998015BD32370018C273 /* TPMultiLayoutViewController.m */; }; - D3F83F8E15822ABE00336684 /* PhoneMainView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F83F8D15822ABD00336684 /* PhoneMainView.m */; }; - E4440DC2FC040E5FE40BA5AF /* Pods_linphone.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6FD9930E5B1F4149D45BB1C /* Pods_linphone.framework */; }; - EA0007A62356008F003CC6BF /* msgNotificationService.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = EA5F25D9232BD3E200475F2E /* msgNotificationService.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - EA3650DB2330D2E30001148A /* NotificationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA5F25DB232BD3E200475F2E /* NotificationService.swift */; }; - EA88A405242A6216007FEC61 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 63AADBC41B6A0FF200AA16FD /* Localizable.strings */; }; - EA88A407242A6235007FEC61 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 63AADBC41B6A0FF200AA16FD /* Localizable.strings */; }; - EA88F3AB241BD05200E66528 /* UserNotifications.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C73477B1D9BA3A00022EE8C /* UserNotifications.framework */; }; - EA88F3AC241BD05200E66528 /* UserNotificationsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E58962520DCE5700030868C /* UserNotificationsUI.framework */; }; - EA88F3AF241BD1F700E66528 /* MainInterface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EA8CB82D239F96CA00C330CC /* MainInterface.storyboard */; }; - EA8CB82C239F96CA00C330CC /* NotificationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA8CB82B239F96CA00C330CC /* NotificationViewController.swift */; }; - EA8CB833239F96CA00C330CC /* msgNotificationContent.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = EA8CB827239F96CA00C330CC /* msgNotificationContent.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - EAE6C88423FABF690076A018 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAE6C88323FABF690076A018 /* Utils.swift */; }; - EAE6C88523FABF690076A018 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAE6C88323FABF690076A018 /* Utils.swift */; }; - F03CA84318C72F1A0008889D /* UITextViewNoDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = F03CA84218C72F1A0008889D /* UITextViewNoDefine.m */; }; - F05BAA621A5D594E00411815 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F05BAA611A5D594E00411815 /* libz.dylib */; }; - F0642EF119DAC891009DB336 /* MainStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F0642EF019DAC891009DB336 /* MainStoryboard.storyboard */; }; - F088488A19FF8C41007FFCF3 /* UIContactCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = F088488D19FF8C41007FFCF3 /* UIContactCell.xib */; }; - F0938159188E629800A55DFA /* iTunesArtwork in Resources */ = {isa = PBXBuildFile; fileRef = F0938158188E629800A55DFA /* iTunesArtwork */; }; - F0B026F31AA710AF00FF49F7 /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F0B026F21AA710AF00FF49F7 /* libiconv.dylib */; }; - F0B89C2218DC89E30050B60E /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F0B89C2118DC89E30050B60E /* MediaPlayer.framework */; }; - FDC67FA1FCA8461F10C4F5DA /* Pods_AutoConnectLinphoneAccount.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D7EC2D3C18D2264B85F21385 /* Pods_AutoConnectLinphoneAccount.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 61AE365420C00B370089D9D3 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; - proxyType = 1; - remoteGlobalIDString = 61AE364A20C00B370089D9D3; - remoteInfo = linphoneExtension; - }; - 6637AF93288593AF00965733 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; - proxyType = 1; - remoteGlobalIDString = 1D6058900D05DD3D006BFB54; - remoteInfo = linphone; - }; - 66495CFF288FF346002780DE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; - proxyType = 1; - remoteGlobalIDString = 1D6058900D05DD3D006BFB54; - remoteInfo = linphone; - }; - EA88F393241BC1F400E66528 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; - proxyType = 1; - remoteGlobalIDString = EA5F25D8232BD3E200475F2E; - remoteInfo = msgNotificationService; - }; - EA88F394241BC1F400E66528 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; - proxyType = 1; - remoteGlobalIDString = EA8CB826239F96CA00C330CC; - remoteInfo = msgNotificationContent; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 5EF0C35020C806A5005081B0 /* Embed App Extensions */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 13; - files = ( - 61AE365620C00B370089D9D3 /* linphoneExtension.appex in Embed App Extensions */, - EA8CB833239F96CA00C330CC /* msgNotificationContent.appex in Embed App Extensions */, - EA0007A62356008F003CC6BF /* msgNotificationService.appex in Embed App Extensions */, - ); - name = "Embed App Extensions"; - runOnlyForDeploymentPostprocessing = 0; - }; - 8CDC89061EAF89A8006B5652 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 152F22351B15E889008C0621 /* libxml2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libxml2.dylib; path = usr/lib/libxml2.dylib; sourceTree = SDKROOT; }; - 1A10E1CD088B6550326F433E /* Pods-linphone.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-linphone.debug.xcconfig"; path = "Target Support Files/Pods-linphone/Pods-linphone.debug.xcconfig"; sourceTree = ""; }; - 1CAD1CF40E820DA7F1752DD2 /* Pods-CallUITests.distribution.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CallUITests.distribution.xcconfig"; path = "Target Support Files/Pods-CallUITests/Pods-CallUITests.distribution.xcconfig"; sourceTree = ""; }; - 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - 1D3623240D0F684500981E51 /* LinphoneAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinphoneAppDelegate.h; sourceTree = ""; }; - 1D3623250D0F684500981E51 /* LinphoneAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LinphoneAppDelegate.m; sourceTree = ""; }; - 1D6058910D05DD3D006BFB54 /* linphone.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = linphone.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 1DA35546364BBF65F0DF5E8F /* Pods_msgNotificationContent.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_msgNotificationContent.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; - 2214EB7812F846B1002A5394 /* UICallButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UICallButton.h; sourceTree = ""; }; - 2214EB7912F846B1002A5394 /* UICallButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UICallButton.m; sourceTree = ""; }; - 22276E8613C73D8A00210156 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; }; - 22276E8813C73DC000210156 /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; }; - 22405EED1600B4E400B92522 /* AssetsLibrary.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AssetsLibrary.framework; path = System/Library/Frameworks/AssetsLibrary.framework; sourceTree = SDKROOT; }; - 22405EFD1601C19000B92522 /* ImageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageView.h; sourceTree = ""; }; - 22405EFE1601C19100B92522 /* ImageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ImageView.m; sourceTree = ""; }; - 224567C1107B968500F10948 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; - 2248E90C12F7E4CF00220D9C /* UIDigitButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIDigitButton.h; sourceTree = ""; }; - 2248E90D12F7E4CF00220D9C /* UIDigitButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIDigitButton.m; sourceTree = ""; }; - 2264B6D111200342002C2C53 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; - 226EF06B15FA256B005865C7 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; }; - 22744019106F31BD006EC466 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; - 2274402E106F335E006EC466 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; - 22744043106F33FC006EC466 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; - 22744056106F9BC9006EC466 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; }; - 228697C311AC29B800E9E0CA /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; }; - 22AA8AFF13D83F6300B30535 /* UICamSwitch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UICamSwitch.h; sourceTree = ""; }; - 22AA8B0013D83F6300B30535 /* UICamSwitch.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UICamSwitch.m; sourceTree = ""; }; - 22B5EFA210CE50BD00777D97 /* AddressBookUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBookUI.framework; path = System/Library/Frameworks/AddressBookUI.framework; sourceTree = SDKROOT; }; - 22B5F03410CE6B2F00777D97 /* AddressBook.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBook.framework; path = System/Library/Frameworks/AddressBook.framework; sourceTree = SDKROOT; }; - 22D1B68012A3E0BE001AE361 /* libresolv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libresolv.dylib; path = usr/lib/libresolv.dylib; sourceTree = SDKROOT; }; - 22E0A81C111C44E100B04932 /* AboutView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AboutView.m; sourceTree = ""; }; - 22E0A81D111C44E100B04932 /* AboutView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AboutView.h; sourceTree = ""; }; - 22F2508B107141E100AC9B3F /* DialerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DialerView.h; sourceTree = ""; }; - 22F2508C107141E100AC9B3F /* DialerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = DialerView.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; - 244523AC1E8266CC0037A187 /* chat_delivered.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_delivered.png; sourceTree = ""; }; - 244523AD1E8266CC0037A187 /* chat_error.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_error.png; sourceTree = ""; }; - 244523AE1E8266CC0037A187 /* chat_read.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_read.png; sourceTree = ""; }; - 244523BC1E8D3A6C0037A187 /* chat_unsecure.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_unsecure.png; sourceTree = ""; }; - 249660941FD6A359001D55AA /* Photos.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Photos.framework; path = System/Library/Frameworks/Photos.framework; sourceTree = SDKROOT; }; - 24A3459D1D95797700881A5C /* UIShopTableCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UIShopTableCell.xib; sourceTree = ""; }; - 24A345A51D95798A00881A5C /* UIShopTableCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIShopTableCell.m; sourceTree = ""; }; - 24A345A71D95799900881A5C /* UIShopTableCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIShopTableCell.h; sourceTree = ""; }; - 24BFAA8C209B062B004F47A7 /* dialer_background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = dialer_background.png; sourceTree = ""; }; - 24BFAA93209B062C004F47A7 /* linphone_user.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = linphone_user.png; sourceTree = ""; }; - 24BFAA94209B062C004F47A7 /* contacts_sip_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "contacts_sip_default@2x.png"; sourceTree = ""; }; - 24BFAA95209B062D004F47A7 /* linphone_user@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "linphone_user@2x.png"; sourceTree = ""; }; - 24BFAA96209B062D004F47A7 /* linphone_user~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "linphone_user~ipad@2x.png"; sourceTree = ""; }; - 24BFAA97209B062E004F47A7 /* contacts_sip_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = contacts_sip_selected.png; sourceTree = ""; }; - 24BFAA98209B062E004F47A7 /* linphone_logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = linphone_logo.png; sourceTree = ""; }; - 24BFAA99209B062E004F47A7 /* contacts_sip_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = contacts_sip_default.png; sourceTree = ""; }; - 24BFAA9A209B062F004F47A7 /* linphone_user~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "linphone_user~ipad.png"; sourceTree = ""; }; - 24BFAA9B209B062F004F47A7 /* callkit_logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = callkit_logo.png; sourceTree = ""; }; - 24BFAA9C209B062F004F47A7 /* contacts_sip_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "contacts_sip_selected@2x.png"; sourceTree = ""; }; - 24BFAA9D209B0630004F47A7 /* linphone_logo@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "linphone_logo@2x.png"; sourceTree = ""; }; - 24E1C7B91F9A235500D3F981 /* Contacts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Contacts.framework; path = System/Library/Frameworks/Contacts.framework; sourceTree = SDKROOT; }; - 288765FC0DF74451002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; - 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 32CA4F630368D1EE00C91783 /* linphone_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = linphone_Prefix.pch; sourceTree = ""; }; - 340751961506459A00B89C47 /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; }; - 344ABDEF14850AE9007420B6 /* libc++.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.1.dylib"; path = "usr/lib/libc++.1.dylib"; sourceTree = SDKROOT; }; - 344ABDF014850AE9007420B6 /* libstdc++.6.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libstdc++.6.dylib"; path = "usr/lib/libstdc++.6.dylib"; sourceTree = SDKROOT; }; - 3E068193AC70B1F268F7A3AC /* Pods-ConferenceUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ConferenceUITests.release.xcconfig"; path = "Target Support Files/Pods-ConferenceUITests/Pods-ConferenceUITests.release.xcconfig"; sourceTree = ""; }; - 3EDEA8FA8B616DA71EDE51E5 /* Pods-msgNotificationService.distribution.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationService.distribution.xcconfig"; path = "Target Support Files/Pods-msgNotificationService/Pods-msgNotificationService.distribution.xcconfig"; sourceTree = ""; }; - 49381ABF67DC815C5F299A43 /* Pods_CallUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_CallUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 49BCAA5D96F3C5BE44D20A5C /* Pods-msgNotificationService.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationService.release.xcconfig"; path = "Target Support Files/Pods-msgNotificationService/Pods-msgNotificationService.release.xcconfig"; sourceTree = ""; }; - 570742571D5A0691004B9C84 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ShopView.xib; sourceTree = ""; }; - 5707425F1D5A09B8004B9C84 /* ShopView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ShopView.m; sourceTree = ""; }; - 570742601D5A09B8004B9C84 /* ShopView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShopView.h; sourceTree = ""; }; - 570742661D5A63DB004B9C84 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = System/Library/Frameworks/StoreKit.framework; sourceTree = SDKROOT; }; - 595A41ABC48A62CE11868F9E /* Pods-msgNotificationContent.distributionadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationContent.distributionadhoc.xcconfig"; path = "Target Support Files/Pods-msgNotificationContent/Pods-msgNotificationContent.distributionadhoc.xcconfig"; sourceTree = ""; }; - 5BF3D86E8AD8910810048241 /* Pods-msgNotificationContent.distribution.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationContent.distribution.xcconfig"; path = "Target Support Files/Pods-msgNotificationContent/Pods-msgNotificationContent.distribution.xcconfig"; sourceTree = ""; }; - 5E58962520DCE5700030868C /* UserNotificationsUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UserNotificationsUI.framework; path = System/Library/Frameworks/UserNotificationsUI.framework; sourceTree = SDKROOT; }; - 5EF0C33820C806A5005081B0 /* NotificationCenter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NotificationCenter.framework; path = System/Library/Frameworks/NotificationCenter.framework; sourceTree = SDKROOT; }; - 5F0358460E4E618A3DC6E2E8 /* Pods-CallUITests.distribution.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CallUITests.distribution.xcconfig"; path = "Target Support Files/Pods-CallUITests/Pods-CallUITests.distribution.xcconfig"; sourceTree = ""; }; - 6112A01B243B31A600DBD5F5 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; - 6112A01D243B5FD500DBD5F5 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; - 6130C85B22BBB493009CC79C /* LaunchScreen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LaunchScreen.h; sourceTree = ""; }; - 6135761A240E81AC005304D4 /* UIInterfaceStyleButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIInterfaceStyleButton.h; sourceTree = ""; }; - 6135761B240E81BA005304D4 /* UIInterfaceStyleButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIInterfaceStyleButton.m; sourceTree = ""; }; - 6135761D240E81C7005304D4 /* UIInterfaceStyleToggleButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIInterfaceStyleToggleButton.h; sourceTree = ""; }; - 6135761E240E81D0005304D4 /* UIInterfaceStyleToggleButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIInterfaceStyleToggleButton.m; sourceTree = ""; }; - 614C087623D1A35E00217F80 /* linphone-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "linphone-Bridging-Header.h"; sourceTree = ""; }; - 614D09CD21E74D5400C43EDF /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; - 61586B7A217A16EE0038AC45 /* menu_about.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_about.png; sourceTree = ""; }; - 61586B82217A16FD0038AC45 /* menu_about@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "menu_about@2x.png"; sourceTree = ""; }; - 61586B84217A17070038AC45 /* menu_assistant.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_assistant.png; sourceTree = ""; }; - 61586B86217A17150038AC45 /* menu_assistant@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "menu_assistant@2x.png"; sourceTree = ""; }; - 61586B88217A17220038AC45 /* menu_link_account.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_link_account.png; sourceTree = ""; }; - 61586B8A217A17320038AC45 /* menu_link_account@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "menu_link_account@2x.png"; sourceTree = ""; }; - 61586B8C217A173F0038AC45 /* menu_options.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_options.png; sourceTree = ""; }; - 61586B8E217A174F0038AC45 /* menu_options@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "menu_options@2x.png"; sourceTree = ""; }; - 61586B90217A175C0038AC45 /* menu_recordings.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_recordings.png; sourceTree = ""; }; - 61586B92217A176F0038AC45 /* menu_recordings@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "menu_recordings@2x.png"; sourceTree = ""; }; - 615A2808217F1FD40060F920 /* chat_add_group.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_add_group.png; sourceTree = ""; }; - 615A2810217F1FDE0060F920 /* chat_add_group@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_add_group@2x.png"; sourceTree = ""; }; - 615A2812217F24D40060F920 /* security_1_indicator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = security_1_indicator.png; sourceTree = ""; }; - 615A2814217F24E00060F920 /* security_1_indicator@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "security_1_indicator@2x.png"; sourceTree = ""; }; - 615A2816217F280C0060F920 /* chat_list_indicator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_list_indicator.png; sourceTree = ""; }; - 615A2818217F28160060F920 /* chat_list_indicator@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_list_indicator@2x.png"; sourceTree = ""; }; - 615A281A217F6F9B0060F920 /* security_2_indicator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = security_2_indicator.png; sourceTree = ""; }; - 615A281C217F6FA80060F920 /* security_2_indicator@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "security_2_indicator@2x.png"; sourceTree = ""; }; - 615A281E217F6FB30060F920 /* security_alert_indicator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = security_alert_indicator.png; sourceTree = ""; }; - 615A2820217F6FBF0060F920 /* security_alert_indicator@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "security_alert_indicator@2x.png"; sourceTree = ""; }; - 615A282321805B250060F920 /* security_toogle_icon_green.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = security_toogle_icon_green.png; sourceTree = ""; }; - 615A282521805B320060F920 /* security_toogle_icon_green@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "security_toogle_icon_green@2x.png"; sourceTree = ""; }; - 615A282721805B400060F920 /* security_toogle_icon_grey.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = security_toogle_icon_grey.png; sourceTree = ""; }; - 615A282921805B4C0060F920 /* security_toogle_icon_grey@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "security_toogle_icon_grey@2x.png"; sourceTree = ""; }; - 615A282F218071E80060F920 /* security_toogle_background_green.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = security_toogle_background_green.png; sourceTree = ""; }; - 615A2831218071F30060F920 /* security_toogle_background_green@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "security_toogle_background_green@2x.png"; sourceTree = ""; }; - 615A2833218071FF0060F920 /* security_toogle_background_grey.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = security_toogle_background_grey.png; sourceTree = ""; }; - 615A28352180720D0060F920 /* security_toogle_background_grey@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "security_toogle_background_grey@2x.png"; sourceTree = ""; }; - 615A28392180788E0060F920 /* security_toogle_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = security_toogle_button.png; sourceTree = ""; }; - 615A283B2180789C0060F920 /* security_toogle_button@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "security_toogle_button@2x.png"; sourceTree = ""; }; - 615A283D2180A2550060F920 /* invite_linphone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = invite_linphone.png; sourceTree = ""; }; - 615A283F2180A2620060F920 /* invite_linphone@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "invite_linphone@2x.png"; sourceTree = ""; }; - 615A28412180C0820060F920 /* recording.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = recording.png; sourceTree = ""; }; - 615A28432180C08F0060F920 /* recording@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "recording@2x.png"; sourceTree = ""; }; - 617B4A61260A2B7800A87337 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/RecordingsListView.xib; sourceTree = ""; }; - 617B4A64260A2B8500A87337 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/RecordingsListView.strings; sourceTree = ""; }; - 617B4A75260A3F5500A87337 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/RecordingsListView.strings; sourceTree = ""; }; - 617C2428263022430042FB4A /* UIChatContentView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIChatContentView.h; sourceTree = ""; }; - 617C2429263022690042FB4A /* UIChatContentView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UIChatContentView.m; sourceTree = ""; }; - 6180D6FD21EE41A800AD9CB6 /* QuickLook.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickLook.framework; path = System/Library/Frameworks/QuickLook.framework; sourceTree = SDKROOT; }; - 6187B1B524B3271500D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/AboutView.strings; sourceTree = ""; }; - 6187B1B624B3271500D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/AssistantLinkView.strings; sourceTree = ""; }; - 6187B1B724B3271600D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/AssistantView.strings; sourceTree = ""; }; - 6187B1B824B3271600D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/AssistantViewScreens.strings; sourceTree = ""; }; - 6187B1BD24B3271800D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/ChatConversationCreateView.strings; sourceTree = ""; }; - 6187B1BE24B3271900D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/ChatConversationImdnView.strings; sourceTree = ""; }; - 6187B1BF24B3271900D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/ChatConversationInfoView.strings; sourceTree = ""; }; - 6187B1C024B3271A00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/ChatConversationView.strings; sourceTree = ""; }; - 6187B1C124B3271A00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/ChatsListView.strings; sourceTree = ""; }; - 6187B1C224B3271A00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/ContactDetailsView.strings; sourceTree = ""; }; - 6187B1C324B3271B00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/ContactsListView.strings; sourceTree = ""; }; - 6187B1C424B3271B00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/CountryListView.strings; sourceTree = ""; }; - 6187B1C524B3271B00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/DialerView.strings; sourceTree = ""; }; - 6187B1C624B3271C00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = "hu.lproj/DialerView~ipad.strings"; sourceTree = ""; }; - 6187B1C724B3271C00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/FirstLoginView.strings; sourceTree = ""; }; - 6187B1C824B3271D00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/HistoryDetailsView.strings; sourceTree = ""; }; - 6187B1C924B3271D00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/HistoryListView.strings; sourceTree = ""; }; - 6187B1CA24B3271E00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/ImageView.strings; sourceTree = ""; }; - 6187B1CD24B3271F00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/UIChatBubblePhotoCell.strings; sourceTree = ""; }; - 6187B1CE24B3271F00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/UIChatBubbleTextCell.strings; sourceTree = ""; }; - 6187B1CF24B3271F00D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/UIChatCell.strings; sourceTree = ""; }; - 6187B1D024B3272000D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/UIChatConversationImdnTableViewCell.strings; sourceTree = ""; }; - 6187B1D124B3272000D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/UIChatConversationInfoTableViewCell.strings; sourceTree = ""; }; - 6187B1D224B3272100D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/UIChatCreateCell.strings; sourceTree = ""; }; - 6187B1D324B3272100D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/UIChatCreateCollectionViewCell.strings; sourceTree = ""; }; - 6187B1D424B3272100D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/UICompositeView.strings; sourceTree = ""; }; - 6187B1D524B3272200D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = "hu.lproj/UICompositeView~ipad.strings"; sourceTree = ""; }; - 6187B1D624B3272200D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/UIConfirmationDialog.strings; sourceTree = ""; }; - 6187B1D724B3272300D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/UIContactCell.strings; sourceTree = ""; }; - 6187B1D824B3272300D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/UIContactDetailsCell.strings; sourceTree = ""; }; - 6187B1D924B3272400D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/UIHistoryCell.strings; sourceTree = ""; }; - 6187B1DA24B3272400D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/PhoneMainView.strings; sourceTree = ""; }; - 6187B1DB24B3272400D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/SettingsView.strings; sourceTree = ""; }; - 6187B1DC24B3272500D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/ShopView.strings; sourceTree = ""; }; - 6187B1DD24B3272500D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/SideMenuView.strings; sourceTree = ""; }; - 6187B1DE24B3272600D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = "hu.lproj/SideMenuView~ipad.strings"; sourceTree = ""; }; - 6187B1DF24B3272600D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/StatusBarView.strings; sourceTree = ""; }; - 6187B1E024B3272700D580FB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/TabBarView.strings; sourceTree = ""; }; - 61AE364B20C00B370089D9D3 /* linphoneExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = linphoneExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; - 61AE364D20C00B370089D9D3 /* ShareViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShareViewController.h; sourceTree = ""; }; - 61AE364E20C00B370089D9D3 /* ShareViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShareViewController.m; sourceTree = ""; }; - 61AE365120C00B370089D9D3 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/MainInterface.storyboard; sourceTree = ""; }; - 61AE365320C00B370089D9D3 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 61AE366320C00C810089D9D3 /* linphoneExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = linphoneExtension.entitlements; sourceTree = ""; }; - 61AEBEB5219198EF00F35E7F /* DevicesListView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DevicesListView.h; sourceTree = ""; }; - 61AEBEBC2191990A00F35E7F /* DevicesListView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DevicesListView.m; sourceTree = ""; }; - 61AEBEBE2191991F00F35E7F /* DevicesListView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = DevicesListView.xib; sourceTree = ""; }; - 61AEBEC52191E47500F35E7F /* chevron_list_close.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chevron_list_close.png; sourceTree = ""; }; - 61AEBEC72191E48400F35E7F /* chevron_list_close@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chevron_list_close@2x.png"; sourceTree = ""; }; - 61AEBEC92191E49200F35E7F /* chevron_list_open.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chevron_list_open.png; sourceTree = ""; }; - 61AEBECB2191E4A300F35E7F /* chevron_list_open@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chevron_list_open@2x.png"; sourceTree = ""; }; - 61CCC3D721933B380060EDEA /* UIDeviceCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIDeviceCell.h; sourceTree = ""; }; - 61CCC3DE21933B580060EDEA /* UIDeviceCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UIDeviceCell.m; sourceTree = ""; }; - 61CCC3E021933B660060EDEA /* UIDeviceCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = UIDeviceCell.xib; sourceTree = ""; }; - 61DD7E1E2372E88F001BDD01 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; }; - 61E8E46323C5E8EC00434E71 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/AboutView.strings; sourceTree = ""; }; - 61E8E46523C5E8F000434E71 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/AboutView.strings; sourceTree = ""; }; - 61E8E46723C5E9B400434E71 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/AssistantLinkView.strings; sourceTree = ""; }; - 61E8E46B23C5EA2E00434E71 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/ShopView.strings; sourceTree = ""; }; - 61F1996E20C6B1D5006B069A /* AVKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVKit.framework; path = System/Library/Frameworks/AVKit.framework; sourceTree = SDKROOT; }; - 6306440B1BECB08500134C72 /* FirstLoginView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FirstLoginView.h; sourceTree = ""; }; - 6306440C1BECB08500134C72 /* FirstLoginView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FirstLoginView.m; sourceTree = ""; }; - 6308F9C31BF0DD6600D1234B /* XMLRPCHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XMLRPCHelper.h; path = Utils/XMLRPCHelper.h; sourceTree = ""; }; - 6308F9C41BF0DD6600D1234B /* XMLRPCHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XMLRPCHelper.m; path = Utils/XMLRPCHelper.m; sourceTree = ""; }; - 630CF5551AF7CE1500539F7A /* UITextField+DoneButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UITextField+DoneButton.h"; sourceTree = ""; }; - 630CF5561AF7CE1500539F7A /* UITextField+DoneButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UITextField+DoneButton.m"; sourceTree = ""; }; - 631098471D4660580041F2B3 /* CountryListView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CountryListView.h; sourceTree = ""; }; - 631098481D4660580041F2B3 /* CountryListView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CountryListView.m; sourceTree = ""; }; - 631098511D4660630041F2B3 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/CountryListView.xib; sourceTree = ""; }; - 63130FB11C1ED06900371918 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = "Base.lproj/SideMenuView~ipad.xib"; sourceTree = ""; }; - 6313482E1B6F7B6600C6BDCB /* UIRoundBorderedButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIRoundBorderedButton.h; sourceTree = ""; }; - 6313482F1B6F7B6600C6BDCB /* UIRoundBorderedButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIRoundBorderedButton.m; sourceTree = ""; }; - 6336715E1BCBAAD200BFCBDE /* ChatConversationCreateView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChatConversationCreateView.h; sourceTree = ""; }; - 6336715F1BCBAAD200BFCBDE /* ChatConversationCreateView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChatConversationCreateView.m; sourceTree = ""; }; - 633756371B67BAF400E21BAD /* SideMenuTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SideMenuTableView.h; sourceTree = ""; }; - 633756381B67BAF400E21BAD /* SideMenuTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SideMenuTableView.m; sourceTree = ""; }; - 633756421B67D2B100E21BAD /* SideMenuView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SideMenuView.h; sourceTree = ""; }; - 633756431B67D2B100E21BAD /* SideMenuView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SideMenuView.m; sourceTree = ""; }; - 633888411BFB2C49001D5E7B /* HPGrowingTextView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HPGrowingTextView.h; sourceTree = ""; }; - 633888421BFB2C49001D5E7B /* HPGrowingTextView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HPGrowingTextView.m; sourceTree = ""; }; - 633888431BFB2C49001D5E7B /* HPTextViewInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HPTextViewInternal.h; sourceTree = ""; }; - 633888441BFB2C49001D5E7B /* HPTextViewInternal.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HPTextViewInternal.m; sourceTree = ""; }; - 633E388219FFB0F400936D1C /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; - 633E417F1D74258F00320475 /* AssistantLinkView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AssistantLinkView.h; sourceTree = ""; }; - 633E41801D74258F00320475 /* AssistantLinkView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AssistantLinkView.m; sourceTree = ""; }; - 633FEBE21D3CD5570014B822 /* add_field_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = add_field_default.png; sourceTree = ""; }; - 633FEBE31D3CD5570014B822 /* add_field_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "add_field_default@2x.png"; sourceTree = ""; }; - 633FEBE41D3CD5570014B822 /* add_field_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = add_field_over.png; sourceTree = ""; }; - 633FEBE51D3CD5570014B822 /* add_field_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "add_field_over@2x.png"; sourceTree = ""; }; - 633FEBE61D3CD5570014B822 /* avatar.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = avatar.png; sourceTree = ""; }; - 633FEBE71D3CD5570014B822 /* avatar@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "avatar@2x.png"; sourceTree = ""; }; - 633FEBE81D3CD5570014B822 /* avatar~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "avatar~ipad.png"; sourceTree = ""; }; - 633FEBE91D3CD5570014B822 /* avatar~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "avatar~ipad@2x.png"; sourceTree = ""; }; - 633FEBEA1D3CD5570014B822 /* back_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = back_default.png; sourceTree = ""; }; - 633FEBEB1D3CD5570014B822 /* back_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "back_default@2x.png"; sourceTree = ""; }; - 633FEBEC1D3CD5570014B822 /* back_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = back_disabled.png; sourceTree = ""; }; - 633FEBED1D3CD5570014B822 /* back_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "back_disabled@2x.png"; sourceTree = ""; }; - 633FEBEE1D3CD5570014B822 /* backspace_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = backspace_default.png; sourceTree = ""; }; - 633FEBEF1D3CD5570014B822 /* backspace_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "backspace_default@2x.png"; sourceTree = ""; }; - 633FEBF01D3CD5570014B822 /* backspace_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = backspace_disabled.png; sourceTree = ""; }; - 633FEBF11D3CD5570014B822 /* backspace_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "backspace_disabled@2x.png"; sourceTree = ""; }; - 633FEBF21D3CD5570014B822 /* backspace_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = backspace_over.png; sourceTree = ""; }; - 633FEBF31D3CD5570014B822 /* backspace_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "backspace_over@2x.png"; sourceTree = ""; }; - 633FEBF41D3CD5570014B822 /* call_add_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_add_default.png; sourceTree = ""; }; - 633FEBF51D3CD5570014B822 /* call_add_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_add_default@2x.png"; sourceTree = ""; }; - 633FEBF61D3CD5570014B822 /* call_add_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_add_disabled.png; sourceTree = ""; }; - 633FEBF71D3CD5570014B822 /* call_add_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_add_disabled@2x.png"; sourceTree = ""; }; - 633FEBF81D3CD5570014B822 /* call_alt_back_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_alt_back_default.png; sourceTree = ""; }; - 633FEBF91D3CD5570014B822 /* call_alt_back_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_alt_back_default@2x.png"; sourceTree = ""; }; - 633FEBFA1D3CD5570014B822 /* call_alt_back_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_alt_back_disabled.png; sourceTree = ""; }; - 633FEBFB1D3CD5570014B822 /* call_alt_back_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_alt_back_disabled@2x.png"; sourceTree = ""; }; - 633FEBFC1D3CD5570014B822 /* call_alt_start_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_alt_start_default.png; sourceTree = ""; }; - 633FEBFD1D3CD5570014B822 /* call_alt_start_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_alt_start_default@2x.png"; sourceTree = ""; }; - 633FEBFE1D3CD5570014B822 /* call_alt_start_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_alt_start_disabled.png; sourceTree = ""; }; - 633FEBFF1D3CD5570014B822 /* call_alt_start_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_alt_start_disabled@2x.png"; sourceTree = ""; }; - 633FEC001D3CD5570014B822 /* call_audio_start_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_audio_start_default.png; sourceTree = ""; }; - 633FEC011D3CD5570014B822 /* call_audio_start_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_audio_start_default@2x.png"; sourceTree = ""; }; - 633FEC021D3CD5570014B822 /* call_audio_start_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_audio_start_disabled.png; sourceTree = ""; }; - 633FEC031D3CD5570014B822 /* call_audio_start_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_audio_start_disabled@2x.png"; sourceTree = ""; }; - 633FEC041D3CD5570014B822 /* call_back_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_back_default.png; sourceTree = ""; }; - 633FEC051D3CD5570014B822 /* call_back_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_back_default@2x.png"; sourceTree = ""; }; - 633FEC061D3CD5570014B822 /* call_back_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_back_disabled.png; sourceTree = ""; }; - 633FEC071D3CD5570014B822 /* call_back_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_back_disabled@2x.png"; sourceTree = ""; }; - 633FEC081D3CD5570014B822 /* call_hangup_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_hangup_default.png; sourceTree = ""; }; - 633FEC091D3CD5570014B822 /* call_hangup_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_hangup_default@2x.png"; sourceTree = ""; }; - 633FEC0A1D3CD5570014B822 /* call_hangup_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_hangup_disabled.png; sourceTree = ""; }; - 633FEC0B1D3CD5570014B822 /* call_hangup_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_hangup_disabled@2x.png"; sourceTree = ""; }; - 633FEC0C1D3CD5570014B822 /* call_incoming.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_incoming.png; sourceTree = ""; }; - 633FEC0D1D3CD5570014B822 /* call_incoming@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_incoming@2x.png"; sourceTree = ""; }; - 633FEC0E1D3CD5570014B822 /* call_missed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_missed.png; sourceTree = ""; }; - 633FEC0F1D3CD5570014B822 /* call_missed@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_missed@2x.png"; sourceTree = ""; }; - 633FEC101D3CD5570014B822 /* call_outgoing.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_outgoing.png; sourceTree = ""; }; - 633FEC111D3CD5570014B822 /* call_outgoing@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_outgoing@2x.png"; sourceTree = ""; }; - 633FEC121D3CD5570014B822 /* call_quality_indicator_0.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_quality_indicator_0.png; sourceTree = ""; }; - 633FEC131D3CD5570014B822 /* call_quality_indicator_0@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_quality_indicator_0@2x.png"; sourceTree = ""; }; - 633FEC141D3CD5570014B822 /* call_quality_indicator_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_quality_indicator_1.png; sourceTree = ""; }; - 633FEC151D3CD5570014B822 /* call_quality_indicator_1@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_quality_indicator_1@2x.png"; sourceTree = ""; }; - 633FEC161D3CD5570014B822 /* call_quality_indicator_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_quality_indicator_2.png; sourceTree = ""; }; - 633FEC171D3CD5570014B822 /* call_quality_indicator_2@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_quality_indicator_2@2x.png"; sourceTree = ""; }; - 633FEC181D3CD5570014B822 /* call_quality_indicator_3.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_quality_indicator_3.png; sourceTree = ""; }; - 633FEC191D3CD5570014B822 /* call_quality_indicator_3@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_quality_indicator_3@2x.png"; sourceTree = ""; }; - 633FEC1A1D3CD5570014B822 /* call_quality_indicator_4.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_quality_indicator_4.png; sourceTree = ""; }; - 633FEC1B1D3CD5570014B822 /* call_quality_indicator_4@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_quality_indicator_4@2x.png"; sourceTree = ""; }; - 633FEC1C1D3CD5570014B822 /* call_start_body_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_start_body_default.png; sourceTree = ""; }; - 633FEC1D1D3CD5570014B822 /* call_start_body_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_start_body_default@2x.png"; sourceTree = ""; }; - 633FEC1E1D3CD5570014B822 /* call_start_body_default~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_start_body_default~ipad.png"; sourceTree = ""; }; - 633FEC1F1D3CD5570014B822 /* call_start_body_default~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_start_body_default~ipad@2x.png"; sourceTree = ""; }; - 633FEC201D3CD5570014B822 /* call_start_body_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_start_body_disabled.png; sourceTree = ""; }; - 633FEC211D3CD5570014B822 /* call_start_body_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_start_body_disabled@2x.png"; sourceTree = ""; }; - 633FEC221D3CD5570014B822 /* call_start_body_disabled~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_start_body_disabled~ipad.png"; sourceTree = ""; }; - 633FEC231D3CD5570014B822 /* call_start_body_disabled~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_start_body_disabled~ipad@2x.png"; sourceTree = ""; }; - 633FEC241D3CD5570014B822 /* call_start_body_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_start_body_over.png; sourceTree = ""; }; - 633FEC251D3CD5570014B822 /* call_start_body_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_start_body_over@2x.png"; sourceTree = ""; }; - 633FEC261D3CD5570014B822 /* call_start_body_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_start_body_over~ipad.png"; sourceTree = ""; }; - 633FEC271D3CD5570014B822 /* call_start_body_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_start_body_over~ipad@2x.png"; sourceTree = ""; }; - 633FEC281D3CD5570014B822 /* call_status_incoming.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_status_incoming.png; sourceTree = ""; }; - 633FEC291D3CD5570014B822 /* call_status_incoming@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_status_incoming@2x.png"; sourceTree = ""; }; - 633FEC2A1D3CD5570014B822 /* call_status_incoming~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_status_incoming~ipad.png"; sourceTree = ""; }; - 633FEC2B1D3CD5570014B822 /* call_status_incoming~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_status_incoming~ipad@2x.png"; sourceTree = ""; }; - 633FEC2C1D3CD5570014B822 /* call_status_missed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_status_missed.png; sourceTree = ""; }; - 633FEC2D1D3CD5570014B822 /* call_status_missed@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_status_missed@2x.png"; sourceTree = ""; }; - 633FEC2E1D3CD5570014B822 /* call_status_missed~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_status_missed~ipad.png"; sourceTree = ""; }; - 633FEC2F1D3CD5570014B822 /* call_status_missed~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_status_missed~ipad@2x.png"; sourceTree = ""; }; - 633FEC301D3CD5570014B822 /* call_status_outgoing.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_status_outgoing.png; sourceTree = ""; }; - 633FEC311D3CD5570014B822 /* call_status_outgoing@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_status_outgoing@2x.png"; sourceTree = ""; }; - 633FEC321D3CD5570014B822 /* call_status_outgoing~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_status_outgoing~ipad.png"; sourceTree = ""; }; - 633FEC331D3CD5570014B822 /* call_status_outgoing~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_status_outgoing~ipad@2x.png"; sourceTree = ""; }; - 633FEC341D3CD5570014B822 /* call_transfer_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_transfer_default.png; sourceTree = ""; }; - 633FEC351D3CD5570014B822 /* call_transfer_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_transfer_default@2x.png"; sourceTree = ""; }; - 633FEC361D3CD5570014B822 /* call_transfer_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_transfer_disabled.png; sourceTree = ""; }; - 633FEC371D3CD5570014B822 /* call_transfer_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_transfer_disabled@2x.png"; sourceTree = ""; }; - 633FEC381D3CD5570014B822 /* call_video_start_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_video_start_default.png; sourceTree = ""; }; - 633FEC391D3CD5570014B822 /* call_video_start_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_video_start_default@2x.png"; sourceTree = ""; }; - 633FEC3A1D3CD5570014B822 /* call_video_start_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = call_video_start_disabled.png; sourceTree = ""; }; - 633FEC3B1D3CD5570014B822 /* call_video_start_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "call_video_start_disabled@2x.png"; sourceTree = ""; }; - 633FEC3C1D3CD5570014B822 /* camera_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = camera_default.png; sourceTree = ""; }; - 633FEC3D1D3CD5570014B822 /* camera_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "camera_default@2x.png"; sourceTree = ""; }; - 633FEC3E1D3CD5570014B822 /* camera_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = camera_disabled.png; sourceTree = ""; }; - 633FEC3F1D3CD5570014B822 /* camera_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "camera_disabled@2x.png"; sourceTree = ""; }; - 633FEC401D3CD5570014B822 /* camera_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = camera_selected.png; sourceTree = ""; }; - 633FEC411D3CD5570014B822 /* camera_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "camera_selected@2x.png"; sourceTree = ""; }; - 633FEC421D3CD5570014B822 /* camera_switch_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = camera_switch_default.png; sourceTree = ""; }; - 633FEC431D3CD5570014B822 /* camera_switch_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "camera_switch_default@2x.png"; sourceTree = ""; }; - 633FEC441D3CD5570014B822 /* camera_switch_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = camera_switch_disabled.png; sourceTree = ""; }; - 633FEC451D3CD5570014B822 /* camera_switch_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "camera_switch_disabled@2x.png"; sourceTree = ""; }; - 633FEC461D3CD5570014B822 /* camera_switch_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = camera_switch_over.png; sourceTree = ""; }; - 633FEC471D3CD5570014B822 /* camera_switch_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "camera_switch_over@2x.png"; sourceTree = ""; }; - 633FEC481D3CD5570014B822 /* cancel_edit_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cancel_edit_default.png; sourceTree = ""; }; - 633FEC491D3CD5570014B822 /* cancel_edit_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "cancel_edit_default@2x.png"; sourceTree = ""; }; - 633FEC4A1D3CD5570014B822 /* cancel_edit_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cancel_edit_disabled.png; sourceTree = ""; }; - 633FEC4B1D3CD5570014B822 /* cancel_edit_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "cancel_edit_disabled@2x.png"; sourceTree = ""; }; - 633FEC4C1D3CD5570014B822 /* chat_add_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_add_default.png; sourceTree = ""; }; - 633FEC4D1D3CD5570014B822 /* chat_add_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_add_default@2x.png"; sourceTree = ""; }; - 633FEC4E1D3CD5570014B822 /* chat_add_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_add_disabled.png; sourceTree = ""; }; - 633FEC4F1D3CD5570014B822 /* chat_add_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_add_disabled@2x.png"; sourceTree = ""; }; - 633FEC501D3CD5570014B822 /* chat_attachment_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_attachment_default.png; sourceTree = ""; }; - 633FEC511D3CD5570014B822 /* chat_attachment_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_attachment_default@2x.png"; sourceTree = ""; }; - 633FEC521D3CD5570014B822 /* chat_attachment_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_attachment_disabled.png; sourceTree = ""; }; - 633FEC531D3CD5570014B822 /* chat_attachment_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_attachment_disabled@2x.png"; sourceTree = ""; }; - 633FEC541D3CD5570014B822 /* chat_attachment_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_attachment_over.png; sourceTree = ""; }; - 633FEC551D3CD5570014B822 /* chat_attachment_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_attachment_over@2x.png"; sourceTree = ""; }; - 633FEC561D3CD5570014B822 /* chat_list_indicator~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_list_indicator~ipad.png"; sourceTree = ""; }; - 633FEC571D3CD5570014B822 /* chat_list_indicator~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_list_indicator~ipad@2x.png"; sourceTree = ""; }; - 633FEC581D3CD5570014B822 /* chat_message_not_delivered.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_message_not_delivered.png; sourceTree = ""; }; - 633FEC591D3CD5570014B822 /* chat_message_not_delivered@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_message_not_delivered@2x.png"; sourceTree = ""; }; - 633FEC5A1D3CD5570014B822 /* chat_send_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_send_default.png; sourceTree = ""; }; - 633FEC5B1D3CD5570014B822 /* chat_send_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_send_default@2x.png"; sourceTree = ""; }; - 633FEC5C1D3CD5570014B822 /* chat_send_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_send_disabled.png; sourceTree = ""; }; - 633FEC5D1D3CD5570014B822 /* chat_send_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_send_disabled@2x.png"; sourceTree = ""; }; - 633FEC5E1D3CD5570014B822 /* chat_send_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_send_over.png; sourceTree = ""; }; - 633FEC5F1D3CD5570014B822 /* chat_send_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_send_over@2x.png"; sourceTree = ""; }; - 633FEC601D3CD5570014B822 /* chat_start_body_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_start_body_default.png; sourceTree = ""; }; - 633FEC611D3CD5570014B822 /* chat_start_body_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_start_body_default@2x.png"; sourceTree = ""; }; - 633FEC621D3CD5570014B822 /* chat_start_body_default~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_start_body_default~ipad.png"; sourceTree = ""; }; - 633FEC631D3CD5570014B822 /* chat_start_body_default~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_start_body_default~ipad@2x.png"; sourceTree = ""; }; - 633FEC641D3CD5570014B822 /* chat_start_body_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_start_body_disabled.png; sourceTree = ""; }; - 633FEC651D3CD5570014B822 /* chat_start_body_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_start_body_disabled@2x.png"; sourceTree = ""; }; - 633FEC661D3CD5570014B822 /* chat_start_body_disabled~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_start_body_disabled~ipad.png"; sourceTree = ""; }; - 633FEC671D3CD5570014B822 /* chat_start_body_disabled~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_start_body_disabled~ipad@2x.png"; sourceTree = ""; }; - 633FEC681D3CD5570014B822 /* chat_start_body_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_start_body_over.png; sourceTree = ""; }; - 633FEC691D3CD5570014B822 /* chat_start_body_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_start_body_over@2x.png"; sourceTree = ""; }; - 633FEC6A1D3CD5570014B822 /* chat_start_body_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_start_body_over~ipad.png"; sourceTree = ""; }; - 633FEC6B1D3CD5570014B822 /* chat_start_body_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_start_body_over~ipad@2x.png"; sourceTree = ""; }; - 633FEC6C1D3CD5570014B822 /* checkbox_checked.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = checkbox_checked.png; sourceTree = ""; }; - 633FEC6D1D3CD5570014B822 /* checkbox_checked@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "checkbox_checked@2x.png"; sourceTree = ""; }; - 633FEC6E1D3CD5570014B822 /* checkbox_unchecked.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = checkbox_unchecked.png; sourceTree = ""; }; - 633FEC6F1D3CD5570014B822 /* checkbox_unchecked@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "checkbox_unchecked@2x.png"; sourceTree = ""; }; - 633FEC701D3CD5570014B822 /* color_A.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = color_A.png; sourceTree = ""; }; - 633FEC711D3CD5570014B822 /* color_C.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = color_C.png; sourceTree = ""; }; - 633FEC721D3CD5570014B822 /* color_D.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = color_D.png; sourceTree = ""; }; - 633FEC731D3CD5570014B822 /* color_E.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = color_E.png; sourceTree = ""; }; - 633FEC741D3CD5570014B822 /* color_F.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = color_F.png; sourceTree = ""; }; - 633FEC751D3CD5570014B822 /* color_G.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = color_G.png; sourceTree = ""; }; - 633FEC761D3CD5570014B822 /* color_H.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = color_H.png; sourceTree = ""; }; - 633FEC771D3CD5570014B822 /* color_I.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = color_I.png; sourceTree = ""; }; - 633FEC781D3CD5570014B822 /* color_L.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = color_L.png; sourceTree = ""; }; - 633FEC791D3CD5570014B822 /* color_M.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = color_M.png; sourceTree = ""; }; - 633FEC7A1D3CD5570014B822 /* conference_exit_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = conference_exit_default.png; sourceTree = ""; }; - 633FEC7B1D3CD5570014B822 /* conference_exit_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "conference_exit_default@2x.png"; sourceTree = ""; }; - 633FEC7C1D3CD5570014B822 /* conference_exit_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = conference_exit_over.png; sourceTree = ""; }; - 633FEC7D1D3CD5570014B822 /* conference_exit_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "conference_exit_over@2x.png"; sourceTree = ""; }; - 633FEC7E1D3CD5570014B822 /* contact_add_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = contact_add_default.png; sourceTree = ""; }; - 633FEC7F1D3CD5570014B822 /* contact_add_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "contact_add_default@2x.png"; sourceTree = ""; }; - 633FEC801D3CD5570014B822 /* contact_add_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = contact_add_disabled.png; sourceTree = ""; }; - 633FEC811D3CD5570014B822 /* contact_add_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "contact_add_disabled@2x.png"; sourceTree = ""; }; - 633FEC821D3CD5570014B822 /* contacts_all_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = contacts_all_default.png; sourceTree = ""; }; - 633FEC831D3CD5570014B822 /* contacts_all_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "contacts_all_default@2x.png"; sourceTree = ""; }; - 633FEC841D3CD5570014B822 /* contacts_all_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = contacts_all_disabled.png; sourceTree = ""; }; - 633FEC851D3CD5570014B822 /* contacts_all_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "contacts_all_disabled@2x.png"; sourceTree = ""; }; - 633FEC861D3CD5570014B822 /* contacts_all_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = contacts_all_selected.png; sourceTree = ""; }; - 633FEC871D3CD5570014B822 /* contacts_all_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "contacts_all_selected@2x.png"; sourceTree = ""; }; - 633FEC8E1D3CD5570014B822 /* delete_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = delete_default.png; sourceTree = ""; }; - 633FEC8F1D3CD5570014B822 /* delete_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "delete_default@2x.png"; sourceTree = ""; }; - 633FEC901D3CD5570014B822 /* delete_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = delete_disabled.png; sourceTree = ""; }; - 633FEC911D3CD5570014B822 /* delete_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "delete_disabled@2x.png"; sourceTree = ""; }; - 633FEC921D3CD5570014B822 /* delete_field_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = delete_field_default.png; sourceTree = ""; }; - 633FEC931D3CD5570014B822 /* delete_field_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "delete_field_default@2x.png"; sourceTree = ""; }; - 633FEC941D3CD5570014B822 /* delete_field_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = delete_field_over.png; sourceTree = ""; }; - 633FEC951D3CD5570014B822 /* delete_field_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "delete_field_over@2x.png"; sourceTree = ""; }; - 633FEC961D3CD5570014B822 /* deselect_all.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = deselect_all.png; sourceTree = ""; }; - 633FEC971D3CD5570014B822 /* deselect_all@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "deselect_all@2x.png"; sourceTree = ""; }; - 633FEC981D3CD5570014B822 /* dialer_alt_back.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = dialer_alt_back.png; sourceTree = ""; }; - 633FEC991D3CD5570014B822 /* dialer_alt_back@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "dialer_alt_back@2x.png"; sourceTree = ""; }; - 633FEC9A1D3CD5570014B822 /* dialer_back_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = dialer_back_default.png; sourceTree = ""; }; - 633FEC9B1D3CD5570014B822 /* dialer_back_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "dialer_back_default@2x.png"; sourceTree = ""; }; - 633FEC9C1D3CD5570014B822 /* dialer_back_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = dialer_back_disabled.png; sourceTree = ""; }; - 633FEC9D1D3CD5570014B822 /* dialer_back_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "dialer_back_disabled@2x.png"; sourceTree = ""; }; - 633FECA01D3CD5570014B822 /* edit_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = edit_default.png; sourceTree = ""; }; - 633FECA11D3CD5570014B822 /* edit_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "edit_default@2x.png"; sourceTree = ""; }; - 633FECA21D3CD5570014B822 /* edit_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = edit_disabled.png; sourceTree = ""; }; - 633FECA31D3CD5570014B822 /* edit_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "edit_disabled@2x.png"; sourceTree = ""; }; - 633FECA41D3CD5570014B822 /* edit_list_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = edit_list_default.png; sourceTree = ""; }; - 633FECA51D3CD5570014B822 /* edit_list_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "edit_list_default@2x.png"; sourceTree = ""; }; - 633FECA61D3CD5570014B822 /* edit_list_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = edit_list_disabled.png; sourceTree = ""; }; - 633FECA71D3CD5570014B822 /* edit_list_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "edit_list_disabled@2x.png"; sourceTree = ""; }; - 633FECA81D3CD5570014B822 /* footer_chat_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = footer_chat_default.png; sourceTree = ""; }; - 633FECA91D3CD5570014B822 /* footer_chat_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "footer_chat_default@2x.png"; sourceTree = ""; }; - 633FECAA1D3CD5570014B822 /* footer_chat_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = footer_chat_disabled.png; sourceTree = ""; }; - 633FECAB1D3CD5570014B822 /* footer_chat_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "footer_chat_disabled@2x.png"; sourceTree = ""; }; - 633FECAC1D3CD5570014B822 /* footer_contacts_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = footer_contacts_default.png; sourceTree = ""; }; - 633FECAD1D3CD5570014B822 /* footer_contacts_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "footer_contacts_default@2x.png"; sourceTree = ""; }; - 633FECAE1D3CD5570014B822 /* footer_contacts_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = footer_contacts_disabled.png; sourceTree = ""; }; - 633FECAF1D3CD5570014B822 /* footer_contacts_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "footer_contacts_disabled@2x.png"; sourceTree = ""; }; - 633FECB01D3CD5570014B822 /* footer_dialer_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = footer_dialer_default.png; sourceTree = ""; }; - 633FECB11D3CD5570014B822 /* footer_dialer_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "footer_dialer_default@2x.png"; sourceTree = ""; }; - 633FECB21D3CD5570014B822 /* footer_dialer_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = footer_dialer_disabled.png; sourceTree = ""; }; - 633FECB31D3CD5570014B822 /* footer_dialer_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "footer_dialer_disabled@2x.png"; sourceTree = ""; }; - 633FECB41D3CD5570014B822 /* footer_history_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = footer_history_default.png; sourceTree = ""; }; - 633FECB51D3CD5570014B822 /* footer_history_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "footer_history_default@2x.png"; sourceTree = ""; }; - 633FECB61D3CD5570014B822 /* footer_history_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = footer_history_disabled.png; sourceTree = ""; }; - 633FECB71D3CD5570014B822 /* footer_history_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "footer_history_disabled@2x.png"; sourceTree = ""; }; - 633FECB81D3CD5570014B822 /* history_all_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = history_all_default.png; sourceTree = ""; }; - 633FECB91D3CD5570014B822 /* history_all_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "history_all_default@2x.png"; sourceTree = ""; }; - 633FECBA1D3CD5570014B822 /* history_all_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = history_all_disabled.png; sourceTree = ""; }; - 633FECBB1D3CD5570014B822 /* history_all_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "history_all_disabled@2x.png"; sourceTree = ""; }; - 633FECBC1D3CD5570014B822 /* history_all_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = history_all_selected.png; sourceTree = ""; }; - 633FECBD1D3CD5570014B822 /* history_all_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "history_all_selected@2x.png"; sourceTree = ""; }; - 633FECBE1D3CD5570014B822 /* history_chat_indicator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = history_chat_indicator.png; sourceTree = ""; }; - 633FECBF1D3CD5570014B822 /* history_chat_indicator@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "history_chat_indicator@2x.png"; sourceTree = ""; }; - 633FECC01D3CD5570014B822 /* history_missed_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = history_missed_default.png; sourceTree = ""; }; - 633FECC11D3CD5570014B822 /* history_missed_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "history_missed_default@2x.png"; sourceTree = ""; }; - 633FECC21D3CD5570014B822 /* history_missed_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = history_missed_disabled.png; sourceTree = ""; }; - 633FECC31D3CD5570014B822 /* history_missed_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "history_missed_disabled@2x.png"; sourceTree = ""; }; - 633FECC41D3CD5570014B822 /* history_missed_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = history_missed_selected.png; sourceTree = ""; }; - 633FECC51D3CD5570014B822 /* history_missed_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "history_missed_selected@2x.png"; sourceTree = ""; }; - 633FECC61D3CD5570014B822 /* led_connected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = led_connected.png; sourceTree = ""; }; - 633FECC71D3CD5570014B822 /* led_connected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "led_connected@2x.png"; sourceTree = ""; }; - 633FECC81D3CD5570014B822 /* led_disconnected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = led_disconnected.png; sourceTree = ""; }; - 633FECC91D3CD5570014B822 /* led_disconnected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "led_disconnected@2x.png"; sourceTree = ""; }; - 633FECCA1D3CD5570014B822 /* led_error.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = led_error.png; sourceTree = ""; }; - 633FECCB1D3CD5570014B822 /* led_error@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "led_error@2x.png"; sourceTree = ""; }; - 633FECCC1D3CD5570014B822 /* led_inprogress.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = led_inprogress.png; sourceTree = ""; }; - 633FECCD1D3CD5570014B822 /* led_inprogress@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "led_inprogress@2x.png"; sourceTree = ""; }; - 633FECD41D3CD5580014B822 /* list_details_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = list_details_default.png; sourceTree = ""; }; - 633FECD51D3CD5580014B822 /* list_details_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "list_details_default@2x.png"; sourceTree = ""; }; - 633FECD61D3CD5580014B822 /* list_details_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = list_details_over.png; sourceTree = ""; }; - 633FECD71D3CD5580014B822 /* list_details_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "list_details_over@2x.png"; sourceTree = ""; }; - 633FECD81D3CD5580014B822 /* menu.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu.png; sourceTree = ""; }; - 633FECD91D3CD5580014B822 /* menu@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "menu@2x.png"; sourceTree = ""; }; - 633FECDA1D3CD5580014B822 /* micro_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = micro_default.png; sourceTree = ""; }; - 633FECDB1D3CD5580014B822 /* micro_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "micro_default@2x.png"; sourceTree = ""; }; - 633FECDC1D3CD5580014B822 /* micro_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = micro_disabled.png; sourceTree = ""; }; - 633FECDD1D3CD5580014B822 /* micro_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "micro_disabled@2x.png"; sourceTree = ""; }; - 633FECDE1D3CD5580014B822 /* micro_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = micro_selected.png; sourceTree = ""; }; - 633FECDF1D3CD5580014B822 /* micro_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "micro_selected@2x.png"; sourceTree = ""; }; - 633FECE01D3CD5580014B822 /* nowebcamCIF.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = nowebcamCIF.jpg; sourceTree = ""; }; - 633FECE11D3CD5580014B822 /* numpad_0_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_0_default.png; sourceTree = ""; }; - 633FECE21D3CD5580014B822 /* numpad_0_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_0_default@2x.png"; sourceTree = ""; }; - 633FECE31D3CD5580014B822 /* numpad_0_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_0_over.png; sourceTree = ""; }; - 633FECE41D3CD5580014B822 /* numpad_0_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_0_over@2x.png"; sourceTree = ""; }; - 633FECE51D3CD5580014B822 /* numpad_0_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_0_over~ipad.png"; sourceTree = ""; }; - 633FECE61D3CD5580014B822 /* numpad_0_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_0_over~ipad@2x.png"; sourceTree = ""; }; - 633FECE71D3CD5580014B822 /* numpad_0~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_0~ipad.png"; sourceTree = ""; }; - 633FECE81D3CD5580014B822 /* numpad_0~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_0~ipad@2x.png"; sourceTree = ""; }; - 633FECE91D3CD5580014B822 /* numpad_1_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_1_default.png; sourceTree = ""; }; - 633FECEA1D3CD5580014B822 /* numpad_1_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_1_default@2x.png"; sourceTree = ""; }; - 633FECEB1D3CD5580014B822 /* numpad_1_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_1_over.png; sourceTree = ""; }; - 633FECEC1D3CD5580014B822 /* numpad_1_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_1_over@2x.png"; sourceTree = ""; }; - 633FECED1D3CD5580014B822 /* numpad_1_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_1_over~ipad.png"; sourceTree = ""; }; - 633FECEE1D3CD5580014B822 /* numpad_1_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_1_over~ipad@2x.png"; sourceTree = ""; }; - 633FECEF1D3CD5580014B822 /* numpad_1~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_1~ipad.png"; sourceTree = ""; }; - 633FECF01D3CD5580014B822 /* numpad_1~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_1~ipad@2x.png"; sourceTree = ""; }; - 633FECF11D3CD5580014B822 /* numpad_2_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_2_default.png; sourceTree = ""; }; - 633FECF21D3CD5580014B822 /* numpad_2_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_2_default@2x.png"; sourceTree = ""; }; - 633FECF31D3CD5580014B822 /* numpad_2_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_2_over.png; sourceTree = ""; }; - 633FECF41D3CD5580014B822 /* numpad_2_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_2_over@2x.png"; sourceTree = ""; }; - 633FECF51D3CD5580014B822 /* numpad_2_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_2_over~ipad.png"; sourceTree = ""; }; - 633FECF61D3CD5580014B822 /* numpad_2_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_2_over~ipad@2x.png"; sourceTree = ""; }; - 633FECF71D3CD5580014B822 /* numpad_2~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_2~ipad.png"; sourceTree = ""; }; - 633FECF81D3CD5580014B822 /* numpad_2~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_2~ipad@2x.png"; sourceTree = ""; }; - 633FECF91D3CD5580014B822 /* numpad_3_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_3_default.png; sourceTree = ""; }; - 633FECFA1D3CD5580014B822 /* numpad_3_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_3_default@2x.png"; sourceTree = ""; }; - 633FECFB1D3CD5580014B822 /* numpad_3_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_3_over.png; sourceTree = ""; }; - 633FECFC1D3CD5580014B822 /* numpad_3_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_3_over@2x.png"; sourceTree = ""; }; - 633FECFD1D3CD5580014B822 /* numpad_3_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_3_over~ipad.png"; sourceTree = ""; }; - 633FECFE1D3CD5580014B822 /* numpad_3_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_3_over~ipad@2x.png"; sourceTree = ""; }; - 633FECFF1D3CD5580014B822 /* numpad_3~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_3~ipad.png"; sourceTree = ""; }; - 633FED001D3CD5580014B822 /* numpad_3~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_3~ipad@2x.png"; sourceTree = ""; }; - 633FED011D3CD5580014B822 /* numpad_4_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_4_default.png; sourceTree = ""; }; - 633FED021D3CD5580014B822 /* numpad_4_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_4_default@2x.png"; sourceTree = ""; }; - 633FED031D3CD5580014B822 /* numpad_4_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_4_over.png; sourceTree = ""; }; - 633FED041D3CD5580014B822 /* numpad_4_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_4_over@2x.png"; sourceTree = ""; }; - 633FED051D3CD5580014B822 /* numpad_4_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_4_over~ipad.png"; sourceTree = ""; }; - 633FED061D3CD5580014B822 /* numpad_4_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_4_over~ipad@2x.png"; sourceTree = ""; }; - 633FED071D3CD5580014B822 /* numpad_4~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_4~ipad.png"; sourceTree = ""; }; - 633FED081D3CD5580014B822 /* numpad_4~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_4~ipad@2x.png"; sourceTree = ""; }; - 633FED091D3CD5580014B822 /* numpad_5_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_5_default.png; sourceTree = ""; }; - 633FED0A1D3CD5580014B822 /* numpad_5_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_5_default@2x.png"; sourceTree = ""; }; - 633FED0B1D3CD5580014B822 /* numpad_5_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_5_over.png; sourceTree = ""; }; - 633FED0C1D3CD5580014B822 /* numpad_5_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_5_over@2x.png"; sourceTree = ""; }; - 633FED0D1D3CD5580014B822 /* numpad_5_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_5_over~ipad.png"; sourceTree = ""; }; - 633FED0E1D3CD5580014B822 /* numpad_5_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_5_over~ipad@2x.png"; sourceTree = ""; }; - 633FED0F1D3CD5580014B822 /* numpad_5~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_5~ipad.png"; sourceTree = ""; }; - 633FED101D3CD5580014B822 /* numpad_5~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_5~ipad@2x.png"; sourceTree = ""; }; - 633FED111D3CD5580014B822 /* numpad_6_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_6_default.png; sourceTree = ""; }; - 633FED121D3CD5580014B822 /* numpad_6_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_6_default@2x.png"; sourceTree = ""; }; - 633FED131D3CD5580014B822 /* numpad_6_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_6_over.png; sourceTree = ""; }; - 633FED141D3CD5580014B822 /* numpad_6_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_6_over@2x.png"; sourceTree = ""; }; - 633FED151D3CD5580014B822 /* numpad_6_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_6_over~ipad.png"; sourceTree = ""; }; - 633FED161D3CD5580014B822 /* numpad_6_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_6_over~ipad@2x.png"; sourceTree = ""; }; - 633FED171D3CD5580014B822 /* numpad_6~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_6~ipad.png"; sourceTree = ""; }; - 633FED181D3CD5580014B822 /* numpad_6~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_6~ipad@2x.png"; sourceTree = ""; }; - 633FED191D3CD5580014B822 /* numpad_7_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_7_default.png; sourceTree = ""; }; - 633FED1A1D3CD5580014B822 /* numpad_7_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_7_default@2x.png"; sourceTree = ""; }; - 633FED1B1D3CD5580014B822 /* numpad_7_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_7_over.png; sourceTree = ""; }; - 633FED1C1D3CD5580014B822 /* numpad_7_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_7_over@2x.png"; sourceTree = ""; }; - 633FED1D1D3CD5580014B822 /* numpad_7_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_7_over~ipad.png"; sourceTree = ""; }; - 633FED1E1D3CD5580014B822 /* numpad_7_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_7_over~ipad@2x.png"; sourceTree = ""; }; - 633FED1F1D3CD5580014B822 /* numpad_7~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_7~ipad.png"; sourceTree = ""; }; - 633FED201D3CD5580014B822 /* numpad_7~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_7~ipad@2x.png"; sourceTree = ""; }; - 633FED211D3CD5580014B822 /* numpad_8_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_8_default.png; sourceTree = ""; }; - 633FED221D3CD5580014B822 /* numpad_8_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_8_default@2x.png"; sourceTree = ""; }; - 633FED231D3CD5580014B822 /* numpad_8_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_8_over.png; sourceTree = ""; }; - 633FED241D3CD5580014B822 /* numpad_8_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_8_over@2x.png"; sourceTree = ""; }; - 633FED251D3CD5580014B822 /* numpad_8_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_8_over~ipad.png"; sourceTree = ""; }; - 633FED261D3CD5580014B822 /* numpad_8_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_8_over~ipad@2x.png"; sourceTree = ""; }; - 633FED271D3CD5580014B822 /* numpad_8~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_8~ipad.png"; sourceTree = ""; }; - 633FED281D3CD5580014B822 /* numpad_8~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_8~ipad@2x.png"; sourceTree = ""; }; - 633FED291D3CD5580014B822 /* numpad_9_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_9_default.png; sourceTree = ""; }; - 633FED2A1D3CD5580014B822 /* numpad_9_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_9_default@2x.png"; sourceTree = ""; }; - 633FED2B1D3CD5580014B822 /* numpad_9_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_9_over.png; sourceTree = ""; }; - 633FED2C1D3CD5580014B822 /* numpad_9_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_9_over@2x.png"; sourceTree = ""; }; - 633FED2D1D3CD5580014B822 /* numpad_9_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_9_over~ipad.png"; sourceTree = ""; }; - 633FED2E1D3CD5580014B822 /* numpad_9_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_9_over~ipad@2x.png"; sourceTree = ""; }; - 633FED2F1D3CD5580014B822 /* numpad_9~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_9~ipad.png"; sourceTree = ""; }; - 633FED301D3CD5580014B822 /* numpad_9~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_9~ipad@2x.png"; sourceTree = ""; }; - 633FED311D3CD5580014B822 /* numpad_hash_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_hash_default.png; sourceTree = ""; }; - 633FED321D3CD5580014B822 /* numpad_hash_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_hash_default@2x.png"; sourceTree = ""; }; - 633FED331D3CD5580014B822 /* numpad_hash_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_hash_over.png; sourceTree = ""; }; - 633FED341D3CD5580014B822 /* numpad_hash_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_hash_over@2x.png"; sourceTree = ""; }; - 633FED351D3CD5580014B822 /* numpad_hash_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_hash_over~ipad.png"; sourceTree = ""; }; - 633FED361D3CD5580014B822 /* numpad_hash_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_hash_over~ipad@2x.png"; sourceTree = ""; }; - 633FED371D3CD5580014B822 /* numpad_hash~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_hash~ipad.png"; sourceTree = ""; }; - 633FED381D3CD5580014B822 /* numpad_hash~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_hash~ipad@2x.png"; sourceTree = ""; }; - 633FED391D3CD5580014B822 /* numpad_over_background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_over_background.png; sourceTree = ""; }; - 633FED3A1D3CD5580014B822 /* numpad_star_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_star_default.png; sourceTree = ""; }; - 633FED3B1D3CD5580014B822 /* numpad_star_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_star_default@2x.png"; sourceTree = ""; }; - 633FED3C1D3CD5580014B822 /* numpad_star_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = numpad_star_over.png; sourceTree = ""; }; - 633FED3D1D3CD5580014B822 /* numpad_star_over@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_star_over@2x.png"; sourceTree = ""; }; - 633FED3E1D3CD5580014B822 /* numpad_star_over~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_star_over~ipad.png"; sourceTree = ""; }; - 633FED3F1D3CD5580014B822 /* numpad_star_over~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_star_over~ipad@2x.png"; sourceTree = ""; }; - 633FED401D3CD5580014B822 /* numpad_star~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_star~ipad.png"; sourceTree = ""; }; - 633FED411D3CD5580014B822 /* numpad_star~ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "numpad_star~ipad@2x.png"; sourceTree = ""; }; - 633FED421D3CD5580014B822 /* options_add_call_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = options_add_call_default.png; sourceTree = ""; }; - 633FED431D3CD5580014B822 /* options_add_call_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "options_add_call_default@2x.png"; sourceTree = ""; }; - 633FED441D3CD5580014B822 /* options_add_call_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = options_add_call_disabled.png; sourceTree = ""; }; - 633FED451D3CD5580014B822 /* options_add_call_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "options_add_call_disabled@2x.png"; sourceTree = ""; }; - 633FED461D3CD5580014B822 /* options_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = options_default.png; sourceTree = ""; }; - 633FED471D3CD5580014B822 /* options_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "options_default@2x.png"; sourceTree = ""; }; - 633FED481D3CD5580014B822 /* options_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = options_disabled.png; sourceTree = ""; }; - 633FED491D3CD5580014B822 /* options_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "options_disabled@2x.png"; sourceTree = ""; }; - 633FED4A1D3CD5580014B822 /* options_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = options_selected.png; sourceTree = ""; }; - 633FED4B1D3CD5580014B822 /* options_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "options_selected@2x.png"; sourceTree = ""; }; - 633FED4C1D3CD5580014B822 /* options_start_conference_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = options_start_conference_default.png; sourceTree = ""; }; - 633FED4D1D3CD5580014B822 /* options_start_conference_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "options_start_conference_default@2x.png"; sourceTree = ""; }; - 633FED4E1D3CD5580014B822 /* options_start_conference_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = options_start_conference_disabled.png; sourceTree = ""; }; - 633FED4F1D3CD5580014B822 /* options_start_conference_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "options_start_conference_disabled@2x.png"; sourceTree = ""; }; - 633FED501D3CD5580014B822 /* options_transfer_call_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = options_transfer_call_default.png; sourceTree = ""; }; - 633FED511D3CD5580014B822 /* options_transfer_call_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "options_transfer_call_default@2x.png"; sourceTree = ""; }; - 633FED521D3CD5580014B822 /* options_transfer_call_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = options_transfer_call_disabled.png; sourceTree = ""; }; - 633FED531D3CD5580014B822 /* options_transfer_call_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "options_transfer_call_disabled@2x.png"; sourceTree = ""; }; - 633FED541D3CD5580014B822 /* pause_big_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pause_big_default.png; sourceTree = ""; }; - 633FED551D3CD5580014B822 /* pause_big_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "pause_big_default@2x.png"; sourceTree = ""; }; - 633FED561D3CD5580014B822 /* pause_big_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pause_big_disabled.png; sourceTree = ""; }; - 633FED571D3CD5580014B822 /* pause_big_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "pause_big_disabled@2x.png"; sourceTree = ""; }; - 633FED581D3CD5580014B822 /* pause_big_over_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pause_big_over_selected.png; sourceTree = ""; }; - 633FED591D3CD5580014B822 /* pause_big_over_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "pause_big_over_selected@2x.png"; sourceTree = ""; }; - 633FED5A1D3CD5580014B822 /* pause_small_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pause_small_default.png; sourceTree = ""; }; - 633FED5B1D3CD5590014B822 /* pause_small_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "pause_small_default@2x.png"; sourceTree = ""; }; - 633FED5C1D3CD5590014B822 /* pause_small_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pause_small_disabled.png; sourceTree = ""; }; - 633FED5D1D3CD5590014B822 /* pause_small_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "pause_small_disabled@2x.png"; sourceTree = ""; }; - 633FED5E1D3CD5590014B822 /* pause_small_over_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pause_small_over_selected.png; sourceTree = ""; }; - 633FED5F1D3CD5590014B822 /* pause_small_over_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "pause_small_over_selected@2x.png"; sourceTree = ""; }; - 633FED601D3CD5590014B822 /* presence_away.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = presence_away.png; sourceTree = ""; }; - 633FED611D3CD5590014B822 /* presence_away@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "presence_away@2x.png"; sourceTree = ""; }; - 633FED621D3CD5590014B822 /* presence_offline.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = presence_offline.png; sourceTree = ""; }; - 633FED631D3CD5590014B822 /* presence_offline@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "presence_offline@2x.png"; sourceTree = ""; }; - 633FED641D3CD5590014B822 /* presence_online.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = presence_online.png; sourceTree = ""; }; - 633FED651D3CD5590014B822 /* presence_online@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "presence_online@2x.png"; sourceTree = ""; }; - 633FED661D3CD5590014B822 /* presence_unregistered.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = presence_unregistered.png; sourceTree = ""; }; - 633FED671D3CD5590014B822 /* presence_unregistered@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "presence_unregistered@2x.png"; sourceTree = ""; }; - 633FED681D3CD5590014B822 /* route_bluetooth_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = route_bluetooth_default.png; sourceTree = ""; }; - 633FED691D3CD5590014B822 /* route_bluetooth_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "route_bluetooth_default@2x.png"; sourceTree = ""; }; - 633FED6A1D3CD5590014B822 /* route_bluetooth_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = route_bluetooth_disabled.png; sourceTree = ""; }; - 633FED6B1D3CD5590014B822 /* route_bluetooth_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "route_bluetooth_disabled@2x.png"; sourceTree = ""; }; - 633FED6C1D3CD5590014B822 /* route_bluetooth_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = route_bluetooth_selected.png; sourceTree = ""; }; - 633FED6D1D3CD5590014B822 /* route_bluetooth_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "route_bluetooth_selected@2x.png"; sourceTree = ""; }; - 633FED6E1D3CD5590014B822 /* route_earpiece_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = route_earpiece_default.png; sourceTree = ""; }; - 633FED6F1D3CD5590014B822 /* route_earpiece_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "route_earpiece_default@2x.png"; sourceTree = ""; }; - 633FED701D3CD5590014B822 /* route_earpiece_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = route_earpiece_disabled.png; sourceTree = ""; }; - 633FED711D3CD5590014B822 /* route_earpiece_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "route_earpiece_disabled@2x.png"; sourceTree = ""; }; - 633FED721D3CD5590014B822 /* route_earpiece_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = route_earpiece_selected.png; sourceTree = ""; }; - 633FED731D3CD5590014B822 /* route_earpiece_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "route_earpiece_selected@2x.png"; sourceTree = ""; }; - 633FED741D3CD5590014B822 /* route_speaker_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = route_speaker_default.png; sourceTree = ""; }; - 633FED751D3CD5590014B822 /* route_speaker_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "route_speaker_default@2x.png"; sourceTree = ""; }; - 633FED761D3CD5590014B822 /* route_speaker_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = route_speaker_disabled.png; sourceTree = ""; }; - 633FED771D3CD5590014B822 /* route_speaker_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "route_speaker_disabled@2x.png"; sourceTree = ""; }; - 633FED781D3CD5590014B822 /* route_speaker_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = route_speaker_selected.png; sourceTree = ""; }; - 633FED791D3CD5590014B822 /* route_speaker_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "route_speaker_selected@2x.png"; sourceTree = ""; }; - 633FED7A1D3CD5590014B822 /* routes_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = routes_default.png; sourceTree = ""; }; - 633FED7B1D3CD5590014B822 /* routes_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "routes_default@2x.png"; sourceTree = ""; }; - 633FED7C1D3CD5590014B822 /* routes_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = routes_disabled.png; sourceTree = ""; }; - 633FED7D1D3CD5590014B822 /* routes_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "routes_disabled@2x.png"; sourceTree = ""; }; - 633FED7E1D3CD5590014B822 /* routes_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = routes_selected.png; sourceTree = ""; }; - 633FED7F1D3CD5590014B822 /* routes_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "routes_selected@2x.png"; sourceTree = ""; }; - 633FED801D3CD5590014B822 /* security_ko.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = security_ko.png; sourceTree = ""; }; - 633FED811D3CD5590014B822 /* security_ko@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "security_ko@2x.png"; sourceTree = ""; }; - 633FED821D3CD5590014B822 /* security_ok.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = security_ok.png; sourceTree = ""; }; - 633FED831D3CD5590014B822 /* security_ok@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "security_ok@2x.png"; sourceTree = ""; }; - 633FED841D3CD5590014B822 /* security_pending.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = security_pending.png; sourceTree = ""; }; - 633FED851D3CD5590014B822 /* security_pending@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "security_pending@2x.png"; sourceTree = ""; }; - 633FED861D3CD5590014B822 /* select_all_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = select_all_default.png; sourceTree = ""; }; - 633FED871D3CD5590014B822 /* select_all_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "select_all_default@2x.png"; sourceTree = ""; }; - 633FED881D3CD5590014B822 /* select_all_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = select_all_disabled.png; sourceTree = ""; }; - 633FED891D3CD5590014B822 /* select_all_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "select_all_disabled@2x.png"; sourceTree = ""; }; - 633FED8A1D3CD5590014B822 /* speaker_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = speaker_default.png; sourceTree = ""; }; - 633FED8B1D3CD5590014B822 /* speaker_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "speaker_default@2x.png"; sourceTree = ""; }; - 633FED8C1D3CD5590014B822 /* speaker_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = speaker_disabled.png; sourceTree = ""; }; - 633FED8D1D3CD5590014B822 /* speaker_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "speaker_disabled@2x.png"; sourceTree = ""; }; - 633FED8E1D3CD5590014B822 /* speaker_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = speaker_selected.png; sourceTree = ""; }; - 633FED8F1D3CD5590014B822 /* speaker_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "speaker_selected@2x.png"; sourceTree = ""; }; - 633FED941D3CD5590014B822 /* valid_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = valid_default.png; sourceTree = ""; }; - 633FED951D3CD5590014B822 /* valid_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "valid_default@2x.png"; sourceTree = ""; }; - 633FED961D3CD5590014B822 /* valid_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = valid_disabled.png; sourceTree = ""; }; - 633FED971D3CD5590014B822 /* valid_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "valid_disabled@2x.png"; sourceTree = ""; }; - 633FED981D3CD5590014B822 /* voicemail.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voicemail.png; sourceTree = ""; }; - 633FED991D3CD5590014B822 /* voicemail@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "voicemail@2x.png"; sourceTree = ""; }; - 633FED9A1D3CD5590014B822 /* waiting_time.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = waiting_time.png; sourceTree = ""; }; - 633FED9B1D3CD5590014B822 /* waiting_time@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "waiting_time@2x.png"; sourceTree = ""; }; - 633FEF561D3CD5E00014B822 /* UIAvatarPresence.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIAvatarPresence.h; sourceTree = ""; }; - 633FEF571D3CD5E00014B822 /* UIAvatarPresence.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIAvatarPresence.m; sourceTree = ""; }; - 6341807A1BBC103100F71761 /* ChatConversationCreateTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChatConversationCreateTableView.h; sourceTree = ""; }; - 6341807B1BBC103100F71761 /* ChatConversationCreateTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChatConversationCreateTableView.m; sourceTree = ""; }; - 63423C081C4501D000D9A050 /* Contact.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Contact.h; sourceTree = ""; }; - 63423C091C4501D000D9A050 /* Contact.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Contact.m; sourceTree = ""; }; - 634610041B61330300548952 /* UILabel+Boldify.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UILabel+Boldify.h"; sourceTree = ""; }; - 634610051B61330300548952 /* UILabel+Boldify.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UILabel+Boldify.m"; sourceTree = ""; }; - 635173F71BA082A40095EB0A /* UIChatBubblePhotoCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIChatBubblePhotoCell.h; sourceTree = ""; }; - 635173F81BA082A40095EB0A /* UIChatBubblePhotoCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIChatBubblePhotoCell.m; sourceTree = ""; }; - 635775231B6673EC00C8B704 /* HistoryDetailsTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryDetailsTableView.h; sourceTree = ""; }; - 635775241B6673EC00C8B704 /* HistoryDetailsTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryDetailsTableView.m; sourceTree = ""; }; - 636316D21A1DEBCB0009B839 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/AboutView.xib; sourceTree = ""; }; - 636316D51A1DEC650009B839 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/SettingsView.xib; sourceTree = ""; }; - 636316DB1A1DEDD80009B839 /* ru */ = {isa = PBXFileReference; fileEncoding = 2483028224; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/HistoryDetailsView.strings; sourceTree = ""; }; - 636BC9951B5F921B00C754CE /* UIIconButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIIconButton.h; sourceTree = ""; }; - 636BC9961B5F921B00C754CE /* UIIconButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIIconButton.m; sourceTree = ""; }; - 63701DDD1BA32039006A9AE3 /* UIConfirmationDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIConfirmationDialog.h; sourceTree = ""; }; - 63701DDE1BA32039006A9AE3 /* UIConfirmationDialog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIConfirmationDialog.m; sourceTree = ""; }; - 6371579F1B283FE200C91677 /* FileTransferDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FileTransferDelegate.h; path = Utils/FileTransferDelegate.h; sourceTree = ""; }; - 637157A01B283FE200C91677 /* FileTransferDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FileTransferDelegate.m; path = Utils/FileTransferDelegate.m; sourceTree = ""; }; - 6377AC7E1BDE4068007F7625 /* UIBackToCallButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIBackToCallButton.h; sourceTree = ""; }; - 6377AC7F1BDE4069007F7625 /* UIBackToCallButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIBackToCallButton.m; sourceTree = ""; }; - 6381DA7B1C1AD5EA00DF3BBD /* UIBouncingView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIBouncingView.h; sourceTree = ""; }; - 6381DA7C1C1AD5EA00DF3BBD /* UIBouncingView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIBouncingView.m; sourceTree = ""; }; - 638F1A611C2021B2004B8E02 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = "Base.lproj/DialerView~ipad.xib"; sourceTree = ""; }; - 638F1A901C21993D004B8E02 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = "Base.lproj/UICompositeView~ipad.xib"; sourceTree = ""; }; - 639CEAFE1A1DF4D9004DE38F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/StatusBarView.xib; sourceTree = ""; }; - 639CEB011A1DF4E4004DE38F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIHistoryCell.xib; sourceTree = ""; }; - 639CEB041A1DF4EB004DE38F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UICompositeView.xib; sourceTree = ""; }; - 639CEB0A1A1DF4FA004DE38F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIChatCell.xib; sourceTree = ""; }; - 639E9C7E1C0DB13D00019A75 /* UICheckBoxTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UICheckBoxTableView.h; sourceTree = ""; }; - 639E9C7F1C0DB13D00019A75 /* UICheckBoxTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UICheckBoxTableView.m; sourceTree = ""; }; - 639E9C941C0DB7BE00019A75 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/FirstLoginView.xib; sourceTree = ""; }; - 639E9CA11C0DB7E500019A75 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIChatBubblePhotoCell.xib; sourceTree = ""; }; - 639E9CA41C0DB7EA00019A75 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIChatBubbleTextCell.xib; sourceTree = ""; }; - 639E9CA71C0DB7F200019A75 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIChatCreateCell.xib; sourceTree = ""; }; - 639E9CAA1C0DB7FB00019A75 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIConfirmationDialog.xib; sourceTree = ""; }; - 639E9CAD1C0DB80300019A75 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIContactDetailsCell.xib; sourceTree = ""; }; - 639E9CB11C0DB83000019A75 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/SideMenuView.xib; sourceTree = ""; }; - 639E9CB41C0DB88200019A75 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/PhoneMainView.xib; sourceTree = ""; }; - 63AADBC51B6A0FF200AA16FD /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/Localizable.strings; sourceTree = ""; }; - 63AADBC61B6A0FF200AA16FD /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; - 63AADBC71B6A0FF200AA16FD /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; - 63AADBCA1B6A0FF200AA16FD /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; - 63AADBCB1B6A0FF200AA16FD /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; - 63AADBD71B6A0FF200AA16FD /* linphonerc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = linphonerc; sourceTree = ""; }; - 63AADBD81B6A0FF200AA16FD /* linphonerc-factory */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "linphonerc-factory"; sourceTree = ""; }; - 63AADBDA1B6A0FF200AA16FD /* linphonerc~ipad */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "linphonerc~ipad"; sourceTree = ""; }; - 63AADBDD1B6A0FF200AA16FD /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; - 63AADBE11B6A0FF200AA16FD /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; - 63AADBE31B6A0FF200AA16FD /* assistant_external_sip.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = assistant_external_sip.rc; sourceTree = ""; }; - 63AADBE41B6A0FF200AA16FD /* assistant_linphone_create.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = assistant_linphone_create.rc; sourceTree = ""; }; - 63AADBE51B6A0FF200AA16FD /* assistant_linphone_existing.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = assistant_linphone_existing.rc; sourceTree = ""; }; - 63AADBE61B6A0FF200AA16FD /* assistant_remote.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = assistant_remote.rc; sourceTree = ""; }; - 63B81A031B57DA33009604A6 /* LICENSE.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE.txt; sourceTree = ""; }; - 63B81A041B57DA33009604A6 /* TPKeyboardAvoidingCollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPKeyboardAvoidingCollectionView.h; sourceTree = ""; }; - 63B81A051B57DA33009604A6 /* TPKeyboardAvoidingCollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TPKeyboardAvoidingCollectionView.m; sourceTree = ""; }; - 63B81A061B57DA33009604A6 /* TPKeyboardAvoidingScrollView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPKeyboardAvoidingScrollView.h; sourceTree = ""; }; - 63B81A071B57DA33009604A6 /* TPKeyboardAvoidingScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TPKeyboardAvoidingScrollView.m; sourceTree = ""; }; - 63B81A081B57DA33009604A6 /* TPKeyboardAvoidingTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPKeyboardAvoidingTableView.h; sourceTree = ""; }; - 63B81A091B57DA33009604A6 /* TPKeyboardAvoidingTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TPKeyboardAvoidingTableView.m; sourceTree = ""; }; - 63B81A0A1B57DA33009604A6 /* UIScrollView+TPKeyboardAvoidingAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIScrollView+TPKeyboardAvoidingAdditions.h"; sourceTree = ""; }; - 63B81A0B1B57DA33009604A6 /* UIScrollView+TPKeyboardAvoidingAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIScrollView+TPKeyboardAvoidingAdditions.m"; sourceTree = ""; }; - 63B8D68D1BCBE65600C12B09 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ChatConversationCreateView.xib; sourceTree = ""; }; - 63B8D69F1BCBF43100C12B09 /* UIChatCreateCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIChatCreateCell.h; sourceTree = ""; }; - 63B8D6A01BCBF43100C12B09 /* UIChatCreateCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIChatCreateCell.m; sourceTree = ""; }; - 63BE7A761D75BDF6000990EF /* ShopTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShopTableView.h; sourceTree = ""; }; - 63BE7A771D75BDF6000990EF /* ShopTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ShopTableView.m; sourceTree = ""; }; - 63C441C11BBC23ED0053DC5E /* UIAssistantTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIAssistantTextField.h; sourceTree = ""; }; - 63C441C21BBC23ED0053DC5E /* UIAssistantTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIAssistantTextField.m; sourceTree = ""; }; - 63CD4B4D1A5AAC8C00B84282 /* DTAlertView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DTAlertView.h; sourceTree = ""; }; - 63CD4B4E1A5AAC8C00B84282 /* DTAlertView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DTAlertView.m; sourceTree = ""; }; - 63CDC4531C3BDE370085F529 /* msg.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = msg.caf; sourceTree = ""; }; - 63CDC4541C3BDE370085F529 /* ringback.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = ringback.wav; sourceTree = ""; }; - 63CDC45C1C3BDE370085F529 /* shortring.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = shortring.caf; sourceTree = ""; }; - 63CE583F1C85EBF400304800 /* VideoToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VideoToolbox.framework; path = System/Library/Frameworks/VideoToolbox.framework; sourceTree = SDKROOT; }; - 63D11C521C3D501200E8FCEE /* Log.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Log.m; path = Utils/Log.m; sourceTree = ""; }; - 63D11C541C3D503A00E8FCEE /* Log.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Log.h; sourceTree = ""; }; - 63DFE0451C40161700DA5E87 /* notes_of_the_optimistic.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = notes_of_the_optimistic.caf; sourceTree = ""; }; - 63E27A311C4FECD000D332AE /* LaunchScreen.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LaunchScreen.xib; sourceTree = ""; }; - 63E27A511C50EB2700D332AE /* hold.mkv */ = {isa = PBXFileReference; lastKnownFileType = file; path = hold.mkv; sourceTree = ""; }; - 63E59A3D1ADE6ECB00646FB3 /* InAppProductsManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InAppProductsManager.h; sourceTree = ""; }; - 63E59A3E1ADE70D900646FB3 /* InAppProductsManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = InAppProductsManager.m; sourceTree = ""; }; - 63EC8D3A1D7438660066547B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/AssistantLinkView.xib; sourceTree = ""; }; - 63EEE4091BBA9B110087D3AF /* libxml2.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libxml2.tbd; path = usr/lib/libxml2.tbd; sourceTree = SDKROOT; }; - 63EEE40B1BBA9B1B0087D3AF /* libsqlite3.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libsqlite3.tbd; path = usr/lib/libsqlite3.tbd; sourceTree = SDKROOT; }; - 63EEE40D1BBA9B250087D3AF /* libiconv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libiconv.tbd; path = usr/lib/libiconv.tbd; sourceTree = SDKROOT; }; - 63F1DF421BCE618E00EDED90 /* UIAddressTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIAddressTextField.h; sourceTree = ""; }; - 63F1DF431BCE618E00EDED90 /* UIAddressTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIAddressTextField.m; sourceTree = ""; }; - 63FB30331A680E73008CA393 /* UIRoundedImageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIRoundedImageView.h; sourceTree = ""; }; - 63FB30341A680E73008CA393 /* UIRoundedImageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIRoundedImageView.m; sourceTree = ""; }; - 662553B327EDFB35007F67D8 /* MagicSearch.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MagicSearch.swift; sourceTree = ""; }; -<<<<<<< HEAD - 662F13B52887E8A10084C28C /* UITestsUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UITestsUtils.swift; sourceTree = ""; }; -======= - 662F13B52887E8A10084C28C /* Utils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Utils.swift; sourceTree = ""; }; ->>>>>>> 8e16f1fad (new test plans) - 6637AF8D288593AF00965733 /* CallUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CallUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 6637AF8F288593AF00965733 /* IncomingCallUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IncomingCallUITests.swift; sourceTree = ""; }; - 663B06592886B54F00E41889 /* OutgoingCallUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OutgoingCallUITests.swift; sourceTree = ""; }; - 663B065B2886DA8500E41889 /* ActiveCallViewUITestsMethods.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActiveCallViewUITestsMethods.swift; sourceTree = ""; }; - 663B065F2886E38100E41889 /* ActiveCallUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActiveCallUITests.swift; sourceTree = ""; }; - 663B06652886F0DB00E41889 /* ExtraMenuUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtraMenuUITests.swift; sourceTree = ""; }; - 663B06672886F16300E41889 /* ExtraMenuActiveCallActionsUITestsMethods.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtraMenuActiveCallActionsUITestsMethods.swift; sourceTree = ""; }; - 6643AD51287EF56200701703 /* UITestsCoreManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UITestsCoreManager.swift; sourceTree = ""; }; - 6643AD54287F25A500701703 /* IncomingOutgoingCallViewUITestsMethods.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IncomingOutgoingCallViewUITestsMethods.swift; sourceTree = ""; }; -<<<<<<< HEAD - 66495D0B28901429002780DE /* Default.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = Default.xctestplan; sourceTree = ""; }; - 66495D0C289014E2002780DE /* PauseMode_extended.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = PauseMode_extended.xctestplan; sourceTree = ""; }; - 664F8220289A66ED00D8C470 /* Debug.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = Debug.xctestplan; sourceTree = ""; }; - 66689D3F28A2443A0054E633 /* UITestsScreenshots.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UITestsScreenshots.swift; sourceTree = ""; }; -======= - 66495CFB288FF346002780DE /* AutoConnectLinphoneAccount.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AutoConnectLinphoneAccount.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 66495CFD288FF346002780DE /* AutoConnectLinphoneAccount.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoConnectLinphoneAccount.swift; sourceTree = ""; }; - 66495D0A289013F6002780DE /* Init.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = Init.xctestplan; sourceTree = ""; }; - 66495D0B28901429002780DE /* Default.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = Default.xctestplan; sourceTree = ""; }; - 66495D0C289014E2002780DE /* PauseMode_extended.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = PauseMode_extended.xctestplan; sourceTree = ""; }; ->>>>>>> 8e16f1fad (new test plans) - 666D795C283E67E300B07215 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; - 669B140727A1821F0012220A /* scroll_to_bottom_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = scroll_to_bottom_default.png; sourceTree = ""; }; - 669B140B27A29D140012220A /* FloatingScrollDownButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FloatingScrollDownButton.swift; sourceTree = ""; }; - 66E399F52857869200E73456 /* menu_notifications_off.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_notifications_off.png; sourceTree = ""; }; - 66E399F62857869200E73456 /* menu_notifications_on.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_notifications_on.png; sourceTree = ""; }; - 6872242062F852BE19E78D5A /* Pods-linphone.distributionadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-linphone.distributionadhoc.xcconfig"; path = "Target Support Files/Pods-linphone/Pods-linphone.distributionadhoc.xcconfig"; sourceTree = ""; }; - 70E542F213E147E3002BA2C0 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; - 70E542F413E147EB002BA2C0 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; -<<<<<<< HEAD - 71361846551F180407CA4B43 /* Pods-linphone.distribution.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-linphone.distribution.xcconfig"; path = "Target Support Files/Pods-linphone/Pods-linphone.distribution.xcconfig"; sourceTree = ""; }; - 799B9EAE0655DBE81E9B29FF /* Pods-ConferenceUITests.distributionadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ConferenceUITests.distributionadhoc.xcconfig"; path = "Target Support Files/Pods-ConferenceUITests/Pods-ConferenceUITests.distributionadhoc.xcconfig"; sourceTree = ""; }; - 842B7EC5D5497903DF48A6A1 /* Pods-msgNotificationContent.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationContent.release.xcconfig"; path = "Target Support Files/Pods-msgNotificationContent/Pods-msgNotificationContent.release.xcconfig"; sourceTree = ""; }; - 8751F1E7083FF5EDF43CEEF1 /* Pods-CallUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CallUITests.release.xcconfig"; path = "Target Support Files/Pods-CallUITests/Pods-CallUITests.release.xcconfig"; sourceTree = ""; }; -======= - 712CE82EEF35C1881B8E98E7 /* Pods-AutoConnectLinphoneAccount.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AutoConnectLinphoneAccount.debug.xcconfig"; path = "Target Support Files/Pods-AutoConnectLinphoneAccount/Pods-AutoConnectLinphoneAccount.debug.xcconfig"; sourceTree = ""; }; - 87F00D1935382CCA03DF2F02 /* Pods-linphone.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-linphone.debug.xcconfig"; path = "Target Support Files/Pods-linphone/Pods-linphone.debug.xcconfig"; sourceTree = ""; }; ->>>>>>> 8e16f1fad (new test plans) - 8C1A1F7C1FA331D40064BE00 /* libsoci_sqlite3.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsoci_sqlite3.a; path = "liblinphone-sdk/apple-darwin/lib/libsoci_sqlite3.a"; sourceTree = ""; }; - 8C23BCB71D82AAC3005F19BB /* linphone.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = linphone.entitlements; sourceTree = ""; }; - 8C2595DE1DEDCC8E007A6424 /* CallKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CallKit.framework; path = System/Library/Frameworks/CallKit.framework; sourceTree = SDKROOT; }; - 8C2A81931F87B7FF0012A66B /* chat_group_avatar@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_group_avatar@2x.png"; sourceTree = ""; }; - 8C2A81941F87B8000012A66B /* chat_group_avatar.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_group_avatar.png; sourceTree = ""; }; - 8C300D981E40E0CC00728EF3 /* lime_ko.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = lime_ko.png; sourceTree = ""; }; - 8C300D991E40E0CC00728EF3 /* lime_ko@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "lime_ko@2x.png"; sourceTree = ""; }; - 8C3EAA191EB8D9C300B732B6 /* linphonetester.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = linphonetester.framework; path = "liblinphone-sdk/apple-darwin/Frameworks/linphonetester.framework"; sourceTree = ""; }; - 8C5BCEC61EB3859200A9AAEF /* bctoolbox-tester.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = "bctoolbox-tester.framework"; path = "liblinphone-sdk/apple-darwin/Frameworks/bctoolbox-tester.framework"; sourceTree = ""; }; - 8C5D1B991D9BC48100DC6539 /* UIShopTableCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIShopTableCell.h; sourceTree = ""; }; - 8C5D1B9B1D9BC48100DC6539 /* UIShopTableCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UIShopTableCell.xib; sourceTree = ""; }; - 8C73477B1D9BA3A00022EE8C /* UserNotifications.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UserNotifications.framework; path = System/Library/Frameworks/UserNotifications.framework; sourceTree = SDKROOT; }; - 8C92ABE71FA773190006FB5D /* UIChatNotifiedEventCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = UIChatNotifiedEventCell.xib; sourceTree = ""; }; - 8C92ABF11FA773C20006FB5D /* UIChatNotifiedEventCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIChatNotifiedEventCell.h; sourceTree = ""; }; - 8C92ABF21FA773E50006FB5D /* UIChatNotifiedEventCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UIChatNotifiedEventCell.m; sourceTree = ""; }; - 8C9C5E0B1F83B2EF006987FA /* ChatConversationCreateCollectionViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ChatConversationCreateCollectionViewController.h; sourceTree = ""; }; - 8C9C5E0C1F83B2EF006987FA /* ChatConversationCreateCollectionViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ChatConversationCreateCollectionViewController.m; sourceTree = ""; }; - 8C9C5E0E1F83BD97006987FA /* UIChatCreateCollectionViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIChatCreateCollectionViewCell.h; sourceTree = ""; }; - 8C9C5E0F1F83BD97006987FA /* UIChatCreateCollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UIChatCreateCollectionViewCell.m; sourceTree = ""; }; - 8CA2004B1D8158440095F859 /* PushKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PushKit.framework; path = System/Library/Frameworks/PushKit.framework; sourceTree = SDKROOT; }; - 8CA70ACF1F9E0ABA00A3D2EB /* ChatConversationInfoView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ChatConversationInfoView.h; sourceTree = ""; }; - 8CA70AD01F9E0AE100A3D2EB /* ChatConversationInfoView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ChatConversationInfoView.m; sourceTree = ""; }; - 8CA70AD21F9E285B00A3D2EB /* chat_group_add@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_group_add@2x.png"; sourceTree = ""; }; - 8CA70AD31F9E285B00A3D2EB /* chat_group_add.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_group_add.png; sourceTree = ""; }; - 8CA70AE11F9E39E400A3D2EB /* UIChatConversationInfoTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIChatConversationInfoTableViewCell.h; sourceTree = ""; }; - 8CA70AE21F9E39E400A3D2EB /* UIChatConversationInfoTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UIChatConversationInfoTableViewCell.m; sourceTree = ""; }; - 8CB2B8F61F86229B0015CEE2 /* chat_secure.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_secure.png; sourceTree = ""; }; - 8CB2B8F71F86229C0015CEE2 /* next_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = next_disabled.png; sourceTree = ""; }; - 8CB2B8F81F86229D0015CEE2 /* next_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "next_disabled@2x.png"; sourceTree = ""; }; - 8CBD7BA120B6B7FD00E5DCC0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ChatConversationInfoView.xib; sourceTree = ""; }; - 8CBD7BA420B6B80D00E5DCC0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ChatConversationImdnView.xib; sourceTree = ""; }; - 8CBD7BA720B6B82400E5DCC0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIChatConversationInfoTableViewCell.xib; sourceTree = ""; }; - 8CBD7BAA20B6B82A00E5DCC0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIChatConversationImdnTableViewCell.xib; sourceTree = ""; }; - 8CBD7BAD20B6B82F00E5DCC0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIChatCreateCollectionViewCell.xib; sourceTree = ""; }; - 8CBD7BB120B6B86900E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/AssistantView.strings; sourceTree = ""; }; - 8CBD7BB220B6B86A00E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/AssistantViewScreens.strings; sourceTree = ""; }; - 8CBD7BB720B6B86E00E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/ChatConversationInfoView.strings; sourceTree = ""; }; - 8CBD7BB820B6B86F00E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/ChatConversationImdnView.strings; sourceTree = ""; }; - 8CBD7BB920B6B87000E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/ChatConversationCreateView.strings; sourceTree = ""; }; - 8CBD7BBA20B6B87000E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/ChatConversationView.strings; sourceTree = ""; }; - 8CBD7BBB20B6B87100E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/ChatsListView.strings; sourceTree = ""; }; - 8CBD7BBC20B6B87200E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/ContactDetailsView.strings; sourceTree = ""; }; - 8CBD7BBD20B6B87300E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/ContactsListView.strings; sourceTree = ""; }; - 8CBD7BBE20B6B87400E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/CountryListView.strings; sourceTree = ""; }; - 8CBD7BBF20B6B87400E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/DialerView.strings; sourceTree = ""; }; - 8CBD7BC020B6B87500E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = "fr.lproj/DialerView~ipad.strings"; sourceTree = ""; }; - 8CBD7BC120B6B87600E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/FirstLoginView.strings; sourceTree = ""; }; - 8CBD7BC220B6B87600E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/HistoryDetailsView.strings; sourceTree = ""; }; - 8CBD7BC320B6B87700E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/HistoryListView.strings; sourceTree = ""; }; - 8CBD7BC420B6B87800E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/ImageView.strings; sourceTree = ""; }; - 8CBD7BC720B6B87A00E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UIChatBubblePhotoCell.strings; sourceTree = ""; }; - 8CBD7BC820B6B87B00E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UIChatBubbleTextCell.strings; sourceTree = ""; }; - 8CBD7BC920B6B87B00E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UIChatCell.strings; sourceTree = ""; }; - 8CBD7BCA20B6B87D00E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UIChatConversationInfoTableViewCell.strings; sourceTree = ""; }; - 8CBD7BCB20B6B87E00E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UIChatConversationImdnTableViewCell.strings; sourceTree = ""; }; - 8CBD7BCC20B6B87E00E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UIChatCreateCollectionViewCell.strings; sourceTree = ""; }; - 8CBD7BCD20B6B88000E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UIChatCreateCell.strings; sourceTree = ""; }; - 8CBD7BCE20B6B88100E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UICompositeView.strings; sourceTree = ""; }; - 8CBD7BCF20B6B88200E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = "fr.lproj/UICompositeView~ipad.strings"; sourceTree = ""; }; - 8CBD7BD020B6B88400E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UIConfirmationDialog.strings; sourceTree = ""; }; - 8CBD7BD120B6B88500E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UIContactCell.strings; sourceTree = ""; }; - 8CBD7BD220B6B88700E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UIContactDetailsCell.strings; sourceTree = ""; }; - 8CBD7BD320B6B88900E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UIHistoryCell.strings; sourceTree = ""; }; - 8CBD7BD420B6B88A00E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/PhoneMainView.strings; sourceTree = ""; }; - 8CBD7BD520B6B88C00E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/SettingsView.strings; sourceTree = ""; }; - 8CBD7BD720B6B88E00E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/SideMenuView.strings; sourceTree = ""; }; - 8CBD7BD820B6B88F00E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = "fr.lproj/SideMenuView~ipad.strings"; sourceTree = ""; }; - 8CBD7BD920B6B89000E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/StatusBarView.strings; sourceTree = ""; }; - 8CBD7BDA20B6B89000E5DCC0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/TabBarView.strings; sourceTree = ""; }; - 8CD0B3BE1FA22CBA008FEB16 /* libsoci_core.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsoci_core.a; path = "liblinphone-sdk/apple-darwin/lib/libsoci_core.a"; sourceTree = ""; }; - 8CD99A1B20908C27008A7CDA /* callkit_logo@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "callkit_logo@2x.png"; sourceTree = ""; }; - 8CD99A352090A823008A7CDA /* splashscreen@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "splashscreen@2x.png"; sourceTree = ""; }; - 8CD99A362090A824008A7CDA /* splashscreen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = splashscreen.png; sourceTree = ""; }; - 8CD99A3B2090B9FA008A7CDA /* ChatConversationImdnView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ChatConversationImdnView.m; sourceTree = ""; }; - 8CD99A3D2090BA24008A7CDA /* ChatConversationImdnView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ChatConversationImdnView.h; sourceTree = ""; }; - 8CD99A402090CE25008A7CDA /* UIChatConversationImdnTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIChatConversationImdnTableViewCell.h; sourceTree = ""; }; - 8CD99A412090CE6F008A7CDA /* UIChatConversationImdnTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UIChatConversationImdnTableViewCell.m; sourceTree = ""; }; - 8CDC618C1F84D89B0087CF7F /* check_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = check_selected.png; sourceTree = ""; }; - 8CDC61961F84D9270087CF7F /* check_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "check_selected@2x.png"; sourceTree = ""; }; - 8CE24F491F8234A20077AC0A /* next_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = next_default.png; sourceTree = ""; }; - 8CE24F4A1F8234A30077AC0A /* next_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "next_default@2x.png"; sourceTree = ""; }; - 8CE24F551F8268840077AC0A /* conference_delete.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = conference_delete.png; sourceTree = ""; }; - 8CE24F561F8268840077AC0A /* conference_delete@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "conference_delete@2x.png"; sourceTree = ""; }; - 8CF25D8B1F9F336000BEA0C1 /* check_unselected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "check_unselected@2x.png"; sourceTree = ""; }; - 8CF25D941F9F336100BEA0C1 /* check_unselected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = check_unselected.png; sourceTree = ""; }; - 8CF25D9B1F9F76BC00BEA0C1 /* chat_group_informations.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_group_informations.png; sourceTree = ""; }; - 8CF25D9C1F9F76BD00BEA0C1 /* chat_group_informations@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_group_informations@2x.png"; sourceTree = ""; }; -<<<<<<< HEAD - 943C756D8C523B63A9BA4022 /* Pods_msgNotificationService.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_msgNotificationService.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 95AD7F004071737738D4BCF2 /* Pods-CallUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CallUITests.debug.xcconfig"; path = "Target Support Files/Pods-CallUITests/Pods-CallUITests.debug.xcconfig"; sourceTree = ""; }; - 9B3B6B861461E656FAF443CC /* Pods-CallUITests.distributionadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CallUITests.distributionadhoc.xcconfig"; path = "Target Support Files/Pods-CallUITests/Pods-CallUITests.distributionadhoc.xcconfig"; sourceTree = ""; }; - 9B7FA931ED086404EBA1A1DF /* Pods-ConferenceUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ConferenceUITests.debug.xcconfig"; path = "Target Support Files/Pods-ConferenceUITests/Pods-ConferenceUITests.debug.xcconfig"; sourceTree = ""; }; - A52DBCC32989FB3510AF3B1E /* Pods-msgNotificationService.distributionadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationService.distributionadhoc.xcconfig"; path = "Target Support Files/Pods-msgNotificationService/Pods-msgNotificationService.distributionadhoc.xcconfig"; sourceTree = ""; }; - A6FD9930E5B1F4149D45BB1C /* Pods_linphone.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_linphone.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - AD31E0BAAE2E50305E05B683 /* Pods-msgNotificationService.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationService.debug.xcconfig"; path = "Target Support Files/Pods-msgNotificationService/Pods-msgNotificationService.debug.xcconfig"; sourceTree = ""; }; - B0D404E542E5871F7437A060 /* Pods-msgNotificationContent.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationContent.debug.xcconfig"; path = "Target Support Files/Pods-msgNotificationContent/Pods-msgNotificationContent.debug.xcconfig"; sourceTree = ""; }; -======= - 92EB6C052CF3AAD4193EAD31 /* Pods-msgNotificationService.distribution.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationService.distribution.xcconfig"; path = "Target Support Files/Pods-msgNotificationService/Pods-msgNotificationService.distribution.xcconfig"; sourceTree = ""; }; - B4847F48A899455D4B85F8BF /* Pods-AutoConnectLinphoneAccount.distribution.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AutoConnectLinphoneAccount.distribution.xcconfig"; path = "Target Support Files/Pods-AutoConnectLinphoneAccount/Pods-AutoConnectLinphoneAccount.distribution.xcconfig"; sourceTree = ""; }; ->>>>>>> 8e16f1fad (new test plans) - C61B1BF12667D075001A4E4A /* menu_security_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_security_default.png; sourceTree = ""; }; - C61B1BF32667D202001A4E4A /* more_menu_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = more_menu_default.png; sourceTree = ""; }; - C61B1BF62667EC6B001A4E4A /* ephemeral_messages_color_A.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ephemeral_messages_color_A.png; sourceTree = ""; }; - C622E3E926A8128F004F5434 /* vr_stop.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = vr_stop.png; sourceTree = ""; }; - C622E3EA26A8128F004F5434 /* vr_wave.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = vr_wave.png; sourceTree = ""; }; - C622E3EB26A8128F004F5434 /* vr_on.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = vr_on.png; sourceTree = ""; }; - C622E3EC26A8128F004F5434 /* vr_off.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = vr_off.png; sourceTree = ""; }; - C622E3ED26A8128F004F5434 /* vr_pause.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = vr_pause.png; sourceTree = ""; }; - C622E3EE26A81290004F5434 /* vr_play.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = vr_play.png; sourceTree = ""; }; - C63F7197285A24B10066163B /* ConfigManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConfigManager.swift; sourceTree = ""; }; - C63F7198285A24B10066163B /* CallManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CallManager.swift; sourceTree = ""; }; - C63F719B285A24B10066163B /* ConferenceWaitingRoomViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConferenceWaitingRoomViewModel.swift; sourceTree = ""; }; - C63F719C285A24B10066163B /* ConferenceSchedulingViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConferenceSchedulingViewModel.swift; sourceTree = ""; }; - C63F719D285A24B10066163B /* ScheduledConferencesViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScheduledConferencesViewModel.swift; sourceTree = ""; }; - C63F719F285A24B10066163B /* ScheduledConferenceData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScheduledConferenceData.swift; sourceTree = ""; }; - C63F71A0285A24B10066163B /* TimeZoneData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TimeZoneData.swift; sourceTree = ""; }; - C63F71A1285A24B10066163B /* Duration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Duration.swift; sourceTree = ""; }; - C63F71A3285A24B10066163B /* ConferenceWaitingRoomFragment.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConferenceWaitingRoomFragment.swift; sourceTree = ""; }; - C63F71A4285A24B10066163B /* ScheduledConferencesView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScheduledConferencesView.swift; sourceTree = ""; }; - C63F71A5285A24B10066163B /* ICSBubbleView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ICSBubbleView.swift; sourceTree = ""; }; - C63F71A6285A24B10066163B /* ScheduledConferencesCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScheduledConferencesCell.swift; sourceTree = ""; }; - C63F71A7285A24B10066163B /* ConferenceHistoryDetailsView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConferenceHistoryDetailsView.swift; sourceTree = ""; }; - C63F71A8285A24B10066163B /* ConferenceSchedulingView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConferenceSchedulingView.swift; sourceTree = ""; }; - C63F71A9285A24B10066163B /* ConferenceSchedulingSummaryView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConferenceSchedulingSummaryView.swift; sourceTree = ""; }; - C63F71AC285A24B10066163B /* MediatorLiveData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MediatorLiveData.swift; sourceTree = ""; }; - C63F71AD285A24B10066163B /* MutableLiveData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MutableLiveData.swift; sourceTree = ""; }; - C63F71AE285A24B10066163B /* Pair.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Pair.swift; sourceTree = ""; }; - C63F71AF285A24B10066163B /* BackNextNavigationView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BackNextNavigationView.swift; sourceTree = ""; }; - C63F71B0285A24B10066163B /* TimestampUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TimestampUtils.swift; sourceTree = ""; }; - C63F71B1285A24B10066163B /* AppManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppManager.swift; sourceTree = ""; }; - C63F71B4285A24B10066163B /* UIApplication+Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIApplication+Extension.swift"; sourceTree = ""; }; - C63F71B6285A24B10066163B /* UIVIewControllerExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIVIewControllerExtensions.swift; sourceTree = ""; }; - C63F71B7285A24B10066163B /* UIImageExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIImageExtensions.swift; sourceTree = ""; }; - C63F71B8285A24B10066163B /* UIVIewExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIVIewExtensions.swift; sourceTree = ""; }; - C63F71B9285A24B10066163B /* UILabelExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UILabelExtensions.swift; sourceTree = ""; }; - C63F71BA285A24B10066163B /* OptionalExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OptionalExtensions.swift; sourceTree = ""; }; - C63F71BB285A24B10066163B /* UIButtonExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIButtonExtensions.swift; sourceTree = ""; }; - C63F71BC285A24B10066163B /* UIImageViewExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIImageViewExtensions.swift; sourceTree = ""; }; - C63F71BD285A24B10066163B /* UIDeviceExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIDeviceExtensions.swift; sourceTree = ""; }; - C63F71BE285A24B10066163B /* UIColorExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIColorExtensions.swift; sourceTree = ""; }; - C63F71C0285A24B10066163B /* CoreExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CoreExtensions.swift; sourceTree = ""; }; - C63F71C1285A24B10066163B /* IceState.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IceState.swift; sourceTree = ""; }; - C63F71C2285A24B10066163B /* AddressExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AddressExtensions.swift; sourceTree = ""; }; - C63F71C3285A24B10066163B /* ParticipantExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ParticipantExtensions.swift; sourceTree = ""; }; - C63F71C4285A24B10066163B /* PayloadType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PayloadType.swift; sourceTree = ""; }; - C63F71C5285A24B10066163B /* CallExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CallExtensions.swift; sourceTree = ""; }; - C63F71C6285A24B10066163B /* ConferenceExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConferenceExtensions.swift; sourceTree = ""; }; - C63F71C9285A24B10066163B /* ConferenceViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConferenceViewModel.swift; sourceTree = ""; }; - C63F71CA285A24B10066163B /* CallsViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CallsViewModel.swift; sourceTree = ""; }; - C63F71CB285A24B10066163B /* ControlsViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ControlsViewModel.swift; sourceTree = ""; }; - C63F71CC285A24B10066163B /* CallStatisticsData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CallStatisticsData.swift; sourceTree = ""; }; - C63F71CD285A24B10066163B /* ConferenceParticipantData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConferenceParticipantData.swift; sourceTree = ""; }; - C63F71CE285A24B10066163B /* ConferenceParticipantDeviceData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConferenceParticipantDeviceData.swift; sourceTree = ""; }; - C63F71CF285A24B10066163B /* CallData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CallData.swift; sourceTree = ""; }; - C63F71D0285A24B10066163B /* AudioRouteUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AudioRouteUtils.swift; sourceTree = ""; }; - C63F71D2285A24B10066163B /* LightDarkColor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LightDarkColor.swift; sourceTree = ""; }; - C63F71D3285A24B10066163B /* TextStyle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextStyle.swift; sourceTree = ""; }; - C63F71D4285A24B10066163B /* VoipTexts.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipTexts.swift; sourceTree = ""; }; - C63F71D5285A24B10066163B /* ButtonTheme.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ButtonTheme.swift; sourceTree = ""; }; - C63F71D6285A24B10066163B /* VoipTheme.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipTheme.swift; sourceTree = ""; }; - C63F71DA285A24B10066163B /* ParticipantsListView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ParticipantsListView.swift; sourceTree = ""; }; - C63F71DB285A24B10066163B /* VoipParticipantCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipParticipantCell.swift; sourceTree = ""; }; - C63F71DC285A24B10066163B /* AudioRoutesView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AudioRoutesView.swift; sourceTree = ""; }; - C63F71DE285A24B10066163B /* VoipActiveSpeakerParticipantCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipActiveSpeakerParticipantCell.swift; sourceTree = ""; }; - C63F71DF285A24B10066163B /* VoipConferenceAudioOnlyView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipConferenceAudioOnlyView.swift; sourceTree = ""; }; - C63F71E0285A24B10066163B /* VoipGridParticipantCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipGridParticipantCell.swift; sourceTree = ""; }; - C63F71E1285A24B10066163B /* VoipAudioOnlyParticipantCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipAudioOnlyParticipantCell.swift; sourceTree = ""; }; - C63F71E2285A24B10066163B /* MicMuted.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MicMuted.swift; sourceTree = ""; }; - C63F71E3285A24B10066163B /* VoipConferenceGridView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipConferenceGridView.swift; sourceTree = ""; }; - C63F71E4285A24B10066163B /* VoipConferenceActiveSpeakerView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipConferenceActiveSpeakerView.swift; sourceTree = ""; }; - C63F71E5285A24B10066163B /* VoipConferenceDisplayModeSelectionView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipConferenceDisplayModeSelectionView.swift; sourceTree = ""; }; - C63F71E7285A24B10066163B /* ActiveCallView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ActiveCallView.swift; sourceTree = ""; }; - C63F71E8285A24B10066163B /* IncomingOuntgoingCommonView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IncomingOuntgoingCommonView.swift; sourceTree = ""; }; - C63F71E9285A24B10066163B /* PausedCallOrConferenceView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PausedCallOrConferenceView.swift; sourceTree = ""; }; - C63F71EA285A24B10066163B /* LocalVideoView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LocalVideoView.swift; sourceTree = ""; }; - C63F71EB285A24B10066163B /* CallStatsView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CallStatsView.swift; sourceTree = ""; }; - C63F71EC285A24B10066163B /* NumpadView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NumpadView.swift; sourceTree = ""; }; - C63F71ED285A24B10066163B /* VoipExtraButtonsView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipExtraButtonsView.swift; sourceTree = ""; }; - C63F71EF285A24B10066163B /* VoipCallContextMenu.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipCallContextMenu.swift; sourceTree = ""; }; - C63F71F0285A24B10066163B /* CallsListView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CallsListView.swift; sourceTree = ""; }; - C63F71F1285A24B10066163B /* VoipCallCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipCallCell.swift; sourceTree = ""; }; - C63F71F2285A24B10066163B /* DismissableView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DismissableView.swift; sourceTree = ""; }; - C63F71F3285A24B10066163B /* ConferenceLayoutPickerView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConferenceLayoutPickerView.swift; sourceTree = ""; }; - C63F71F4285A24B10066163B /* ControlsView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ControlsView.swift; sourceTree = ""; }; - C63F71F5285A24B10066163B /* RemotelyRecording.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RemotelyRecording.swift; sourceTree = ""; }; - C63F71F7285A24B10066163B /* OutgoingCallView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OutgoingCallView.swift; sourceTree = ""; }; - C63F71F8285A24B10066163B /* ActiveCallOrConferenceView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ActiveCallOrConferenceView.swift; sourceTree = ""; }; - C63F71F9285A24B10066163B /* IncomingCallView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IncomingCallView.swift; sourceTree = ""; }; - C63F71FA285A24B10066163B /* SharedLayoutConstants.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SharedLayoutConstants.swift; sourceTree = ""; }; - C63F71FB285A24B10066163B /* VoipDialog.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipDialog.swift; sourceTree = ""; }; - C63F71FD285A24B10066163B /* StyledValuePicker.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StyledValuePicker.swift; sourceTree = ""; }; - C63F71FE285A24B10066163B /* StyledSwitch.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StyledSwitch.swift; sourceTree = ""; }; - C63F71FF285A24B10066163B /* CallControlButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CallControlButton.swift; sourceTree = ""; }; - C63F7200285A24B10066163B /* RotatingSpinner.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RotatingSpinner.swift; sourceTree = ""; }; - C63F7201285A24B10066163B /* FormButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormButton.swift; sourceTree = ""; }; - C63F7202285A24B10066163B /* BouncingCounter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BouncingCounter.swift; sourceTree = ""; }; - C63F7203285A24B10066163B /* VoipExtraButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VoipExtraButton.swift; sourceTree = ""; }; - C63F7204285A24B10066163B /* UICallTimer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UICallTimer.swift; sourceTree = ""; }; - C63F7205285A24B10066163B /* StyledCheckBox.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StyledCheckBox.swift; sourceTree = ""; }; - C63F7206285A24B10066163B /* Avatar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Avatar.swift; sourceTree = ""; }; - C63F7207285A24B10066163B /* StyledLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StyledLabel.swift; sourceTree = ""; }; - C63F7208285A24B10066163B /* StyledDatePicker.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StyledDatePicker.swift; sourceTree = ""; }; - C63F7209285A24B10066163B /* ButtonWithStateBackgrounds.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ButtonWithStateBackgrounds.swift; sourceTree = ""; }; - C63F720A285A24B10066163B /* StyledTextView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StyledTextView.swift; sourceTree = ""; }; - C63F720B285A24B10066163B /* ProviderDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProviderDelegate.swift; sourceTree = ""; }; - C63F720C285A24B10066163B /* VFSUtil.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VFSUtil.swift; sourceTree = ""; }; - C63F7271285A2F140066163B /* voip_dropdown.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_dropdown.png; sourceTree = ""; }; - C63F7272285A2F140066163B /* voip_spinner.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_spinner.png; sourceTree = ""; }; - C63F7273285A2F140066163B /* voip_numpad_7.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_numpad_7.png; sourceTree = ""; }; - C63F7274285A2F150066163B /* voip_radio_off.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_radio_off.png; sourceTree = ""; }; - C63F7275285A2F150066163B /* voip_export.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_export.png; sourceTree = ""; }; - C63F7276285A2F150066163B /* voip_call_numpad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call_numpad.png; sourceTree = ""; }; - C63F7277285A2F150066163B /* voip_chat_rooms_list.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_chat_rooms_list.png; sourceTree = ""; }; - C63F7278285A2F150066163B /* voip_numpad_4.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_numpad_4.png; sourceTree = ""; }; - C63F7279285A2F150066163B /* voip_call_header_incoming.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call_header_incoming.png; sourceTree = ""; }; - C63F727A285A2F150066163B /* voip_calls_list.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_calls_list.png; sourceTree = ""; }; - C63F727B285A2F160066163B /* voip_call_header_paused.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call_header_paused.png; sourceTree = ""; }; - C63F727C285A2F160066163B /* voip_numpad_0.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_numpad_0.png; sourceTree = ""; }; - C63F727D285A2F160066163B /* voip_numpad_3.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_numpad_3.png; sourceTree = ""; }; - C63F727E285A2F160066163B /* voip_numpad_9.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_numpad_9.png; sourceTree = ""; }; - C63F727F285A2F160066163B /* voip_speaker_on.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_speaker_on.png; sourceTree = ""; }; - C63F7280285A2F160066163B /* voip_audio_routes.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_audio_routes.png; sourceTree = ""; }; - C63F7281285A2F160066163B /* voip_call_record.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call_record.png; sourceTree = ""; }; - C63F7282285A2F170066163B /* voip_call_forward.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call_forward.png; sourceTree = ""; }; - C63F7283285A2F170066163B /* voip_change_camera.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_change_camera.png; sourceTree = ""; }; - C63F7284285A2F170066163B /* voip_checkbox_checked.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_checkbox_checked.png; sourceTree = ""; }; - C63F7285285A2F170066163B /* voip_info.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_info.png; sourceTree = ""; }; - C63F7286285A2F170066163B /* voip_speaker_off.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_speaker_off.png; sourceTree = ""; }; - C63F7287285A2F170066163B /* voip_call_more.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call_more.png; sourceTree = ""; }; - C63F7288285A2F170066163B /* voip_call_stats.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call_stats.png; sourceTree = ""; }; - C63F7289285A2F180066163B /* voip_numpad_8.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_numpad_8.png; sourceTree = ""; }; - C63F728A285A2F180066163B /* voip_call_add.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call_add.png; sourceTree = ""; }; - C63F728B285A2F180066163B /* voip_copy.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_copy.png; sourceTree = ""; }; - C63F728C285A2F180066163B /* voip_conference_paused_big.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_conference_paused_big.png; sourceTree = ""; }; - C63F728D285A2F180066163B /* voip_numpad_star.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_numpad_star.png; sourceTree = ""; }; - C63F728E285A2F180066163B /* voip_numpad_hash.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_numpad_hash.png; sourceTree = ""; }; - C63F728F285A2F180066163B /* voip_multiple_contacts_avatar.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_multiple_contacts_avatar.png; sourceTree = ""; }; - C63F7290285A2F180066163B /* voip_remote_recording.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_remote_recording.png; sourceTree = ""; }; - C63F7291285A2F190066163B /* voip_hangup.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_hangup.png; sourceTree = ""; }; - C63F7292285A2F190066163B /* voip_pause.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_pause.png; sourceTree = ""; }; - C63F7293285A2F190066163B /* voip_numpad_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_numpad_1.png; sourceTree = ""; }; - C63F7294285A2F190066163B /* voip_mandatory.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_mandatory.png; sourceTree = ""; }; - C63F7295285A2F190066163B /* voip_earpiece.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_earpiece.png; sourceTree = ""; }; - C63F7296285A2F190066163B /* voip_numpad_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_numpad_2.png; sourceTree = ""; }; - C63F7297285A2F190066163B /* voip_conference_audio_only.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_conference_audio_only.png; sourceTree = ""; }; - C63F7298285A2F1A0066163B /* voip_menu_more.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_menu_more.png; sourceTree = ""; }; - C63F7299285A2F1A0066163B /* voip_conference_new.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_conference_new.png; sourceTree = ""; }; - C63F729A285A2F1A0066163B /* voip_call_header_active.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call_header_active.png; sourceTree = ""; }; - C63F729B285A2F1A0066163B /* voip_bluetooth.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_bluetooth.png; sourceTree = ""; }; - C63F729C285A2F1A0066163B /* voip_micro_off.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_micro_off.png; sourceTree = ""; }; - C63F729D285A2F1A0066163B /* voip_camera_on.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_camera_on.png; sourceTree = ""; }; - C63F729E285A2F1A0066163B /* voip_conference_play_big.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_conference_play_big.png; sourceTree = ""; }; - C63F729F285A2F1B0066163B /* voip_call.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call.png; sourceTree = ""; }; - C63F72A0285A2F1B0066163B /* voip_call_list_menu.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call_list_menu.png; sourceTree = ""; }; - C63F72A1285A2F1B0066163B /* voip_conference_active_speaker.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_conference_active_speaker.png; sourceTree = ""; }; - C63F72A2285A2F1B0066163B /* voip_numpad_6.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_numpad_6.png; sourceTree = ""; }; - C63F72A3285A2F1B0066163B /* voip_call_participants.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call_participants.png; sourceTree = ""; }; - C63F72A4285A2F1B0066163B /* conference_schedule_calendar_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = conference_schedule_calendar_default.png; sourceTree = ""; }; - C63F72A5285A2F1B0066163B /* voip_call_chat.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call_chat.png; sourceTree = ""; }; - C63F72A6285A2F1B0066163B /* voip_checkbox_unchecked.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_checkbox_unchecked.png; sourceTree = ""; }; - C63F72A7285A2F1C0066163B /* voip_edit.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_edit.png; sourceTree = ""; }; - C63F72A8285A2F1C0066163B /* conference_schedule_time_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = conference_schedule_time_default.png; sourceTree = ""; }; - C63F72A9285A2F1C0066163B /* voip_merge_calls.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_merge_calls.png; sourceTree = ""; }; - C63F72AA285A2F1C0066163B /* voip_camera_off.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_camera_off.png; sourceTree = ""; }; - C63F72AB285A2F1C0066163B /* voip_micro_on.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_micro_on.png; sourceTree = ""; }; - C63F72AC285A2F1C0066163B /* voip_radio_on.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_radio_on.png; sourceTree = ""; }; - C63F72AD285A2F1C0066163B /* conference_schedule_participants_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = conference_schedule_participants_default.png; sourceTree = ""; }; - C63F72AE285A2F1D0066163B /* voip_conference_mosaic.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_conference_mosaic.png; sourceTree = ""; }; - C63F72AF285A2F1D0066163B /* voip_numpad_5.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_numpad_5.png; sourceTree = ""; }; - C63F72B0285A2F1D0066163B /* voip_conference_new_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_conference_new_selected.png; sourceTree = ""; }; - C63F72B1285A2F1D0066163B /* voip_single_contact_avatar.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_single_contact_avatar.png; sourceTree = ""; }; - C63F72B2285A2F1D0066163B /* voip_delete.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_delete.png; sourceTree = ""; }; - C63F72B3285A2F1D0066163B /* voip_cancel.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_cancel.png; sourceTree = ""; }; - C63F72B4285A2F1D0066163B /* voip_call_header_outgoing.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_call_header_outgoing.png; sourceTree = ""; }; - C63F72FA285A31DA0066163B /* Roboto-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Roboto-Regular.ttf"; sourceTree = ""; }; - C63F72FB285A31DA0066163B /* Roboto-Italic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Roboto-Italic.ttf"; sourceTree = ""; }; - C63F72FC285A31DA0066163B /* Roboto-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Roboto-Bold.ttf"; sourceTree = ""; }; - C64A854C2667B66900252AD2 /* EphemeralSettingsView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EphemeralSettingsView.h; sourceTree = ""; }; - C64A854D2667B67200252AD2 /* EphemeralSettingsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EphemeralSettingsView.m; sourceTree = ""; }; - C64A854F2667B67A00252AD2 /* EphemeralSettingsView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = EphemeralSettingsView.xib; sourceTree = ""; }; - C64A85512667B74100252AD2 /* ephemeral_messages_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ephemeral_messages_default.png; sourceTree = ""; }; - C66B03BC26E8EB1A009B5EDC /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIChatReplyBubbleView.xib; sourceTree = ""; }; - C66B03C126E8EB82009B5EDC /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/UIChatReplyBubbleView.strings; sourceTree = ""; }; - C66B03C326E8EB87009B5EDC /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UIChatReplyBubbleView.strings; sourceTree = ""; }; - C66B040926EFDA54009B5EDC /* reply_cancel.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = reply_cancel.png; sourceTree = ""; }; - C66B040D26F095CE009B5EDC /* cancel_forward.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cancel_forward.png; sourceTree = ""; }; - C6A1BB3126E8815300540D50 /* menu_info.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_info.png; sourceTree = ""; }; - C6A1BB3226E8815400540D50 /* menu_forward_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_forward_default.png; sourceTree = ""; }; - C6A1BB3326E8815400540D50 /* menu_copy_text_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_copy_text_default.png; sourceTree = ""; }; - C6A1BB3426E8815400540D50 /* menu_reply_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_reply_default.png; sourceTree = ""; }; - C6A1BB3926E881E100540D50 /* menu_delete.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_delete.png; sourceTree = ""; }; - C6A1BB3B26E882D000540D50 /* UIChatReplyBubbleView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIChatReplyBubbleView.h; sourceTree = ""; }; - C6A1BB3C26E882D000540D50 /* UIChatReplyBubbleView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIChatReplyBubbleView.m; sourceTree = ""; }; - C6A1BB4026E889AD00540D50 /* forward_message_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = forward_message_default.png; sourceTree = ""; }; - C6A1BB4226E88F7C00540D50 /* menu_resend_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_resend_default.png; sourceTree = ""; }; - C6A1BB4426E890BD00540D50 /* file_voice_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = file_voice_default.png; sourceTree = ""; }; - C6B4443D26AAD0970076C517 /* file_video_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = file_video_default.png; sourceTree = ""; }; - C6B4443E26AAD0970076C517 /* file_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = file_default.png; sourceTree = ""; }; - C6B4443F26AAD0970076C517 /* file_picture_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = file_picture_default.png; sourceTree = ""; }; - C6B4444026AAD0970076C517 /* file_audio_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = file_audio_default.png; sourceTree = ""; }; - C6B4444126AAD0970076C517 /* file_pdf_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = file_pdf_default.png; sourceTree = ""; }; - C6B4444726AADA530076C517 /* SwiftUtil.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftUtil.swift; sourceTree = ""; }; - C6F55644287CC69F0056E213 /* voip_meeting_schedule.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_meeting_schedule.png; sourceTree = ""; }; - C6F55646287CCFB60056E213 /* menu_voip_meeting_schedule.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_voip_meeting_schedule.png; sourceTree = ""; }; - C90FAA7615AF54E6002091CB /* HistoryDetailsView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryDetailsView.h; sourceTree = ""; }; - C90FAA7715AF54E6002091CB /* HistoryDetailsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryDetailsView.m; sourceTree = ""; }; - C9B3A6FD15B485DB006F52EE /* Utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Utils.h; path = Utils/Utils.h; sourceTree = ""; }; - CF15F21B20E4F9A3008B1DE6 /* UIImageViewDeletable.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIImageViewDeletable.h; sourceTree = ""; }; - CF15F21C20E4F9A3008B1DE6 /* UIImageViewDeletable.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UIImageViewDeletable.m; sourceTree = ""; }; - CF15F21D20E4F9A3008B1DE6 /* UIImageViewDeletable.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = UIImageViewDeletable.xib; sourceTree = ""; }; - CF1DE924210A0F5A00A0A97E /* UILinphoneAudioPlayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UILinphoneAudioPlayer.m; sourceTree = ""; }; - CF1DE92B210A0F5B00A0A97E /* UILinphoneAudioPlayer.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UILinphoneAudioPlayer.xib; sourceTree = ""; }; - CF1DE92C210A0F5C00A0A97E /* UILinphoneAudioPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UILinphoneAudioPlayer.h; sourceTree = ""; }; - CF7602D4210867E800749F76 /* RecordingsListView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RecordingsListView.h; sourceTree = ""; }; - CF7602D5210867E800749F76 /* RecordingsListView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RecordingsListView.m; sourceTree = ""; }; - CF7602DF21086EB100749F76 /* RecordingsListTableView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RecordingsListTableView.h; sourceTree = ""; }; - CF7602E021086EB200749F76 /* RecordingsListTableView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RecordingsListTableView.m; sourceTree = ""; }; - CF7602E42108759A00749F76 /* UIRecordingCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIRecordingCell.h; sourceTree = ""; }; - CF7602E52108759A00749F76 /* UIRecordingCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UIRecordingCell.m; sourceTree = ""; }; - CF7602E62108759A00749F76 /* UIRecordingCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = UIRecordingCell.xib; sourceTree = ""; }; - CF7602EB210898C100749F76 /* rec_off_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "rec_off_default@2x.png"; sourceTree = ""; }; - CF7602F2210898C400749F76 /* rec_on_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "rec_on_default@2x.png"; sourceTree = ""; }; - CF7602F3210898C600749F76 /* rec_off_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = rec_off_default.png; sourceTree = ""; }; - CF7602F4210898C800749F76 /* rec_on_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = rec_on_default.png; sourceTree = ""; }; - CFBD7A2320E504AD007C5286 /* delete_img.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = delete_img.png; sourceTree = ""; }; - D306459C1611EC2900BB571E /* UILoadingImageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UILoadingImageView.h; sourceTree = ""; }; - D306459D1611EC2900BB571E /* UILoadingImageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UILoadingImageView.m; sourceTree = ""; }; - D3128FDE15AABC7E00A2147A /* ContactDetailsView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContactDetailsView.h; sourceTree = ""; }; - D3128FDF15AABC7E00A2147A /* ContactDetailsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ContactDetailsView.m; sourceTree = ""; }; - D31B4B1E159876C0002E6C72 /* UICompositeView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UICompositeView.h; sourceTree = ""; }; - D31B4B1F159876C0002E6C72 /* UICompositeView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UICompositeView.m; sourceTree = ""; }; - D31C9C96158A1CDE00756B45 /* UIHistoryCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIHistoryCell.h; sourceTree = ""; }; - D31C9C97158A1CDE00756B45 /* UIHistoryCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIHistoryCell.m; sourceTree = ""; }; - D326483615887D5200930C67 /* OrderedDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OrderedDictionary.h; path = Utils/OrderedDictionary.h; sourceTree = ""; }; - D326483715887D5200930C67 /* OrderedDictionary.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OrderedDictionary.m; path = Utils/OrderedDictionary.m; sourceTree = ""; }; - D32648421588F6FA00930C67 /* UIToggleButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIToggleButton.h; sourceTree = ""; }; - D32648431588F6FB00930C67 /* UIToggleButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIToggleButton.m; sourceTree = ""; }; - D32B6E2715A5BC430033019F /* ChatConversationTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChatConversationTableView.h; sourceTree = ""; }; - D32B6E2815A5BC430033019F /* ChatConversationTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChatConversationTableView.m; sourceTree = ""; }; - D32B6E2E15A5C0AC0033019F /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; }; - D32B9DFA15A2F131000B6DEC /* FastAddressBook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FastAddressBook.h; path = Utils/FastAddressBook.h; sourceTree = ""; }; - D32B9DFB15A2F131000B6DEC /* FastAddressBook.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FastAddressBook.m; path = Utils/FastAddressBook.m; sourceTree = ""; }; - D33A6E8F86694EA7ADD47ED4 /* Pods-CallUITests.distributionadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CallUITests.distributionadhoc.xcconfig"; path = "Target Support Files/Pods-CallUITests/Pods-CallUITests.distributionadhoc.xcconfig"; sourceTree = ""; }; - D34F6F9D1594D3FB0095705B /* InAppSettings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = InAppSettings.bundle; sourceTree = ""; }; - D350F20B15A43BB100149E54 /* AssistantView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AssistantView.h; sourceTree = ""; }; - D350F20C15A43BB100149E54 /* AssistantView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AssistantView.m; sourceTree = ""; }; - D35497FB15875372000081D8 /* ContactsListView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContactsListView.h; sourceTree = ""; }; - D35497FC15875372000081D8 /* ContactsListView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = ContactsListView.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; - D3549814158761CF000081D8 /* ContactsListTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContactsListTableView.h; sourceTree = ""; }; - D3549815158761D0000081D8 /* ContactsListTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = ContactsListTableView.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; - D354981E1587716B000081D8 /* StatusBarView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StatusBarView.h; path = LinphoneUI/StatusBarView.h; sourceTree = ""; }; - D354981F1587716B000081D8 /* StatusBarView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = StatusBarView.m; path = LinphoneUI/StatusBarView.m; sourceTree = ""; }; - D35860D515B549B500513429 /* Utils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Utils.m; path = Utils/Utils.m; sourceTree = ""; }; - D35E7594159460560066B1C1 /* ChatsListView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChatsListView.h; sourceTree = ""; }; - D35E7595159460560066B1C1 /* ChatsListView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChatsListView.m; sourceTree = ""; }; - D35E759C159460B50066B1C1 /* SettingsView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SettingsView.h; sourceTree = ""; }; - D35E759D159460B50066B1C1 /* SettingsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SettingsView.m; sourceTree = ""; }; - D378AB2815DCDB480098505D /* ImagePickerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImagePickerView.h; sourceTree = ""; }; - D378AB2915DCDB490098505D /* ImagePickerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ImagePickerView.m; sourceTree = ""; }; - D37C639915AADEF4009D0BAC /* ContactDetailsTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContactDetailsTableView.h; sourceTree = ""; }; - D37C639A15AADEF5009D0BAC /* ContactDetailsTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ContactDetailsTableView.m; sourceTree = ""; }; - D37DC6BF1594AE1800B2A5EB /* LinphoneCoreSettingsStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinphoneCoreSettingsStore.h; sourceTree = ""; }; - D37DC6C01594AE1800B2A5EB /* LinphoneCoreSettingsStore.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LinphoneCoreSettingsStore.m; sourceTree = ""; }; - D37DC7171594AF3400B2A5EB /* MessageUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MessageUI.framework; path = System/Library/Frameworks/MessageUI.framework; sourceTree = SDKROOT; }; - D37E3ECB1619C27A0087659A /* CAAnimation+Blocks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "CAAnimation+Blocks.h"; sourceTree = ""; }; - D37E3ECC1619C27A0087659A /* CAAnimation+Blocks.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "CAAnimation+Blocks.m"; sourceTree = ""; }; - D37EE160160377D7003608A6 /* DTActionSheet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DTActionSheet.h; sourceTree = ""; }; - D37EE161160377D7003608A6 /* DTActionSheet.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DTActionSheet.m; sourceTree = ""; }; - D3807FB715C28940005BE9BC /* DCRoundSwitch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DCRoundSwitch.h; sourceTree = ""; }; - D3807FB815C28940005BE9BC /* DCRoundSwitch.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DCRoundSwitch.m; sourceTree = ""; }; - D3807FB915C28940005BE9BC /* DCRoundSwitchKnobLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DCRoundSwitchKnobLayer.h; sourceTree = ""; }; - D3807FBA15C28940005BE9BC /* DCRoundSwitchKnobLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DCRoundSwitchKnobLayer.m; sourceTree = ""; }; - D3807FBB15C28940005BE9BC /* DCRoundSwitchOutlineLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DCRoundSwitchOutlineLayer.h; sourceTree = ""; }; - D3807FBC15C28940005BE9BC /* DCRoundSwitchOutlineLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DCRoundSwitchOutlineLayer.m; sourceTree = ""; }; - D3807FBD15C28940005BE9BC /* DCRoundSwitchToggleLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DCRoundSwitchToggleLayer.h; sourceTree = ""; }; - D3807FBE15C28940005BE9BC /* DCRoundSwitchToggleLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DCRoundSwitchToggleLayer.m; sourceTree = ""; }; - D3807FC915C2894A005BE9BC /* IASKAppSettingsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKAppSettingsViewController.h; sourceTree = ""; }; - D3807FCA15C2894A005BE9BC /* IASKAppSettingsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IASKAppSettingsViewController.m; sourceTree = ""; }; - D3807FCD15C2894A005BE9BC /* IASKSpecifierValuesViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKSpecifierValuesViewController.h; sourceTree = ""; }; - D3807FCE15C2894A005BE9BC /* IASKSpecifierValuesViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IASKSpecifierValuesViewController.m; sourceTree = ""; }; - D3807FCF15C2894A005BE9BC /* IASKViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKViewController.h; sourceTree = ""; }; - D3807FD115C2894A005BE9BC /* IASKSettingsReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKSettingsReader.h; sourceTree = ""; }; - D3807FD215C2894A005BE9BC /* IASKSettingsReader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IASKSettingsReader.m; sourceTree = ""; }; - D3807FD315C2894A005BE9BC /* IASKSettingsStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKSettingsStore.h; sourceTree = ""; }; - D3807FD415C2894A005BE9BC /* IASKSettingsStore.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IASKSettingsStore.m; sourceTree = ""; }; - D3807FD515C2894A005BE9BC /* IASKSettingsStoreFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKSettingsStoreFile.h; sourceTree = ""; }; - D3807FD615C2894A005BE9BC /* IASKSettingsStoreFile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IASKSettingsStoreFile.m; sourceTree = ""; }; - D3807FD715C2894A005BE9BC /* IASKSettingsStoreUserDefaults.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKSettingsStoreUserDefaults.h; sourceTree = ""; }; - D3807FD815C2894A005BE9BC /* IASKSettingsStoreUserDefaults.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IASKSettingsStoreUserDefaults.m; sourceTree = ""; }; - D3807FD915C2894A005BE9BC /* IASKSpecifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKSpecifier.h; sourceTree = ""; }; - D3807FDA15C2894A005BE9BC /* IASKSpecifier.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IASKSpecifier.m; sourceTree = ""; }; - D3807FDC15C2894A005BE9BC /* IASKPSSliderSpecifierViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKPSSliderSpecifierViewCell.h; sourceTree = ""; }; - D3807FDD15C2894A005BE9BC /* IASKPSSliderSpecifierViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IASKPSSliderSpecifierViewCell.m; sourceTree = ""; }; - D3807FDE15C2894A005BE9BC /* IASKPSTextFieldSpecifierViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKPSTextFieldSpecifierViewCell.h; sourceTree = ""; }; - D3807FDF15C2894A005BE9BC /* IASKPSTextFieldSpecifierViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IASKPSTextFieldSpecifierViewCell.m; sourceTree = ""; }; - D3807FE015C2894A005BE9BC /* IASKPSTitleValueSpecifierViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKPSTitleValueSpecifierViewCell.h; sourceTree = ""; }; - D3807FE115C2894A005BE9BC /* IASKPSTitleValueSpecifierViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IASKPSTitleValueSpecifierViewCell.m; sourceTree = ""; }; - D3807FE215C2894A005BE9BC /* IASKSlider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKSlider.h; sourceTree = ""; }; - D3807FE315C2894A005BE9BC /* IASKSlider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IASKSlider.m; sourceTree = ""; }; - D3807FE415C2894A005BE9BC /* IASKSwitch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKSwitch.h; sourceTree = ""; }; - D3807FE515C2894A005BE9BC /* IASKSwitch.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IASKSwitch.m; sourceTree = ""; }; - D3807FE615C2894A005BE9BC /* IASKTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKTextField.h; sourceTree = ""; }; - D3807FE715C2894A005BE9BC /* IASKTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IASKTextField.m; sourceTree = ""; }; - D380801115C29984005BE9BC /* ColorSpaceUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ColorSpaceUtilities.h; path = Utils/ColorSpaceUtilities.h; sourceTree = ""; }; - D380801215C299D0005BE9BC /* ColorSpaceUtilites.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ColorSpaceUtilites.m; path = Utils/ColorSpaceUtilites.m; sourceTree = ""; }; - D3A55FBA15877E5E003FD403 /* UIContactCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIContactCell.h; sourceTree = ""; }; - D3A55FBB15877E5E003FD403 /* UIContactCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIContactCell.m; sourceTree = ""; }; - D3A8BB6E15A6C7D500F96BE5 /* UIChatBubbleTextCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIChatBubbleTextCell.h; sourceTree = ""; }; - D3A8BB6F15A6C7D500F96BE5 /* UIChatBubbleTextCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIChatBubbleTextCell.m; sourceTree = ""; }; - D3C6526515AC1A8F0092A874 /* UIContactDetailsCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIContactDetailsCell.h; sourceTree = ""; }; - D3C6526615AC1A8F0092A874 /* UIContactDetailsCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIContactDetailsCell.m; sourceTree = ""; }; - D3EA53FB159850E80037DC6B /* LinphoneManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinphoneManager.h; sourceTree = ""; }; - D3EA53FC159850E80037DC6B /* LinphoneManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LinphoneManager.m; sourceTree = ""; }; - D3EA540B1598528B0037DC6B /* ChatsListTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChatsListTableView.h; sourceTree = ""; }; - D3EA540C1598528B0037DC6B /* ChatsListTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChatsListTableView.m; sourceTree = ""; }; - D3EA540F159853750037DC6B /* UIChatCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIChatCell.h; sourceTree = ""; }; - D3EA5410159853750037DC6B /* UIChatCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIChatCell.m; sourceTree = ""; }; - D3ED3E841586291B006C0DE4 /* TabBarView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TabBarView.h; path = LinphoneUI/TabBarView.h; sourceTree = ""; }; - D3ED3E851586291B006C0DE4 /* TabBarView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TabBarView.m; path = LinphoneUI/TabBarView.m; sourceTree = ""; }; - D3ED3EA41587334B006C0DE4 /* HistoryListTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryListTableView.h; sourceTree = ""; }; - D3ED3EA51587334C006C0DE4 /* HistoryListTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = HistoryListTableView.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; - D3ED3EB515873928006C0DE4 /* HistoryListView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryListView.h; sourceTree = ""; }; - D3ED3EB615873929006C0DE4 /* HistoryListView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = HistoryListView.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; - D3F795D315A582800077328B /* ChatConversationView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChatConversationView.h; sourceTree = ""; }; - D3F795D415A582800077328B /* ChatConversationView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChatConversationView.m; sourceTree = ""; }; - D3F7997F15BD32370018C273 /* TPMultiLayoutViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TPMultiLayoutViewController.h; path = Utils/TPMultiLayoutViewController/TPMultiLayoutViewController.h; sourceTree = ""; }; - D3F7998015BD32370018C273 /* TPMultiLayoutViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TPMultiLayoutViewController.m; path = Utils/TPMultiLayoutViewController/TPMultiLayoutViewController.m; sourceTree = ""; }; - D3F83F8C158229C500336684 /* PhoneMainView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PhoneMainView.h; sourceTree = ""; }; - D3F83F8D15822ABD00336684 /* PhoneMainView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PhoneMainView.m; sourceTree = ""; }; -<<<<<<< HEAD - DC2F21ADD3E0ABFC644BF401 /* Pods-ConferenceUITests.distribution.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ConferenceUITests.distribution.xcconfig"; path = "Target Support Files/Pods-ConferenceUITests/Pods-ConferenceUITests.distribution.xcconfig"; sourceTree = ""; }; - DD200DBE06C872CC97CA1695 /* Pods_ConferenceUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ConferenceUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; -======= - D7EC2D3C18D2264B85F21385 /* Pods_AutoConnectLinphoneAccount.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_AutoConnectLinphoneAccount.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DBEE6C9BCFA78E5739836EB4 /* Pods-AutoConnectLinphoneAccount.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AutoConnectLinphoneAccount.release.xcconfig"; path = "Target Support Files/Pods-AutoConnectLinphoneAccount/Pods-AutoConnectLinphoneAccount.release.xcconfig"; sourceTree = ""; }; - DF241FDC6C7431777AB3BD58 /* Pods-msgNotificationContent.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationContent.debug.xcconfig"; path = "Target Support Files/Pods-msgNotificationContent/Pods-msgNotificationContent.debug.xcconfig"; sourceTree = ""; }; - E19FC645A566E91D4EEB9C8F /* Pods-msgNotificationService.distributionadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationService.distributionadhoc.xcconfig"; path = "Target Support Files/Pods-msgNotificationService/Pods-msgNotificationService.distributionadhoc.xcconfig"; sourceTree = ""; }; ->>>>>>> 8e16f1fad (new test plans) - EA5F25D9232BD3E200475F2E /* msgNotificationService.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = msgNotificationService.appex; sourceTree = BUILT_PRODUCTS_DIR; }; - EA5F25DB232BD3E200475F2E /* NotificationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationService.swift; sourceTree = ""; }; - EA5F25DD232BD3E200475F2E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - EA8CB827239F96CA00C330CC /* msgNotificationContent.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = msgNotificationContent.appex; sourceTree = BUILT_PRODUCTS_DIR; }; - EA8CB82B239F96CA00C330CC /* NotificationViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationViewController.swift; sourceTree = ""; }; - EA8CB82E239F96CA00C330CC /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/MainInterface.storyboard; sourceTree = ""; }; - EA8CB830239F96CA00C330CC /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - EA8CB83F239FD41400C330CC /* msgNotificationContent.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = msgNotificationContent.entitlements; sourceTree = ""; }; - EAB783CF232F8E4D0076B1A0 /* msgNotificationService.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = msgNotificationService.entitlements; sourceTree = ""; }; - EAE6C88323FABF690076A018 /* Utils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Utils.swift; path = msgNotification/Utils.swift; sourceTree = SOURCE_ROOT; }; - F0181B6B18BF7B1200A9A357 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; }; - F03A9B9418C0DAE100C4D7FE /* libstdc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libstdc++.dylib"; path = "usr/lib/libstdc++.dylib"; sourceTree = SDKROOT; }; - F03A9B9718C0DB6F00C4D7FE /* libc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.dylib"; path = "usr/lib/libc++.dylib"; sourceTree = SDKROOT; }; - F03CA84118C72F1A0008889D /* UITextViewNoDefine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UITextViewNoDefine.h; sourceTree = ""; }; - F03CA84218C72F1A0008889D /* UITextViewNoDefine.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UITextViewNoDefine.m; sourceTree = ""; }; - F05BAA611A5D594E00411815 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; }; - F0642EF019DAC891009DB336 /* MainStoryboard.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = MainStoryboard.storyboard; sourceTree = ""; }; - F0642EF719DAF32E009DB336 /* DTWeakSupport.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DTWeakSupport.h; sourceTree = ""; }; - F088488C19FF8C41007FFCF3 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIContactCell.xib; sourceTree = ""; }; - F0938158188E629800A55DFA /* iTunesArtwork */ = {isa = PBXFileReference; lastKnownFileType = file; path = iTunesArtwork; sourceTree = ""; }; - F09548181883F15300E8A69B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ChatConversationView.xib; sourceTree = ""; }; - F09548191883F15300E8A69B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ChatsListView.xib; sourceTree = ""; }; - F095481B1883F15300E8A69B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ContactDetailsView.xib; sourceTree = ""; }; - F095481C1883F15300E8A69B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ContactsListView.xib; sourceTree = ""; }; - F095481D1883F15300E8A69B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/DialerView.xib; sourceTree = ""; }; - F09548201883F15400E8A69B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/HistoryDetailsView.xib; sourceTree = ""; }; - F09548211883F15400E8A69B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/HistoryListView.xib; sourceTree = ""; }; - F09548221883F15400E8A69B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ImageView.xib; sourceTree = ""; }; - F095482C1883F15400E8A69B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/TabBarView.xib; sourceTree = ""; }; - F095482E1883F15500E8A69B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/AssistantView.xib; sourceTree = ""; }; - F09548301883F15500E8A69B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/AssistantViewScreens.xib; sourceTree = ""; }; - F09548321883F20A00E8A69B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/ChatConversationView.strings; sourceTree = ""; }; - F09548341883F25F00E8A69B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/ChatsListView.strings; sourceTree = ""; }; - F09548381883F29C00E8A69B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/ContactDetailsView.strings; sourceTree = ""; }; - F095483A1883F2CA00E8A69B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/ContactsListView.strings; sourceTree = ""; }; - F095483C1883F2E300E8A69B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/DialerView.strings; sourceTree = ""; }; - F09548421883F51B00E8A69B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/HistoryListView.strings; sourceTree = ""; }; - F09548441883F52900E8A69B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/ImageView.strings; sourceTree = ""; }; - F09548561883F61600E8A69B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/TabBarView.strings; sourceTree = ""; }; - F095485A1883F67B00E8A69B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/AssistantView.strings; sourceTree = ""; }; - F095485E1883F6EA00E8A69B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/AssistantViewScreens.strings; sourceTree = ""; }; - F0AF06F11A24BA760086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/ChatConversationView.strings; sourceTree = ""; }; - F0AF06F21A24BA760086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/ChatsListView.strings; sourceTree = ""; }; - F0AF06F41A24BA760086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/ContactDetailsView.strings; sourceTree = ""; }; - F0AF06F51A24BA760086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/ContactsListView.strings; sourceTree = ""; }; - F0AF06F61A24BA760086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/DialerView.strings; sourceTree = ""; }; - F0AF06F91A24BA760086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/HistoryDetailsView.strings; sourceTree = ""; }; - F0AF06FA1A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/HistoryListView.strings; sourceTree = ""; }; - F0AF06FB1A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/ImageView.strings; sourceTree = ""; }; - F0AF07021A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/UIChatCell.strings; sourceTree = ""; }; - F0AF07041A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/UICompositeView.strings; sourceTree = ""; }; - F0AF07061A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/UIContactCell.strings; sourceTree = ""; }; - F0AF07091A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/UIHistoryCell.strings; sourceTree = ""; }; - F0AF070A1A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/TabBarView.strings; sourceTree = ""; }; - F0AF070C1A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/StatusBarView.strings; sourceTree = ""; }; - F0AF070E1A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/SettingsView.strings; sourceTree = ""; }; - F0AF070F1A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/AssistantView.strings; sourceTree = ""; }; - F0AF07111A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/AssistantViewScreens.strings; sourceTree = ""; }; - F0B026F21AA710AF00FF49F7 /* libiconv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.dylib; path = usr/lib/libiconv.dylib; sourceTree = SDKROOT; }; - F0B89C2118DC89E30050B60E /* MediaPlayer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaPlayer.framework; path = System/Library/Frameworks/MediaPlayer.framework; sourceTree = SDKROOT; }; - F0BB8C311936246600974404 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; }; - F0BB8C34193624C800974404 /* libresolv.9.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libresolv.9.dylib; path = usr/lib/libresolv.9.dylib; sourceTree = SDKROOT; }; - F0BB8C4A193631B300974404 /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = System/Library/Frameworks/ImageIO.framework; sourceTree = SDKROOT; }; -<<<<<<< HEAD -======= - F0E0078E5C72D700C9E62509 /* Pods-AutoConnectLinphoneAccount.distributionadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AutoConnectLinphoneAccount.distributionadhoc.xcconfig"; path = "Target Support Files/Pods-AutoConnectLinphoneAccount/Pods-AutoConnectLinphoneAccount.distributionadhoc.xcconfig"; sourceTree = ""; }; - F0F554DE142CCEF4AC71DA1F /* Pods-linphone.distribution.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-linphone.distribution.xcconfig"; path = "Target Support Files/Pods-linphone/Pods-linphone.distribution.xcconfig"; sourceTree = ""; }; ->>>>>>> 8e16f1fad (new test plans) - F0FF66AA1ACAEEB0008A4486 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = ../../../../Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/IOKit.framework; sourceTree = ""; }; - FDB59567FECF2E083DBDC142 /* Pods-linphone.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-linphone.release.xcconfig"; path = "Target Support Files/Pods-linphone/Pods-linphone.release.xcconfig"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 143EFEE2501CB14E6BB244EF /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - EA88F3AC241BD05200E66528 /* UserNotificationsUI.framework in Frameworks */, - EA88F3AB241BD05200E66528 /* UserNotifications.framework in Frameworks */, - AC76CCEFDCD59EB01C2DE3F8 /* Pods_msgNotificationContent.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 1D60588F0D05DD3D006BFB54 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 61DD7E1F2372E88F001BDD01 /* CoreLocation.framework in Frameworks */, - 6180D6FE21EE41A800AD9CB6 /* QuickLook.framework in Frameworks */, - D37DC7181594AF3400B2A5EB /* MessageUI.framework in Frameworks */, - 61F1997520C6B1D5006B069A /* AVKit.framework in Frameworks */, - 249660951FD6A35F001D55AA /* Photos.framework in Frameworks */, - 24E1C7C01F9A235600D3F981 /* Contacts.framework in Frameworks */, - 8C2595DF1DEDCC8E007A6424 /* CallKit.framework in Frameworks */, - 8C73477C1D9BA3A00022EE8C /* UserNotifications.framework in Frameworks */, - 8CA2004C1D8158440095F859 /* PushKit.framework in Frameworks */, - 340751971506459A00B89C47 /* CoreTelephony.framework in Frameworks */, - 63177FBF1C86E68C00ADE58D /* CoreVideo.framework in Frameworks */, - 63CE58401C85EBF400304800 /* VideoToolbox.framework in Frameworks */, - 6334DDFA1BBAC97C00631900 /* libsqlite3.dylib in Frameworks */, - 152F22361B15E889008C0621 /* libxml2.dylib in Frameworks */, - 570742671D5A63DB004B9C84 /* StoreKit.framework in Frameworks */, - 22405EEE1600B4E400B92522 /* AssetsLibrary.framework in Frameworks */, - 2274402F106F335E006EC466 /* AudioToolbox.framework in Frameworks */, - 224567C2107B968500F10948 /* AVFoundation.framework in Frameworks */, - 228697C411AC29B800E9E0CA /* CFNetwork.framework in Frameworks */, - 2274401A106F31BD006EC466 /* CoreAudio.framework in Frameworks */, - 288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */, - 22276E8913C73DC000210156 /* CoreMedia.framework in Frameworks */, - 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */, - F0B89C2218DC89E30050B60E /* MediaPlayer.framework in Frameworks */, - 226EF06C15FA256B005865C7 /* MobileCoreServices.framework in Frameworks */, - 70E542F313E147E3002BA2C0 /* OpenGLES.framework in Frameworks */, - 70E542F513E147EB002BA2C0 /* QuartzCore.framework in Frameworks */, - 2264B6D211200342002C2C53 /* SystemConfiguration.framework in Frameworks */, - 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */, - F0B026F31AA710AF00FF49F7 /* libiconv.dylib in Frameworks */, - F05BAA621A5D594E00411815 /* libz.dylib in Frameworks */, - 344ABDF114850AE9007420B6 /* libc++.1.dylib in Frameworks */, - 22D1B68112A3E0BE001AE361 /* libresolv.dylib in Frameworks */, - E4440DC2FC040E5FE40BA5AF /* Pods_linphone.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 203E6292C3E84CD13778F720 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 36C8883CF9CD21240125CC74 /* Pods_msgNotificationService.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 61AE364820C00B370089D9D3 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 6637AF8A288593AF00965733 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - D35C5F1B660753F3FF79848A /* Pods_CallUITests.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 66495CF8288FF346002780DE /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - FDC67FA1FCA8461F10C4F5DA /* Pods_AutoConnectLinphoneAccount.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 080E96DDFE201D6D7F000001 /* Classes */ = { - isa = PBXGroup; - children = ( - 614C087623D1A35E00217F80 /* linphone-Bridging-Header.h */, - C63F7196285A24B10066163B /* Swift */, - 22E0A81D111C44E100B04932 /* AboutView.h */, - 22E0A81C111C44E100B04932 /* AboutView.m */, - 636316D31A1DEBCB0009B839 /* AboutView.xib */, - 633E417F1D74258F00320475 /* AssistantLinkView.h */, - 633E41801D74258F00320475 /* AssistantLinkView.m */, - 63EC8D3B1D7438660066547B /* AssistantLinkView.xib */, - D350F20B15A43BB100149E54 /* AssistantView.h */, - D350F20C15A43BB100149E54 /* AssistantView.m */, - D38187E015FE348A00C3EDCA /* AssistantView.xib */, - D3D5126A160B3A8E00946DF8 /* AssistantViewScreens.xib */, - 8C9C5E0B1F83B2EF006987FA /* ChatConversationCreateCollectionViewController.h */, - 8C9C5E0C1F83B2EF006987FA /* ChatConversationCreateCollectionViewController.m */, - 6341807A1BBC103100F71761 /* ChatConversationCreateTableView.h */, - 6341807B1BBC103100F71761 /* ChatConversationCreateTableView.m */, - 6336715E1BCBAAD200BFCBDE /* ChatConversationCreateView.h */, - 6336715F1BCBAAD200BFCBDE /* ChatConversationCreateView.m */, - 63B8D68E1BCBE65600C12B09 /* ChatConversationCreateView.xib */, - 8CD99A3D2090BA24008A7CDA /* ChatConversationImdnView.h */, - 8CD99A3B2090B9FA008A7CDA /* ChatConversationImdnView.m */, - 8CBD7BA520B6B80D00E5DCC0 /* ChatConversationImdnView.xib */, - 8CA70ACF1F9E0ABA00A3D2EB /* ChatConversationInfoView.h */, - 8CA70AD01F9E0AE100A3D2EB /* ChatConversationInfoView.m */, - 8CBD7BA220B6B7FD00E5DCC0 /* ChatConversationInfoView.xib */, - D32B6E2715A5BC430033019F /* ChatConversationTableView.h */, - D32B6E2815A5BC430033019F /* ChatConversationTableView.m */, - D3F795D315A582800077328B /* ChatConversationView.h */, - D3F795D415A582800077328B /* ChatConversationView.m */, - D38187B015FE340100C3EDCA /* ChatConversationView.xib */, - D3EA540B1598528B0037DC6B /* ChatsListTableView.h */, - D3EA540C1598528B0037DC6B /* ChatsListTableView.m */, - D35E7594159460560066B1C1 /* ChatsListView.h */, - D35E7595159460560066B1C1 /* ChatsListView.m */, - D38187B415FE340500C3EDCA /* ChatsListView.xib */, - D37C639915AADEF4009D0BAC /* ContactDetailsTableView.h */, - D37C639A15AADEF5009D0BAC /* ContactDetailsTableView.m */, - D3128FDE15AABC7E00A2147A /* ContactDetailsView.h */, - D3128FDF15AABC7E00A2147A /* ContactDetailsView.m */, - D38187BC15FE342200C3EDCA /* ContactDetailsView.xib */, - D3549814158761CF000081D8 /* ContactsListTableView.h */, - D3549815158761D0000081D8 /* ContactsListTableView.m */, - D35497FB15875372000081D8 /* ContactsListView.h */, - D35497FC15875372000081D8 /* ContactsListView.m */, - 662553B327EDFB35007F67D8 /* MagicSearch.swift */, - D38187C015FE342800C3EDCA /* ContactsListView.xib */, - 631098471D4660580041F2B3 /* CountryListView.h */, - 631098481D4660580041F2B3 /* CountryListView.m */, - 631098501D4660630041F2B3 /* CountryListView.xib */, - C64A854C2667B66900252AD2 /* EphemeralSettingsView.h */, - C64A854D2667B67200252AD2 /* EphemeralSettingsView.m */, - C64A854F2667B67A00252AD2 /* EphemeralSettingsView.xib */, - 61AEBEB5219198EF00F35E7F /* DevicesListView.h */, - 61AEBEBC2191990A00F35E7F /* DevicesListView.m */, - 61AEBEBE2191991F00F35E7F /* DevicesListView.xib */, - 22F2508B107141E100AC9B3F /* DialerView.h */, - 22F2508C107141E100AC9B3F /* DialerView.m */, - D38187C415FE345B00C3EDCA /* DialerView.xib */, - 638F1A601C2021B2004B8E02 /* DialerView~ipad.xib */, - 6306440B1BECB08500134C72 /* FirstLoginView.h */, - 6306440C1BECB08500134C72 /* FirstLoginView.m */, - 639E9C951C0DB7BE00019A75 /* FirstLoginView.xib */, - 635775231B6673EC00C8B704 /* HistoryDetailsTableView.h */, - 635775241B6673EC00C8B704 /* HistoryDetailsTableView.m */, - C90FAA7615AF54E6002091CB /* HistoryDetailsView.h */, - C90FAA7715AF54E6002091CB /* HistoryDetailsView.m */, - D38187D015FE346700C3EDCA /* HistoryDetailsView.xib */, - D3ED3EA41587334B006C0DE4 /* HistoryListTableView.h */, - D3ED3EA51587334C006C0DE4 /* HistoryListTableView.m */, - D3ED3EB515873928006C0DE4 /* HistoryListView.h */, - D3ED3EB615873929006C0DE4 /* HistoryListView.m */, - D38187D415FE346B00C3EDCA /* HistoryListView.xib */, - D378AB2815DCDB480098505D /* ImagePickerView.h */, - D378AB2915DCDB490098505D /* ImagePickerView.m */, - 22405EFD1601C19000B92522 /* ImageView.h */, - 22405EFE1601C19100B92522 /* ImageView.m */, - D37EE11016035793003608A6 /* ImageView.xib */, - 63E59A3D1ADE6ECB00646FB3 /* InAppProductsManager.h */, - 63E59A3E1ADE70D900646FB3 /* InAppProductsManager.m */, - 6130C85B22BBB493009CC79C /* LaunchScreen.h */, - 63E27A311C4FECD000D332AE /* LaunchScreen.xib */, - 1D3623240D0F684500981E51 /* LinphoneAppDelegate.h */, - 1D3623250D0F684500981E51 /* LinphoneAppDelegate.m */, - D37DC6BF1594AE1800B2A5EB /* LinphoneCoreSettingsStore.h */, - D37DC6C01594AE1800B2A5EB /* LinphoneCoreSettingsStore.m */, - D3EA53FB159850E80037DC6B /* LinphoneManager.h */, - D3EA53FC159850E80037DC6B /* LinphoneManager.m */, - 2214EB7012F84668002A5394 /* LinphoneUI */, - F0642EF019DAC891009DB336 /* MainStoryboard.storyboard */, - D3F83F8C158229C500336684 /* PhoneMainView.h */, - D3F83F8D15822ABD00336684 /* PhoneMainView.m */, - 639E9CB31C0DB88200019A75 /* PhoneMainView.xib */, - CF7602DF21086EB100749F76 /* RecordingsListTableView.h */, - CF7602E021086EB200749F76 /* RecordingsListTableView.m */, - CF7602D4210867E800749F76 /* RecordingsListView.h */, - CF7602D5210867E800749F76 /* RecordingsListView.m */, - 617B4A62260A2B7800A87337 /* RecordingsListView.xib */, - D35E759C159460B50066B1C1 /* SettingsView.h */, - D35E759D159460B50066B1C1 /* SettingsView.m */, - 636316D61A1DEC650009B839 /* SettingsView.xib */, - 63BE7A761D75BDF6000990EF /* ShopTableView.h */, - 63BE7A771D75BDF6000990EF /* ShopTableView.m */, - 570742601D5A09B8004B9C84 /* ShopView.h */, - 5707425F1D5A09B8004B9C84 /* ShopView.m */, - 570742561D5A0691004B9C84 /* ShopView.xib */, - 633756371B67BAF400E21BAD /* SideMenuTableView.h */, - 633756381B67BAF400E21BAD /* SideMenuTableView.m */, - 633756421B67D2B100E21BAD /* SideMenuView.h */, - 633756431B67D2B100E21BAD /* SideMenuView.m */, - 639E9CB21C0DB83000019A75 /* SideMenuView.xib */, - 63130FB01C1ED06900371918 /* SideMenuView~ipad.xib */, - D354981E1587716B000081D8 /* StatusBarView.h */, - D354981F1587716B000081D8 /* StatusBarView.m */, - 639CEAFF1A1DF4D9004DE38F /* StatusBarView.xib */, - D3ED3E841586291B006C0DE4 /* TabBarView.h */, - D3ED3E851586291B006C0DE4 /* TabBarView.m */, - D38187FB15FE355D00C3EDCA /* TabBarView.xib */, - D326483415887D4400930C67 /* Utils */, - 669B140B27A29D140012220A /* FloatingScrollDownButton.swift */, - ); - path = Classes; - sourceTree = ""; - }; - 19C28FACFE9D520D11CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 1D6058910D05DD3D006BFB54 /* linphone.app */, - 61AE364B20C00B370089D9D3 /* linphoneExtension.appex */, - EA5F25D9232BD3E200475F2E /* msgNotificationService.appex */, - EA8CB827239F96CA00C330CC /* msgNotificationContent.appex */, - 6637AF8D288593AF00965733 /* CallUITests.xctest */, - 66495CFB288FF346002780DE /* AutoConnectLinphoneAccount.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 2214EB7012F84668002A5394 /* LinphoneUI */ = { - isa = PBXGroup; - children = ( - C6A1BB3B26E882D000540D50 /* UIChatReplyBubbleView.h */, - C6A1BB3C26E882D000540D50 /* UIChatReplyBubbleView.m */, - C66B03BD26E8EB1A009B5EDC /* UIChatReplyBubbleView.xib */, - 63F1DF421BCE618E00EDED90 /* UIAddressTextField.h */, - 63F1DF431BCE618E00EDED90 /* UIAddressTextField.m */, - 63C441C11BBC23ED0053DC5E /* UIAssistantTextField.h */, - 63C441C21BBC23ED0053DC5E /* UIAssistantTextField.m */, - 633FEF561D3CD5E00014B822 /* UIAvatarPresence.h */, - 633FEF571D3CD5E00014B822 /* UIAvatarPresence.m */, - 6377AC7E1BDE4068007F7625 /* UIBackToCallButton.h */, - 6377AC7F1BDE4069007F7625 /* UIBackToCallButton.m */, - 6381DA7B1C1AD5EA00DF3BBD /* UIBouncingView.h */, - 6381DA7C1C1AD5EA00DF3BBD /* UIBouncingView.m */, - 2214EB7812F846B1002A5394 /* UICallButton.h */, - 2214EB7912F846B1002A5394 /* UICallButton.m */, - 22AA8AFF13D83F6300B30535 /* UICamSwitch.h */, - 22AA8B0013D83F6300B30535 /* UICamSwitch.m */, - 635173F71BA082A40095EB0A /* UIChatBubblePhotoCell.h */, - 635173F81BA082A40095EB0A /* UIChatBubblePhotoCell.m */, - 639E9CA21C0DB7E500019A75 /* UIChatBubblePhotoCell.xib */, - D3A8BB6E15A6C7D500F96BE5 /* UIChatBubbleTextCell.h */, - D3A8BB6F15A6C7D500F96BE5 /* UIChatBubbleTextCell.m */, - 639E9CA51C0DB7EA00019A75 /* UIChatBubbleTextCell.xib */, - 617C2428263022430042FB4A /* UIChatContentView.h */, - 617C2429263022690042FB4A /* UIChatContentView.m */, - D3EA540F159853750037DC6B /* UIChatCell.h */, - D3EA5410159853750037DC6B /* UIChatCell.m */, - 639CEB0B1A1DF4FA004DE38F /* UIChatCell.xib */, - 8CD99A402090CE25008A7CDA /* UIChatConversationImdnTableViewCell.h */, - 8CD99A412090CE6F008A7CDA /* UIChatConversationImdnTableViewCell.m */, - 8CBD7BAB20B6B82A00E5DCC0 /* UIChatConversationImdnTableViewCell.xib */, - 8CA70AE11F9E39E400A3D2EB /* UIChatConversationInfoTableViewCell.h */, - 8CA70AE21F9E39E400A3D2EB /* UIChatConversationInfoTableViewCell.m */, - 8CBD7BA820B6B82400E5DCC0 /* UIChatConversationInfoTableViewCell.xib */, - 63B8D69F1BCBF43100C12B09 /* UIChatCreateCell.h */, - 63B8D6A01BCBF43100C12B09 /* UIChatCreateCell.m */, - 639E9CA81C0DB7F200019A75 /* UIChatCreateCell.xib */, - 8C9C5E0E1F83BD97006987FA /* UIChatCreateCollectionViewCell.h */, - 8C9C5E0F1F83BD97006987FA /* UIChatCreateCollectionViewCell.m */, - 8CBD7BAE20B6B82F00E5DCC0 /* UIChatCreateCollectionViewCell.xib */, - 8C92ABF11FA773C20006FB5D /* UIChatNotifiedEventCell.h */, - 8C92ABF21FA773E50006FB5D /* UIChatNotifiedEventCell.m */, - 8C92ABE71FA773190006FB5D /* UIChatNotifiedEventCell.xib */, - 639E9C7E1C0DB13D00019A75 /* UICheckBoxTableView.h */, - 639E9C7F1C0DB13D00019A75 /* UICheckBoxTableView.m */, - D31B4B1E159876C0002E6C72 /* UICompositeView.h */, - D31B4B1F159876C0002E6C72 /* UICompositeView.m */, - 639CEB051A1DF4EB004DE38F /* UICompositeView.xib */, - 638F1A8F1C21993D004B8E02 /* UICompositeView~ipad.xib */, - 63701DDD1BA32039006A9AE3 /* UIConfirmationDialog.h */, - 63701DDE1BA32039006A9AE3 /* UIConfirmationDialog.m */, - 639E9CAB1C0DB7FB00019A75 /* UIConfirmationDialog.xib */, - D3A55FBA15877E5E003FD403 /* UIContactCell.h */, - D3A55FBB15877E5E003FD403 /* UIContactCell.m */, - F088488D19FF8C41007FFCF3 /* UIContactCell.xib */, - D3C6526515AC1A8F0092A874 /* UIContactDetailsCell.h */, - D3C6526615AC1A8F0092A874 /* UIContactDetailsCell.m */, - 639E9CAE1C0DB80300019A75 /* UIContactDetailsCell.xib */, - 2248E90C12F7E4CF00220D9C /* UIDigitButton.h */, - 2248E90D12F7E4CF00220D9C /* UIDigitButton.m */, - 61CCC3D721933B380060EDEA /* UIDeviceCell.h */, - 61CCC3DE21933B580060EDEA /* UIDeviceCell.m */, - 61CCC3E021933B660060EDEA /* UIDeviceCell.xib */, - D31C9C96158A1CDE00756B45 /* UIHistoryCell.h */, - D31C9C97158A1CDE00756B45 /* UIHistoryCell.m */, - 639CEB021A1DF4E4004DE38F /* UIHistoryCell.xib */, - 636BC9951B5F921B00C754CE /* UIIconButton.h */, - 636BC9961B5F921B00C754CE /* UIIconButton.m */, - CF15F21B20E4F9A3008B1DE6 /* UIImageViewDeletable.h */, - CF15F21C20E4F9A3008B1DE6 /* UIImageViewDeletable.m */, - CF15F21D20E4F9A3008B1DE6 /* UIImageViewDeletable.xib */, - 6135761A240E81AC005304D4 /* UIInterfaceStyleButton.h */, - 6135761B240E81BA005304D4 /* UIInterfaceStyleButton.m */, - 6135761D240E81C7005304D4 /* UIInterfaceStyleToggleButton.h */, - 6135761E240E81D0005304D4 /* UIInterfaceStyleToggleButton.m */, - 634610041B61330300548952 /* UILabel+Boldify.h */, - 634610051B61330300548952 /* UILabel+Boldify.m */, - CF1DE92C210A0F5C00A0A97E /* UILinphoneAudioPlayer.h */, - CF1DE924210A0F5A00A0A97E /* UILinphoneAudioPlayer.m */, - CF1DE92B210A0F5B00A0A97E /* UILinphoneAudioPlayer.xib */, - D306459C1611EC2900BB571E /* UILoadingImageView.h */, - D306459D1611EC2900BB571E /* UILoadingImageView.m */, - CF7602E42108759A00749F76 /* UIRecordingCell.h */, - CF7602E52108759A00749F76 /* UIRecordingCell.m */, - CF7602E62108759A00749F76 /* UIRecordingCell.xib */, - 6313482E1B6F7B6600C6BDCB /* UIRoundBorderedButton.h */, - 6313482F1B6F7B6600C6BDCB /* UIRoundBorderedButton.m */, - 63FB30331A680E73008CA393 /* UIRoundedImageView.h */, - 63FB30341A680E73008CA393 /* UIRoundedImageView.m */, - 8C5D1B991D9BC48100DC6539 /* UIShopTableCell.h */, - 8C5D1B9B1D9BC48100DC6539 /* UIShopTableCell.xib */, - 24A345A71D95799900881A5C /* UIShopTableCell.h */, - 630CF5551AF7CE1500539F7A /* UITextField+DoneButton.h */, - 630CF5561AF7CE1500539F7A /* UITextField+DoneButton.m */, - F03CA84118C72F1A0008889D /* UITextViewNoDefine.h */, - F03CA84218C72F1A0008889D /* UITextViewNoDefine.m */, - D32648421588F6FA00930C67 /* UIToggleButton.h */, - D32648431588F6FB00930C67 /* UIToggleButton.m */, - 24A345A51D95798A00881A5C /* UIShopTableCell.m */, - 24A3459D1D95797700881A5C /* UIShopTableCell.xib */, - ); - path = LinphoneUI; - sourceTree = ""; - }; - 29B97314FDCFA39411CA2CEA = { - isa = PBXGroup; - children = ( - 663FC9F3288942B500481124 /* CallUITests-Runner.app */, - 8C23BCB71D82AAC3005F19BB /* linphone.entitlements */, - 614D09CD21E74D5400C43EDF /* GoogleService-Info.plist */, - 080E96DDFE201D6D7F000001 /* Classes */, - 61AE364C20C00B370089D9D3 /* linphoneExtension */, - EA5F25DA232BD3E200475F2E /* msgNotificationService */, - 662F5971288AEFAA00C9CAF7 /* UITests */, - EA8CB82A239F96CA00C330CC /* msgNotificationContent */, - 29B97323FDCFA39411CA2CEA /* Frameworks */, - F0938158188E629800A55DFA /* iTunesArtwork */, - 29B97315FDCFA39411CA2CEA /* Other Sources */, - 19C28FACFE9D520D11CA2CBB /* Products */, - 633E388219FFB0F400936D1C /* README.md */, - 63AADBC31B6A0FF200AA16FD /* Resources */, - D398D3031594B0FB00FD553C /* Settings */, - 75AA7090378DBBA5417E4370 /* Pods */, - ); - name = CustomTemplate; - sourceTree = ""; - }; - 29B97315FDCFA39411CA2CEA /* Other Sources */ = { - isa = PBXGroup; - children = ( - 32CA4F630368D1EE00C91783 /* linphone_Prefix.pch */, - 29B97316FDCFA39411CA2CEA /* main.m */, - ); - name = "Other Sources"; - sourceTree = ""; - }; - 29B97323FDCFA39411CA2CEA /* Frameworks */ = { - isa = PBXGroup; - children = ( - 61DD7E1E2372E88F001BDD01 /* CoreLocation.framework */, - 6180D6FD21EE41A800AD9CB6 /* QuickLook.framework */, - 22B5F03410CE6B2F00777D97 /* AddressBook.framework */, - 22B5EFA210CE50BD00777D97 /* AddressBookUI.framework */, - 22405EED1600B4E400B92522 /* AssetsLibrary.framework */, - 2274402E106F335E006EC466 /* AudioToolbox.framework */, - F0BB8C311936246600974404 /* AudioUnit.framework */, - 224567C1107B968500F10948 /* AVFoundation.framework */, - 61F1996E20C6B1D5006B069A /* AVKit.framework */, - 8C5BCEC61EB3859200A9AAEF /* bctoolbox-tester.framework */, - 8C2595DE1DEDCC8E007A6424 /* CallKit.framework */, - 228697C311AC29B800E9E0CA /* CFNetwork.framework */, - 24E1C7B91F9A235500D3F981 /* Contacts.framework */, - 22744019106F31BD006EC466 /* CoreAudio.framework */, - 22744056106F9BC9006EC466 /* CoreFoundation.framework */, - 288765FC0DF74451002DB57D /* CoreGraphics.framework */, - 22276E8813C73DC000210156 /* CoreMedia.framework */, - 340751961506459A00B89C47 /* CoreTelephony.framework */, - 22276E8613C73D8A00210156 /* CoreVideo.framework */, - 1D30AB110D05D00D00671497 /* Foundation.framework */, - F0BB8C4A193631B300974404 /* ImageIO.framework */, - F0FF66AA1ACAEEB0008A4486 /* IOKit.framework */, - 344ABDEF14850AE9007420B6 /* libc++.1.dylib */, - F03A9B9718C0DB6F00C4D7FE /* libc++.dylib */, - F0B026F21AA710AF00FF49F7 /* libiconv.dylib */, - 63EEE40D1BBA9B250087D3AF /* libiconv.tbd */, - F0BB8C34193624C800974404 /* libresolv.9.dylib */, - 22D1B68012A3E0BE001AE361 /* libresolv.dylib */, - 8CD0B3BE1FA22CBA008FEB16 /* libsoci_core.a */, - 8C1A1F7C1FA331D40064BE00 /* libsoci_sqlite3.a */, - D32B6E2E15A5C0AC0033019F /* libsqlite3.dylib */, - 63EEE40B1BBA9B1B0087D3AF /* libsqlite3.tbd */, - 344ABDF014850AE9007420B6 /* libstdc++.6.dylib */, - F03A9B9418C0DAE100C4D7FE /* libstdc++.dylib */, - 152F22351B15E889008C0621 /* libxml2.dylib */, - 63EEE4091BBA9B110087D3AF /* libxml2.tbd */, - F05BAA611A5D594E00411815 /* libz.dylib */, - 8C3EAA191EB8D9C300B732B6 /* linphonetester.framework */, - F0B89C2118DC89E30050B60E /* MediaPlayer.framework */, - D37DC7171594AF3400B2A5EB /* MessageUI.framework */, - 226EF06B15FA256B005865C7 /* MobileCoreServices.framework */, - 5EF0C33820C806A5005081B0 /* NotificationCenter.framework */, - 70E542F213E147E3002BA2C0 /* OpenGLES.framework */, - 249660941FD6A359001D55AA /* Photos.framework */, - 8CA2004B1D8158440095F859 /* PushKit.framework */, - 70E542F413E147EB002BA2C0 /* QuartzCore.framework */, - 22744043106F33FC006EC466 /* Security.framework */, - F0181B6B18BF7B1200A9A357 /* SenTestingKit.framework */, - 570742661D5A63DB004B9C84 /* StoreKit.framework */, - 2264B6D111200342002C2C53 /* SystemConfiguration.framework */, - 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */, - 8C73477B1D9BA3A00022EE8C /* UserNotifications.framework */, - 5E58962520DCE5700030868C /* UserNotificationsUI.framework */, - 63CE583F1C85EBF400304800 /* VideoToolbox.framework */, -<<<<<<< HEAD - 49381ABF67DC815C5F299A43 /* Pods_CallUITests.framework */, - DD200DBE06C872CC97CA1695 /* Pods_ConferenceUITests.framework */, - A6FD9930E5B1F4149D45BB1C /* Pods_linphone.framework */, - 1DA35546364BBF65F0DF5E8F /* Pods_msgNotificationContent.framework */, - 943C756D8C523B63A9BA4022 /* Pods_msgNotificationService.framework */, -======= - CFCC14A580A05DEC78090273 /* Pods_linphone.framework */, - 2AB0AB106BE1526DC105F515 /* Pods_msgNotificationContent.framework */, - FC98FB0E59C552BC311C0FCA /* Pods_msgNotificationService.framework */, - 68A574DB9BF62E84DA258A0A /* Pods_CallUITests.framework */, - D7EC2D3C18D2264B85F21385 /* Pods_AutoConnectLinphoneAccount.framework */, ->>>>>>> 8e16f1fad (new test plans) - ); - name = Frameworks; - sourceTree = ""; - }; - 61AE364C20C00B370089D9D3 /* linphoneExtension */ = { - isa = PBXGroup; - children = ( - 61AE366320C00C810089D9D3 /* linphoneExtension.entitlements */, - 61AE364D20C00B370089D9D3 /* ShareViewController.h */, - 61AE364E20C00B370089D9D3 /* ShareViewController.m */, - 61AE365020C00B370089D9D3 /* MainInterface.storyboard */, - 61AE365320C00B370089D9D3 /* Info.plist */, - ); - path = linphoneExtension; - sourceTree = ""; - }; - 633888401BFB2C49001D5E7B /* HPGrowingTextView */ = { - isa = PBXGroup; - children = ( - 633888411BFB2C49001D5E7B /* HPGrowingTextView.h */, - 633888421BFB2C49001D5E7B /* HPGrowingTextView.m */, - 633888431BFB2C49001D5E7B /* HPTextViewInternal.h */, - 633888441BFB2C49001D5E7B /* HPTextViewInternal.m */, - ); - name = HPGrowingTextView; - path = Utils/HPGrowingTextView; - sourceTree = ""; - }; - 633FEBE11D3CD5570014B822 /* images */ = { - isa = PBXGroup; - children = ( - C6F55646287CCFB60056E213 /* menu_voip_meeting_schedule.png */, - C6F55644287CC69F0056E213 /* voip_meeting_schedule.png */, - C63F72A4285A2F1B0066163B /* conference_schedule_calendar_default.png */, - C63F72AD285A2F1C0066163B /* conference_schedule_participants_default.png */, - C63F72A8285A2F1C0066163B /* conference_schedule_time_default.png */, - C63F7280285A2F160066163B /* voip_audio_routes.png */, - C63F729B285A2F1A0066163B /* voip_bluetooth.png */, - C63F728A285A2F180066163B /* voip_call_add.png */, - C63F72A5285A2F1B0066163B /* voip_call_chat.png */, - C63F7282285A2F170066163B /* voip_call_forward.png */, - C63F729A285A2F1A0066163B /* voip_call_header_active.png */, - C63F7279285A2F150066163B /* voip_call_header_incoming.png */, - C63F72B4285A2F1D0066163B /* voip_call_header_outgoing.png */, - C63F727B285A2F160066163B /* voip_call_header_paused.png */, - C63F72A0285A2F1B0066163B /* voip_call_list_menu.png */, - C63F7287285A2F170066163B /* voip_call_more.png */, - C63F7276285A2F150066163B /* voip_call_numpad.png */, - C63F72A3285A2F1B0066163B /* voip_call_participants.png */, - C63F7281285A2F160066163B /* voip_call_record.png */, - C63F7288285A2F170066163B /* voip_call_stats.png */, - C63F729F285A2F1B0066163B /* voip_call.png */, - C63F727A285A2F150066163B /* voip_calls_list.png */, - C63F72AA285A2F1C0066163B /* voip_camera_off.png */, - C63F729D285A2F1A0066163B /* voip_camera_on.png */, - C63F72B3285A2F1D0066163B /* voip_cancel.png */, - C63F7283285A2F170066163B /* voip_change_camera.png */, - C63F7277285A2F150066163B /* voip_chat_rooms_list.png */, - C63F7284285A2F170066163B /* voip_checkbox_checked.png */, - C63F72A6285A2F1B0066163B /* voip_checkbox_unchecked.png */, - C63F72A1285A2F1B0066163B /* voip_conference_active_speaker.png */, - C63F7297285A2F190066163B /* voip_conference_audio_only.png */, - C63F72AE285A2F1D0066163B /* voip_conference_mosaic.png */, - C63F72B0285A2F1D0066163B /* voip_conference_new_selected.png */, - C63F7299285A2F1A0066163B /* voip_conference_new.png */, - C63F728C285A2F180066163B /* voip_conference_paused_big.png */, - C63F729E285A2F1A0066163B /* voip_conference_play_big.png */, - C63F728B285A2F180066163B /* voip_copy.png */, - C63F72B2285A2F1D0066163B /* voip_delete.png */, - C63F7271285A2F140066163B /* voip_dropdown.png */, - C63F7295285A2F190066163B /* voip_earpiece.png */, - C63F72A7285A2F1C0066163B /* voip_edit.png */, - C63F7275285A2F150066163B /* voip_export.png */, - C63F7291285A2F190066163B /* voip_hangup.png */, - C63F7285285A2F170066163B /* voip_info.png */, - C63F7294285A2F190066163B /* voip_mandatory.png */, - C63F7298285A2F1A0066163B /* voip_menu_more.png */, - C63F72A9285A2F1C0066163B /* voip_merge_calls.png */, - C63F729C285A2F1A0066163B /* voip_micro_off.png */, - C63F72AB285A2F1C0066163B /* voip_micro_on.png */, - C63F728F285A2F180066163B /* voip_multiple_contacts_avatar.png */, - C63F727C285A2F160066163B /* voip_numpad_0.png */, - C63F7293285A2F190066163B /* voip_numpad_1.png */, - C63F7296285A2F190066163B /* voip_numpad_2.png */, - C63F727D285A2F160066163B /* voip_numpad_3.png */, - C63F7278285A2F150066163B /* voip_numpad_4.png */, - C63F72AF285A2F1D0066163B /* voip_numpad_5.png */, - C63F72A2285A2F1B0066163B /* voip_numpad_6.png */, - C63F7273285A2F140066163B /* voip_numpad_7.png */, - C63F7289285A2F180066163B /* voip_numpad_8.png */, - C63F727E285A2F160066163B /* voip_numpad_9.png */, - C63F728E285A2F180066163B /* voip_numpad_hash.png */, - C63F728D285A2F180066163B /* voip_numpad_star.png */, - C63F7292285A2F190066163B /* voip_pause.png */, - C63F7274285A2F150066163B /* voip_radio_off.png */, - C63F72AC285A2F1C0066163B /* voip_radio_on.png */, - C63F7290285A2F180066163B /* voip_remote_recording.png */, - C63F72B1285A2F1D0066163B /* voip_single_contact_avatar.png */, - C63F7286285A2F170066163B /* voip_speaker_off.png */, - C63F727F285A2F160066163B /* voip_speaker_on.png */, - C63F7272285A2F140066163B /* voip_spinner.png */, - C66B040D26F095CE009B5EDC /* cancel_forward.png */, - C66B040926EFDA54009B5EDC /* reply_cancel.png */, - C6A1BB4426E890BD00540D50 /* file_voice_default.png */, - C6A1BB4226E88F7C00540D50 /* menu_resend_default.png */, - C6A1BB4026E889AD00540D50 /* forward_message_default.png */, - C6A1BB3926E881E100540D50 /* menu_delete.png */, - C6A1BB3326E8815400540D50 /* menu_copy_text_default.png */, - C6A1BB3226E8815400540D50 /* menu_forward_default.png */, - C6A1BB3126E8815300540D50 /* menu_info.png */, - C6A1BB3426E8815400540D50 /* menu_reply_default.png */, - C6B4444026AAD0970076C517 /* file_audio_default.png */, - C6B4443E26AAD0970076C517 /* file_default.png */, - C6B4444126AAD0970076C517 /* file_pdf_default.png */, - C6B4443F26AAD0970076C517 /* file_picture_default.png */, - C6B4443D26AAD0970076C517 /* file_video_default.png */, - C622E3EC26A8128F004F5434 /* vr_off.png */, - C622E3EB26A8128F004F5434 /* vr_on.png */, - C622E3ED26A8128F004F5434 /* vr_pause.png */, - C622E3EE26A81290004F5434 /* vr_play.png */, - C622E3E926A8128F004F5434 /* vr_stop.png */, - C622E3EA26A8128F004F5434 /* vr_wave.png */, - C61B1BF62667EC6B001A4E4A /* ephemeral_messages_color_A.png */, - C61B1BF32667D202001A4E4A /* more_menu_default.png */, - C61B1BF12667D075001A4E4A /* menu_security_default.png */, - C64A85512667B74100252AD2 /* ephemeral_messages_default.png */, - 633FEBE21D3CD5570014B822 /* add_field_default.png */, - 633FEBE31D3CD5570014B822 /* add_field_default@2x.png */, - 633FEBE41D3CD5570014B822 /* add_field_over.png */, - 633FEBE51D3CD5570014B822 /* add_field_over@2x.png */, - 633FEBE61D3CD5570014B822 /* avatar.png */, - 633FEBE71D3CD5570014B822 /* avatar@2x.png */, - 633FEBE81D3CD5570014B822 /* avatar~ipad.png */, - 633FEBE91D3CD5570014B822 /* avatar~ipad@2x.png */, - 633FEBEA1D3CD5570014B822 /* back_default.png */, - 633FEBEB1D3CD5570014B822 /* back_default@2x.png */, - 633FEBEC1D3CD5570014B822 /* back_disabled.png */, - 633FEBED1D3CD5570014B822 /* back_disabled@2x.png */, - 633FEBEE1D3CD5570014B822 /* backspace_default.png */, - 633FEBEF1D3CD5570014B822 /* backspace_default@2x.png */, - 633FEBF01D3CD5570014B822 /* backspace_disabled.png */, - 633FEBF11D3CD5570014B822 /* backspace_disabled@2x.png */, - 633FEBF21D3CD5570014B822 /* backspace_over.png */, - 633FEBF31D3CD5570014B822 /* backspace_over@2x.png */, - 633FEBF41D3CD5570014B822 /* call_add_default.png */, - 633FEBF51D3CD5570014B822 /* call_add_default@2x.png */, - 633FEBF61D3CD5570014B822 /* call_add_disabled.png */, - 633FEBF71D3CD5570014B822 /* call_add_disabled@2x.png */, - 633FEBF81D3CD5570014B822 /* call_alt_back_default.png */, - 633FEBF91D3CD5570014B822 /* call_alt_back_default@2x.png */, - 633FEBFA1D3CD5570014B822 /* call_alt_back_disabled.png */, - 633FEBFB1D3CD5570014B822 /* call_alt_back_disabled@2x.png */, - 633FEBFC1D3CD5570014B822 /* call_alt_start_default.png */, - 633FEBFD1D3CD5570014B822 /* call_alt_start_default@2x.png */, - 633FEBFE1D3CD5570014B822 /* call_alt_start_disabled.png */, - 633FEBFF1D3CD5570014B822 /* call_alt_start_disabled@2x.png */, - 633FEC001D3CD5570014B822 /* call_audio_start_default.png */, - 633FEC011D3CD5570014B822 /* call_audio_start_default@2x.png */, - 633FEC021D3CD5570014B822 /* call_audio_start_disabled.png */, - 633FEC031D3CD5570014B822 /* call_audio_start_disabled@2x.png */, - 633FEC041D3CD5570014B822 /* call_back_default.png */, - 633FEC051D3CD5570014B822 /* call_back_default@2x.png */, - 633FEC061D3CD5570014B822 /* call_back_disabled.png */, - 633FEC071D3CD5570014B822 /* call_back_disabled@2x.png */, - 633FEC081D3CD5570014B822 /* call_hangup_default.png */, - 633FEC091D3CD5570014B822 /* call_hangup_default@2x.png */, - 633FEC0A1D3CD5570014B822 /* call_hangup_disabled.png */, - 633FEC0B1D3CD5570014B822 /* call_hangup_disabled@2x.png */, - 633FEC0C1D3CD5570014B822 /* call_incoming.png */, - 633FEC0D1D3CD5570014B822 /* call_incoming@2x.png */, - 633FEC0E1D3CD5570014B822 /* call_missed.png */, - 633FEC0F1D3CD5570014B822 /* call_missed@2x.png */, - 633FEC101D3CD5570014B822 /* call_outgoing.png */, - 633FEC111D3CD5570014B822 /* call_outgoing@2x.png */, - 633FEC121D3CD5570014B822 /* call_quality_indicator_0.png */, - 633FEC131D3CD5570014B822 /* call_quality_indicator_0@2x.png */, - 633FEC141D3CD5570014B822 /* call_quality_indicator_1.png */, - 633FEC151D3CD5570014B822 /* call_quality_indicator_1@2x.png */, - 633FEC161D3CD5570014B822 /* call_quality_indicator_2.png */, - 633FEC171D3CD5570014B822 /* call_quality_indicator_2@2x.png */, - 633FEC181D3CD5570014B822 /* call_quality_indicator_3.png */, - 633FEC191D3CD5570014B822 /* call_quality_indicator_3@2x.png */, - 633FEC1A1D3CD5570014B822 /* call_quality_indicator_4.png */, - 633FEC1B1D3CD5570014B822 /* call_quality_indicator_4@2x.png */, - 633FEC1C1D3CD5570014B822 /* call_start_body_default.png */, - 633FEC1D1D3CD5570014B822 /* call_start_body_default@2x.png */, - 633FEC1E1D3CD5570014B822 /* call_start_body_default~ipad.png */, - 633FEC1F1D3CD5570014B822 /* call_start_body_default~ipad@2x.png */, - 633FEC201D3CD5570014B822 /* call_start_body_disabled.png */, - 633FEC211D3CD5570014B822 /* call_start_body_disabled@2x.png */, - 633FEC221D3CD5570014B822 /* call_start_body_disabled~ipad.png */, - 633FEC231D3CD5570014B822 /* call_start_body_disabled~ipad@2x.png */, - 633FEC241D3CD5570014B822 /* call_start_body_over.png */, - 633FEC251D3CD5570014B822 /* call_start_body_over@2x.png */, - 633FEC261D3CD5570014B822 /* call_start_body_over~ipad.png */, - 633FEC271D3CD5570014B822 /* call_start_body_over~ipad@2x.png */, - 633FEC281D3CD5570014B822 /* call_status_incoming.png */, - 633FEC291D3CD5570014B822 /* call_status_incoming@2x.png */, - 633FEC2A1D3CD5570014B822 /* call_status_incoming~ipad.png */, - 633FEC2B1D3CD5570014B822 /* call_status_incoming~ipad@2x.png */, - 633FEC2C1D3CD5570014B822 /* call_status_missed.png */, - 633FEC2D1D3CD5570014B822 /* call_status_missed@2x.png */, - 633FEC2E1D3CD5570014B822 /* call_status_missed~ipad.png */, - 633FEC2F1D3CD5570014B822 /* call_status_missed~ipad@2x.png */, - 633FEC301D3CD5570014B822 /* call_status_outgoing.png */, - 633FEC311D3CD5570014B822 /* call_status_outgoing@2x.png */, - 633FEC321D3CD5570014B822 /* call_status_outgoing~ipad.png */, - 633FEC331D3CD5570014B822 /* call_status_outgoing~ipad@2x.png */, - 633FEC341D3CD5570014B822 /* call_transfer_default.png */, - 633FEC351D3CD5570014B822 /* call_transfer_default@2x.png */, - 633FEC361D3CD5570014B822 /* call_transfer_disabled.png */, - 633FEC371D3CD5570014B822 /* call_transfer_disabled@2x.png */, - 633FEC381D3CD5570014B822 /* call_video_start_default.png */, - 633FEC391D3CD5570014B822 /* call_video_start_default@2x.png */, - 633FEC3A1D3CD5570014B822 /* call_video_start_disabled.png */, - 633FEC3B1D3CD5570014B822 /* call_video_start_disabled@2x.png */, - 24BFAA9B209B062F004F47A7 /* callkit_logo.png */, - 8CD99A1B20908C27008A7CDA /* callkit_logo@2x.png */, - 633FEC3C1D3CD5570014B822 /* camera_default.png */, - 633FEC3D1D3CD5570014B822 /* camera_default@2x.png */, - 633FEC3E1D3CD5570014B822 /* camera_disabled.png */, - 633FEC3F1D3CD5570014B822 /* camera_disabled@2x.png */, - 633FEC401D3CD5570014B822 /* camera_selected.png */, - 633FEC411D3CD5570014B822 /* camera_selected@2x.png */, - 633FEC421D3CD5570014B822 /* camera_switch_default.png */, - 633FEC431D3CD5570014B822 /* camera_switch_default@2x.png */, - 633FEC441D3CD5570014B822 /* camera_switch_disabled.png */, - 633FEC451D3CD5570014B822 /* camera_switch_disabled@2x.png */, - 633FEC461D3CD5570014B822 /* camera_switch_over.png */, - 633FEC471D3CD5570014B822 /* camera_switch_over@2x.png */, - 633FEC481D3CD5570014B822 /* cancel_edit_default.png */, - 633FEC491D3CD5570014B822 /* cancel_edit_default@2x.png */, - 633FEC4A1D3CD5570014B822 /* cancel_edit_disabled.png */, - 633FEC4B1D3CD5570014B822 /* cancel_edit_disabled@2x.png */, - 633FEC4C1D3CD5570014B822 /* chat_add_default.png */, - 633FEC4D1D3CD5570014B822 /* chat_add_default@2x.png */, - 633FEC4E1D3CD5570014B822 /* chat_add_disabled.png */, - 633FEC4F1D3CD5570014B822 /* chat_add_disabled@2x.png */, - 615A2808217F1FD40060F920 /* chat_add_group.png */, - 615A2810217F1FDE0060F920 /* chat_add_group@2x.png */, - 633FEC501D3CD5570014B822 /* chat_attachment_default.png */, - 633FEC511D3CD5570014B822 /* chat_attachment_default@2x.png */, - 633FEC521D3CD5570014B822 /* chat_attachment_disabled.png */, - 633FEC531D3CD5570014B822 /* chat_attachment_disabled@2x.png */, - 633FEC541D3CD5570014B822 /* chat_attachment_over.png */, - 633FEC551D3CD5570014B822 /* chat_attachment_over@2x.png */, - 244523AC1E8266CC0037A187 /* chat_delivered.png */, - 244523AD1E8266CC0037A187 /* chat_error.png */, - 8CA70AD31F9E285B00A3D2EB /* chat_group_add.png */, - 8CA70AD21F9E285B00A3D2EB /* chat_group_add@2x.png */, - 8C2A81941F87B8000012A66B /* chat_group_avatar.png */, - 8C2A81931F87B7FF0012A66B /* chat_group_avatar@2x.png */, - 8CF25D9B1F9F76BC00BEA0C1 /* chat_group_informations.png */, - 8CF25D9C1F9F76BD00BEA0C1 /* chat_group_informations@2x.png */, - 615A2816217F280C0060F920 /* chat_list_indicator.png */, - 615A2818217F28160060F920 /* chat_list_indicator@2x.png */, - 633FEC561D3CD5570014B822 /* chat_list_indicator~ipad.png */, - 633FEC571D3CD5570014B822 /* chat_list_indicator~ipad@2x.png */, - 633FEC581D3CD5570014B822 /* chat_message_not_delivered.png */, - 633FEC591D3CD5570014B822 /* chat_message_not_delivered@2x.png */, - 244523AE1E8266CC0037A187 /* chat_read.png */, - 8CB2B8F61F86229B0015CEE2 /* chat_secure.png */, - 633FEC5A1D3CD5570014B822 /* chat_send_default.png */, - 633FEC5B1D3CD5570014B822 /* chat_send_default@2x.png */, - 633FEC5C1D3CD5570014B822 /* chat_send_disabled.png */, - 633FEC5D1D3CD5570014B822 /* chat_send_disabled@2x.png */, - 633FEC5E1D3CD5570014B822 /* chat_send_over.png */, - 633FEC5F1D3CD5570014B822 /* chat_send_over@2x.png */, - 633FEC601D3CD5570014B822 /* chat_start_body_default.png */, - 633FEC611D3CD5570014B822 /* chat_start_body_default@2x.png */, - 633FEC621D3CD5570014B822 /* chat_start_body_default~ipad.png */, - 633FEC631D3CD5570014B822 /* chat_start_body_default~ipad@2x.png */, - 633FEC641D3CD5570014B822 /* chat_start_body_disabled.png */, - 633FEC651D3CD5570014B822 /* chat_start_body_disabled@2x.png */, - 633FEC661D3CD5570014B822 /* chat_start_body_disabled~ipad.png */, - 633FEC671D3CD5570014B822 /* chat_start_body_disabled~ipad@2x.png */, - 633FEC681D3CD5570014B822 /* chat_start_body_over.png */, - 633FEC691D3CD5570014B822 /* chat_start_body_over@2x.png */, - 633FEC6A1D3CD5570014B822 /* chat_start_body_over~ipad.png */, - 633FEC6B1D3CD5570014B822 /* chat_start_body_over~ipad@2x.png */, - 244523BC1E8D3A6C0037A187 /* chat_unsecure.png */, - 8CDC618C1F84D89B0087CF7F /* check_selected.png */, - 8CDC61961F84D9270087CF7F /* check_selected@2x.png */, - 8CF25D941F9F336100BEA0C1 /* check_unselected.png */, - 8CF25D8B1F9F336000BEA0C1 /* check_unselected@2x.png */, - 633FEC6C1D3CD5570014B822 /* checkbox_checked.png */, - 633FEC6D1D3CD5570014B822 /* checkbox_checked@2x.png */, - 633FEC6E1D3CD5570014B822 /* checkbox_unchecked.png */, - 633FEC6F1D3CD5570014B822 /* checkbox_unchecked@2x.png */, - 61AEBEC52191E47500F35E7F /* chevron_list_close.png */, - 61AEBEC72191E48400F35E7F /* chevron_list_close@2x.png */, - 61AEBEC92191E49200F35E7F /* chevron_list_open.png */, - 61AEBECB2191E4A300F35E7F /* chevron_list_open@2x.png */, - 633FEC701D3CD5570014B822 /* color_A.png */, - 633FEC711D3CD5570014B822 /* color_C.png */, - 633FEC721D3CD5570014B822 /* color_D.png */, - 633FEC731D3CD5570014B822 /* color_E.png */, - 633FEC741D3CD5570014B822 /* color_F.png */, - 633FEC751D3CD5570014B822 /* color_G.png */, - 633FEC761D3CD5570014B822 /* color_H.png */, - 633FEC771D3CD5570014B822 /* color_I.png */, - 633FEC781D3CD5570014B822 /* color_L.png */, - 633FEC791D3CD5570014B822 /* color_M.png */, - 8CE24F551F8268840077AC0A /* conference_delete.png */, - 8CE24F561F8268840077AC0A /* conference_delete@2x.png */, - 633FEC7A1D3CD5570014B822 /* conference_exit_default.png */, - 633FEC7B1D3CD5570014B822 /* conference_exit_default@2x.png */, - 633FEC7C1D3CD5570014B822 /* conference_exit_over.png */, - 633FEC7D1D3CD5570014B822 /* conference_exit_over@2x.png */, - 633FEC7E1D3CD5570014B822 /* contact_add_default.png */, - 633FEC7F1D3CD5570014B822 /* contact_add_default@2x.png */, - 633FEC801D3CD5570014B822 /* contact_add_disabled.png */, - 633FEC811D3CD5570014B822 /* contact_add_disabled@2x.png */, - 633FEC821D3CD5570014B822 /* contacts_all_default.png */, - 633FEC831D3CD5570014B822 /* contacts_all_default@2x.png */, - 633FEC841D3CD5570014B822 /* contacts_all_disabled.png */, - 633FEC851D3CD5570014B822 /* contacts_all_disabled@2x.png */, - 633FEC861D3CD5570014B822 /* contacts_all_selected.png */, - 633FEC871D3CD5570014B822 /* contacts_all_selected@2x.png */, - 24BFAA99209B062E004F47A7 /* contacts_sip_default.png */, - 24BFAA94209B062C004F47A7 /* contacts_sip_default@2x.png */, - 24BFAA97209B062E004F47A7 /* contacts_sip_selected.png */, - 24BFAA9C209B062F004F47A7 /* contacts_sip_selected@2x.png */, - 633FEC8E1D3CD5570014B822 /* delete_default.png */, - 633FEC8F1D3CD5570014B822 /* delete_default@2x.png */, - 633FEC901D3CD5570014B822 /* delete_disabled.png */, - 633FEC911D3CD5570014B822 /* delete_disabled@2x.png */, - 633FEC921D3CD5570014B822 /* delete_field_default.png */, - 633FEC931D3CD5570014B822 /* delete_field_default@2x.png */, - 633FEC941D3CD5570014B822 /* delete_field_over.png */, - 633FEC951D3CD5570014B822 /* delete_field_over@2x.png */, - CFBD7A2320E504AD007C5286 /* delete_img.png */, - 633FEC961D3CD5570014B822 /* deselect_all.png */, - 633FEC971D3CD5570014B822 /* deselect_all@2x.png */, - 633FEC981D3CD5570014B822 /* dialer_alt_back.png */, - 633FEC991D3CD5570014B822 /* dialer_alt_back@2x.png */, - 633FEC9A1D3CD5570014B822 /* dialer_back_default.png */, - 633FEC9B1D3CD5570014B822 /* dialer_back_default@2x.png */, - 633FEC9C1D3CD5570014B822 /* dialer_back_disabled.png */, - 633FEC9D1D3CD5570014B822 /* dialer_back_disabled@2x.png */, - 24BFAA8C209B062B004F47A7 /* dialer_background.png */, - 633FECA01D3CD5570014B822 /* edit_default.png */, - 633FECA11D3CD5570014B822 /* edit_default@2x.png */, - 633FECA21D3CD5570014B822 /* edit_disabled.png */, - 633FECA31D3CD5570014B822 /* edit_disabled@2x.png */, - 633FECA41D3CD5570014B822 /* edit_list_default.png */, - 633FECA51D3CD5570014B822 /* edit_list_default@2x.png */, - 633FECA61D3CD5570014B822 /* edit_list_disabled.png */, - 633FECA71D3CD5570014B822 /* edit_list_disabled@2x.png */, - 633FECA81D3CD5570014B822 /* footer_chat_default.png */, - 633FECA91D3CD5570014B822 /* footer_chat_default@2x.png */, - 633FECAA1D3CD5570014B822 /* footer_chat_disabled.png */, - 633FECAB1D3CD5570014B822 /* footer_chat_disabled@2x.png */, - 633FECAC1D3CD5570014B822 /* footer_contacts_default.png */, - 633FECAD1D3CD5570014B822 /* footer_contacts_default@2x.png */, - 633FECAE1D3CD5570014B822 /* footer_contacts_disabled.png */, - 633FECAF1D3CD5570014B822 /* footer_contacts_disabled@2x.png */, - 633FECB01D3CD5570014B822 /* footer_dialer_default.png */, - 633FECB11D3CD5570014B822 /* footer_dialer_default@2x.png */, - 633FECB21D3CD5570014B822 /* footer_dialer_disabled.png */, - 633FECB31D3CD5570014B822 /* footer_dialer_disabled@2x.png */, - 633FECB41D3CD5570014B822 /* footer_history_default.png */, - 633FECB51D3CD5570014B822 /* footer_history_default@2x.png */, - 633FECB61D3CD5570014B822 /* footer_history_disabled.png */, - 633FECB71D3CD5570014B822 /* footer_history_disabled@2x.png */, - 633FECB81D3CD5570014B822 /* history_all_default.png */, - 633FECB91D3CD5570014B822 /* history_all_default@2x.png */, - 633FECBA1D3CD5570014B822 /* history_all_disabled.png */, - 633FECBB1D3CD5570014B822 /* history_all_disabled@2x.png */, - 633FECBC1D3CD5570014B822 /* history_all_selected.png */, - 633FECBD1D3CD5570014B822 /* history_all_selected@2x.png */, - 633FECBE1D3CD5570014B822 /* history_chat_indicator.png */, - 633FECBF1D3CD5570014B822 /* history_chat_indicator@2x.png */, - 633FECC01D3CD5570014B822 /* history_missed_default.png */, - 633FECC11D3CD5570014B822 /* history_missed_default@2x.png */, - 633FECC21D3CD5570014B822 /* history_missed_disabled.png */, - 633FECC31D3CD5570014B822 /* history_missed_disabled@2x.png */, - 633FECC41D3CD5570014B822 /* history_missed_selected.png */, - 633FECC51D3CD5570014B822 /* history_missed_selected@2x.png */, - 615A283D2180A2550060F920 /* invite_linphone.png */, - 615A283F2180A2620060F920 /* invite_linphone@2x.png */, - 633FECC61D3CD5570014B822 /* led_connected.png */, - 633FECC71D3CD5570014B822 /* led_connected@2x.png */, - 633FECC81D3CD5570014B822 /* led_disconnected.png */, - 633FECC91D3CD5570014B822 /* led_disconnected@2x.png */, - 633FECCA1D3CD5570014B822 /* led_error.png */, - 633FECCB1D3CD5570014B822 /* led_error@2x.png */, - 633FECCC1D3CD5570014B822 /* led_inprogress.png */, - 633FECCD1D3CD5570014B822 /* led_inprogress@2x.png */, - 8C300D981E40E0CC00728EF3 /* lime_ko.png */, - 8C300D991E40E0CC00728EF3 /* lime_ko@2x.png */, - 24BFAA98209B062E004F47A7 /* linphone_logo.png */, - 24BFAA9D209B0630004F47A7 /* linphone_logo@2x.png */, - 24BFAA93209B062C004F47A7 /* linphone_user.png */, - 24BFAA95209B062D004F47A7 /* linphone_user@2x.png */, - 24BFAA9A209B062F004F47A7 /* linphone_user~ipad.png */, - 24BFAA96209B062D004F47A7 /* linphone_user~ipad@2x.png */, - 633FECD41D3CD5580014B822 /* list_details_default.png */, - 633FECD51D3CD5580014B822 /* list_details_default@2x.png */, - 633FECD61D3CD5580014B822 /* list_details_over.png */, - 633FECD71D3CD5580014B822 /* list_details_over@2x.png */, - 633FECD81D3CD5580014B822 /* menu.png */, - 633FECD91D3CD5580014B822 /* menu@2x.png */, - 61586B7A217A16EE0038AC45 /* menu_about.png */, - 61586B82217A16FD0038AC45 /* menu_about@2x.png */, - 61586B84217A17070038AC45 /* menu_assistant.png */, - 61586B86217A17150038AC45 /* menu_assistant@2x.png */, - 61586B88217A17220038AC45 /* menu_link_account.png */, - 61586B8A217A17320038AC45 /* menu_link_account@2x.png */, - 66E399F52857869200E73456 /* menu_notifications_off.png */, - 66E399F62857869200E73456 /* menu_notifications_on.png */, - 61586B8C217A173F0038AC45 /* menu_options.png */, - 61586B8E217A174F0038AC45 /* menu_options@2x.png */, - 61586B90217A175C0038AC45 /* menu_recordings.png */, - 61586B92217A176F0038AC45 /* menu_recordings@2x.png */, - 633FECDA1D3CD5580014B822 /* micro_default.png */, - 633FECDB1D3CD5580014B822 /* micro_default@2x.png */, - 633FECDC1D3CD5580014B822 /* micro_disabled.png */, - 633FECDD1D3CD5580014B822 /* micro_disabled@2x.png */, - 633FECDE1D3CD5580014B822 /* micro_selected.png */, - 633FECDF1D3CD5580014B822 /* micro_selected@2x.png */, - 8CE24F491F8234A20077AC0A /* next_default.png */, - 8CE24F4A1F8234A30077AC0A /* next_default@2x.png */, - 8CB2B8F71F86229C0015CEE2 /* next_disabled.png */, - 8CB2B8F81F86229D0015CEE2 /* next_disabled@2x.png */, - 633FECE01D3CD5580014B822 /* nowebcamCIF.jpg */, - 633FECE11D3CD5580014B822 /* numpad_0_default.png */, - 633FECE21D3CD5580014B822 /* numpad_0_default@2x.png */, - 633FECE31D3CD5580014B822 /* numpad_0_over.png */, - 633FECE41D3CD5580014B822 /* numpad_0_over@2x.png */, - 633FECE51D3CD5580014B822 /* numpad_0_over~ipad.png */, - 633FECE61D3CD5580014B822 /* numpad_0_over~ipad@2x.png */, - 633FECE71D3CD5580014B822 /* numpad_0~ipad.png */, - 633FECE81D3CD5580014B822 /* numpad_0~ipad@2x.png */, - 633FECE91D3CD5580014B822 /* numpad_1_default.png */, - 633FECEA1D3CD5580014B822 /* numpad_1_default@2x.png */, - 633FECEB1D3CD5580014B822 /* numpad_1_over.png */, - 633FECEC1D3CD5580014B822 /* numpad_1_over@2x.png */, - 633FECED1D3CD5580014B822 /* numpad_1_over~ipad.png */, - 633FECEE1D3CD5580014B822 /* numpad_1_over~ipad@2x.png */, - 633FECEF1D3CD5580014B822 /* numpad_1~ipad.png */, - 633FECF01D3CD5580014B822 /* numpad_1~ipad@2x.png */, - 633FECF11D3CD5580014B822 /* numpad_2_default.png */, - 633FECF21D3CD5580014B822 /* numpad_2_default@2x.png */, - 633FECF31D3CD5580014B822 /* numpad_2_over.png */, - 633FECF41D3CD5580014B822 /* numpad_2_over@2x.png */, - 633FECF51D3CD5580014B822 /* numpad_2_over~ipad.png */, - 633FECF61D3CD5580014B822 /* numpad_2_over~ipad@2x.png */, - 633FECF71D3CD5580014B822 /* numpad_2~ipad.png */, - 633FECF81D3CD5580014B822 /* numpad_2~ipad@2x.png */, - 633FECF91D3CD5580014B822 /* numpad_3_default.png */, - 633FECFA1D3CD5580014B822 /* numpad_3_default@2x.png */, - 633FECFB1D3CD5580014B822 /* numpad_3_over.png */, - 633FECFC1D3CD5580014B822 /* numpad_3_over@2x.png */, - 633FECFD1D3CD5580014B822 /* numpad_3_over~ipad.png */, - 633FECFE1D3CD5580014B822 /* numpad_3_over~ipad@2x.png */, - 633FECFF1D3CD5580014B822 /* numpad_3~ipad.png */, - 633FED001D3CD5580014B822 /* numpad_3~ipad@2x.png */, - 633FED011D3CD5580014B822 /* numpad_4_default.png */, - 633FED021D3CD5580014B822 /* numpad_4_default@2x.png */, - 633FED031D3CD5580014B822 /* numpad_4_over.png */, - 633FED041D3CD5580014B822 /* numpad_4_over@2x.png */, - 633FED051D3CD5580014B822 /* numpad_4_over~ipad.png */, - 633FED061D3CD5580014B822 /* numpad_4_over~ipad@2x.png */, - 633FED071D3CD5580014B822 /* numpad_4~ipad.png */, - 633FED081D3CD5580014B822 /* numpad_4~ipad@2x.png */, - 633FED091D3CD5580014B822 /* numpad_5_default.png */, - 633FED0A1D3CD5580014B822 /* numpad_5_default@2x.png */, - 633FED0B1D3CD5580014B822 /* numpad_5_over.png */, - 633FED0C1D3CD5580014B822 /* numpad_5_over@2x.png */, - 633FED0D1D3CD5580014B822 /* numpad_5_over~ipad.png */, - 633FED0E1D3CD5580014B822 /* numpad_5_over~ipad@2x.png */, - 633FED0F1D3CD5580014B822 /* numpad_5~ipad.png */, - 633FED101D3CD5580014B822 /* numpad_5~ipad@2x.png */, - 633FED111D3CD5580014B822 /* numpad_6_default.png */, - 633FED121D3CD5580014B822 /* numpad_6_default@2x.png */, - 633FED131D3CD5580014B822 /* numpad_6_over.png */, - 633FED141D3CD5580014B822 /* numpad_6_over@2x.png */, - 633FED151D3CD5580014B822 /* numpad_6_over~ipad.png */, - 633FED161D3CD5580014B822 /* numpad_6_over~ipad@2x.png */, - 633FED171D3CD5580014B822 /* numpad_6~ipad.png */, - 633FED181D3CD5580014B822 /* numpad_6~ipad@2x.png */, - 633FED191D3CD5580014B822 /* numpad_7_default.png */, - 633FED1A1D3CD5580014B822 /* numpad_7_default@2x.png */, - 633FED1B1D3CD5580014B822 /* numpad_7_over.png */, - 633FED1C1D3CD5580014B822 /* numpad_7_over@2x.png */, - 633FED1D1D3CD5580014B822 /* numpad_7_over~ipad.png */, - 633FED1E1D3CD5580014B822 /* numpad_7_over~ipad@2x.png */, - 633FED1F1D3CD5580014B822 /* numpad_7~ipad.png */, - 633FED201D3CD5580014B822 /* numpad_7~ipad@2x.png */, - 633FED211D3CD5580014B822 /* numpad_8_default.png */, - 633FED221D3CD5580014B822 /* numpad_8_default@2x.png */, - 633FED231D3CD5580014B822 /* numpad_8_over.png */, - 633FED241D3CD5580014B822 /* numpad_8_over@2x.png */, - 633FED251D3CD5580014B822 /* numpad_8_over~ipad.png */, - 633FED261D3CD5580014B822 /* numpad_8_over~ipad@2x.png */, - 633FED271D3CD5580014B822 /* numpad_8~ipad.png */, - 633FED281D3CD5580014B822 /* numpad_8~ipad@2x.png */, - 633FED291D3CD5580014B822 /* numpad_9_default.png */, - 633FED2A1D3CD5580014B822 /* numpad_9_default@2x.png */, - 633FED2B1D3CD5580014B822 /* numpad_9_over.png */, - 633FED2C1D3CD5580014B822 /* numpad_9_over@2x.png */, - 633FED2D1D3CD5580014B822 /* numpad_9_over~ipad.png */, - 633FED2E1D3CD5580014B822 /* numpad_9_over~ipad@2x.png */, - 633FED2F1D3CD5580014B822 /* numpad_9~ipad.png */, - 633FED301D3CD5580014B822 /* numpad_9~ipad@2x.png */, - 633FED311D3CD5580014B822 /* numpad_hash_default.png */, - 633FED321D3CD5580014B822 /* numpad_hash_default@2x.png */, - 633FED331D3CD5580014B822 /* numpad_hash_over.png */, - 633FED341D3CD5580014B822 /* numpad_hash_over@2x.png */, - 633FED351D3CD5580014B822 /* numpad_hash_over~ipad.png */, - 633FED361D3CD5580014B822 /* numpad_hash_over~ipad@2x.png */, - 633FED371D3CD5580014B822 /* numpad_hash~ipad.png */, - 633FED381D3CD5580014B822 /* numpad_hash~ipad@2x.png */, - 633FED391D3CD5580014B822 /* numpad_over_background.png */, - 633FED3A1D3CD5580014B822 /* numpad_star_default.png */, - 633FED3B1D3CD5580014B822 /* numpad_star_default@2x.png */, - 633FED3C1D3CD5580014B822 /* numpad_star_over.png */, - 633FED3D1D3CD5580014B822 /* numpad_star_over@2x.png */, - 633FED3E1D3CD5580014B822 /* numpad_star_over~ipad.png */, - 633FED3F1D3CD5580014B822 /* numpad_star_over~ipad@2x.png */, - 633FED401D3CD5580014B822 /* numpad_star~ipad.png */, - 633FED411D3CD5580014B822 /* numpad_star~ipad@2x.png */, - 633FED421D3CD5580014B822 /* options_add_call_default.png */, - 633FED431D3CD5580014B822 /* options_add_call_default@2x.png */, - 633FED441D3CD5580014B822 /* options_add_call_disabled.png */, - 633FED451D3CD5580014B822 /* options_add_call_disabled@2x.png */, - 633FED461D3CD5580014B822 /* options_default.png */, - 633FED471D3CD5580014B822 /* options_default@2x.png */, - 633FED481D3CD5580014B822 /* options_disabled.png */, - 633FED491D3CD5580014B822 /* options_disabled@2x.png */, - 633FED4A1D3CD5580014B822 /* options_selected.png */, - 633FED4B1D3CD5580014B822 /* options_selected@2x.png */, - 633FED4C1D3CD5580014B822 /* options_start_conference_default.png */, - 633FED4D1D3CD5580014B822 /* options_start_conference_default@2x.png */, - 633FED4E1D3CD5580014B822 /* options_start_conference_disabled.png */, - 633FED4F1D3CD5580014B822 /* options_start_conference_disabled@2x.png */, - 633FED501D3CD5580014B822 /* options_transfer_call_default.png */, - 633FED511D3CD5580014B822 /* options_transfer_call_default@2x.png */, - 633FED521D3CD5580014B822 /* options_transfer_call_disabled.png */, - 633FED531D3CD5580014B822 /* options_transfer_call_disabled@2x.png */, - 633FED541D3CD5580014B822 /* pause_big_default.png */, - 633FED551D3CD5580014B822 /* pause_big_default@2x.png */, - 633FED561D3CD5580014B822 /* pause_big_disabled.png */, - 633FED571D3CD5580014B822 /* pause_big_disabled@2x.png */, - 633FED581D3CD5580014B822 /* pause_big_over_selected.png */, - 633FED591D3CD5580014B822 /* pause_big_over_selected@2x.png */, - 633FED5A1D3CD5580014B822 /* pause_small_default.png */, - 633FED5B1D3CD5590014B822 /* pause_small_default@2x.png */, - 633FED5C1D3CD5590014B822 /* pause_small_disabled.png */, - 633FED5D1D3CD5590014B822 /* pause_small_disabled@2x.png */, - 633FED5E1D3CD5590014B822 /* pause_small_over_selected.png */, - 633FED5F1D3CD5590014B822 /* pause_small_over_selected@2x.png */, - 633FED601D3CD5590014B822 /* presence_away.png */, - 633FED611D3CD5590014B822 /* presence_away@2x.png */, - 633FED621D3CD5590014B822 /* presence_offline.png */, - 633FED631D3CD5590014B822 /* presence_offline@2x.png */, - 633FED641D3CD5590014B822 /* presence_online.png */, - 633FED651D3CD5590014B822 /* presence_online@2x.png */, - 633FED661D3CD5590014B822 /* presence_unregistered.png */, - 633FED671D3CD5590014B822 /* presence_unregistered@2x.png */, - CF7602F3210898C600749F76 /* rec_off_default.png */, - CF7602EB210898C100749F76 /* rec_off_default@2x.png */, - CF7602F4210898C800749F76 /* rec_on_default.png */, - CF7602F2210898C400749F76 /* rec_on_default@2x.png */, - 615A28412180C0820060F920 /* recording.png */, - 615A28432180C08F0060F920 /* recording@2x.png */, - 633FED681D3CD5590014B822 /* route_bluetooth_default.png */, - 633FED691D3CD5590014B822 /* route_bluetooth_default@2x.png */, - 633FED6A1D3CD5590014B822 /* route_bluetooth_disabled.png */, - 633FED6B1D3CD5590014B822 /* route_bluetooth_disabled@2x.png */, - 633FED6C1D3CD5590014B822 /* route_bluetooth_selected.png */, - 633FED6D1D3CD5590014B822 /* route_bluetooth_selected@2x.png */, - 633FED6E1D3CD5590014B822 /* route_earpiece_default.png */, - 633FED6F1D3CD5590014B822 /* route_earpiece_default@2x.png */, - 633FED701D3CD5590014B822 /* route_earpiece_disabled.png */, - 633FED711D3CD5590014B822 /* route_earpiece_disabled@2x.png */, - 633FED721D3CD5590014B822 /* route_earpiece_selected.png */, - 633FED731D3CD5590014B822 /* route_earpiece_selected@2x.png */, - 633FED741D3CD5590014B822 /* route_speaker_default.png */, - 633FED751D3CD5590014B822 /* route_speaker_default@2x.png */, - 633FED761D3CD5590014B822 /* route_speaker_disabled.png */, - 633FED771D3CD5590014B822 /* route_speaker_disabled@2x.png */, - 633FED781D3CD5590014B822 /* route_speaker_selected.png */, - 633FED791D3CD5590014B822 /* route_speaker_selected@2x.png */, - 633FED7A1D3CD5590014B822 /* routes_default.png */, - 633FED7B1D3CD5590014B822 /* routes_default@2x.png */, - 633FED7C1D3CD5590014B822 /* routes_disabled.png */, - 633FED7D1D3CD5590014B822 /* routes_disabled@2x.png */, - 633FED7E1D3CD5590014B822 /* routes_selected.png */, - 633FED7F1D3CD5590014B822 /* routes_selected@2x.png */, - 669B140727A1821F0012220A /* scroll_to_bottom_default.png */, - 615A2812217F24D40060F920 /* security_1_indicator.png */, - 615A2814217F24E00060F920 /* security_1_indicator@2x.png */, - 615A281A217F6F9B0060F920 /* security_2_indicator.png */, - 615A281C217F6FA80060F920 /* security_2_indicator@2x.png */, - 615A281E217F6FB30060F920 /* security_alert_indicator.png */, - 615A2820217F6FBF0060F920 /* security_alert_indicator@2x.png */, - 633FED801D3CD5590014B822 /* security_ko.png */, - 633FED811D3CD5590014B822 /* security_ko@2x.png */, - 633FED821D3CD5590014B822 /* security_ok.png */, - 633FED831D3CD5590014B822 /* security_ok@2x.png */, - 633FED841D3CD5590014B822 /* security_pending.png */, - 633FED851D3CD5590014B822 /* security_pending@2x.png */, - 615A282F218071E80060F920 /* security_toogle_background_green.png */, - 615A2831218071F30060F920 /* security_toogle_background_green@2x.png */, - 615A2833218071FF0060F920 /* security_toogle_background_grey.png */, - 615A28352180720D0060F920 /* security_toogle_background_grey@2x.png */, - 615A28392180788E0060F920 /* security_toogle_button.png */, - 615A283B2180789C0060F920 /* security_toogle_button@2x.png */, - 615A282321805B250060F920 /* security_toogle_icon_green.png */, - 615A282521805B320060F920 /* security_toogle_icon_green@2x.png */, - 615A282721805B400060F920 /* security_toogle_icon_grey.png */, - 615A282921805B4C0060F920 /* security_toogle_icon_grey@2x.png */, - 633FED861D3CD5590014B822 /* select_all_default.png */, - 633FED871D3CD5590014B822 /* select_all_default@2x.png */, - 633FED881D3CD5590014B822 /* select_all_disabled.png */, - 633FED891D3CD5590014B822 /* select_all_disabled@2x.png */, - 633FED8A1D3CD5590014B822 /* speaker_default.png */, - 633FED8B1D3CD5590014B822 /* speaker_default@2x.png */, - 633FED8C1D3CD5590014B822 /* speaker_disabled.png */, - 633FED8D1D3CD5590014B822 /* speaker_disabled@2x.png */, - 633FED8E1D3CD5590014B822 /* speaker_selected.png */, - 633FED8F1D3CD5590014B822 /* speaker_selected@2x.png */, - 8CD99A362090A824008A7CDA /* splashscreen.png */, - 8CD99A352090A823008A7CDA /* splashscreen@2x.png */, - 633FED941D3CD5590014B822 /* valid_default.png */, - 633FED951D3CD5590014B822 /* valid_default@2x.png */, - 633FED961D3CD5590014B822 /* valid_disabled.png */, - 633FED971D3CD5590014B822 /* valid_disabled@2x.png */, - 633FED981D3CD5590014B822 /* voicemail.png */, - 633FED991D3CD5590014B822 /* voicemail@2x.png */, - 633FED9A1D3CD5590014B822 /* waiting_time.png */, - 633FED9B1D3CD5590014B822 /* waiting_time@2x.png */, - ); - path = images; - sourceTree = ""; - }; - 63AADBC31B6A0FF200AA16FD /* Resources */ = { - isa = PBXGroup; - children = ( - C63F72F9285A31DA0066163B /* fonts */, - 63AADBE31B6A0FF200AA16FD /* assistant_external_sip.rc */, - 63AADBE41B6A0FF200AA16FD /* assistant_linphone_create.rc */, - 63AADBE51B6A0FF200AA16FD /* assistant_linphone_existing.rc */, - 63AADBE61B6A0FF200AA16FD /* assistant_remote.rc */, - 63AADBCA1B6A0FF200AA16FD /* Images.xcassets */, - 633FEBE11D3CD5570014B822 /* images */, - 63AADBD71B6A0FF200AA16FD /* linphonerc */, - 63AADBD81B6A0FF200AA16FD /* linphonerc-factory */, - 63AADBDA1B6A0FF200AA16FD /* linphonerc~ipad */, - 63AADBC41B6A0FF200AA16FD /* Localizable.strings */, - 63CDC4511C3BDE370085F529 /* sounds */, - ); - path = Resources; - sourceTree = ""; - }; - 63B81A021B57DA33009604A6 /* TPKeyboardAvoiding */ = { - isa = PBXGroup; - children = ( - 63B81A031B57DA33009604A6 /* LICENSE.txt */, - 63B81A041B57DA33009604A6 /* TPKeyboardAvoidingCollectionView.h */, - 63B81A051B57DA33009604A6 /* TPKeyboardAvoidingCollectionView.m */, - 63B81A061B57DA33009604A6 /* TPKeyboardAvoidingScrollView.h */, - 63B81A071B57DA33009604A6 /* TPKeyboardAvoidingScrollView.m */, - 63B81A081B57DA33009604A6 /* TPKeyboardAvoidingTableView.h */, - 63B81A091B57DA33009604A6 /* TPKeyboardAvoidingTableView.m */, - 63B81A0A1B57DA33009604A6 /* UIScrollView+TPKeyboardAvoidingAdditions.h */, - 63B81A0B1B57DA33009604A6 /* UIScrollView+TPKeyboardAvoidingAdditions.m */, - ); - name = TPKeyboardAvoiding; - path = Utils/TPKeyboardAvoiding; - sourceTree = ""; - }; - 63CDC4511C3BDE370085F529 /* sounds */ = { - isa = PBXGroup; - children = ( - 63DFE0401C40161700DA5E87 /* ringtones */, - 63CDC4531C3BDE370085F529 /* msg.caf */, - 63E27A511C50EB2700D332AE /* hold.mkv */, - 63CDC4541C3BDE370085F529 /* ringback.wav */, - 63CDC45C1C3BDE370085F529 /* shortring.caf */, - ); - path = sounds; - sourceTree = ""; - }; - 63DFE0401C40161700DA5E87 /* ringtones */ = { - isa = PBXGroup; - children = ( - 63DFE0451C40161700DA5E87 /* notes_of_the_optimistic.caf */, - ); - path = ringtones; - sourceTree = ""; - }; - 662F5971288AEFAA00C9CAF7 /* UITests */ = { - isa = PBXGroup; - children = ( - 66495CFD288FF346002780DE /* AutoConnectLinphoneAccount.swift */, - 6637AF8E288593AF00965733 /* CallUITests */, - 6643AD3F287EEE2500701703 /* Methods */, - 66495D09289013B7002780DE /* TestPlans */, - ); - path = UITests; - sourceTree = ""; - }; - 6637AF8E288593AF00965733 /* CallUITests */ = { - isa = PBXGroup; - children = ( - 663B06652886F0DB00E41889 /* ExtraMenuUITests.swift */, - 663B065F2886E38100E41889 /* ActiveCallUITests.swift */, - 663B06592886B54F00E41889 /* OutgoingCallUITests.swift */, - 6637AF8F288593AF00965733 /* IncomingCallUITests.swift */, - ); - path = CallUITests; - sourceTree = ""; - }; - 6643AD3F287EEE2500701703 /* Methods */ = { - isa = PBXGroup; - children = ( - 6643AD51287EF56200701703 /* UITestsCoreManager.swift */, - 6643AD54287F25A500701703 /* IncomingOutgoingCallViewUITestsMethods.swift */, - 663B065B2886DA8500E41889 /* ActiveCallViewUITestsMethods.swift */, - 663B06672886F16300E41889 /* ExtraMenuActiveCallActionsUITestsMethods.swift */, - 662F13B52887E8A10084C28C /* UITestsUtils.swift */, - 66689D3F28A2443A0054E633 /* UITestsScreenshots.swift */, - ); - path = Methods; - sourceTree = ""; - }; - 66495D09289013B7002780DE /* TestPlans */ = { - isa = PBXGroup; - children = ( -<<<<<<< HEAD - 664F8220289A66ED00D8C470 /* Debug.xctestplan */, -======= - 66495D0A289013F6002780DE /* Init.xctestplan */, ->>>>>>> 8e16f1fad (new test plans) - 66495D0B28901429002780DE /* Default.xctestplan */, - 66495D0C289014E2002780DE /* PauseMode_extended.xctestplan */, - ); - path = TestPlans; - sourceTree = ""; - }; - 75AA7090378DBBA5417E4370 /* Pods */ = { - isa = PBXGroup; - children = ( -<<<<<<< HEAD - 95AD7F004071737738D4BCF2 /* Pods-CallUITests.debug.xcconfig */, - 8751F1E7083FF5EDF43CEEF1 /* Pods-CallUITests.release.xcconfig */, - 1CAD1CF40E820DA7F1752DD2 /* Pods-CallUITests.distribution.xcconfig */, - 9B3B6B861461E656FAF443CC /* Pods-CallUITests.distributionadhoc.xcconfig */, - 9B7FA931ED086404EBA1A1DF /* Pods-ConferenceUITests.debug.xcconfig */, - 3E068193AC70B1F268F7A3AC /* Pods-ConferenceUITests.release.xcconfig */, - DC2F21ADD3E0ABFC644BF401 /* Pods-ConferenceUITests.distribution.xcconfig */, - 799B9EAE0655DBE81E9B29FF /* Pods-ConferenceUITests.distributionadhoc.xcconfig */, - 1A10E1CD088B6550326F433E /* Pods-linphone.debug.xcconfig */, - FDB59567FECF2E083DBDC142 /* Pods-linphone.release.xcconfig */, - 71361846551F180407CA4B43 /* Pods-linphone.distribution.xcconfig */, - 6872242062F852BE19E78D5A /* Pods-linphone.distributionadhoc.xcconfig */, - B0D404E542E5871F7437A060 /* Pods-msgNotificationContent.debug.xcconfig */, - 842B7EC5D5497903DF48A6A1 /* Pods-msgNotificationContent.release.xcconfig */, - 5BF3D86E8AD8910810048241 /* Pods-msgNotificationContent.distribution.xcconfig */, - 595A41ABC48A62CE11868F9E /* Pods-msgNotificationContent.distributionadhoc.xcconfig */, - AD31E0BAAE2E50305E05B683 /* Pods-msgNotificationService.debug.xcconfig */, - 49BCAA5D96F3C5BE44D20A5C /* Pods-msgNotificationService.release.xcconfig */, - 3EDEA8FA8B616DA71EDE51E5 /* Pods-msgNotificationService.distribution.xcconfig */, - A52DBCC32989FB3510AF3B1E /* Pods-msgNotificationService.distributionadhoc.xcconfig */, -======= - 87F00D1935382CCA03DF2F02 /* Pods-linphone.debug.xcconfig */, - 143A43530EF0763A9BDFB209 /* Pods-linphone.release.xcconfig */, - F0F554DE142CCEF4AC71DA1F /* Pods-linphone.distribution.xcconfig */, - 1DCB2605D60FA4FAD003AC5A /* Pods-linphone.distributionadhoc.xcconfig */, - DF241FDC6C7431777AB3BD58 /* Pods-msgNotificationContent.debug.xcconfig */, - CDF0A805102E73AFF3162AFB /* Pods-msgNotificationContent.release.xcconfig */, - 1FB08967C4E9D7B85F6A595B /* Pods-msgNotificationContent.distribution.xcconfig */, - 2C8BC293C1C17F27AB5A93B1 /* Pods-msgNotificationContent.distributionadhoc.xcconfig */, - 4DF6C8E3533E18B9BDDF7F15 /* Pods-msgNotificationService.debug.xcconfig */, - 2BC23AC79581C3846BBAE2F6 /* Pods-msgNotificationService.release.xcconfig */, - 92EB6C052CF3AAD4193EAD31 /* Pods-msgNotificationService.distribution.xcconfig */, - E19FC645A566E91D4EEB9C8F /* Pods-msgNotificationService.distributionadhoc.xcconfig */, - 46E204586EADEB152EB6BAE5 /* Pods-CallUITests.debug.xcconfig */, - 6A6A835733F8DCF0F0E64FE3 /* Pods-CallUITests.release.xcconfig */, - 5F0358460E4E618A3DC6E2E8 /* Pods-CallUITests.distribution.xcconfig */, - D33A6E8F86694EA7ADD47ED4 /* Pods-CallUITests.distributionadhoc.xcconfig */, - 712CE82EEF35C1881B8E98E7 /* Pods-AutoConnectLinphoneAccount.debug.xcconfig */, - DBEE6C9BCFA78E5739836EB4 /* Pods-AutoConnectLinphoneAccount.release.xcconfig */, - B4847F48A899455D4B85F8BF /* Pods-AutoConnectLinphoneAccount.distribution.xcconfig */, - F0E0078E5C72D700C9E62509 /* Pods-AutoConnectLinphoneAccount.distributionadhoc.xcconfig */, ->>>>>>> 8e16f1fad (new test plans) - ); - path = Pods; - sourceTree = ""; - }; - C63F7196285A24B10066163B /* Swift */ = { - isa = PBXGroup; - children = ( - C6B4444726AADA530076C517 /* SwiftUtil.swift */, - C63F7197285A24B10066163B /* ConfigManager.swift */, - C63F7198285A24B10066163B /* CallManager.swift */, - C63F720B285A24B10066163B /* ProviderDelegate.swift */, - C63F720C285A24B10066163B /* VFSUtil.swift */, - C63F71B1285A24B10066163B /* AppManager.swift */, - C63F7199285A24B10066163B /* Conference */, - C63F71AA285A24B10066163B /* Util */, - C63F71B2285A24B10066163B /* Extensions */, - C63F71C7285A24B10066163B /* Voip */, - ); - path = Swift; - sourceTree = ""; - }; - C63F7199285A24B10066163B /* Conference */ = { - isa = PBXGroup; - children = ( - C63F719A285A24B10066163B /* ViewModels */, - C63F719E285A24B10066163B /* Data */, - C63F71A2285A24B10066163B /* Views */, - ); - path = Conference; - sourceTree = ""; - }; - C63F719A285A24B10066163B /* ViewModels */ = { - isa = PBXGroup; - children = ( - C63F719B285A24B10066163B /* ConferenceWaitingRoomViewModel.swift */, - C63F719C285A24B10066163B /* ConferenceSchedulingViewModel.swift */, - C63F719D285A24B10066163B /* ScheduledConferencesViewModel.swift */, - ); - path = ViewModels; - sourceTree = ""; - }; - C63F719E285A24B10066163B /* Data */ = { - isa = PBXGroup; - children = ( - C63F719F285A24B10066163B /* ScheduledConferenceData.swift */, - C63F71A0285A24B10066163B /* TimeZoneData.swift */, - C63F71A1285A24B10066163B /* Duration.swift */, - ); - path = Data; - sourceTree = ""; - }; - C63F71A2285A24B10066163B /* Views */ = { - isa = PBXGroup; - children = ( - C63F71A3285A24B10066163B /* ConferenceWaitingRoomFragment.swift */, - C63F71A4285A24B10066163B /* ScheduledConferencesView.swift */, - C63F71A6285A24B10066163B /* ScheduledConferencesCell.swift */, - C63F71A5285A24B10066163B /* ICSBubbleView.swift */, - C63F71A7285A24B10066163B /* ConferenceHistoryDetailsView.swift */, - C63F71A8285A24B10066163B /* ConferenceSchedulingView.swift */, - C63F71A9285A24B10066163B /* ConferenceSchedulingSummaryView.swift */, - ); - path = Views; - sourceTree = ""; - }; - C63F71AA285A24B10066163B /* Util */ = { - isa = PBXGroup; - children = ( - C63F71AB285A24B10066163B /* ViewModel */, - C63F71AD285A24B10066163B /* MutableLiveData.swift */, - C63F71AE285A24B10066163B /* Pair.swift */, - C63F71AF285A24B10066163B /* BackNextNavigationView.swift */, - C63F71B0285A24B10066163B /* TimestampUtils.swift */, - ); - path = Util; - sourceTree = ""; - }; - C63F71AB285A24B10066163B /* ViewModel */ = { - isa = PBXGroup; - children = ( - C63F71AC285A24B10066163B /* MediatorLiveData.swift */, - ); - path = ViewModel; - sourceTree = ""; - }; - C63F71B2285A24B10066163B /* Extensions */ = { - isa = PBXGroup; - children = ( - C63F71B3285A24B10066163B /* IOS */, - C63F71BF285A24B10066163B /* LinphoneCore */, - ); - path = Extensions; - sourceTree = ""; - }; - C63F71B3285A24B10066163B /* IOS */ = { - isa = PBXGroup; - children = ( - C63F71B4285A24B10066163B /* UIApplication+Extension.swift */, - C63F71B6285A24B10066163B /* UIVIewControllerExtensions.swift */, - C63F71B7285A24B10066163B /* UIImageExtensions.swift */, - C63F71B8285A24B10066163B /* UIVIewExtensions.swift */, - C63F71B9285A24B10066163B /* UILabelExtensions.swift */, - C63F71BA285A24B10066163B /* OptionalExtensions.swift */, - C63F71BB285A24B10066163B /* UIButtonExtensions.swift */, - C63F71BC285A24B10066163B /* UIImageViewExtensions.swift */, - C63F71BD285A24B10066163B /* UIDeviceExtensions.swift */, - C63F71BE285A24B10066163B /* UIColorExtensions.swift */, - ); - path = IOS; - sourceTree = ""; - }; - C63F71BF285A24B10066163B /* LinphoneCore */ = { - isa = PBXGroup; - children = ( - C63F71C0285A24B10066163B /* CoreExtensions.swift */, - C63F71C1285A24B10066163B /* IceState.swift */, - C63F71C2285A24B10066163B /* AddressExtensions.swift */, - C63F71C3285A24B10066163B /* ParticipantExtensions.swift */, - C63F71C4285A24B10066163B /* PayloadType.swift */, - C63F71C5285A24B10066163B /* CallExtensions.swift */, - C63F71C6285A24B10066163B /* ConferenceExtensions.swift */, - ); - path = LinphoneCore; - sourceTree = ""; - }; - C63F71C7285A24B10066163B /* Voip */ = { - isa = PBXGroup; - children = ( - C63F71C8285A24B10066163B /* ViewModels */, - C63F71D0285A24B10066163B /* AudioRouteUtils.swift */, - C63F71D1285A24B10066163B /* Theme */, - C63F71D7285A24B10066163B /* Views */, - C63F71FB285A24B10066163B /* VoipDialog.swift */, - C63F71FC285A24B10066163B /* Widgets */, - ); - path = Voip; - sourceTree = ""; - }; - C63F71C8285A24B10066163B /* ViewModels */ = { - isa = PBXGroup; - children = ( - C63F71C9285A24B10066163B /* ConferenceViewModel.swift */, - C63F71CA285A24B10066163B /* CallsViewModel.swift */, - C63F71CB285A24B10066163B /* ControlsViewModel.swift */, - C63F71CC285A24B10066163B /* CallStatisticsData.swift */, - C63F71CD285A24B10066163B /* ConferenceParticipantData.swift */, - C63F71CE285A24B10066163B /* ConferenceParticipantDeviceData.swift */, - C63F71CF285A24B10066163B /* CallData.swift */, - ); - path = ViewModels; - sourceTree = ""; - }; - C63F71D1285A24B10066163B /* Theme */ = { - isa = PBXGroup; - children = ( - C63F71D2285A24B10066163B /* LightDarkColor.swift */, - C63F71D3285A24B10066163B /* TextStyle.swift */, - C63F71D4285A24B10066163B /* VoipTexts.swift */, - C63F71D5285A24B10066163B /* ButtonTheme.swift */, - C63F71D6285A24B10066163B /* VoipTheme.swift */, - ); - path = Theme; - sourceTree = ""; - }; - C63F71D7285A24B10066163B /* Views */ = { - isa = PBXGroup; - children = ( - C63F71D8285A24B10066163B /* Fragments */, - C63F71F6285A24B10066163B /* CompositeViewControllers */, - C63F71FA285A24B10066163B /* SharedLayoutConstants.swift */, - ); - path = Views; - sourceTree = ""; - }; - C63F71D8285A24B10066163B /* Fragments */ = { - isa = PBXGroup; - children = ( - C63F71D9285A24B10066163B /* ParticipantsList */, - C63F71DC285A24B10066163B /* AudioRoutesView.swift */, - C63F71DD285A24B10066163B /* Conference */, - C63F71E6285A24B10066163B /* ActiveCall */, - C63F71E8285A24B10066163B /* IncomingOuntgoingCommonView.swift */, - C63F71E9285A24B10066163B /* PausedCallOrConferenceView.swift */, - C63F71EA285A24B10066163B /* LocalVideoView.swift */, - C63F71EB285A24B10066163B /* CallStatsView.swift */, - C63F71EC285A24B10066163B /* NumpadView.swift */, - C63F71ED285A24B10066163B /* VoipExtraButtonsView.swift */, - C63F71EE285A24B10066163B /* CallsList */, - C63F71F2285A24B10066163B /* DismissableView.swift */, - C63F71F3285A24B10066163B /* ConferenceLayoutPickerView.swift */, - C63F71F4285A24B10066163B /* ControlsView.swift */, - C63F71F5285A24B10066163B /* RemotelyRecording.swift */, - ); - path = Fragments; - sourceTree = ""; - }; - C63F71D9285A24B10066163B /* ParticipantsList */ = { - isa = PBXGroup; - children = ( - C63F71DA285A24B10066163B /* ParticipantsListView.swift */, - C63F71DB285A24B10066163B /* VoipParticipantCell.swift */, - ); - path = ParticipantsList; - sourceTree = ""; - }; - C63F71DD285A24B10066163B /* Conference */ = { - isa = PBXGroup; - children = ( - C63F71DE285A24B10066163B /* VoipActiveSpeakerParticipantCell.swift */, - C63F71DF285A24B10066163B /* VoipConferenceAudioOnlyView.swift */, - C63F71E0285A24B10066163B /* VoipGridParticipantCell.swift */, - C63F71E1285A24B10066163B /* VoipAudioOnlyParticipantCell.swift */, - C63F71E2285A24B10066163B /* MicMuted.swift */, - C63F71E3285A24B10066163B /* VoipConferenceGridView.swift */, - C63F71E4285A24B10066163B /* VoipConferenceActiveSpeakerView.swift */, - C63F71E5285A24B10066163B /* VoipConferenceDisplayModeSelectionView.swift */, - ); - path = Conference; - sourceTree = ""; - }; - C63F71E6285A24B10066163B /* ActiveCall */ = { - isa = PBXGroup; - children = ( - C63F71E7285A24B10066163B /* ActiveCallView.swift */, - ); - path = ActiveCall; - sourceTree = ""; - }; - C63F71EE285A24B10066163B /* CallsList */ = { - isa = PBXGroup; - children = ( - C63F71EF285A24B10066163B /* VoipCallContextMenu.swift */, - C63F71F0285A24B10066163B /* CallsListView.swift */, - C63F71F1285A24B10066163B /* VoipCallCell.swift */, - ); - path = CallsList; - sourceTree = ""; - }; - C63F71F6285A24B10066163B /* CompositeViewControllers */ = { - isa = PBXGroup; - children = ( - C63F71F7285A24B10066163B /* OutgoingCallView.swift */, - C63F71F8285A24B10066163B /* ActiveCallOrConferenceView.swift */, - C63F71F9285A24B10066163B /* IncomingCallView.swift */, - ); - path = CompositeViewControllers; - sourceTree = ""; - }; - C63F71FC285A24B10066163B /* Widgets */ = { - isa = PBXGroup; - children = ( - C63F71FD285A24B10066163B /* StyledValuePicker.swift */, - C63F71FE285A24B10066163B /* StyledSwitch.swift */, - C63F71FF285A24B10066163B /* CallControlButton.swift */, - C63F7200285A24B10066163B /* RotatingSpinner.swift */, - C63F7201285A24B10066163B /* FormButton.swift */, - C63F7202285A24B10066163B /* BouncingCounter.swift */, - C63F7203285A24B10066163B /* VoipExtraButton.swift */, - C63F7204285A24B10066163B /* UICallTimer.swift */, - C63F7205285A24B10066163B /* StyledCheckBox.swift */, - C63F7206285A24B10066163B /* Avatar.swift */, - C63F7207285A24B10066163B /* StyledLabel.swift */, - C63F7208285A24B10066163B /* StyledDatePicker.swift */, - C63F7209285A24B10066163B /* ButtonWithStateBackgrounds.swift */, - C63F720A285A24B10066163B /* StyledTextView.swift */, - ); - path = Widgets; - sourceTree = ""; - }; - C63F72F9285A31DA0066163B /* fonts */ = { - isa = PBXGroup; - children = ( - C63F72FA285A31DA0066163B /* Roboto-Regular.ttf */, - C63F72FB285A31DA0066163B /* Roboto-Italic.ttf */, - C63F72FC285A31DA0066163B /* Roboto-Bold.ttf */, - ); - path = fonts; - sourceTree = ""; - }; - D326483415887D4400930C67 /* Utils */ = { - isa = PBXGroup; - children = ( - D37E3ECA1619C27A0087659A /* CAAnimationBlocks */, - D380801215C299D0005BE9BC /* ColorSpaceUtilites.m */, - D380801115C29984005BE9BC /* ColorSpaceUtilities.h */, - D3807FB615C28940005BE9BC /* DCRoundSwitch */, - D37EE15F160377D7003608A6 /* DTFoundation */, - D32B9DFA15A2F131000B6DEC /* FastAddressBook.h */, - D32B9DFB15A2F131000B6DEC /* FastAddressBook.m */, - 6371579F1B283FE200C91677 /* FileTransferDelegate.h */, - 637157A01B283FE200C91677 /* FileTransferDelegate.m */, - 633888401BFB2C49001D5E7B /* HPGrowingTextView */, - D3807FC715C2894A005BE9BC /* InAppSettingsKit */, - D326483615887D5200930C67 /* OrderedDictionary.h */, - D326483715887D5200930C67 /* OrderedDictionary.m */, - 63B81A021B57DA33009604A6 /* TPKeyboardAvoiding */, - D3F7997E15BD31EC0018C273 /* TPMultiLayoutViewController */, - 6308F9C31BF0DD6600D1234B /* XMLRPCHelper.h */, - 6308F9C41BF0DD6600D1234B /* XMLRPCHelper.m */, - C9B3A6FD15B485DB006F52EE /* Utils.h */, - D35860D515B549B500513429 /* Utils.m */, - 63D11C521C3D501200E8FCEE /* Log.m */, - 63D11C541C3D503A00E8FCEE /* Log.h */, - 63423C081C4501D000D9A050 /* Contact.h */, - 63423C091C4501D000D9A050 /* Contact.m */, - ); - name = Utils; - sourceTree = ""; - }; - D37E3ECA1619C27A0087659A /* CAAnimationBlocks */ = { - isa = PBXGroup; - children = ( - D37E3ECB1619C27A0087659A /* CAAnimation+Blocks.h */, - D37E3ECC1619C27A0087659A /* CAAnimation+Blocks.m */, - ); - name = CAAnimationBlocks; - path = Utils/CAAnimationBlocks; - sourceTree = ""; - }; - D37EE15F160377D7003608A6 /* DTFoundation */ = { - isa = PBXGroup; - children = ( - D37EE160160377D7003608A6 /* DTActionSheet.h */, - 63CD4B4D1A5AAC8C00B84282 /* DTAlertView.h */, - 63CD4B4E1A5AAC8C00B84282 /* DTAlertView.m */, - D37EE161160377D7003608A6 /* DTActionSheet.m */, - F0642EF719DAF32E009DB336 /* DTWeakSupport.h */, - ); - name = DTFoundation; - path = Utils/DTFoundation; - sourceTree = ""; - }; - D3807FB615C28940005BE9BC /* DCRoundSwitch */ = { - isa = PBXGroup; - children = ( - D3807FB715C28940005BE9BC /* DCRoundSwitch.h */, - D3807FB815C28940005BE9BC /* DCRoundSwitch.m */, - D3807FB915C28940005BE9BC /* DCRoundSwitchKnobLayer.h */, - D3807FBA15C28940005BE9BC /* DCRoundSwitchKnobLayer.m */, - D3807FBB15C28940005BE9BC /* DCRoundSwitchOutlineLayer.h */, - D3807FBC15C28940005BE9BC /* DCRoundSwitchOutlineLayer.m */, - D3807FBD15C28940005BE9BC /* DCRoundSwitchToggleLayer.h */, - D3807FBE15C28940005BE9BC /* DCRoundSwitchToggleLayer.m */, - ); - name = DCRoundSwitch; - path = Utils/DCRoundSwitch; - sourceTree = ""; - }; - D3807FC715C2894A005BE9BC /* InAppSettingsKit */ = { - isa = PBXGroup; - children = ( - D3807FC815C2894A005BE9BC /* Controllers */, - D3807FD015C2894A005BE9BC /* Models */, - D3807FDB15C2894A005BE9BC /* Views */, - ); - name = InAppSettingsKit; - path = Utils/InAppSettingsKit; - sourceTree = ""; - }; - D3807FC815C2894A005BE9BC /* Controllers */ = { - isa = PBXGroup; - children = ( - D3807FC915C2894A005BE9BC /* IASKAppSettingsViewController.h */, - D3807FCA15C2894A005BE9BC /* IASKAppSettingsViewController.m */, - D3807FCD15C2894A005BE9BC /* IASKSpecifierValuesViewController.h */, - D3807FCE15C2894A005BE9BC /* IASKSpecifierValuesViewController.m */, - D3807FCF15C2894A005BE9BC /* IASKViewController.h */, - ); - path = Controllers; - sourceTree = ""; - }; - D3807FD015C2894A005BE9BC /* Models */ = { - isa = PBXGroup; - children = ( - D3807FD115C2894A005BE9BC /* IASKSettingsReader.h */, - D3807FD215C2894A005BE9BC /* IASKSettingsReader.m */, - D3807FD315C2894A005BE9BC /* IASKSettingsStore.h */, - D3807FD415C2894A005BE9BC /* IASKSettingsStore.m */, - D3807FD515C2894A005BE9BC /* IASKSettingsStoreFile.h */, - D3807FD615C2894A005BE9BC /* IASKSettingsStoreFile.m */, - D3807FD715C2894A005BE9BC /* IASKSettingsStoreUserDefaults.h */, - D3807FD815C2894A005BE9BC /* IASKSettingsStoreUserDefaults.m */, - D3807FD915C2894A005BE9BC /* IASKSpecifier.h */, - D3807FDA15C2894A005BE9BC /* IASKSpecifier.m */, - ); - path = Models; - sourceTree = ""; - }; - D3807FDB15C2894A005BE9BC /* Views */ = { - isa = PBXGroup; - children = ( - D3807FDC15C2894A005BE9BC /* IASKPSSliderSpecifierViewCell.h */, - D3807FDD15C2894A005BE9BC /* IASKPSSliderSpecifierViewCell.m */, - D3807FDE15C2894A005BE9BC /* IASKPSTextFieldSpecifierViewCell.h */, - D3807FDF15C2894A005BE9BC /* IASKPSTextFieldSpecifierViewCell.m */, - D3807FE015C2894A005BE9BC /* IASKPSTitleValueSpecifierViewCell.h */, - D3807FE115C2894A005BE9BC /* IASKPSTitleValueSpecifierViewCell.m */, - D3807FE215C2894A005BE9BC /* IASKSlider.h */, - D3807FE315C2894A005BE9BC /* IASKSlider.m */, - D3807FE415C2894A005BE9BC /* IASKSwitch.h */, - D3807FE515C2894A005BE9BC /* IASKSwitch.m */, - D3807FE615C2894A005BE9BC /* IASKTextField.h */, - D3807FE715C2894A005BE9BC /* IASKTextField.m */, - ); - path = Views; - sourceTree = ""; - }; - D398D3031594B0FB00FD553C /* Settings */ = { - isa = PBXGroup; - children = ( - D34F6F9D1594D3FB0095705B /* InAppSettings.bundle */, - ); - path = Settings; - sourceTree = ""; - }; - D3F7997E15BD31EC0018C273 /* TPMultiLayoutViewController */ = { - isa = PBXGroup; - children = ( - D3F7997F15BD32370018C273 /* TPMultiLayoutViewController.h */, - D3F7998015BD32370018C273 /* TPMultiLayoutViewController.m */, - ); - name = TPMultiLayoutViewController; - sourceTree = ""; - }; - EA5F25DA232BD3E200475F2E /* msgNotificationService */ = { - isa = PBXGroup; - children = ( - EAB783CF232F8E4D0076B1A0 /* msgNotificationService.entitlements */, - EAE6C88323FABF690076A018 /* Utils.swift */, - EA5F25DB232BD3E200475F2E /* NotificationService.swift */, - 6112A01D243B5FD500DBD5F5 /* GoogleService-Info.plist */, - EA5F25DD232BD3E200475F2E /* Info.plist */, - ); - path = msgNotificationService; - sourceTree = ""; - }; - EA8CB82A239F96CA00C330CC /* msgNotificationContent */ = { - isa = PBXGroup; - children = ( - 6112A01B243B31A600DBD5F5 /* GoogleService-Info.plist */, - EA8CB83F239FD41400C330CC /* msgNotificationContent.entitlements */, - EA8CB82B239F96CA00C330CC /* NotificationViewController.swift */, - EA8CB82D239F96CA00C330CC /* MainInterface.storyboard */, - EA8CB830239F96CA00C330CC /* Info.plist */, - ); - path = msgNotificationContent; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 1D6058900D05DD3D006BFB54 /* linphone */ = { - isa = PBXNativeTarget; - buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "linphone" */; - buildPhases = ( - 75EA65B333185E8C417354AA /* [CP] Check Pods Manifest.lock */, - 1D60588D0D05DD3D006BFB54 /* Resources */, - 63DCC71D1A07B08E00916627 /* Run Script */, - 1D60588E0D05DD3D006BFB54 /* Sources */, - 1D60588F0D05DD3D006BFB54 /* Frameworks */, - 8CDC89061EAF89A8006B5652 /* Embed Frameworks */, - 5EF0C35020C806A5005081B0 /* Embed App Extensions */, - 614D0A1821E77F5300C43EDF /* ShellScript */, - EB63CF57E1CDAC8DC31C1CBE /* [CP] Embed Pods Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - EA8CB83A239F9A3000C330CC /* PBXTargetDependency */, - EA8CB83C239F9A3000C330CC /* PBXTargetDependency */, - 61AE365520C00B370089D9D3 /* PBXTargetDependency */, - ); - name = linphone; - productName = linphone; - productReference = 1D6058910D05DD3D006BFB54 /* linphone.app */; - productType = "com.apple.product-type.application"; - }; - 61AE364A20C00B370089D9D3 /* linphoneExtension */ = { - isa = PBXNativeTarget; - buildConfigurationList = 61AE366120C00B370089D9D3 /* Build configuration list for PBXNativeTarget "linphoneExtension" */; - buildPhases = ( - 61AE364720C00B370089D9D3 /* Sources */, - 61AE364820C00B370089D9D3 /* Frameworks */, - 61AE364920C00B370089D9D3 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = linphoneExtension; - productName = linphoneExtension; - productReference = 61AE364B20C00B370089D9D3 /* linphoneExtension.appex */; - productType = "com.apple.product-type.app-extension"; - }; - 6637AF8C288593AF00965733 /* CallUITests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 6637AF99288593AF00965733 /* Build configuration list for PBXNativeTarget "CallUITests" */; - buildPhases = ( - 5053FDC66A7F809319B46BF3 /* [CP] Check Pods Manifest.lock */, - 6637AF89288593AF00965733 /* Sources */, - 6637AF8A288593AF00965733 /* Frameworks */, - 6637AF8B288593AF00965733 /* Resources */, -<<<<<<< HEAD - 5D7EB00FFF68B940A86FC3A7 /* [CP] Embed Pods Frameworks */, - 66495D0D2890269C002780DE /* Run Script */, -======= - A6E560FA2700D9B96AE0FE5C /* [CP] Embed Pods Frameworks */, - 66495D0D2890269C002780DE /* ShellScript */, ->>>>>>> 8e16f1fad (new test plans) - ); - buildRules = ( - ); - dependencies = ( - 6637AF94288593AF00965733 /* PBXTargetDependency */, - ); - name = CallUITests; - productName = IncommingCallUITests; - productReference = 6637AF8D288593AF00965733 /* CallUITests.xctest */; - productType = "com.apple.product-type.bundle.ui-testing"; - }; - 66495CFA288FF346002780DE /* AutoConnectLinphoneAccount */ = { - isa = PBXNativeTarget; - buildConfigurationList = 66495D01288FF346002780DE /* Build configuration list for PBXNativeTarget "AutoConnectLinphoneAccount" */; - buildPhases = ( - 1D4D7BF9440527C13D50B347 /* [CP] Check Pods Manifest.lock */, - 66495CF7288FF346002780DE /* Sources */, - 66495CF8288FF346002780DE /* Frameworks */, - 66495CF9288FF346002780DE /* Resources */, - 00029ED4EA06DBB8D333C3FD /* [CP] Embed Pods Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 66495D00288FF346002780DE /* PBXTargetDependency */, - ); - name = AutoConnectLinphoneAccount; - productName = AutoConnectLinphoneAccount; - productReference = 66495CFB288FF346002780DE /* AutoConnectLinphoneAccount.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - EA5F25D8232BD3E200475F2E /* msgNotificationService */ = { - isa = PBXNativeTarget; - buildConfigurationList = EA5F25E1232BD3E300475F2E /* Build configuration list for PBXNativeTarget "msgNotificationService" */; - buildPhases = ( - 3007955DA8B4F1E14F2B7518 /* [CP] Check Pods Manifest.lock */, - EA5F25D5232BD3E200475F2E /* Sources */, - 203E6292C3E84CD13778F720 /* Frameworks */, - EA88A406242A6224007FEC61 /* Resources */, - 6112A01A243B2CCF00DBD5F5 /* Run Script */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = msgNotificationService; - productName = messagesNotification; - productReference = EA5F25D9232BD3E200475F2E /* msgNotificationService.appex */; - productType = "com.apple.product-type.app-extension"; - }; - EA8CB826239F96CA00C330CC /* msgNotificationContent */ = { - isa = PBXNativeTarget; - buildConfigurationList = EA8CB834239F96CA00C330CC /* Build configuration list for PBXNativeTarget "msgNotificationContent" */; - buildPhases = ( - 897DE6709DE23EF9C66BE1B0 /* [CP] Check Pods Manifest.lock */, - EA8CB823239F96CA00C330CC /* Sources */, - 143EFEE2501CB14E6BB244EF /* Frameworks */, - EA88F3AE241BD1ED00E66528 /* Resources */, - 6112A019243B2C8400DBD5F5 /* ShellScript */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = msgNotificationContent; - productName = msgNotificationContent; - productReference = EA8CB827239F96CA00C330CC /* msgNotificationContent.appex */; - productType = "com.apple.product-type.app-extension"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 29B97313FDCFA39411CA2CEA /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 1340; - LastUpgradeCheck = 1130; - TargetAttributes = { - 1D6058900D05DD3D006BFB54 = { - DevelopmentTeam = Z2V957B3D6; - LastSwiftMigration = 1030; - ProvisioningStyle = Automatic; - SystemCapabilities = { - com.apple.ApplicationGroups.iOS = { - enabled = 1; - }; - com.apple.BackgroundModes = { - enabled = 1; - }; - com.apple.InAppPurchase = { - enabled = 1; - }; - com.apple.Push = { - enabled = 1; - }; - com.apple.iCloud = { - enabled = 1; - }; - }; - }; - 61AE364A20C00B370089D9D3 = { - CreatedOnToolsVersion = 9.2; - DevelopmentTeam = Z2V957B3D6; - ProvisioningStyle = Automatic; - SystemCapabilities = { - com.apple.ApplicationGroups.iOS = { - enabled = 1; - }; - }; - }; - 6637AF8C288593AF00965733 = { - CreatedOnToolsVersion = 13.4.1; - DevelopmentTeam = Z2V957B3D6; - ProvisioningStyle = Automatic; - TestTargetID = 1D6058900D05DD3D006BFB54; - }; - 66495CFA288FF346002780DE = { - CreatedOnToolsVersion = 13.4.1; - DevelopmentTeam = Z2V957B3D6; - ProvisioningStyle = Automatic; - TestTargetID = 1D6058900D05DD3D006BFB54; - }; - EA5F25D8232BD3E200475F2E = { - CreatedOnToolsVersion = 11.0; - DevelopmentTeam = Z2V957B3D6; - ProvisioningStyle = Automatic; - SystemCapabilities = { - com.apple.ApplicationGroups.iOS = { - enabled = 1; - }; - }; - }; - EA8CB826239F96CA00C330CC = { - CreatedOnToolsVersion = 10.3; - DevelopmentTeam = Z2V957B3D6; - ProvisioningStyle = Automatic; - SystemCapabilities = { - com.apple.ApplicationGroups.iOS = { - enabled = 1; - }; - }; - }; - }; - }; - buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "linphone" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 1; - knownRegions = ( - English, - Japanese, - French, - German, - en, - ru, - Base, - ar, - de, - ja, - nl, - zh_TW, - pl, - sv, - tr, - zh_CN, - fr, - hu, - ); - mainGroup = 29B97314FDCFA39411CA2CEA; - productRefGroup = 19C28FACFE9D520D11CA2CBB /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 1D6058900D05DD3D006BFB54 /* linphone */, - 61AE364A20C00B370089D9D3 /* linphoneExtension */, - EA5F25D8232BD3E200475F2E /* msgNotificationService */, - EA8CB826239F96CA00C330CC /* msgNotificationContent */, - 6637AF8C288593AF00965733 /* CallUITests */, - 66495CFA288FF346002780DE /* AutoConnectLinphoneAccount */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 1D60588D0D05DD3D006BFB54 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 633FEF3F1D3CD55A0014B822 /* security_pending@2x.png in Resources */, - 24BFAAA4209B0630004F47A7 /* linphone_logo.png in Resources */, - 633FEDC41D3CD5590014B822 /* call_hangup_disabled.png in Resources */, - C66B03BB26E8EB1A009B5EDC /* UIChatReplyBubbleView.xib in Resources */, - 633FEDA81D3CD5590014B822 /* backspace_default.png in Resources */, - C63F72C0285A2F1D0066163B /* voip_numpad_0.png in Resources */, - 636316D11A1DEBCB0009B839 /* AboutView.xib in Resources */, - 8CBD7BA620B6B82400E5DCC0 /* UIChatConversationInfoTableViewCell.xib in Resources */, - 244523AF1E8266CC0037A187 /* chat_delivered.png in Resources */, - CF7602F8210898CC00749F76 /* rec_on_default.png in Resources */, - 633FEF481D3CD55A0014B822 /* speaker_selected.png in Resources */, - 633FEED91D3CD55A0014B822 /* numpad_7~ipad.png in Resources */, - 633FEE2B1D3CD5590014B822 /* color_C.png in Resources */, - 633FEE871D3CD5590014B822 /* led_inprogress@2x.png in Resources */, - 633FEEC61D3CD55A0014B822 /* numpad_5_over@2x.png in Resources */, - 633FEF021D3CD55A0014B822 /* options_disabled.png in Resources */, - 633FEDC81D3CD5590014B822 /* call_missed.png in Resources */, - 8CB2B8FA1F86229E0015CEE2 /* next_disabled.png in Resources */, - 8CF25D961F9F336100BEA0C1 /* check_unselected.png in Resources */, - 8C300D9A1E40E0CC00728EF3 /* lime_ko.png in Resources */, - 633FEE311D3CD5590014B822 /* color_I.png in Resources */, - 633FEF1F1D3CD55A0014B822 /* presence_online@2x.png in Resources */, - 633FEE641D3CD5590014B822 /* footer_chat_disabled.png in Resources */, - 633FEE9C1D3CD55A0014B822 /* numpad_0_default@2x.png in Resources */, - 633FEE3C1D3CD5590014B822 /* contacts_all_default.png in Resources */, - 633FEE171D3CD5590014B822 /* chat_send_disabled@2x.png in Resources */, - C61B1BF22667D075001A4E4A /* menu_security_default.png in Resources */, - 633FEE6E1D3CD5590014B822 /* footer_history_default.png in Resources */, - 633FEEB21D3CD55A0014B822 /* numpad_2~ipad@2x.png in Resources */, - 633FEDC61D3CD5590014B822 /* call_incoming.png in Resources */, - 633FEF2D1D3CD55A0014B822 /* route_earpiece_selected@2x.png in Resources */, - 638F1A621C2021B2004B8E02 /* DialerView~ipad.xib in Resources */, - 615A2817217F280C0060F920 /* chat_list_indicator.png in Resources */, - 633FEEFF1D3CD55A0014B822 /* options_add_call_disabled@2x.png in Resources */, - C63F72FD285A31DA0066163B /* Roboto-Regular.ttf in Resources */, - 633FEF091D3CD55A0014B822 /* options_start_conference_disabled@2x.png in Resources */, - C622E3F326A81290004F5434 /* vr_pause.png in Resources */, - 633FEE051D3CD5590014B822 /* cancel_edit_disabled@2x.png in Resources */, - 633FEE5F1D3CD5590014B822 /* edit_list_default@2x.png in Resources */, - C63F72F6285A2F1E0066163B /* voip_delete.png in Resources */, - C63F72F0285A2F1E0066163B /* voip_radio_on.png in Resources */, - C63F72EB285A2F1E0066163B /* voip_edit.png in Resources */, - 633FEEB61D3CD55A0014B822 /* numpad_3_over@2x.png in Resources */, - 633FEF371D3CD55A0014B822 /* routes_disabled@2x.png in Resources */, - C63F72D1285A2F1E0066163B /* voip_numpad_star.png in Resources */, - 633FEE0F1D3CD5590014B822 /* chat_attachment_over@2x.png in Resources */, - 633FEF381D3CD55A0014B822 /* routes_selected.png in Resources */, - 633FEE0B1D3CD5590014B822 /* chat_attachment_default@2x.png in Resources */, - 633FEED41D3CD55A0014B822 /* numpad_7_default@2x.png in Resources */, - 633FEEE01D3CD55A0014B822 /* numpad_8_over~ipad@2x.png in Resources */, - 633FEDDC1D3CD5590014B822 /* call_start_body_disabled~ipad.png in Resources */, - C63F72FF285A31DA0066163B /* Roboto-Bold.ttf in Resources */, - 63E802DB1C625AEF000D5509 /* BuildFile in Resources */, - 633FEE2E1D3CD5590014B822 /* color_F.png in Resources */, - 633FEDC51D3CD5590014B822 /* call_hangup_disabled@2x.png in Resources */, - 633FEEDF1D3CD55A0014B822 /* numpad_8_over~ipad.png in Resources */, - C63F72C3285A2F1D0066163B /* voip_speaker_on.png in Resources */, - 8CD99A372090A824008A7CDA /* splashscreen@2x.png in Resources */, - 24BFAAA9209B0630004F47A7 /* linphone_logo@2x.png in Resources */, - 633FEE071D3CD5590014B822 /* chat_add_default@2x.png in Resources */, - 633FEF551D3CD55A0014B822 /* waiting_time@2x.png in Resources */, - 633FEEAC1D3CD55A0014B822 /* numpad_2_default@2x.png in Resources */, - 633FEE541D3CD5590014B822 /* dialer_back_default.png in Resources */, - C63F72DE285A2F1E0066163B /* voip_call_header_active.png in Resources */, - 633FEF0B1D3CD55A0014B822 /* options_transfer_call_default@2x.png in Resources */, - 633FEDE81D3CD5590014B822 /* call_status_missed~ipad.png in Resources */, - 63AADBFF1B6A0FF200AA16FD /* assistant_external_sip.rc in Resources */, - 61CCC3E121933B660060EDEA /* UIDeviceCell.xib in Resources */, - C63F72F8285A2F1E0066163B /* voip_call_header_outgoing.png in Resources */, - 633FEE9E1D3CD55A0014B822 /* numpad_0_over@2x.png in Resources */, - 8CE24F581F8268850077AC0A /* conference_delete@2x.png in Resources */, - 633FEDC21D3CD5590014B822 /* call_hangup_default.png in Resources */, - 633FEEB41D3CD55A0014B822 /* numpad_3_default@2x.png in Resources */, - 633FEEE51D3CD55A0014B822 /* numpad_9_over.png in Resources */, - 633FEECA1D3CD55A0014B822 /* numpad_5~ipad@2x.png in Resources */, - 633FEE101D3CD5590014B822 /* chat_list_indicator~ipad.png in Resources */, - 633FEF331D3CD55A0014B822 /* route_speaker_selected@2x.png in Resources */, - 633FEE6C1D3CD5590014B822 /* footer_dialer_disabled.png in Resources */, - 633FEF231D3CD55A0014B822 /* route_bluetooth_default@2x.png in Resources */, - C6A1BB4526E890BD00540D50 /* file_voice_default.png in Resources */, - 633FED9C1D3CD5590014B822 /* add_field_default.png in Resources */, - 633FEE411D3CD5590014B822 /* contacts_all_selected@2x.png in Resources */, - D38187F815FE355D00C3EDCA /* TabBarView.xib in Resources */, - C63F72D2285A2F1E0066163B /* voip_numpad_hash.png in Resources */, - C63F72F4285A2F1E0066163B /* voip_conference_new_selected.png in Resources */, - 633FEE2F1D3CD5590014B822 /* color_G.png in Resources */, - 633FEECE1D3CD55A0014B822 /* numpad_6_over@2x.png in Resources */, - 8C92ABE81FA773190006FB5D /* UIChatNotifiedEventCell.xib in Resources */, - C63F72C7285A2F1E0066163B /* voip_change_camera.png in Resources */, - 633FEDAB1D3CD5590014B822 /* backspace_disabled@2x.png in Resources */, - 633FEDD91D3CD5590014B822 /* call_start_body_default~ipad@2x.png in Resources */, - 633FEE401D3CD5590014B822 /* contacts_all_selected.png in Resources */, - 633FEE0C1D3CD5590014B822 /* chat_attachment_disabled.png in Resources */, - C622E3EF26A81290004F5434 /* vr_stop.png in Resources */, - 633FEF001D3CD55A0014B822 /* options_default.png in Resources */, - CF15F21F20E4F9A3008B1DE6 /* UIImageViewDeletable.xib in Resources */, - 633FEE951D3CD55A0014B822 /* micro_default@2x.png in Resources */, - 633FEE6A1D3CD5590014B822 /* footer_dialer_default.png in Resources */, - 633FEEC91D3CD55A0014B822 /* numpad_5~ipad.png in Resources */, - 633FEDFA1D3CD5590014B822 /* camera_selected.png in Resources */, - 633FEF451D3CD55A0014B822 /* speaker_default@2x.png in Resources */, - 633FEDD41D3CD5590014B822 /* call_quality_indicator_4.png in Resources */, - 633FEF241D3CD55A0014B822 /* route_bluetooth_disabled.png in Resources */, - 633FEECD1D3CD55A0014B822 /* numpad_6_over.png in Resources */, - D38187D115FE346B00C3EDCA /* HistoryListView.xib in Resources */, - D38187BD15FE342800C3EDCA /* ContactsListView.xib in Resources */, - 633FEF0E1D3CD55A0014B822 /* pause_big_default.png in Resources */, - 633FEF191D3CD55A0014B822 /* pause_small_over_selected@2x.png in Resources */, - 633FEDA71D3CD5590014B822 /* back_disabled@2x.png in Resources */, - 633FEDBD1D3CD5590014B822 /* call_audio_start_disabled@2x.png in Resources */, - 615A2815217F24E00060F920 /* security_1_indicator@2x.png in Resources */, - 633FEE981D3CD55A0014B822 /* micro_selected.png in Resources */, - 633FEEB51D3CD55A0014B822 /* numpad_3_over.png in Resources */, - 633FEE041D3CD5590014B822 /* cancel_edit_disabled.png in Resources */, - 633FEDE61D3CD5590014B822 /* call_status_missed.png in Resources */, - 8CDC61971F84D9270087CF7F /* check_selected@2x.png in Resources */, - 633FEE7A1D3CD5590014B822 /* history_missed_default.png in Resources */, - 633FEF121D3CD55A0014B822 /* pause_big_over_selected.png in Resources */, - 633FED9D1D3CD5590014B822 /* add_field_default@2x.png in Resources */, - C622E3F426A81290004F5434 /* vr_play.png in Resources */, - 639E9CB01C0DB83000019A75 /* SideMenuView.xib in Resources */, - 633FEDBB1D3CD5590014B822 /* call_audio_start_default@2x.png in Resources */, - 633FEF1A1D3CD55A0014B822 /* presence_away.png in Resources */, - 639E9CB51C0DB88200019A75 /* PhoneMainView.xib in Resources */, - 633FEDB61D3CD5590014B822 /* call_alt_start_default.png in Resources */, - 633FEF0D1D3CD55A0014B822 /* options_transfer_call_disabled@2x.png in Resources */, - 633FEDEF1D3CD5590014B822 /* call_transfer_default@2x.png in Resources */, - 633FEF391D3CD55A0014B822 /* routes_selected@2x.png in Resources */, - 633FEE491D3CD5590014B822 /* delete_default@2x.png in Resources */, - 633FEF291D3CD55A0014B822 /* route_earpiece_default@2x.png in Resources */, - C63F72EA285A2F1E0066163B /* voip_checkbox_unchecked.png in Resources */, - 633FEE271D3CD5590014B822 /* checkbox_checked@2x.png in Resources */, - 61586B85217A17070038AC45 /* menu_assistant.png in Resources */, - 633FEDCC1D3CD5590014B822 /* call_quality_indicator_0.png in Resources */, - 633FEDEB1D3CD5590014B822 /* call_status_outgoing@2x.png in Resources */, - 633FEDEE1D3CD5590014B822 /* call_transfer_default.png in Resources */, - 63DFE04B1C40161700DA5E87 /* notes_of_the_optimistic.caf in Resources */, - 639E9C931C0DB7BE00019A75 /* FirstLoginView.xib in Resources */, - 633FEEF61D3CD55A0014B822 /* numpad_star_over.png in Resources */, - 633FEEE81D3CD55A0014B822 /* numpad_9_over~ipad@2x.png in Resources */, - 633FEEDE1D3CD55A0014B822 /* numpad_8_over@2x.png in Resources */, - 633FEEB11D3CD55A0014B822 /* numpad_2~ipad.png in Resources */, - 633FEE521D3CD5590014B822 /* dialer_alt_back.png in Resources */, - 633FEE341D3CD5590014B822 /* conference_exit_default.png in Resources */, - 615A283E2180A2560060F920 /* invite_linphone.png in Resources */, - 633FEF281D3CD55A0014B822 /* route_earpiece_default.png in Resources */, - 633FEE4F1D3CD5590014B822 /* delete_field_over@2x.png in Resources */, - C622E3F226A81290004F5434 /* vr_off.png in Resources */, - 633FEE531D3CD5590014B822 /* dialer_alt_back@2x.png in Resources */, - 633FEE3E1D3CD5590014B822 /* contacts_all_disabled.png in Resources */, - 633FEEF31D3CD55A0014B822 /* numpad_over_background.png in Resources */, - 633FEDAD1D3CD5590014B822 /* backspace_over@2x.png in Resources */, - 633FEEEF1D3CD55A0014B822 /* numpad_hash_over~ipad.png in Resources */, - 633FEEE21D3CD55A0014B822 /* numpad_8~ipad@2x.png in Resources */, - 633FEEED1D3CD55A0014B822 /* numpad_hash_over.png in Resources */, - 633FEE1F1D3CD5590014B822 /* chat_start_body_disabled@2x.png in Resources */, - 633FEEF81D3CD55A0014B822 /* numpad_star_over~ipad.png in Resources */, - C6A1BB3826E8815400540D50 /* menu_reply_default.png in Resources */, - 633FEF301D3CD55A0014B822 /* route_speaker_disabled.png in Resources */, - 639CEAFD1A1DF4D9004DE38F /* StatusBarView.xib in Resources */, - 633FEDE91D3CD5590014B822 /* call_status_missed~ipad@2x.png in Resources */, - C63F72C9285A2F1E0066163B /* voip_info.png in Resources */, - 8CE24F4C1F8234A30077AC0A /* next_default@2x.png in Resources */, - 244523B11E8266CC0037A187 /* chat_read.png in Resources */, - 61AEBEC62191E47500F35E7F /* chevron_list_close.png in Resources */, - 617B4A60260A2B7800A87337 /* RecordingsListView.xib in Resources */, - 639E9CAC1C0DB80300019A75 /* UIContactDetailsCell.xib in Resources */, - 633FEE511D3CD5590014B822 /* deselect_all@2x.png in Resources */, - C63F72D4285A2F1E0066163B /* voip_remote_recording.png in Resources */, - 8CF25D951F9F336100BEA0C1 /* check_unselected@2x.png in Resources */, - F088488A19FF8C41007FFCF3 /* UIContactCell.xib in Resources */, - 633FEE381D3CD5590014B822 /* contact_add_default.png in Resources */, - 633FEE6F1D3CD5590014B822 /* footer_history_default@2x.png in Resources */, - 633FEF201D3CD55A0014B822 /* presence_unregistered.png in Resources */, - 61586B8D217A173F0038AC45 /* menu_options.png in Resources */, - 61AEBEC82191E48400F35E7F /* chevron_list_close@2x.png in Resources */, - 633FEF341D3CD55A0014B822 /* routes_default.png in Resources */, - C63F72ED285A2F1E0066163B /* voip_merge_calls.png in Resources */, - 633FEE061D3CD5590014B822 /* chat_add_default.png in Resources */, - 633FEDF21D3CD5590014B822 /* call_video_start_default.png in Resources */, - 633FEF491D3CD55A0014B822 /* speaker_selected@2x.png in Resources */, - 633FEF541D3CD55A0014B822 /* waiting_time.png in Resources */, - 633FEE861D3CD5590014B822 /* led_inprogress.png in Resources */, - 633FEDFC1D3CD5590014B822 /* camera_switch_default.png in Resources */, - 24BFAA9F209B0630004F47A7 /* linphone_user.png in Resources */, - 633FEE4B1D3CD5590014B822 /* delete_disabled@2x.png in Resources */, - 633FEE181D3CD5590014B822 /* chat_send_over.png in Resources */, - 633FEDED1D3CD5590014B822 /* call_status_outgoing~ipad@2x.png in Resources */, - 633FEE2D1D3CD5590014B822 /* color_E.png in Resources */, - 633FEED01D3CD55A0014B822 /* numpad_6_over~ipad@2x.png in Resources */, - C64A85502667B67A00252AD2 /* EphemeralSettingsView.xib in Resources */, - 633FEEC81D3CD55A0014B822 /* numpad_5_over~ipad@2x.png in Resources */, - 61586B91217A175D0038AC45 /* menu_recordings.png in Resources */, - C63F72DA285A2F1E0066163B /* voip_numpad_2.png in Resources */, - 633FEF1B1D3CD55A0014B822 /* presence_away@2x.png in Resources */, - C6A1BB3A26E881E100540D50 /* menu_delete.png in Resources */, - 633FEE281D3CD5590014B822 /* checkbox_unchecked.png in Resources */, - 633FEE9D1D3CD55A0014B822 /* numpad_0_over.png in Resources */, - 633FEEC21D3CD55A0014B822 /* numpad_4~ipad@2x.png in Resources */, - 633FEDFE1D3CD5590014B822 /* camera_switch_disabled.png in Resources */, - 633FEE7F1D3CD5590014B822 /* history_missed_selected@2x.png in Resources */, - 633FEDC01D3CD5590014B822 /* call_back_disabled.png in Resources */, - 633FEED31D3CD55A0014B822 /* numpad_7_default.png in Resources */, - 63130FB21C1ED06900371918 /* SideMenuView~ipad.xib in Resources */, - 633FEEE71D3CD55A0014B822 /* numpad_9_over~ipad.png in Resources */, - 633FEEEA1D3CD55A0014B822 /* numpad_9~ipad@2x.png in Resources */, - 633FEEC31D3CD55A0014B822 /* numpad_5_default.png in Resources */, - 669B140827A1821F0012220A /* scroll_to_bottom_default.png in Resources */, - 633FEE3B1D3CD5590014B822 /* contact_add_disabled@2x.png in Resources */, - 633FEF011D3CD55A0014B822 /* options_default@2x.png in Resources */, - 633FEEC01D3CD55A0014B822 /* numpad_4_over~ipad@2x.png in Resources */, - 61586B8B217A17320038AC45 /* menu_link_account@2x.png in Resources */, - 63CDC4661C3BDE370085F529 /* shortring.caf in Resources */, - C6A1BB4126E889AD00540D50 /* forward_message_default.png in Resources */, - 633FEDD51D3CD5590014B822 /* call_quality_indicator_4@2x.png in Resources */, - C63F72CA285A2F1E0066163B /* voip_speaker_off.png in Resources */, - 633FEDE71D3CD5590014B822 /* call_status_missed@2x.png in Resources */, - 615A2821217F6FBF0060F920 /* security_alert_indicator@2x.png in Resources */, - 633FEE1E1D3CD5590014B822 /* chat_start_body_disabled.png in Resources */, - 639CEB001A1DF4E4004DE38F /* UIHistoryCell.xib in Resources */, - 633FEE841D3CD5590014B822 /* led_error.png in Resources */, - 633FEDEA1D3CD5590014B822 /* call_status_outgoing.png in Resources */, - 633FEF511D3CD55A0014B822 /* valid_disabled@2x.png in Resources */, - C63F72C5285A2F1E0066163B /* voip_call_record.png in Resources */, - 633FEEBB1D3CD55A0014B822 /* numpad_4_default.png in Resources */, - 633FEF2B1D3CD55A0014B822 /* route_earpiece_disabled@2x.png in Resources */, - 639E9CA31C0DB7EA00019A75 /* UIChatBubbleTextCell.xib in Resources */, - 633FEDD21D3CD5590014B822 /* call_quality_indicator_3.png in Resources */, - 633FEDAF1D3CD5590014B822 /* call_add_default@2x.png in Resources */, - 633FEE931D3CD55A0014B822 /* menu@2x.png in Resources */, - 633FEF3D1D3CD55A0014B822 /* security_ok@2x.png in Resources */, - 633FEF161D3CD55A0014B822 /* pause_small_disabled.png in Resources */, - 633FEF521D3CD55A0014B822 /* voicemail.png in Resources */, - 633FEE711D3CD5590014B822 /* footer_history_disabled@2x.png in Resources */, - C63F72E5285A2F1E0066163B /* voip_conference_active_speaker.png in Resources */, - 633FEF141D3CD55A0014B822 /* pause_small_default.png in Resources */, - D38187B115FE340500C3EDCA /* ChatsListView.xib in Resources */, - 633FEDA41D3CD5590014B822 /* back_default.png in Resources */, - C63F72BE285A2F1D0066163B /* voip_calls_list.png in Resources */, - C63F72DF285A2F1E0066163B /* voip_bluetooth.png in Resources */, - 633FEE2C1D3CD5590014B822 /* color_D.png in Resources */, - 615A280F217F1FD50060F920 /* chat_add_group.png in Resources */, - 633FEEC41D3CD55A0014B822 /* numpad_5_default@2x.png in Resources */, - 633FEDAC1D3CD5590014B822 /* backspace_over.png in Resources */, - 633FEE1B1D3CD5590014B822 /* chat_start_body_default@2x.png in Resources */, - 633FEE021D3CD5590014B822 /* cancel_edit_default.png in Resources */, - C63F72D7285A2F1E0066163B /* voip_numpad_1.png in Resources */, - 633FEEE31D3CD55A0014B822 /* numpad_9_default.png in Resources */, - 633FEE651D3CD5590014B822 /* footer_chat_disabled@2x.png in Resources */, - 633FEEDD1D3CD55A0014B822 /* numpad_8_over.png in Resources */, - 633FEE8E1D3CD55A0014B822 /* list_details_default.png in Resources */, - 633FEED71D3CD55A0014B822 /* numpad_7_over~ipad.png in Resources */, - C63F72D3285A2F1E0066163B /* voip_multiple_contacts_avatar.png in Resources */, - 633FEF2A1D3CD55A0014B822 /* route_earpiece_disabled.png in Resources */, - 633FEDDB1D3CD5590014B822 /* call_start_body_disabled@2x.png in Resources */, - CFBD7A2A20E504AE007C5286 /* delete_img.png in Resources */, - C63F72C8285A2F1E0066163B /* voip_checkbox_checked.png in Resources */, - 633FEDFD1D3CD5590014B822 /* camera_switch_default@2x.png in Resources */, - 633FEEC51D3CD55A0014B822 /* numpad_5_over.png in Resources */, - 633FEE721D3CD5590014B822 /* history_all_default.png in Resources */, - C6B4444326AAD0980076C517 /* file_default.png in Resources */, - 615A283C2180789C0060F920 /* security_toogle_button@2x.png in Resources */, - 633FEF0A1D3CD55A0014B822 /* options_transfer_call_default.png in Resources */, - 633FEDA51D3CD5590014B822 /* back_default@2x.png in Resources */, - 633FEF311D3CD55A0014B822 /* route_speaker_disabled@2x.png in Resources */, - 61586B81217A16EE0038AC45 /* menu_about.png in Resources */, - C63F72D0285A2F1E0066163B /* voip_conference_paused_big.png in Resources */, - 633FEEE41D3CD55A0014B822 /* numpad_9_default@2x.png in Resources */, - C63F72CD285A2F1E0066163B /* voip_numpad_8.png in Resources */, - 8C2A81961F87B8000012A66B /* chat_group_avatar.png in Resources */, - 633FEDA31D3CD5590014B822 /* avatar~ipad@2x.png in Resources */, - 633FEF461D3CD55A0014B822 /* speaker_disabled.png in Resources */, - 638F1A911C21993D004B8E02 /* UICompositeView~ipad.xib in Resources */, - 633FEE211D3CD5590014B822 /* chat_start_body_disabled~ipad@2x.png in Resources */, - 63AADC011B6A0FF200AA16FD /* assistant_linphone_existing.rc in Resources */, - 633FEE5A1D3CD5590014B822 /* edit_default.png in Resources */, - 244523B01E8266CC0037A187 /* chat_error.png in Resources */, - 8CBD7BA320B6B80D00E5DCC0 /* ChatConversationImdnView.xib in Resources */, - 633FEDD11D3CD5590014B822 /* call_quality_indicator_2@2x.png in Resources */, - 633FEDBC1D3CD5590014B822 /* call_audio_start_disabled.png in Resources */, - 24BFAA9E209B0630004F47A7 /* dialer_background.png in Resources */, - 633FEE481D3CD5590014B822 /* delete_default.png in Resources */, - 633FEEB01D3CD55A0014B822 /* numpad_2_over~ipad@2x.png in Resources */, - 633FEE2A1D3CD5590014B822 /* color_A.png in Resources */, - 633FEEA41D3CD55A0014B822 /* numpad_1_default@2x.png in Resources */, - 63E27A321C4FECD000D332AE /* LaunchScreen.xib in Resources */, - 633FEED11D3CD55A0014B822 /* numpad_6~ipad.png in Resources */, - CF7602E82108759A00749F76 /* UIRecordingCell.xib in Resources */, - C6B4444626AAD0980076C517 /* file_pdf_default.png in Resources */, - 633FEED21D3CD55A0014B822 /* numpad_6~ipad@2x.png in Resources */, - C63F72E0285A2F1E0066163B /* voip_micro_off.png in Resources */, - 633FEDCD1D3CD5590014B822 /* call_quality_indicator_0@2x.png in Resources */, - 636316D41A1DEC650009B839 /* SettingsView.xib in Resources */, - 24BFAAA6209B0630004F47A7 /* linphone_user~ipad.png in Resources */, - 633FEEBF1D3CD55A0014B822 /* numpad_4_over~ipad.png in Resources */, - 633FEEAD1D3CD55A0014B822 /* numpad_2_over.png in Resources */, - 633FEE801D3CD5590014B822 /* led_connected.png in Resources */, - 633FEEF41D3CD55A0014B822 /* numpad_star_default.png in Resources */, - 61586B93217A17700038AC45 /* menu_recordings@2x.png in Resources */, - 615A2834218071FF0060F920 /* security_toogle_background_grey.png in Resources */, - 633FEDDE1D3CD5590014B822 /* call_start_body_over.png in Resources */, - 24BFAAA0209B0630004F47A7 /* contacts_sip_default@2x.png in Resources */, - 8CF25D9D1F9F76BD00BEA0C1 /* chat_group_informations.png in Resources */, - 633FEDFB1D3CD5590014B822 /* camera_selected@2x.png in Resources */, - 633FEF051D3CD55A0014B822 /* options_selected@2x.png in Resources */, - 633FEDD61D3CD5590014B822 /* call_start_body_default.png in Resources */, - 633FEEEC1D3CD55A0014B822 /* numpad_hash_default@2x.png in Resources */, - C63F72D8285A2F1E0066163B /* voip_mandatory.png in Resources */, - 633FEE831D3CD5590014B822 /* led_disconnected@2x.png in Resources */, - 244523BE1E8D3A6C0037A187 /* chat_unsecure.png in Resources */, - C63F72DC285A2F1E0066163B /* voip_menu_more.png in Resources */, - C63F72D5285A2F1E0066163B /* voip_hangup.png in Resources */, - 633FEE031D3CD5590014B822 /* cancel_edit_default@2x.png in Resources */, - 633FEDE01D3CD5590014B822 /* call_start_body_over~ipad.png in Resources */, - 8CBD7BA920B6B82A00E5DCC0 /* UIChatConversationImdnTableViewCell.xib in Resources */, - 615A28442180C0900060F920 /* recording@2x.png in Resources */, - 615A2813217F24D40060F920 /* security_1_indicator.png in Resources */, - 24BFAAA7209B0630004F47A7 /* callkit_logo.png in Resources */, - 615A2811217F1FDE0060F920 /* chat_add_group@2x.png in Resources */, - D34F6F9E1594D3FB0095705B /* InAppSettings.bundle in Resources */, - 633FEE4D1D3CD5590014B822 /* delete_field_default@2x.png in Resources */, - C63F72D9285A2F1E0066163B /* voip_earpiece.png in Resources */, - 615A28362180720D0060F920 /* security_toogle_background_grey@2x.png in Resources */, - 639CEB091A1DF4FA004DE38F /* UIChatCell.xib in Resources */, - C6F55645287CC69F0056E213 /* voip_meeting_schedule.png in Resources */, - 633FEE961D3CD55A0014B822 /* micro_disabled.png in Resources */, - 63AADBF61B6A0FF200AA16FD /* linphonerc-factory in Resources */, - C63F72C6285A2F1E0066163B /* voip_call_forward.png in Resources */, - 633FEE671D3CD5590014B822 /* footer_contacts_default@2x.png in Resources */, - 615A2830218071E80060F920 /* security_toogle_background_green.png in Resources */, - 63B8D68C1BCBE65600C12B09 /* ChatConversationCreateView.xib in Resources */, - 63CDC45F1C3BDE370085F529 /* ringback.wav in Resources */, - 8CD99A1C20908C27008A7CDA /* callkit_logo@2x.png in Resources */, - 633FEE251D3CD5590014B822 /* chat_start_body_over~ipad@2x.png in Resources */, - 633FEDF91D3CD5590014B822 /* camera_disabled@2x.png in Resources */, - 633FEE161D3CD5590014B822 /* chat_send_disabled.png in Resources */, - 615A282421805B260060F920 /* security_toogle_icon_green.png in Resources */, - 633FEE1A1D3CD5590014B822 /* chat_start_body_default.png in Resources */, - 633FEF041D3CD55A0014B822 /* options_selected.png in Resources */, - 633FEEE61D3CD55A0014B822 /* numpad_9_over@2x.png in Resources */, - 63E27A521C50EDB000D332AE /* hold.mkv in Resources */, - 633FEEDC1D3CD55A0014B822 /* numpad_8_default@2x.png in Resources */, - 633FEDAE1D3CD5590014B822 /* call_add_default.png in Resources */, - 633FEE1D1D3CD5590014B822 /* chat_start_body_default~ipad@2x.png in Resources */, - 633FEEEB1D3CD55A0014B822 /* numpad_hash_default.png in Resources */, - 633FEF221D3CD55A0014B822 /* route_bluetooth_default.png in Resources */, - 633FEE701D3CD5590014B822 /* footer_history_disabled.png in Resources */, - 633FEDC91D3CD5590014B822 /* call_missed@2x.png in Resources */, - C63F72E8285A2F1E0066163B /* conference_schedule_calendar_default.png in Resources */, - 633FEEAE1D3CD55A0014B822 /* numpad_2_over@2x.png in Resources */, - 633FEDB51D3CD5590014B822 /* call_alt_back_disabled@2x.png in Resources */, - 631098521D4660630041F2B3 /* CountryListView.xib in Resources */, - 633FEF271D3CD55A0014B822 /* route_bluetooth_selected@2x.png in Resources */, - 633FEE111D3CD5590014B822 /* chat_list_indicator~ipad@2x.png in Resources */, - 633FEEFC1D3CD55A0014B822 /* options_add_call_default.png in Resources */, - 615A2819217F28160060F920 /* chat_list_indicator@2x.png in Resources */, - 61AEBECC2191E4A300F35E7F /* chevron_list_open@2x.png in Resources */, - 24BFAAA5209B0630004F47A7 /* contacts_sip_default.png in Resources */, - 633FEF441D3CD55A0014B822 /* speaker_default.png in Resources */, - 639CEB031A1DF4EB004DE38F /* UICompositeView.xib in Resources */, - C6A1BB4326E88F7C00540D50 /* menu_resend_default.png in Resources */, - 633FEF3A1D3CD55A0014B822 /* security_ko.png in Resources */, - 615A283A2180788E0060F920 /* security_toogle_button.png in Resources */, - 633FEDA01D3CD5590014B822 /* avatar.png in Resources */, - 633FEEBC1D3CD55A0014B822 /* numpad_4_default@2x.png in Resources */, - 633FEEA91D3CD55A0014B822 /* numpad_1~ipad.png in Resources */, - 615A28402180A2620060F920 /* invite_linphone@2x.png in Resources */, - C61B1BF42667D202001A4E4A /* more_menu_default.png in Resources */, - 633FEDF71D3CD5590014B822 /* camera_default@2x.png in Resources */, - C64A85522667B74100252AD2 /* ephemeral_messages_default.png in Resources */, - 633FEDB31D3CD5590014B822 /* call_alt_back_default@2x.png in Resources */, - C63F72F2285A2F1E0066163B /* voip_conference_mosaic.png in Resources */, - 633FEDCF1D3CD5590014B822 /* call_quality_indicator_1@2x.png in Resources */, - 633FEF131D3CD55A0014B822 /* pause_big_over_selected@2x.png in Resources */, - 8CDC61951F84D89B0087CF7F /* check_selected.png in Resources */, - 633FEEF01D3CD55A0014B822 /* numpad_hash_over~ipad@2x.png in Resources */, - 63AADBF81B6A0FF200AA16FD /* linphonerc~ipad in Resources */, - 633FEE8F1D3CD55A0014B822 /* list_details_default@2x.png in Resources */, - 633FEE5E1D3CD5590014B822 /* edit_list_default.png in Resources */, - C63F72F7285A2F1E0066163B /* voip_cancel.png in Resources */, - 615A282621805B320060F920 /* security_toogle_icon_green@2x.png in Resources */, - 633FEDB11D3CD5590014B822 /* call_add_disabled@2x.png in Resources */, - CF7602F7210898CC00749F76 /* rec_off_default.png in Resources */, - 633FEDB21D3CD5590014B822 /* call_alt_back_default.png in Resources */, - 633FEE3D1D3CD5590014B822 /* contacts_all_default@2x.png in Resources */, - 633FEF251D3CD55A0014B822 /* route_bluetooth_disabled@2x.png in Resources */, - 633FEDD81D3CD5590014B822 /* call_start_body_default~ipad.png in Resources */, - 61586B83217A16FD0038AC45 /* menu_about@2x.png in Resources */, - C63F72E6285A2F1E0066163B /* voip_numpad_6.png in Resources */, - 633FEED81D3CD55A0014B822 /* numpad_7_over~ipad@2x.png in Resources */, - 633FEDD71D3CD5590014B822 /* call_start_body_default@2x.png in Resources */, - C63F72D6285A2F1E0066163B /* voip_pause.png in Resources */, - 633FEE571D3CD5590014B822 /* dialer_back_disabled@2x.png in Resources */, - 63CDC45E1C3BDE370085F529 /* msg.caf in Resources */, - 633FEE6D1D3CD5590014B822 /* footer_dialer_disabled@2x.png in Resources */, - 633FEF171D3CD55A0014B822 /* pause_small_disabled@2x.png in Resources */, - C6A1BB3626E8815400540D50 /* menu_forward_default.png in Resources */, - D38187DD15FE348A00C3EDCA /* AssistantView.xib in Resources */, - 633FEDA61D3CD5590014B822 /* back_disabled.png in Resources */, - 633FEED61D3CD55A0014B822 /* numpad_7_over@2x.png in Resources */, - 633FEDA11D3CD5590014B822 /* avatar@2x.png in Resources */, - 633FED9E1D3CD5590014B822 /* add_field_over.png in Resources */, - 633FEE0A1D3CD5590014B822 /* chat_attachment_default.png in Resources */, - 633FEE201D3CD5590014B822 /* chat_start_body_disabled~ipad.png in Resources */, - 633FEE5B1D3CD5590014B822 /* edit_default@2x.png in Resources */, - 633FEDE11D3CD5590014B822 /* call_start_body_over~ipad@2x.png in Resources */, - 633FEF4F1D3CD55A0014B822 /* valid_default@2x.png in Resources */, - 8CD99A382090A824008A7CDA /* splashscreen.png in Resources */, - C63F72B7285A2F1D0066163B /* voip_numpad_7.png in Resources */, - 633FEE241D3CD5590014B822 /* chat_start_body_over~ipad.png in Resources */, - 8C2A81951F87B8000012A66B /* chat_group_avatar@2x.png in Resources */, - C63F72C4285A2F1D0066163B /* voip_audio_routes.png in Resources */, - C63F72E1285A2F1E0066163B /* voip_camera_on.png in Resources */, - 633FEE091D3CD5590014B822 /* chat_add_disabled@2x.png in Resources */, - 633FEE191D3CD5590014B822 /* chat_send_over@2x.png in Resources */, - 633FEF181D3CD55A0014B822 /* pause_small_over_selected.png in Resources */, - 633FEE001D3CD5590014B822 /* camera_switch_over.png in Resources */, - C622E3F126A81290004F5434 /* vr_on.png in Resources */, - 633FEF401D3CD55A0014B822 /* select_all_default.png in Resources */, - C6B4444426AAD0980076C517 /* file_picture_default.png in Resources */, - 633FEDF01D3CD5590014B822 /* call_transfer_disabled.png in Resources */, - 633FEE351D3CD5590014B822 /* conference_exit_default@2x.png in Resources */, - 633FEECF1D3CD55A0014B822 /* numpad_6_over~ipad.png in Resources */, - 61586B87217A17160038AC45 /* menu_assistant@2x.png in Resources */, - 633FEE9A1D3CD55A0014B822 /* nowebcamCIF.jpg in Resources */, - 61586B89217A17220038AC45 /* menu_link_account.png in Resources */, - 633FEF351D3CD55A0014B822 /* routes_default@2x.png in Resources */, - 633FEEDB1D3CD55A0014B822 /* numpad_8_default.png in Resources */, - 633FEE5C1D3CD5590014B822 /* edit_disabled.png in Resources */, - C63F72BD285A2F1D0066163B /* voip_call_header_incoming.png in Resources */, - 8CF25D9E1F9F76BD00BEA0C1 /* chat_group_informations@2x.png in Resources */, - 633FEDCA1D3CD5590014B822 /* call_outgoing.png in Resources */, - 633FEDF81D3CD5590014B822 /* camera_disabled.png in Resources */, - 8CB2B8FB1F86229E0015CEE2 /* next_disabled@2x.png in Resources */, - 633FEEE91D3CD55A0014B822 /* numpad_9~ipad.png in Resources */, - 633FEE331D3CD5590014B822 /* color_M.png in Resources */, - 633FEE811D3CD5590014B822 /* led_connected@2x.png in Resources */, - 8CA70AD51F9E285C00A3D2EB /* chat_group_add.png in Resources */, - 633FEE9B1D3CD55A0014B822 /* numpad_0_default.png in Resources */, - 633FEF411D3CD55A0014B822 /* select_all_default@2x.png in Resources */, - 633FEEFD1D3CD55A0014B822 /* options_add_call_default@2x.png in Resources */, - 633FEEA81D3CD55A0014B822 /* numpad_1_over~ipad@2x.png in Resources */, - C63F72B9285A2F1D0066163B /* voip_export.png in Resources */, - D38187AD15FE340100C3EDCA /* ChatConversationView.xib in Resources */, - 633FEE7C1D3CD5590014B822 /* history_missed_disabled.png in Resources */, - CF1DE92E210A0F5D00A0A97E /* UILinphoneAudioPlayer.xib in Resources */, - 633FEDF11D3CD5590014B822 /* call_transfer_disabled@2x.png in Resources */, - 615A282821805B400060F920 /* security_toogle_icon_grey.png in Resources */, - 633FEDFF1D3CD5590014B822 /* camera_switch_disabled@2x.png in Resources */, - 633FEDDF1D3CD5590014B822 /* call_start_body_over@2x.png in Resources */, - 633FEEFA1D3CD55A0014B822 /* numpad_star~ipad.png in Resources */, - D38187B915FE342200C3EDCA /* ContactDetailsView.xib in Resources */, - 633FEE921D3CD55A0014B822 /* menu.png in Resources */, - C622E3F026A81290004F5434 /* vr_wave.png in Resources */, - C63F72E3285A2F1E0066163B /* voip_call.png in Resources */, - 633FEDE41D3CD5590014B822 /* call_status_incoming~ipad.png in Resources */, - 633FEE4C1D3CD5590014B822 /* delete_field_default.png in Resources */, - 633FEE391D3CD5590014B822 /* contact_add_default@2x.png in Resources */, - 633FEE741D3CD5590014B822 /* history_all_disabled.png in Resources */, - 633FEE081D3CD5590014B822 /* chat_add_disabled.png in Resources */, - 615A28422180C0870060F920 /* recording.png in Resources */, - C63F72EC285A2F1E0066163B /* conference_schedule_time_default.png in Resources */, - 633FEF1D1D3CD55A0014B822 /* presence_offline@2x.png in Resources */, - 24A3459E1D95797700881A5C /* UIShopTableCell.xib in Resources */, - 633FEE231D3CD5590014B822 /* chat_start_body_over@2x.png in Resources */, - 633FEEBE1D3CD55A0014B822 /* numpad_4_over@2x.png in Resources */, - 633FEF471D3CD55A0014B822 /* speaker_disabled@2x.png in Resources */, - 633FEEFE1D3CD55A0014B822 /* options_add_call_disabled.png in Resources */, - 633FEE291D3CD5590014B822 /* checkbox_unchecked@2x.png in Resources */, - 63AADC001B6A0FF200AA16FD /* assistant_linphone_create.rc in Resources */, - 633FEF1C1D3CD55A0014B822 /* presence_offline.png in Resources */, - 633FEE901D3CD55A0014B822 /* list_details_over.png in Resources */, - 633FEDE31D3CD5590014B822 /* call_status_incoming@2x.png in Resources */, - 633FEE821D3CD5590014B822 /* led_disconnected.png in Resources */, - C63F72BC285A2F1D0066163B /* voip_numpad_4.png in Resources */, - 633FEDB01D3CD5590014B822 /* call_add_disabled.png in Resources */, - 63EC8D391D7438660066547B /* AssistantLinkView.xib in Resources */, - 633FEE971D3CD55A0014B822 /* micro_disabled@2x.png in Resources */, - D38187CD15FE346700C3EDCA /* HistoryDetailsView.xib in Resources */, - 633FEEA21D3CD55A0014B822 /* numpad_0~ipad@2x.png in Resources */, - 633FEE991D3CD55A0014B822 /* micro_selected@2x.png in Resources */, - 633FEE621D3CD5590014B822 /* footer_chat_default.png in Resources */, - 24BFAAA3209B0630004F47A7 /* contacts_sip_selected.png in Resources */, - 633FEE0D1D3CD5590014B822 /* chat_attachment_disabled@2x.png in Resources */, - 639E9CA61C0DB7F200019A75 /* UIChatCreateCell.xib in Resources */, - 8CBD7BAC20B6B82F00E5DCC0 /* UIChatCreateCollectionViewCell.xib in Resources */, - 633FEEA31D3CD55A0014B822 /* numpad_1_default.png in Resources */, - 633FEEA51D3CD55A0014B822 /* numpad_1_over.png in Resources */, - 633FEF2E1D3CD55A0014B822 /* route_speaker_default.png in Resources */, - 633FEDA91D3CD5590014B822 /* backspace_default@2x.png in Resources */, - 633FEDF61D3CD5590014B822 /* camera_default.png in Resources */, - C63F72E2285A2F1E0066163B /* voip_conference_play_big.png in Resources */, - F0642EF119DAC891009DB336 /* MainStoryboard.storyboard in Resources */, - 633FEECC1D3CD55A0014B822 /* numpad_6_default@2x.png in Resources */, - 633FEEB91D3CD55A0014B822 /* numpad_3~ipad.png in Resources */, - C63F72F5285A2F1E0066163B /* voip_single_contact_avatar.png in Resources */, - C63F72EF285A2F1E0066163B /* voip_micro_on.png in Resources */, - 633FEE731D3CD5590014B822 /* history_all_default@2x.png in Resources */, - 633FEDE21D3CD5590014B822 /* call_status_incoming.png in Resources */, - 633FEDDA1D3CD5590014B822 /* call_start_body_disabled.png in Resources */, - 633FEDB91D3CD5590014B822 /* call_alt_start_disabled@2x.png in Resources */, - 633FEE691D3CD5590014B822 /* footer_contacts_disabled@2x.png in Resources */, - 8CBD7BA020B6B7FD00E5DCC0 /* ChatConversationInfoView.xib in Resources */, - 633FEF071D3CD55A0014B822 /* options_start_conference_default@2x.png in Resources */, - 633FEE151D3CD5590014B822 /* chat_send_default@2x.png in Resources */, - 633FEDC31D3CD5590014B822 /* call_hangup_default@2x.png in Resources */, - 633FEF061D3CD55A0014B822 /* options_start_conference_default.png in Resources */, - 63AADC021B6A0FF200AA16FD /* assistant_remote.rc in Resources */, - 633FEF1E1D3CD55A0014B822 /* presence_online.png in Resources */, - 8CE24F571F8268850077AC0A /* conference_delete.png in Resources */, - 633FEDF41D3CD5590014B822 /* call_video_start_disabled.png in Resources */, - 633FEDD31D3CD5590014B822 /* call_quality_indicator_3@2x.png in Resources */, - 633FEE3A1D3CD5590014B822 /* contact_add_disabled.png in Resources */, - 633FEEA11D3CD55A0014B822 /* numpad_0~ipad.png in Resources */, - 8CE24F4B1F8234A30077AC0A /* next_default.png in Resources */, - 633FEE751D3CD5590014B822 /* history_all_disabled@2x.png in Resources */, - 633FEEF71D3CD55A0014B822 /* numpad_star_over@2x.png in Resources */, - 633FEEAB1D3CD55A0014B822 /* numpad_2_default.png in Resources */, - 633FEE851D3CD5590014B822 /* led_error@2x.png in Resources */, - C6B4444226AAD0980076C517 /* file_video_default.png in Resources */, - 633FEDBE1D3CD5590014B822 /* call_back_default.png in Resources */, - 633FEF0F1D3CD55A0014B822 /* pause_big_default@2x.png in Resources */, - C66B040E26F095D1009B5EDC /* cancel_forward.png in Resources */, - CF7602F6210898CC00749F76 /* rec_on_default@2x.png in Resources */, - 633FEF081D3CD55A0014B822 /* options_start_conference_disabled.png in Resources */, - 633FEE301D3CD5590014B822 /* color_H.png in Resources */, - 633FEE7D1D3CD5590014B822 /* history_missed_disabled@2x.png in Resources */, - 633FEE941D3CD55A0014B822 /* micro_default.png in Resources */, - 633FEE611D3CD5590014B822 /* edit_list_disabled@2x.png in Resources */, - C63F72EE285A2F1E0066163B /* voip_camera_off.png in Resources */, - 633FEE761D3CD5590014B822 /* history_all_selected.png in Resources */, - C63F72E7285A2F1E0066163B /* voip_call_participants.png in Resources */, - 8C300D9B1E40E0CC00728EF3 /* lime_ko@2x.png in Resources */, - 633FEF321D3CD55A0014B822 /* route_speaker_selected.png in Resources */, - 61AEBEBF2191991F00F35E7F /* DevicesListView.xib in Resources */, - C63F72BA285A2F1D0066163B /* voip_call_numpad.png in Resources */, - 633FEDF51D3CD5590014B822 /* call_video_start_disabled@2x.png in Resources */, - 63B81A0C1B57DA33009604A6 /* LICENSE.txt in Resources */, - 633FEEDA1D3CD55A0014B822 /* numpad_7~ipad@2x.png in Resources */, - 633FEE5D1D3CD5590014B822 /* edit_disabled@2x.png in Resources */, - 615A2832218071F30060F920 /* security_toogle_background_green@2x.png in Resources */, - 633FEEC11D3CD55A0014B822 /* numpad_4~ipad.png in Resources */, - 633FEE6B1D3CD5590014B822 /* footer_dialer_default@2x.png in Resources */, - 633FEE0E1D3CD5590014B822 /* chat_attachment_over.png in Resources */, - 633FEE7B1D3CD5590014B822 /* history_missed_default@2x.png in Resources */, - 633FEEC71D3CD55A0014B822 /* numpad_5_over~ipad.png in Resources */, - C6F55647287CCFB70056E213 /* menu_voip_meeting_schedule.png in Resources */, - C63F72BF285A2F1D0066163B /* voip_call_header_paused.png in Resources */, - 633FEEAA1D3CD55A0014B822 /* numpad_1~ipad@2x.png in Resources */, - 633FEDEC1D3CD5590014B822 /* call_status_outgoing~ipad.png in Resources */, - 633FEDE51D3CD5590014B822 /* call_status_incoming~ipad@2x.png in Resources */, - 633FEEE11D3CD55A0014B822 /* numpad_8~ipad.png in Resources */, - 633FEF101D3CD55A0014B822 /* pause_big_disabled.png in Resources */, - 633FEE221D3CD5590014B822 /* chat_start_body_over.png in Resources */, - 633FEE601D3CD5590014B822 /* edit_list_disabled.png in Resources */, - D38187C115FE345B00C3EDCA /* DialerView.xib in Resources */, - C6A1BB3726E8815400540D50 /* menu_copy_text_default.png in Resources */, - D37EE10D16035793003608A6 /* ImageView.xib in Resources */, - C63F72B8285A2F1D0066163B /* voip_radio_off.png in Resources */, - 633FEE9F1D3CD55A0014B822 /* numpad_0_over~ipad.png in Resources */, - 633FEED51D3CD55A0014B822 /* numpad_7_over.png in Resources */, - 633FEE561D3CD5590014B822 /* dialer_back_disabled.png in Resources */, - 633FEDBF1D3CD5590014B822 /* call_back_default@2x.png in Resources */, - 24BFAAA8209B0630004F47A7 /* contacts_sip_selected@2x.png in Resources */, - 633FEE141D3CD5590014B822 /* chat_send_default.png in Resources */, - 633FEF421D3CD55A0014B822 /* select_all_disabled.png in Resources */, - 63AADBE81B6A0FF200AA16FD /* Localizable.strings in Resources */, - C63F72CF285A2F1E0066163B /* voip_copy.png in Resources */, - 633FEEF21D3CD55A0014B822 /* numpad_hash~ipad@2x.png in Resources */, - 633FEE3F1D3CD5590014B822 /* contacts_all_disabled@2x.png in Resources */, - 633FEF3B1D3CD55A0014B822 /* security_ko@2x.png in Resources */, - C63F72F1285A2F1E0066163B /* conference_schedule_participants_default.png in Resources */, - 633FEE4A1D3CD5590014B822 /* delete_disabled.png in Resources */, - 614D09CE21E74D5400C43EDF /* GoogleService-Info.plist in Resources */, - C6B4444526AAD0980076C517 /* file_audio_default.png in Resources */, - C6A1BB3526E8815400540D50 /* menu_info.png in Resources */, - C61B1BF72667EC6B001A4E4A /* ephemeral_messages_color_A.png in Resources */, - 633FEF151D3CD55A0014B822 /* pause_small_default@2x.png in Resources */, - 633FEEF91D3CD55A0014B822 /* numpad_star_over~ipad@2x.png in Resources */, - 633FEDCB1D3CD5590014B822 /* call_outgoing@2x.png in Resources */, - 633FEF501D3CD55A0014B822 /* valid_disabled.png in Resources */, - 633FEEB31D3CD55A0014B822 /* numpad_3_default.png in Resources */, - 61AEBECA2191E49300F35E7F /* chevron_list_open.png in Resources */, - 633FEE1C1D3CD5590014B822 /* chat_start_body_default~ipad.png in Resources */, - 633FEE011D3CD5590014B822 /* camera_switch_over@2x.png in Resources */, - 633FEEA01D3CD55A0014B822 /* numpad_0_over~ipad@2x.png in Resources */, - 66E399F72857869300E73456 /* menu_notifications_off.png in Resources */, - 633FEF3E1D3CD55A0014B822 /* security_pending.png in Resources */, - 633FEE7E1D3CD5590014B822 /* history_missed_selected.png in Resources */, - 633FEE261D3CD5590014B822 /* checkbox_checked.png in Resources */, - C63F72B6285A2F1D0066163B /* voip_spinner.png in Resources */, - 633FEF531D3CD55A0014B822 /* voicemail@2x.png in Resources */, - 633FEF2C1D3CD55A0014B822 /* route_earpiece_selected.png in Resources */, - 633FEE681D3CD5590014B822 /* footer_contacts_disabled.png in Resources */, - C63F72B5285A2F1D0066163B /* voip_dropdown.png in Resources */, - C63F72CC285A2F1E0066163B /* voip_call_stats.png in Resources */, - 633FEDB71D3CD5590014B822 /* call_alt_start_default@2x.png in Resources */, - D3D5126C160B3A8E00946DF8 /* AssistantViewScreens.xib in Resources */, - 63AADBEA1B6A0FF200AA16FD /* Images.xcassets in Resources */, - 633FEECB1D3CD55A0014B822 /* numpad_6_default.png in Resources */, - C63F72DD285A2F1E0066163B /* voip_conference_new.png in Resources */, - 633FEDC71D3CD5590014B822 /* call_incoming@2x.png in Resources */, - 633FEDB81D3CD5590014B822 /* call_alt_start_disabled.png in Resources */, - 615A281D217F6FA80060F920 /* security_2_indicator@2x.png in Resources */, - C63F72E9285A2F1E0066163B /* voip_call_chat.png in Resources */, - 633FEF3C1D3CD55A0014B822 /* security_ok.png in Resources */, - 633FEEAF1D3CD55A0014B822 /* numpad_2_over~ipad.png in Resources */, - 633FEEB81D3CD55A0014B822 /* numpad_3_over~ipad@2x.png in Resources */, - 633FEEFB1D3CD55A0014B822 /* numpad_star~ipad@2x.png in Resources */, - 633FED9F1D3CD5590014B822 /* add_field_over@2x.png in Resources */, - 633FEEB71D3CD55A0014B822 /* numpad_3_over~ipad.png in Resources */, - C63F72F3285A2F1E0066163B /* voip_numpad_5.png in Resources */, - 633FEEF51D3CD55A0014B822 /* numpad_star_default@2x.png in Resources */, - 639E9CA91C0DB7FB00019A75 /* UIConfirmationDialog.xib in Resources */, - C63F72CB285A2F1E0066163B /* voip_call_more.png in Resources */, - 633FEF111D3CD55A0014B822 /* pause_big_disabled@2x.png in Resources */, - C63F72FE285A31DA0066163B /* Roboto-Italic.ttf in Resources */, - C63F72C1285A2F1D0066163B /* voip_numpad_3.png in Resources */, - 633FEE321D3CD5590014B822 /* color_L.png in Resources */, - 615A281F217F6FB40060F920 /* security_alert_indicator.png in Resources */, - CF7602F5210898CC00749F76 /* rec_off_default@2x.png in Resources */, - 633FEDB41D3CD5590014B822 /* call_alt_back_disabled.png in Resources */, - 633FEE631D3CD5590014B822 /* footer_chat_default@2x.png in Resources */, - 615A281B217F6F9C0060F920 /* security_2_indicator.png in Resources */, - 633FEE661D3CD5590014B822 /* footer_contacts_default.png in Resources */, - 633FEDC11D3CD5590014B822 /* call_back_disabled@2x.png in Resources */, - 633FEEEE1D3CD55A0014B822 /* numpad_hash_over@2x.png in Resources */, - 633FEDD01D3CD5590014B822 /* call_quality_indicator_2.png in Resources */, - C63F72BB285A2F1D0066163B /* voip_chat_rooms_list.png in Resources */, - 633FEE551D3CD5590014B822 /* dialer_back_default@2x.png in Resources */, - 633FEF361D3CD55A0014B822 /* routes_disabled.png in Resources */, - 633FEF261D3CD55A0014B822 /* route_bluetooth_selected.png in Resources */, - 633FEDF31D3CD5590014B822 /* call_video_start_default@2x.png in Resources */, - 24BFAAA2209B0630004F47A7 /* linphone_user~ipad@2x.png in Resources */, - 633FEDBA1D3CD5590014B822 /* call_audio_start_default.png in Resources */, - 61586B8F217A174F0038AC45 /* menu_options@2x.png in Resources */, - 633FEE131D3CD5590014B822 /* chat_message_not_delivered@2x.png in Resources */, - 615A282A21805B4C0060F920 /* security_toogle_icon_grey@2x.png in Resources */, - C63F72CE285A2F1E0066163B /* voip_call_add.png in Resources */, - 63AADBF51B6A0FF200AA16FD /* linphonerc in Resources */, - 633FEF0C1D3CD55A0014B822 /* options_transfer_call_disabled.png in Resources */, - 633FEE911D3CD55A0014B822 /* list_details_over@2x.png in Resources */, - 633FEE121D3CD5590014B822 /* chat_message_not_delivered.png in Resources */, - 633FEDCE1D3CD5590014B822 /* call_quality_indicator_1.png in Resources */, - 66E399F82857869300E73456 /* menu_notifications_on.png in Resources */, - 8CB2B8F91F86229E0015CEE2 /* chat_secure.png in Resources */, - C63F72DB285A2F1E0066163B /* voip_conference_audio_only.png in Resources */, - 633FEF4E1D3CD55A0014B822 /* valid_default.png in Resources */, - 570742581D5A0691004B9C84 /* ShopView.xib in Resources */, - 633FEE361D3CD5590014B822 /* conference_exit_over.png in Resources */, - 633FEDAA1D3CD5590014B822 /* backspace_disabled.png in Resources */, - F0938159188E629800A55DFA /* iTunesArtwork in Resources */, - 633FEE791D3CD5590014B822 /* history_chat_indicator@2x.png in Resources */, - 633FEEBA1D3CD55A0014B822 /* numpad_3~ipad@2x.png in Resources */, - 633FEEA61D3CD55A0014B822 /* numpad_1_over@2x.png in Resources */, - 633FEE371D3CD5590014B822 /* conference_exit_over@2x.png in Resources */, - 639E9CA01C0DB7E500019A75 /* UIChatBubblePhotoCell.xib in Resources */, - 633FEE4E1D3CD5590014B822 /* delete_field_over.png in Resources */, - 633FEE501D3CD5590014B822 /* deselect_all.png in Resources */, - 633FEF2F1D3CD55A0014B822 /* route_speaker_default@2x.png in Resources */, - 633FEDDD1D3CD5590014B822 /* call_start_body_disabled~ipad@2x.png in Resources */, - 633FEEBD1D3CD55A0014B822 /* numpad_4_over.png in Resources */, - 8CA70AD41F9E285C00A3D2EB /* chat_group_add@2x.png in Resources */, - C66B040A26EFDA55009B5EDC /* reply_cancel.png in Resources */, - 633FEEF11D3CD55A0014B822 /* numpad_hash~ipad.png in Resources */, - 633FEE781D3CD5590014B822 /* history_chat_indicator.png in Resources */, - 633FEF431D3CD55A0014B822 /* select_all_disabled@2x.png in Resources */, - 633FEE771D3CD5590014B822 /* history_all_selected@2x.png in Resources */, - 633FEF031D3CD55A0014B822 /* options_disabled@2x.png in Resources */, - 633FEDA21D3CD5590014B822 /* avatar~ipad.png in Resources */, - 24BFAAA1209B0630004F47A7 /* linphone_user@2x.png in Resources */, - 633FEF211D3CD55A0014B822 /* presence_unregistered@2x.png in Resources */, - C63F72C2285A2F1D0066163B /* voip_numpad_9.png in Resources */, - C63F72E4285A2F1E0066163B /* voip_call_list_menu.png in Resources */, - 633FEEA71D3CD55A0014B822 /* numpad_1_over~ipad.png in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 61AE364920C00B370089D9D3 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 61AE365220C00B370089D9D3 /* MainInterface.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 6637AF8B288593AF00965733 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 66495CF9288FF346002780DE /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - EA88A406242A6224007FEC61 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - EA88A407242A6235007FEC61 /* Localizable.strings in Resources */, - 6112A01E243B5FD500DBD5F5 /* GoogleService-Info.plist in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - EA88F3AE241BD1ED00E66528 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - EA88F3AF241BD1F700E66528 /* MainInterface.storyboard in Resources */, - EA88A405242A6216007FEC61 /* Localizable.strings in Resources */, - 6112A01C243B31A700DBD5F5 /* GoogleService-Info.plist in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ -<<<<<<< HEAD - 3007955DA8B4F1E14F2B7518 /* [CP] Check Pods Manifest.lock */ = { -======= - 00029ED4EA06DBB8D333C3FD /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-AutoConnectLinphoneAccount/Pods-AutoConnectLinphoneAccount-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/linphone-sdk/linphonesw.framework", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/bctoolbox-ios.framework/bctoolbox-ios", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/bctoolbox-tester.framework/bctoolbox-tester", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/bctoolbox.framework/bctoolbox", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/belcard.framework/belcard", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/belle-sip.framework/belle-sip", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/belr.framework/belr", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/lime.framework/lime", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/limetester.framework/limetester", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/linphone.framework/linphone", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/linphonetester.framework/linphonetester", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/mediastreamer2.framework/mediastreamer2", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/msamr.framework/msamr", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/mscodec2.framework/mscodec2", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/msopenh264.framework/msopenh264", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/mssilk.framework/mssilk", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/mswebrtc.framework/mswebrtc", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/msx264.framework/msx264", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/ortp.framework/ortp", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/bctoolbox-ios.framework/bctoolbox-ios", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/bctoolbox-tester.framework/bctoolbox-tester", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/bctoolbox.framework/bctoolbox", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/belcard.framework/belcard", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/belle-sip.framework/belle-sip", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/belr.framework/belr", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/lime.framework/lime", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/limetester.framework/limetester", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/linphone.framework/linphone", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/linphonetester.framework/linphonetester", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/mediastreamer2.framework/mediastreamer2", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/msamr.framework/msamr", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/mscodec2.framework/mscodec2", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/msopenh264.framework/msopenh264", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/mssilk.framework/mssilk", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/mswebrtc.framework/mswebrtc", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/msx264.framework/msx264", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/ortp.framework/ortp", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/bctoolbox.framework/bctoolbox", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/belcard.framework/belcard", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/belle-sip.framework/belle-sip", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/belr.framework/belr", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/lime.framework/lime", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/linphone.framework/linphone", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/mediastreamer2.framework/mediastreamer2", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/msamr.framework/msamr", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/mscodec2.framework/mscodec2", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/msopenh264.framework/msopenh264", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/mssilk.framework/mssilk", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/mswebrtc.framework/mswebrtc", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/msx264.framework/msx264", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/ortp.framework/ortp", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/basic-frameworks/bctoolbox-ios.framework/bctoolbox-ios", - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/linphonesw.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/bctoolbox-ios.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/bctoolbox-tester.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/bctoolbox.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/belcard.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/belle-sip.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/belr.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/lime.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/limetester.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/linphone.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/linphonetester.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/mediastreamer2.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/msamr.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/mscodec2.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/msopenh264.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/mssilk.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/mswebrtc.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/msx264.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ortp.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-AutoConnectLinphoneAccount/Pods-AutoConnectLinphoneAccount-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 1441C27785DAFEAF337DFFF0 /* [CP] Check Pods Manifest.lock */ = { ->>>>>>> 8e16f1fad (new test plans) - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-msgNotificationService-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -<<<<<<< HEAD - 5053FDC66A7F809319B46BF3 /* [CP] Check Pods Manifest.lock */ = { -======= - 1D4D7BF9440527C13D50B347 /* [CP] Check Pods Manifest.lock */ = { ->>>>>>> 8e16f1fad (new test plans) - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( -<<<<<<< HEAD - "$(DERIVED_FILE_DIR)/Pods-CallUITests-checkManifestLockResult.txt", -======= - "$(DERIVED_FILE_DIR)/Pods-AutoConnectLinphoneAccount-checkManifestLockResult.txt", ->>>>>>> 8e16f1fad (new test plans) - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -<<<<<<< HEAD - 5D7EB00FFF68B940A86FC3A7 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-CallUITests/Pods-CallUITests-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/linphone-sdk/linphonesw.framework", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/bctoolbox-ios.framework/bctoolbox-ios", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/bctoolbox-tester.framework/bctoolbox-tester", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/bctoolbox.framework/bctoolbox", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/belcard.framework/belcard", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/belle-sip.framework/belle-sip", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/belr.framework/belr", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/lime.framework/lime", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/limetester.framework/limetester", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/linphone.framework/linphone", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/linphonetester.framework/linphonetester", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/mediastreamer2.framework/mediastreamer2", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/msamr.framework/msamr", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/mscodec2.framework/mscodec2", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/msopenh264.framework/msopenh264", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/mssilk.framework/mssilk", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/mswebrtc.framework/mswebrtc", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/msx264.framework/msx264", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/ortp.framework/ortp", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/ZXing.framework/ZXing", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/bctoolbox-ios.framework/bctoolbox-ios", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/bctoolbox-tester.framework/bctoolbox-tester", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/bctoolbox.framework/bctoolbox", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/belcard.framework/belcard", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/belle-sip.framework/belle-sip", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/belr.framework/belr", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/lime.framework/lime", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/limetester.framework/limetester", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/linphone.framework/linphone", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/linphonetester.framework/linphonetester", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/mediastreamer2.framework/mediastreamer2", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/msamr.framework/msamr", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/mscodec2.framework/mscodec2", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/msopenh264.framework/msopenh264", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/mssilk.framework/mssilk", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/mswebrtc.framework/mswebrtc", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/msx264.framework/msx264", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/ortp.framework/ortp", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/ZXing.framework/ZXing", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/bctoolbox.framework/bctoolbox", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/belcard.framework/belcard", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/belle-sip.framework/belle-sip", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/belr.framework/belr", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/lime.framework/lime", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/linphone.framework/linphone", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/mediastreamer2.framework/mediastreamer2", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/msamr.framework/msamr", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/mscodec2.framework/mscodec2", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/msopenh264.framework/msopenh264", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/mssilk.framework/mssilk", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/mswebrtc.framework/mswebrtc", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/msx264.framework/msx264", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/ortp.framework/ortp", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/basic-frameworks/bctoolbox-ios.framework/bctoolbox-ios", - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/linphonesw.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/bctoolbox-ios.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/bctoolbox-tester.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/bctoolbox.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/belcard.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/belle-sip.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/belr.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/lime.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/limetester.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/linphone.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/linphonetester.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/mediastreamer2.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/msamr.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/mscodec2.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/msopenh264.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/mssilk.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/mswebrtc.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/msx264.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ortp.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ZXing.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-CallUITests/Pods-CallUITests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; -======= ->>>>>>> 8e16f1fad (new test plans) - 6112A019243B2C8400DBD5F5 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "$(SRCROOT)/msgNotificationContent/linphone-Info.plist", - "$(SRCROOT)/linphone.xcarchive/dSYMs/msgNotificationContent.appex.dSYM/Contents/Resources/DWARF/msgNotificationContent", - ); - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "val=`expr \"$GCC_PREPROCESSOR_DEFINITIONS\" : \".*USE_CRASHLYTICS=\\([0-9]*\\)\"`\nif [ $val = 1 ]; then\n ${PODS_ROOT}/FirebaseCrashlytics/run\nfi\n"; - }; - 6112A01A243B2CCF00DBD5F5 /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "$(SRCROOT)/msgNotificationService/linphone-Info.plist", - "$(SRCROOT)/linphone.xcarchive/dSYMs/msgNotificationService.appex.dSYM/Contents/Resources/DWARF/msgNotificationService", - ); - name = "Run Script"; - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "val=`expr \"$GCC_PREPROCESSOR_DEFINITIONS\" : \".*USE_CRASHLYTICS=\\([0-9]*\\)\"`\nif [ $val = 1 ]; then\n ${PODS_ROOT}/FirebaseCrashlytics/run\nfi\n"; - }; - 614D0A1821E77F5300C43EDF /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "$(SRCROOT)/linphone.xcarchive/dSYMs/linphone.app.dSYM/Contents/Resources/DWARF/linphone", - "$(SRCROOT)/linphone-Info.plist", - ); - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "val=`expr \"$GCC_PREPROCESSOR_DEFINITIONS\" : \".*USE_CRASHLYTICS=\\([0-9]*\\)\"`\nif [ $val = 1 ]; then\n ${PODS_ROOT}/FirebaseCrashlytics/run\nfi\n\n\n"; - }; - 63DCC71D1A07B08E00916627 /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Run Script"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "$SRCROOT/Tools/git_version.sh\n"; - }; -<<<<<<< HEAD - 66495D0D2890269C002780DE /* Run Script */ = { -======= - 66495D0D2890269C002780DE /* ShellScript */ = { ->>>>>>> 8e16f1fad (new test plans) - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - name = "Run Script"; - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "cp -R ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}* ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/../../../Frameworks\n"; - }; - 75EA65B333185E8C417354AA /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-linphone-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - 897DE6709DE23EF9C66BE1B0 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-msgNotificationContent-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - EB63CF57E1CDAC8DC31C1CBE /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-linphone/Pods-linphone-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/DropDown/DropDown.framework", - "${BUILT_PRODUCTS_DIR}/IQKeyboardManager/IQKeyboardManager.framework", - "${BUILT_PRODUCTS_DIR}/SVProgressHUD/SVProgressHUD.framework", - "${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework", - "${BUILT_PRODUCTS_DIR}/linphone-sdk/linphonesw.framework", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/bctoolbox-ios.framework/bctoolbox-ios", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/bctoolbox-tester.framework/bctoolbox-tester", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/bctoolbox.framework/bctoolbox", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/belcard.framework/belcard", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/belle-sip.framework/belle-sip", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/belr.framework/belr", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/lime.framework/lime", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/limetester.framework/limetester", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/linphone.framework/linphone", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/linphonetester.framework/linphonetester", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/mediastreamer2.framework/mediastreamer2", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/msamr.framework/msamr", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/mscodec2.framework/mscodec2", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/msopenh264.framework/msopenh264", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/mssilk.framework/mssilk", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/mswebrtc.framework/mswebrtc", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/msx264.framework/msx264", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/ortp.framework/ortp", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/ZXing.framework/ZXing", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/bctoolbox-ios.framework/bctoolbox-ios", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/bctoolbox-tester.framework/bctoolbox-tester", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/bctoolbox.framework/bctoolbox", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/belcard.framework/belcard", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/belle-sip.framework/belle-sip", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/belr.framework/belr", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/lime.framework/lime", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/limetester.framework/limetester", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/linphone.framework/linphone", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/linphonetester.framework/linphonetester", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/mediastreamer2.framework/mediastreamer2", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/msamr.framework/msamr", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/mscodec2.framework/mscodec2", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/msopenh264.framework/msopenh264", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/mssilk.framework/mssilk", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/mswebrtc.framework/mswebrtc", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/msx264.framework/msx264", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/ortp.framework/ortp", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks/ZXing.framework/ZXing", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/bctoolbox.framework/bctoolbox", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/belcard.framework/belcard", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/belle-sip.framework/belle-sip", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/belr.framework/belr", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/lime.framework/lime", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/linphone.framework/linphone", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/mediastreamer2.framework/mediastreamer2", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/msamr.framework/msamr", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/mscodec2.framework/mscodec2", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/msopenh264.framework/msopenh264", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/mssilk.framework/mssilk", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/mswebrtc.framework/mswebrtc", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/msx264.framework/msx264", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension/ortp.framework/ortp", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/basic-frameworks/bctoolbox-ios.framework/bctoolbox-ios", - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DropDown.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQKeyboardManager.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SVProgressHUD.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SnapKit.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/linphonesw.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/bctoolbox-ios.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/bctoolbox-tester.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/bctoolbox.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/belcard.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/belle-sip.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/belr.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/lime.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/limetester.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/linphone.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/linphonetester.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/mediastreamer2.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/msamr.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/mscodec2.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/msopenh264.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/mssilk.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/mswebrtc.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/msx264.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ortp.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ZXing.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-linphone/Pods-linphone-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 1D60588E0D05DD3D006BFB54 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 63B81A0F1B57DA33009604A6 /* TPKeyboardAvoidingTableView.m in Sources */, - CF1DE92D210A0F5D00A0A97E /* UILinphoneAudioPlayer.m in Sources */, - 1D60589B0D05DD56006BFB54 /* main.m in Sources */, - C63F725C285A24B10066163B /* IncomingCallView.swift in Sources */, - C63F726B285A24B10066163B /* ButtonWithStateBackgrounds.swift in Sources */, - C63F7218285A24B10066163B /* ScheduledConferencesCell.swift in Sources */, - C63F722E285A24B10066163B /* IceState.swift in Sources */, - 6135761C240E81BB005304D4 /* UIInterfaceStyleButton.m in Sources */, - C63F721C285A24B10066163B /* MediatorLiveData.swift in Sources */, - 8CD99A3C2090B9FA008A7CDA /* ChatConversationImdnView.m in Sources */, - 1D3623260D0F684500981E51 /* LinphoneAppDelegate.m in Sources */, - C63F7264285A24B10066163B /* BouncingCounter.swift in Sources */, - C6B4444826AADA530076C517 /* SwiftUtil.swift in Sources */, - C63F7257285A24B10066163B /* ConferenceLayoutPickerView.swift in Sources */, - CF15F21E20E4F9A3008B1DE6 /* UIImageViewDeletable.m in Sources */, - 22F2508E107141E100AC9B3F /* DialerView.m in Sources */, - C63F724F285A24B10066163B /* LocalVideoView.swift in Sources */, - 633756451B67D2B200E21BAD /* SideMenuView.m in Sources */, - 8CD99A422090CE6F008A7CDA /* UIChatConversationImdnTableViewCell.m in Sources */, - 22E0A822111C44E100B04932 /* AboutView.m in Sources */, - 633671611BCBAAD200BFCBDE /* ChatConversationCreateView.m in Sources */, - 634610061B61330300548952 /* UILabel+Boldify.m in Sources */, - 2248E90E12F7E4CF00220D9C /* UIDigitButton.m in Sources */, - 633756391B67BAF400E21BAD /* SideMenuTableView.m in Sources */, - C63F7245285A24B10066163B /* VoipConferenceAudioOnlyView.swift in Sources */, - 2214EB7A12F846B1002A5394 /* UICallButton.m in Sources */, - C63F7258285A24B10066163B /* ControlsView.swift in Sources */, - 630CF5571AF7CE1500539F7A /* UITextField+DoneButton.m in Sources */, - C63F720D285A24B10066163B /* ConfigManager.swift in Sources */, - 8C9C5E111F83BD97006987FA /* UIChatCreateCollectionViewCell.m in Sources */, - C63F7231285A24B10066163B /* PayloadType.swift in Sources */, - 63701DDF1BA32039006A9AE3 /* UIConfirmationDialog.m in Sources */, - 22AA8B0113D83F6300B30535 /* UICamSwitch.m in Sources */, - 63B8D6A21BCBF43100C12B09 /* UIChatCreateCell.m in Sources */, - 636BC9971B5F921B00C754CE /* UIIconButton.m in Sources */, - C63F7263285A24B10066163B /* FormButton.swift in Sources */, - C63F725B285A24B10066163B /* ActiveCallOrConferenceView.swift in Sources */, - C63F7215285A24B10066163B /* ConferenceWaitingRoomFragment.swift in Sources */, - 63423C0A1C4501D000D9A050 /* Contact.m in Sources */, - C63F7262285A24B10066163B /* RotatingSpinner.swift in Sources */, - C63F723A285A24B10066163B /* CallData.swift in Sources */, - CF7602D7210867E800749F76 /* RecordingsListView.m in Sources */, - C63F7226285A24B10066163B /* UIVIewExtensions.swift in Sources */, - C63F7259285A24B10066163B /* RemotelyRecording.swift in Sources */, - C63F7236285A24B10066163B /* ControlsViewModel.swift in Sources */, - C63F7214285A24B10066163B /* Duration.swift in Sources */, - C63F723B285A24B10066163B /* AudioRouteUtils.swift in Sources */, - C63F7269285A24B10066163B /* StyledLabel.swift in Sources */, - C63F722C285A24B10066163B /* UIColorExtensions.swift in Sources */, - D3F83F8E15822ABE00336684 /* PhoneMainView.m in Sources */, - C63F7251285A24B10066163B /* NumpadView.swift in Sources */, - C63F723F285A24B10066163B /* ButtonTheme.swift in Sources */, - C63F7213285A24B10066163B /* TimeZoneData.swift in Sources */, - C6A1BB3E26E882D000540D50 /* UIChatReplyBubbleView.m in Sources */, - 6377AC801BDE4069007F7625 /* UIBackToCallButton.m in Sources */, - 6308F9C51BF0DD6600D1234B /* XMLRPCHelper.m in Sources */, - C63F7235285A24B10066163B /* CallsViewModel.swift in Sources */, - C63F722D285A24B10066163B /* CoreExtensions.swift in Sources */, - C63F722F285A24B10066163B /* AddressExtensions.swift in Sources */, - D3ED3E871586291E006C0DE4 /* TabBarView.m in Sources */, - 617C242A263022690042FB4A /* UIChatContentView.m in Sources */, - C63F7261285A24B10066163B /* CallControlButton.swift in Sources */, - D3ED3EA71587334E006C0DE4 /* HistoryListTableView.m in Sources */, - C63F7220285A24B10066163B /* TimestampUtils.swift in Sources */, - 61AEBEBD2191990A00F35E7F /* DevicesListView.m in Sources */, - D3ED3EB81587392C006C0DE4 /* HistoryListView.m in Sources */, - 24A345A61D95798A00881A5C /* UIShopTableCell.m in Sources */, - C63F7268285A24B10066163B /* Avatar.swift in Sources */, - C63F7247285A24B10066163B /* VoipAudioOnlyParticipantCell.swift in Sources */, - D35497FE15875372000081D8 /* ContactsListView.m in Sources */, - 635173F91BA082A40095EB0A /* UIChatBubblePhotoCell.m in Sources */, - C63F723E285A24B10066163B /* VoipTexts.swift in Sources */, - C63F722A285A24B10066163B /* UIImageViewExtensions.swift in Sources */, - D3549816158761D0000081D8 /* ContactsListTableView.m in Sources */, - 633888461BFB2C49001D5E7B /* HPTextViewInternal.m in Sources */, - C63F7242285A24B10066163B /* VoipParticipantCell.swift in Sources */, - D35498211587716B000081D8 /* StatusBarView.m in Sources */, - D3A55FBC15877E5E003FD403 /* UIContactCell.m in Sources */, - 6341807C1BBC103100F71761 /* ChatConversationCreateTableView.m in Sources */, - C63F7254285A24B10066163B /* CallsListView.swift in Sources */, - 63BE7A781D75BDF6000990EF /* ShopTableView.m in Sources */, - D326483815887D5200930C67 /* OrderedDictionary.m in Sources */, - D32648441588F6FC00930C67 /* UIToggleButton.m in Sources */, - D31C9C98158A1CDF00756B45 /* UIHistoryCell.m in Sources */, - D35E7597159460580066B1C1 /* ChatsListView.m in Sources */, - D35E759F159460B70066B1C1 /* SettingsView.m in Sources */, - C63F7216285A24B10066163B /* ScheduledConferencesView.swift in Sources */, - C63F7255285A24B10066163B /* VoipCallCell.swift in Sources */, - 63B81A101B57DA33009604A6 /* UIScrollView+TPKeyboardAvoidingAdditions.m in Sources */, - C63F7211285A24B10066163B /* ScheduledConferencesViewModel.swift in Sources */, - F03CA84318C72F1A0008889D /* UITextViewNoDefine.m in Sources */, - C63F7212285A24B10066163B /* ScheduledConferenceData.swift in Sources */, - C63F7239285A24B10066163B /* ConferenceParticipantDeviceData.swift in Sources */, - C63F7238285A24B10066163B /* ConferenceParticipantData.swift in Sources */, - 63B81A0D1B57DA33009604A6 /* TPKeyboardAvoidingCollectionView.m in Sources */, - C63F726D285A24B10066163B /* ProviderDelegate.swift in Sources */, - C63F7266285A24B10066163B /* UICallTimer.swift in Sources */, - C63F726C285A24B10066163B /* StyledTextView.swift in Sources */, - 570742611D5A09B8004B9C84 /* ShopView.m in Sources */, - D37DC6C11594AE1800B2A5EB /* LinphoneCoreSettingsStore.m in Sources */, - 63CD4B4F1A5AAC8C00B84282 /* DTAlertView.m in Sources */, - D3EA53FD159850E80037DC6B /* LinphoneManager.m in Sources */, - 63B81A0E1B57DA33009604A6 /* TPKeyboardAvoidingScrollView.m in Sources */, - 633888451BFB2C49001D5E7B /* HPGrowingTextView.m in Sources */, - 63F1DF441BCE618E00EDED90 /* UIAddressTextField.m in Sources */, - D3EA540D1598528B0037DC6B /* ChatsListTableView.m in Sources */, - C63F725E285A24B10066163B /* VoipDialog.swift in Sources */, - C63F724E285A24B10066163B /* PausedCallOrConferenceView.swift in Sources */, - D3EA5411159853750037DC6B /* UIChatCell.m in Sources */, - D31B4B21159876C0002E6C72 /* UICompositeView.m in Sources */, - C63F7267285A24B10066163B /* StyledCheckBox.swift in Sources */, - 8C9C5E0D1F83B2EF006987FA /* ChatConversationCreateCollectionViewController.m in Sources */, - 631098491D4660580041F2B3 /* CountryListView.m in Sources */, - D32B9DFC15A2F131000B6DEC /* FastAddressBook.m in Sources */, - C63F7228285A24B10066163B /* OptionalExtensions.swift in Sources */, - C63F7241285A24B10066163B /* ParticipantsListView.swift in Sources */, - D350F20E15A43BB100149E54 /* AssistantView.m in Sources */, - D3F795D615A582810077328B /* ChatConversationView.m in Sources */, - C63F723C285A24B10066163B /* LightDarkColor.swift in Sources */, - D32B6E2915A5BC440033019F /* ChatConversationTableView.m in Sources */, - C63F7233285A24B10066163B /* ConferenceExtensions.swift in Sources */, - C63F7260285A24B10066163B /* StyledSwitch.swift in Sources */, - C63F7252285A24B10066163B /* VoipExtraButtonsView.swift in Sources */, - 669B140C27A29D140012220A /* FloatingScrollDownButton.swift in Sources */, - C63F7219285A24B10066163B /* ConferenceHistoryDetailsView.swift in Sources */, - D3A8BB7015A6C7D500F96BE5 /* UIChatBubbleTextCell.m in Sources */, - 63D11C531C3D501200E8FCEE /* Log.m in Sources */, - D3128FE115AABC7E00A2147A /* ContactDetailsView.m in Sources */, - 6135761F240E81D0005304D4 /* UIInterfaceStyleToggleButton.m in Sources */, - C63F7221285A24B10066163B /* AppManager.swift in Sources */, - D37C639B15AADEF6009D0BAC /* ContactDetailsTableView.m in Sources */, - 63E59A3F1ADE70D900646FB3 /* InAppProductsManager.m in Sources */, - D3C6526715AC1A8F0092A874 /* UIContactDetailsCell.m in Sources */, - C63F7227285A24B10066163B /* UILabelExtensions.swift in Sources */, - 631348301B6F7B6600C6BDCB /* UIRoundBorderedButton.m in Sources */, - C90FAA7915AF54E6002091CB /* HistoryDetailsView.m in Sources */, - C63F7253285A24B10066163B /* VoipCallContextMenu.swift in Sources */, - C63F725A285A24B10066163B /* OutgoingCallView.swift in Sources */, - 63FB30351A680E73008CA393 /* UIRoundedImageView.m in Sources */, - 635775251B6673EC00C8B704 /* HistoryDetailsTableView.m in Sources */, - C63F720E285A24B10066163B /* CallManager.swift in Sources */, - 63C441C31BBC23ED0053DC5E /* UIAssistantTextField.m in Sources */, - D35860D615B549B500513429 /* Utils.m in Sources */, - D3F7998115BD32370018C273 /* TPMultiLayoutViewController.m in Sources */, - C63F721A285A24B10066163B /* ConferenceSchedulingView.swift in Sources */, - C63F7232285A24B10066163B /* CallExtensions.swift in Sources */, - D3807FBF15C28940005BE9BC /* DCRoundSwitch.m in Sources */, - D3807FC115C28940005BE9BC /* DCRoundSwitchKnobLayer.m in Sources */, - 61CCC3DF21933B580060EDEA /* UIDeviceCell.m in Sources */, - C63F725D285A24B10066163B /* SharedLayoutConstants.swift in Sources */, - C63F7250285A24B10066163B /* CallStatsView.swift in Sources */, - 6306440E1BECB08500134C72 /* FirstLoginView.m in Sources */, - C63F721F285A24B10066163B /* BackNextNavigationView.swift in Sources */, - D3807FC315C28940005BE9BC /* DCRoundSwitchOutlineLayer.m in Sources */, - C63F723D285A24B10066163B /* TextStyle.swift in Sources */, - C63F7229285A24B10066163B /* UIButtonExtensions.swift in Sources */, - C63F722B285A24B10066163B /* UIDeviceExtensions.swift in Sources */, - C63F724B285A24B10066163B /* VoipConferenceDisplayModeSelectionView.swift in Sources */, - CF7602E221086EB200749F76 /* RecordingsListTableView.m in Sources */, - C63F721E285A24B10066163B /* Pair.swift in Sources */, - D3807FC515C28940005BE9BC /* DCRoundSwitchToggleLayer.m in Sources */, - 633E41821D74259000320475 /* AssistantLinkView.m in Sources */, - C63F724A285A24B10066163B /* VoipConferenceActiveSpeakerView.swift in Sources */, - C63F7210285A24B10066163B /* ConferenceSchedulingViewModel.swift in Sources */, - D3807FE815C2894A005BE9BC /* IASKAppSettingsViewController.m in Sources */, - D3807FEC15C2894A005BE9BC /* IASKSpecifierValuesViewController.m in Sources */, - 8CA70AE41F9E39E400A3D2EB /* UIChatConversationInfoTableViewCell.m in Sources */, - D3807FEE15C2894A005BE9BC /* IASKSettingsReader.m in Sources */, - D3807FF015C2894A005BE9BC /* IASKSettingsStore.m in Sources */, - C63F7234285A24B10066163B /* ConferenceViewModel.swift in Sources */, - 8CA70AD11F9E0AE100A3D2EB /* ChatConversationInfoView.m in Sources */, - D3807FF215C2894A005BE9BC /* IASKSettingsStoreFile.m in Sources */, - C63F720F285A24B10066163B /* ConferenceWaitingRoomViewModel.swift in Sources */, - C63F7248285A24B10066163B /* MicMuted.swift in Sources */, - C63F7243285A24B10066163B /* AudioRoutesView.swift in Sources */, - D3807FF415C2894A005BE9BC /* IASKSettingsStoreUserDefaults.m in Sources */, - C63F7240285A24B10066163B /* VoipTheme.swift in Sources */, - C63F7265285A24B10066163B /* VoipExtraButton.swift in Sources */, - 639E9C801C0DB13D00019A75 /* UICheckBoxTableView.m in Sources */, - CF7602E72108759A00749F76 /* UIRecordingCell.m in Sources */, - D3807FF615C2894A005BE9BC /* IASKSpecifier.m in Sources */, - D3807FF815C2894A005BE9BC /* IASKPSSliderSpecifierViewCell.m in Sources */, - C63F726A285A24B10066163B /* StyledDatePicker.swift in Sources */, - C63F7237285A24B10066163B /* CallStatisticsData.swift in Sources */, - D3807FFA15C2894A005BE9BC /* IASKPSTextFieldSpecifierViewCell.m in Sources */, - D3807FFC15C2894A005BE9BC /* IASKPSTitleValueSpecifierViewCell.m in Sources */, - C63F721B285A24B10066163B /* ConferenceSchedulingSummaryView.swift in Sources */, - D3807FFE15C2894A005BE9BC /* IASKSlider.m in Sources */, - D380800015C2894A005BE9BC /* IASKSwitch.m in Sources */, - 662553B427EDFB35007F67D8 /* MagicSearch.swift in Sources */, - C63F725F285A24B10066163B /* StyledValuePicker.swift in Sources */, - C63F7224285A24B10066163B /* UIVIewControllerExtensions.swift in Sources */, - D380800215C2894A005BE9BC /* IASKTextField.m in Sources */, - D380801315C299D0005BE9BC /* ColorSpaceUtilites.m in Sources */, - C63F721D285A24B10066163B /* MutableLiveData.swift in Sources */, - C63F7256285A24B10066163B /* DismissableView.swift in Sources */, - C63F724C285A24B10066163B /* ActiveCallView.swift in Sources */, - C63F7225285A24B10066163B /* UIImageExtensions.swift in Sources */, - C64A854E2667B67200252AD2 /* EphemeralSettingsView.m in Sources */, - 8C92ABF31FA773E50006FB5D /* UIChatNotifiedEventCell.m in Sources */, - C63F726E285A24B10066163B /* VFSUtil.swift in Sources */, - 633FEF581D3CD5E00014B822 /* UIAvatarPresence.m in Sources */, - C63F7230285A24B10066163B /* ParticipantExtensions.swift in Sources */, - 637157A11B283FE200C91677 /* FileTransferDelegate.m in Sources */, - D378AB2A15DCDB4A0098505D /* ImagePickerView.m in Sources */, - 22405F001601C19200B92522 /* ImageView.m in Sources */, - C63F724D285A24B10066163B /* IncomingOuntgoingCommonView.swift in Sources */, - D37EE162160377D7003608A6 /* DTActionSheet.m in Sources */, - D306459E1611EC2A00BB571E /* UILoadingImageView.m in Sources */, - C63F7246285A24B10066163B /* VoipGridParticipantCell.swift in Sources */, - C63F7244285A24B10066163B /* VoipActiveSpeakerParticipantCell.swift in Sources */, - 6381DA7D1C1AD5EA00DF3BBD /* UIBouncingView.m in Sources */, - C63F7217285A24B10066163B /* ICSBubbleView.swift in Sources */, - C63F7222285A24B10066163B /* UIApplication+Extension.swift in Sources */, - C63F7249285A24B10066163B /* VoipConferenceGridView.swift in Sources */, - D37E3ECD1619C27A0087659A /* CAAnimation+Blocks.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 61AE364720C00B370089D9D3 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 61AE364F20C00B370089D9D3 /* ShareViewController.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 6637AF89288593AF00965733 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 6643501C28D1CD3300AEA777 /* UIColorExtensions.swift in Sources */, - 662F570028C0AA0800E851BF /* UITestsCoreManager.swift in Sources */, - 6693A1D428D0FCE900489A39 /* ActiveCallViewUITestsMethods.swift in Sources */, - 66631CE828D37AA300115E36 /* ExtraMenuActiveCallActionsUITestsMethods.swift in Sources */, - 6637AF90288593AF00965733 /* IncomingCallUITests.swift in Sources */, -<<<<<<< HEAD - 66305A5B28B9105D00838792 /* UITestsScreenshots.swift in Sources */, - 662F570228C2506600E851BF /* OutgoingCallUITests.swift in Sources */, - 662F56FE28C00DF300E851BF /* UITestsUtils.swift in Sources */, - 66631CE728D37A2400115E36 /* ExtraMenuUITests.swift in Sources */, - 662F56FF28C0A9FE00E851BF /* IncomingOutgoingCallViewUITestsMethods.swift in Sources */, - 6693A1D328D0FCE400489A39 /* ActiveCallUITests.swift in Sources */, -======= - 6637AF9B2885995A00965733 /* IncomingOutgoingCallViewUITestsMethods.swift in Sources */, - 663B06602886E38100E41889 /* ActiveCallUITests.swift in Sources */, ->>>>>>> 8e16f1fad (new test plans) - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 66495CF7288FF346002780DE /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 66495CFE288FF346002780DE /* AutoConnectLinphoneAccount.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - EA5F25D5232BD3E200475F2E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - C63F726F285A24E90066163B /* VFSUtil.swift in Sources */, - EA3650DB2330D2E30001148A /* NotificationService.swift in Sources */, - EAE6C88423FABF690076A018 /* Utils.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - EA8CB823239F96CA00C330CC /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - C63F7270285A24E90066163B /* VFSUtil.swift in Sources */, - EA8CB82C239F96CA00C330CC /* NotificationViewController.swift in Sources */, - EAE6C88523FABF690076A018 /* Utils.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 61AE365520C00B370089D9D3 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 61AE364A20C00B370089D9D3 /* linphoneExtension */; - targetProxy = 61AE365420C00B370089D9D3 /* PBXContainerItemProxy */; - }; -<<<<<<< HEAD - 6637AF94288593AF00965733 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 1D6058900D05DD3D006BFB54 /* linphone */; - targetProxy = 6637AF93288593AF00965733 /* PBXContainerItemProxy */; - }; -======= ->>>>>>> 8e16f1fad (new test plans) - 6637AF94288593AF00965733 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 1D6058900D05DD3D006BFB54 /* linphone */; - targetProxy = 6637AF93288593AF00965733 /* PBXContainerItemProxy */; - }; - 66495D00288FF346002780DE /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 1D6058900D05DD3D006BFB54 /* linphone */; - targetProxy = 66495CFF288FF346002780DE /* PBXContainerItemProxy */; - }; - EA8CB83A239F9A3000C330CC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = EA5F25D8232BD3E200475F2E /* msgNotificationService */; - targetProxy = EA88F393241BC1F400E66528 /* PBXContainerItemProxy */; - }; - EA8CB83C239F9A3000C330CC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = EA8CB826239F96CA00C330CC /* msgNotificationContent */; - targetProxy = EA88F394241BC1F400E66528 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 570742561D5A0691004B9C84 /* ShopView.xib */ = { - isa = PBXVariantGroup; - children = ( - 570742571D5A0691004B9C84 /* Base */, - 61E8E46B23C5EA2E00434E71 /* fr */, - 6187B1DC24B3272500D580FB /* hu */, - ); - name = ShopView.xib; - sourceTree = ""; - }; - 617B4A62260A2B7800A87337 /* RecordingsListView.xib */ = { - isa = PBXVariantGroup; - children = ( - 617B4A61260A2B7800A87337 /* Base */, - 617B4A64260A2B8500A87337 /* fr */, - 617B4A75260A3F5500A87337 /* en */, - ); - name = RecordingsListView.xib; - sourceTree = ""; - }; - 61AE365020C00B370089D9D3 /* MainInterface.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 61AE365120C00B370089D9D3 /* Base */, - ); - name = MainInterface.storyboard; - sourceTree = ""; - }; - 631098501D4660630041F2B3 /* CountryListView.xib */ = { - isa = PBXVariantGroup; - children = ( - 631098511D4660630041F2B3 /* Base */, - 8CBD7BBE20B6B87400E5DCC0 /* fr */, - 6187B1C424B3271B00D580FB /* hu */, - ); - name = CountryListView.xib; - sourceTree = ""; - }; - 63130FB01C1ED06900371918 /* SideMenuView~ipad.xib */ = { - isa = PBXVariantGroup; - children = ( - 63130FB11C1ED06900371918 /* Base */, - 8CBD7BD820B6B88F00E5DCC0 /* fr */, - 6187B1DE24B3272600D580FB /* hu */, - ); - name = "SideMenuView~ipad.xib"; - sourceTree = ""; - }; - 636316D31A1DEBCB0009B839 /* AboutView.xib */ = { - isa = PBXVariantGroup; - children = ( - 636316D21A1DEBCB0009B839 /* Base */, - 61E8E46323C5E8EC00434E71 /* ar */, - 61E8E46523C5E8F000434E71 /* fr */, - 6187B1B524B3271500D580FB /* hu */, - ); - name = AboutView.xib; - sourceTree = ""; - }; - 636316D61A1DEC650009B839 /* SettingsView.xib */ = { - isa = PBXVariantGroup; - children = ( - 636316D51A1DEC650009B839 /* Base */, - F0AF070E1A24BA770086C9C1 /* ar */, - 8CBD7BD520B6B88C00E5DCC0 /* fr */, - 6187B1DB24B3272400D580FB /* hu */, - ); - name = SettingsView.xib; - sourceTree = ""; - }; - 638F1A601C2021B2004B8E02 /* DialerView~ipad.xib */ = { - isa = PBXVariantGroup; - children = ( - 638F1A611C2021B2004B8E02 /* Base */, - 8CBD7BC020B6B87500E5DCC0 /* fr */, - 6187B1C624B3271C00D580FB /* hu */, - ); - name = "DialerView~ipad.xib"; - sourceTree = ""; - }; - 638F1A8F1C21993D004B8E02 /* UICompositeView~ipad.xib */ = { - isa = PBXVariantGroup; - children = ( - 638F1A901C21993D004B8E02 /* Base */, - 8CBD7BCF20B6B88200E5DCC0 /* fr */, - 6187B1D524B3272200D580FB /* hu */, - ); - name = "UICompositeView~ipad.xib"; - sourceTree = ""; - }; - 639CEAFF1A1DF4D9004DE38F /* StatusBarView.xib */ = { - isa = PBXVariantGroup; - children = ( - 639CEAFE1A1DF4D9004DE38F /* Base */, - F0AF070C1A24BA770086C9C1 /* ar */, - 8CBD7BD920B6B89000E5DCC0 /* fr */, - 6187B1DF24B3272600D580FB /* hu */, - ); - name = StatusBarView.xib; - path = LinphoneUI; - sourceTree = ""; - }; - 639CEB021A1DF4E4004DE38F /* UIHistoryCell.xib */ = { - isa = PBXVariantGroup; - children = ( - 639CEB011A1DF4E4004DE38F /* Base */, - F0AF07091A24BA770086C9C1 /* ar */, - 8CBD7BD320B6B88900E5DCC0 /* fr */, - 6187B1D924B3272400D580FB /* hu */, - ); - name = UIHistoryCell.xib; - sourceTree = ""; - }; - 639CEB051A1DF4EB004DE38F /* UICompositeView.xib */ = { - isa = PBXVariantGroup; - children = ( - 639CEB041A1DF4EB004DE38F /* Base */, - F0AF07041A24BA770086C9C1 /* ar */, - 8CBD7BCE20B6B88100E5DCC0 /* fr */, - 6187B1D424B3272100D580FB /* hu */, - ); - name = UICompositeView.xib; - sourceTree = ""; - }; - 639CEB0B1A1DF4FA004DE38F /* UIChatCell.xib */ = { - isa = PBXVariantGroup; - children = ( - 639CEB0A1A1DF4FA004DE38F /* Base */, - F0AF07021A24BA770086C9C1 /* ar */, - 8CBD7BC920B6B87B00E5DCC0 /* fr */, - 6187B1CF24B3271F00D580FB /* hu */, - ); - name = UIChatCell.xib; - sourceTree = ""; - }; - 639E9C951C0DB7BE00019A75 /* FirstLoginView.xib */ = { - isa = PBXVariantGroup; - children = ( - 639E9C941C0DB7BE00019A75 /* Base */, - 8CBD7BC120B6B87600E5DCC0 /* fr */, - 6187B1C724B3271C00D580FB /* hu */, - ); - name = FirstLoginView.xib; - sourceTree = ""; - }; - 639E9CA21C0DB7E500019A75 /* UIChatBubblePhotoCell.xib */ = { - isa = PBXVariantGroup; - children = ( - 639E9CA11C0DB7E500019A75 /* Base */, - 8CBD7BC720B6B87A00E5DCC0 /* fr */, - 6187B1CD24B3271F00D580FB /* hu */, - ); - name = UIChatBubblePhotoCell.xib; - sourceTree = ""; - }; - 639E9CA51C0DB7EA00019A75 /* UIChatBubbleTextCell.xib */ = { - isa = PBXVariantGroup; - children = ( - 639E9CA41C0DB7EA00019A75 /* Base */, - 8CBD7BC820B6B87B00E5DCC0 /* fr */, - 6187B1CE24B3271F00D580FB /* hu */, - ); - name = UIChatBubbleTextCell.xib; - sourceTree = ""; - }; - 639E9CA81C0DB7F200019A75 /* UIChatCreateCell.xib */ = { - isa = PBXVariantGroup; - children = ( - 639E9CA71C0DB7F200019A75 /* Base */, - 8CBD7BCD20B6B88000E5DCC0 /* fr */, - 6187B1D224B3272100D580FB /* hu */, - ); - name = UIChatCreateCell.xib; - sourceTree = ""; - }; - 639E9CAB1C0DB7FB00019A75 /* UIConfirmationDialog.xib */ = { - isa = PBXVariantGroup; - children = ( - 639E9CAA1C0DB7FB00019A75 /* Base */, - 8CBD7BD020B6B88400E5DCC0 /* fr */, - 6187B1D624B3272200D580FB /* hu */, - ); - name = UIConfirmationDialog.xib; - sourceTree = ""; - }; - 639E9CAE1C0DB80300019A75 /* UIContactDetailsCell.xib */ = { - isa = PBXVariantGroup; - children = ( - 639E9CAD1C0DB80300019A75 /* Base */, - 8CBD7BD220B6B88700E5DCC0 /* fr */, - 6187B1D824B3272300D580FB /* hu */, - ); - name = UIContactDetailsCell.xib; - sourceTree = ""; - }; - 639E9CB21C0DB83000019A75 /* SideMenuView.xib */ = { - isa = PBXVariantGroup; - children = ( - 639E9CB11C0DB83000019A75 /* Base */, - 8CBD7BD720B6B88E00E5DCC0 /* fr */, - 6187B1DD24B3272500D580FB /* hu */, - ); - name = SideMenuView.xib; - sourceTree = ""; - }; - 639E9CB31C0DB88200019A75 /* PhoneMainView.xib */ = { - isa = PBXVariantGroup; - children = ( - 639E9CB41C0DB88200019A75 /* Base */, - 8CBD7BD420B6B88A00E5DCC0 /* fr */, - 6187B1DA24B3272400D580FB /* hu */, - ); - name = PhoneMainView.xib; - sourceTree = ""; - }; - 63AADBC41B6A0FF200AA16FD /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - 63AADBC51B6A0FF200AA16FD /* ar */, - 63AADBC61B6A0FF200AA16FD /* de */, - 63AADBC71B6A0FF200AA16FD /* en */, - 63AADBCB1B6A0FF200AA16FD /* ja */, - 63AADBDD1B6A0FF200AA16FD /* nl */, - 63AADBE11B6A0FF200AA16FD /* ru */, - 666D795C283E67E300B07215 /* fr */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - 63B8D68E1BCBE65600C12B09 /* ChatConversationCreateView.xib */ = { - isa = PBXVariantGroup; - children = ( - 63B8D68D1BCBE65600C12B09 /* Base */, - 8CBD7BB920B6B87000E5DCC0 /* fr */, - 6187B1BD24B3271800D580FB /* hu */, - ); - name = ChatConversationCreateView.xib; - sourceTree = ""; - }; - 63EC8D3B1D7438660066547B /* AssistantLinkView.xib */ = { - isa = PBXVariantGroup; - children = ( - 63EC8D3A1D7438660066547B /* Base */, - 61E8E46723C5E9B400434E71 /* fr */, - 6187B1B624B3271500D580FB /* hu */, - ); - name = AssistantLinkView.xib; - sourceTree = ""; - }; - 8CBD7BA220B6B7FD00E5DCC0 /* ChatConversationInfoView.xib */ = { - isa = PBXVariantGroup; - children = ( - 8CBD7BA120B6B7FD00E5DCC0 /* Base */, - 8CBD7BB720B6B86E00E5DCC0 /* fr */, - 6187B1BF24B3271900D580FB /* hu */, - ); - name = ChatConversationInfoView.xib; - sourceTree = ""; - }; - 8CBD7BA520B6B80D00E5DCC0 /* ChatConversationImdnView.xib */ = { - isa = PBXVariantGroup; - children = ( - 8CBD7BA420B6B80D00E5DCC0 /* Base */, - 8CBD7BB820B6B86F00E5DCC0 /* fr */, - 6187B1BE24B3271900D580FB /* hu */, - ); - name = ChatConversationImdnView.xib; - sourceTree = ""; - }; - 8CBD7BA820B6B82400E5DCC0 /* UIChatConversationInfoTableViewCell.xib */ = { - isa = PBXVariantGroup; - children = ( - 8CBD7BA720B6B82400E5DCC0 /* Base */, - 8CBD7BCA20B6B87D00E5DCC0 /* fr */, - 6187B1D124B3272000D580FB /* hu */, - ); - name = UIChatConversationInfoTableViewCell.xib; - sourceTree = ""; - }; - 8CBD7BAB20B6B82A00E5DCC0 /* UIChatConversationImdnTableViewCell.xib */ = { - isa = PBXVariantGroup; - children = ( - 8CBD7BAA20B6B82A00E5DCC0 /* Base */, - 8CBD7BCB20B6B87E00E5DCC0 /* fr */, - 6187B1D024B3272000D580FB /* hu */, - ); - name = UIChatConversationImdnTableViewCell.xib; - sourceTree = ""; - }; - 8CBD7BAE20B6B82F00E5DCC0 /* UIChatCreateCollectionViewCell.xib */ = { - isa = PBXVariantGroup; - children = ( - 8CBD7BAD20B6B82F00E5DCC0 /* Base */, - 8CBD7BCC20B6B87E00E5DCC0 /* fr */, - 6187B1D324B3272100D580FB /* hu */, - ); - name = UIChatCreateCollectionViewCell.xib; - sourceTree = ""; - }; - C66B03BD26E8EB1A009B5EDC /* UIChatReplyBubbleView.xib */ = { - isa = PBXVariantGroup; - children = ( - C66B03BC26E8EB1A009B5EDC /* Base */, - C66B03C126E8EB82009B5EDC /* en */, - C66B03C326E8EB87009B5EDC /* fr */, - ); - name = UIChatReplyBubbleView.xib; - sourceTree = ""; - }; - D37EE11016035793003608A6 /* ImageView.xib */ = { - isa = PBXVariantGroup; - children = ( - F09548221883F15400E8A69B /* Base */, - F09548441883F52900E8A69B /* ru */, - F0AF06FB1A24BA770086C9C1 /* ar */, - 8CBD7BC420B6B87800E5DCC0 /* fr */, - 6187B1CA24B3271E00D580FB /* hu */, - ); - name = ImageView.xib; - sourceTree = ""; - }; - D38187B015FE340100C3EDCA /* ChatConversationView.xib */ = { - isa = PBXVariantGroup; - children = ( - F09548181883F15300E8A69B /* Base */, - F09548321883F20A00E8A69B /* ru */, - F0AF06F11A24BA760086C9C1 /* ar */, - 8CBD7BBA20B6B87000E5DCC0 /* fr */, - 6187B1C024B3271A00D580FB /* hu */, - ); - name = ChatConversationView.xib; - sourceTree = ""; - }; - D38187B415FE340500C3EDCA /* ChatsListView.xib */ = { - isa = PBXVariantGroup; - children = ( - F09548191883F15300E8A69B /* Base */, - F09548341883F25F00E8A69B /* ru */, - F0AF06F21A24BA760086C9C1 /* ar */, - 8CBD7BBB20B6B87100E5DCC0 /* fr */, - 6187B1C124B3271A00D580FB /* hu */, - ); - name = ChatsListView.xib; - sourceTree = ""; - }; - D38187BC15FE342200C3EDCA /* ContactDetailsView.xib */ = { - isa = PBXVariantGroup; - children = ( - F095481B1883F15300E8A69B /* Base */, - F09548381883F29C00E8A69B /* ru */, - F0AF06F41A24BA760086C9C1 /* ar */, - 8CBD7BBC20B6B87200E5DCC0 /* fr */, - 6187B1C224B3271A00D580FB /* hu */, - ); - name = ContactDetailsView.xib; - sourceTree = ""; - }; - D38187C015FE342800C3EDCA /* ContactsListView.xib */ = { - isa = PBXVariantGroup; - children = ( - F095481C1883F15300E8A69B /* Base */, - F095483A1883F2CA00E8A69B /* ru */, - F0AF06F51A24BA760086C9C1 /* ar */, - 8CBD7BBD20B6B87300E5DCC0 /* fr */, - 6187B1C324B3271B00D580FB /* hu */, - ); - name = ContactsListView.xib; - sourceTree = ""; - }; - D38187C415FE345B00C3EDCA /* DialerView.xib */ = { - isa = PBXVariantGroup; - children = ( - F095481D1883F15300E8A69B /* Base */, - F095483C1883F2E300E8A69B /* ru */, - F0AF06F61A24BA760086C9C1 /* ar */, - 8CBD7BBF20B6B87400E5DCC0 /* fr */, - 6187B1C524B3271B00D580FB /* hu */, - ); - name = DialerView.xib; - sourceTree = ""; - }; - D38187D015FE346700C3EDCA /* HistoryDetailsView.xib */ = { - isa = PBXVariantGroup; - children = ( - F09548201883F15400E8A69B /* Base */, - 636316DB1A1DEDD80009B839 /* ru */, - F0AF06F91A24BA760086C9C1 /* ar */, - 8CBD7BC220B6B87600E5DCC0 /* fr */, - 6187B1C824B3271D00D580FB /* hu */, - ); - name = HistoryDetailsView.xib; - sourceTree = ""; - }; - D38187D415FE346B00C3EDCA /* HistoryListView.xib */ = { - isa = PBXVariantGroup; - children = ( - F09548211883F15400E8A69B /* Base */, - F09548421883F51B00E8A69B /* ru */, - F0AF06FA1A24BA770086C9C1 /* ar */, - 8CBD7BC320B6B87700E5DCC0 /* fr */, - 6187B1C924B3271D00D580FB /* hu */, - ); - name = HistoryListView.xib; - sourceTree = ""; - }; - D38187E015FE348A00C3EDCA /* AssistantView.xib */ = { - isa = PBXVariantGroup; - children = ( - F095482E1883F15500E8A69B /* Base */, - F095485A1883F67B00E8A69B /* ru */, - F0AF070F1A24BA770086C9C1 /* ar */, - 8CBD7BB120B6B86900E5DCC0 /* fr */, - 6187B1B724B3271600D580FB /* hu */, - ); - name = AssistantView.xib; - sourceTree = ""; - }; - D38187FB15FE355D00C3EDCA /* TabBarView.xib */ = { - isa = PBXVariantGroup; - children = ( - F095482C1883F15400E8A69B /* Base */, - F09548561883F61600E8A69B /* ru */, - F0AF070A1A24BA770086C9C1 /* ar */, - 8CBD7BDA20B6B89000E5DCC0 /* fr */, - 6187B1E024B3272700D580FB /* hu */, - ); - name = TabBarView.xib; - path = LinphoneUI; - sourceTree = ""; - }; - D3D5126A160B3A8E00946DF8 /* AssistantViewScreens.xib */ = { - isa = PBXVariantGroup; - children = ( - F09548301883F15500E8A69B /* Base */, - F095485E1883F6EA00E8A69B /* ru */, - F0AF07111A24BA770086C9C1 /* ar */, - 8CBD7BB220B6B86A00E5DCC0 /* fr */, - 6187B1B824B3271600D580FB /* hu */, - ); - name = AssistantViewScreens.xib; - sourceTree = ""; - }; - EA8CB82D239F96CA00C330CC /* MainInterface.storyboard */ = { - isa = PBXVariantGroup; - children = ( - EA8CB82E239F96CA00C330CC /* Base */, - ); - name = MainInterface.storyboard; - sourceTree = ""; - }; - F088488D19FF8C41007FFCF3 /* UIContactCell.xib */ = { - isa = PBXVariantGroup; - children = ( - F088488C19FF8C41007FFCF3 /* Base */, - F0AF07061A24BA770086C9C1 /* ar */, - 8CBD7BD120B6B88500E5DCC0 /* fr */, - 6187B1D724B3272300D580FB /* hu */, - ); - name = UIContactCell.xib; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 1D6058940D05DD3E006BFB54 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 1A10E1CD088B6550326F433E /* Pods-linphone.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = NO; - CLANG_WARN_UNREACHABLE_CODE = NO; - CODE_SIGN_ENTITLEMENTS = linphone.entitlements; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COMPRESS_PNG_FILES = NO; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 4; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - GCC_C_LANGUAGE_STANDARD = c99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = linphone_Prefix.pch; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "DEBUG=1", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES; - GCC_TREAT_WARNINGS_AS_ERRORS = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/Classes/Utils/XMLRPC/", - "$(SRCROOT)/Classes/Utils/NinePatch/", - "$(inherited)", - ); - IBC_MODULE = linphoneapp; - IBSC_MODULE = linphoneapp; - INFOPLIST_FILE = "linphone-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(BUILT_PRODUCTS_DIR)", - "$(inherited)", - ); - LINK_WITH_STANDARD_LIBRARIES = YES; - MARKETING_VERSION = 4.7.0; - OTHER_CFLAGS = ( - "-DBCTBX_LOG_DOMAIN=\\\"ios\\\"", - "-DCHECK_VERSION_UPDATE=FALSE", - "-DENABLE_QRCODE=TRUE", - "-DENABLE_SMS_INVITE=TRUE", - "$(inherited)", - "-DLINPHONE_SDK_VERSION=\\\"5.2.0-alpha.319+f1bc379e\\\"", - ); - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone; - PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)app"; - PRODUCT_NAME = linphone; - PROVISIONING_PROFILE = ""; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = NO; - STRIP_SWIFT_SYMBOLS = NO; - SWIFT_OBJC_BRIDGING_HEADER = "Classes/linphone-Bridging-Header.h"; - SWIFT_OBJC_INTERFACE_HEADER_NAME = "linphoneapp-Swift.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - WARNING_CFLAGS = ( - "-Werror=objc-method-access", - "-Werror=incomplete-implementation", - "-Wno-error-deprecated", - ); - }; - name = Debug; - }; - 228B19A61302902F00F154D3 /* DistributionAdhoc */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LIBRARY = "compiler-default"; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "Apple Development"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = YES; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_THUMB_SUPPORT = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = NO; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ""; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LIBRARY_SEARCH_PATHS = ""; - ONLY_ACTIVE_ARCH = NO; - OTHER_CFLAGS = "-DBCTBX_LOG_DOMAIN=\\\"ios\\\""; - OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; - PROVISIONING_PROFILE = ""; - "PROVISIONING_PROFILE[arch=*]" = ""; - SDKROOT = iphoneos; - STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; - TARGETED_DEVICE_FAMILY = "1,2"; - VALID_ARCHS = "arm64 armv7 i386 x86_64"; - }; - name = DistributionAdhoc; - }; - 228B19A71302902F00F154D3 /* DistributionAdhoc */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6872242062F852BE19E78D5A /* Pods-linphone.distributionadhoc.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = NO; - CLANG_WARN_UNREACHABLE_CODE = NO; - CODE_SIGN_ENTITLEMENTS = linphone.entitlements; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COMPRESS_PNG_FILES = NO; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 4; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - GCC_C_LANGUAGE_STANDARD = c99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = s; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = linphone_Prefix.pch; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES; - GCC_TREAT_WARNINGS_AS_ERRORS = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/Classes/Utils/XMLRPC/", - "$(SRCROOT)/Classes/Utils/NinePatch/", - "$(inherited)", - ); - IBC_MODULE = linphoneapp; - IBSC_MODULE = linphoneapp; - INFOPLIST_FILE = "linphone-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(BUILT_PRODUCTS_DIR)", - "$(inherited)", - ); - LINK_WITH_STANDARD_LIBRARIES = YES; - MARKETING_VERSION = 4.7.0; - OTHER_CFLAGS = ( - "-DBCTBX_LOG_DOMAIN=\\\"ios\\\"", - "-DCHECK_VERSION_UPDATE=FALSE", - "-DENABLE_QRCODE=TRUE", - "-DENABLE_SMS_INVITE=TRUE", - "$(inherited)", - "-DLINPHONE_SDK_VERSION=\\\"5.2.0-alpha.319+f1bc379e\\\"", - ); - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone; - PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)app"; - PRODUCT_NAME = linphone; - PROVISIONING_PROFILE = ""; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = NO; - STRIP_SWIFT_SYMBOLS = NO; - SWIFT_OBJC_BRIDGING_HEADER = "Classes/linphone-Bridging-Header.h"; - SWIFT_OBJC_INTERFACE_HEADER_NAME = "linphoneapp-Swift.h"; - SWIFT_VERSION = 5.0; - WARNING_CFLAGS = ( - "-Werror=objc-method-access", - "-Werror=incomplete-implementation", - "-Wno-error-deprecated", - ); - }; - name = DistributionAdhoc; - }; - 22F3D55513CC3C9100A0DA02 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LIBRARY = "compiler-default"; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "Apple Development"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = YES; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_THUMB_SUPPORT = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = NO; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ""; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LIBRARY_SEARCH_PATHS = ""; - ONLY_ACTIVE_ARCH = NO; - OTHER_CFLAGS = "-DBCTBX_LOG_DOMAIN=\\\"ios\\\""; - OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; - PROVISIONING_PROFILE = ""; - SDKROOT = iphoneos; - STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; - SWIFT_COMPILATION_MODE = wholemodule; - TARGETED_DEVICE_FAMILY = "1,2"; - VALID_ARCHS = "arm64 armv7 i386 x86_64"; - }; - name = Release; - }; - 22F3D55613CC3C9100A0DA02 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = FDB59567FECF2E083DBDC142 /* Pods-linphone.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = NO; - CLANG_WARN_UNREACHABLE_CODE = NO; - CODE_SIGN_ENTITLEMENTS = linphone.entitlements; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COMPRESS_PNG_FILES = NO; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 4; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - GCC_C_LANGUAGE_STANDARD = c99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = s; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = linphone_Prefix.pch; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES; - GCC_TREAT_WARNINGS_AS_ERRORS = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/Classes/Utils/XMLRPC/", - "$(SRCROOT)/Classes/Utils/NinePatch/", - "$(inherited)", - ); - IBC_MODULE = linphoneapp; - IBSC_MODULE = linphoneapp; - INFOPLIST_FILE = "linphone-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(BUILT_PRODUCTS_DIR)", - "$(inherited)", - ); - LINK_WITH_STANDARD_LIBRARIES = YES; - MARKETING_VERSION = 4.7.0; - OTHER_CFLAGS = ( - "-DBCTBX_LOG_DOMAIN=\\\"ios\\\"", - "-DCHECK_VERSION_UPDATE=FALSE", - "-DENABLE_QRCODE=TRUE", - "-DENABLE_SMS_INVITE=TRUE", - "$(inherited)", - "-DLINPHONE_SDK_VERSION=\\\"5.2.0-alpha.319+f1bc379e\\\"", - ); - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone; - PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)app"; - PRODUCT_NAME = linphone; - PROVISIONING_PROFILE = ""; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = NO; - STRIP_SWIFT_SYMBOLS = NO; - SWIFT_OBJC_BRIDGING_HEADER = "Classes/linphone-Bridging-Header.h"; - SWIFT_OBJC_INTERFACE_HEADER_NAME = "linphoneapp-Swift.h"; - SWIFT_VERSION = 5.0; - WARNING_CFLAGS = ( - "-Werror=objc-method-access", - "-Werror=incomplete-implementation", - "-Wno-error-deprecated", - ); - }; - name = Release; - }; - 22F51EE7107FA53D00F98953 /* Distribution */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LIBRARY = "compiler-default"; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "Apple Development"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = YES; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_THUMB_SUPPORT = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = NO; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ""; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LIBRARY_SEARCH_PATHS = ""; - ONLY_ACTIVE_ARCH = NO; - OTHER_CFLAGS = "-DBCTBX_LOG_DOMAIN=\\\"ios\\\""; - OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; - PROVISIONING_PROFILE = ""; - SDKROOT = iphoneos; - STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; - TARGETED_DEVICE_FAMILY = "1,2"; - VALID_ARCHS = "arm64 armv7 i386 x86_64"; - }; - name = Distribution; - }; - 22F51EE8107FA53D00F98953 /* Distribution */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 71361846551F180407CA4B43 /* Pods-linphone.distribution.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = NO; - CLANG_WARN_UNREACHABLE_CODE = NO; - CODE_SIGN_ENTITLEMENTS = linphone.entitlements; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COMPRESS_PNG_FILES = NO; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 4; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - GCC_C_LANGUAGE_STANDARD = c99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = s; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = linphone_Prefix.pch; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES; - GCC_TREAT_WARNINGS_AS_ERRORS = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/Classes/Utils/XMLRPC/", - "$(SRCROOT)/Classes/Utils/NinePatch/", - "$(inherited)", - ); - IBC_MODULE = linphoneapp; - IBSC_MODULE = linphoneapp; - INFOPLIST_FILE = "linphone-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(BUILT_PRODUCTS_DIR)", - "$(inherited)", - ); - LINK_WITH_STANDARD_LIBRARIES = YES; - MARKETING_VERSION = 4.7.0; - OTHER_CFLAGS = ( - "-DBCTBX_LOG_DOMAIN=\\\"ios\\\"", - "-DCHECK_VERSION_UPDATE=FALSE", - "-DENABLE_QRCODE=TRUE", - "-DENABLE_SMS_INVITE=TRUE", - "$(inherited)", - "-DLINPHONE_SDK_VERSION=\\\"5.2.0-alpha.319+f1bc379e\\\"", - ); - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone; - PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)app"; - PRODUCT_NAME = linphone; - PROVISIONING_PROFILE = ""; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = NO; - STRIP_SWIFT_SYMBOLS = NO; - SWIFT_OBJC_BRIDGING_HEADER = "Classes/linphone-Bridging-Header.h"; - SWIFT_OBJC_INTERFACE_HEADER_NAME = "linphoneapp-Swift.h"; - SWIFT_VERSION = 5.0; - WARNING_CFLAGS = ( - "-Werror=objc-method-access", - "-Werror=incomplete-implementation", - "-Wno-error-deprecated", - ); - }; - name = Distribution; - }; - 61AE365720C00B370089D9D3 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = linphoneExtension/linphoneExtension.entitlements; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 4; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - INFOPLIST_FILE = linphoneExtension/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - MARKETING_VERSION = 4.7.0; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.linphoneExtension; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE = ""; - SKIP_INSTALL = YES; - STRIP_SWIFT_SYMBOLS = NO; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 61AE365820C00B370089D9D3 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = linphoneExtension/linphoneExtension.entitlements; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 4; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - INFOPLIST_FILE = linphoneExtension/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - MARKETING_VERSION = 4.7.0; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.linphoneExtension; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - STRIP_SWIFT_SYMBOLS = NO; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 61AE365920C00B370089D9D3 /* Distribution */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = linphoneExtension/linphoneExtension.entitlements; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 4; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - INFOPLIST_FILE = linphoneExtension/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - MARKETING_VERSION = 4.7.0; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.linphoneExtension; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE = ""; - SKIP_INSTALL = YES; - STRIP_SWIFT_SYMBOLS = NO; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Distribution; - }; - 61AE365A20C00B370089D9D3 /* DistributionAdhoc */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = linphoneExtension/linphoneExtension.entitlements; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 4; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - INFOPLIST_FILE = linphoneExtension/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - MARKETING_VERSION = 4.7.0; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.linphoneExtension; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE = ""; - SKIP_INSTALL = YES; - STRIP_SWIFT_SYMBOLS = NO; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = DistributionAdhoc; - }; -<<<<<<< HEAD - 6637AF95288593AF00965733 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 95AD7F004071737738D4BCF2 /* Pods-CallUITests.debug.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = Z2V957B3D6; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"${PODS_CONFIGURATION_BUILD_DIR}/linphone-sdk\"", - "\"${PODS_ROOT}/linphone-sdk/linphone-sdk/apple-darwin/XCFrameworks\"", - "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk\"", - "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks\"", - "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension\"", - "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/basic-frameworks\"", - ); - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "DEBUG=1", - ); - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = "CallUITests-Info.plist"; - INFOPLIST_KEY_UIRequiredDeviceCapabilities = "wifi microphone"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited)"; - MARKETING_VERSION = 1.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.IncommingCallUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - REEXPORTED_FRAMEWORK_NAMES = ""; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_OBJC_BRIDGING_HEADER = ""; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = linphone; - }; - name = Debug; - }; - 6637AF96288593AF00965733 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 8751F1E7083FF5EDF43CEEF1 /* Pods-CallUITests.release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = "CallUITests-Info.plist"; - INFOPLIST_KEY_UIRequiredDeviceCapabilities = "wifi microphone"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited)"; - MARKETING_VERSION = 1.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.IncommingCallUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_OBJC_BRIDGING_HEADER = ""; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = linphone; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 6637AF97288593AF00965733 /* Distribution */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 1CAD1CF40E820DA7F1752DD2 /* Pods-CallUITests.distribution.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = "CallUITests-Info.plist"; - INFOPLIST_KEY_UIRequiredDeviceCapabilities = "wifi microphone"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited)"; - MARKETING_VERSION = 1.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.IncommingCallUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_OBJC_BRIDGING_HEADER = ""; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = linphone; - VALIDATE_PRODUCT = YES; - }; - name = Distribution; - }; - 6637AF98288593AF00965733 /* DistributionAdhoc */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9B3B6B861461E656FAF443CC /* Pods-CallUITests.distributionadhoc.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = "CallUITests-Info.plist"; - INFOPLIST_KEY_UIRequiredDeviceCapabilities = "wifi microphone"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited)"; - MARKETING_VERSION = 1.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.IncommingCallUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_OBJC_BRIDGING_HEADER = ""; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = linphone; - VALIDATE_PRODUCT = YES; - }; - name = DistributionAdhoc; - }; -======= ->>>>>>> 8e16f1fad (new test plans) - 6637AF95288593AF00965733 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 46E204586EADEB152EB6BAE5 /* Pods-CallUITests.debug.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = Z2V957B3D6; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"${PODS_CONFIGURATION_BUILD_DIR}/linphone-sdk\"", - "\"${PODS_ROOT}/linphone-sdk/linphone-sdk/apple-darwin/XCFrameworks\"", - "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk\"", - "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/all-frameworks\"", - "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/app-extension\"", - "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/basic-frameworks\"", - ); - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "DEBUG=1", - ); - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = ""; - INFOPLIST_KEY_NSBluetoothPeripheralUsageDescription = "Use your BT headset"; - INFOPLIST_KEY_UIRequiredDeviceCapabilities = "wifi microphone"; - IPHONEOS_DEPLOYMENT_TARGET = 15.5; - LD_RUNPATH_SEARCH_PATHS = "$(inherited)"; - MARKETING_VERSION = 1.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.IncommingCallUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - REEXPORTED_FRAMEWORK_NAMES = ""; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = linphone; - }; - name = Debug; - }; - 6637AF96288593AF00965733 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6A6A835733F8DCF0F0E64FE3 /* Pods-CallUITests.release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = ""; - INFOPLIST_KEY_NSBluetoothPeripheralUsageDescription = "Use your BT headset"; - INFOPLIST_KEY_UIRequiredDeviceCapabilities = "wifi microphone"; - IPHONEOS_DEPLOYMENT_TARGET = 15.5; - LD_RUNPATH_SEARCH_PATHS = "$(inherited)"; - MARKETING_VERSION = 1.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.IncommingCallUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = linphone; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 6637AF97288593AF00965733 /* Distribution */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5F0358460E4E618A3DC6E2E8 /* Pods-CallUITests.distribution.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = ""; - INFOPLIST_KEY_NSBluetoothPeripheralUsageDescription = "Use your BT headset"; - INFOPLIST_KEY_UIRequiredDeviceCapabilities = "wifi microphone"; - IPHONEOS_DEPLOYMENT_TARGET = 15.5; - LD_RUNPATH_SEARCH_PATHS = "$(inherited)"; - MARKETING_VERSION = 1.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.IncommingCallUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = linphone; - VALIDATE_PRODUCT = YES; - }; - name = Distribution; - }; - 6637AF98288593AF00965733 /* DistributionAdhoc */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = D33A6E8F86694EA7ADD47ED4 /* Pods-CallUITests.distributionadhoc.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = ""; - INFOPLIST_KEY_NSBluetoothPeripheralUsageDescription = "Use your BT headset"; - INFOPLIST_KEY_UIRequiredDeviceCapabilities = "wifi microphone"; - IPHONEOS_DEPLOYMENT_TARGET = 15.5; - LD_RUNPATH_SEARCH_PATHS = "$(inherited)"; - MARKETING_VERSION = 1.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.IncommingCallUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = linphone; - VALIDATE_PRODUCT = YES; - }; - name = DistributionAdhoc; - }; - 66495D02288FF346002780DE /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 712CE82EEF35C1881B8E98E7 /* Pods-AutoConnectLinphoneAccount.debug.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - BUNDLE_LOADER = "$(TEST_HOST)"; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = Z2V957B3D6; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 15.5; - MARKETING_VERSION = 1.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.AutoConnectLinphoneAccount; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/linphone.app/linphone"; - }; - name = Debug; - }; - 66495D03288FF346002780DE /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = DBEE6C9BCFA78E5739836EB4 /* Pods-AutoConnectLinphoneAccount.release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - BUNDLE_LOADER = "$(TEST_HOST)"; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 15.5; - MARKETING_VERSION = 1.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.AutoConnectLinphoneAccount; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/linphone.app/linphone"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 66495D04288FF346002780DE /* Distribution */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = B4847F48A899455D4B85F8BF /* Pods-AutoConnectLinphoneAccount.distribution.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - BUNDLE_LOADER = "$(TEST_HOST)"; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 15.5; - MARKETING_VERSION = 1.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.AutoConnectLinphoneAccount; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/linphone.app/linphone"; - VALIDATE_PRODUCT = YES; - }; - name = Distribution; - }; - 66495D05288FF346002780DE /* DistributionAdhoc */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = F0E0078E5C72D700C9E62509 /* Pods-AutoConnectLinphoneAccount.distributionadhoc.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - BUNDLE_LOADER = "$(TEST_HOST)"; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 15.5; - MARKETING_VERSION = 1.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.AutoConnectLinphoneAccount; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/linphone.app/linphone"; - VALIDATE_PRODUCT = YES; - }; - name = DistributionAdhoc; - }; - C01FCF4F08A954540054247B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LIBRARY = "compiler-default"; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "Apple Development"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_THUMB_SUPPORT = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = NO; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ""; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LIBRARY_SEARCH_PATHS = ""; - ONLY_ACTIVE_ARCH = YES; - OTHER_CFLAGS = "-DBCTBX_LOG_DOMAIN=\\\"ios\\\""; - OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; - SDKROOT = iphoneos; - STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; - TARGETED_DEVICE_FAMILY = "1,2"; - VALID_ARCHS = "arm64 armv7 i386 x86_64"; - }; - name = Debug; - }; - EA5F25E2232BD3E300475F2E /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = AD31E0BAAE2E50305E05B683 /* Pods-msgNotificationService.debug.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = msgNotificationService/msgNotificationService.entitlements; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 4; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "DEBUG=1", - ); - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - INFOPLIST_FILE = "$(SRCROOT)/msgNotificationService/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 4.7.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.msgNotificationService; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - EA5F25E3232BD3E300475F2E /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 49BCAA5D96F3C5BE44D20A5C /* Pods-msgNotificationService.release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = msgNotificationService/msgNotificationService.entitlements; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 4; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - INFOPLIST_FILE = "$(SRCROOT)/msgNotificationService/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 4.7.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.msgNotificationService; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - EA5F25E4232BD3E300475F2E /* Distribution */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 3EDEA8FA8B616DA71EDE51E5 /* Pods-msgNotificationService.distribution.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = msgNotificationService/msgNotificationService.entitlements; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 4; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - INFOPLIST_FILE = "$(SRCROOT)/msgNotificationService/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 4.7.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.msgNotificationService; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Distribution; - }; - EA5F25E5232BD3E300475F2E /* DistributionAdhoc */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = A52DBCC32989FB3510AF3B1E /* Pods-msgNotificationService.distributionadhoc.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = msgNotificationService/msgNotificationService.entitlements; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 4; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - INFOPLIST_FILE = "$(SRCROOT)/msgNotificationService/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 4.7.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.msgNotificationService; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = DistributionAdhoc; - }; - EA8CB835239F96CA00C330CC /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = B0D404E542E5871F7437A060 /* Pods-msgNotificationContent.debug.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = msgNotificationContent/msgNotificationContent.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 4; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "DEBUG=1", - ); - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - INFOPLIST_FILE = msgNotificationContent/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 4.7.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.msgNotificationContent; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - EA8CB836239F96CA00C330CC /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 842B7EC5D5497903DF48A6A1 /* Pods-msgNotificationContent.release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = msgNotificationContent/msgNotificationContent.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 4; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - INFOPLIST_FILE = msgNotificationContent/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 4.7.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.msgNotificationContent; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - EA8CB837239F96CA00C330CC /* Distribution */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5BF3D86E8AD8910810048241 /* Pods-msgNotificationContent.distribution.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = msgNotificationContent/msgNotificationContent.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 4; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - INFOPLIST_FILE = msgNotificationContent/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 4.7.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.msgNotificationContent; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Distribution; - }; - EA8CB838239F96CA00C330CC /* DistributionAdhoc */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 595A41ABC48A62CE11868F9E /* Pods-msgNotificationContent.distributionadhoc.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = msgNotificationContent/msgNotificationContent.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 4; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Z2V957B3D6; - ENABLE_BITCODE = NO; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - INFOPLIST_FILE = msgNotificationContent/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 4.7.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.msgNotificationContent; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = DistributionAdhoc; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "linphone" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1D6058940D05DD3E006BFB54 /* Debug */, - 22F3D55613CC3C9100A0DA02 /* Release */, - 22F51EE8107FA53D00F98953 /* Distribution */, - 228B19A71302902F00F154D3 /* DistributionAdhoc */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - 61AE366120C00B370089D9D3 /* Build configuration list for PBXNativeTarget "linphoneExtension" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 61AE365720C00B370089D9D3 /* Debug */, - 61AE365820C00B370089D9D3 /* Release */, - 61AE365920C00B370089D9D3 /* Distribution */, - 61AE365A20C00B370089D9D3 /* DistributionAdhoc */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - 6637AF99288593AF00965733 /* Build configuration list for PBXNativeTarget "CallUITests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 6637AF95288593AF00965733 /* Debug */, - 6637AF96288593AF00965733 /* Release */, - 6637AF97288593AF00965733 /* Distribution */, - 6637AF98288593AF00965733 /* DistributionAdhoc */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - 66495D01288FF346002780DE /* Build configuration list for PBXNativeTarget "AutoConnectLinphoneAccount" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 66495D02288FF346002780DE /* Debug */, - 66495D03288FF346002780DE /* Release */, - 66495D04288FF346002780DE /* Distribution */, - 66495D05288FF346002780DE /* DistributionAdhoc */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - C01FCF4E08A954540054247B /* Build configuration list for PBXProject "linphone" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - C01FCF4F08A954540054247B /* Debug */, - 22F3D55513CC3C9100A0DA02 /* Release */, - 22F51EE7107FA53D00F98953 /* Distribution */, - 228B19A61302902F00F154D3 /* DistributionAdhoc */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - EA5F25E1232BD3E300475F2E /* Build configuration list for PBXNativeTarget "msgNotificationService" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - EA5F25E2232BD3E300475F2E /* Debug */, - EA5F25E3232BD3E300475F2E /* Release */, - EA5F25E4232BD3E300475F2E /* Distribution */, - EA5F25E5232BD3E300475F2E /* DistributionAdhoc */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - EA8CB834239F96CA00C330CC /* Build configuration list for PBXNativeTarget "msgNotificationContent" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - EA8CB835239F96CA00C330CC /* Debug */, - EA8CB836239F96CA00C330CC /* Release */, - EA8CB837239F96CA00C330CC /* Distribution */, - EA8CB838239F96CA00C330CC /* DistributionAdhoc */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; -/* End XCConfigurationList section */ - }; - rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; -} diff --git a/linphone.xcodeproj/xcshareddata/xcschemes/linphone.xcscheme b/linphone.xcodeproj/xcshareddata/xcschemes/linphone.xcscheme deleted file mode 100644 index 724eef3ca..000000000 --- a/linphone.xcodeproj/xcshareddata/xcschemes/linphone.xcscheme +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/linphone.xcodeproj/xcshareddata/xcschemes/linphone.xcscheme.orig b/linphone.xcodeproj/xcshareddata/xcschemes/linphone.xcscheme.orig deleted file mode 100644 index bd9e38ae8..000000000 --- a/linphone.xcodeproj/xcshareddata/xcschemes/linphone.xcscheme.orig +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - - - - - - - - - - - - - - >>>>>> 8e16f1fad (new test plans) - reference = "container:UITests/TestPlans/Default.xctestplan" - default = "YES"> - - - - - - - - - - - - - - - - - - - - - - - - - - >>>>>> 8e16f1fad (new test plans) - skipped = "NO" - testExecutionOrdering = "random"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/linphone.xcworkspace/contents.xcworkspacedata b/linphone.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index ea0a8d734..000000000 --- a/linphone.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/linphone.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/linphone.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003..000000000 --- a/linphone.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/linphoneExtension/Base.lproj/MainInterface.storyboard b/linphoneExtension/Base.lproj/MainInterface.storyboard deleted file mode 100644 index a14188503..000000000 --- a/linphoneExtension/Base.lproj/MainInterface.storyboard +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/linphoneExtension/Info.plist b/linphoneExtension/Info.plist deleted file mode 100644 index b1d0000b0..000000000 --- a/linphoneExtension/Info.plist +++ /dev/null @@ -1,51 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - linphone - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - XPC! - CFBundleShortVersionString - $(MARKETING_VERSION) - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSExtension - - NSExtensionAttributes - - NSExtensionActivationRule - - NSExtensionActivationSupportsAttachmentsWithMaxCount - 1 - NSExtensionActivationSupportsFileWithMaxCount - 1 - NSExtensionActivationSupportsImageWithMaxCount - 1 - NSExtensionActivationSupportsMovieWithMaxCount - 1 - NSExtensionActivationSupportsText - - NSExtensionActivationSupportsWebPageWithMaxCount - 1 - NSExtensionActivationSupportsWebURLWithMaxCount - 1 - - - NSExtensionMainStoryboard - MainInterface - NSExtensionPointIdentifier - com.apple.share-services - - - diff --git a/linphoneExtension/ShareViewController.h b/linphoneExtension/ShareViewController.h deleted file mode 100644 index 795288fd3..000000000 --- a/linphoneExtension/ShareViewController.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import - - -#define SUPPORTED_EXTENTIONS @[@"public.jpeg",@"com.compuserve.gif",@"public.url",@"public.movie",@"com.apple.mapkit.map-item",@"com.adobe.pdf",@"public.png",@"public.image", @"public.data", @"public.text"] - -@interface ShareViewController : SLComposeServiceViewController - -@end diff --git a/linphoneExtension/ShareViewController.m b/linphoneExtension/ShareViewController.m deleted file mode 100644 index 30bf03f1e..000000000 --- a/linphoneExtension/ShareViewController.m +++ /dev/null @@ -1,162 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import "ShareViewController.h" - -@interface ShareViewController () - -@end - -@implementation ShareViewController - -- (BOOL)isContentValid { - // Do validation of contentText and/or NSExtensionContext attachments here - return YES; -} - - -- (void)didSelectPost { - NSString* groupName = [NSString stringWithFormat:@"group.%@",[[NSBundle mainBundle] bundleIdentifier]]; - NSLog(@"[SHARE EXTENSTION] using group name inside EXTENSION %@",groupName); - // This is called after the user selects Post. Do the upload of contentText and/or NSExtensionContext attachments. - BOOL support = TRUE; - // Inform the host that we're done, so it un-blocks its UI. Note: Alternatively you could call super's -didSelectPost, which will similarly complete the extension context. - for (NSExtensionItem *item in self.extensionContext.inputItems) { - for (NSItemProvider *provider in item.attachments) { - NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:groupName]; - // TODO: Use [provider registeredTypeIdentifiersWithFileOptions:0]; to get all type identifiers of the provider instead of this if/else if structure - support = TRUE; - bool found = false; - for (NSString *ti in SUPPORTED_EXTENTIONS) { - if ([provider hasItemConformingToTypeIdentifier:ti]) { - found=true; - [self loadItem:provider typeIdentifier:ti defaults:defaults]; - // Send only one item - return; - } - } - if (!found){ - NSLog(@"Unkown itemprovider = %@", provider); - support = false; - } - } - } - if (!support) - [self.extensionContext completeRequestReturningItems:@[] completionHandler:nil]; -} - --(void) viewDidAppear:(BOOL)animated { - [self didSelectPost]; -} - -- (NSArray *)configurationItems { - // To add configuration options via table cells at the bottom of the sheet, return an array of SLComposeSheetConfigurationItem here. - return @[]; -} - -- (NSString *)cacheDirectory { - NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); - NSString *cachePath = [paths objectAtIndex:0]; - BOOL isDir = NO; - NSError *error; - if (![[NSFileManager defaultManager] fileExistsAtPath:cachePath isDirectory:&isDir] && isDir == NO) { - [[NSFileManager defaultManager] createDirectoryAtPath:cachePath - withIntermediateDirectories:NO - attributes:nil - error:&error]; - } - return cachePath; -} - --(void) nsDataWrite:(NSData *)data { - NSString* groupName = [NSString stringWithFormat:@"group.%@",[[NSBundle mainBundle] bundleIdentifier]]; - NSError *error = nil; - NSString *path =[[[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:groupName] path]; - NSString *fullCacheFilePathPath = [NSString stringWithFormat:@"%@/%@",path,@"nsData"]; - [[NSFileManager defaultManager] removeItemAtURL:[NSURL fileURLWithPath:fullCacheFilePathPath] error:&error]; - if (![data writeToFile:fullCacheFilePathPath atomically:YES]) { - NSLog(@"nsDataWrite error"); - } -} - -- (void)loadItem:(NSItemProvider *)provider typeIdentifier:(NSString *)typeIdentifier defaults:(NSUserDefaults *)defaults { - [provider loadItemForTypeIdentifier:typeIdentifier options:nil completionHandler:^(id _Nullable item, NSError * _Null_unspecified error) { - if([(NSObject*)item isKindOfClass:[NSURL class]]) { - NSURL *url = (NSURL *)item; - NSData *nsData = [NSData dataWithContentsOfURL:url]; - - if (nsData) { - NSString *imgPath = url.path; - NSString *filename = [imgPath lastPathComponent]; - if([imgPath containsString:@"var/mobile/Media/PhotoData"]) { - // We get the corresponding PHAsset identifier so we can display the image in the app without having to duplicate it. - NSDictionary *dict = @{@"url" : filename, - @"message" : self.contentText}; - [self nsDataWrite:nsData]; - [defaults setObject:dict forKey:@"photoData"]; - } else if ([imgPath containsString:@"var/mobile/Library/Mobile Documents/com~apple~CloudDocs"] || [[url scheme] isEqualToString:@"file"]) { - // shared files from icloud drive - NSDictionary *dict = @{@"url" : filename, - @"message" : self.contentText}; - [self nsDataWrite:nsData]; - [defaults setObject:dict forKey:@"icloudData"]; - } else { - NSDictionary *dict = @{@"url" : [url absoluteString], - @"message" : self.contentText}; - [defaults setObject:dict forKey:@"url"]; - } - } else { - //Others - NSDictionary *dict = @{@"url" : [url absoluteString], - @"message" : self.contentText}; - [defaults setObject:dict forKey:@"url"]; - } - - [self respondUrl:defaults]; - } else if ([(NSObject*)item isKindOfClass:[UIImage class]]) { - UIImage *image = (UIImage*)item; - NSDictionary *dict = @{@"url" : [NSString stringWithFormat:@"IMAGE_%f.PNG", [[NSDate date] timeIntervalSince1970]], - @"message" : self.contentText}; - [self nsDataWrite:UIImagePNGRepresentation(image)]; - [defaults setObject:dict forKey:@"photoData"]; - - [self respondUrl:defaults]; - } else { - //share text - NSLog(@"Unsupported provider = %@", provider); - [self.extensionContext completeRequestReturningItems:@[] completionHandler:nil]; - } - }]; -} - -- (void)respondUrl:(NSUserDefaults *)defaults { - UIResponder *responder = self; - while (responder != nil) { - if ([responder respondsToSelector:@selector(openURL:)]) { - [responder performSelector:@selector(openURL:) - withObject:[NSURL URLWithString:@"message-linphone://" ]]; - [self.extensionContext completeRequestReturningItems:@[] completionHandler:nil]; - break; - } - responder = [responder nextResponder]; - } - [defaults synchronize]; -} - -@end diff --git a/linphoneExtension/linphoneExtension.entitlements b/linphoneExtension/linphoneExtension.entitlements deleted file mode 100644 index 36778db04..000000000 --- a/linphoneExtension/linphoneExtension.entitlements +++ /dev/null @@ -1,10 +0,0 @@ - - - - - com.apple.security.application-groups - - group.org.linphone.phone.linphoneExtension - - - diff --git a/linphone_Prefix.pch b/linphone_Prefix.pch deleted file mode 100644 index 60e104960..000000000 --- a/linphone_Prefix.pch +++ /dev/null @@ -1,16 +0,0 @@ -// -// Prefix header for all source files of the 'linphone' target in the 'linphone' project -// - -#ifdef __OBJC__ - #import - #import -#endif - -#import "Log.h" -#import "Utils.h" -#import "Contact.h" - -#import "UIToggleButton.h" - -#import "UIChatBubbleTextCell.h" diff --git a/main.m b/main.m deleted file mode 100644 index 2a64d0d9a..000000000 --- a/main.m +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#import -#import "LinphoneAppDelegate.h" - -#ifdef DEBUG - -// Dump exception -void uncaughtExceptionHandler(NSException *exception) { - NSLog(@"Crash: %@", exception); - NSLog(@"Stack Trace: %@", [exception callStackSymbols]); - // Internal error reporting -}; - -#endif - -int main(int argc, char *argv[]) { -#ifdef DEBUG - NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler); -#endif - @autoreleasepool { - return UIApplicationMain(argc, argv, nil, NSStringFromClass([LinphoneAppDelegate class])); - } -} diff --git a/msgNotification/Utils.swift b/msgNotification/Utils.swift deleted file mode 100644 index 72468a525..000000000 --- a/msgNotification/Utils.swift +++ /dev/null @@ -1,116 +0,0 @@ -/* -* Copyright (c) 2010-2020 Belledonne Communications SARL. -* -* This file is part of linphone-iphone -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see . -*/ - -import linphonesw -import os -#if USE_CRASHLYTICS -import Firebase -#endif - -enum LinphoneError: Error { - case timeout - case loggingServiceUninitialized -} - -class LinphoneLoggingServiceManager: LoggingServiceDelegate { - init(config: Config, log: LoggingService?, domain: String) throws { - if let log = log { - let debugLevel = config.getInt(section: "app", key: "debugenable_preference", defaultValue: LogLevel.Debug.rawValue) - let debugEnabled = (debugLevel >= LogLevel.Debug.rawValue && debugLevel < LogLevel.Error.rawValue) - - Factory.Instance.logCollectionPath = Factory.Instance.getDataDir(context: UnsafeMutablePointer(mutating: (APP_GROUP_ID as NSString).utf8String)) - Factory.Instance.enableLogCollection(state: debugEnabled ? LogCollectionState.Enabled : LogCollectionState.Disabled) - log.domain = domain - log.logLevel = debugLevel==0 ? LogLevel.Fatal : LogLevel(rawValue: debugLevel) - log.addDelegate(delegate: self) - } else { - throw LinphoneError.loggingServiceUninitialized - } - } - - let levelToOSleLogLevel :[Int: OSLogType] = - [LogLevel.Debug.rawValue:.debug, - LogLevel.Trace.rawValue:.info, - LogLevel.Message.rawValue:.info, - LogLevel.Warning.rawValue:.error, - LogLevel.Error.rawValue:.error, - LogLevel.Fatal.rawValue:.fault]; - - func onLogMessageWritten(logService: LoggingService, domain: String, level: LogLevel, message: String) { - let levelStr: String - - switch level { - case .Debug: - levelStr = "Debug" - case .Trace: - levelStr = "Trace" - case .Message: - levelStr = "Message" - case .Warning: - levelStr = "Warning" - case .Error: - levelStr = "Error" - case .Fatal: - levelStr = "Fatal" - default: - levelStr = "unknown" - } - -#if USE_CRASHLYTICS - Crashlytics.crashlytics().log("\(levelStr) [\(domain)] \(message)\n") -#endif - if #available(iOS 10.0, *) { - os_log("%{public}@", type: levelToOSleLogLevel[level.rawValue] ?? .info,message) - } else { - NSLog("\(levelStr) [\(domain)] \(message)\n") - } - } -} - -extension String { - func getDisplayNameFromSipAddress(lc:Core, logger:LoggingService, groupId:String) -> String? { - logger.message(message: "looking for display name for \(self)") - - - let defaults = UserDefaults.init(suiteName: groupId) - let addressBook = defaults?.dictionary(forKey: "addressBook") - - if (addressBook == nil) { - logger.message(message: "address book not found in userDefaults") - return nil - } - - var usePrefix = true; - if let account = lc.defaultAccount, let params = account.params { - usePrefix = params.useInternationalPrefixForCallsAndChats - } - - if let simpleAddr = lc.interpretUrl(url: self, applyInternationalPrefix: usePrefix) { - simpleAddr.clean() - let nomalSipaddr = simpleAddr.asString() - if let displayName = addressBook?[nomalSipaddr] as? String { - logger.message(message: "display name for \(self): \(displayName)") - return displayName - } - } - - logger.message(message: "display name for \(self) not found in userDefaults") - return nil - } -} diff --git a/msgNotificationContent/Base.lproj/MainInterface.storyboard b/msgNotificationContent/Base.lproj/MainInterface.storyboard deleted file mode 100644 index 5d49f3ef0..000000000 --- a/msgNotificationContent/Base.lproj/MainInterface.storyboard +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/msgNotificationContent/GoogleService-Info.plist b/msgNotificationContent/GoogleService-Info.plist deleted file mode 100644 index 7d4266485..000000000 --- a/msgNotificationContent/GoogleService-Info.plist +++ /dev/null @@ -1,36 +0,0 @@ - - - - - CLIENT_ID - - REVERSED_CLIENT_ID - - API_KEY - - GCM_SENDER_ID - - PLIST_VERSION - 1 - BUNDLE_ID - org.linphone.phone.msgNotificationContent - PROJECT_ID - linphone-iphone - STORAGE_BUCKET - linphone-iphone.appspot.com - IS_ADS_ENABLED - - IS_ANALYTICS_ENABLED - - IS_APPINVITE_ENABLED - - IS_GCM_ENABLED - - IS_SIGNIN_ENABLED - - GOOGLE_APP_ID - - DATABASE_URL - - - diff --git a/msgNotificationContent/Info.plist b/msgNotificationContent/Info.plist deleted file mode 100644 index 9886453ec..000000000 --- a/msgNotificationContent/Info.plist +++ /dev/null @@ -1,42 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - msgNotificationContent - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - XPC! - CFBundleShortVersionString - $(MARKETING_VERSION) - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSExtension - - NSExtensionAttributes - - UNNotificationExtensionCategory - msg_cat - UNNotificationExtensionDefaultContentHidden - - UNNotificationExtensionInitialContentSizeRatio - 0.01 - UNNotificationExtensionOverridesDefaultTitle - - - NSExtensionMainStoryboard - MainInterface - NSExtensionPointIdentifier - com.apple.usernotifications.content-extension - - - diff --git a/msgNotificationContent/NotificationViewController.swift b/msgNotificationContent/NotificationViewController.swift deleted file mode 100644 index 38aa98d14..000000000 --- a/msgNotificationContent/NotificationViewController.swift +++ /dev/null @@ -1,183 +0,0 @@ -/* -* Copyright (c) 2010-2020 Belledonne Communications SARL. -* -* This file is part of linphone-iphone -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see . -*/ - -import UIKit -import UserNotifications -import UserNotificationsUI -import linphonesw -import os -#if USE_CRASHLYTICS -import Firebase -#endif - -var APP_GROUP_ID = "group.org.linphone.phone.msgNotification" -var isReplySent: Bool = false -var needToStop: Bool = false -var coreStopped: Bool = false -var log: LoggingService! - -class NotificationViewController: UIViewController, UNNotificationContentExtension, ChatMessageDelegate, CoreDelegate { - - var lc: Core? - var config: Config! - var logDelegate: LinphoneLoggingServiceManager! - - override func viewDidLoad() { - super.viewDidLoad() - // Do any required interface initialization here. -#if USE_CRASHLYTICS - FirebaseApp.configure() -#endif - NSLog("[msgNotificationContent] start msgNotificationContent extension") - - - let replyAction = UNTextInputNotificationAction(identifier: "Reply", - title: NSLocalizedString("Reply", comment: ""), - options: [], - textInputButtonTitle: NSLocalizedString("Send", comment: ""), - textInputPlaceholder: "") - - let seenAction = UNNotificationAction(identifier: "Seen", title: NSLocalizedString("Mark as seen", comment: ""), options: []) - let category = UNNotificationCategory(identifier: "msg_cat", actions: [replyAction, seenAction], intentIdentifiers: [], options: [.customDismissAction]) - UNUserNotificationCenter.current().setNotificationCategories([category]) - - needToStop = false - isReplySent = false - coreStopped = false - } - - func didReceive(_ notification: UNNotification) { - VFSUtil.log("Notification received \(notification.request.content.userInfo) category \(notification.request.content.categoryIdentifier)",.info) - } - - func didReceive(_ response: UNNotificationResponse, - completionHandler completion: @escaping (UNNotificationContentExtensionResponseOption) -> Void) { - do { - let userInfo = response.notification.request.content.userInfo - switch response.actionIdentifier { - case "Reply": - if let replyText = response as? UNTextInputNotificationResponse { - try replyAction(userInfo, text: replyText.userText) - } - break - case "Seen": - try markAsSeenAction(userInfo) - break - default: - break - } - - if (needToStop) { - log.error(message: "core stopped by app") - throw LinphoneError.timeout - } else { - completion(.dismiss) - stopCore() - } - - } catch { - log.error(message: "error: \(error)") - completion(.dismissAndForwardAction) - } - } - - func markAsSeenAction(_ userInfo: [AnyHashable : Any]) throws { - NSLog("[msgNotificationContent] markAsSeenAction") - try startCore() - - let peerAddress = userInfo["peer_addr"] as! String - let localAddress = userInfo["local_addr"] as! String - let peer = try lc!.createAddress(address: peerAddress) - let local = try lc!.createAddress(address: localAddress) - let room = lc!.findChatRoom(peerAddr: peer, localAddr: local) - if let room = room { - room.markAsRead() - } - lc!.iterate() - } - - func replyAction(_ userInfo: [AnyHashable : Any], text replyText: String) throws { - NSLog("[msgNotificationContent] replyAction") - try startCore() - - let peerAddress = userInfo["peer_addr"] as! String - let localAddress = userInfo["local_addr"] as! String - let peer = try lc!.createAddress(address: peerAddress) - let local = try lc!.createAddress(address: localAddress) - let room = lc!.findChatRoom(peerAddr: peer, localAddr: local) - if let room = room { - let chatMsg = try room.createMessage(message: replyText) - chatMsg.addDelegate(delegate: self) - chatMsg.send() - room.markAsRead() - } - - for i in 0...50 where !isReplySent && !needToStop { - log.debug(message: "reply \(i)") - lc!.iterate() - usleep(10000) - } - } - - func startCore() throws { - if (VFSUtil.vfsEnabled(groupName: APP_GROUP_ID) && !VFSUtil.activateVFS()) { - VFSUtil.log("[VFS] Error unable to activate.", .error) - } - config = Config.newForSharedCore(appGroupId: APP_GROUP_ID, configFilename: "linphonerc", factoryConfigFilename: "") - log = LoggingService.Instance /*enable liblinphone logs.*/ - logDelegate = try! LinphoneLoggingServiceManager(config: config, log: log, domain: "msgNotificationContent") - lc = try! Factory.Instance.createSharedCoreWithConfig(config: config, systemContext: nil, appGroupId: APP_GROUP_ID, mainCore: false) - - lc!.addDelegate(delegate: self) - - try lc!.start() - log.message(message: "core started") - - if (needToStop) { - log.error(message: "core stopped by app") - throw LinphoneError.timeout - } - } - - func stopCore() { - lc!.stopAsync() - log.message(message: "stop core") - for i in 0...100 where !coreStopped { - log.debug(message: "stop \(i)") - lc!.iterate() - usleep(50000) - } - } - - func onGlobalStateChanged(core: Core, state gstate: GlobalState, message: String) { - log.message(message: "global state changed: \(gstate) : \(message) \n") - if (gstate == .Shutdown) { - needToStop = true - } else if (gstate == .Off) { - coreStopped = true - } - } - - func onMsgStateChanged(message: ChatMessage, state: ChatMessage.State) { - log.message(message: "msg state changed: \(state)\n") - if (state == .Delivered) { - isReplySent = true - } - } -} diff --git a/msgNotificationContent/msgNotificationContent.entitlements b/msgNotificationContent/msgNotificationContent.entitlements deleted file mode 100644 index b63a67474..000000000 --- a/msgNotificationContent/msgNotificationContent.entitlements +++ /dev/null @@ -1,14 +0,0 @@ - - - - - com.apple.security.application-groups - - group.org.linphone.phone.msgNotification - - keychain-access-groups - - $(AppIdentifierPrefix)org.linphone.phone - - - diff --git a/msgNotificationService/GoogleService-Info.plist b/msgNotificationService/GoogleService-Info.plist deleted file mode 100644 index 98867592f..000000000 --- a/msgNotificationService/GoogleService-Info.plist +++ /dev/null @@ -1,36 +0,0 @@ - - - - - CLIENT_ID - - REVERSED_CLIENT_ID - - API_KEY - - GCM_SENDER_ID - - PLIST_VERSION - 1 - BUNDLE_ID - org.linphone.phone.msgNotificationService - PROJECT_ID - linphone-iphone - STORAGE_BUCKET - linphone-iphone.appspot.com - IS_ADS_ENABLED - - IS_ANALYTICS_ENABLED - - IS_APPINVITE_ENABLED - - IS_GCM_ENABLED - - IS_SIGNIN_ENABLED - - GOOGLE_APP_ID - - DATABASE_URL - - - diff --git a/msgNotificationService/Info.plist b/msgNotificationService/Info.plist deleted file mode 100644 index 59a92df5e..000000000 --- a/msgNotificationService/Info.plist +++ /dev/null @@ -1,31 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - msgNotificationService - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - $(PRODUCT_BUNDLE_PACKAGE_TYPE) - CFBundleShortVersionString - $(MARKETING_VERSION) - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSExtension - - NSExtensionPointIdentifier - com.apple.usernotifications.service - NSExtensionPrincipalClass - $(PRODUCT_MODULE_NAME).NotificationService - - - diff --git a/msgNotificationService/NotificationService.swift b/msgNotificationService/NotificationService.swift deleted file mode 100644 index 0cda96771..000000000 --- a/msgNotificationService/NotificationService.swift +++ /dev/null @@ -1,255 +0,0 @@ -/* -* Copyright (c) 2010-2020 Belledonne Communications SARL. -* -* This file is part of linphone-iphone -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see . -*/ - -import UserNotifications -import linphonesw -#if USE_CRASHLYTICS -import Firebase -#endif - -var APP_GROUP_ID = "group.org.linphone.phone.msgNotification" -var LINPHONE_DUMMY_SUBJECT = "dummy subject" - -struct MsgData: Codable { - var from: String? - var body: String? - var subtitle: String? - var callId: String? - var localAddr: String? - var peerAddr: String? -} - -class NotificationService: UNNotificationServiceExtension { - - var contentHandler: ((UNNotificationContent) -> Void)? - var bestAttemptContent: UNMutableNotificationContent? - - var lc: Core? - static var logDelegate: LinphoneLoggingServiceManager! - static var log: LoggingService! - - override init() { - super.init() -#if USE_CRASHLYTICS - FirebaseApp.configure() -#endif - } - - override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) { - self.contentHandler = contentHandler - bestAttemptContent = (request.content.mutableCopy() as? UNMutableNotificationContent) - NSLog("[msgNotificationService] start msgNotificationService extension") - - if (VFSUtil.vfsEnabled(groupName: APP_GROUP_ID) && !VFSUtil.activateVFS()) { - VFSUtil.log("[VFS] Error unable to activate.", .error) - } - - if let bestAttemptContent = bestAttemptContent { - createCore() - - if (!(lc!.config?.getBool(section: "app", key: "disable_chat_feature", defaultValue: true))!){ - NotificationService.log.message(message: "received push payload : \(bestAttemptContent.userInfo.debugDescription)") - - - let defaults = UserDefaults.init(suiteName: APP_GROUP_ID) - if let chatroomsPushStatus = defaults?.dictionary(forKey: "chatroomsPushStatus") { - let aps = bestAttemptContent.userInfo["aps"] as? NSDictionary - let alert = aps?["alert"] as? NSDictionary - let fromAddresses = alert?["loc-args"] as? [String] - - if let from = fromAddresses?.first { - if ((chatroomsPushStatus[from] as? String) == "disabled") { - NotificationService.log.message(message: "message comes from a muted chatroom, ignore it") - contentHandler(UNNotificationContent()) - } - } - } - - if let chatRoomInviteAddr = bestAttemptContent.userInfo["chat-room-addr"] as? String, !chatRoomInviteAddr.isEmpty { - NotificationService.log.message(message: "fetch chat room for invite, addr: \(chatRoomInviteAddr)") - let chatRoom = lc!.getNewChatRoomFromConfAddr(chatRoomAddr: chatRoomInviteAddr) - - if let chatRoom = chatRoom { - stopCore() - NotificationService.log.message(message: "chat room invite received") - bestAttemptContent.title = NSLocalizedString("GC_MSG", comment: "") - if (chatRoom.hasCapability(mask:ChatRoom.Capabilities.OneToOne.rawValue)) { - if (chatRoom.peerAddress?.displayName?.isEmpty != true) { - bestAttemptContent.body = chatRoom.peerAddress!.displayName! - } else { - bestAttemptContent.body = chatRoom.peerAddress!.username! - } - } else { - bestAttemptContent.body = chatRoom.subject! - } - - bestAttemptContent.sound = UNNotificationSound(named: UNNotificationSoundName("msg.caf")) // TODO : temporary fix, to be removed after flexisip release - contentHandler(bestAttemptContent) - return - } - } else if let callId = bestAttemptContent.userInfo["call-id"] as? String { - NotificationService.log.message(message: "fetch msg for callid ["+callId+"]") - let message = lc!.getNewMessageFromCallid(callId: callId) - - if let message = message { - let msgData = parseMessage(message: message) - - // Extension only upates app's badge when main shared core is Off = extension's core is On. - // Otherwise, the app will update the badge. - if lc?.globalState == GlobalState.On, let badge = updateBadge() as NSNumber? { - bestAttemptContent.badge = badge - } - - stopCore() - - bestAttemptContent.sound = UNNotificationSound(named: UNNotificationSoundName(rawValue: "msg.caf")) - bestAttemptContent.title = NSLocalizedString("Message received", comment: "") - if let subtitle = msgData?.subtitle { - bestAttemptContent.subtitle = subtitle - } - if let body = msgData?.body { - bestAttemptContent.body = body - } - - bestAttemptContent.categoryIdentifier = "msg_cat" - - bestAttemptContent.userInfo.updateValue(msgData?.callId as Any, forKey: "CallId") - bestAttemptContent.userInfo.updateValue(msgData?.from as Any, forKey: "from") - bestAttemptContent.userInfo.updateValue(msgData?.peerAddr as Any, forKey: "peer_addr") - bestAttemptContent.userInfo.updateValue(msgData?.localAddr as Any, forKey: "local_addr") - - if message.reactionContent != " " { - contentHandler(bestAttemptContent) - }else { - contentHandler(UNNotificationContent()) - } - - return - } else { - NotificationService.log.message(message: "Message not found for callid ["+callId+"]") - } - } - } - serviceExtensionTimeWillExpire() - } - } - - override func serviceExtensionTimeWillExpire() { - // Called just before the extension will be terminated by the system. - // Use this as an opportunity to deliver your "best attempt" at modified content, otherwise the original push payload will be used. - NotificationService.log.warning(message: "serviceExtensionTimeWillExpire") - stopCore() - if let contentHandler = contentHandler, let bestAttemptContent = bestAttemptContent { - NSLog("[msgNotificationService] serviceExtensionTimeWillExpire") - bestAttemptContent.categoryIdentifier = "app_active" - - if let chatRoomInviteAddr = bestAttemptContent.userInfo["chat-room-addr"] as? String, !chatRoomInviteAddr.isEmpty { - bestAttemptContent.title = NSLocalizedString("GC_MSG", comment: "") - bestAttemptContent.body = "" - bestAttemptContent.sound = UNNotificationSound(named: UNNotificationSoundName("msg.caf")) // TODO : temporary fix, to be removed after flexisip release - } else { - bestAttemptContent.title = NSLocalizedString("Message received", comment: "") - bestAttemptContent.body = NSLocalizedString("IM_MSG", comment: "") - } - contentHandler(bestAttemptContent) - } - } - - func parseMessage(message: PushNotificationMessage) -> MsgData? { - - var content = "" - if (message.isConferenceInvitationNew) { - content = NSLocalizedString("📅 You are invited to a meeting", comment: "") - } else if (message.isConferenceInvitationUpdate) { - content = NSLocalizedString("📅 Meeting has been modified", comment: "") - } else if (message.isConferenceInvitationCancellation) { - content = NSLocalizedString("📅 Meeting has been cancelled", comment: "") - } else { - content = message.isText ? message.textContent! : "🗻" - } - - let fromAddr = message.fromAddr?.username - let callId = message.callId - let localUri = message.localAddr?.asStringUriOnly() - let peerUri = message.peerAddr?.asStringUriOnly() - let reactionContent = message.reactionContent - let from: String - if let fromDisplayName = message.fromAddr?.asStringUriOnly().getDisplayNameFromSipAddress(lc: lc!, logger: NotificationService.log, groupId: APP_GROUP_ID) { - from = fromDisplayName - } else { - from = fromAddr! - } - - - var msgData = MsgData(from: fromAddr, body: "", subtitle: "", callId:callId, localAddr: localUri, peerAddr:peerUri) - - if let showMsg = lc!.config?.getBool(section: "app", key: "show_msg_in_notif", defaultValue: true), showMsg == true { - if let subject = message.subject as String?, subject != "" { - msgData.subtitle = subject - if reactionContent == nil { - msgData.body = from + " : " + content - } else { - msgData.body = from + NSLocalizedString(" has reacted by ", comment: "") + reactionContent! + NSLocalizedString(" to: ", comment: "") + content - } - } else { - msgData.subtitle = from - msgData.body = content - } - } else { - if let subject = message.subject as String?, subject != "" { - msgData.body = subject + " : " + from - } else { - msgData.body = from - } - } - - NotificationService.log.message(message: "received msg size : \(content.count) \n") - return msgData; - } - - func createCore() { - NSLog("[msgNotificationService] create core") - - let config = Config.newForSharedCore(appGroupId: APP_GROUP_ID, configFilename: "linphonerc", factoryConfigFilename: "") - - if (NotificationService.log == nil) { - NotificationService.log = LoggingService.Instance /*enable liblinphone logs.*/ - NotificationService.logDelegate = try! LinphoneLoggingServiceManager(config: config!, log: NotificationService.log, domain: "msgNotificationService") - } - lc = try! Factory.Instance.createSharedCoreWithConfig(config: config!, systemContext: nil, appGroupId: APP_GROUP_ID, mainCore: false) - } - - func stopCore() { - NotificationService.log.message(message: "stop core") - if let lc = lc { - lc.stop() - } - } - - func updateBadge() -> Int { - var count = 0 - count += lc!.unreadChatMessageCount - count += lc!.missedCallsCount - count += lc!.callsNb - NotificationService.log.message(message: "badge: \(count)\n") - - return count - } - -} diff --git a/msgNotificationService/msgNotificationService.entitlements b/msgNotificationService/msgNotificationService.entitlements deleted file mode 100644 index 31f88ecaf..000000000 --- a/msgNotificationService/msgNotificationService.entitlements +++ /dev/null @@ -1,16 +0,0 @@ - - - - - com.apple.developer.usernotifications.filtering - - com.apple.security.application-groups - - group.org.linphone.phone.msgNotification - - keychain-access-groups - - $(AppIdentifierPrefix)org.linphone.phone - - - diff --git a/prepare.conf b/prepare.conf deleted file mode 100644 index bc4c93b42..000000000 --- a/prepare.conf +++ /dev/null @@ -1,5 +0,0 @@ --DENABLE_LIME_X3DH=yes --DENABLE_LIME=no --DENABLE_SOCI=yes --DENABLE_QRCODE=yes - diff --git a/prepare.py b/prepare.py deleted file mode 100755 index e5f3373b9..000000000 --- a/prepare.py +++ /dev/null @@ -1,369 +0,0 @@ -#!/usr/bin/env python - -# -# Copyright (c) 2010-2019 Belledonne Communications SARL. -# -# This file is part of linphone-iphone -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# - -import os -import re -import shutil -import sys -from distutils.spawn import find_executable -from logging import error, warning, info -from subprocess import Popen, PIPE -sys.dont_write_bytecode = True -sys.path.insert(0, 'submodules/cmake-builder') -try: - import prepare -except Exception as e: - error( - "Could not find prepare module: {}, probably missing submodules/cmake-builder? Try running:\n" - "git submodule sync && git submodule update --init --recursive".format(e)) - exit(1) - - - -class IOSTarget(prepare.Target): - - def __init__(self, arch): - prepare.Target.__init__(self, 'ios-' + arch) - current_path = os.path.dirname(os.path.realpath(__file__)) - self.config_file = 'configs/config-ios-' + arch + '.cmake' - self.toolchain_file = 'toolchains/toolchain-ios-' + arch + '.cmake' - self.output = 'liblinphone-sdk/' + arch + '-apple-darwin.ios' - self.external_source_path = os.path.join(current_path, 'submodules') - external_builders_path = os.path.join(current_path, 'cmake_builder') - self.additional_args = [ - "-DLINPHONE_BUILDER_EXTERNAL_BUILDERS_PATH=" + external_builders_path - ] - - -class IOSi386Target(IOSTarget): - - def __init__(self): - IOSTarget.__init__(self, 'i386') - - -class IOSx8664Target(IOSTarget): - - def __init__(self): - IOSTarget.__init__(self, 'x86_64') - - -class IOSarmv7Target(IOSTarget): - - def __init__(self): - IOSTarget.__init__(self, 'armv7') - - -class IOSarm64Target(IOSTarget): - - def __init__(self): - IOSTarget.__init__(self, 'arm64') - - - -ios_targets = { - 'i386': IOSi386Target(), - 'x86_64': IOSx8664Target(), - 'armv7': IOSarmv7Target(), - 'arm64': IOSarm64Target() -} - -ios_virtual_targets = { - 'devices': ['armv7', 'arm64'], - 'simulators': ['i386', 'x86_64'], - 'all': ['i386', 'x86_64', 'armv7', 'arm64'] -} - -class IOSPreparator(prepare.Preparator): - - def __init__(self, targets=ios_targets, virtual_targets=ios_virtual_targets): - prepare.Preparator.__init__(self, targets, default_targets=['armv7', 'arm64', 'x86_64'], virtual_targets=virtual_targets) - self.veryclean = True - self.show_gpl_disclaimer = True - self.argparser.add_argument('-ac', '--all-codecs', help="Enable all codecs, including the non-free ones. Final application must comply with their respective license (see README.md).", action='store_true') - - def parse_args(self): - prepare.Preparator.parse_args(self) - - self.additional_args += ["-DLINPHONE_IOS_DEPLOYMENT_TARGET=" + self.extract_deployment_target()] - self.additional_args += ["-DLINPHONE_BUILDER_DUMMY_LIBRARIES=" + ' '.join(self.extract_libs_list())] - if self.args.all_codecs: - self.additional_args += ["-DENABLE_GPL_THIRD_PARTIES=ON"] - self.additional_args += ["-DENABLE_NON_FREE_CODECS=ON"] - self.additional_args += ["-DENABLE_AMRNB=ON"] - self.additional_args += ["-DENABLE_AMRWB=ON"] - self.additional_args += ["-DENABLE_BV16=ON"] - self.additional_args += ["-DENABLE_G729=ON"] - self.additional_args += ["-DENABLE_GSM=ON"] - self.additional_args += ["-DENABLE_ILBC=ON"] - self.additional_args += ["-DENABLE_ISAC=ON"] - self.additional_args += ["-DENABLE_OPUS=ON"] - self.additional_args += ["-DENABLE_SILK=ON"] - self.additional_args += ["-DENABLE_SPEEX=ON"] - self.additional_args += ["-DENABLE_FFMPEG=ON"] - self.additional_args += ["-DENABLE_H263=ON"] - self.additional_args += ["-DENABLE_H263P=ON"] - self.additional_args += ["-DENABLE_MPEG4=ON"] - self.additional_args += ["-DENABLE_OPENH264=ON"] - self.additional_args += ["-DENABLE_VPX=ON"] - self.additional_args += ["-DENABLE_X264=ON"] - self.additional_args += ["-DENABLE_CODEC2=ON"] - - def clean(self): - prepare.Preparator.clean(self) - if os.path.isfile('Makefile'): - os.remove('Makefile') - if os.path.isdir('WORK') and not os.listdir('WORK'): - os.rmdir('WORK') - if os.path.isdir('liblinphone-sdk'): - l = os.listdir('liblinphone-sdk') - if len(l) == 1 and l[0] == 'apple-darwin': - shutil.rmtree('liblinphone-sdk', ignore_errors=False) - - def extract_from_xcode_project_with_regex(self, regex): - l = [] - f = open('linphone.xcodeproj/project.pbxproj', 'r') - lines = f.readlines() - f.close() - for line in lines: - m = regex.search(line) - if m is not None: - l += [m.group(1)] - return list(set(l)) - - def extract_deployment_target(self): - regex = re.compile("IPHONEOS_DEPLOYMENT_TARGET = (.*);") - return self.extract_from_xcode_project_with_regex(regex)[0] - - def extract_libs_list(self): - regex = re.compile("name = ([A-Za-z0-9\-_]+)\.framework; path = \"liblinphone-sdk/apple-darwin/Frameworks/") - return self.extract_from_xcode_project_with_regex(regex) - - def detect_package_manager(self): - if find_executable("brew"): - return "brew" - elif find_executable("port"): - return "sudo port" - else: - error("No package manager found. Please README or install brew using:\n\truby -e \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\"") - return "brew" - - def check_environment(self): - reterr = 0 - reterr |= prepare.Preparator.check_environment(self) - package_manager_info = {"brew-pkg-config": "pkg-config", - "sudo port-pkg-config": "pkgconfig", - "brew-binary-path": "/usr/local/bin/", - "sudo port-binary-path": "/opt/local/bin/" - } - - for prog in ["autoconf", "automake", "doxygen", "java", "nasm", "cmake", "wget", "yasm", "optipng"]: - reterr |= not self.check_is_installed(prog, prog) - - reterr |= not self.check_is_installed("pkg-config", package_manager_info[self.detect_package_manager() + "-pkg-config"]) - reterr |= not self.check_is_installed("ginstall", "coreutils") - reterr |= not self.check_is_installed("intltoolize", "intltool") - reterr |= not self.check_is_installed("convert", "imagemagick") - - if find_executable("nasm"): - nasm_output = Popen("nasm -f elf32".split(" "), stderr=PIPE, stdout=PIPE).stderr.read() - if "fatal: unrecognised output format" in nasm_output: - error("Invalid version of nasm detected. Please make sure that you are NOT using Apple's binary here") - self.missing_dependencies["nasm"] = "nasm" - reterr = 1 - - if self.check_is_installed("libtoolize", "libtoolize", warn=False): - if not self.check_is_installed("glibtoolize", "libtool"): - reterr = 1 - glibtoolize_path = find_executable("glibtoolize") - if glibtoolize_path is not None: - msg = "Please do a symbolic link from glibtoolize to libtoolize:\n\tln -s {} ${}" - error(msg.format(glibtoolize_path, glibtoolize_path.replace("glibtoolize", "libtoolize"))) - - devnull = open(os.devnull, 'wb') - # just ensure that JDK is installed - if not, it will automatically display a popup to user - p = Popen("java -version".split(" "), stderr=devnull, stdout=devnull) - p.wait() - if p.returncode != 0: - error("Please install Java JDK (not just JRE).") - reterr = 1 - - p = Popen("xcrun --sdk iphoneos --show-sdk-path".split(" "), stdout=devnull, stderr=devnull) - p.wait() - if p.returncode != 0: - error("iOS SDK not found, please install Xcode from AppStore or equivalent.") - reterr = 1 - else: - xcode_version = int( - Popen("xcodebuild -version".split(" "), stdout=PIPE).stdout.read().split("\n")[0].split(" ")[1].split(".")[0]) - if xcode_version < 7: - if not find_executable("strings"): - sdk_strings_path = Popen("xcrun --find strings".split(" "), stdout=PIPE).stdout.read().split("\n")[0] - error("strings binary missing, please run:\n\tsudo ln -s {} {}".format(sdk_strings_path, package_manager_info[detect_package_manager() + "-binary-path"])) - reterr = 1 - return reterr - - def show_missing_dependencies(self): - if self.missing_dependencies: - error("The following binaries are missing: {}. Please install them using:\n\t{} install {}".format( - " ".join(self.missing_dependencies.keys()), - self.detect_package_manager(), - " ".join(self.missing_dependencies.values()))) - - def install_git_hook(self): - git_hook_path = ".git{sep}hooks{sep}pre-commit".format(sep=os.sep) - if os.path.isdir(".git{sep}hooks".format(sep=os.sep)) and not os.path.isfile(git_hook_path): - info("Installing Git pre-commit hook") - shutil.copyfile(".git-pre-commit", git_hook_path) - os.chmod(git_hook_path, 0755) - - def generate_makefile(self, generator, project_file=''): - platforms = self.args.target - arch_targets = "" - for arch in platforms: - arch_targets += """ -{arch}: {arch}-build - -{arch}-build: -\t{generator} WORK/ios-{arch}/cmake/{project_file} -\t@echo "Done" -""".format(arch=arch, generator=generator, project_file=project_file) - multiarch = "" - for arch in platforms[1:]: - multiarch += """ \\ -\t\t\tif test -f "$${arch}_path/$$framework_name"; then \\ -\t\t\t\tall_paths=`echo $$all_paths $${arch}_path/$$framework_name`; \\ -\t\t\t\tall_archs="$$all_archs,{arch}" ; \\ -\t\t\telse \\ -\t\t\t\techo "WARNING: archive `basename $$archive` exists in {first_arch} tree but does not exists in {arch} tree: $${arch}_path."; \\ -\t\t\tfi; \\ -""".format(first_arch=platforms[0], arch=arch) - makefile = """ -archs={archs} -LINPHONE_IPHONE_VERSION=$(shell git describe --always) - -.PHONY: all -.SILENT: sdk -all: build - -sdk: -\tarchives=`find liblinphone-sdk/{first_arch}-apple-darwin.ios -name '*.framework'` && \\ -\trm -rf liblinphone-sdk/apple-darwin && \\ -\tmkdir -p liblinphone-sdk/apple-darwin && \\ -\tcp -rf liblinphone-sdk/{first_arch}-apple-darwin.ios/share liblinphone-sdk/apple-darwin/. && \\ -\tcp -rf liblinphone-sdk/{first_arch}-apple-darwin.ios/lib liblinphone-sdk/apple-darwin/. && \\ -\tcp -rf liblinphone-sdk/{first_arch}-apple-darwin.ios/include liblinphone-sdk/apple-darwin/. && \\ -\tcp -rf liblinphone-sdk/{first_arch}-apple-darwin.ios/Frameworks liblinphone-sdk/apple-darwin/. && \\ -\tfor archive in $$archives ; do \\ -\t\tarmv7_path=`echo $$archive | sed -e "s/{first_arch}/armv7/"`; \\ -\t\tarm64_path=`echo $$archive | sed -e "s/{first_arch}/arm64/"`; \\ -\t\ti386_path=`echo $$archive | sed -e "s/{first_arch}/i386/"`; \\ -\t\tx86_64_path=`echo $$archive | sed -e "s/{first_arch}/x86_64/"`; \\ -\t\tdestpath=`echo $$archive | sed -e "s/-debug//" | sed -e "s/{first_arch}-//" | sed -e "s/\.ios//"`; \\ -\t\tall_paths=`echo $$archive`; \\ -\t\tall_archs="{first_arch}"; \\ -\t\tarchive_name=`basename $$archive`; \\ -\t\tframework_name=`echo $$archive_name | cut -d '.' -f 1`; \\ -\t\tall_paths=`echo $$all_paths/$$framework_name`; \\ -\t\tmkdir -p `dirname $$destpath`; \\ -{multiarch} \\ -\t\techo "[{archs}] Mixing `basename $$archive` in $$destpath"; \\ -\t\tlipo -create -output $$destpath/$$framework_name $$all_paths; \\ -\tdone; \\ -\tif test -s WORK/ios-{first_arch}/Build/dummy_libraries/dummy_libraries.txt; then \\ -\t\techo 'NOTE: the following libraries were STUBBED:'; \\ -\t\tcat WORK/ios-{first_arch}/Build/dummy_libraries/dummy_libraries.txt; \\ -\tfi; \\ - -build: $(addsuffix -build, $(archs)) -\t$(MAKE) sdk - -ipa: build -\txcodebuild -configuration Release && \\ -\txcodebuild -sdk iphoneos -project linphone.xcodeproj -scheme linphone -configuration Release build \\ -\t-archivePath linphone-iphone-'$(LINPHONE_IPHONE_VERSION)'.xcarchive archive && \\ -\txcodebuild -exportArchive -archivePath linphone-iphone-'$(LINPHONE_IPHONE_VERSION)'.xcarchive \\ -\t-exportPath linphone-iphone-'$(LINPHONE_IPHONE_VERSION)'.ipa -exportOptionsPlist Tools/exportOptions.plist - -zipsdk: sdk -\trm -rf liblinphone-sdk/apple-darwin/Tools &&\\ -\tmkdir -p liblinphone-sdk/apple-darwin/Tools &&\\ -\tcp -f Tools/deploy.sh liblinphone-sdk/apple-darwin/Tools/.; \\ -\techo "Generating SDK zip file for version $(LINPHONE_IPHONE_VERSION)" -\tzip -r liblinphone-iphone-sdk-$(LINPHONE_IPHONE_VERSION).zip \\ -\tliblinphone-sdk/apple-darwin \\ -\tliblinphone-tutorials \\ -\t-x liblinphone-tutorials/hello-world/build\* \\ -\t-x liblinphone-tutorials/hello-world/hello-world.xcodeproj/*.pbxuser \\ -\t-x liblinphone-tutorials/hello-world/hello-world.xcodeproj/*.mode1v3 - -podspec: zipsdk -\tsed "s/FRAMEWORK_VERSION/$(LINPHONE_IPHONE_VERSION)/g" Tools/liblinphone.podspec > liblinphone.podspec - -pull-transifex: -\ttx pull -af - -push-transifex: -\t./Tools/i18n_generate_strings_files.sh && \\ -\ttx push -s -f --no-interactive - -zipres: -\t@tar -czf ios_assets.tar.gz Resources iTunesArtwork - -{arch_targets} - -help-prepare-options: -\t@echo "prepare.py was previously executed with the following options:" -\t@echo " {options}" - -help: help-prepare-options -\t@echo "" -\t@echo "(please read the README.md file first)" -\t@echo "" -\t@echo "Available architectures: {archs}" -\t@echo "" -\t@echo "Available targets:" -\t@echo "" -\t@echo " * all or build: builds all architectures and creates the liblinphone SDK" -\t@echo " * sdk: creates the liblinphone SDK. Use this only after a full build" -\t@echo " * zipsdk: generates a ZIP archive of liblinphone-sdk/apple-darwin containing the SDK. Use this only after SDK is built." -\t@echo " * zipres: creates a tar.gz file with all the resources (images)" -\t@echo "" -""".format(archs=' '.join(platforms), arch_opts='|'.join(platforms), - first_arch=platforms[0], options=' '.join(sys.argv), - arch_targets=arch_targets, - multiarch=multiarch, generator=generator) - f = open('Makefile', 'w') - f.write(makefile) - f.close() - - - -def main(): - preparator = IOSPreparator() - preparator.parse_args() - if preparator.check_environment() != 0: - preparator.show_environment_errors() - return 1 - return preparator.run() - -if __name__ == "__main__": - sys.exit(main()) - diff --git a/scripts/android_import.sh b/scripts/android_import.sh deleted file mode 100755 index 236371cd3..000000000 --- a/scripts/android_import.sh +++ /dev/null @@ -1,30 +0,0 @@ -# to be run from this location -# after running : Pick the first section (in swift) outputed by this script and copy it in VoipTexts.swift replacing the section marked as From Android -# look for strings with appName and append at the end .replacingOccurrences(of: "&appName;", with: appName) (just in the swift file) -# then pick the other relevant traduction and put them as is in Localizable.strings (replacing the previously generated ones) - - -cat ../Classes/Swift/Voip/Theme/VoipTexts.swift | grep static | sed s/@objc//g | awk '{print $3}' > keys -export sub="\\\'" -echo ">>>>> Master to be placed in VoipTexts.swift replacing Android section" -while read key; do grep "name=\"$key\"" ../../linphone-android/app/src/main/res/values/strings.xml ; done < keys | sed s/''/' = NSLocalizedString("'/g | sed s/'<\/string>'/'",comment:"")'/g| sed s/'" tools:ignore="PluralsCandidate'//g |sed s/$sub/\'/g -find ../../linphone-android/app/src/main/res/values-*/strings.xml > stringsandroid -export sub="\\\'" -while read lc; do - echo - echo - echo "Treating android: $lc" - echo - while read key; do - export frvalue=`grep "name=\"$key\"" $lc | cut -d">" -f2- | sed s/'<\/string>'//g| sed s/'" tools:ignore="PluralsCandidate'//g|sed s/$sub/\'/g` - export envalue=`grep "name=\"$key\"" ../../linphone-android/app/src/main/res/values/strings.xml | cut -d">" -f2- | sed s/'<\/string>'//g| sed s/'" tools:ignore="PluralsCandidate'//g|sed s/$sub/\'/g` - if [ -n "$frvalue" ]; then - if [ -n "$envalue" ]; then - echo \"$envalue\"=\"$frvalue\"\; - fi - fi - done < keys -done

2It^a}GD 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±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�k!~#DlGR@n> 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 z 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 z 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

ecO;}(7Y;*t$^MOBhlv8+y2}ywRaiIG` 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̎=bh<&6=S2zGwGd}&nJ0b#J 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 diff --git a/UITests/Screenshots/images/call_stats_view_pause.png b/UITests/Screenshots/images/call_stats_view_pause.png deleted file mode 100644 index cea2fedc19efaf7b9eda62903fea621fa6dbeb38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 198070 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

+GKkMpG!AL#!oRV%&bix|9nPtL>xBG<&Vj5p_- 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ℜR2uZtz{BK42e&aaUVQS6zV;c=HD>AiQKXX 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 Zi;8P5BuiAMP{IL!vQkR#N+gUv|9`!fmS6w? diff --git a/UITests/Screenshots/images/active_call_view_remote_pause.png b/UITests/Screenshots/images/active_call_view_remote_pause.png deleted file mode 100644 index 740eb754e8178462e2f06d3d1d545d29edec3d65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147873 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�H@gbuWI3 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 K82fwB`?Qk`(KU6tGyUBpo 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 G!2bcLaw9|l diff --git a/UITests/Screenshots/images/active_call_view_remote_record.png b/UITests/Screenshots/images/active_call_view_remote_record.png deleted file mode 100644 index 01b45d37dd08deed833923ca9490ed34f1586249..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122282 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

9$a|D(+VP|L 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 R>mKl9ZDIE#{?x@^{sU?G0h<5- diff --git a/UITests/Screenshots/images/IO_call_view_outgoing.png b/UITests/Screenshots/images/IO_call_view_outgoing.png deleted file mode 100644 index b447283c41dfa3c2bd2ddd122f6fb2775595dedd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124185 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𜹋j>)anQ#Zp23p!{ury|9 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

$s1RmQy76OOgs(jn$ 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

Vk_g{QOdb4$V?IoC<4? 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 z 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

+t4NEn&|n=`GltcGpDX? zW7(Lni}&5rk<_h7H2)e#k@`@X|;%qY}&(;>hDaBqN zYr^nwxvYaVme*S#8nYs4jc#bxRY}fKpyX#xxKNr0ZM7GN;B6{C=ybfb7=|VGrSnI~ z7xl2VZ6~{QU0=%^j_*(UaU<7oW?<&aF8H08i~OH5G>Lghx7$q zN8tiMrsmc#MZ zS~8Sfk73&X!hDgT2rMcXhYG>~e~f~B!cc)Y1r!Ektf3Av#d=4EBD{|~(%+wi+L;=G z;C7Je6DG$+3gG`&1nrFp^YcdF!mvo}Ulpsu^ud4K|1ooH9vKMy55>p=ocl2WFo)V0 J*BW`n{Ri1W7f}EJ diff --git a/Resources/images/file_video_default.png b/Resources/images/file_video_default.png deleted file mode 100644 index 9a3d1a3014bd81e152e8f691b8fd1596b54e9323..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9006 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 z zZ@rz&xNbjYeDCmWFdI)m1eu)2geej$9H`3Je_UT`ClL*@cok+wF=L8+J ztSF*QVV>~#`KtU&>)>A!CJ?*B$G;yAs-)~~S9zIHFB+(9M(sb`7Y>EYO0co5-d8`F z9{Xs0iCeAU;ql(=!3UChX`KU6%{zXayx4%Hb9o9$V;wp)7mf2rT-?G&;H~wne5>x{ zaW(@DbV0ilu@6h;?Yzsg)Z!}Jw~X0xM6N)S-h^)PmKd{!T<_5Bm8yBFq!msFxAAq# zWEXE^)ZnJ3NQ&DmXB{86FCN5X;Ns&lA(;$8IW$G2Y4$e}b9<$}%6gmdID1O$@Za1W z+)rUeOIsFo$T2r|`BlLfm$b&~WNr6z<6tVcWNTngh-d0a74QnjJ|gfbVXJjj4ifX*%%$|!BAl#u+-M;J zN#(3hp8lHp&xe5D4+jIw-TT+_i9or~PVAeqYz89GW?;NK9&tB^u{;*s!h&1WS7(U; zIT0A}%qqY6Ybu8f1du(AuqOg$>Rh2Q(_)x{} zIB2<_)?xH7NexQRZIn?}Z?l|C`@%R#O_%XZ z4dhAQ;7q#Z)gePP24`n3lo9A7;NQ%1veig7!OUYT>njo1rI>Zxrci%b>7H|_LIqs9 z)@gg5FVjRs9SM#m0yAs{5o63mfUYGsQlV*yi3q$GG9UuYM+wl-Q9dG&W0XP!BDMC# zIAVdpwI+2Upphj;1c2ym)9H{1!eyj20m8IgY9~zY*|kgr4#;p7`(%7yH8Ni9fb;bi z<=_}^xsh{y$Ez!AYA?7X-mi{4g?4>Io*8gOX*Mo>t%2XYAY|C-12_qeJ!R#ON!*n# zQD=6;l&uGz2Tmn2gtJB}g^|YR|1ma)LN1DZT?p3v%> zrNHX*y;L!wPBL|nirrVFiji-qPS%Yzv`E>XqO3>o$3a@j8cG1M{*C7w{0A%h@u7dZ zW)6eFZyqJ)!MAz{TuIBN_T&9hM&^D=-2to}zMeTpQ?u1$puZV2B_np;3lN?Q$o{JK zFex`uO?XJ*ASZ4@jtErhA589dV(p~jo3y_!$geL*ne3@OeCOuAfA@=|#@TOo@R9yK z8=o~!2_d?QGN!D3>`1@D(v_|$DKy7hk+x%i%~iz@?hON+l+RnIyrId$>#CLw9d)g=R{2N zlDHn`#j*2Wq51Cl5x3Xi?MkM6PWtHO7{tSFv^c=d7sHr!QKx?{Yow*^-vsn*2KT6%Q2E-sw>Ph1 zCMk#j+A-)mfva`GVm+JML$SV$a-Gu-OVbe}RCk_hk|7|$e8<}J(z3ly-KJ?Pg}@Tx zRg~Fq+?anRDjn!3Fm31!Hxd!mlM#x4nL5~Tr0 zMkHRh3>Uta%RyFWwz-pAXe4sX+5$x`Xi z;-3k#V6Xg|;c?AW^neQO-N-r^7%m z2HZ^3%}Sq#uxvo@kWN~V>cSB|&Y7}c-@@bRt^VJ5%XySc!l}2O8??fUU(BDqo-i(< zt0gHR=qplnTC%g+zqPZ5r5kYTd1C2aOGDXP{DsHm3e{-l5vIpEG@{?|_mAhdO$U5O z!+qZ%ENMjjNZ)jWt@`SN>p6`*X)*a2#z~6F@+JgAu zq|Z@ed#SiJElA>o>aD!O01d9jsP|7lm6!J+nDK6jI*dV!0u#%f*5E=R=4relzftzl zFj&52?#>{q?dM1=V`%sDX`31o>f)LHmF>ZW@v16A&!WW2dNW27X2r#qw@RsyE2igc z&Y%MXWSH(D@VXB?yGm>6M-))R0}rs)yb0xqt7Kv6(P8Df*tQ(J@yggn0*rwJ#V?MKkkhj z@n(wlc~@{XJVyrUz4yfbB@w8d*MRYQh6LCmk5nHTIJ1JbGNH0}9Wxr$RrSY%89GMjeR8J{Ew)k-UlhE3 zT`;bpe^-!2$|8O$3?=M>KkovENj0EDFs?{V3@*R~jWu`j_VYpmO5$+Rn|0xY5Qt*= z1EuBb<%>1`g3wFYyfnP7kA>o=sAWGnmX5riey`6oWFkb)OUvQpv za}W>v7d$xDepqxs0Evsj4%*Ke#2xt;+^;MU3QG9AWju)F{ZGiBgkXd>F@_4P?6HSIE%?7^{d7E%3z}d;&|ZM-*ZxjB5R3Z*YZ-vX z{yt-*#o_<@R!|g&BM@@nhcrSQuKXhfw)IB}9CdNHtPBaDOv;ic#eNimcv8M1sG=wf z3aF+e4RJ&&fc5i`>IeVRfJFKFg<>&o?l{0C(Af)vf}isBcEb47B_ZrVnDXy1mtTDL zhbuV;V!Ut?7$5j41$nqG)+saqRyE0cN_Ia0@f7QgWSc&fui)EIDjgMIXWu^5_#a{v_peQl#t<(lWO{2vY%b2$J2 diff --git a/Resources/images/file_voice_default.png b/Resources/images/file_voice_default.png deleted file mode 100644 index a492d31a5d0ee22e138b9fb34d1e80d61029eef1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8605 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 V*ioj|%~AqDSNnukzUHaG{{kLLEu8=W diff --git a/Resources/images/footer_chat_default.png b/Resources/images/footer_chat_default.png deleted file mode 100644 index 4e0d5286b2edc7737c612aa708a2e9973542edcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 736 zcmV<60w4W}P)D&43UT!@P<3RxuJLfmvAlol!|r2!QJ6={ngZoFWLQYduM zt&5-tY4DN@p_TkW8ZSwoZYJ>gkv9LI{CPJA=DcU#Gc#w-Il(4STYv%JdEhDFQQ%=< z8JGp8fggbD5wXfvpth^;s0;odf2q@HUoF{})KlssjS9V@E~b-N^#k=qwX4Dlbx?gz z{U!O!>PS5z52)k0XkI<0?yhr#E$V9}(J$5Zdyzw(Na9uXu`Q;*L;WKCTvm5&L^_d# z$$F!?k6@_h)89mO@=5g{^+&ahCO|E66W^$J)aPg-)IN1Zol*mJpSq@g%??04 zo6#LAfY*T*;6gR;z*shMy;ug`kBI+Dwu`_hFpT@12e#N;5XnV@K9cLgTMsZP0-@M8?n$>qj=Km*P4{#f}0elZ!iinwJHu+s43JdR8 S--BfU00004c;P|F_dQcPQU>xIB?bNV-na9g-$V8Yii9j%t3Ev{BMWl0J3Lom58x zs05Y+d&w{U0p0+{bOfovz>7e0grTQ_2B03;3Ty*@1CB=${S3Ia7^J!YPXZ@07;+Za z1UwDQ04@WPt>_yFOa>kU)&l=#(0dN31qK(2ST*oNhL_g^OMoHmd`Ayp4zSKU%Hl9E zJKx0SX7K8IU{ZmcIUINiIFshR&$Sj2xx8eV4~q~Dz^z4^-&Nj;>E>cZdlWyDM(LYC zuOcsC37`fzWo+5lCR>1~jG`8xrh~Vh8-W992zJXw$$~V?`7D(H{9N2)>{|o4n9gI( z@V5XnRYLFt?T5od**bLvcA8ELRDu9T0!ITon}O=qIy`EKy{-}lFyGkwc_zWW#uI-O zdsS>B!FLV8Y3YQXFhcWG1^|YcZ`{pRpfj*P5ctj?V^k&tpEUzBK5V?xG|pEU0T}96 z^%Pcxjc*4He*;}rW&l12I2-^HNgsYw1G$f#bIlRT#zB0iqd{WY@&bjv^WNRhe z?w$CAO|K z2G9Kyl6nU}G^xCCEO_pn@G+gj*)k`0E}W|gGg`gMoLm@%$C73!2jsA6_LsDv2>V>E zbMB`|`ToK45drs@ePu`_xvfRo=bC_vB5kS<`mIj*^@+Bx@ogxpQ$!=f(5dY#EhCdzFk0bVhMl&-0U z`%IkQQf9;|Okw4{u(6LRZhTT^UCRy?y(AzzPK0S*Z-|T9TSRm#;!fUpj;L805%v!RUJrdvYBJ} z|3|b{;pIlz><%E+-B)<+1%SQnnkv3r8`i@Y7m-wFU{Qt(Jaz58IU%5vNmJJpfm9{% zh}n|D`zSBOmWi`{fs8OY!^T#OS|aH-N!ulTDQUBF?qJMEucQf*CQ6znX}rnnr0|QR zd!2LZV;z-^+}zL(Nn6u}kEE577W$uVmQ>^08YJ!UPC1cE-1uBarOz>D3$Oi>mP>ls zId>*s;c=-y;-~O!hNb!I4B^vWZ1)!ry5u|V2dAk8%rY`}`|C;}PGz|96N47udw&aX zY(99nG{mMzdQImqf~K&}IX69Me_YZO)Af*~IsSNmjijsmoE_w|QoVyz#!*SfCGGNa z=|?|Dn+ml`jRxLH6H;~l`o;sm<_uon(C($VK%_1PzG!8h?8}mNyT4>}E`Hx=%T3l5 zz)+Pil9K+6^@F5sI$yzD<(xZQ>Zf$)_o;=Fu9q~@?>{{xHA_0^C;K;&K6K7CmQ&*B YKi`{_c_v53O#lD@07*qoM6N<$g8kZ-_W%F@ diff --git a/Resources/images/footer_chat_disabled.png b/Resources/images/footer_chat_disabled.png deleted file mode 100644 index a3168743268cf5eac7fc783cb6e7fa03a83955df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 737 zcmeAS@N?(olHy`uVBq!ia0vp^(jd&i0wmS%+S~(DEa{HEjtmSN`?>!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZEE?e4%tiFY)wsWxvlY$-^hu5pvUwfr0Ugr;B5V#p&KFp24>rBw8M( zKl#|ixS3^l*WXDopZ?c-_N`=LY7zOZq;O=~(~}3=X6P>JUtD?h?)@GSo8U!j7cbS* z68%+Fu4sE#be_V@dGo9!G*cEeTw3|qphncYdz))3w|SoP&lh_$B7UwQT+Wjj-|5Ct+pvBZ(XzN z``^?Z;+Jnvj`sYVyq)*pKZ|148E>R-dTk2X{=n)^n6tpIb6d{1p0=o;bK~$z+whka zL64ly2bnb2eAC zns!Mga?$F*i@m#)q&Q|hzLRCPde>5)!?{ylM-_c}mnS>Z=G0WXC7vziC9fYDaVx7w z?V8#wu|57mp(LARAJ3Yl->et3gId?gX{EL0Y;B8nMaufd{FMB~uirJH$uvg2>RRfv zwLUXN&&_SQfBE0UE89}9t!(oxW-I%;)%41-|0fIn82OC7#SFv>KYpA8kvR|8d({d sSQ(mY8yH#{7_6MGV}zn1H$NpatrE9}8>go90W~mqy85}Sb4q9e04L=!^8f$< diff --git a/Resources/images/footer_chat_disabled@2x.png b/Resources/images/footer_chat_disabled@2x.png deleted file mode 100644 index 8ef385c951954c39e00f932c6dc3ae1521879a85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1351 zcmV-N1-SZ&P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00002 zVoOIv0RM-N%)bBt010qNS#tmY4c7nw4c7reD4Tcy000McNliru-wPQG4iSh{*+u{W z1UgAXK~z}7wU}F1;z$sHzY2+f+`J%)x*m0BX3zfrpR)U~XD-gFI5R5BT_8YeAJW7G zGHk$1y%^f=`nsyCtGZiAENYQwi!E$22r$LNWz0yXNp(m93>4U*#P&~nkLc5(E8ZJ% z>Tp06C(+bBT0F?hhB$SoQ(fwzOqiiS1_x_tSeI`ySQDp0ox_N-0X_PRa780i%2A+5 zDblyatxOW*G|vV3;OCGgt@z==2#X5)RDy;nH_}Rk(_PMkx%T)beG-ahISje~fkxO9 zu{b@ZZa!UZq>~gCjL&gK$^7VYC9@ScJ>}4RK5-lEnivQ*PL1Y1pTk-rI6dLWjA+Qi zCa6GDk>9Zm@YCyl48@aH1K8EuU?6?|!3Chm`Rf7(INjzffVJNS1CTKv@uPV+SfDvh zEiQ~>Z_uO{G zxZ5oBS4smvQtAe$LKT1)o>PY*E{^~dblbOX#}t_R1jTO?xi|J5%y9rS+P{V-E`BQ9 zQEY`W0G;JptlJ!!RZS{NGiD>T*#T?{HhGh5;*#+t*|m)+>t9R7YOcFznf(TF6*#5E zlqq8Xa<;*FCc{PL>q13OB2Te}ctqC6`L3KS7D52&leo10kNCzomI;OQw|7*0{h4)L zwW%22S@_|#)q~s(~g~zO?AzQc(i30)9%c1BcHBLOhmnBdu=-o_3xNFgCGAR z%ixGrytR?rmi(df-954y;$Z>hn7ndJeeJFOEaRoNve7cI#nT=YU`KBkHOq5KCCNWs zd-N^l8Ewm?>eNLu>;cdf&jOy!W;lF<&Q-E+5@8c8keP8=S&P5KHvbaf(w(1GewbZ< zs_7T>W3#8fiyEAa@sE3jv>mENY5c%Jj~(J|KMN0;uxIFXqY}1 zn%_iq49w!vB(KN$^*N{r(!#%nWcZ-D^_9oK-r~ynbrwDId(5P53CI@P8NU+&sM| zd$?Id3HuxeV_*2ZSkxAAf^K%)Q-^&HLM7{w#_~aV5tlWv$gH$Rg%Lga%Y{=j6ev=r z5b@Eq^x`J9h}$!NgF~(gXH^+3V`ORvuj#jxTeTnXz6==UHt%;Ttv4x53B%~L>7O>9gpc1 zL7SrpEWE)zn%s-KuFBQ8csIS!qM7_jJE@2YRSM*>$>1?%NS{u+HoeM!`bAhoAHX?| z0000bbVXQnWMOn=I%9HWVRU5xGB7bUEio}IGBs2&GCDCdIx#mZFflqXFsYX;G5`Po zC3HntbYx+4WjbwdWNBu305UK!H7zkQEiyG!F)}(aG&(UiD=;xSFfiE4l#T!Z002ov JPDHLkV1h`FTtEN- diff --git a/Resources/images/footer_contacts_default.png b/Resources/images/footer_contacts_default.png deleted file mode 100644 index a741197191684333a05d0c5449026125914fd9dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 713 zcmV;)0yh1LP)<3l@3xFZu1#ms3RA45dwyVAV!&miX z*l|2i+h$5|z4}=lQ!l9-GV>eNZuO5ksCL#WxLAFo{!;gp;O-6HfV!v_(KB&$$IIlO z2>$761sl|1wNK5J>625RsYB|#sd&>ZwhfpM^rV!E<%kCF3eX5_twwZJ*ryd9QeW7% zYDDv4$0`&Z&G=U&`aZMca?zIYuPBjP;_lt9(C<#%>E>!P_?B8!x0K263jWPn?&(@} zM15N-akq$A z>Y;MP=0;IBiu}=Xt5K#Z9aF!=Iv3UYsmS%}?I7M)TWV|;OVmQFcSFrjMmisat7_d0 zwZ%E=wOIFTc5-)26ef+RHsO3Uc-5T~C!Rz{S;j0tU8(+1ACC`giYU%8i%>6w&W0SY zFUGr>U0e>k5B0A4bEcA~L{g2aw{k!$@G+(IXEsGsN@Ktv(3*?>m*@W=5B$ynuYjfM zNwu?7xvSz>le$hl1vCQ#Nj(7c0OO_VEAS9_6aftYuTx4N$`ELcroRek2Q~tmfu;$s zibE;LjlgzbS9FUGAe&e}fgixP_^$)T^I%at;<7KmF`ysl1?~Zbl+tjTBH~714X_ee v5q3Gy04$uuP)&b7l=OK++0eGtdAu1IvIb zKo4*c=rG3gP^yqrC+T@fKT4WZeoRU_A?Z0uwWUO|R?_>D##9)_Z2240PISGb3wel) zNa~by)LuvOeA^@GwzLv`SkiDvrN5W-w4|GJlv^d~8QTCph9y0iHljO1#^rC4w#`yb zo21j8oC!$}rG@B5Nuyo`-;^}JKzZ|Rc^9LSHY827N>aC1u{}kSz1Nd_Uee+u$-eAW z=&d5lf7_G)Vp2rwC0%tY^0TChBI{Tn=@&=GkfgdK$iC#Y`h5}U+2-kaAqld-Iu+=M zSl2N}*QvOPws@`mWW@S*dHQZCL{3nk{w?19=MlH>0q_3KILS6U`76el^HDN2#+(KE zokzFENw&es_r^4Ox}AJooMda9{2wuq9d`1SagrTy^3^esbsP9{oMd}*bm=Hj@8mDV zN!C?XBdICksizrOo)p<{Tw@8eMf|I_Sv?sXihE&k#+l^5i&)oTM^{%8%f(l{Rm~j{ z>AB0(vo8smBp_*@*Xr#>mj8w)|CJ;+?={v7==y(mMC8}% zkyMkkYi4hVN3eR1GOI&8m3xvTxz&zSg?IxSieL{Wa=2yhjg#a`NuT9#Y>!IXStLC> zL%fz5d}V3y4~b-vGw!VrC(Bb@Pi)J`z#+-uMA zOCOZ9yjY4h=ZN2YD5)`KJJBTRlN@oOO~o)mei!PK^hm-pz+;m7Lx$2lg$lesBjwRu|(3i^Wrti0CwY$!8J)$0k9Tu9c5oo9&p2`6+mkMtZ^Pr0w>Fa>`#E4 z`__Q$SnDNY%uqQnHO35(9bs$^$c~QnQ(owE@-+c4?mP&}jI7INJODMuFR=YA7>@KW0ze^ON87Fk{*!su3ZKCSZ5?H zuvR!1sY##{IN_vI#+Z>L-7!EbupU@vudB%pSiATWs5Q3mcAy=Y>B%txzuQL0qzg=i z|9gO5W6anb$Sh>)tVR?6|6`=Z)~^Lvk%yR%PGGk&=78~(tOB;$bT?2nhaX@97y|wR zM(j0%O3yGZ1{T@t5@0S~{;NzKgE$C$WsEuZ-$El#>sA1pfQ>e709K}OxOM|S0LL@Q z7&9Kas+wi@s<&fgwe3=w)I3{Rv+db-*mT)+1~?6zG{(&Mgq8Y1vi!V8dG(7yC zDd32oZr`HEuK)knzihS2b)RFE%o?=tNXv%f+;%F8nJ?q!z1jRcd9%~gOMHU4 zJkwfMo>}$HgEjk8BSXZ*$B!6_^Hgi6tva7BqxNSKYs0(?%iYh3d(K<(s>riByOaB3 zN59U_NmuKxOqn$Av7wgJgc*Wz&yQv_u6k(7`CZg_r~1P6%ccn>NQC?FHFCBsm}l15 z@@i_%zUu*uTiR}Y3g|A0wA&dH80Meu5aO&nrBZk5oEZVl&dV7U`6pdZZ?)EOF7>{U z+VOOqgy~Y<xIRt3*{DfUg`!K4q9Ge72u?%K1|^_+*A>Z(K4RZsq`_^0ZS zSo~Fr<7WyP-stgk{&i-D=+m33 zr+AC+Wu(vj%2X|LC-F3^gzdt!5t|+>G^F%=ylU=p;70|=?7y+j(y1Svb~$89O6l~! zEna_L=KO*aryoQuZky6JFZ1_}BVE6$+Pq&0T~1|q^6P}MrsPT;euri?Io%p28HY~R zD;E|zJ7kCNI=U%pI;+KuyWGM5jGi~nyzzH>a>nC}M-CtU@V{~GhLn^gDJn_ZAJ+5K zEKYWG)V>0YY1IZk(FZ2h_me>FVdQ&MBb@00sjlrvLx| diff --git a/Resources/images/footer_contacts_disabled@2x.png b/Resources/images/footer_contacts_disabled@2x.png deleted file mode 100644 index 1680b9da7a32117111395e55a813c2faeeb85daa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1327 zcmZ`(X)qgj9Q~(?s<189ier1KqsXzfOR&V5sH2Efk!@@op=d~0N2y6G)IC&5Nm|#o zan)7SG0wE>sG~|lx1#Qf8S9Q#+4SRn*bndb=Dpv%dEegstB$sEM^%mj0OW93D;F^v zf5(x-;(JRMZ78P0{ul=g05uu1d)|^_eTIy6aR4CtA^`FC0Qe%d;+FsjM*y%)0sx%{ zz$t1$v$Ki#ap?CewpQREF=L=ztYoOz>ojrG`|p5QXyr$WO=&vL!CG1%3xmoZPr^^w zhzrl*tT1@@?l#uVYbv;7%*PznqYPy@Qe`l7ZG}^Ja3EOmGmr^v4N4`MlSqMP_DI-? zX#I|pr=|Rwzp@(PV{U1M)i`sx#~?$7Z1Kgy!Ok+sr@gwLe>`?Xz7QHeV;~)}RQ1dxdtZFHyDi1)t8_mWkk_jg8Cv(LK-S8hq;W*Yd~=ckatK%cl^6NN{F4QnErc87xs%TL|cpkZJ5~Ph`uaWo#T-IAzq< zWdQUO=W86mmlXe11!`_wSx9I_P>oy%IgV1c*MRTiejK?8sie&d=d0IB^7huTy9237 zrW@nyD5Gl07l%?^wq(hspi6S|k_{Tc&S1%3L0R9}c5TSsBou9BaWzMBipmhj;2#}w7+8ha!ubsyKn zNgV&-Z2(c8p8&M)4`6fop?6=d1P?klb z!s^NOAtCjf5<#Uv7~?2<#KyaitWrKdNE7*RMu!%v-Rd>)G9K!`x{l0<`_Jp~HT5k9W0E^sige$s-ajDS;%^LOYb?0TQ${j z{VZFT{OFodPe|D4M!;0hNYlYV7kYz_>ZQR_*wi@+VG$ReGrrEkyG{Ky+Km>u+H5YZ zweB0~>4&Ra&ST@{Or-4Hq7y9TG0aWa@S^VvWlOaNu5;=3@-s?b3S^>`H=|gGw6uZB z$iNgQoqps^D^AbWStsZ*5_n86R@EShJNyKr9uuu$Wq&_Q;>pBVC$HCC&Xx0dB!#xO z8$Wh+)TyI6$lh$f#QoWs^hSHh7)9R+VJ!BI0S3 z_rQg(o4aO0C=Poz6fWKmph35Gr~7!*ebMAFUoim`0%@R!MCzdo@JJLIc^QrT`Yg2eb2PE%lK diff --git a/Resources/images/footer_dialer_default.png b/Resources/images/footer_dialer_default.png deleted file mode 100644 index 77f32be596aeb0b5fb4c1c756375ef7127e74719..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1090 zcmV-I1ikx-P)Z;Yp0cjfBn`mtz%gKvb@Ob{I55|`hrRA~ z|3m| zj}=FOL646B=O;(8(ih@y;5*>2{Ahu5fN!n;6&Of(n+wpnz)QexV4od)UUn1$ZUsIC z4gsG7%WGgN{Twc6Re5iwG00dSF|%OxF=G#C-oz%-bvY_5~( zwpg| ze_g~V(CRol0Xzdd=8HB3EECXW;hKc_5?~D2YPrS4A7_8jY5mQXU$eY8!L&GOY%fV# zDCxI|*muT}5kE=lmDFa{Lie9#?kVKf1UDQJ-y~c|CG|*ZD@huVGzYjev1YcU`I7pr z8g#!n+w6MxhusfIngv{ua5YI`3&L?V<)c~#Y_hKp`1T37 z5twvhSPd)(y3KWevHKc3wrJHFNw?XTA#Hns1sSd*$u2nKY|P{A;^dfiM8r^y_^Fe0 zlcaf)4oT{ch>04wxsq-$|4#euf5;%Vc#Wi6oI!R;>WqkLX7QDN78DtzDX!6!M2rilbD-jKQT2Ea(3p@caqN-w6Ts?pBj6LyO(tADz>Kt%zw4CL0K8b# zC6kn$Rfd6f>lXRejTYs@7Y$$w(BzV{>C6+uC1W%#<-Y0zz<$fudclV5$nLZLF3TVK zZ>DEl2Z4hnNfk*|m+m6!ku>T#C4F8AMzZ;ed8!%Lh@^^u=WN~j#F~2?z+Fkk9|QV< z3yaL)C*bKKV*pQ^>&b-cPIGM$Fw@xsXM>`wA1jEx=)t69d<7i0{Ct9G^pO?s&OP4f zxZ_v?W&xWGIP6m1Tq9U-a}68vhWFOM%=8nZ*M5H+Xpy9U07|`eo=Q^+-v9sr07*qo IM6N<$f+DO4h5!Hn diff --git a/Resources/images/footer_dialer_default@2x.png b/Resources/images/footer_dialer_default@2x.png deleted file mode 100644 index 04425a2f7de6d3fe2104507b0b42e77f940efcff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2246 zcmV;%2s!tOP)>w>mu}XgsfEy%MOs{F zp)DOX0~K^!S;VP^O@=AU48Q)-`;qgVx$pAfKTX3)CYkp==X>6J-}l_JJog4A1Q;pl z3Q1>4>Md!Pq;-;$eaIglQ}Ex_&!tWMy5U_eQ{iNN2BS%5X&J$sJRFEP3uz)3k+J)?V9Wo1RuXk+to z2w_V>;973}KSk0Yb3Ia$4K#l!zFwD57(zId1r$Q)l=Qg8sz~Z1BQF%@b@5>X3cY4Mb`H8dL58MOHi}~}rF>2RT zP#)wy%F90BoE#UK3LL5f@9Q~OeWH7pm5soAlvpp{bbgzX%|*3f#G4FkE5PaiZYqIw z3h>(!6Z>6O8CL}w1N<0hbG6*sSim;a(W0CjJA;3?DrhTkH*jX1Ezk5=Dz>{SXlW`= z6oK`Ri?u=TQexm5;Y+OJ#0o%D{0llE|7Q~N7O|wEhGy6rLf|;vsE4Exl1_~@!}btD z`@3+Pu>o)-jsDkCkl05@jFh8Wp? zULxGS1xzb3n7P0^1z1O867E@mHMD>~IacKWXQgu7@;VabVPI;`VCLnJOeuLV2Wvp0 zI?9tBzz_>?i!(SFbKQ){I(;U7dMj;lU8Wecc4zw+;96h;FgrH9p8J@WF}bA)&shLW z0WOXmc$>3%+_w9ce%o`b=@fEC3;2%vYDJ6ti*7)T zMmNss=9Z{{IG0`RPjz}?_Y9i`vN1!IV@mO+g za&}8C3jmCbl!%qqW2IP(S}!NEeR~Y;oeAB|IWBTnMpd)hh3l$p$f6X13tc{}%H9~= zy&M8AN_F5blqheG0t-tNxn((-4K?Lb8gFKT1WL*NnjM}5SFtEjK2@c;OwnxcKAQ8w z_C!{#cS)>~(fv|h)D`y?&MxfdfIgBgl{7BWD7**1#^1bdjVXlJ-d2BEq9;JeENY z?RDJFr`;ig3UIx9VeLRu^{dr<)*Sa3?W&iR37d_ML>iodRRLDGvaZS5c;f210xHqU zSN-{o&aA;0kh@)x+RNyg+yibcilol|lTN?NZJmVzyk=v+wjybmZRJapF>B5Ly(HPU zJv_%YMKiRxZhM3?v3P$jkv5*TSQSZ@PU|cYmAl+^B`0ro)rnWh!LD~~m5QY8=Ehii zt|~(&xd+P8(jjSl2w`(#;I~Oy4Asfm?x#OJD`yD;Xzt?S|$8JF$>K zG0cx`PYul=>ERGUbDb^ER7oFC&!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZEE?e4%tiFY)wsWxvlY$-^hu5pvTFsA;LEi(`nz>A6?(gJ*>c9DA58 z?{Gk2TS(Kw%q@mzRVKgxA1XDuY?-g%f7jel2Z73M`ZXpqPp&Sz|MuMbIhMPh-?Kh( z;kxL$xo(^((ebwrMf$ArlDHwTZmx@@WZdhBg=u;AVNc5AxV(9L9!=@eS~{!s@2o7Y{^ zFgnsHeb-4Ll(*r7>ZR=y7Zt2cn{i^_G|sfJUpG~xw=LCFILOyT=|WaZ5mr@A0~-<86)0qSHT?hgL3Fc8vc@ecy__ zEY8mnwO7B-S{B`{|M}-EuA4fn+feYdT_^UH#EjVwe9r4vuGq5nox+KI&$*TywrI<#Sjn9BuVZI*;NOtIsk?GDsBBH-jAM&u>|gq?-^(Z`G|RejhjsM4uvv5L@&fiR@_X<5aOygj89xP7 zZ*E;4ptZ!m(C^c!G}pU70#%~Rp!<&jOfG1cx^>AKsWmDVS%%)i{ae@fdnUhdeX z{u{e49bBwwGUte?VeyI;K8m$np-VRI%v%_6Z+%^WR=@%yyVY9yPio)J)AG5>t5AJQ zZAaj%^yW2^A2PVkE9~E%ClvWP>~c)z-MR6}o_RL|XJxLm?lX+6SpC&wFaM^rh@GDv z9u7~t?r{6i^BpU+OwZ?V2|teb$Gzd2_2h8QX`q~sQ&akY8W=oX{an^LB{Ts5 DzD}6p diff --git a/Resources/images/footer_dialer_disabled@2x.png b/Resources/images/footer_dialer_disabled@2x.png deleted file mode 100644 index 7e467ef9241d5ed9a26995d14d7660a20a38db8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2083 zcmV+;2;BFHP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00002 zVoOIv0RM-N%)bBt010qNS#tmY4c7nw4c7reD4Tcy000McNliru-wPQG4iSh{*+u{W z2Np?0K~z}7?U>nC8%Yv|zesI>(1KXaY6H_upPu)BlbJq-HrN<225m?}Xpg?A$W&EH z^vpSPITIHuRaRs~W~_gv5J(GDDBzgTqboC(k~%6B$uMI;TgLBjL6I^!U`&Tsv2lB9 zoP*jL@_qd=ezWRIxTWec43K4zKSOHbw+uCYs8fd z63VtX_S=Xp>`tD*f#ze%M!ez8SmPiuMZ(#M-I&$(t|a?6~UGG)L3H7g!z6|%sg zDeH1815ja$LmaTHP3fDM3N=&pjkYN08Yip)1@`$KEO26apLvi8Xoh`u065l;(}MY| z>y08R&-`Jl+6~Lz17OCbv?3ErpU=DjupRcdK^}ldxs7}(Q~AyV068`tRb#x3`$@XA z0H|o>-K@F(+3yxWX0|H{W{#wdO@XIJhS66?0f1rB-M|X~88dX={LxNv^~}>N_8v*= z#Fq}DbfT{gXC6tDABoK5>@AgzqQ>XH|FtydEW!%vQVgs19GQ8Nqehw|m-s$j#uY}! zj-KsdD|V5snQiHt$lp zLHLQ;X-1tMP-M&e-;^6ku%zAlIjkDc5`SALP5=+`BjJV%)|PO+@mZ#kI@o6~C2GKz zbaLoApKRZrX57hhiYvp%kjRdRsxN`po+cf#7YsoCmBwD~EcB|AY& zY*WDjGdes=C&WO4EsJBkOi_YM$T5}azu_Y4cf$V)C3dPA@(2?~e`Np_@?@AXdJkY2 zUydxoI1Vu8p;BUxlD&^;^0>@5nq!Ze<=>1BkMg>7L7Qxcba>;Lx-~5TbsV#qnls^g zp1dYzgOeCiiRdTy$O*24S8;{9!Rb<~)#Y1^E6cB`+>B_< z?=lw9T@ForoiA#xwKCGs&$Up0&?u&3)BZw_Q<_CysZt+aKM4K3=I`cS)VHdggt%coFY)xlA~hY zxShiSQEm-|)PnOpqPd?(t#oWLh2X22+39+YK4rqSwdI;K#wo!ZrZ57vD+YQBwy5V+ ziqx&)cy-aUE5n4ekwKB7v!EU>6fR$$bFp6-CYfZyB=J3)m^-IvUd|bcSj5m?z%=%| zz^7uno+h{#r9~qXXDi8TI#VKFO{~`s&1f4bu8IYa?~9SNvL>=qoh919(KbOR3Fuuj zhIZsDnHqH4)YvIOa~#>8e15iVFGmUA9Gb1#PR52pR=LoU0-Du*gA>YQm=eXHaHhMO z0Tr!sVF~>+RL{2UbCWY&1<(~eHJCM|DWF;Yjt4R`6c;M#o&1dL5n{=a3Ce!Nl>zto6Q7WYDf<%d4ASR128q408Q0RAA15>H zvBMnN_PI+JXaKEp5CA$%dE{xa4QYV`s zo_L6M6OJAgt%Q|tTI+n{COQ{smLqCFh6AomS=R1il=>)u#|i(~=sLfcZ-#c!;ag*uOYbxlezoYF(Pl)3iUr1u-{%!p_rfh`k5`l;C42uN4^f!! z7@|tjfY0%ZUoCJE&}VFz8)?N~`IM@w5w-aup+r|XPKj!An?6u#j*qG9;UQn6Tjqqq zy>NiR_W#HaA>M!-HL9$TVMLF{Vx2d>5*w_OW6B#XTFc>s=Gde{0T|Mu;eGojZ!M~u z33m+}0000bbVXQnWMOn=I%9HWVRU5xGB7bUEio}IGBs2&GCDCdIx#mZFflqXFsYX; zG5`PoC3HntbYx+4WjbwdWNBu305UK!H7zkQEiyG!F)}(aG&(UiD=;xSFfiE4l#T!Z N002ovPDHLkV1o9cz3>14 diff --git a/Resources/images/footer_history_default.png b/Resources/images/footer_history_default.png deleted file mode 100644 index 9da3469a739115952f04299d010f3a4798db425b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 650 zcmV;50(Jd~P)h31E!N8nv;@_jb4a}>S#Oi|pK2bZ?*m~8$7MM=; zS$)OLK$ipXx)otw(gx!3z+TKcd(=5~K6_5o3iFk|WDW#v3U@4^^zzg62&|d)t!Z${_R*yeW z0S?E*M9HM}_(!ThAFz^AT4^KDQFW<_Z#Jbg*|5dS>UW?I^_^NPSeMVawykFGdnD3C z6<|@Ecj2|mGk^1BJ zeFYeehqEP<*5i-XE7EL{iqwW6s8^&KKqWNIBj6x#wWL*E1NH|`dtIjBDtpz1sPA2E z_tS#g`sSbgw5W2(N!Y1AZK)iJXrvs3`885Qe;rYOso&!NmI69?L|uvb!y(kyrF&16 kqI>^`!cRHLH}qTPHy$YjRpfAjk^lez07*qoM6N<$f?2LH*#H0l diff --git a/Resources/images/footer_history_default@2x.png b/Resources/images/footer_history_default@2x.png deleted file mode 100644 index 9d7d954b6c023af4947ab456fbf5e4b69e1a983c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1363 zcmV-Z1+4msP)QR9;&&lMLUrXwi^qHg{V+@*2 z30Ms51WuA{`U!X$Xq<7&0@q5~F6l8zbMq7*m2_Itu%v$^RY+POsX{+}?r)EMS*cac_cCSSn;K z_S+tIXTA#8c%$6UKut!-)&ajc*ki!eZW({5e$iXdZ!yMgK{&t@4amlthFM5nIe`T4eG3F0R$DFJ- zNeb*XZKd<#u*xI3JZ=PP0!{gJE1efd%YtZxe_<8DvKD}7U^+>eHVnTq_a*&17Ok|q>M2qCGAUlFtBdbdM9frkTl?A)JnRlOs1YDuUiiIWTmMS@^VN% zkAc7r8k0`unld4~*6ZW_)8DsyN_M0in0lNJyIVYWhp-A*lyRb0XeyrLq8-pQ*-yM3 z!p4jnc9Wzk=lN5&B}(FhDxqaVeNb+J9p3u0Eu%#5^mx1!R;a=HSyS^Hmx!$EHy*Y9 zH?-g$uT?f=jOYWN{;yoB@DlI%FVVA}l!^LhJ!gT%`6@l@wN6(?$bRVQy|s`^Rls*% z#V2Mt(Jh|7CxFUAD_>_%+uhUbyJjiT`+!OB^IaCVwT9xxRHQ(3g(VmND+Jz5GFm2K zqPHd%Ei=6V&JhRo&%{aA5O7PuPd3i0smj~d~Y(DV`(;r1R-m6(eIcq4A? zVoV)2<%nI}lX$SE71)s@7P#Q3)FNcI+tA*y*yG33Zs8W7{}S=WTl215^2@jq*am!= zLryPnL#g^sHL%^Ai`_H{d}U**))yE_z8=^O9QWo;ygBswVk1!F-Vtcj)E$ARbg@G^ zEXBDaFed3ONv|1WPS5n5*I?uOlfM1&qrLr6pM;+Ot9v~r?Y^zTZ*28R>QD2=)_>Ja Vh1(hMDq8>m002ovPDHLkV1gO+gnR%1 diff --git a/Resources/images/footer_history_disabled.png b/Resources/images/footer_history_disabled.png deleted file mode 100644 index 5adb7ce78d584699c2cbef3f134abd1598e17ecc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 717 zcmeAS@N?(olHy`uVBq!ia0vp^vLMXC0wn*;THgYsSkfJR9T^xl_H+M9WCijSl0AZa z85pY67#JFW^1pyW4KElNN(~qoUL`OvSj}Ky5HFasE6@fg!Ib3f?!xfDz5mR9Adj=a zBeEE1({&JLbkdkz0Tg5}@$_|Nzt1hn!zb7ga?_20f$@N+i(`nz>9tqm{i7TO+8?G* zKYVeKpb2YtRpOW5_0#Un&e$_SYf_WSG%cAMaUa|#3N3tj=j@w3*8At4nJK&`BFX=1 z-=;|$Cx-j8C91x6R&nJmwUp3K@k&_n*wE+NqL(LD-U&EA`JjoRtEg#vk#qUN@8Tw` z=~7(ZtrQ(k&G{kNbu%+Ic-dN0+t>w~J3_v`QR@+#F1xGXbC~+n*c;c&ZCfAf)Gb@} z`W0`?TW5)#mqJUezCM1_%X>cWdC;{;k33szKX+pj*YvKPJ^l}~TQ7?&5AC0N*Z=lL z#+V(`vjv3Xc}vZh9ghdtc7A(OHM^r$eV2N8C*Otpi5nudZ7Ah@ix^cXL~7$l}k5RPH&o(_(PUicIPiK)7M3FU;fzMYZAOI z@vP6~3(6A>3e}5ucD@jaIkn|b%D0v6>)d~zvu_SA$cwiwN!0s%u1~pgS7emo=?69D zTbKR2?e@gwvditmuY8ujn4KJW`moGT`RaMP0DSbc<44$rjF6*2UngFK>Cky}p diff --git a/Resources/images/footer_history_disabled@2x.png b/Resources/images/footer_history_disabled@2x.png deleted file mode 100644 index dce58b1fba90e3c797fe1d4b8a02793c43368dbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1335 zcmV-71<3k|P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00002 zVoOIv0RM-N%)bBt010qNS#tmY4c7nw4c7reD4Tcy000McNliru-wPQG4iSh{*+u{W z1S&~HK~z}7&6!(Q+c*$_KPeZ|T%hFAgtk!V184vLuh~;}mqKAn6GDL`)Ij3d2aO#k zu@mRkv-1*Lmgmbzn$c)%SW3iDpg;jj7Jwl>9v+^NW%QVoI4HA6nNq?V!hk*x^wTL! z(MxhPsIrqv-!olq&Fh+2*`Y}dJJsy-$_RiAxtOP2Zp_PySh2KdMwI#t=rO>XR4I81 zl&Dae=zGIW@_Z*^rNl{OU2Ve}kW%F%IlZ~%a<)%4M&Swj;Va*aA3I8K zC<7G={ED&VPVPCP20)#RoKJ(NutEs+xiEJmNia$_;jzzG>2ZVw_7ORs9M*n^ifSd^UlV2JaO5#q`&M0+=3O6#P!=(I*kCl=VN2I7?diOM{;{!>x`Z zDUaJjtXPh9#xBfYGf)6C;L=_2Nx}&pTiep$(2jGMwZL6E02F9VVI@x!fETVe3kBc` z7fxG}pS1QsuPze&bUk~0zA3F0!Ag!Q06p`#1zQ1gkMoS0WXIOl_4oUBpb_2Hg>jdm;< z0EQ`#2WyD|w`?<6jZdpa;y>mbeTH0{=~$piy%NFgNr3qdZh94*&IcU z%&vwtBl%OqOtQqqJ-3oZSsm@1q&;&6;Aftf93dn~kVjU1$&z1I$qJI!QT6QDg?|G! zU_4tq-4{x$YfCLIWfeSYe2vDtzX9tO;lTKoAV8NSyN1FPB3T{Lo^zZB08Dt!+m=+- zSsom=udYyELuDFq8JlMYV8H}gPEi&GfHg#RHJ#`}5S=<2s}8nktJCefM9~76p`KDI zvZeWzsya{GWo$t#{-O4Mlw~)CG*HV207kT3i$ct+9=Y;-+Jdpi8hWpT+RoUvj%HI; z+3<>%hPvj{_y7=MjqtbbMn|&2h$U~s8o@u~dQD^|&9e@);j z>FA2ia2l;NtPHJisvCQIGOL=}+XX(Ss!OGT*0e4KcTCl#W>N|<9P1%_UKMT;(uP$y zxZ~?|6)vvk2!~pqN~}39fJSSMKe(EOBqUH$=P;c2*a~YRa+mjE%HVTpx^cad>&Zn< zB8kp`F8A|`@seYo>KgTARbyz<(v=7xJn=|Bwt8NnLNTIk#CO^&RL?^TnlzUFR?y*Q z{vkchmys+DYD;_>=`5}b{C~d#O=#cHSFis7hrU`eBzq3y0000bbVXQnWMOn=I%9HW zVRU5xGB7bUEio}IGBs2&GCDCdIx#mZFflqXFsYX;G5`PoC3HntbYx+4WjbwdWNBu3 t05UK!H7zkQEiyG!F)}(aG&(UiD=;xSFfiE4l#T!Z002ovPDHLkV1kFkJ3asa diff --git a/Resources/images/forward_message_default.png b/Resources/images/forward_message_default.png deleted file mode 100644 index b51542ec8cbeb4c074a3bfba2864aab3cbecbb69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3732 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 -yqMn_{58s%`-4Ez1h7t_0V0Z*g7s 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 Dof$OE diff --git a/Resources/images/history_all_disabled.png b/Resources/images/history_all_disabled.png deleted file mode 100644 index cef8e42af1a1fd690275d2645838f320e7faedbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1269 zcmV004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00002 zVoOIv0RM-N%)bBt010qNS#tmY4c7nw4c7reD4Tcy000McNliru-wPQG4iNuS>CgZG z1L#RaK~y-)jg?Jv8b=U@pPAi75&|SxgzeZSX2D3#IaMiFDpf9lq{<=3T=QG}fARxT zG2qf6F5h!-B?eZ+vLh>TjJ&`K#4??OKKQVlN}qPS-+s2Ir)O62KdkDqA)UtXx|o`M zd8pU*Ptm;KJ00eg3q;n-pHDvqSkuSd6{l=&7J`Er#I7A}l2Ui%}@TEL!NE%G@dd0~DBv$>nR49g1G$B%(Ygh6bs z0qi6u4_N2j;J3!`X{eeQQ>vscTBPBt2|Th@2}}7;&OQQc$E1wStNI_$4L~iF7NUyh zRY(NS9I$V*#8IvHaTB#pp`=s)d+KTo%u9?Z?Iu8lKmw$TA-5gB1|Ug91@q3Qp>)w^ z4ODJzQ1^qNbeav~s^$ zCOu5#yB(P#Iwt)-4ryG^^nF3q>K$%K&uTrHLsT5Syg1Gp#_uuQoOjn>^HwEI>5-oLcH`=Sl&iUUr3D>RuvNNv z>d#$Se$P|5I(h5lPylw)QbKb^#xwq44gg!B$&o0%Ys);MfO2Dr&6Ac?KO@grHJ#(h znsPn-{v4oX3KQjuJ>83oP3;#&vL@-J*kB;d`lw~fT}hGgl;4{Hz(MFG$arHvoJaWm zf>Bvk_{V8KnEpG_8{->dE>tJBF<*L`Epj&dr8 zg`q1w-LG9Wc5f-VrCi?D-&}gG1ps_&jnm4N1OSFH6Erq9NH5cz9=%TjF4t=%O+v>c zhE_(5gsLB%?9Uvre*y9ht`M|-G3WpQ03~!qSaf7zbY(hYa%Ew3WdJfTF*PkQF)cDR zR53C-F*G_cHY+eOIxsK~;3tLv001R)MObuXVRU6WZEs|0W_bWIFflbPF)=MNHB>P& fIx#dlF*YkOF*-0Xe!ZVM00000NkvXXu0mjf8rC^= diff --git a/Resources/images/history_all_disabled@2x.png b/Resources/images/history_all_disabled@2x.png deleted file mode 100644 index 8d3e3934ea8f264f3a9fa0de34b4889737a3c1e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2694 zcmZ`*X*?8s7yXZA8oL%5ON=c`j|?%^vJFGXE>aoBR+`3|-AsgRnHXEy$}-AB_GIU^ zD@!UNCWIc#H1=eBJs;l>?}u~G@0@$j@BZ$$8)tD1!^JMh4glaXHbPq+v)(auU@XU# zCGC#qzvQ87rVBu2GRM9%>#;`QjI7K62ssY`=@9^bjxEwp00NKzEMWoA$OM4jJG;SB z>$t(>VuC?~quAv4t;dSZ+sMK1c+=Rwfau9Q4>~qa_#2xUoS< z*0u4RF1uk8IN8m2NGE;YV>PauD@kF!>IGrU1*!$b zov~}O5%iyhJ0(D`P(XfQ56$an^E>`cB$rfXah{5M2U0|*DL6yaW>RO0=(#8R2qM#a z_Qn=Ke%(r1_4bS+iYatL#3o8QsoIAUWEOC@(&_cbd&HgJViy5$R@h;CCUb|^9jGS(#RlN{yg!ZK?tY1vuTq-O1ui3h*4ytpFdBxPH}nPU`G1O%%0 zuk}um*ulQO3Q5Eean)p6zq3eSIx}_%^W=A;f{Ks0>p_@$_>{;x{K~f=^nr6*T}}al zSMqWH^+JlHVk@drQIC6Y|nvPA4%h>O^HQM!dPE_4_%2j8SaE*GuIp#)8qw0#YAO zoB-NlwmL*RdUF>Z zz`kCqGIPiPhPzhoGNnHSyTCO6^kpyn)4YuP!(Wz&&+Es2K*hKaXABC$YiaNwL-kOo z#i!(D_LzV^W@eqje{u}3BTk`iV>#XU^ull5zuYJ`FkQd{HoIK=Xw983hEFNg$XV}a z?Ky=g9LfmrnPut=_aQxO>BI41u^|EM&Es3I#ArnfNu`LMrp<^Pj~@MXY_03m6b70KGNrc;lshnm#4|e$H$GI6 zU|B97IcxX=Y4XkQ_KD#bm5P;pwwomuRQBvrJF~;9z+xKBq|=j)TenI?p;0sVqPoz8 z?$(#$UDk!`NI2kO*4UXGoaf^@i=fX!!1w6!tnjaaibV+8>(wvY1PE@#1?VXK?dg{L zQ(IGw9Dv}HTM4UMi(fI2rx_vG5zmNDc{swrXU9Ta2=BIa3|^j*qcxey@2yER!dEc6N9KtPb8w5<%|A3?4?BsS#cV3&dwS#|GOI{V<3p&h^6p zne5loBiTN~EP-gZf{62|G8cCsS&rXU}hJ`@a?CP%gz4o`jNzCzGQ6 zR0oJbOMNE=M3Z{2TFU9!T+35^-P%l=Ul8usgYeFr_NGRHFO4;vO!l+WeY2m!dN;U- zbXfBdsewzkWer%zZ5m3r_Cg07HF4qI?w+R}QK)-PnDX6*_6s=RfzW(v_7-mU6u|nzSvWlSR^ZPJ}=~(R0cDNiEpW%lW2Q@ zJZLgMv}@6i`pb^Y9@Y^zo*l3p7*RoEp z(<^u^gl!AGN~Jk`(mE1Fyvp}zce`=r_%D<4H?a42b@q4D!1=lz6Hr1bs>mxU$}6eZ wC@N_vDr+dBE+7>(kVu~I(lP%Nz!O~WxCj6LKtyw%#&G}`8(c$|>tQ4R3zOj5L;wH) diff --git a/Resources/images/history_all_selected.png b/Resources/images/history_all_selected.png deleted file mode 100644 index 8a9abd3e8cab68600d3cf681f96b5745a528deb6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1389 zcmV-z1(N!SP)&}Jgw}LEkZpLm7Xo%y&XkGX zpeO>ZZkd`-cOd)UVUB4{5MRw*y)6kpY93 zz1<1VNlikBG#6u)Y|kc_zbOD&_9fvtOvG4h&#K7-aCD-GmlE?aFA{<3H?44kgRhT4wH`?qNUJZ;e9b-_Absp~bs#`p-ZYoX)PiD2a znkXv0(-cs*sj&HaHv0JR0EDa2?QJ>+?br483Y*X%eGZK9G`fYG3!4sgGtr>rm#23^ zmR*)*m-PjZ-h&t85&s#q-zyrWCBj}c--B4|A9xzGvT9;42yX1{ghp2u=f5oM5_V?U zO|Q?uc>H(J;625+76+a3*=X-6y28Vq7^&`oEQl>y{R%TsQnEEGHed}72`>vj%Suny zN>Y6wLMo8IU&$uCD$I(Fj-FN@&ti=*L)nVn{Z>1bOh+B_@r;rybh`%s!p5wcTN3_> z2?GQ_ueYtj&9Tmbeo@wZ1J4TI$%?!4S|fYGm0T+02e?2*zfk zclG0XDkfo{<9<6}fwrsZbQ5->*?T>oRW~FNE%wDaKZ;-L>YXvHMwhTGvZ4`f!u(ig zV_%*TD(=Hl>`-%KpZh;^FpYA;3N&Lh4&pKF!M~*jC5xmlNVi9udm|URP`AVQakTo% z8BSL!Ipkqsv9#3)v!ca`Av$J)bgQtCf~5Mc&05V1GKvHH@oqH}qTQ)89QI`5etcEv zaNOr#&z1uMS*hf2E>-toVVu;3Ke)snduK-h;I^#DESo)`Ga}1=m=&27+p_GeL4(ip zj;#93@TOs>4aLCu<{-)?qs=m`!ga!yoMYSo>S(f2_DCIBv2;iPvC&cCA$%&UW)4cp zt?rQS!ZjK^m5Yo&jc(^izri^;g!{AV_Mrty$tt`e-8)ozqs3e%o#RK&dG}1h0PBJRmBDU{tgqR+0o{SVSs29 z#t)U00000NkvXXu0mjfzsaCl diff --git a/Resources/images/history_all_selected@2x.png b/Resources/images/history_all_selected@2x.png deleted file mode 100644 index 5a819e94e6a4569677d42230732bcc19f12d984f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3243 zcmV;c3{>-pP)L_t(|+RdDKbX4^f$3OQ?A_*uU z6-7V=1Qd5rQK5wp!zv1Da}<)91hC?%`%)`MPo>prsXeuowpgr?nE;{@q=Jg90mDI2 zL2INU?pxgfw4-0DP>|>GW)O7NLFyQOkQ$ zK}|*gxRNf^@eoR3oYQvW<9u1jhd;VSXc4`&gv|&$$>l9A<-`nF!CBO>y#)}0z^j&J zgsIf2mbDywAk@zUeC$B^nXBrFQmG}JoH7WdDKuN2MEn0Oa072SOpwmALJ;M4I1FIlvWVo2H+6mhwh|-p%NkpAP@63^%MZxjH`|# zOr;jn|DXY((>R7>sYJNd6I1pXe;)~~*HX?%${J?lK$CR=JVS(`vY4G#AX~y7au@?_ zHPpx8@Wep@LIYez1J%HAL)`$}Mi-6(YavGvq0&u#iOIVR0=gO2F<;90zQw3MpM5BI zc+~wgLnVL{qnOFn03l#0(AhZj2@VAkVvfwEjvOvSS!NvX0<6^lqY`wBqpZ(9UW*e; z`XDU!C128*yTgO*M{cqSWj6(Yz4-EkwTTpbmVcp zHd>%*2_sOR2L^dA&mqDJ4Oq#c$s)21bkky+G>!h>3HOegxEoZ;lL*`PWde%#z`4_rJU=5-x|lV z5teER(;Bme>6<@E5rj(+3-MauA}KerK_XxT*@7_7P<6-Q37z6;*Uf7du?uA^Sn(~4 z@Jk6X+w74f#BAUXo~-$h7BksF*yCZEk^>>YV1%IIVhUU(A*xa`tV3 zB(aoJjgkjc0Xu;460`s{t!Nf7*Q#V3riqqNgc^K;k0V=Zw_}hcU5QW)^fJ_UNhnT+ zNc_H4V3ERKBU~pz4>^crEaN@E$qbm3CEH#$J?s z;CVyc4P}uASgn3eN%`iv%(Fm%CkZmw!Ql-fKmnYY#BH~ED!o3`u{c%@kQ5l@d`=Dd z9x4!EEW)em=W#8y(sUwjJQFA}RBz!>BB0`)P;Hpu5(!b1L@7NS1Cs zHLD`{nTasR^Bs-y8p1+g4MBFsB9PS2SqN1|W~?E?d9o&f%}1riOpPp3H%5640SEl!H04RFvKbzqZ>#;qe%oU zVG7C;)T#(KQNzScx=H3a%V_2OnB^V~R^O1E`38BN2%~`i8S0VbvRaE; zjQl^kh{vo~0T(p2u1fE8%vl2rBs%?K7G2Mi!#J65Z6c@Q4u{deH7MVa!-MJWb2u%u z!i~}uu_J2=f$dFT81S~CK9^cH=`<^bB-`W-BFuJ_dw>V1Wo5bn*#_cx)&jc?&5ez$ zPa0r+fHE3*&rqLEgw+~IzT4FjMj&hkt34k}E*0sl)dE6h6G5zv)!yvmstlCN?*b!H z-Z89i2(UgG%g_K_!&9%SdEi%tvIA z2fX3o8#ZdO#ipANrVBZ&Y6gPv7it)dL%xTUDWH~B>Zem$7Gap-bHGoV3^~F`S;TW0 zDS)POI9aR#i<5kxEb?W+0r$}&PQu5N*dqZy0MjLOVCP*+89;;$ZZXv;FO$s}dDvp$ z61NCLZYDY#5e3X)UZzTAS;8Ka3&1Majw8&oIxV^*t^r2jW3vZ@&w;Tf2rhrI+vP?+ zvFL<)Rwi1vIB}x=HsG&@>SS__$}O`8Ba5Bn^(Bu}iz)06(G6O~w@RiVP2rUBKBq7T(6X862psYtZ$xy#R zgnU_KmHi3Dhy#5C%raCtz~h-51D0~WCx?r%=O}+bxjb1A+?eqx%6Lyjdm;|2W7RDQ z&nRkuhk@x9-xpy-EQC|;AHvK5df{-Vlv(j3m0qWp+v^OpVoeUiymdz6KooKaxvch> z?{1W_Zspi6MTa}!WAGZUy(tO~g4&h%Y_a-~do75VjDZUbncSe*y zN;$tytJg>|Z=Zm}14IYDyi$*_8YM&*R%U8D&}aw#hH|x`+CU9sq@t;dK6pSFiy98x z>GG8=$sXV_9F}qjThe8rH9#>?Zm2#&IaA6Ln-pyGH-WX7VL03w!$KP6TelS6hQoI1 zsb(=Bx3&?j0gffY5SOKzLG;xKfc-d(bcb1K7eE+`9_;oiQ^B6Mjv=+c+bCZke2KWA zD2Ee$lc#5#`&=y{{*e)?uFU|smJWQwBqB^h7!8@7vPTI?xit*ZK7p{-9DP@76fg>9 z7;uu2`;(FVKo!Ej>A<{H;!V5yZvlEG9of%mMCgyu2k1qF?uaqd9VKf%13pH13#g`+ d*VElx{y)8z3D6y(nnnNs002ovPDHLkV1fxt;}HM= diff --git a/Resources/images/history_chat_indicator.png b/Resources/images/history_chat_indicator.png deleted file mode 100644 index 7097ddc9a6f852124d4747e2c2692dfce8539237..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 300 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2@KN#5=*4F5rJ!QSPQfg+p*9+AaB zRo6k7(Me-=1yJyer;B5V#`&q27J4-oinM*a|8w@yFK^k_+&i?YFwo#cfWYhw(LJ1N zr_~ynMCimdBz+cI!`95)s`|G~=XOBKj`t_uAFh6|=OO#f)t7Ee-{qv*v&22de_!OnUmL;<&QeZyEa>Ige s*=`f8%|zTUn}?j)UM@F%UfRz5nq3xuZakfT3+OKfPgg&ebxsLQ0K&qANdN!< diff --git a/Resources/images/history_chat_indicator@2x.png b/Resources/images/history_chat_indicator@2x.png deleted file mode 100644 index d261a26ee9d5922dcb54a27322738e33c10e1b32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 552 zcmV+@0@wYCP)h53cKXPM?Y*2 z6TZfJEBEIpgLWmSSGKfY{`5mgr<5(IVN=e+q@*jF(^Y_Mab7aJBep1t%+@GqFH9J; z$NJk>6rZD#YGJyh8f`F(g+heU>ljAO;ZXs)H{rS$v3{9%3mBMt%P&oE1G72m<|LPw zgkj7A&gVERSHcbN8~5S7aoo>A_gvYf)i?fPym*YB7Rlbp^n`IAR^9mFmU-VDz>^lp zrX_tVWq(Etgqv!jy|`u#IrFapianv?<@$2zpl;Cx>}z(m&QqClVcf%i3c^d`0Ub&X q3Hl_R)RQ+gR52;K6UMx1R_iCgfO{uMfOQ`L0000yNHY+P3rg};5~I?mW` z6o(2ESx8Jm6ctJuhzN4?!)WfAnPMePNO5TcGAJ#GrbVRVgq2i4md-L>Prk#;twt=7HYNJz5thegD% zR4Rwd6*_&Lx9d^ZS!9|4-|W`~G`K>K?ok&$q zN`5&wfGHM>w*fB!SK~O&20`%T5_r;FuZu_?xUQ;athL1^@kLedO27d=-qzN3>&hS# zMNuxP#IaJTbfH!z-}nCn0B;%`)c6U+NXhUs%j~Y<6fXeL_F7ZKm9HOKo78x zPNy$4%GlZ2`4`}?!1`1w)wK%vGfUuYZEXijrP45P09Yp?UM`p0eS?6ib^%w0hK8;; zN;)?;_ad+dc*6JnS84?f3=9}+?MdJv;OwSNn?ARcHwc1q9LISeWsE6VYqJ1GL^^=V zDr5C1a5r$av$OMi^+=A6jy?k%1Ip=i`ip~ugYPU4D3wYVj4_9kBR^dz6h32;F==hk z$)6XIAE@e|tJUh!!NI|(R$MNZyF)}C1j@#k1NAEEd0xpFb1)IBUmD;az~;WbzSPR# zVzGFes=f$Z7Lhy0$H)I$k7yjnqrfp^%mL5y8dlWvyiy#;`+x_WMDd)fSFdJ($>o7j z6x|NAtLj7)MgMG+v|KJ<172uWBbIJVqpITx*!~*Y{+y~lEh76J$MLh-YzJ$+OcX_9 z03x!#)-4-`;UgmQJh0bsoWX21yM8SREJ^XJ!1i=Hy}3^Fh_&`v-~r%#OH0d<;o;%8 z*Q5f;?=OH2)oS$%_54N<1P=lyfZm0Lh1085!gbwz6N>qN0*i}_ze!~F(Sd;h(}2W7 z$#LA_IL<5eNLXth6OrE=V@mmazPAy96u_lRm#%NwvSkBsWOjD;jhUI5H|u@S-`{_J zc6PQ~MD9+dQoFWq-~Q6%%?eKR>^t(aaAF44AR8vFCuVE%ijTTD{3}oR@)p!0#3p7r)fn+PXE0q9E}ThiYBr zH^gUZYO0#aWUh!ve@jct2d1Z|&o-EOot~aPyLIc<4*~baalG3Y^BrI(@Z{dTd+$GW z>eSm)Q&X3>ZQJIl>ODYzCX;z}W@cu(W(AgY`!G;c)o+Ah_fGREdMW?}zmWkj-Xqb{yvdum!j)2!b=Kk;v!s$KyDDJq*Lq1}^&(iM?wVkv)mW zz|<)3l~gL#3;Y`xbY1tp)t&^t??2lJ93Y)ePXU*Kb%3){2i~mu?)U;{8AB2R4Gxbe(N!%+u(r>b5A-fC@a-F5EVxw%GDPRllk&%(NR>V8Tm`@pFeg%Bk7_-OoyotI(^d4S4UB;Mu zfTOCqd-*W~{{j}0|6M?P@^Gy?((-;9%XQr@V4pFjM^!%pY)-lyU@oy|f#-RDsF&k^ XX~29gJ8{`j00000NkvXXu0mjf@!9`I diff --git a/Resources/images/history_missed_default@2x.png b/Resources/images/history_missed_default@2x.png deleted file mode 100644 index 46bdd7cb40f32e0ca51060d7f726d65ff8c03c87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3015 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 JPDHLkV1k-Gjt&3- diff --git a/Resources/images/history_missed_disabled.png b/Resources/images/history_missed_disabled.png deleted file mode 100644 index dd07a5da29dd157418311a9ce1450148ab678c70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1156 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE0wix1Z>k4UEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10f+@+{-G$+Qd;gjJKptm- zM`SV3rt2Wg=%g{b0w~B{;_2(kexF;Chfm;t@XHGf49w-8E{-7{$9t#V_LB}5Y1_Z` zc-s$#W66Gv1v3oULMxlR_Bz}+ApB%o?Nl4D_r({xR|RpiDQ*pwTbR4y_=6RKEo?JB zcHVe=bMJ=6kBWl7^VaXZw*7kIdHX}cVGku=JAU0^nG~PoWXrnX;mliiy7^o8Kd@{w zte9;3u*8i~^!~cZ7iaRW|5FeZk;r(y+^M0)&1}Zj+2@`Iwp`x!O2|nhY=-#yz<R=U$e=D{Y1psQxYyq`%hH)sqa_%{OIcGd}e`$zbDuE#_XQBId6*Zlqvjs3-{je zX0tTWQ;S>t$BaQhNB1A8I@qbjJHGLIDdV)a@D?}wR(WM_^NQ=-?Te?)5qgo6 zSoOvxO+Z1c|88_hxs-+dI(sWwGfP#4-IHZz{^t6;OKgh3$*01#44frv>|V^sD{MDX zdVJ{d(&XtvN;~JWG$fww{`EEKLg`7hqplxcUHmlbgjDg4w3q6|1j8uQ&46eYWS~-oJ&hQybsJIW4SST=U{{kIw6`)kW{QHcXymnYHRm z@rzZ>v$PZ&m%b3F{n~J&KeM}U%D*>l3mtonL#-rEeOVy($Jx|L`lH&5{d@C-md=i? zzwlM%!Q~wb<;)#lT9qt+=X+H9Z{VbfcfL*Dcj=z>islxzx-W6-Jlr<GAINWtQt?kA{3)JNr_w5yLvesFxcyMm+5bNl&)u{`2L<>yQWW!W%x!a%_n)w2kmc z3@pkjHa87nn!~!y@zITg}uAS}nus+VSy-xF0RLVi@}npJr;}$-bBxvG3lh)oH7oE)$_c%Gq=y# zo#=Ay`t+l>-Mx=)xAifKJpZzVA>HxZRY{|;bd~P3rM4NBl0Vb}f95kVJYDzH%gd;& zWO3NFn$)#x4Rz)D^4YvzsBSM@E4*ZDX04q1+r3+@SI^Jh9`W{V$`wU>_0tk2Pm`W~ zJL{pgyKt{-`lt2ryW&|6lpTqfVkxq3-$JpK|F8XDnA_c@-Oc&+`$6aV$CwyC1x`J7 z#r7@lhl>s(th=g2f==r*y)#q^b@CT-WthL~6Q5LK|9?i8^z!ma*=g^Axl*;nHKHUX zu_VKd7b7#dj_nphc{X&V??85r9nO2EgL*3r_ QRzM95p00i_>zopr0IFm9^8f$< diff --git a/Resources/images/history_missed_disabled@2x.png b/Resources/images/history_missed_disabled@2x.png deleted file mode 100644 index e013b76e8c8204f7c3010aa26dd9e1638158704c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2201 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 diff --git a/Resources/images/history_missed_selected@2x.png b/Resources/images/history_missed_selected@2x.png deleted file mode 100644 index 9bc9f5a628c41310dea45d40cfdd792e1888a56c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2562 zcmV+d3jOtoP)B!P`W-Nr4p23 z65-X@O!V_mH5iUC3-}3;4>Y2bON8aE3ZsH{zy^eYmia@J!4lzMi%KZw1(cy4B@B@e zuU~OV=|0R9ZXl26fQg<{=Mg4IEgM@E#xy$6z-HjSbd`}p38#QzUL~gmLd&@m!%EUj`V1O)H;GR;iNg?C!W*f> zmgFk`U6b)%1f0aD8x0ri(K zUOgBVgi)Sn-)9|nNf(CE8Vp!Vjj%?-?8-cQZU#mbg9Cw3M%yG1{)fX5@+kpc@e9Ln zlx{!=%l2aSrGzFJfA9odPX+>^h}B6T43#CkCW|;rJ`ebXVQ8eM%i>%~M6w!Xv`L6V zB)bYzOAwkqCIc7-;Wk$}q=B~s0a46+;C{<;n2XE^90ClnAtZsZGaVQPxWzg?A$2qc zP;ab3skW4G0>f}w%10SOD597R9ta;`=qq6kq@1FQI2+GRUi83tMXTIuH3*;d1R>eh z4#opNvrHFom?R;NW~_u_RwUFDU}QS+jVz#^C}Ta!xEW=Wtqg;b=ZOZhQNq^{p0~1E zjTdfS&PoZ&gB~UHYfcFXFzPr*lu}?@DrFdyK@(rN|LlH}WyDam5luD_=$ryw~8&4KFI2#BFFkpveZfg*igS<)0XzT0FM|c_- zJc(?u&7kFeUhu7`xvizT#*ktiEn zbqk04ldbEyJ`BP;?r%pAAM)+%vFxLmx3~_6p#z733znr<+JBu#IG*uc9s_7#xlVJ< z@9P7E%;h|4%|FMrqtyId3vmcxs0YS)8d!0?!MI$H*lmTw{rosgsbxP(sRzcm>kWp9 z`-QERtv!YG^W}vj>;ndRLiBMouwJWO0alKKaCq4jUK{__Bnk5-$^+mk?F~a&c0DM= zKzs|{4ltB5^|?XZqzpr;3x+b5^Q`n8pIj3~#C*d_%YG~6{-%fJK=&qvQOt^5hGDE^ zd5vos6~2>kJj$&S;lqqG(rWI-VGGdFGQU8SiBe}l_j})I zw4s5SKrdjfgk9-%mWqfS&9jaQ5PpyqT&2UOZXtmf=zE=vqu^0h*IW98CpfRcy9A0Q*1PQzHp3D^y-_V)m zstO1*v!)&ENf<_~gYEJd?ME3}PJfi$Ngx2U1y*OH43i{M+z8eNk1$QA(lsC$r3o;K zS=AB@t)ddcR^Ud<{0_oG4~$ir!Z0Z&j9q*!q>*0);+ezjK|RV)9!v#8L9~jWqlCa} zK#jE=_K{k?g)+zG*D{2Wx?`q-?N%3?q70D;e+dGJR&XD}X52e$8;CODvd_>miYOw4 zw|PxiNIl=ReT!D`TZG50tIh)t`SBUewGQ>fVK1>Z!k84J++}ymv9mZ>|1{3fsfCc>);(*#CwhV?k?_CPp?FfJ8@`2A)i zohE5ExHX$kXc_G(;s97%WWpq=b%o=tp$vN*!!SDC!fjGzq|wvWVqz7K0d_)D23e0o z{~+s8?=gUflZSTyDZV# zFqd?iw9p4CJ}56im|~g!0rZzJ#{--uw8Q|gFf7zM6&y>2+{$mIQrs{-L0+=#n77f7C| z8lQ9d6c;Ha*4=t}bVb;uRZPe!2sIe;i2z+J{fAO*O8edkmt~xwkiNM44ceou(n`Ww zM*Ex~afBL#;g)4TH}FW-&N69?QAh|$P{KhB-j?Y3n(Gl z@T4r_{Z@w%YdG8C3D18mVSbo#uHiF)*@vMwv2AvB)d+-XT;h;cGFz)%6{_GzAvGQd zyNS9Qx);Nkdko6g2?1Msgnq-gwU z3s7z**0lDC6o0pkD8v0uyQ}_d0r59`Cj$=y_XK?V_fYQ1WK-&z{%nFyr7Mk;pp+o= zCiY6D-<8Y(_91Mdk$IW!!Q|BMN5tRUy91>MLJy!L;#qQ)^9UzVjsXWS97y*qqvpo{ Y0VzzU{TYEv1ONa407*qoM6N<$g8bZzI{*Lx diff --git a/Resources/images/invite_linphone.png b/Resources/images/invite_linphone.png deleted file mode 100644 index 20606be434d31be44e2a048bbf6dd4853e238038..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3486 zcmV;P4Po+$P)500004XF*Lt006O% z3;baP000eDNklRH6_(bf=vlH!n!1Fz^iI-5J zAF;ww#q>h;FpuK1St{irbDwNa|JnUpsWQvW5ah2Clc8p@yyL$6{?ufU=S!n}D+8L5 z_rdd*(oyD`JLSWS-^sA1NLQ(st4S)849Hf-W8PNiw1~;I+$=;^c?hM;EZS)!JD9!0 zn7t~7ix#ZOEEV+1~PVY!*)_lTV|FW{hzGLL0yw%cW@ zw3$VzYvdJH_hDuM>vs_YOVJLR*QFz0*vl;cJ_R}=MP?DZ=PMl0Z~LIx46_v7s=yE{ zuzd82TXGh{b%QO=i-}!K?sCw4PnN6Y#6?A76h*NIZ9k0ew*`sV%K^^GBBjqP+7(Os zv-j9weM7n=dlq)0qdZ8HABEkl>-H=e!qT}Fed`NOVU!26#Cv-V8^-l?{y3+d_p@9= zfqmFdm?6OG!bDq*l$mK+EKV(ia$**hFy|82p*(hOq2Iy$Tp@P{12{ma7Fv`gKb0DJ zz?wxmPssaYo_f*!$-hnpVu7Ua%UFp??r5AS6kDA zA3$rGw8Mt7gf`ur=_syI36;`-!drvAHzic2q(e`leOGei)=O&TWc2VJ5LyjJT~QL- zfsDrXL?wJJ`L*O9;W?Q1!h$8$967FLmvot1Q@5iA_seaRJIztqs28&2bm%=BH1$Zr z4lVAjn+p2zw65o5*g3)tESPlc z+gvdVMEC?mSOb6zD_^pe(o3vD)Q&BbVepV!3!_ZMF?w&VF5AcdlR2+ylq)GS8pi3H zt88fb>ccGZJEX`exnKTb3|Qp|2{q%Mf|(^TTh;+r*Rt{oMjm0CSkQ8+Gq1TsX^ALE zqrMD{8t{~P!VasDbTjFvGK=G2_tSA{3c_K%5lI_K7T;b{2;$DlsyS^U+vx|K757%k zdIUXSHCuQKJ5+e#4|0W!G~-ZMT?EGpE}Yd3b?qtIC`U#S7-f1`jH2UY517H*KFko4 z`ED6S(R9QtwqHn{JjpER6=vT;Ys<(TFv{G}+G}bkCjV$khVpD)0MHQae)lpQIYDg<0}%+IgS&Usmu#yjSq7 zeRm8_b`^`U>uzs{psr z4V$)N-&=YK2JyvL2e`?Q$t)9PJV>an;w`AZtnfu7OIF%nLh|WLO(@;^F`uMgs6!+V zLEI5+k=1>mHMpceny5=i6?NosAJoq^CikEhtoHix823n|)zoA6v8{}fMiW;rY0M&% zu{v1xdRZ7SV;}7=V^HQG{{B{2g8dCz2US{-OB|0lrHcSDUbqriTvS!oe|5WShX z*F}s`^f2Sw;1uY=Ag-hZol+M_-$)e4ir<#ye@2p7P^vzIRJphS>^7h<_J>KPHg}jQ z07h^{V{$u;GC#Nm5|A6D8bUsd>xSNOD!V|xPU6D+GYExVNoIjju65Yc_o#R^Zg(Rh zyR*>qo+UEVVSl_8tH6QCVpDKfp0g*MH)xTn%_JC3zx2+~1;ll!%yNwbOjj{~`XEgn za!|HdMIHH+%>ExB*n-rWGTPs`WQM1M2g9SIo$pRH;Uq%!_nC^}MH|NasB)d(CKbAyQ@s z{<#Zmr?F-~M)4I~&$9iA8}KP^?p$6Wzfzpz%wlpdi#qjI$zaxhU(CgU5y^0=P0xGo z=g6Q40s5#}y}7}!5>#$P?!3kz+*;I+Bj%xr-aiMwCE&lEVxzJYeHprL(fk+1Y#&S0-H7=4uMMQN0JRn;?31i``QC3SWq7 z$3LtH@&6Ab^r*2ck>hFq3u&*;<8uy_N)a8PS#5jgBJ@J+9O}*YQh8kE0^8us&)KT3@ zuj&>W=9tAcF3EZd=v4d7a9_C-Gj&enzY?w8p2WaBne0WB5>+^VAGR&wnR;MLcv`j< zcqqj*rrnf=iH?x-5rck^r@9}shbdGaI+h9FhIlj-&KO7Q##1}tgzah=ohg!_(h^3tWOF%H z4OpFNzJen2dRm2uzC@W(nn=cV*4?D1FbPxVd(+R+e_Apj+XowCtaU%eGP^PQJt!>< znS3i?mKv~jbyc*;z3qf6`Gn>;Tl z8mndh11$Y2LOdG$QjGkG_vct<-sI^iU>{N&%V^>$=vY6&0czL(0FXC!O>O6+lK=n! M07*qoM6N<$g1XJdy8r+H diff --git a/Resources/images/invite_linphone@2x.png b/Resources/images/invite_linphone@2x.png deleted file mode 100644 index 20606be434d31be44e2a048bbf6dd4853e238038..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3486 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 M07*qoM6N<$g1XJdy8r+H diff --git a/Resources/images/led_connected.png b/Resources/images/led_connected.png deleted file mode 100644 index 3789d3fa3d5452ccc57f491b8a48a017db53aeed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 405 zcmV;G0c!qmAcu+smdACGcHo`A z@AGNVutQ(-dwD*OaZOSiFb#|Y4}dCAG_x&kll0UTOOlkvhX1MmxN?uWR+RJ*z$A4G z-%aCX-}d3VP%3{SdYx=*4~1lw=Y2Dn*{YenGD+`&w`+T^IjL^YY~=AAh2#yuSP(u{ zzWA!ULVz#d7I38kCIe!iT01cAQBTjQHO?H!2hgwfw%+?%f@R2Nx()al%v#oy+^BbE z`|pegA5GBO(h-2o0DLq;`tsSLy4v&qg-LFd7f(L8@Di|cv-70n^%$@GsPb9+r_1{O zd&ecoJw25))clxXNlWgrBFWw3v7~uP{|@>KQY5IyCjVhL00000NkvXXu0mjfYfiYa diff --git a/Resources/images/led_connected@2x.png b/Resources/images/led_connected@2x.png deleted file mode 100644 index 9c6ccf56f78ddfecd648c1cc27023357380b62b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 753 zcmVNswRBES#)0KSRH9PvU`OH}oe zs(#YtF|Deds(NIt!VXn!SJhdyk2k8i!;ZL1ReLo)%&Tf^tfpAR*8x31x%I&4WH(=Z zU3jP8;}8BOB`KZUG&iMr``GMk!jYUCtJxwV9Z?3VY5-4xdUL}c^zvfxES`y1E8aLY zIg46X8&$>4R(cMo6Op%8gX6$$^TfpL7asLB;}3dmlhnG~tW+;hBO;52s-^%J zBKDz49)E1HEe_D@xyk2WccMIjV*m!QKV0Jgyc@p8^gqv<%es5$B7xv|R4z<|29pUb z2IwEV8&}`VFZdbo-m_A>RW-)|s!e8O;x(bgK-|sw{m=8L8UVH$K#9pr1%^oklYyaF zYNG*UTCbT1=0i*3vkV|oE@`QS2^pj>jUO|BQFGwBSmUvo99*3%Kk(*v-r8`7qF!s4V1>CSq2L{GE=^4Jl zY|yuiv{1gjk)7^yWH^ef8-2ho5&0Ws5H`6AoVId{8sg_v55Ac`=0ejX84fZX8z{}I zBO}!r>*@jah{*72Q|*MR2IH7$FI6?)?p&@>)n_(^$5r)=sybNqL#}RA4KxA=Vt!jZ j;i2*ncp@S*D{1@(`!~eO0}00000NkvXXu0mjfe~DGK diff --git a/Resources/images/led_disconnected.png b/Resources/images/led_disconnected.png deleted file mode 100644 index 8040797a81edfcbf0e0d7aedb400d75ee3c4e5c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 364 zcmV-y0h9iTP)QZ_eW+EkV@Z_<;lODeS5D zfw#a*-~sRhxGbf7;*k1G{i>Ro*;@ORneJVx4*`n$2>6njM_t#&YPCWoBB-@eYXx{; zN_jm5&Vk4C`JByWb9XH>>ADVpTI(zIG=MjK-+LGyS}Yc*0%rj{>HEI$51Gksw@ct@ zs5gVbfd7ez0?eb7@?kt4=WsauYdD!qh=>3_7WG8^+*-Rgo6SmV?JgXRMog#EjEF1X z#qG{#>d(x~^?L1cxpceT=6?6@>hYhCd9J=wuhmq)sTb<>w)qWDg0*ba6{`{e0000< KMNUMnLSTZr+@+iV diff --git a/Resources/images/led_disconnected@2x.png b/Resources/images/led_disconnected@2x.png deleted file mode 100644 index b864ea244de1ce83114c9b49eef072a66d50f024..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 664 zcmV;J0%!e+P)r@V#KI;jXwGoiyS;zj z?S3{{8JCN>Kd+l_-hAJinK$o^F@#Av3LFQH08L;E_+n;V#x+SxlI}_RsKHj3^jOm6 zQHf_H-IdhR@b*U1>0!v1C2eXv>q)wq=QNM}Fz^mI;X8CX9a^mx-ENm8NpQ|lC={5T zoh1kYoO5~3H8WfPM?jJTHh_!SM3N-z?Cj9#boSk`bB-_!DV0h-+y%~=*;`-W8t^Fd z==FMRZ*P+%$x!z;KR-_xhCZ|jteRQsBo%=>*-Vl1`heDw+ zw!qxnoIk7r9~|)1N6Y2%*wN<%o|{?X%;Rz^;0kad_ig#Q*HoSXFU+j5AIBdkO8+q`#N;3V00001-I5quJ z5&Lzq<54o7b+=gT=wdNtIhgyZf5GX!*NgY@RxWgrx46xI?y#lfYzFp8>r`SrR(bxK zWWuFr^D4g~`Ai(c2_to1?lU)1SY)Od9D37x_0)^+3**>1A4#w=7qC}oeB@=g`%eGX zJQYpzIozAomj&PFRP9jG;9}3yp44YDoAvGKB*mpGy|Y4D?q`{Oj|yEKv{+E3mTQOl z`QEVX^4_@hZ)$WOh-~ipc_(xG|HFRl)4UJAkz6rVeCH8c<@0ktO0+r8@R4cw`b*a0 qX5AUdg7%y24`%FT;uM(vjD30!bD*N4>^)#OFnGH9xvX01D=u-azrHd2_g$#A*DpZhyAnA~TQ^Dd83Mq=% z1fm!yrU};2d>k~#-SrwTmj~YAdG5W>=kDHLXA~fSxTK_{n53GduaZ6)V~!LyfMMV{ zkjFoM0Weip5-J7>{%;EaGPu63}s77ji>4#&q%(o5%7 z@!Itkv$LJS`}<*c*9rd(Ty_es{ww~CdL3qFg24v|A(!)R6B)l9^`Wavvk9xK5R3VP zje&F;ibXH{BVbQ`6S6(OS^;T zf$MVxj~s9@=(&6Y$OZ)e0GF%-Sxi%AE|Y~ zEHD8SfCpeRgmA$3)P8d=shX`y_{P|xG7QP4!v;YB0000< KMNUMnLSTYko|^;! diff --git a/Resources/images/led_inprogress@2x.png b/Resources/images/led_inprogress@2x.png deleted file mode 100644 index 6204da88108a325454d2c262d98f27fc03107b85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 685 zcmV;e0#f~nP) z3&Llng%BZ#W)2eV&t}!Mz*#wJP}C@p1`!kuYSy5UgPKH>ipZ!a3<8D7N=k(6N0St_ zDF1!xYVe-7d!IjC?_0CI&OU3g?>T4hYXpF#0-yxg0*nK_K#!SC6Bd$UlCDbnsHO2& z(mhE>S1X(;>58NY1;=YiyMu@qOX^TK#3h|c)ijTI9?%Yy`Z5OJL2oMzcfsTctjU6C zArw?YNj*fOshTIvtl4KE$pM}KhuyTv5oo^-Ki@20a>hC+KMAG2W0(f^n^~LJpaHn! zru_L1FE1oaf?(HiC_m+8I)ExOn|CB-0GHjRnNfIkF}OIur@Qd^v6ra;P5?N-!Q>rJ zpz}724XplNcie)h-@db0FgW5;bJNh%67J#5PQuq`UZz%3t^-uM)WF+>Nm%r^d7}tW z<^VC58to@7EZ$$}06D%g(?NV9m5DmQpc`i8rDu@6F_jr`fd6&n?@Z5N@%|qU@WKuA zc0e>1-k_+?8w~-S4)DO&n#vl&iEr2rvAtgAk(tdoX4VDVcj@9oP+Y${@kkETG=aIj zGY(u^cxV7kNitDI^;sy|7fd`e7iurT`mJ8J+043A+x2PSre`|9m#6T)8K!fI2h#w$fB< zlr$4!qP0rO4?35tBs~u(JS^$Fq)e9nkSiKh0>^;*l;4)VQ0P9z3I5Ji23h`|t>h+v_WjUw1sC!fJ8g@`0Y8oM+K zTBZ=hCZ9lvt&IV}PKiV^7H=+DmzzKamV0N;nb|Y5yEGQu4mN|`;8*ZIxY6>)lH9E~ z_=F$0hX>flR`9ChwmU5b5j^d|mJ_>K2fOdr;B{}+QS5E-u@8vgibE`zkE-S%n8Ky> zr-PY8a!+T0v)CyyYQA9CsK`;)alQ{S=^?&gFA3vKtA8+&|99}B>us1ao&?XDp-l!W z!TI#>2S3LeDW|X=JTC{a4_K+?TXtg23&)ak4M0000 diff --git a/Resources/images/lime_ko@2x.png b/Resources/images/lime_ko@2x.png deleted file mode 100644 index f3a5e6b809bac9ffff9ec4fec682f81bad274970..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1279 zcmVoAqGW#@z3+gSKmxbh(kmm5~qlW zDT5%!ff-slaogK_w-4uc+Rf=LtugLo=boNneS3Xtt#7Rck`;@e5Ed^X!ZzR~;4ttq z@C4B1;~8KKI0+m9P6fD;d>eom5{x_n!Ur)z2hay>2ll$x19yRQ31A(V1vUfwfZhlf zfGfaMfM(TxXah)ue&9{uHQ*J&{{SutcnipYLEtH1H}D8>6F3SS1C9rnsM^m{pk(a? zUUzQ=Zd0868{jl>UBDq=Qk&a=$Gwk-o2c5)D>3Ypo@aqk;9=kk;J9)6O&S~8xdEI9 zegMt_uLAo$z{v=I0n;V5%K(kj3+@fTHR(AL3Jn1Y1!zV%1#|;X0>j#v2mVe0v&y$M>D(bzCxA#$1Z1i_IpvB&= zm-u20XvHEH*@FNhwDhLScbgud>ps9($W^ys2Y_`RWS<|*S_auFbhb3U4tPfJ7I47B z+yfRugzqWpZ=Lb$*TAGPX(nQ^+R9|8mL$s!h2j=a4{^!Z3~&b+7o_Hi%h;8a#^ni0 zi>2ZYGBTwjgF2G|p^V{8;A69LT=!#QJeT%t1;B>XN2x6Dtp|3gw4QzBDa(4R{pTqQPsxnP5$t(IoAs$6i?j zegb~iwqUM@OISnY-hxGVQ)hSv|3xdTeU`SHG zq;0#Me%b?N5zd8zVq!tr`@p-v8|v>T(n*qNp`FsC4;s>VRXVoXj3dy91!dhP!eKp} zvq?`RfXmdWDs5SWJiu%$Vo`EGs_~u1WS4DdM9*e{4}edNb+h8(ihzrP9$+pO15%l( zI~0Wxm1NkCKW-a40(>2oylcDiRa(w`grD`aZYI9yI8g(B)w83(*lJ*`K_Ah`MU78L z>qb?i!yb4#6!pu026S~gl?_$;Td!raC9cs{zS;|MY0lX%=tb$=psGA?*%0A!u)zNf zV5oq-W$M3U96wYDhTVtN%9bT_B^1TJCcsh~iG{+KBmRib#+>3V=;;)&N4-4gVUH;Q zv}n(b(L+Uek zpJ08qxpFWIsfWW}Pf2A;MOJ?BfQfBB5s8q@MMJ=2KAQ-(nzRWotT3r%57vjpomG;u pM|*dHxm?;d*mC}_)i4L{{sUz7h{H3SS|$Jh002ovPDHLkV1hu&QHTHl diff --git a/Resources/images/linphone_logo.png b/Resources/images/linphone_logo.png deleted file mode 100644 index bcf916c6992342acc4e931ac84c054d552a1a864..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 915 zcmV;E18n?>P)@k$V!YU^;G1v!c`#GRFZoL3`9duMO{P!|MH^xW@(JvHY6kfwQA z6`5U$f`gBoA*{VH0IJNaGq@WFfDzSvm*alDl<(Yn8z|}uKLkp&O3DzG>y$4zhJHr8^v>g!i zW0doNwh#~@%!4jCH{5*&)X$WoeYyGY1r>c<;TZ7CT{^c4-=T7-5~uoebD`IsIHMwx z5uL)w6n4GElII){1)*a?*WBodbvt>2?M1tKTN*_oMid91y%WtaoVsGE- zrFwN++XzE_chjGDZc6sWBCH)6O&>h^GFJEFoIu(geFn<$9C-@SnFBoK_=MMpu#fPva^1hX?&xcR627ixN1 zMJF5XEw}egY|4G#50?jW$Yj*SEC`uEXhQu%P* zIlB5fX?Ml_2zb6ljptu;!oJ5&5v>Wi{{%s{9KI;Xk!re{b_^`mE|{Ls9jm*7R;5ur_SW7%l zZWhBlRcSyqgwOyeLJE(5grkZc0dwGNCbfUwW*lZnk^{2e1Lluj%cAm%F+3LPO6{Gh zgZ>VCzHwQlaF4+CfSKkq3N^<((fgr_8qGFILOB- zom>^^vVFeq)&BJK;Ix58&F(O;aFTm7z(HUMmrp~2J{mfa-Y75N=F`BOUv7;}ac}iy zh5=|$WJ99fe!cJhn((xM{F(HY(G6OD5w{4Co#%fK~LqSfkWv;x9B)4GZ()7jmsvWrb2*FWm!CGubvQSu-A$LpQ6Gf%Hzq_ z+J-Se8o{r~cc@G?q)q1GF+d6I`+#dJ6bKQ%cCw>x7J$)}Q~?iD*}7`P&8z`1iF$h} zumB_}9(MrW2hLQ0OE_TAWumfS^o4pafDh5-Ag7IRcc{nN3+zm`);^W?W!8!k1wK$l z6dtfsReuuhPQNOk3Of>QwqHft``YafNjwsGSv~!6Q;+kfi{@ZGW~kS?(?jk7mIJe| z1cbs{26?&4)nCqf*7?^2iJ>Ig>~29`k)ihLMGc*q!&5Hsdd$$Vz$a9^hg9SXmm?QK zwl?>i?a%A^`l>%#Q0g3Svwwl`l~QgHPi1LycWTdc8=68!Gb&G&cy;y{0#h)M z=gGfI>c7yVg|;=6p$zEz3aH4*n7;g$KUGqb6LBspQ2oZ_36O6BLo>gB*jpvuj|#7+ z6rq8&)R+-_1;TQLPXcoa=q3yLSKxKynQft-)SJZ>h-Ogn)xkO9&)$TZn-o3>T!UPY zFe)A*{iq&S^hlMMeZ#@jp=+KX#s78bkiqx9-~j235H#^Vt0S?-zP*xR;;Xqj5w(A1 zgWrI>qlQ-#5$l19gz2z8g3o>nkGTyok|wOqULdK+(*sd!TmPD?nk!_hn1P7(Ag&w$ zu0wbYz(|Y{kQZ_l6j@=6dpO<}_;NYJ476G;iC%lBAWs58z{?tb{y(=Jj|LZ`-oA0| zc8i*CjX%A+k~;Ok)uHrA<`Iy!~cOk<~jjdc`-EC*(K}A&glM#S_@EFDaaQ=Z^$DWy)E47 z?3xg0AZjfTl|z@BjR|yGl{W?65ZEJrdAH%2)G^63pBai!=X${wjJp_QDY+B%ybGSH zY-#Ft?wd50i$?>3SCCD(jqfR4Gr%*Hc+X6HdG0t&c##uCLGbbkn z%9Vryzd`hKy}Sfdu{1Kh|O8mEeUoa7v7PX4G`bRpELk zup;k_wXrjGJZrce_R|Ax1KP)@k$V!YU^;G1v!c`#GRFZoL3`9duMO{P!|MH^xW@(JvHY6kfwQA z6`5U$f`gBoA*{VH0IJNaGq@WFfDzSvm*alDl<(Yn8z|}uKLkp&O3DzG>y$4zhJHr8^v>g!i zW0doNwh#~@%!4jCH{5*&)X$WoeYyGY1r>c<;TZ7CT{^c4-=T7-5~uoebD`IsIHMwx z5uL)w6n4GElII){1)*a?*WBodbvt>2?M1tKTN*_oMid91y%WtaoVsGE- zrFwN++XzE_chjGDZc6sWBCH)6O&>h^GFJEFoIu(geFn<$9C-@SnFBoK_=MMpu#fPva^1hX?&xcR627ixN1 zMJF5XEw}egY|4G#50?jW$Yj*SEC`uEXhQu%P* zIlB5fX?Ml_2zb6ljptu;!oJ5&5v>Wi{{%s{9KI;Xk!re{b_^`mE|{Ls9jm*7R;5ur_SW7%l zZWhBlRcSyqgwOyeLJE(5grkZc0dwGNCbfUwW*lZnk^{2e1Lluj%cAm%F+3LPO6{Gh zgZ>VCzHwQlaF4+CfSKkq3N^<((fgr_8qGFILOB- zom>^^vVFeq)&BJK;Ix58&F(O;aFTm7z(HUMmrp~2J{mfa-Y75N=F`BOUv7;}ac}iy zh5=|$WJ99fe!cJhn((xM{F(HY(G6OD5w{4Co#%fK~LqSfkWv;x9B)4GZ()7jmsvWrb2*FWm!CGubvQSu-A$LpQ6Gf%Hzq_ z+J-Se8o{r~cc@G?q)q1GF+d6I`+#dJ6bKQ%cCw>x7J$)}Q~?iD*}7`P&8z`1iF$h} zumB_}9(MrW2hLQ0OE_TAWumfS^o4pafDh5-Ag7IRcc{nN3+zm`);^W?W!8!k1wK$l z6dtfsReuuhPQNOk3Of>QwqHft``YafNjwsGSv~!6Q;+kfi{@ZGW~kS?(?jk7mIJe| z1cbs{26?&4)nCqf*7?^2iJ>Ig>~29`k)ihLMGc*q!&5Hsdd$$Vz$a9^hg9SXmm?QK zwl?>i?a%A^`l>%#Q0g3Svwwl`l~QgHPi1LycWTdc8=68!Gb&G&cy;y{0#h)M z=gGfI>c7yVg|;=6p$zEz3aH4*n7;g$KUGqb6LBspQ2oZ_36O6BLo>gB*jpvuj|#7+ z6rq8&)R+-_1;TQLPXcoa=q3yLSKxKynQft-)SJZ>h-Ogn)xkO9&)$TZn-o3>T!UPY zFe)A*{iq&S^hlMMeZ#@jp=+KX#s78bkiqx9-~j235H#^Vt0S?-zP*xR;;Xqj5w(A1 zgWrI>qlQ-#5$l19gz2z8g3o>nkGTyok|wOqULdK+(*sd!TmPD?nk!_hn1P7(Ag&w$ zu0wbYz(|Y{kQZ_l6j@=6dpO<}_;NYJ476G;iC%lBAWs58z{?tb{y(=Jj|LZ`-oA0| zc8i*CjX%A+k~;Ok)uHrA<`Iy!~cOk<~jjdc`-EC*(K}A&glM#S_@EFDaaQ=Z^$DWy)E47 z?3xg0AZjfTl|z@BjR|yGl{W?65ZEJrdAH%2)G^63pBai!=X${wjJp_QDY+B%ybGSH zY-#Ft?wd50i$?>3SCCD(jqfR4Gr%*Hc+X6HdG0t&c##uCLGbbkn z%9Vryzd`hKy}Sfdu{1Kh|O8mEeUoa7v7PX4G`bRpELk zup;k_wXrjGJZrce_R|Ax1KocHC^U@~?du^p)` zUYWV83pjwm=AsRF!2zVr7&SmC@L8hI!4vbiRo?EuB@aqB$Li$q7{K7Qu&YRiG3uBd z6V{z|I$hD}_x~mZNVmjZ3Dz(_z8Y#u+{koI9(VwrSv&KmRM_3YmRR#|QbQ9g3<2%K z&4rr)G|*U57LH{5fJH2v-uM@PjTebzPXXWlgV2DbLrV%9JZFUCU;G-3df*l?I!9T` zq_zOJt{^B_ZL(Tf10i)0OisKxNp#70^bTm>KRoSHS(SfgvfBXGKuGz9b4hmmP3lQo zmS4|2n{l2uO4D%ek7grlK``>CD&!@7EV@$8+ly=?P>CqU7?pUBv*#`n?oPCgead@z zps}Qk|H$CcqAD*^5S&RTqo)=s>pwzlsHO0Vh1?FMkHxmi=rMR;o?6SVWuDHdoEHcW ze~cY6aTchFgrb$orTq}tmYeGVyB#<^n7(~}5qU!cMeEJnPC+A3`!irJ#yk9T0!Xz) zYdyRdV2h`v_|C)!IZK%|0!o-HA!8M=Ytfp5OZ2xlna^ z=U8g0r-_d7`*Q3CQuCA+$P1cglt13-Kgv#o*CINA@xLu+M5{CH2ffV6k_P&7`A-yA zXd>8ys0XS+rN~BsUK~Av@87Gq$yja&Xeb%o13DOzfBXj`HR3A(tPP<60000{G zK~z}7)tPH-lVudgf9L7#Z5iU&3JxVk1yLbUAYjxO<1HFgFkUfE1>IWIm>6$SgGr5v zmk&mhB?=u=iC{ny#Q?@=q9_40i+CYUqX9`|1NW}mn7F>(+UNLTn>uVqE5pwJx3=f) z`|IYDU=NnqVrWDeLDfGaq5{Vpo61#BQO zp{b{{XwZ&$aFMFnSYQ>t2KfQF1u%@F6jCC(yt*^fC>zKf6;u=WJKCImz{!+HpXQAJ zmXlT-ZZ8yI03<;cp^5V85}(a}{%bsN?ueiO#wV*_5g4Hxgrv0AKG=&=g5B~XV zFQa|~P|+s_a?~%2fvi=%UUPbm!fGH>M!;4Pc|4c)YCv8E=C#K|)5VQB@1y!kv@x@J zDDuG4ifF)}tyAGHV8(v{mj$+}$jWF=;Yh(P*gM9#W<1zZyE)|~h zD!er%AMQ$3TWoxFK(be&c0MZe5M~3B0^tWinn9aI*ioh4XZcRI#|1Pm%^i#jgu<2m zCRge6NncI_U6bwMu73knXprC^>xI-7BVtl*;fFe6;q%8Lpx%tHz214=XM@v>iv3>E zt!~Vz8%vO>y6`C-mCi>ZESa>bZ@1|VWau9k`(zks*FDauSs%M$_<8yWwW#nOR=4>jv!j&Jp@MWR3(mAw zE(R`FWC0K!p~Y{CCesV^HvEpbbLT*Q6eSDn6=9D>_K2!0NUw@^D;hGGh^n24%2b4D zAZHFtLW=rX-D1qF>J{nMf=?zl=DZ2imbL7Kwb7Mc?TDttguMGfzbfRYbo=nGQrKC(Rn>S=esp4zLs7g-fTt+L`0)MJCGFy$Et(MaTszo@#La(T%R3v4@ewUTt&XNA{ p$fwR_!C5&q7n-2AuBw5aKL7*80V|gF-WLD>002ovPDHLkV1n@UtJnYl diff --git a/Resources/images/list_details_default.png b/Resources/images/list_details_default.png deleted file mode 100644 index 82fd769a35d2408dd5ce7fe8045d80df49e1b7ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 771 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 Ef*{M#nE(I) diff --git a/Resources/images/menu.png b/Resources/images/menu.png deleted file mode 100644 index 2aad3f90c63b78a76bdc1a583ddd923dee523167..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^!ayv|?A%kFN_ zF7V&*EWrK2%!XR0y^Q^HFL3#&&kBAuU-y9h!iG(ZWnEeu&faY!3HGtR?Y^J3~Wi>?k)`fL2$v|<&%LToCO|{ z#Xud`L734=V|E2l@SLZMV@Sl|x7QbXxdaNZJ$N6pPQ3e}R)$au@4klo%|};AxbP@t zUEJV%a6|T&jXF(<%?fI7lQ-=?$@$s#;CY_nI=}7?-k7AOXZ5UchOY}-xp!{iYp!XN z+a7V)Z&JYf9l>6j^)-pgNe4K;O%A!l{mgb<;pCizKx^#-D zR;IZBNv)SVT#qohpJdziVuR0)ld0Vua_u*~gkA}shpG|o2deq{IP)P000>X1^@s6#OZ}&00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy000McNliru;tCiICIo~oqm}>w1O!P$ zK~zY`t(Hw}R8$L84Pjad;h`DX|GqB$|kcwGEDxh^2y!X&K(!%Zt>~UT9*M=mSOs3NqGXy*c97w0r$BV_HWd$o1i)M6m z^bHX?0?esuVPs_F!hcAD49)|-wYE?$moF_1<~U9ocuhoR?%uuoiRXE@>i>6lcc-ki zLx2G~7c-JY4Z`8@1>i|*?aRv%WV6|wB60$#0TJLw-}h6V=PfKlGz$FW`+leAdAs7VCnaF{to7SvZ^M|T_0bH4zn{yi!f(814 z)@rr7-Kgqr;7&9eJ>6_|XU?2CX^hzpd@3RzT5I=?jg8GWaXAH4MP!#aj&l)Ma9uaO z95R(kMG}d`TY+ZJ0#5;PK#ehvmrA9nMl6owd<#SjumSk35wNADr4u*;>{HeIf)#!h zX!O7eN2mg{8lVN3ZG=+Q`jdXnb=|!|DX+$E0&C6ULnD;yx<6QJHv{KHB+EURh^zx< z3@|Ms8=Ha4^$u-qZQFp)g7#lYCX-L7>gIs- zX%ShNoSgi+-lw&-bwBW?h`c*AG<3lL_`ZJ>xFjM+y1Tnm^$x!8UjzOQUbg}70q+Fu zT!EkK@wr^C1NayikH_Q3{uIpZDIOBti27xU>yY2^0 zxvqP=L7DCdM1Bq!H^%H)%wWaaN-%H^1Fb+67zZjM@~5h{02_mI5CyJ@NHHFd9~&4L zsIBTsR9A}8+1c5QF=n@_rUJr8fEnOgKs=a8B+d>D3{)G%`3LhCo(*#Tkih@|002ov JPDHLkV1h=n4etN| diff --git a/Resources/images/menu_about@2x.png b/Resources/images/menu_about@2x.png deleted file mode 100644 index f4c1115c0a83199b82f45046861d9c53d940f55c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2275 zcmV<92pso`P)L?u_tti;BofL65f{^>O@XF} zN)4iIl&j zKiDb@0L%bz3xLV~E$0Dz zNJOVS&+7;9CJ`MlP4ges&`*^-Y#7E&W?s(BEdXYhIZPijZx4k++d4Wr20m6Gnx@So zqGtd+4nV1rQ9S^EWagh+mi6X!1)^!%Gyu;NQOh{bo&xYE0B;jfKM{RMMCUxuBOOkW0_%dexHGrC&u9M8%rYOqJR4Vn)QYJ>% z^)LEXT>+pjr`u-c)s|(wS`{FPL}G$%+b;rmDyQo$BHEBnr}z1@SW&EMn)V10{S3f; zIelBg;qcn__V!DK1`vfhqtWPO+qPfN0bw)qsz@ZVAe~PCp$Z@XfGx|~8;L~b1Nc6G zA*pYbZQJ{z(dgu|EV5|PqA8OmO-ch;FnTjl4>K>T7G;jt8XFsDIF7SR)(zkd$8qAB zOy+#iKzw(49e^&0e`nkFcYAw#v!$*tMD%&j^9BzbIM7$@bN)NL0-!|_r^4azL;2i{ z#tFiga@^?!(=^wX;zsd!d=WGM5gLh3kXLDQ75l6xfXd| zS|@B~URG*MjEs!5NFXi{QN%ROsYFxGWX$NT<{9`V$qjdrKL#qoZShh@O>PzO|vD;VV}GQ55AT zlB>NHi9~)=aq{GOTuoZ8sj1ll;8-wEuIv7E3=ltyT_VlohGa77m8tKTG|rQnrhOFv z8X6jA0r*kA`$}*z7r+Kd^k^&=n?4GJnU_n}Iq9bzWi>@nwo5DX6e2pR>-xW4*F6Pb zx)kg$mot7O64?tNSdWAd;#)G17RmS8DoHy!J39xN`3V4yB)%;t-G8Q7#>#EUWYS~i zt&*q(0EBOv+0u;etkjn+%i7D#27tH6EDFp6MD&V`V#kNXn#0U@yRKX3?=?OX=mFpwhH-BymHKN1>JCak=Bs|8ATU{314pCLTUAwU z_p{ZIKUP6ba9wvUfU&Y?-rjV;=DVB6aBks4L1JAsJKmrEphWVdIt z*-e>DW=IOqs*#A}I3Fp>D5Fmi)fkkS|C|TRY(-JNhmWZVzXBM%(Bv}LjSkQA76Mqw z%yL$6&-Hq7RaK`*mmjHqI&rfffK$sIxT~w{D1f7yrnvwf@?G`T>jlJh-Kj#1I@FK= z@Hg2VDmJkYt~_zq&6R|Zi+k@0zd9JSx%iYcX8y87QhfrzU!?xUpB5lQ6qP{r3eWSp zr2aX68S@j}48xcSV3tJ1U81Y2>+e#24_vOre$w4)nRIy~lgYdv>_@gs9V<}5xd}6q z^gnl(>E*kx#Qlh1<`t5QZ6DoOg+ifil9D=2(;g`!UB4|Bi#g&3`&~@F@LWsl6{2i(5R8D~Q zOQ2Q?Ar7mm+Fh)!L?WRO(Q}gMH9s`2@H`Q1WadYGx4OT(yL%;o%|*IXoQNjoi2ny* zPjhqgXrb=n#f!Uz5NiR*R;cgk>A4-iHP2QC2M3=fqIp-;^2V#mLFsh*7=Ufka~m5Q z8)pD6~Frr4ay9sni)FS}BPZ*tXqvEgu#_yawQ3 zWiD*HIy*c6Q|Oj#Hv2Mw`I2nS{{8#M5XpGQ3Y!6}l4k5zmSwHEMwy73o11G&0de8N zh3t3-Hv!dlcXz)CV0F&B{NO6(LRsfhN$HdUk(6^5qIWk<3G>TQGY1&dE z+KjO$QNZPINwzZcj$oB7wly|3&Tw7#aX)v;-P8>d(W+w48%s*u48!;wGjC$%)^VQg z2XK&x-f>;GUscsJ%=}-^^GH#YDaW9DARak?^@%=^{Q|9{HsnNtEl`Mm%D002ovPDHLkV1fbKD^dUe diff --git a/Resources/images/menu_assistant.png b/Resources/images/menu_assistant.png deleted file mode 100644 index f5f432e16d359f6b82951331529e1b702998bc40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1492 zcmV;_1uOcAP)<2WOK?3~bx=e3{3c z`Okm;=iK|hN2oHoy1E*R#o`)OT@K6xW&wl14pn`rP$+BylqrN%^H2~3m#gX%z-(X` z_%uE?0gC}oL_YL9Z^hQFTL=C(GC>erud0s&KdS0Y!^6X`_V@RfD&y&NdQP!eyjetU z0Dkd2uPvL+ep_=gzVDv}ya((Ok@NHU{0|2qy-Za%iO4rYLqn&JCtPiqLySKV*TE$R zBLa}m=idY}s=9F2tXZokql`JopUwl$1zxn)epLm8xt2>Q(iT zn$D)UUT%-oc{U8gV-K-Ft^rm6?^|noYDq?dAh@PnE^hr_lzx=U<@WriGU;?WSt^x21x|9#E$i*=eS0zm*wNAP zf{3gF?zPt5*4f#4qI0fERnLq~w-P&mD^&I5LZOiVR{WkLeTf;D197WNGs`?JFK2~IHY!_z$pNmM&_x)Qc7@qI@Geu+z@KqE=*A5H}xQP;J zZ*NZ+W4eJzL@sD)X_>F8y+9He0R9w_JM;Pcqs`6Dp8(Aw(gb`5tY~Rz`EB>^-5(fW zIdC}ea9>|vc`~Yap63J2z+=|h{XiGc2)tpfU7)JBsOl=;_eVrzgNQtCt(_?%6;-aR zq^T2d$z*cNr1!2Oo$=|bVHi#mk%}+P^?mH%Y?0cB&%&mwXmFcTo5s^0*C@B7~aeZad>6m46&bm`7a zCR5eSQq>=T)7#tI>w(XJB5;}Kd0zt00jquAe+AeIq=A%(JSif_I_K_*G5RI;q8owp zW5yNp{0rErsymG_dz^EF#+V^se}#l|&J&R%MC4*sO#>HLYqP0TYN6+OUjY4MV`Hg? zhK8q9b>%qzFO|#XHHk!GEpQKThqX47h+B|#vC++rqNp7>8<-EAEFu@FYMqFnst2a0 zqD+6px zl}dArF^!e{#+&sKV@$~y^LrFUV@sAS`683axG)T-MN#yYh@2PqT>`v6IyxFmpFVw^ zs;&nPi=BPHF(%06a{a>p6fvPUjWP3qy{dW+kOj^HoQQm+s;3!a(z#r&zv{++D$&~7 uTG!avxD41Bs{!!5wf5@P*4Dc5ZSda+rhCqlFgvaQ0000#z1&m=B)d21TaPnT<<`YfRW+xJffBqzZ z(RFKR z&CW?ClUsl2eHt1XwB^f}U%<={0thRjbD!flGy4@Vo=tf}Q6HCxX4m%X^>FNx?C zW*(uCFA+jKQA%L6y}bS*pG~=bZ$JS6A;h~$_0Hf>rGyqYB^oS7R zp?$%W<2b9C`CI_fBOMS31b*KyfFYs<%5+O86uNO=GUhnWQUK2@>s>Kp#*C4D8W_Vc zjsZ}kkQT(_@ooE>IVt5_03F^mB_6V5z`ubtIuHWmr?#J+Lmk<%}CD^hX zm3hQ4jFf4bC-zC>Ygtxc`0(L3N-19?qN%>?C4h%q*PYkW(jxbip*3sPY#lXf)G7ee z0jTN5&jDOiU0r?Tm@#AiwRY{=9Yu|weuUm1K}3H;*UBBxxuNzvfcZj*Rr`vu+S=Md zWo2bo0hk5ApLVnXxS^Ok2lN9$xsr$$`raS|cvjQ2d5J{gzr|uO5{V2927@yJ+=9-A z099=l+O|ErTUox_$8j1uW%fvWRd8!Y157j1OjgY7^IN53n9vjv0kvy zfts3{vQ#Sd6o4~*YO^qt$=uf5+}vI&P@>W3I4R{zK2ShJi%aU2EXxXn!{KLrploO6 z(}WN=l@b)gFeXVUmjf81kXr#D7z3beMiHhHm9UTV8^J=E0Hl!e3L`-tdR0JqoH)-Fw@Qs39A_TuEplYg5^ zr4|4%0sK`6v8YF2JP))Iz^@cTYX~8dr4Gjp!?+f}1B&`QXWRC9`H0v9dib?a8_=9MhV z3J}rl3VmH=Wn}|;VGz-5r3M2cx;Sqz3xKklsR6J!o6RXS^nHWATUA*ady5v z&2gNMgb+s&(eVJD1(5T+>`d%x7|4TjNf)og%$E{T{ta!YtgL*#H>9Pktn3`s3u&5m zn__pW0GyZDw;GX&NG*K7mq;Yu&QAsp9=rj- zN6PU5xm@l#0BCM*ZXY~&@Rd@^)y#YofMd|v#}@`L9>C4PU~si*n%5)}iA*dO%Xx+N z8+=vC#CI>HwYBvG00$@sm-GfGr<`)i{>(gGAw8`g_f-27D7&D{d;|cPrg^L9#Rm2y zkj(s`VHk5f>D=FEh*wUTGG(qJt=f3yU}oynsc-cLFzxN_;{oiaR!`N4)-a5}19(_X zV~A*xX_~dnJWqY`MD!ehOTFJSUg(h@3v^wtiO1vHyuRf87?(<=p3`;x?)v)r@*p!G zsT^F@(9j@zNsT5je^Z%%7c|9qSI{KepNYdk!hNX zm^qHlmRpU8{s_R7QZ6K-bG-Ay04yRxHk*|i0JRZk6MAn{DJrts_dUVk-2nMaG#VX7 zL=lC2hYu70fNk3j5#6Z<`H@KEK*w?3Ea1vVYEYVu0qp2SVAMphwTJVX0nFdAW5=JQ zlw(!Za$Wba9whQnH6RRyLis)SGnn}?BHGX;jv=C*%9|?dEmWAf+*i6R^nmvWA?7wW zH@6c}xzF7f?1bp(=-BMLPdNYxAyzq#b2&3NcL9c()s~K7y#)*reWOf6J)AnpG|dSB zkjv%1@MX_q3tbcng}QW25f+?MrSOGGxg6UVQX45yib^b5}ivnLo%!y#R(8hOv>E6Pl(a zg2ABZt{_yT@s;xM)xKjHpDhFtT^oAL;|5zWkZl6rgK_c62D#r{+* z7V9ug^H63!vm5X;^U6N+y##_psbBl!!LxYedX^uH!h*spr(y z)eX<(avSsK5YgkdZC_>>#v}l*0vP-~%cM0;t4|~nD=o_!kWQyJVb@OT>q3aByA`S| z%NnqC>((h!%6cL?37ub`?aBBCom~*E-Y@ID-MptML+8h$6^g4pz%#fL@--qNdcn4B z%U8g91iU1qUNjw+Qno6Zk_B+O5MoKeVmJUy zpFaI(nx@q<^RJ1h)?+$YLVLVL2r*3I=WtEaT2v3LY1*;=&A#c=ryr+jT0Jw5_V&@& zqO)7#-EP$PW@c6czm-CWN$BZ8o0^(70$A+*5Q#(vYMM4y)3k8_#(5cRl^2x`EJ9q< z?8~LT3Wvj+0351h*R!M1=%1yO3y3H!rCjJZ&N~3!=}u@&(>zT|c`*^K2?m4ryRLh& zPpaPQwiv#rqpq%Qxa+zjHBB1^V2G4*i05*LDB$PSWv2=xGq(|u1dwLtHUMoz^hG9< ziTn4jbX^}$L=J!hRmoA*K>}D#L=V`u9m{9!?d|Qi061SwJABsxfXHMrr{>or^s`X_ zoZUts5SY-|*!aG#>kEkJ*6+D(7f`ws!~4rvzkdCfRaI4uL}X$2CIeCe#?0u^qbmTM zjjnr5>=TIHKmqpto5)@nj^q5BnRTTa@TmXe3nH4$%!>ikDr(yVV6;*RT+$sV{Zf_G zQBzY>HfYeG0~3kFX8_1Bj2%8H@{cEl5Eo9II59MI=+F^~M4|-+8XklF85r+Pf3`~? rc&=B33U{Z40PY0+SymsXGumfldu!00000NkvXXu0mjfRUHm7 diff --git a/Resources/images/menu_copy_text_default.png b/Resources/images/menu_copy_text_default.png deleted file mode 100644 index ac945fb5e89872922cf303e1b0eb4eba4977f6ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1370 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 Sx_thHqpfbBR(ah%;(q}1FC4`H diff --git a/Resources/images/menu_forward_default.png b/Resources/images/menu_forward_default.png deleted file mode 100644 index 9a5b9d85f6f5972047d25f56f0efbede66322cc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11917 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 NP<1`EN|n12{|`5nfz$v1 diff --git a/Resources/images/menu_info.png b/Resources/images/menu_info.png deleted file mode 100644 index 249d74a56d218fc04d8437e4bab216b773d1bfd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12813 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 CA;NV4 diff --git a/Resources/images/menu_link_account.png b/Resources/images/menu_link_account.png deleted file mode 100644 index 0b84e1478cca442bad6f5bfbe3b9df5ae103dd96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1655 zcmV--28j8IP)6kHTHk-Z87;_AG#`paV)8ReO+Y4+5zF8bgV3w z%g2F@s@jvuWVTQ7@izni5RqR48${%VOeV9u7LZD%nndJ95xE;U37i6Mwrb>m(Xy-| zV7`ca1vss$dpytk{3N7zs_L?QKA#nl&48%tr`N4px5V?jIq7uz{f^^o2BISJfbaVs zDwRqfv~Bw~E0s#U*Ymumfga$`s@j&%=O3+9DrL|y|P1Flr7)dE06LqozCvs66K+Z{UVXQfhU+mRzj-mFRY`z*`)6_5n(_I>|H zHJSM-unG8~ZQHvn%c_*i<=cT3z-(150j~hh&z(EBSS%Lr1HK7d7SHnrf#tsM$Lm=> zB>oL>6L5#``v=2{v|UyAhOjq*9|H$Pv;4WYxfQTG$LI<9x zM;NAVnX29h{2>yF9J>0xTrNN5ILv zw$B@5dVn?&dDQ|cB4X7cyir7c8SbsF!NI}Ni5TDapB0gvzz0~KEKBpvle(6xW^dt zT(w#~0rZQ=*MK6hAGki8ve*GefVHiyt&!p3;W9u|Qm%K=qg4Qxp!lZ`&=to6X+fIL;uj zSws#1qrms4I3)g~bYx_t?7D6d_-rH+xjqPjgA;)xBO~P{OP1`fR4VPjmP8`4Kvlmb zBDbpQL%#2SskyoNSrNGd*gBPBnQ*%I0iD2B-}j%aH=(Pmt8sjMyjMgzfVV|tTRxxP zSCj6WLiLM8WJf-q|8Cv%UVE^t&jDwECo-AL$Lf*x_V$i9Ha2zv`;9RjwS-}LJZFr_ z0Hdn9C!J1jno?=FPK%5&1t1RG>-+xRce*7~sZ^8WILCpQWm&6ox!kEqm4>D{Wm#4m za2n|GJg+yEN-g+b3A?+yEyr>80SiUso{5Clj5M*0j*eb(UH2&wnFnmLENe$1k(ifE zCP#uGC{A-9eo#cV0X@F&KRm6GCOO{LiO54h`@c)E9s>Gp+diVIr`y}x&kYR?MMY$O zwOY*pj|0aek;sSp`ug6U5oyi8%SVhcTSerPz;#nVi;m;0?Cg^ z@s-AyRjS%7A~ygfRejyEte48=@}WYZ@cL9S{sl-dh3LzWRXP9w002ovPDHLkV1mgO BCxHL} diff --git a/Resources/images/menu_link_account@2x.png b/Resources/images/menu_link_account@2x.png deleted file mode 100644 index 2b266ea631635289786dc821ebdb97bb92dcc753..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3205 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 diff --git a/Resources/images/menu_notifications_off.png b/Resources/images/menu_notifications_off.png deleted file mode 100644 index 666c09f17535f5655a3ef444979bcb89703bd42b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7135 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 diff --git a/Resources/images/menu_notifications_on.png b/Resources/images/menu_notifications_on.png deleted file mode 100644 index 020cfd827adf8d189464a0e870ed8eb30b971b70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3913 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 XlR1Bh?%#O800000NkvXXu0mjf-Z^TS diff --git a/Resources/images/menu_options.png b/Resources/images/menu_options.png deleted file mode 100644 index e123c23e816f275f69199a5c03dbe5c409999849..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 857 zcmV-f1E&0mP)?R8jP0r|!B&h?0&1j~Kw*;HJV^t^MP5Ncq#J1$E{ZN( zD5OZ+h0yMbi2pzdRS~-Iy&1faXlYuCREe~hF}l#A7K7F(^WMzqA|s^rS2{C-i+-2q z9`5&^U*CI#HlSE6uJHZr7ob~#mq6k)t?qHo{ju23w1G=}KXU?fw+MHD8PM&%pP2}P zVEI2Btqnc}?QNb*Uj^w`=jU;yY`FzKQ`T6-*nx(pbzgjegW55<50;pE20SF@O%Vx7j0CKt99ci^- zVHkS1Z_iBvn*pcFT@l_F;d+uJ-OjnWhrV8`WYg2r+SS!{vR<#h0St(+1~~0`=EHKi ze2wRYFbusg470olcw)_ZdU`VXe15et=4up0_nsSBV@^H;azIU$!?jwn*E#o~6|zSf zWNh!?Cz}v=nKLCj_@Qjxc;xg!)fG@&m9LLAo+90#DGdDXs z*L-J8y#N$IelkWrj^p?g|D&Dg?d^TJt#b7^`6?6&2UPh4SSiA^s_rS3N=vTgl6R1f zj>4C!8~|>J@U1GZgM4qT-TWUEWax7ddH3nluf`ZDs_ImlChs}tQfuux5p!Nu{{;E< z*$SdlenT17KlMd|r>X{Y!a0`$luD(G)(-sztOV_OW>liyl4>?QJiIJP(m9adjiE1! zqI(PJlSvWA<2c^d)&{XQ*bjOTxCZ(gNZ-O%C7Yrsy3mw@JPDP`%*3iyt8W-XH^^F5 jel&*daU7pp>K%UrcR~(hA6)!w00000NkvXXu0mjf?h}g6 diff --git a/Resources/images/menu_options@2x.png b/Resources/images/menu_options@2x.png deleted file mode 100644 index a9a8fe4275d8439dae34791904532d810074e5e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1564 zcmV+%2IKjOP)1$XybdYvyiDk>K_u~pBX?&kVJ)` zV5%f)&}amaM2(_B{>@0pvf$pk)d`FVW*WX2GqMpifrxRNj;+$ZzT=0L@u=-ubfd3v z=i58?^z{DTx%ZskJ?|1+Cc$8^Qc;xE04)PB2S7Q%KLKPi+uLKYSZ5)A$W5SBwQeC1 z9{_k-4wEDiqNZuS3V=uQ<#7urUDs;?mH?*YnXfuy#?9U{XS%<1eZ&HRKt*L`WhXOk zbf~`vcn`A}B(m=W=mE!kSqKUmhH)e(ut+50>FMdIA)<-J0!Ae2nR)G{XJ+h3rIPDf zTU#whL>DpR5CA3ptM34NL#8ig9`O79CrQ)v0{|i}+G;=a_V&!}=;%mh4rrRT6`<$x zyWsr-;CtMa7wKR&P(#u194^pDSO8*Mz6^71mnA21W)2VkR)7m8!rO|J#-?B}_=ch= z{^Eh5z09ad@2?PmE!kc+GuLGRsA1+Fr;TMH%#B}alYSiT~Jm`GZ*PxdT*hTw+`~Bk&2K`X&~40I%}hS# z)LD-q|2yaZrI#!#FH@B4hdXmfLOuN#0B)EbCJqe4-X4*+@@KvfnK zFM!)qsnpV$GiNq;cX#)e1TaPMZ2|CfmZ3z3kLv*n&6+i9S65e8vY5a`0n2YT!0R29 zrXS#^Dk{n+N@{+o0^&ihd5rWePG~1 zEr1^#J&TpaW;LW~+Oq&{0Z^X*K#0SpX)ekU*(J>Q+y!~#FJ`zRk9=@NjN!8BT#(GMU1;3mh|AQ9%8rg^%Uz?8!F7A?1JZUZnYt*T%~IE$&p zOpi!uoG$hzE2!sT7{+;K`wnIt93l8!LQq{SW_(tX>|WEfc>tC&(=9|OBf>AtY*tlO zH8nOiCNM7JGA`rtf9rW%wP>0)nTT#kCX@ZaVDNl28nsInSTGn=JRWZY5mo`1=NLK% z@IE2LYldN*FDYQEs!k>H90WKpg4yrPA`*+Wd{q*_LZQ$^+vcMgQOYH8A!wmt7#&5S zR97Rmjg6U0j|fi=MUR&O_}Vd6VcYysBoZ0*i!`)&@#3mPBJm)A$)j)-TMHH}$a>$Ysi|p@h<_c!Y+tPaye{409fh~YK4AFjk~neV zgcmtJy)xrx0JGDNNdOl{3DloN*fgqHQB~CdkvQ(yJ1b1n+?}PyO;Z%5^U~D@B5XBH zbAxNMqTla7IaGj$qw0lqJ-@&Q=Qob^4PvnQTPu|_w*q9ot|Na{|iYw9)BS+@| O0000>~A34`K`lLFVcCu z_n!MX=iYO__Xrs_F)?xL;$plPbO*2=SP-EJ9J1D)rB9PygT|N*AQspFTmjAjcLJM$ zM1-Bz+V}eb1lJGLYPC>RP5|pw*}HAq)^*O=$DFhGdoPayS5!F~MbQHT0ov{Mb`ds% zOg9?#aJ^pl-MMCS_O$o%6cDQF{(%5M5g-US+RLHYoIMSE1u{MmKvix7$mjDHGcQiK z1l&Gg1}Xsa^YcE-Nfpg1kbaKnU$vV65JgeV81v?T22iC2GWq`<+{6G?eoG}fpT5!r zU}$J))e2JaJ1qJ2lfh2_-iLRmB6n#Cq?vLY$MK6v5^m`WAfj_iQTd5<<4@8|Ud_^* zFbp3K!_Ll1rLyLRfKI3LIdEA-CX2=5YUkV+pdSF`QYrelR4Q${9wZVx1M*Um_zO`K zJ-w3f1+7-ABSIZ?Z7w%-7+`pK_*vkD2#<>d-x?GBVvMOQ|7s;s8g0oQ+y-_R{SNHt%tJUf) zah!Yx`UueSKG@f6&V1RsDTqDnf_%>Z)tkI_OE3kwSilOP9yJm^UgnaXNg?o9=7J8)Mz{IzrT!7M=6 z%H?vwdp!k=h;Ss=3*ekP59|T<7-OCQ`AC(kE0tq61Ml@9FamlKEx3YMn1;&`M zcDwyH$V2HJ>}oXZanf@h*o-lG5jmjBlqz0?={SyGX|-B^bl2qmp_E-v)wQae0{^^o zjqm#EO##NoEBA$A@*c=K;11v_@M93jl=r$D*a6Io@Upe`T|j&7lbJynCij4h{Vj+Q sV59dGK;IFOAA%q_G&3{v>qP)jED*S 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 E15Z#uYybcN diff --git a/Resources/images/menu_resend_default.png b/Resources/images/menu_resend_default.png deleted file mode 100644 index cce92a4b91ced6ccdbe877c2dea68eb758cd5e62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9673 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 diff --git a/Resources/images/menu_security_default.png b/Resources/images/menu_security_default.png deleted file mode 100644 index 51ee24fd9523557a600a61fb894e5b464c41262d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3625 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 diff --git a/Resources/images/menu_voip_meeting_schedule.png b/Resources/images/menu_voip_meeting_schedule.png deleted file mode 100644 index 9170b81fc2c414e3fe2b246eb3efd77c2833e66b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6569 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 diff --git a/Resources/images/micro_disabled@2x.png b/Resources/images/micro_disabled@2x.png deleted file mode 100644 index 313b6b118eaa6b141ebe21b646a11d14436cb12f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1943 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�!5u&)D5$Z_M2WHj_%2R=Uny`j1J9z|FB|xMu@s&Z z12k{zRn3(^E5cR4IUd`R2L6PynJ|w_HwTM-x+o5y&jFwF1L~?(g@q{db1v+kHRP8B zUIShs%091_P+(YH!r4@@8`A||Ie^eqtaDvWa3{*@;g2Uv_g_HQrDrTa%OQlcgDFJV zVF86Bgo|>3U0$#ZavNgtObIkc%NsVk=1q7|fC$w*${@2)&Zdgh(lzpNWJSZuI);Gz z_z;8;AENMo*ohiS^9TRzrl1`-*Y;{5*7M#6ZSPM5dqz5oDnHmb-9W-;@eFXeB>6+7 z4CDGhZPL6EQKWUY6d}Xigm?sHx{tB8k6COlMYH|~I=8<}e+l5` zrwNr?ipX`I(X)n!irkCgU4QiF`<~C|ob&mdbN)Ez^F8O>cgCNUh8%`~Kp<(r!ImKM zjGrncDY9Xfpdk=QEFlnsaRx9LjT@9uzrYY*5J)E@I^&eXD{Iw`E9a9nNni`;&F=T+ z?s5m^;ZJPj^%x#SBygrv>q7uT=ks+M6;*{79-B9sexCoRCl#lzk&4GB9VhU2={Ctq zvZ-533zMG~)HICru;}NVAW}`rEzRS8)JIo0^u?u0)D3BlZ--_Hf50reMo-|WLc;E9+Oum5xuzH28bz-yQBnbR_n?pwR=&4EGhw+J4e~;~LP}d5jhd17DE8-$~)#ZKs+f%qGh7q|-vV%U;28-e8FS?D)sTZAki<2>_6#wc z`;~_af%>X;EltJVZkQ%v13PjwBrS857^T-WCA7ZwNbNgps`MK=gY9(^MhbAcZZe1n zJ^FW<#>4jTS}_Htl0r>Ry>`9+z97!OAjO(c9nGX#UTzmgMURnv`wr6YMd7tO>t@2` zUc>&keU@3GR{pP;D9fi1-J7hk-G;U}RB~>q0w8-Jdi8lJ*>EewZ?*I9a7&gp0)j3_ zqwml9aCHM0JY}|B@WB`Jg00|n-twA_W!S}@+AD;1QyFCXTnFFo;2HL@aeO3negrkF zHR8xcwYyJXJqVmeK1GzkCFL)}fKYM(>vP0H6p)EhEk^Qxq%CrZv3g(JBZq)xP4YEG zUwWyqHu*6e@Y5l=E~IrpkQ)xoCcQ#dUyo{MXw5hD;@!kRs78S;^UI4PxH~Y7s z*Q<2=z4MrMMK5D=RhE#`WW>ydb7eZ!%|Acu76OdfHZz>xwJEY8Z!FYB)4A2h%fHlg zc6P=%m6=utIo01|dyG{9wo>t&7e zb9>K)S!@`Oj$~*g9Cl~-3I3#4FBifPjKFzMnbwbQC&!qT_-i_7FJ=* zxMbn)dc)ry^jrCCzUko(4ydTB)4HB!Dr$%Dn$+*$>YX2ZK0#w#D6;UKl%u|B%>|G0+`dQsmg69l;wfPleZh6HuK z&e}la`{c%B`mT51yh?%wy)WAlk|=qFOGb;UJ_99I9D6!6=o|mt2lnGp8Er_%VMjI_ zfJ&6-bCxXRdiBlap1y$2SYoU&Wd+kA@yTP>>P+8%p9Uej$E6+N5>UM_Vy3;rF?;(c zCW;B0tz6!vr~zyj^#qY!*0hdFh=XmN*m`8SMN`#fz~)}|M1Zvly7}4dOZ(xoE;$8qn#q>UpAAa!Q17~OK5x$-nuQD}dxH>>G43ns?*Nq;)OfX|W9<_Jvb^Hv` z6DW6fmJ7$x$v!7vTg^!9qYLm&u({8Df-HW=K{s5aaZL{p+5j_-IYWoemlMxcKM!}Y z^BOcfyt{4YU%i<!QIK*fKh#lg0SL5Rdw!tZ7EBXM5H$N6J1ZAb@rm zf6n8GDZ;Qx^oXRRSD9E(?O>*I%T0!z=`Se%!+T+O#V_AZ=HUVksQfGe?C`c#HePZ6 E1$P2pyZ`_I diff --git a/Resources/images/new_chat_attachment_default.png b/Resources/images/new_chat_attachment_default.png deleted file mode 100644 index bf610b0fb98e432ca168d74e89ad5770e4fed4a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1401 zcmeAS@N?(olHy`uVBq!ia0vp^6(G#P3?%t>9ecpQ!1zAEC&U%V1%if#hS1PZ2L}gZ zV`Cu0)6)~kwzRbL_4Rdga|5!it*wEAE-o%Wwzs#pySuxyvonwl6a+GWT%awI*f#MJ~uCA^?Hc$aj3djZu0s)*0Q3er*s07Nwl_86x$wIiu+JS5c7f2#& zgbPB%fg~~m$OhU77DFc>EiKY>m`~UxciPvAdf$_b# zB*-tAfsu)sg_Vt+gOiJ!hnJ6EKu}0nL{wZ-R!&h_MNLCfTUSrtz|hFp#MIKt&fdY% z+11V6!^aOm)nqsNY)Jay*$<*PSt-no14!NW(7pFV%_ z^3|KS@7{m-^yTaKA3uNn{`2?W9<3=`fX-!1@^*Jw61lHxCj$dhr>Bc!NXEUlw{FJw zB+9gX+%2dzX=8}UB9m!4k;0xK)10PxwC3Dg`sSvl_e334Z{O0ti}~&?%PmQn_we!O z-F^3V`tRGkr`YJc$F$T)AiCD#d$VB8!k>}Jv4uq;H(8(WlFWMG8RxSlqTW}2arGt} ztGp`h$G>)JOXc~AKMZww__gliifhWVjf}(I@3wwnd*|UT-yFsVzI8A9PVIZW_x5R- z!|jY2K2ni2?u->LuKE6CyC7nnwuVLFyk-pRg=g~CzuqyMcu$(d)aamK`sqV-!=aDa z*BA^Y=y*yqu2O!d$C&ZG^({X`nN`borYkM)QyG@a9NNlo`_T88hS_`%xfxa;`p(nf z&i8ONgZJU@KN;2`zusEy$keWo4ip0i~S zSx)*Qpk53byMsNYw^Ugeax zx_tWCI`bM0p^tvd8;(~Sd_S=G{fCcH2U9$Q-pDc(%{_23p0Vk5d;816h1&DKFIjiW z_o%S!Isbfy1($E$S9!I!|7*&n8Bs3{dfBO?cG-KrlHTzPXs5LX{mp;|1vGPIn950+X+@s3F_(U=d#Wzp$P!+ Cm^MuS diff --git a/Resources/images/new_chat_send_default.png b/Resources/images/new_chat_send_default.png deleted file mode 100644 index ffd84f2eaceed2d97132e73760b228ef00350fa1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1161 zcmeAS@N?(olHy`uVBq!ia0vp^6(G#P3?%t>9ecpQz-STR6XFWw0zpGVLuhEIgM)*y zu`!VJ_4Rdgb8~TV0kYlQ-JPACfecSiPoN->?d0U-;o$*M0AxcHI668)WPx0uMxZh{ z2@!{IU0q$_;y^Y8U`j!>1I2*~;3QlbL=Y|x=R!n~xezTt5(tpR(aeV^AfEjH|NqtP zCNF^jmsS$w7tFxO#LU9V!NtulAS5gzDkd(kps1v*qNc8+r|;nC;_B`j5EK%cnx2`R zUtCgFUQyZH+TPLGJ#o_X*>e^wS+;!D>b0A!`t13O zcOO1}`TFh0&tHH3{^L*y-37FfG0EHAB|ZA`%gqc7Oue2ijv*QM-p+g-eAz+dX#NGK zO68>iER~ve0*o6^cz}Bis@|I6FIiF5lf6zH=^ZN6)owJ)FPj-u(@p`u;A?(9Um6&r^ zRvY_2FXT#NUH(^dhUlB1S!<_vE?PSKZ`_=flU%YhJWXGpOFy=X<)YEqXAB{CH#2rw z|1Nu%_IUH5jeAzr2(H)fJk#`kyHTuo{$!SNF_XJBfqSOP3T07A&xme+73Y#I zIAQ1Buh*xq`y29I`M~U`vS0IRuFA3T#`dffJ=VKh{!ppmvamU#_J$=BmxZksji00) zw|i-Q&jv-eNh>*eO&4@dJJl7FUE8!v#NO`9KS8bUiYHg5rboZK?6)cS^syc3KfE)t zOp6st?#+;XlOxG`R)B7=nI4jaM#y xlAij-@ZPC9=L%!i*cUf7)|N3rlTHl(Kjz47m+KiTW=Mic6i-(_mvv4FO#llmFMbSWLR2Sy1BUl8P?X;KoJ)g7jJKGcXxN72#^bua&mG4vVr12hKGj-kaTu-28sg# zP!LE0xj;c68_oaxHQW z84foDZVp5Q?f{@-xD;F?To+sfje)5E*+67AL?fmML>$>_Tx!s)CdmE&|NpZCEh~W0 zyr3k=FPMRmiJ66sor9B`hnJ6EP)I~nOj<@xUO`z+L&wnA)Xc)t%Er##+110#*UvvN zC^#f6JR&kWHZDFPDLFMQGpDGyth}PKs;0KFskx=Sqo=oT!jx&#XUv>4cj2PNOO`HM zxoY*Ab?Y~5+`MJ$_8q(S9XxdS$kAiRPnS#`rXpTFDOeQD9=RY^U?xeKe~&xKBsxcTbZ zbZNE@x%D?=u3K>gJU{n5oB3X7#3Ysf8!e7BuWPw_;PFl2%MT2A&J;YHeT_LkU6nQT zK%)4euLq=}i-dm}pK0~|aA@8d2CuWN`U?-vOQ~s!eRjxkgUo<))#kMm~Rlk$zS&kimAV0nI84)Zg~ z8DZ^CXYDdM3p6a}%QdG@n%3?#ee)cS>5Q(E@(!P$>e*gr+-Wqov19Yx0*P${{39~gIaJ9ufesb9M4lXFY$gkJ28aK!e;*I1})E3^2`vJSoGtQdclVRE}^z^UT&dc8x{1#_$-mPnH ze(r&GPERb?jy);Az0TLozwp)UjQ{b&N~<%{MKU78XYAYVzx!s?x0ZPYS=_cZHa5$o b_A@@bF0nyeA;t!niWody{an^LB{Ts5+pqd* diff --git a/Resources/images/next_default.png b/Resources/images/next_default.png deleted file mode 100644 index 4f77e0c2a5cc9520ace794f9c659721aecae38e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 583 zcmV-N0=WH&P)D-HLjV!;3a0n|xE zK~y-)t(CEh6G0Tle{V8`pn?Pr5rmbn0b4;3wc4_WWeh%46pB3 zUt$T;G~KJ!YA-~jBO*QD_kX5oI{sI!umY`C>zH$H;G8=PJg!!&H~am5UYG$ur_(t! zo6Vj9mw;WR)VeX|$4XB$&tx*mJkQ%Ml}aaob?02$^SqbS>GXRc9n2F&(I#*Y_++iU zI2;Z?OArKW<#PFCQ6|>ftH2%Ln^Nks)>=QZ)^;hLqt@CjZLPhlluC+HbM79B~l)7e&8K|Pfo6TlVM0Wq&yk(3TEEN_15x?!6dkXA1=Ptx?JTBy; z1wo*-)(?RV5qU2n9b?RwmBMaL{D{_i2iO31DwRs(Z}Fu&2!i0a*7_B2Mns-uS$1PI z8vQCH?Aq;iJEG3OoT>Jn41Mf*h zK~!ko)mL3;990zl&Ye4z)Dp8w{dXX{AO(>Y3azVACd}+?wx$*ZwX_<15FdRIe;*Vd zM9>#~tAYqVDB36(YaO$DCz<|%Xsa)Z8q4mQzEo3U{dq{8**U&!;IdduV|MrEJnek! z-1B{N&pqe6gf52XdDjRbp3buDT&vZ3Eso=*way{BDS(LHWacM`=w&HoSgBM7*OdSO zmubJywmVH?+m$$A- znW6{by6&}7$`HUd4L(mqJnzBPu4|!(F*i4tIF56Wh#VqXE+>nK?j0T;{-x1qoHAMf05qG;tkGzE zlF#P{0Th=jfr!TQ`TRh=UROp7SdMzVK3ymjmH_w~JW?nWuAG>dsK#;3Mhj?*I8i7R z&H)(HI^xdx`T4x#IER|eW@fa2wurCt`TS`B_h@{!3L&;Rj`MM|*-ZOB2UZfk@81pJ zAb^c}^RjJwPZ)-O7%u<-f*{zLW!Yf>S84D`+qQRwVYpzt000;r9lgb}tZ4u@Xz&k0 zh@e`np6S~lTWQSB&VDC^xD&wX4*zt_^Sqml-vQk}S(f!V5$UGyR{sc($k0o^~f zS}hlVZuYJQaMbsG-*^FV-vF?~gt>5$tLX-2zOe(o z0ARngZTlf+-f!|wF!RN(s|N%#FJk@1A^||DRCv5Lq=WnymSx?pl$wXBU8h~v0f55*2DNTfOVe~bilX0* zo&&z`Kfug~09>w-|4>S~JC5VOjP^pl?>`3MJpdcDHu~1k(9qs63@>#4Um8aKMF218 z9*u}zRZ2YzfK9g3R4SETXXeNC`9(y})oQg@jJ}b%t}CUKZ+Gl1u?`HTX|v-V;U9>`K>>eIma(Ns>=^*I1|1j~8QC{EIr;Zm<>=}hAfi*ud`J87C8gB!N~tx?(NzJ9 oi;GX@a=9bSybwjvv2Nt}2Sajedmy}FbpQYW07*qoM6N<$f~$iGod5s; diff --git a/Resources/images/next_disabled.png b/Resources/images/next_disabled.png deleted file mode 100644 index 48df90f00d9794c8817ab9587dfa5888ac3e0bab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 410 zcmV;L0cHM)P);}TAus~qt!RR)K4fHzC&TG*N_;gAV>=B9N&!6HqL&W zJ!>-O5OU+!$-#3l%Qhk(5V*!&-^@0pd>~idh+Ek0ko?pFz%X?p(S+qzoN1^7fKWMO zQHLcqjwiRQ0f3O5NR(lvTi(Y|X#gOEoVd(3o9*d+q5%Lv&fFzzvfQ~`Y5_nl+HSQJ_f?bj{D1eHocr&&f`!&jO52E|$=Abp-Uw|mfUx9-cxp7-`aJ=X@7Kf4 zws9{2?Gq6InQ&__Jx_$b7{G}({n*3+3|VRpoJcVMx)aOS)=2@nEY;843&jBF#g?z- zNCO(BYT%6(1E43L`%#8fK!{RxXIoUk&`OmrX>n~hUvq8I?ZsL_{&#HEVWffp$TfHSdt zkrydI7p2UIqxMRhDsY^`~m!ecVcSmAdGb&_NLWGdNe?=0{NR?$t zZ5CIKfxyya#C@(vz;0QtDiuvpPM*R^N2uO%YmFu;07i7|3q!5^PL^iUnLqXJ+X$3q zu$!0l=^!Kqp);NS6lTyW%Ib8(!Z*BqdAG@Kw)_JUdHK!s-dy&oq6}J3c$~EUv3>N{ zu~Sm}XYyepceH#PGX zkihC+@tvWrV*|iCS42No1gP z>{|_AEaNx~BIkei&4n}Ay>uM>lxIuDm%zQkANk@H$594|A0_f9FWuL2o`?lYBm$WO rzSy7bIU^RFi;BawK%V^TIJ4I;M_u9EQ{G1uutw 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 diff --git a/Resources/images/numpad_0_default@2x.png b/Resources/images/numpad_0_default@2x.png deleted file mode 100644 index bc8814a212c4fc55083bceb685e17bce9738470a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2055 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 diff --git a/Resources/images/numpad_0_over~ipad.png b/Resources/images/numpad_0_over~ipad.png deleted file mode 100644 index ea6709350d1b075185b2bce8c13d84d89dc260c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 564 zcmV-40?Yl0P)X1^@s6FWx?200006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy00GoVL_t(Y$L-WlNL4`;$MMfxUnN9k ze^!AQ1W_Sqv}>i+rbX+Z(kB%WxN0f1Xceu3AlkU#qY1M(9C9P^jGbsUr(aaD z&UJHsgxtq}gL*x{F?t%1wk|+m@%y*+%vN%D4w;= ztg)i3S3_>#uU=dc3?QQQxAItZNmL2B%PH|$gJ;fxdhcq66E_~#MFs~g(^8LNcYW66 zQ=+S*rN{B-Z1hN$5WWOxa|tw&$Y@-x9(+rkpL@PkMvV%h^(FP+6Vl4Q4a+TE3N%%k zw>0d}F7QpQ9283Bnn{2b!pBz*%DgT0XkWwryuGE>yOo1Bd5N!u`o2WQr|V^#_H4PJ z^v_UrL)2d^?+9)R=0#P}g~C4=a_9dKbkbH8!{}V(-WyR@81nhQK*d+HQRbrP1ojl} z_qc1`wQ##A@0zXInuXY-9otu#Gg%Q-acGr6AASNoC4$6c-3b{00000!%Rr0opdmg9Scq?i zfJsdeNCXXjP@qzyR=RF?cYN4u?QZ9`_ilT8o96zL&F;=Q=g#@h%sF>vgh>i*;$EPc z8GI-o@JHD7?wB`_<`IPT2v4Fs0HhEGP`ZJifDQ&YB}e!z2*>w9z?iw5O6id^Sc`HI4Lp0RyiSXJX7@T#KpSUJelX0sG1gmAH`4$tH8%ETko5wJaK;!~9V;=Wv)Bk*rJr+wHHkU* z;dqG&j~UXNa*VzZx~>|shjbUy?J)74t^5_;drX*TDE>K=rXs%>W_0Nz1;(>-yv1E~ zk>f;^#2PAc!LqD3l%{%mDH`$u4W`O+G#rmQrJ8BTa-lT!(eGolS@E4QHHrNbN>h)o zA!f#Tc{pR%wAd#Z(BMfz6dvmvppU_!Pj;}S%v%2~JMvrb|mZsT`%XuJWc>4emB2+q~8P-wa z^auv|8|d+>h7{#CoP`VYvno(qVIqimO_m+Nd$p|fa2zFa|Q z(2Z~np+mBKPl5yq5+q2FAVGoz2@)izsK>O4ClFqkQmjgR>jKMBUY=U+;!_u;6L@1v c5p(GJ7t>t@C1>%8+W-In07*qoM6N<$f}#K5;{X5v diff --git a/Resources/images/numpad_0~ipad.png b/Resources/images/numpad_0~ipad.png deleted file mode 100644 index c086766a370a76308eeccb524918ef622cb7174f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 662 zcmV;H0%`q;P)X1^@s6FWx?200006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy00K5iL_t(Y$L*9qXcSQp#(%TBWaBkC zg9n151j5Be0z$eIPVP3C)Sh6cg%A*H!6KwcAvOjqY-|Pbir}9Ux!o1Hh=l|ZC54Iv zEn*=_#KIVE?~ToFSk6^1hIE-`=FK-V-!1fe3gD;LSiQmKrI$V&hbx#;`;?KEDk zRvW-1@U>Jb9h{k&F|q#+a6brwds$P;>S!!6+U@p}4E#~73$0dbh#uuPA`ux*_FE_v zzGUE^wvsJtIA!0BM@X-)ZXnj*>-Bo48&uV`l$}rPX0!QlTO9#ztT(a}Y}?*Qbb`kDcr&dH?<8a=E`7H^%Hw9aneK(Yvh~y6#9uPBC?<_d6kame^4g zT}WfKTFnN|#m5i6@2~Vql=%f!tJSB#DZr@etg1Fd#1)atKrOz|l`ssi_e$jaVc}CE z@*F6L$h3$|cj2wU!NEDUA$FE?d3kxYSS;2%olagvjsW{&=%cF6<#M@8^YimR*^@ol w698FQSQxc!+udcJHOI27S!2whT_y^D0khZ4S-E>4*#H0l07*qoM6N<$g69(`P5=M^ diff --git a/Resources/images/numpad_0~ipad@2x.png b/Resources/images/numpad_0~ipad@2x.png deleted file mode 100644 index 1f96a3b87dabd906b5f2c07c440034ef8c645a5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1120 zcmV-m1fTnfP)x^Lgx zd~Jfzh}PEF)>gEwK`hyi*iE9mx&CZr-OeU&*1WtWyz{egXYQOibLZW;dw~wc@bK{6 zxm@nicKzvp@{^SE9wK^#nYRMC89)X=6~HtR{m9J6T-W^;0Gli%*S2V-L?qduK?Bq=yzRrDwO15+xBLSC=k)R z0eRljRnH0J(AT;}RYs}|-vwm~EIq6v{w>Jrg4xoZ6)x8zx+)VgxH{7aa^ zboJV0!-!qh9L}0n^Bu>T1TYzP^3VxeFyxxoh)qZOjkORqZy2$;fa|WPFcC3-XbWG_ z*t$)Kn7OA#;oNb;x(vCx0E)@|S0`Ou} zJAnXvBBi|7vaENC#o}~BGv_9y)LsDlH7$t0g%F3r6lT=o&gF6+G4q}l!#;p>^|vVv zU{kAuW9BzK&wHgKA_f4pT5WGnPtPU*4{C-j0Gk7RZ{=F8b^sy6s0gi8Dzid}hl%J| zJ7moKx$pZUK^mSbdKDY}q?AtscmqIRfca;bdEZh^&Q1{aFKpZHC!&Xl=nepDnfV3) zRc8K;h)(;yUmhD9JB=7IV#J6MBSwrEF=E7s@t^-=l}cq7Gxx1BT}KkkJPJUrs%R0N mO)&G9LWuLLNto~Z=l=nUQEesJSvivc0000;OdTKhUM25d@y4#P0?S80)QxqKLS8^{2&z#?!zkQI@yfG2|>m~Cw; zm&^UYr@%Jg2JjnjH*gPdLqwhrg5a~2db1vxN~N;LT6+O_zeT27l5YTqff-{=e;9__ z!!Ybs)vc;}R8=2S)mo)e>1j#xVW0+hs`^T^+1wI_VXxJw2E1sz_}E)n?> znDsnw*Tlp`Z2pB*mb&#CW1a!-P}R3O$pFmF%^d-L23`Uf9v*R zl4LJnL?m2mY*h^ak|gQtDpV*Gc3W%DtLg`Bshr4WvwNZ_s@+Vws%ikuWHQYzNyY#R z3kxPm5|d7}*=6`<`qIprLh1KX10HRe*cA~ehhg~gYD;Gop-X@)EiDbK6{M;T0JHUa zeLkDbUP>qWc$eV^)4Gdm3f1fNrmBwpJtsXD$MN1E2%>+wD<(;D8c0Os-CQo0?NsCY z{sG`Y5jh1=tJSUm7l5aI-{04%C;iS20>4;m&vjjLVHkd_s-K8RA&R0`>-G8{>)Ga~ zrl!6Hjst_9=bb4Qi`!S8jgF3HN~O|4RXqk=U0z;3(vs|<^!`P;Tpn)Qq;hc_PXU`% z^|flX`sXbjtStxMd7!`B!J5nEvYzLi1fB(AU`AE1i^wDCK?!gf__3|E54bN~RzIog zWnc%;3&g5=D2k#FSBfpSiAJNb3_R!i{wY;G0PGi$oqz(@(z4Cz)y}mvsUBb-Fef4> zRrP2TMKi61w@qk;APCL^XaB454I2z64<#u7eZ%!18moL-~a#s07*qoM6N<$g5U?; A@Bjb+ diff --git a/Resources/images/numpad_1_default@2x.png b/Resources/images/numpad_1_default@2x.png deleted file mode 100644 index 8e654177774264c03067642da8eca681d6075df3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2076 zcma)7dpy(q9{*+w-Vc9#M{U^To?6CVnXBj7eoO0PJSC zBTsuLPp?#`$NFE?9(c~{EdwZ4S{EwvRbJ(qK<)=MKITkDeHSzu`oR~P=iI`F3j7|` zUQTFHgP8BrKfA?N=~L5w(*!1IKO8ld&fccEk1W1Yb57Xx0%Jqchd(K|rA-aKPu*(J zBM_sDWhJ(yB1t4(Ecivt5%%yN;Aej}WaPO$dW%MsNiCu9a4sIyuJ8)VJ{@+05FA{e zo}9dKxo4T;-}y~exL}mGs1O#d1X0idef`^gLqYiNEAb{BiJJ{4e4#>7;< zF(EZIkdnAXrBah_1#Q5?uBy&0ALud&;RdLyt3UIJw5Ud(;Kp_80W)fIM4Na!mg6V; zQOXo9QJA^!SP2Rq#)Y%e7S7=f>u)>0PVLmy^W!G~Hxz4|GHcE&bi5VI;6O(vuk%kG zkxqu#$J!M}m`UL1S(mdWGqq5W`n%hDs&bk!CMe_L524)iB=nw)OTaJ_2MGHJ?J_R) zm*xE`Ssu&b7*uG)fmRxAH3|4uY8jRI5Ipx&X?OGBIFre=2TrZ_;Lx|^Q$-d@wr&Gd ziv}qa)-@`YdG0MD2AGs)En}~z!xuuW%N;XrjwcJ#`qT>w5wsbD`zh%Z(KDV0a%bH< zT7SqnT#N0Qzuk4vAPS4^pm|fha(2`4ngw_6ylaRS$M8kL{C32#y=Z?|R8vU8B=#xA zB|$#d#PjST3)2RvA;2eoNROk|gTtJV@i04FL_~y=7atu%AE?=`dd<`57UX@l>2Dto zYJi8{IDFII-*ZB|ZtX&_RO{0iCAqz<3Nwlehm%7Yg@uKxAOD_%pCzhLi- zD7^#xs;!chgJ~L@N42T~;;HDOTmj$ZS%f`#Q=OW0zyV~kfeIK7Q zwmFN`yN&oNuvB}Wc}VAlX?<&}&=)w>(r8v-)h(whLlUAxbz=Lt7--{1d0GVarn%0`MS&U)@GMW&=^$?Xg{nY`c?T#4#;to^%vxtgH1P33Sqwkoc4{B_#W4 z*uP*szlf4eix_G{$#p5ys-Z4eR{*EfW@k{;jcPhV^K>7Ixgw*{T{^ts5;;Zmqq5qw&cpCEm z2r%89Bvcu=UOI#^_rEWRK|rH|xoF=)r4bndDuWK}C_Qb9^&G?RfF=)qqb13Pek^yu M-35)Lp1GF!FXmzGK>z>% diff --git a/Resources/images/numpad_1_over.png b/Resources/images/numpad_1_over.png deleted file mode 100644 index 6ec5eab69bd5b80a8b501ff2bb2333fa42ecd2ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 890 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 diff --git a/Resources/images/numpad_1_over~ipad.png b/Resources/images/numpad_1_over~ipad.png deleted file mode 100644 index 6f749a18aac820aaae091a3379ec878a0aab09eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 491 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 AM*si- diff --git a/Resources/images/numpad_2_default.png b/Resources/images/numpad_2_default.png deleted file mode 100644 index cf6dd9d38608c7405403d16cf6d86160ad853804..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 789 zcmV+w1M2*VP)rL<5JV(G8qq?u2x=7r!4w)}3gP12jbX0{!6H^- zVWVjbD0pe^Hu2`>*$#&ilk8q@!+za-%)a3_@6Fp8LWt__?%wA6e!{Y>wsN_=I6psM zL&&0y1{fL|GD@Y=LCdm^G4nAZI?Bwu03-lx*QP1}i$t`*%pa9f4`*g(7FrI-b=_eA z*VplBjfln!!?>Hz=NE$lGBz53nSZP@MgGILnfaUB1oHCqPAFpO^iJ^&aeqWb^_ z0Gwjx!&1tG5W)uF0O$m84uELbkmKcYd9YJLWnm2 zo@$n97)EDHl-ve1r4LNgj5ZJveb&cHsRNM)YHx2}YG^LMBMnroR`)h!Xd&t)cd{Wv zUn2{YN~LT7*EH*=Wm%=j0y&Oz8^C_e8kwG+UWp`7S69~|BGPXLzldnKWv)JJgxR5# z8UxU#ot;a?V)1+AfKsWHt(2Msa71eij|zpt+aT9z3Q#tiH4}-%IDiwH{nBxqTS2d7 zHi3td$>b=23)&5Ps$Q@6=W@Av(2Iqhp-d+848TRr%5`*focBCWw&W9hm1n|Z05>%2 zoo(B_LAB_=$qFlQI-S1P0F#$e_6Z?Y!rVkFq|6KgxT9GGDP^zcdCOs!xEaEkxe4Hb z)|!h_$}`P?3H%JD)9C>sdZNSBYPFtb!2}BAy6$BFBU(&RsZ@IA=H~pS-r@r)vwmiN zq5THlS1Og$&4vjCD3i(bG4m^}!Fay!_au|a>RMw>OiU;Mys1F0>wW>SFQ5&+B7_)? zdZ8@M=v0}xF6)RS(Sg~To`rjAp?Ck6wDP`Lh;aRqr`MGJDySGGkh(7%RYnSr0 TnjuJK00000NkvXXu0mjf^{-_e diff --git a/Resources/images/numpad_2_default@2x.png b/Resources/images/numpad_2_default@2x.png deleted file mode 100644 index 54b4ab42ffe4787b8aadddcad1e9e855a2d92572..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1468 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 Z^BYc7n!UEG>f!(Z002ovPDHLkV1o2HDFXli diff --git a/Resources/images/numpad_2_over@2x.png b/Resources/images/numpad_2_over@2x.png deleted file mode 100644 index b5e1dbd49d6fc754d882696de8547f9d7049029f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmV-41U1_mW zmf)X=q4WHd4S zsg1^yrV3bEK?RB0{*y#ISi z@u_K}(nV28$3(3wvaJ9NBMbl|zyvUX&m=H`VFHh7gvIz&;8BTTHLwQQ0IZm28y?^a zZv)Ti998V6WVFuW44f)inC>NOKAaK!=s8LaFjH&|AXNlabqTDH^zOrmxuA-bN0U5Py zO&f=*;&_X)KVS67kWf)>V0%h&VeVnEigI9%T4mY#qs~$8U=wv-MY&Txt?4w5qiF{o!wdseMIwWeXN``ipc$swA_?FF_X^awjix#(DCabA zTam~VWvp1pFEDjP&4+Scu}A{g@0z68i82j51iWM|G2nd{+a4QHriGjE=mr*9CW3b) z&v6wMY&pIg`#SbPmhhUZ&5wmBlVbBt0^AWrNs$m`>RC>K!@%8^*zqt+!dkk9K~fu)7>)w#EwS%NP%HZw3v*vXTTGZn zZbUc)JZy;#V#r7bzlHtE5z0%SX{HR}qY{$7$0HjBNud;F+DPHk17t0+(PR4T0Z&?DXDF~q@{C039x*f{%79SL9^ffU>@1LV`3)@5zx3sJ4|vv+IFCnG z@@_4hjFl*p<4xcNOXR1yIq4h`MM5CyRp1RvWCWj#bn*icMjV&44S3fQ`31nnyLEy^_U2!=zz;v$hh@YyV#^bY_XGKux}I#{Q&72D5ZNxr%GEL6h&}z=+F)Yzk`rLv3tQG0qg1V5`=2< z8uM;>rhB-D`#;a&o|BAFta|9mb2RV(b;*U$l^mq6ekq_d5|sIX&g}_4rmZ3Og+VRL zSi?C^g+88O5wo~bF`vFTxff`N(ha+G*J&xB zAgO5Q;U9h9%W>55UU->DowVn|q!pPrk%`DeytW+$Kh&KZ#fn$h$irP{RueH%P_!(n z*hfwB*_>wj;d0XLdJ&m^WFlHV#TfHfWCb;Fgc%%4+N%GxtCu$Y9`;VHKrwG~2rLK- zH#F=go|QAOQ%yD1U^7J1BUSZMDWO+W^A1nTwWIqFy|YuERnaP!00000NkvXXu0mjf Dm%+8R diff --git a/Resources/images/numpad_2_over~ipad@2x.png b/Resources/images/numpad_2_over~ipad@2x.png deleted file mode 100644 index 2c6bd4fc9d99d4d5238514ddcfb0da17403fb2a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 721 zcmV;?0xtcDP)+e^y}SjMDQ;Tvz{N z7DZIE0xM+{=Vb;lj>oEj)~ZR+yB)A;6^p}u5RI>bif-!kbC~ir_oq<~P~VCELZuFB!m^WL%1Sdftd5M= z)Hk?=t~%?QWv813m1)IdRli^c-F4Qe3Fm`#{m0rEusCEl?x45MnvpoKBKhQCHMKBd ze!bsR&L}|_Q=s6Gl0yw1zyD!JJHN+re#aJI?WL^N*r;eaqgZbgDpaUYp+bcU6)IGy z(B@Z&RlAgYyUDnolm+`mmp2*Mjk3gJCD%3;R`lRKa1)-U2Ft3o00000NkvXXu0mjf D;&4>f diff --git a/Resources/images/numpad_2~ipad.png b/Resources/images/numpad_2~ipad.png deleted file mode 100644 index 765548b96a9e48812b4dc2b64dc3e8a302252e8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 464 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 diff --git a/Resources/images/numpad_3_over.png b/Resources/images/numpad_3_over.png deleted file mode 100644 index 007d6490772a39bb6f53a4ab301e111eb967b16e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 813 zcmV+|1JeA7P)*f0S8_N*mE~5#gd*xhas6VP>R|ifC)hP7rZn3tRO^sC*U}vuYyq2bAI=C&-ZuEJ@=en@PH5rc3W!3GKobJ zli>>&JYak!_wMBPt#DkFY5RDG9+kh}L&{M=>1+b!b$ynI9RL+Z!b?EYV@ z6q`^uW(t31eq8GcO(^cP7=0NJT`6|REwZ`k{i)vyODOKtE%jkWG$ZkKJNB;p?__rC z5q&J$nh}2#j{2oggyNt+!HZG{u|A_Z>8g?3R0>T-4;v62oBpeF^@2DzJ-d=id&w~&Myjo~Vs#iI?;b}iaYR7B2IBY~}QesRr7OMWfL;KJ#bpWq5c_(3CbKDIdL4s{$+@j*V?hb1nX_7=97y;tk!mQ*|! zrf~uzq3T?Fe{Jo~UIThnJdNd|Ui1nU;j=5nBEcf@l;=D7{+=W{?C0A_!qZfe`&wNdBYVxk1{85&NSO%!Hsh zG5lz^R)e%sV)?NTN89ds`eRpHw4JjJ*LiOD`N3ru-uK>f&-tC_dEfWk=bnL)6}W8Q z0a;F*GK!f%DMASzg*dtqIuSbQr;`S*I1m#xo+4@~$EOOY1f~HcKxyW02{3sCZ_^E& zMmPnWLOAU9^Sy~0tCS6tlBO~v=K7;_oHo}4)X`79Yv8hp8i}9;6~OyIc?6qp2VQnb z8Z?XYbc7Op5lI5L4XBp{pUQd)OjHp0oLBHER^d1(%ZZz);qvcpt^yqjKFUgFvdhM( z;Bo2WcOMP0>U=3d(JTgpk z7d;fagQP8@qF-nq4`?lLf$$j+8|J7SV;{>jm6+vRL`f}65Iz}J67ZsLNRr|k;C|OSdjtYcDcq~PDDm2Xt zA99`zT1%f@7DU5VVDl*V>5fs1zkR?qlDwt4K3#uA2}L-jj?=q0;qii|+6bHV{hI^K z=AmqmlJ`M!afpwARD>GW_@Fu z_07a*`Y88m8jkr4lrzr*?gsKk`0A6SS?%ii#YFwrva5-aPbH3>0p($Xxk#E7nyygf zUP<$Mp2V>em=n_V1U*z)U0+mZW*r~V!vbJWNY@9+<9VA*L@Dbay$G8T+CuWpbC&va zq`_r4jszZuerCA_ezu5;HVqyH-VN*&XR)O|9c!rlAwBLlQ5p!ZmMu3?8q!}q9l);v z5m#iQ^w1IzQIk!S9#R1jm2aZ-5DRGQFj0C4`W@6I6QyU_Ul!1M*+gkrM%9vs1TJbV zqEwJ(DM8;=IZm4>9YcL&e1m3pK8iRrtl|g5MD%BGQyX=scWgHBce_qJP^{Y7x)dh zilYOeNd8Rfpd?UKBzNtBj|8cE&WL||5?|KQgSed@`W zPu(xL#uk06h^QTHW)i5mi`P;5SgWN(OxLWhn`sJCa2j}x**vE8zY0X3`h2bdyMU#@ zy##;daPznBXvF6YSI0M+mlV4GH%B#v-9Sy|@Kl}xyTX8L+vMpEu0000 z3hAGM6vTyw=B6+TX%Dx`G^ExDYHYYm)Yjf)N<*|nqZriEP)oH0g%*Oi1Wv}q@I4K^ z*%iXq?)8NRf75~Ioag(T!}o-eq>B#9oDoiAKsba|e6{YCrsvU;m-WfYHfXqqYk$Zc zwVIp0c$OHA&6O@d;jLVs@L5;}xdGuih9nn^8!>He>o#2`U3E(CO>xURG2`x5`)l2T z)XjH{TiU04&<|HSK(Bk30cqTUO+wJbWU+n{kG$9skmRs%|1Xs#+}ciyZOM?v3<|B{ zM24d{hdRDtB&L0+%DS_1vuH>j$BeN`WQZv*CGU!Ho7GwO3$Sm)!CqxZ6Hdx~*R~i> ztwU<5nRf#x3gG*luO37~#n-X}p|P5=M^ M07*qoM6N<$f^sd}uK)l5 diff --git a/Resources/images/numpad_3_over~ipad@2x.png b/Resources/images/numpad_3_over~ipad@2x.png deleted file mode 100644 index 1d37f4974c362ac050fa01d4a09fa19e04ef9398..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 767 zcmVh*f16$MMg5?}aqM zOqel6FEKTn@XtVCQ4wx*G2}wpH8b}Lfsm_~Zj^8vxriWBkQp6Ux^PiKi-JT-5NcDT zH9>??7@^am3Gtq%%^;CyY;JSZbB6PUvw5ELKIiBNVCl}dtMmTPz_tG(cmQPs6B)Uro@srG+H0{fx zgf$9^^Yaqhw>6!QaqE|xFv2K;9Jdfnq zZd6)WjClr+=e*I?YWG;f;T-GtY05W6gl|3Yp4y>hlXoPq<}4g<7xkRNg~eVYdWIKp z4@&l7YmV;|e>qWFVM15(W}mIj>Ulk#(JQa8{`uUTv2@0*VyE!K=LIW$9bLQ1Ei5xP zzZd=cn!87#@gjtbZ(reeC5N+i%rAwv2lk6FIK0N>frr z#~z_2nbGq@I=%343X-l-;e9-sbIXO&Y|znh5ikD3bX{^yxGCJwa8n4Z$2M$SAk?g$ z_PrAGpo`#vyN)Me@J{Mt(P=(Zgs39t*gyee=V+SpZrO_9XHO4AmZZP<(fVVz`+uzLQ9v-n-OB>BvcPt#lfDTH-xAMn6cU|v<1>-GA}e!qWMiR-MjtE&1e+;Xkc z={%{#3|W?K0pCM-r!v#1QA_gH6*G_ z#)y{6?#%miaD`=g!?Y1+w)q{Ohk2O)yzlezzC+jmQmNEd*LB;7s2xD8%C*GIb5hD; zEEX$fv)K|h2=Yisi|e{6B03M?B!D9T#43-K01Qbf?~RR(jr&m;C6mcT09)4iJOdbP zYHI4qX0xtW!h{Dg7{IrG{J1x5+aC0C#e_$3zIYJhdMcIb@Jg8OQJl8`egP-~C=$^W z5q*+UmLieJyb!{19H+5dF1HfVIU?!>u&XwRl=2FI=e{W(Yo)8J>!9N}F9GbSaeXvR z^QfP;;+n|ia?=3rC|s?6%dxd@6`~1+xxp}uZ9x~NDa>WVFctzWOiFo5VV>^q@0WoU z*4f#)6F`r`H5Aw!GYliamWFk*Ejtnv=m zbX|XwNF>^PbPCTE_JAoX6)9Lh%QmOQmh&mKGm$ob` z7s#zRJUl!{L{}@<1GSt9bdH&(`5C~tqL{Pg3%Rcwt1eU16IGw6IJjqX9Ur zm|T7YT9|Fy-Kx<`2=UGrBUL;ek3^%<%S1HgIL>4~pPyM}r5bG8z5zfr8%h8#e9@p2 ziNt;(M0F9E1uzLaLWr}LWj*w?m3VmM*ELN$EQB}) z;5ak418BzbZ=`6Y@j3wJ0ZcOUD*(?d%bGw)NJvOXNJvOXNJz;42Nep1ivaf3l_;XT q4xksy7cBKeMkk^IfS+|H?CWpNwE+~~_2k?D0000m7i477+ z^{NLCR_evOqJ-=wIpkP-vwE_{f5d;GLN9tK3b}~4?7C$j&_E&JvFJ6Wm(uM)w9RfZ zUUuOr6fy4XX2X0=Gx;%-5AV&}Hz8=mw(XllbUm2|L2xo04nv)LS~?deq5}Y{@${@* zF5d#6RY>Ss*m0aXlK~OE9SjCPp&6lZ?JYJ|0Nx-2NaNW#25>Eoj^}w^D+?iA5qgox z#Oxp=gr;J!#m1vrt@f#~LakQo34nX-rQL3~J1MNtbUNK;(?|%hiwsFssNHVg0I<%| z?PIUkJ1MNtWHR}!7!c78GA8Ymd&$N}uIuh+EtFd8W83y)0BbBdS3XD^jmASFNJ~O)uP$8%yAAAr5b*=Sn0F8`I zelW%yEkh_>896Q@Z)Uy=mHMnKS5&RY2QMOvj^W2z>kAC!SrkQY0BAWjx!CP? z|6nN3(lkA}%_hrSOn5dmHMOJBXlw%5m9fb!W6Y5$;ZP0kGlgDr;g&viA~BuP4Dd@@m}P*D^$lu{=gQ{vS)j(=t- z|4Z^Y06QH|B9>87g$kvVay^Oo(HL`sp*(B1+i#1=yN-xw00=|ndlB*H*4EZnD6v9> z3WA^sV8OA;r8tg<4CR^DdLF=d6&DdjoB9?Vk-lA9Tf4(h{_mX*0XXDXvX}m9DnzI> zO-VY>D!0Ev3d8Un0B<>_z0)uFx_bajX50om>h*f}8R~g1^;&IFB=d>TPsW)33%>Lz zrPL?S8c34l9Dt8F_5Dxnc6+CY%sZyNQa{%#Oehgq05Fy@{I}NnOH@oQLv8bQ#@D@G z?;%6^pY{#|IOzE7I*kg-T`1R*Tq$+C-|r6?%CjH{b}6Oivc{|OTrc;bwASwf*pV^( zz*_qaL*;)F@kJcRPZ-LxnVFfEh`gRP>j5~63d>EXZT{!Q8N*MkwV#9hhuY>Zo|oe| ze!xtgLxo{D3E)`f!PRQZOq7o+>O%mpWsD8_{r>k%^pw|cc$HGFY43U%h6i54ZYLeb zv)i@LdcA&sb#?WTmviND5%FG{rr#Cpjs3AP=1irgK5Ol6PH4ruk0OR*C}Jqe&GLM7 zbo6GDBzryV`cubODwmW}ryR@kVdX+~yWM{PY`*IKhGF;o{) zQ;}aH@=&K~+EGf)@^s`{M=Pa%1#pk&BG-QZ54h76@h3WC4*&oF07*qoM6N<$g3-w1 AK>z>% diff --git a/Resources/images/numpad_4_over.png b/Resources/images/numpad_4_over.png deleted file mode 100644 index 3304ea56623afce949b4e8de86d89ccdf2163528..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 564 zcmV-40?Yl0P)E<`Voix7kyK}teff;1Sb?o$*FM~fl+P$u`W4oi2x^{ zoYO#3Yndk^f)Nr=xgAQLqu2_m41FlNqFkzjO~`vpxF*3yY=zV$4G3eNLtKuh_$E|j z0;mc55NERFvf9G1D>+W17Ls3-TN_1AJR6^n>!;(2C+ko4WtpKUb_&UFex$!jQNODi zhcd%|LRB2|K&!9sCYS>zN=yA4-P&`XBN1}{0X_3I|I*y+^GDYFJ?CGPoE5S{7K_DV zu~;k?i^cLc5tXH$J1Wb-l2gKZSza5rY&2fc4I-{;k+OZbC&;(oB5QM zFAhq%u)x!TYf=0K6`Qmbm3vAjs_}X?WeB)!bwngQs`;>OauL(A4IyoF?z$VF*{RZT>e#Or<|h*^#Hw~j=BcX& z&YW?*S-bC|DwCVasq&lJ1tJ+`9x|rMf2L^s&wTakbVcCVmiH!4S1f3XTwwNOP26lD zT~8s=^Da{_OKEW`c!bS*q6&aVjlbl~2Ei}6zoT~2jm89&sj=0D3|uX3thxR5QQ zq@>z*$%GfGr|!D=%oMsT^wi#WYebZ6aMzM48LCQNW>PMgDO|99H@P2mqr+O}`pwU#&BxAR`f z)P1p6RxUXDwtUJ2jZPsU)kRn4g@5i!<$Lp^&U}aG5AIWin@X(LT}yi9GSm7GTUz;_ zbVqjYK7aG@GY`(mPxhKWFVJaGi;E{vw_>1>s*2a576B&?MSMiZ+XFY4cpaMcTw64g yRlVD?Bl2Ekxy<0bm(Ce+V9E3T_T*D<J8dnSa7IT`CDiF*&(doY*Kb?FK0cpXdPG1X|OM4&i;Q| zt*%&+ufRPAFLjS(g@Yvbn4%2{$S9dL7DXBjq5g54OY#V-hWZ1=;Gd&Tj#{f}381GL zLL1#Z980MUyL-RKyskeWhxit&#) m1K$PK6d_dtHZzuq2fqOyRB7>P4|Ie80000;d> zX7}-CnSF2HEHMRwAgBS@B>8Kt-D)dmH;%o_lMJ5QY9rCV|HT^ z0H|Y1Bo-2pVFgd#`}<6Uf*@E2un~u6NCBOYw->M9#+XY0D3{A?#u%%V`fRt`Z!=fq zoYMe~;`TLKt=1O+$ZMbYtGTBo(%2Cxi3NS-1klDyGy2=2W1FPR8A=L!IJ z0Dxp2Ghm`&E0xMV$%{CA2M~> d3Pn+L^9RgoT;M!k5nKQO002ovPDHLkV1iM)vcmuX diff --git a/Resources/images/numpad_4~ipad@2x.png b/Resources/images/numpad_4~ipad@2x.png deleted file mode 100644 index 3ff454c17f580b982937a53bcd37e71c9882ac87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 656 zcmV;B0&o3^P)F{&uKSnfk*gTz{5ybc zH;+c6@hRbd{m41rFr{e3O!JrtPZQ3527|$1Fc=I5gTY|tWa99M-N62ie$Io*@B9C5Q>6-Koy|}LC}lfLBWd%BBD79ZP>Mi3VJE1Ae2^G z5f9oQNs9_4-OTfn%1}zN%}RE|eomQ5GR)ieotZZ)2!Ou6zI{rmR4rpzmbF?a6y|H4 ziwZ)JQfdr9Pc36;t;YbIs&y_Ff}s^5q2UAtQE~#HWxbI|B)WXxFKu^_R4TQGfF@Jx zhR~vv`dMvOT-QwkU}Q_Ksj0~n|1>jIxMAq}z0suIU(_E=k&H^|N;IN2v0@x!WUrEl1$gI}-V|#o1 z(|kT(4pLCf=a6mNLnQB19lB*%)?Sk5|1mwx0l4nE?#s}W9LZLr{Dw(h*+vxV1n|PP z?R=QBTzZqf?*N{W942{zxScqnIV+ddbTlDkOqGJswYakbVDJ{9n;ZXggwI1|5?`!-d7VrqI~&3sk@tT9nZytmk-RZ500000NkvXXu0mjfi)dw8 diff --git a/Resources/images/numpad_5_default@2x.png b/Resources/images/numpad_5_default@2x.png deleted file mode 100644 index c4690b6ba69ab476bfd5a6c8edd46a89da842611..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1562 zcmV+#2IcvQP)mN`@uMf##ID@||G zDjnL*R*{LK+uVk@KdwoKOtX0J`T4L+L$} zNx?Xd^CW<628HyL>$<}x1Y#TYsv&A;<{J$PX^|;`D3e5Kt(VFm*94-7Xo)Ck0#N`Y zqnbpNWK=U06SXpmi1sk^R0HDqSwzhvqqNrV<#M?ZP%KgrZbt07Ey-a zd0wqG)D=HJ870cHtP5roGoKJmW|iklr8I8>QOsOxj*_9T88S+Sz9z{i**-E%6cI^A zHFHKWvt$$udYhwGMrp0<%BXlezA79Juhd#cwbn5JVF0H9oFbwb%d%#Mhlh`fsQ=Cd zGb$2^oF^)sPFuxd@g4vPBD#&4*8^DT`~ErU=lvbu_u)8B0l;2no={3nM59r6aB#5P z45ExV*Oy2nazxZSd&9zY-4*~`Y15;W+QQ5a0$6bgx;+kHhv#_%V`F2#h^RVn9A^)J z4YM9T>UrMvmSt@L@H`Q9El~F!fHy*+&`U!@LuaIznEyH|V%zq9BKlwfC7qiBo++2h z6NyA(t%#cc9MuY7^<^w*x`=3RB9Yi2qUO0X(EuVu^l4vTU%Sjvv&dvJYJ7a$n`b=7 z089e-nuw;D`H*efMbGn!p-`x#wQl!){{{eSh-eLfHO$;!$+kQs+Vi{@nR)9RFV-W)V)3TQ$;rP&R29i& zvW=O$wboq#)-iL=_x+E@#>Tvb=x_7p&5ttkJ3(!j`H5UEw^Kwle*N|;fb9WIcDb&b zlB%!qyaHe*;QHO^blMV84aRldQ_LK6u6=2tP*^XbOjt}RwQG)r@SP&c0HV?8UI3+l zCM!gg0aO;XLF=+*BFYemDCpR9n}{+5W)2b+6;bB!N5HkyBFY?M0mEWZM42=6wO!<} zD55TNF|jJ(vWPN)cs#xwz|8>?kBKM)ux+4lYeSzT3R!?jFx-mnv2|@Jq^xUeHT4!0-zSh>(p9Tj9{e|c!kw`29@T}H) zI{<5ror-~cK7Uw5Rbg4y{QzFmTBBGjo^c%KduHAT;70%liRge*>R>jTo%h{`@p$|y z%d$2QQ5wMG03vn#+E**q?6)Ts^Yni!|h&q|M6F?_` zRhK}{w?s7R`~KT?+z}$8E{0?>+2(m(XXP_IqDrYKfL3OX;_LyGD9+yh6vEjz`w9T2 ziRh%(ddjx#&xePHulRq`C{(ve%7p`m>+_0m<5h_ zsv*n*C%rBufGh676$&y#)lWg*e}{${1#Y|5ZlUZ2&i!Ziuz+w~CV3jnJ*12QSGLg#rBR;fFf+l4 zoHm?tb(T0cETy&kRb6U@HRwkKledKcFfDwcNgy+<_&lIn=>KNQT zb`#;orUT`ue^|suh z-^{m-L#~LghC|ix3lcKM=lM_z(kuz!ka24++z#zx2#6Z-3$H_(r4!+9!)|hT6NGNN zneHNqaL?_+>rBWLZ(A-%bBqxo3KUU_D05Qa`#)Ss(ZvwTIB?MTs!Wv8po|ZnfddWE zfmL7)SVJhIB!CRi_m>h5a7pq!YPldcI^R5$c<+jN9gOjzLWLxQI2;EC-0K+7yTwyg zgpa^99o&(J{`_OQqusWS&_|8^uCQK|9)uN?B8!ydB|ouPEEbE!VzF2(Aw%>sJ**RN n3pHIhF@ErvID>5=XoIC+h1H*ZG)w<&00000NkvXXu0mjfF`GLq diff --git a/Resources/images/numpad_5_over@2x.png b/Resources/images/numpad_5_over@2x.png deleted file mode 100644 index 17f11404c61addcd670540637586934b9c17cee7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1393 zcmV-%1&;cOP)0Qy!ZXickY~XK@sZXLZu?dP-&)dMnd@$NmT!I+Ex)tC|?L89reHOpZpTaRPhyuP%hF@ z5~@fXrPL=!NvQleN{^4^CvN6l0Os`Donj-SjEsb?k;j4gz_Y-_JpA`32w6wS8r#g@5-Jy=7PA*)R=?fH=;ThO zFdxV3K*KOyK80g7mAq}M>61|LjyeEL>$kfbI15Y}p)h_S%|hGEZ>svD8K~+TH-aJo zG?1XxHC^Xy33U~|%;_6V$X9MDHA;Q`)7~lqI!N7MJja0_ar~5>N_LolE=JKsDZO-2 zL%>})YJpk;YH>W3b!jgA%y}O4r7HBJJU_@75`&7A26ka=2ew-?`v*Dy&+O;Q4Y80a zlB@()5H&yJ3Nt8U8St?jb*TXtFo6=97+6P=4fZKV^K!kV+)A3avVz6kteuo` zkFDjRgu1!`ms8CJW)RSTV>-qTj_`%;BsEM!f+md526t6`C^M%Z}Bec*M;kA)yMLQr6N9vGdw1C}*aG@}s2M7JEG8AqnLJ=V%3bV+x9i z63PcdWd^nTV;nbLLiv;a;-*bkODJ#Z^jM)PC6rG+RWv;k%AeF%6?3dhLiv;Ws)v{s zCDaHrIp&yz^1@6Dm;l@xM%)AH1V2b9KMIMbV~(D(4IGeAg-&~mxC2-e zBjR^H#3@H5cmo&}c|2s7getU~7V{+VO6(xmXpvBb6ln={7+VHugY~wN(-Nw1PMU+` zd*UCqrbzLjKZU6e4fg`m2$)VlJ3Snc7#$dgNYi00H@^DNHBm;2Sp>`jmII@6_}V@yc+Ib&o)?y4>Q!5% zz>MrCv*5;YX?;@vak0d?0bdb56ihfWv9bJk3!Z~baeWI_!m?HIGHncY4XKm`}dEn_TjTY;*Gn3O5JCtcgb+dqA%qY@2qA7)pvT`o00000NkvXXu0mjfyl!vP diff --git a/Resources/images/numpad_5_over~ipad.png b/Resources/images/numpad_5_over~ipad.png deleted file mode 100644 index 4fa7504871a38c5ad24f5cf4feb6304cbc75a9ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 455 zcmV;&0XY7NP)m6-(13!Qh=_0ZTKGgk z@?Oj{V37mEG>7|}IdkuX2IYB274FrW+>f4Hb(XOvkirB`)Ox~`rZUZ-(3RkYbaNBW z%l06;Rk3HWpl_Qh8Xcnwl-_Bftwr|(^gibtQkvE=X=H$<=vn(WpkL8lG;&>`BN5}m83tNA*n@E8a1HWo~^ z0@WU3)@@t?Uv#5yqfK;m`tV!8(e{n%G+pf<-QD~)Tk5);Gh=96T9wvf(IC${Xs@f% znacJcRR71en_<>6PS;pINynq-RlDfIL*WtD|M)Xll1?>2{;KP8Ug5b3<0g%Sq1Ul! xU{|~PZxwmTVWoXLN-2FEQ<}%jj)FQ?zXQc~Vbv4cFVX-2002ovPDHLkV1gN5(f|Me diff --git a/Resources/images/numpad_5_over~ipad@2x.png b/Resources/images/numpad_5_over~ipad@2x.png deleted file mode 100644 index 745608706a3c5ae013a6248898ae871bc757490d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 753 zcmVh0u+lh#S!&f&|5ybRoFw$}U{E2;xFfbm7v1ng~iONU^xkg>KwP)s-Ol zsx4YcsZ9&^Va*&DiO?p~Ha1tdGt3XOxpU{td^7i)`=1dENt2ugS`38hlPr&F4H7X0 zMu=9FqXr@kL+xN8V_-@gi)0ckW)qmXr6?6(qbTFch%;sv7!_dWBukg~mm+03CJcK% z#}ovJ&KoTF0E`4tmsmaki&d2R0yE^i5B95~aO9+ig7?dPd8waMI5fpJparD~p{|&c z|1Z z?8z}RK5;(<9%=_G>;aRieBv}P2K-!P&K@S{unFu9a1R(PjeG{Kpd3V5PdzIo!z#(J zhAHY1_8~l7AX=v;2wRb3Wew*#vWzTM=`>AzUE&%q{ zvtSB>aLKh-nC7JwCRmefM{#IiKyEOz*d@PurH3h7-2GLALyV)E;w$i} zVPc< zo~4^XF4**IU^Va9k_jtP(00000NkvXXu0mjf!6HJQ diff --git a/Resources/images/numpad_5~ipad.png b/Resources/images/numpad_5~ipad.png deleted file mode 100644 index 68badf95f2385cd3a0bd22c4b143167df14e044a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 494 zcmVM#>PLO1Y+)PY__m5 zCtd^#f6eT&!@ixFw?qU=sTGpDy>dikuUf4h_sVe*%_M;NUI`>eqArOPavWz+L_qRf zL=L{Fs2*D=48sgbh)Ba2vyUI*L?w_++hq$e_|A+5t>A-FDob*fAzZnt~kdEQ%J zDiV>jjXNao0aQffNJNb5x-G5sX1`lE4d9*REr2@!Vyi9Xa=F#mLXP8X0az!w;QM~M zQmITBW5z{f4M1QGvl02=I0IHnRY@)bxHiU2#i}Txt&cVi#BSYJ6pKX%z?|LQ#J0EA zdWqyqyWPHOG#ak}kk99b>-G9JfEhcZvwr-eLlMcQQYmPy0RWv&=ks|p2!c|q))fkc z0RRTTrM2^C0stpr7%qCA_tH1lX|0Dyj*`p(Kq8T7mdoX5{PWMBg|%93Ohnw@6iFtN kZI|RR$;sao@_qmG1M97j(J$;e82|tP07*qoM6N<$f-rZ~r2qf` diff --git a/Resources/images/numpad_5~ipad@2x.png b/Resources/images/numpad_5~ipad@2x.png deleted file mode 100644 index 2fffa2c7841f13d1d2456a518df7a6d6d2705477..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 826 zcmV-A1I7G_P)bhb|FC9)d1)?-m9T1h&g83_{ewi(#Eg4^ftt zs39A(Gw*NJ({MSCZZ#uv(8SD_ z0d#Hgs0ZMw5MsPgD9kFCiU6XiIL6GQ+eiUG2Ea8b<+N#>WXY8dM~fH?qjMDzu~ij;Dh zh?W8PMAXjA=K)*{H^5Qmec$hPUDvPsc}&;!;~OUEaQHd5ervVyS}uB%RpAJ8H4dp* zQjv&`#nDHY`KIGIZ&ljeuL1Z}#q;w3E)XqG_4oFDI)3xZ~{PQn3~ZE zTwvxRfET%3?)k*TM1Yv7`6jrpug}P4v#q+Ww+JE1p6C6j)jdZ_N=iyfN=iyfN=g!; zsi~>6LWqNjk|LVXg%I}vSP5IOD>{H#X5N=1D`x)r7aVK;-bn~dAOHXW07*qoM6N<$ Eg7xlt_y7O^ diff --git a/Resources/images/numpad_6_default.png b/Resources/images/numpad_6_default.png deleted file mode 100644 index e02afb9d8bf7cd0e80ee25a1dc134ed87cdf7c3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1072 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 QS@E?2Kkq=0?HPUXf10?w2><{9 diff --git a/Resources/images/numpad_6_over.png b/Resources/images/numpad_6_over.png deleted file mode 100644 index 6881b758da5e378e18d855d81b6184c373eb372c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 954 zcmV;r14aCaP)lSpinxk8^uMDLeZiNvyqC58xe|CteF%IDaBn8UAS=13k+SFKo;T#5WPB17MQ1W^>>c?uvZm2m-!Nba4#-=$g zTUq&SoNQFFuFy?&K)IU2?Dh(JW`P;Ug*iJItq!K99*VoXD%zJaAIAy77n+?4uNjT) z@*1>g)S|3K&Kgk*R)=>DE{i!7ciS%dC}A2CJr#-$Sz?8ntY9O0(ONMLi|z_VpUFVg z&!JKGC18jSX9ZImpt8aYyx=7nDpz&51v?Vnc_(x_bJ+qJ(T2u^Q7X%*{$R3tF)bXV5RF-?;C?(SJ#_OAZvQPMnoY7>xx_2<|mvJ62sX zF_e)f?$)E^+0dnLS>&O(OP640;x;F6#XP$i$05U>sYMlDt%p{n=3^3O0;e$`7!VEN zdTg$QYJRFDWv`XSus>^{FjXl}>NmWP6PkP&-f(^v&$bB;;(^2hvoG#(EFAG^c0iL) z{i1$1Y{P#En^4q?2V=oO9GLQO*~*z-7*uxyD1*JKHFVMbrq zxprO=+hYuGro#B9?0`aQxy@O>fUx~KwWMbX)SJ4Q^$Y0b+thh$c0eUxr7ZU>z(Xym zhxAisK%wXtoJ^P=iS6@Dtoc;=6#wy%mi#5j@x<{Ojqaak`&(0h83UEQS1Efg_P9Up zow22uJ=zLx6g`HEIgE$6L;fnY?w#0Zaf`2r#FYo254$-4%$_<+ID7)={ c0hD+4Z(%O&uZiPo#Q*>R07*qoM6N<$f*zN_zW@LL diff --git a/Resources/images/numpad_6_over@2x.png b/Resources/images/numpad_6_over@2x.png deleted file mode 100644 index d23468529bbfa363ba8a24d18b65628da94f33b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1795 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 YA0?D&MMU zRTNugBBs7;7FxEvn$lRN{P^NbkLYKPnS+v+<^SrIp zCnVH=a?=>sxtZlJPD!W~X!Dpe`mQbTk%WrvrU@=1aH|tCqf=iB)J!$Ltbs4+@rw4S z*lyaxg}}IT9)8jmS&>lj-Shy>4cAiy=5*?d?WRfA5V+q7IcP`tT|&jC#{_Ue!|0!M zIG{QzwwoTO1w7guz)_pyI|&t=liUu@FUiKVIul7)$}Mo;u!`dnDz-*lHUrl>B0iDo z-22T@o|`_lBfKV|V!LUK%Yj>*y=f-p`S*{bT1?U0CI6mtcwR!qcGF#41nhS9rf2K` ze@Lj57d^)G~lj;cFC%su)W0x}0#E0e zB+A;G&I0apLXKL+w-PG;YVHQkbH-Uuq#@)@tGFrOcd!(OxYH2{ z$g99DIrVu3?k7~dDxqShy)IjTtDP>zeuI$n8cX@?W}mYQ|G>E{f7gxeaR9pNvQY*?pEL`r>@HGK17+0s$Dnz%0PbiA&L_!OmHQ}HYa4(=J-uQ#dp(` zGrG)5p7$Y&5-N1L7})9TO)uJWd?TUa^Dr>rRD{zMOcn)im}Gz+UjgeILf*298%q`{ z3rE>3%Pg@07{Qo_e{{qX{(p$Ra@4;ZHcFd8Hq&B+z(y*z=l)Z>5JCtcgb+dqA%qY@ z2qAW)M#y!ojZW^FH00000NkvXXu0mjfu3zE^ diff --git a/Resources/images/numpad_7_over~ipad.png b/Resources/images/numpad_7_over~ipad.png deleted file mode 100644 index 02d3e526b75f371d08e73c977189b50dd941782a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 378 zcmeAS@N?(olHy`uVBq!ia0vp^Qa~)h!3HFsG`&3vq}Y|gW!U_%O?XxI14-? zi-9_>gD|6$#_S3P21Y4Q7sn8f<8LSJ^>TI;a67N_T}&~QWuqXcUBi;kj5;-pg0ovf z4yq{#vFt7>>sk=eIiaIB)I<4&@)C}+Oy+}58-xBhzPphlxv9KWvt>@2q{O!mwY!}d z)^1`qN!R22ekrm1nwOB!Lyd)N*j&69W*=JAW7l``%MKZ))FJ^9&*_W?GlDV&AD-y% zf0*>IYcZn^gS^E#AD3GSt~bAbEq&URKHDWehxxQaThW~L4L3{_G}!C*OwM*wQ_9L= z$gZ0t8HIiINzl0%zu-LN0X(6CtizSEc;WTxV zR%w)gU9`42M34}K6d}zPf)}HNc!DU1Xe-#N2`HFG@C>oh+B5-Mo2x>KG=hy_WgsEp z^t@*wSnN%8&h9zKeB~QR}5G*M7L$HE<5%xgy}f_!0TAJLdDL3 z+_;S0o?8;zTL-eosk6d#f*v4m7+Q7vK6cG4(3+HeYKSm>#}i=6P@1brzBfo=Z%qU3 zHTLNX-<%bu5gB04WOi-Zr}Q(HC6Ds7#yqLe}c`cMi@mau~m gPx#07*qoM6N<$f}=STFaQ7m diff --git a/Resources/images/numpad_7~ipad.png b/Resources/images/numpad_7~ipad.png deleted file mode 100644 index 8031426918936685a62b9d1eb306bf71eeced9b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 414 zcmV;P0b%}$P){A|YTA*eVZTAqciYV6hRMIW}Xtxd>AT z`&S3%{PWGZFoX_8QFO-4VOtInO^c$qYRj?FtxW*iZ3#-L$F55{K}xAxA}SUfUjXoW zJhmHDmSwS^rCZGG=+-@V-DBa8Qc8`r|E+17J0qYtj@O829{`y7vaahdBOoc|k)F-m zb={jjp246X2vz_b>T0H0md%ZTgb)V+RsnoFj&t7EXAP{z25_u5?IF+eS0f-H#2yiC z=&hR!@eTqJ(Wwq+Wm(RQfWk1`{r!rVc`|gi)_`hGbok=?{=E@U5CkJ;{si#B%-3m} zN|;oVBwmsv9+q0_Ux=!z+5s>!39&5e-6o#o)fdBvi diff --git a/Resources/images/numpad_7~ipad@2x.png b/Resources/images/numpad_7~ipad@2x.png deleted file mode 100644 index d4cafee88ef905358de063f1f8f5cbad0d0abb17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 637 zcmV-@0)qXCP)N1g79tT81jR;-pM}NMYN7#)Al3&80UJ5Fyd?*+P2@T2#fr6BtwTg~+6Zrr$KxlW zZ$;1Z7XI9be^={ezu*5NR!k|ikD2GqQ%FP)q`za=0qihhYg+5~V#T5;+Re;YEtke4 z(UV6QhF1XWGQyi_ny!fzi=t>JGvBaW`%9vy`!EdW0qixxpNpb+Ay%y2ZhOpp+tORh zWsOfZ{L1&DAUFfynh_q3MxzUPo^MG$iuWwN^(@P>A7VFXrPOf%v*!2&U|GZl{SWS1 zdaI+g{wnrA52e&$WX-K|TWDrxDJF!{MrEF|GCMX0tg%M6&?y z19(eBi&c(K4u`|xa5x+ehr=Nd%ChVdGasm#S0`ZR^8k`sRf}jdAfgU4Z`4VQnLqvp Xv1q>~R;!GH00000NkvXXu0mjf3%nuF diff --git a/Resources/images/numpad_8_default.png b/Resources/images/numpad_8_default.png deleted file mode 100644 index 9f37f32e8f6fb82dcb225919237bcfca7a3804b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1138 zcmV-&1daQNP)KBy(8=HA3Q zIxh*eD2(c86Mz2gyPdBdT`>30Pjg5^(R#sM?B%=KQwgK1*phs$A6VYX6t^hbqM6Vl$ z@#CfwG&D4HOCS(b> zNaP7-J|jgoq3ilKWrCRbLFut>S=LlL{by!oRsc-8=!cXDnwXdn0PdEkGjnrub_Y@Z z*5#xDRe~G-s65{ju#);@KfS6=@&$jL7IyqRnUdw5kb`KGq0I<_#y3nlGWF(rE!Bt!#q6xz= zPOQ;ZUA3LfW_`6p1{>ucjp;+GQBVsdnD4>v|Eu9w~ylVHm~# zJP&D_wp|hfBKojRF#y1h<2>t1)`yiORwBC3MRnxWQmJ$vz$J;gQ};KZP|cxWD$R=67+-X`GF4i;udC3NaDU%A}A0DeB<)+{*jT9z7C@Ef{Xf2 ziJ;lp*`EPaC2G56S(Djpw&m(W*Y$k>j=JtgWtDm8DFE-f=tX9JEffm9oy+BF>(qRE z02~4Eu**DUn&#t5OCL?sUM8ZW>zHfJBl$9bn}}#DGsoAdA zWHRXka4&$c%Nz!98-Qf<+R(SgGPeOt2_X*V^ZDwgxjv-R>2Pmv?*Yeg4iVA)EsXsu zfOmutuNDf0i`|+>SO0yG_DQf>t;U5AaR9dyQJk6o5JFTe%eoW@1S*9>VHqAgc<|uC zg9i^DJb3sYf#&DuGmhi*+z?`jmiz$rHSaAqf}nGM1DqOqmPs_{a{vGU07*qoM6N<$ Ef=gZ^r~m)} diff --git a/Resources/images/numpad_8_default@2x.png b/Resources/images/numpad_8_default@2x.png deleted file mode 100644 index e576a52fb26f08eff5384c2e25ec826bef4f748a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2262 zcma)8i#OAa8~<9$HE&aS-O9a2BAZLOOlHMeCeek=eRF$ViWQZ3-@<4Ng~sbTcSgd> z7%D|Jw_KKF?vl$C<+jmp?|<++&v~BDInO!IInQ&R&vQw*gt6H#sVE5mzARyTh03d!Fg|u>t_`IAG z9eT)Dp`*2ztEZ*?+BLBNS7xXwP3$XwX#Kc=oz}!8T36Z*xPLad+EI|>Z}#bGhr8kR zBeOQ>y%h}_bQw9*gNq)u7O$4l9MiV#?Uk(p3M9Z~l9xfEj%iI%D!(V7x9gkl#W#+| zMp?r69R6S25bg@Una^ul;eqvTDk>>e>YO-Hd8^Siy?XHqf>>dzIR#x);1I;Zu_{EQ zdg+r7GkwK^=#Ryk!!N3ofG_RrIuVlc(B9k!@@?EyYw;hW*rwY|8c9*htM=0`WVl(3 z8DL17%EJRSV27qfMyoW#|Io~m=UfBeg)74Vn~{2%H&QXBWF4v`D?cHtgyuDO5AefP z?<#|7#|u}AE|*7ZQ}xcOr#_ox1g8sHk6^sp z(&?VOrw+eA6a~f}-~%N6srrM+dK>ZDJR(>0y9_u-tFR7eV^2SeR0a=;tKt2!jGs^} zB|Q*eg0hLU_f;rGP&yt|B=#Dj)^0Cl=$}H#8!)6X84N}xlR0*>B$rM%rZqM3@%Wbg zZA?JN0#knE=+Rw?nBGTl>eP=-CSV-dQ%uR@7%pd131iQ71Je#n-9rw#oZa*d8s*9^ zki6!^5;_AH1S!*}m2B#`&6DoWbr%VE?nJ+TE64-w2Md^d6FZ=h+Uagi5@b!Eu0;Pk zL^@-YUhm%chAOuWPV?vE_5 zHH(UJ;$K6NPa3L1^ptU8~Q@-*j%Cj_pg4Zo4Rh`W?zs;gbOHklh-QM76M zEFMmA7>MeFt*JM-t=GYw^=SrnVTi{1cCXq>;G&bluifU!o7T-mBp3K{fB7~d(8)ME z3LLWp+8sOhST0GwAsMOefJVN+Rk&)(j>x)DS2s|-wupebk)@YtnvhS2H2=`0Y`r^T zcKeYDb=A6SAMiFUWi|t6;hM;};o|cCdd4qNV8ryOje6>p2QMAlLqwQN<{rmV%-)z| zDBlZ%LqkRvDNwBu4kuG7>27vb)|YI>;OmULHtJ52DIv(E@LAjyMDtUjhJ`1s;dY3@mP+^{x{WB^qVrUF3SbvVF9z( zE4BjYjB0*_ukY7vs~{2kE!=m5b{MW9lOv*3eoma1Hf2Jhq_lcNpz}&XXPR5K$ z>t@^v+V)3;;0Dm5BXLut>Uj{qB{w(MA+oWmrpEr~`uc9Ium@X$!DzZ>Gd#PS5ifJ( zLcB3mHlaNoLDWb~u)aD_Z!g>wSS_CJojnm&vbT=OCJZirX7!yLEav@+M|ENc54S zSxd?3Lip>tc;4UlZ=A)>lUA>TS5B_uZyVZ{4x9l(P^Q;5NuW?#(NaE{A#=g>8YC%8 z_gmu*e4!%cX>9PYO-fBNXWP$-rb$KIdCLMY7Zhg#ERhWj4gLT;{Pp{f_0yg(Ngx^3 zg{PD_V}q@*SZtV@bJ1ahvea~y{rc@ZPx<##w*u7*Z&-AZAN7<8HXi$!r>G=$A%sQY z=J*zdE7DYlQFCZ8k2ltonT{qeGAe=lXJuD;pK86A`xFSPGaoRW?u{Z~T0+Nkck!^7 z^Kc@lC1GZB>wBLG6-v37L3CRcuN3|M0_RLC?mHF2ZBC3ZZ%L+HlMA)Ou1vSH#>L{h zySq8Bs`+spDX=tbjfC3Ko627|eupqi{1@Upbv@^dfRaO@U1)mHxSVkE-}XT9yEnn5 z%0M3miNbSzN7uh0Fp2NH4kpa+173ps{uU_xxq>^;79TVUR}P?tJ_uul0QXnbk89ab zwoU@2lt|Uzhc9}~RS1l00{~d!sX3;P$QS?7^_u%3MSy(lnXozee!p;7PxPocM0(Gw zG5WH*m=#G*6im5z%q)6W&?NGgG!fPDY|GKgK>L)!FLzGWdB7gJ=BiTBYp^ze{CT~A z)6%DCRLFW!Wk%Uj1HxGOYtk`6!n1`czRU-WsEVI1@y7@!Q5&YeH&i3Wfcmp^T&)m; z=Vq~H-Rw#SzW(z?CUdZ6>{&@USpimJCH@19&qX0&L`WBV8gLSk&$N_pYwLW?-V^D) zEA62VUf%z)Mig>LG8R#A>HmXwv(f|tfrbRPf~XKnwxFViZ6fPX7my729_)9(4%80; i4+^q0`pzHOH2EH&;J1X2TFnf diff --git a/Resources/images/numpad_8_over.png b/Resources/images/numpad_8_over.png deleted file mode 100644 index 93ff078a2e3decd581b2c23bbf12a7f56ffacc7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 988 zcmV<210(#2P)M0%ml&VKqoLsaO8u#;h|GQJ1w$7ha|rEdb>4Lf8q{eN z-7Hvxoj948pTj$Gv$dJ-Q0(xuU{AtyPPCz%^oea6HF_HlC(I+E;Ks~$NS#%wH=?WD zcOeWJv(RQ7Ntjz=r)Aj@itbKajXQ4dtkR>$S_Q0!KR+Y+WD;h>2*c<^;9 zNUfO=3f+o0UG=8(3nsq5p}5#qhX?MLt9y7+O;V95c$OYyF#yDvsDUPtQ38Uri6JAuZDu77bQ}!OSBzJ z6GH=rJvFBfOVzbpyA^VFV@+yk7%^pQDJg?#4^AlRHeh$SaBg;LJGRMb^fA`Y;&>m9Cp*)C==V*jzzyk|h4jiqLl{r|z8NyVzV(57WE#Z8n7Je3i0njO~`pA>E!! zS-#1p!RzxgeovT|%NdMqGm7QE73D`nFQpE&zRa?)c8dB_=AZC}3B6(P!tS%A`PP;C zpa)XJdqcsdY^6`9S4c&9rcN6*b^Lp^siWb1O7cwOsD)OA9%r*9M9|@7!Lw#}3_Ohq z(LVKF484`L-_>p(8Z~OiHr!Fh+P|Ss&g<16QguQpat#*9YmhhTdgRqPqi94lDi{d^ z{!&8?HPlc;4K>tILk%_jj}S`#-e|re*wh=Z7d$9faYYa+I{7!|+4u;tAxzW&0000< KMNUMnLSTZepVamM diff --git a/Resources/images/numpad_8_over@2x.png b/Resources/images/numpad_8_over@2x.png deleted file mode 100644 index 98a6927fb7e440fb810efebb05b607dd55633255..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1986 zcmV;z2R-#)$x4Gp z#aC;aG`4?KX@mkI8U*^< z?+ASyZK4{e<_y)y*-sYX1WJY+83uA(S~%U8f2Z^*Q5u;}mTM8FAxuM=1`PCh`9Wak zd7s}&ioZIciX~11pG260avLzQm|qRN2DAZBgKs_>{H$6$mSgefSW z2Cgokj&@>9m390pXdlHx(RZ`_(x*rr2 z%P)XiA|FxOKohXWM@!cegpZ3}q(*@WwGi>B(~3 zFT*O-K||TN03vF<;U0A;xofJz!CF_)2I|E%rGcwZhPjCP z|LifA#+g;dPII%x;y|#2PmlpsOBIzIqW1)qcCt*8O{JY!Xo8^#d+7ZvtQ(I>vOYMm z0*$ErI_U|6$xvc^zYN{=CzuZ`pA1r@FbsVVrv*4;u((GP+*_iEzDyffiFqGSQI-Ym zrf{6_CV2qmVT;*DJm$-KI*U~21e7PivfrqrBuz4CA9-OAN;dFA>!v8wljDz?;0C>j z4yJWntqpt!WrtNH;bl6R9||84A~eYg)W_%Bme>O`iUB14%p3md)Eua?Y=i`#K zT*;kbNretyUSH24-cs!O4A8S5_;(+61AqxWoA5ruy|RIIVe(5TGi7xiV~Fz@Ftd!+ z=72OY7KI_}s80xW-fqDxU^OtRqyi~hP#%_zycJeo#KSBUf(KNfC9XwK;)X**7g4=L zQX|93@i^tpr#l6#BF>LxEg2`2O{4^k2#*4T0%}4#%J(GgBiAsBLMaFhv;yDsdC7Yy zX*?eZnK`Nv<^Z25ph-U^#XUla2i`ulGXX+^ClD4`OwRz@5Y{k`S7Zsf0;6>*9*sb~ z@krwwTj)>H?^^AW7D_=#@-vi$7Sru0jgqGQqU*elIAchltib;C$V>ERRzCS9FoNGg zN^-wNq%6t6Q(wL%9anVln>;r&%27h|&aCci#d`;5)ro`*D zdB7%v$q6bLCu{h3G$YF64$JJWrPLw;NQ%vfah5lLE*3>HqO_J6mF%bY$3TzdPgReV zr9Dkl)6JWP_I!XczF5O=--)P7W@3I;_n~r$1R!h4pnTV0as}|E=nZ|sG-G*p8S~E1 zO+j~9+B`OTLaA}1^)w$3AU*3a?_f#`&;XJ`Lok^z3H5HFi`imL+Y$B~ycJ2IMjOiB z4lvT+b`j-2qTUa%U6qEip^*|QpPVu%j1IBX9jyg#en;B$qlX95ftKI_A2XP=M@p!? zTK_bZPSr-=@8K&R2bh6rlh)kkOLls0db+QITv-!addPC4rOk(;CluC1l5gjSqVn{c zo(Bc)w2T5TMseudX0e#TyVf(RVtQg3aHYZG6#aN5dP4Q%Rj}^mHEV*emLZxR^zlxl zUk7=37?@DfN*BUbi`nG}&uGHei=_$|sFq4ivI=3T)i}rM0B;k4zYA#u9(yc9&WF4P z+$SmiaMAT%N1V~jLTCoY_?Y-?l{B|TR;c{2vk>9u1zfTZp$*thKXyqg$9>gP$1vhd zN4Sxm2L*=stgi#OMpD5(Y#ol|mIj^$zJ7sUaTsMk!f_yja1uoz|FU`*h*DF4Fz3^S zGFQ_4Dri52BVB9(6?BpY>)Xc4$r)gdq^P-pL3N#>&5ofoXs?L2|94QQ4$yTa&`@c%c* z?TjMEY=qe;p93x{(pMh^UPakLjOUB>5O-vS`pEicEE7>afieZC0R|ydp;QA^`Hun_ zAcK;@Ba;{AFXY%s1v|s^F98mR!{Kl^91e%W;cz${4u`|xa5x+ehr{7;I2;a#!{Kl^ z91e%W;cz${4u`{WDI?lIJuug~BE%^B;s`Y;*E?^7Ih+_4CrcY1d!08zjK`7x06p#q U_)_&=cmMzZ07*qoM6N<$f*cu)ga7~l diff --git a/Resources/images/numpad_8_over~ipad.png b/Resources/images/numpad_8_over~ipad.png deleted file mode 100644 index 973ab3e8e2f2b884226defc1fe846fbc405038eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 529 zcmV+s0`C2ZP)m;~{gF3{?6htTvE+QheAPPbU(LqqCC=O!9 z$+i?FuR~wU6_a~wLUHLc9qu_i-}B?W!3Gp3^=KLs92D(Az!%YL+zr!~iabIgFzO1xFouqU=Iaz zDRl@ZQ+z8loa+jdZgB_WZPK$EMgp<()vZ16iy6pA!Hi%=w2;0XS5uD#O^1TD4T#<$ zi0Td{yDNUtxyEP4Wv$`Fb%Dxtj^k?Eq zo>92~^fnV;i4(rsY2K=)WkZ^-XBv6g`HhY#+v{0+%6XdC<4AV3|FpU==O?P7I=;6k z`6jrgWHb-5;r|HYX%)TtH0=fzi^>*@09)G9|5J#QhOldsIZI{HnCS2(gFgHMC*5@M Tl?N%300000NkvXXu0mjfh8OBf diff --git a/Resources/images/numpad_8_over~ipad@2x.png b/Resources/images/numpad_8_over~ipad@2x.png deleted file mode 100644 index 6edd5e0b5ee637958ea2470a30747cc2aaa0384c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 950 zcmV;n14;aeP)sTNe~ zgHkBC;Dgw-ZV1(+)e=(Y_%e#dGiH*Raz~v%3=H3Q?|0At+s=3H4UQvXuMSgI2o}kl zR2Cl={3x?8Z1TBCJpbB4>m#WulE81`{P5{upD3!X+lTIR5l*JSPq zn;mEvVzI|UB|C6YjiwHY)`StC)w-svF5xN}sskxF9dE=w3u-mgQil}05Nj)_zZMK( z556ns$O6$y(Jfe&$e|^s+=(Z1C59U-$hV8SL($I(-R{V<3N|DO1nX)gmerw3&re7v zwCN2aNm9QTcML^OVOK)k6$fftTRm#5BO&`B3>vTU{v8QftNj+`ODrY{9G-=RiKO(1 zBl!}`%1z;~ST+j_T?yHE*y?EBsrYU}wmcSGQAI~xjGjaR?#q84o3gb+>W#)8D=L!e zbDCf$i9IXY*cg*X!S&ddus11s279Nu^K8)rXiu2i6pH#AX;$nJyo9znx1s1cC)yAO zO*PbXA8&P~%-eIcdv_>$zFup|>PBk4RWciEaMq)7y>$(BY>5S3c#l60lXKq{gFC{o z!Q3Mjdv)OT3ZzD5R)(VR=O2~|Uf^%F6htq^ZrA1>u~_gjZcli=KMdPEL&I4u*q(68 z0b`bg-HzoFv3Q%-@+*Mpv_@wl1!2THcqpOj)ajD^QgPB5751W$s%`wLh?vk^kRP$= z)C%&is;-4CCU7XBTAXL|=%`S+3#<0c4dx{qPf*G;V&fHvU0t<}HdmoFVf*|1h-LOy z(A*olEuYaZH#=G8@d~y-&AZ)yj-{zHmFN*AuZArSPV1)aCS4BQ_xOrJYz^r!nt+V=k*@bFRxs6$X?<*Wt}N zkb1>YYicD`|6@zRTHKF|XJLC1Z{dkhw5Oq_`@~?}>6pvQ?;Mw5-n2`85q*NaPOvi! z`AHK^G|@y8O*GL&6HPSH#QzH+7F;SMz61Z8QSwm>&J%0@G}>6<(%vHaP;lRWEEB)@ Y4R&(hcU-(>5dZ)H07*qoM6N<$g6rS2`Tzg` diff --git a/Resources/images/numpad_8~ipad.png b/Resources/images/numpad_8~ipad.png deleted file mode 100644 index f5776ea4478b1b176b98f67a1aca8476532e70a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 620 zcmV-y0+aoTP)|(h+c%QMKz_A1YjFFPNh;ia}9%S+nWIH8oB}ClUd&Zpv)CN za2)69Tt-SMDW&`X;PR9lUpS6)Z&n{Mt00%lZ2-7oXb-?!BKiX01c1W;u4J>>ul;_1 zJMoEZ+pYj;8M@x-bRI?@@pwFbZF2ghwLa&0-cF)nh=dKT^&c5Do6Qk3KQlBXrCd!s zbpV$39-NfN|DvCaWOZmBqkgzx=9k4{@odP;Y`dK}Svi8E44ElVjso8UwIG(XBh z#H8uE?#;v}@;q;snF|2g0JPaY5;6G>;7K~2uFd^>hsfvi3zb?nP$K?5D|OGWj6^JOXfPKaDKQ@_qvo53CBrcad!X0000{_HbI&*D%suDq5Y8cN+g=lo z$8XkJcL*U?GqVOTD}?y5v$OO2;o)I*uFj^Q4LXiD?7YESt^V&di4ato7v#(HmV|T~7p&qLyC+ znM~#q07w0jYT(ZK`FU${aaPKO$jmh&nj)fA%)FkNZzZBZ03C)s zuGae6a=HAIAHQM&JmrTyXO2q{*W>D=+rBd-0O2sw+*BB!HO{l~g zPV6^`dy>iIfo9}#xm+I+y=73%6VV5u*RevOAga~s#{jl^)Ug79*(Is^AQ9~{lpD>= zkCaNKgDaw?8W#7#XtJ)cfYOawB%1d@u5<2(-F^#JVEh^V(%EdCriv1~S* zVdf)-Nc{oe9U;Vit@X^`A}f?q_c8NsBD&3B@|f$oeSQZ|Urlf-m5MX-n+7{mTI((4 za`{V-tv}ed{dPPae~p=UEzxbXENc&d=R&(YlF8(~0J;sTC!3HuTiny>^lkuO7;5A8 zP;W(MzQZ7%l~NA3SOYaP?=z^@_4oI$4UHHPnGUZ3;5KYbnB+>SE5fW}ml(U@g+@$kZMwNOGzQ34(eF_gr^1ZbNskips%_iX_BNEBLuCdYBc0c>ir=J&?IS=LUa)KLHzc&zCFa8DaHU-C;TknVnTbo6**T$%A{YLSSZmQudB zV!HcUt#-1zyL+DyA_m|F0IS>BeujvK01Qeg4+k}E1pc)ppU)?zr>8SQh`RvX0$@FW z3mcaN12_#}3cv|w9dLJY+K s3<7Y@Ct}R}d5nnO(^`+8XPNlzU!9z84EBVs-2eap07*qoM6N<$f+3v^xBvhE diff --git a/Resources/images/numpad_9_default.png b/Resources/images/numpad_9_default.png deleted file mode 100644 index 126c8a5ab2e9b607597e137bc0dc6f9087aef40c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1068 zcmV+{1k?M8P)&VAhb-kJOEd-uI1EHTpQ z^mB@$BwW{h;5g3gQujweJJfZ3CxC+hwgG4aumyndnkNB#2jH^nx?e5@K?*PuYh$t4 zX(Dly;<&6L~64A>5k^ojziTcib zKL10g)wZtdX8;`a8*vX!mSqixl0(vda-5l)0bE_6$rOOg%={)1ovWB~Q=#RM4BNKv z0NAhV`gQ?jd5Vbc0r-W8hR4UpzaJPFD0h0=bolkFghi-OC>#Rtf~5MoySsa0IYx*K!#Dxpyc`_>xgebTj!-6(Nf42nOeQCv zwnCYvsTPaHCIDxcIa^V+pSEp#uvV_It^r8n$%W!y044wwyl29z&zhOJvC0ShIF(Ah zAH)?_P&u?o`Z#O7r}ErXt^7G0K6`QsQ;f3y8Ac#PElguT#F6>0000K diff --git a/Resources/images/numpad_9_default@2x.png b/Resources/images/numpad_9_default@2x.png deleted file mode 100644 index 93acaecc847d689d22bbce821197d053578e6dcb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1982 zcmV;v2SNCWP)Tslp;_gRNBh2pi6dVla-}JG<9iFKUC!*5>P8tfm#WWD*>W_5TZQFvjw%3 z;zB8|+h})Y8D!HaNI@zkKpkOF6`YVbS?AH+*gHFi54)D4G`{0F-r1Y(`AL>+ouj$e z_kYj5=RRf#Zw_c^XlQMvQt64u6gf0~)U z1>lk>%46mydU|^9HhKP11`c=MW9IKhB@zG-(Osod>Dv-f%a5e{nfaT`bYB3ln}~|c zypM=xiRfsxT4l?!`k1*7z_kEwTW$iv%=fvj`yCNVFVa?Kes&pAegwcbeBb|p=Xs}= z`Rw;I^9}&_gt*oKY;zoET!cDzL-sQBs{pz}Tp#W1?7V+$Y^=P(HCRq5^%#IFG;YT` zIy$ZyA0IEt9QDQ_=L;bs`9!qCahx416$t=}#o~)fsp|o}qH*h9SXlU+MATVq*|Ozo z-}k2g#G{%!8fE@jvo?EODb=6P=MPInEryEke^DnAfTvb_g5R}k*MFFKJAmpEE{Pxr z9+aW4K`NE90BqN|lzrd7w;5$Owvc|Jaru;O+r1(b0HxGT0J=3UKlD6rwu#aFRRHr# zm@j4K+eN6lP}vasBh4(|^SlE9eynlXDnd0jA~d$?d_Mp02r^DxXZXO-&`?r@0*g;@qLM4;Qmr&p5JEz%%G`(d)DW$Z>7(ozJqpHj3=;#7~e`zA_y0#UHnU96I z^h8{xe`-3-hPD-IZf@>a$h;A?Q2&sKItP3A?yUkirHQzxd-1E9y0ouQ4Gw8~@huV8 zMYmJl_Cmd+v0a}|r>}@`&OD(pzoXrS`lGIHMD*DRv(S?ob9{Js_>y)O$_ugYj4G-^ zA`0blInlO4IgT?;MEf)@Zy}=JMA4gl-`5INtya6*IidjIDRw^%IxH_SPeN?l4sSH)tn4+5|OYy$AM z6;$&>j^lW3EffIQw*4?OfBw8GPjrBpUj}dtz#I`(f*`n@hTU1w(0MbPuFbsgZa*eg`vu1i(#L**O)Xe%|B)Z~%CYx$lg5cdmlmxIAKsOPsW#$@y5`Z~oK0-u)4}#!tmSyb= z`<#Jo+aG4;-!2t_j^kJoQRhLSP}mP(e-j?9i>Onr{=XH3MRc3LuZd8Gz|0#p=D&(i z=AaYmWf95%1_lN?p?@J;BFY33iNr>{@moq~uAwBNOn``nHRdCp=N%HETFmh9aEzJn z)VS<1p`L9o)ZE-$8k$>1%>1MXWky=Adq?<0xmEzQT9g~o)8C2u z?W38+pJXz5sPW3?irKt*^Tr?uh8hdn_bxA6=dG^mK5trQGx-801DIvz8Ku+=GnbgT zOhl&vRG7I!L=_^cFmnY!2Y}1Z__-1Fdwt7gfr#!d6bet7I4T%%!b?Q!m*_<6h-ls7 zS<#ty_7;C4wh+K5*0;876~ zJy}bvq!?|nMMaY)1`X+U$AdAvyCkyReZ!l`{!TN`Ff;pop68wSnU@V#Sh3GFirVD- z8V1d+^nM|AfV>@oyrQjwE!d3Q!th0WisN$LUkSjFVkBBc2SrcestTrzqc05kV$}h~ zUOPo2Xj^I+b7)>-tcX2f$a`r46)VbL=Q^O#Pzg#pD(BNX%QFN68UIlarlEO;=6x9u0a znlN{puy-}2+^!PmNB!Xwg^FhWX<*^h`A`=`Hyc7ogyzIPwE#}=T+9i4f9SIlT5(b^guJq~gkem<7%(J2o<$SN` z2SGv9A?U#ExCf2P{|pJT)6CI4}^DJa-Rt?=1q$x1yh(}F@?HK+p^4lZ|U?(S{YC~P+0u15zs1Vt+@P& zUJk=vPcx;{06HZqpq&a}f^S79@LCx5d+L=+st^1DO=h(zXh)lzcF{Ua3Vsufg`tug zYF%~JRaaeg)m2wrb=9?I6k^_kis}D}DHAm~-yrCd`=0<6ef~FkZs#aE0x+Ne0000< KMNUMnLSTXhF}8;Q diff --git a/Resources/images/numpad_9_over@2x.png b/Resources/images/numpad_9_over@2x.png deleted file mode 100644 index 7c775b38418dd7b13146ae815d59246d6025c12b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1791 zcmVGuYGt+^6h&VXKFesEHD^R;xZY32woK6TJER^;;XZ`*#v`CX!ZL zpsX7gPvUM43D$>BKS-j+BWb0N3%-Jv<+RJK`m8SU_*E)kvhWST*K?EvD>VCRim0(i z(gwko$5{Ooek>@75#V&QGO6#(&t;D z+p#eo0B;ej!8q;olm8RdT|S~GsEZ-?!ACvE?OzJM1-DQ(j414&e6@7GkRap$BC(D!;8 z-^myomnKma-klLm`@$Aa<IQx#>w1b25(Row=mFUG`wlD8=>aElHxdAS0q4 z&+#PXrx~S7Yg$zNkXOpS@OmgmQ9sKly{5J!s=n$(V1A;Gdz4Y9IHngNO`keZNzKLbf(Tvj9*0!kNH<@i~ z@W~uc7oN{3ZHR5TF19I{sQRjxiPq;9Ri(^`qCrc|iVB=M7Y)6JyQj%K&+4n~WMVk9H!5qg4EHD^G4njDc0@tgE{^^PV{rwi-yeY^>Gn4Ag3K|F$+mCOoV7U3sVJ~5>cRrq^&<7!O?-G~ng7Ba5s zkEk-=^bj7@WM|m){}CHkStNRJ)Gah=Ig@qo=e(#9#JyhGTk*!BjBc9BBF<@oLD6B+ zb4m`1{(?V?c2|3xL2UOv{Ajdz3SCp1c-5b6qC$tg*gFZyLTkohdu*z|cS&NnZ^^p& z`_Ck*ILyz8wm&6N#fhl-8D)D#h|P$qx4|t z$XtYzMCH`&)nQpim0d+>XNstoTO@0hQFLz-Rfv$vyhr$`lU1$(CQ&&!YIhy3%}C3; zL-*9qL)E;fxKfMi_Xu|trM)#NDsEH~+=ba0)%NNv&QmgLPE>4DXP-{2s8V%(nB2+z zBx+PiYqe^&t*WHp?$DJnH#G&+*My+TTE34u={D7$P1~cPAh$@>sg`MyL!F$41e=PDiTPjRMxu(JEI1B&)002ovPDHLkV1g?KW%&RA diff --git a/Resources/images/numpad_9_over~ipad.png b/Resources/images/numpad_9_over~ipad.png deleted file mode 100644 index 1218b127c69626c2b21e5528238c0f36c31ddee7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 518 zcmV+h0{Q)kP)6KD~w zR!}Mq1;IfrItUdPC#7SHf*@%c9K^N%fuoa)lS0uZ>QYc#gzhRX4kBg{QN%$Ip&cx# z&C7N0QX+(3LPEizXStmF!1cDP0x36pf;UBdCc^hKetJgW`f?qE9KUgtFqcRxn{m75i~7l-LZQ|7UP0bqIVb(oEA;DLH7=}btO|;Uf^g4xryOq-%O}j?QbH4hu+8QPNtN9RCH0{Q2{I?Ne$rKLmFlQqtx+*%i!=SH!0C{b6feZH*0000007*qo IM6N<$g6>`3LI3~& diff --git a/Resources/images/numpad_9_over~ipad@2x.png b/Resources/images/numpad_9_over~ipad@2x.png deleted file mode 100644 index abeb496892f9fe73990eb9fc6a0281966aa69b07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 914 zcmV;D18w|?P)xo(&T|Ybs)~&r^cqXsN@@Wd*y#xL+Hwr$XJNhHVmzB}qjm z@f^C8-G(mFK75`qwbi0Go5o{tz>w%@LN#H^^I=lCO6b0U*OnaxdqT-KnR`t1OhWpb zf}v`pK*{U)V%b3lLz#zST=Mv%3DsB_cl8FL5)~Xw7=1cErkJhA26dnMMODyV4%FF(&!Ak1>+MO-27IRfJTWTm@KPL`sN4CVa_^XQ5U8}aSU@9Ta zmRJ~d4ZkE*2ja*oZ3i<6kKL7hx#z2d>>+2p7kjm?(D}E;L3@+sJ!sGVg6^|Z@MD!j zx`0mwr?7xd(Ve&-d$6gB*(;$`L!Pc-uXwak7wdn)c&}m@v6y8ja@BC6i>L?l^^j^9 zvGB2ZQ=SwZ!rwJ4ox``uPQM9?#}c_o5r{MO z?x(212=BUtcPcM&M8RntTFi$Dvx#p9or%o9*mT5}?QtnrrdKEvI}_5MnkE$Mz=Io( zSRB-Y2NJ69*SE*gqkuC?POMvEalp&imr#8emPQ2G7mwIiDF6%3hmTe$6ic&?yKz{w zKcSvcNX}0(s*1tecwCX#?+VUUF6wE_3g$&O;~tV#@L#+d#$9M0Vr={0`!;khn?2na zM?$GF-fCoyZL4GLHM|r`UTI_w*FP}r)m|CMlxtjC#xZ5xp=7k-jX}ezT(4HG?o-gC zpj)&ZTX73ES3EO~KSYymGPxGNvgF8-BS(%LIdbI4kt4@CL5Tex5e#l9R*SwXqNnl~ oyba_o9YxUzp|SIZCcx=`07Qh-^yxiR#sB~S07*qoM6N<$f(fdnApigX diff --git a/Resources/images/numpad_9~ipad.png b/Resources/images/numpad_9~ipad.png deleted file mode 100644 index 78e8997aef03ea88c333a0c3fccbc3d716388985..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 579 zcmV-J0=)f+P)e#Df?Df$T~VA{5D4C7;2I9=!P#q|k$);Gy0W7dN{gVk~&^;z7hqP!L5~ zDRP|mE1b4=s<2X-L^)+yIG#cFi*0W-n2`9cVo{2RehC=)m)%Bj{CbcE*7uuvE^Gbp0sUye(HZzC={N?aXbJ{02{V#uZqZf zRV@K^;Not^#>@fRQ@6L{IBTl<5ICM$8e=M+=Y5_Ul)#qbIKD0-D?mX+z5p*&^%8Iw zz_P4)*L8pA0%atyp{gC=yYKspdD{D*YPDL&RP{=-+{)E;0F6fDbgfn^rN1?s&Bftx z_y|}^x^w*?-nu?e0d{~NNpef6yYwIkf}43yB)|wzUJxoXxML&zcZD9E@LB^Pue*o&+ppe3d R`gH&R002ovPDHLkV1ldN34#Cs diff --git a/Resources/images/numpad_9~ipad@2x.png b/Resources/images/numpad_9~ipad@2x.png deleted file mode 100644 index caed2da5ebc22e34a13fdc403f3d66baf0371c72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1047 zcmV+y1nB#TP)Wd;B9p->7feu@+d+6aPw!N$zIp<9fR zSkT&5s#2<0v6z%@OikNlGIRaN__KZ6Zg!{4w9bL~x%b`s=FEHdzWXjixQnP%DtX`c zdx9W%RMWH^fO#VNYjt(?LbY05yPI=U+zw6CEC?aq2Cy4IZ-Y4&0DR8OM?KFwm3Cre zS=Kwu{62t=W{sHnn6B$@I*zlPI$~pEV|uMtn*i`~i!SB>JTImEJ1$~c98MM&7Z0~V z3IGNG981-T*|t3phT%62e0>SvLtWQ@41yp8@E9|{NJMV|=u(V-K}z{WDu`K@b)1<; z6{`JG$`2aYYz5#j^UgZe>0+_iKR!MlCQ58{bab=t`&R%Mb*hh~lyBV5wp1$h5Yd_X zL_$)csjWOT%hZUrtY1)B1*?OM$3o{>4sP?8Id2Ch4E;)|#Ym@d9iuAuHabnE8 zMIoMV)_!<+cn-i)op`%xnuVlSY(*im|_)|0o>`zzf&PQlbWsAV&i8UfG2MG+CuzrPZKi? zW1m9&=k)aS<$IQxX_{M@S#_{~nwn-#3pei$A;b{?-3s-`sUc?D_Oqo@sk@o6BO@cb zeBVEb^@eIaPDm-wrlOfssZ{bSD=Yt{=NkYn0k|Ax!({-qNcS*+T>y48aCHN~KwQM) zs1={8yJYr6&qi>Qi1xXzdp54^9tW}QL~SknJQ3}6UH9ua<2a5Od!WS9WF5QJQ4j2K<09}uO=rauOmZ-3>h+H z$dDmJh71}0pP-qUnb%vm%BLEdrhOu?{ts07ej>)q-wGm{2*YshKHG`s{{>C2IvU!@ RH?#l%002ovPDHLkV1j8=;syW! diff --git a/Resources/images/numpad_hash_default.png b/Resources/images/numpad_hash_default.png deleted file mode 100644 index f689fa55189ffa1ba9cf217db0f61c3fbc621124..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 540 zcmV+%0^|LOP)Znu*})H&)?{=8PJRd*ccwXZ^2>r1WmM3X zPJY|A?IStmL`Z~0NQC~SP|tP9FpM*;b;@^p$x~Rb0W?B}rvZ#~3M+s|Ut!(1Z9CuZ zUTzscw_a}Ho3EO6FE8V=9M9L@Qc7I}jb-Lz0PAkJtCTwN|336xs8}rC z1@veip76o4tecQt?%lI>pTqKG%ZZQ(iI4~hf*=TjAP9mW^az#90g8?wbu8_nE2mI??2v+OB}S~9aXS48nl;c1~w)j$56ntS$6 z+Pu`r8xuDOt~o7kF4bG6YI}x9H@WBhtTU0*o^qG(ul!cQ@$hbrS@r#^TVIs_aoeT+ z((~Dmg-hHP-uc_O#5%oy`ILR0uX0u#a85NA=n7B}S?Hhvra4?S1h`t1MDzl*=UX0o z{4vby<*8kt&#WosC2)0)g3>Myg> zUYt17ckOR&XlVTHhz;xV#jCYmhNitRI99Ry;T-l;Z=8z0KmYvmk7~aiit9L7LFO_o z>Q)Ye1Eo zbj087+q}^HdtJ}Ow@F}cZ~1xc`8)MVec5xWd@p@H^HJrc`{DWeVSn!LSNXf<3FHy~hNfJUlmjk-F3;E~RMROBJO|7j20EP7EFe7AhM)WJ z!Hu_<%L7AB>}O<$^8no`FzY-nN|ua%<A=UlzJ(&j<7xehpgudYV)DM+U&r-sy!8d5`wq9}@@D2k#eArU*x6jr={ l@|uQ8(FE2o{)nLpXP>0%Ss5vDoZtWe002ovPDHLkV1k!`-BADl diff --git a/Resources/images/numpad_hash_over@2x.png b/Resources/images/numpad_hash_over@2x.png deleted file mode 100644 index f97fb3f0a79ff2a322cdff93522737eba2ee1e0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 563 zcmeAS@N?(olHy`uVBq!ia0vp^SwNh`!3HFE6uJEZQfx`y?k)`fL2$v|<&%LToCO|{ z#Xud`L734=V|E1t1LI{+7srr_TW{|edOr?eIPmd*cK4zeY0H)L9+j{^dhz7hn+3B) z|MKuXdhp{b!GzG~vjf%O4ch zH?cXb_;m7Us2JxOl`z|up0!TDb2f8tv0L{*<4tkQ)$EHazT}2HR-f2=WEP(YH>(b# zz0meIrXl7bXWLID7))81qTzfpzz9T3o&wT5sTyAcHP>4{vYK2Xd2(as=Hs6h-bh>a z;9>h^^`kE5YX5Odn*ZIGwsen0Pp)6XPsY7F&pRKR({BgX>?QM+QQUHSHe>M0iQ)xe zA8u?ukdgHB?d#{8A6^fY6kl`e^3iKIR5neIxXLMcnbm!c_>wfmgMKG|JYDSH2DDn$ zS<5ZQT6X)q?D@V)7E5lw&wf_2 z@&EG@L$LLyxPfZR{lq6DTY&KT zBo$8#w3oB6_rA^V=51cp&lWhQ%no>4zv0K*s}{KeKb=2Fhkgv0uK(y-z>7`pT2p{= O&fw|l=d#Wzp$Py4vjjf? diff --git a/Resources/images/numpad_hash_over~ipad.png b/Resources/images/numpad_hash_over~ipad.png deleted file mode 100644 index 07be53fb833d33e28e5af58936699da6b08b0064..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 419 zcmV;U0bKrxP)6wu$OOD#s$9Q z>@bFKiW3}k?Qay8qYzQpYGNBvh?w{4uNsCwR;bl5yu@=n#?#!hdQLyVB=+$UyQyZW zvteKsFK#Lu`6<5EL|*l7tXtPm!Rs9FXsBfNHhc0u$15E_*i`c&TR5K4QQGt_vuBy@ zerNyC)FtOQ#Bo!R$Kyzm;Onlpf_ftr9Luk_GYOJGm?ET>+RcSVTCyWG(;z N002ovPDHLkV1nM?yIueQ diff --git a/Resources/images/numpad_hash_over~ipad@2x.png b/Resources/images/numpad_hash_over~ipad@2x.png deleted file mode 100644 index ab0860e979e436688ee068978620331e6556d600..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 497 zcmV5H zgH{A_b&`GoH&;>I)LI7z!Lgek!0+Hv+UlZTLU3^CAm|{12re#K=pqg#=OQI8KtLL-$>#^W^PQ>XbW!lH$(CEVC&q0*E(FA0q&+9g{_ zezp`%mAkys~lIJlFaRT>Ot}qP4Fbu;m48!<8h!!c}vo>6+xN}jK n5srrJfnB&LHwec=ChYbLV@hCxSwGza00000NkvXXu0mjfdj!|I diff --git a/Resources/images/numpad_hash~ipad.png b/Resources/images/numpad_hash~ipad.png deleted file mode 100644 index 5b23bb3c9e1af7eb5cbb21cbdf9087bf3afd9452..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 450 zcmV;z0X_bSP)y_rL|gVY1KhivNMpAa*g@3}Uc}!m460ScH{th%o;EO~dfeWLTK!rj~uz^2C9- zJth;u9r((*aPB>v^CgIZVzIdEdET+_`%V~!R}pvQdETM#`ww9l-t^LNh=&v~sj6cg z+<3$#;|RoE^kcZ)hJ`{Qkfc*VA~k86>;alGO%WhDgBu; z{Mw>kW!ML%RdrrOW`J9u7L6ByDOJ4|k$Y9WtW+v{{gz<~$VD{UR4Rdp+qM>oL}v2&{8LbS2?c44 zhz0>*(vmJa#UWzUiGyadDTCaLfF6a7u`xFGz2IjTW-=M+`~Hxv8Dmz7Xw#CerIb_d zT4T&S5$)QVlyU+99xds)P$)Eiyxsf0KdQAp`57 zl~M!tMMPUp*p(Zjlo|klB{!c^YS@kuLM;5steDMa4FKHQn&){fcYLf=D!1-h&+{H# zt=(?l)oQhSE=4xR#@N{ZoE4MFG%?<-N)I$}Sa)#kn7E_u+6DwbmHm!$aqo zL2xPdld(^iVl)~(Ycv{fPMU-eD~MwVmdoW{ z0N~IWmE7YtRW6qgJB(E0uGVU`j(MbFV{D9#{oi)~4pjiy_^4$g;t>&T*jg+Wdj^JK z7=~dOhGCfg0jt&OA|j6T)Yr2Rdm%(zgD?Dc@E0MX^AG^+6VYie88gPzUje{r#RPZ$ RlF?q diff --git a/Resources/images/numpad_over_background.png b/Resources/images/numpad_over_background.png deleted file mode 100644 index 1da019a54bfd39d0b9405c2268ee487ae7037bcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^Od!n23?w}&=BEQGmUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lwb?+332@&$MEmpzm*U4 zqJbieB|(0{+Hay1f!Y}ulf2zs82>Zr-UD*jOFVsD+3#~p^6&`>#&-Mx3h{WlIEHXs zPfkck0Pzopr06HW`O#lD@ diff --git a/Resources/images/numpad_star_default.png b/Resources/images/numpad_star_default.png deleted file mode 100644 index 24316dc6eebd435094d2b912ecb9bfa05a5da287..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 613 zcmeAS@N?(olHy`uVBq!ia0vp^CO~Y&!3HFS6@PpKQfx`y?k)`fL2$v|<&%LToCO|{ z#Xud`L734=V|E1t0~4#Ki(^Q}y|>ftJ1z&v9N)jceBo1#i1l)17PcBMpWXVbA>w&* z{w3cpR^58{UOmcUOJ`@l=oph{@nXTFE0Z`Hn;sP^a42~gSFxW;olxcdYhJUahh?Fs zUvS-g)em+3-#?x7-uIq0!r;XgwN1Iz(Ox?}U3SlV&bw)ryS1+3(kr@3w-`1sDHtnG ze3sDnIA_+fou>EmBClCB^t!yMoW`$bs(9GooZs@xu}ZIQZ~MFBW{%$fuzmAll6^17 zJ#|_Up|eitVt%(>chFri?|(hEUR%)Q4SFV5QfYfXU09OerQ z1#ujO!PiTdPTBSGbhlhf;*RONrx^Qw))KU34VbBYH{471%=hoL|1Z|d-)>8cxnS~E zw_)r4uU~ESxBfn%vdwy~pK9OZcJ&iAYzvCMp0eyKcJdv53*E`Q_49ePlHESz_3{%6DBJJ0_Hl_Q_mc}vs;8KX|_&+6Yd-bu>SjM(Q2{iO9 x-f8j06^sd$iYXoYvRz8Ty>@O>aGGDoRMW7~gdw9w9+*lPJYD@<);T3K0RS@p5}*J8 diff --git a/Resources/images/numpad_star_default@2x.png b/Resources/images/numpad_star_default@2x.png deleted file mode 100644 index 43e60e9a8341b0495ba9b8ccbfae031e5945dafb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1094 zcmeAS@N?(olHy`uVBq!ia0vp^SwNh|!3HFiAG5pxQfx`y?k)`fL2$v|<&%LToCO|{ z#Xud`L734=V|E1t1M@Ra7srr_TW@drX2_&Uuz&b(Z0xnzLzsK1NR@!&2X0+P?y%c; z=gt)Uc!6c}CFhHBEShp62dh>J3GCrmG(AahVTP!a)GFV%M}t%*CN5B%-?w9cZh{{2-`%i3KF z-6k(@T@@D*5s_iAV#<@Eow57g_vbv33YFdcs7KuL`sw?7eArFx?B4BI_j_K)9PXwE zDSFdyZ@XrCG^tR%fw}Y3sRIWNEa%Zu{aW?6r9&j_zsrH_1G|$oF)f-M3Bq7U!`qkbPyo;#IVxfDen~ zhP|~1zW#B*4ARh7^I-`Hg?400?5 zwbje>*4_bziBjU&^|uweKGH-I^tTVBYgeeP)Y&eT%C( z4=m-a`E&f(jOP+p)U?F9S+n2nW+=;lblguOnQ!yV8!l75mM&Z6|G0jU`hEAQUaIDO zkA)fHQUY$;e)^`Pr#DYF3E3{;|(KX>Dz^OI}?1b@S|=$~m$3 zx4!vPOIRv+FFdNo|C_n2eynf%oYeM^7Xn;uJ3 za!r(&7j{*B7f-y<<^C0)yF=)v^iYoQsFU)kgi#0 zpM7S~WBPG4>UV?Tv(S>dnLp&Om)f&j@R8|M-WhW)IY4vf%$b?%_C?)~21eMmV&9!H zaUv7X3q6%x_xjmQpCuW+$?I+lcW!1lMJF@7gh1(Eva)=d2bq5Y=di%l1vF1x9) z`q^v+-@xt-yl++m(1_%cE)n#?4HG#z}KM^v#`XwEz~nur*dYS`-I)|b(ylCc%D$3uKI48CaM$&cI}??=Rv}z!`vI#p9pY?ew@2V`AWvE`%F@8 zi4th2-tEfb{-mFE#@tgRc1mn;SmMO8x8MgCcUt;3jeuP-z-VOfboFyt=akR{05Qbc AD*ylh diff --git a/Resources/images/numpad_star_over@2x.png b/Resources/images/numpad_star_over@2x.png deleted file mode 100644 index 0ede457abffd491526cb120d6546a26cf3488402..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 991 zcmeAS@N?(olHy`uVBq!ia0vp^SwNh|!3HFiAG5pxQfx`y?k)`fL2$v|<&%LToCO|{ z#Xud`L734=V|E1t19QEni(^Q|t+#jmGepv5j(vQezu6MYBVz zG+M7EC^g;mUE|6r$0euJ;pHgU|5nvQWzpu10tQPu*0TKx532HD$$uoTGb!jw1Lw{R zgPXOsJKEo*T+2ytPe1m&_;mig^2Ca7wa;tsE9!LY@#fR<{65()CrGlc#7+Bx^E^50 z^K&ik_o+>+)Z`^k$AR0e(7rSo>()LW9jQzCjkwyyuv zv@<3!AhGg9VuJU_^=4c=J7U+&O02wM@OEF1-RlQCo4ArqQg5^rUI~wL=55wH&7aSa zRqbGU?Q+}|_baEa|Gt*_jB$DFw7l)pt?o~%5$rp=@7v@hJC`gtbnC%Wi_kmlwmO$n z*dO01leC*1^jj}M`2X}$qeTl2@tjU>FnQgu&dAs9*o*SWIxRU#)x53ZyC-u_Un-fw zZl`hiiPQ$c8NourI_CZVMX%iES=}mXQOA5O{6^}5J(E@jI_}-NVV}xbcNu2BFoV*5 zMt`mU1^>3lu#1G0PJbV5P;}suR$b2a$~RY%7VTPn=(Wg=^VLez-Yvr}pKi6F~>|ZYu@?*K+?*bmC z`7AMd4C)d|lPh^d=NsBGzLnbgkk@?4W(V(?r~M6Py_LD{_3O>jzQQ(5TQ{kt(^L!V zc;&wemhSY~%YQto-h<)VL5YH^;c*ANw`INJ&R$VnlKjVLsR^UZk;mDm4ga)RK5{y+ z$@<&n_$B=lx}H~=H}E&keP(EoJl|F)rD^%Twa1OyR&1Z`ljYL-QFqr#mAajwh%N<=60pH^o<+opsxwU&ED1S0|y85}Sb4q9e02pY=R{#J2 diff --git a/Resources/images/numpad_star_over~ipad.png b/Resources/images/numpad_star_over~ipad.png deleted file mode 100644 index 86d821071cfa6e310b05b6d81398cb08d5293fd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 308 zcmeAS@N?(olHy`uVBq!ia0vp^Qa~)p!3HGt@7W~)DYhhUcNd2LAh=-f^2tCE&H|6f zVxW%eAk65bF}ngNc*WDjF~sBe+p7z`4hM=H|9F1ypR-BACNsjeo_lg2T!3d6YvDE9 zroy}862f9zesHO=+cjy3MT)frA6}Q5_|flQ_V;K$nRD-D>i!&hD8Hn5@0E+OuELwd z%5#5Q6TW-n^Xs$ha)&QuzFRoM^y}i*eLFXXi{F@LbLAaJP&D`U8XeYwn{pKgF9yXa zYx+lPh;X$!om=gh%X{)#)%qEsJ49sG-MsKyzIdtucdkd*VW9sQJYD@<);T3K0RYL; BewhFO diff --git a/Resources/images/numpad_star_over~ipad@2x.png b/Resources/images/numpad_star_over~ipad@2x.png deleted file mode 100644 index 9a6f166a6cd93d2d9ec61d36ace13a4c997fb9bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 570 zcmeAS@N?(olHy`uVBq!ia0vp^W|gW!U_%O?XxI14-? zi-9_>gD|6$#_S3P2F6>SE{-7?_uk&J&Jb~wVE=Ich_^}CG55r$%#OM`J`)>`s433v zP?~h;_)(5oZX1PJxOJItEeUb?640c^rKDjepd)h8ZNo+}ZqB6Co@WWi4=LxUG>Yt; zVEZimZLRU0kLhXq?zVD^1@mkNh{?Lk*RsX^+C$W8Y?>`f~_E_@Gt%q2C?=6-ducll<4y`M)}C#f{xhnjLMj=1wZVVc7q2^1`I2llJ!?RW{2i%b&MU zEM}$NLbf*(B?WWmCVNGmye&EPRnM}`TbhnKo>hyTYB~EhZ|I!kd2{}l2d3|M=~sB` z@07BGGw*!wOO9V5A!c)8?wjU~=bl$Dy#1FwW=(C)vaIkG6`a$m`{cK7)csW|_Byg~ zwzkFF?!SpgzQ4S1J@li+_AGX;t2T#HCG*Z0+O!F8ExvZuV!du|T!$W~Rmc~wNh+S` zD8;cQ;+o;(_{`pi!JZfTxOv5L)~Ni_kjUC1`kOl|ChLrCD$7$~)H8Ux`njxgN@xNA D%TE7_ diff --git a/Resources/images/numpad_star~ipad.png b/Resources/images/numpad_star~ipad.png deleted file mode 100644 index 5945ef2bd319e2a666806de8e21bd5e875d9325c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 329 zcmeAS@N?(olHy`uVBq!ia0vp^Qa~)p!3HGt@7W~)DYhhUcNd2LAh=-f^2tCE&H|6f zVxW%eAk65bF}ngN_|ntGF~sBe+e-`mjyQ<4KKy@fN+?USqNBOv2c{e6LQHNhIPj1o zzag^w?vnQn4(p==18-kx&aGe;(wTe4m0_QEl==MGPkheJoxSl-b8+6}=RdO~+P<$W zKQkpDG*mq`^4{NRbGl9h_iVIC*^%RwA#=QX!MA(s8|6;)818oNO3AuV{h#5=0Yd?o zCD-KF=ic6TW|I|z;7#WI`t;DfjCqZ#Z^ng)xTf}0vMpLwrnG6>wRxt#pABE9Z@5;s zGE3fRhsZ?t2O7sJ&R*K{eQ$A|^CT6|NoSmQt=r9^xMrHp#%pzHt9F?lo1-7OWYt^q YJI{P{#C~SX1A3al)78&qol`;+0N>}1{r~^~ diff --git a/Resources/images/numpad_star~ipad@2x.png b/Resources/images/numpad_star~ipad@2x.png deleted file mode 100644 index 0fd4d587271cade90cec9e8bf8ef46f4915f0c11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 625 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 {o125jVYvxB^%4H6DB+P8w zaQTF&E*HL&jUT7TNtrTRoBo}vvE5y7{*+!=eGlX$wL zQqyVLghmdsgcD1x3KQpmQ!DnV)Jug0xpj^Hv2Yu_Eg899a7|q&g+nd6dm?p}+}<6r zU&)y)+J{jdTl(PPW@3nfc7MQD4&C zvAu;mJT{8JGftL& z{A$l>g0E?cU+cbEx1TjPt(TUhBrQy{S3UEw+#Jj^;)&$V^d3&Bpmlri9l@SI5x70X zZxnoYlEEYzGY^g-%Plo`g?qKZ8X{Vf*tFGp)->}7R}%kCeDAf4UCWFMKYi2E;#u4e z6wZY2hjBe&RbXplgZxLBU@BKGFZb@UQzTzU%^EZGPRX&J=(Dzs6@7;Q#;t diff --git a/Resources/images/options_default.png b/Resources/images/options_default.png deleted file mode 100644 index 8431086b06e3ab0022273b92a375a1d5eb41573d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1209 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 diff --git a/Resources/images/options_disabled@2x.png b/Resources/images/options_disabled@2x.png deleted file mode 100644 index 6264ff3cfd4296954ca5f27ee72f7b487ca700a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1880 zcmV-e2dDUnP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00002 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 Az5oCK diff --git a/Resources/images/options_start_conference_default.png b/Resources/images/options_start_conference_default.png deleted file mode 100644 index 184220aef1bb00d73e30372239dabc1fdbfc80c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1615 zcmV-V2C(^wP)9z&XGo5!n$0!Oe34VP=h5WzJUeV5G(h(e*zWvzX%R4QH6MCZf6zrrxw0WdN$avb;`AfD%~ znHLbM+6{a*j^q8-+Rsf5nTWgwEG!m_D;l;hNp)Xqlr5Lbi}LyWnX>|s&*wc=ZBLgA zf%|>mzrB8*%jL4bNg$IX$vptYVsW9WZU!_-lB6!XZr!?bYPH&{p68vg)=pS!cMJ>+ zTreYud_LdddES#Ea%aPNoXKP!t6$dE*0x7gKLs2HcBSE%1hxY;W6Yzz@81G2Ha7Mq z@D<=^s#*hXjH2iTYwf3}t&T#WuuN5-09L5#eIil@E(NwZ=e`JFt^Gc5i>m%0j^oc) zDwVey4Hb*Ui<2bzHSqo|M<1V(Ygeo41Hk)$FF5D!|1VFd>chZF;HEGPza%0* z2F8prch$=hxIsi7@9F8eX)1u!BQFBi0vKcNn0g)r!Ed7|x(fIUu(ePqbiLyV-}ie& z=iK$v#jIE?=8`1Y2i)PD`_@cJX03e=@SJm(HnH`Q)ML*A|}QUgemWRZxh0#*YTi^vO20B%i^Nyfm6VObp2*Fo82VV+I>LeoV#ik zt$V34rd>ob0C60j$Ye5qOB)xb3D*aKhf^=SouH*ssXd?1znA~xlgs6@X<|xK0`qz#Am&biBgoxru$+U`~ftP6P6Ip+W>l}c1^(Z-mr7M#%qoa*W6d8BUA81vJH zvTVr{5V-4iBJ&K}>fQpFRYOTHQf2iDAyD}}O-OjlU z&D`DJ-+!So<|PsNWe@}#8_N1z;2)~`WEh6)o9UO!<@0N`+RLi?OrxAhW3}q-FZumU zG4Ji|eOXnC1^BBH7)B9c+n zj%u~KMnu|xiAE!tOy)%T&u+7|_T#{xfTMMNRW-(#<*J$k-UA$*cJ8p&eo{ors@elA zpXNp00uBJ7sy-Bk;ejcYwLwHa3akfKOhXB$fP<0X?b@~P>g?>?Bq9$1 zS1et+^t%%i6Vbd6#MauwDF}c`Roy2de+Sxu%Yn0iKO18{HZn5u{A|ME&0-LKN>x_? zRUi_PTso1z0X(6qLv3wsJBNmbPR%wayjjTZ0?v=3XhWq^IWnJ#`EL{odXfGk{b2wA N002ovPDHLkV1nZf9B}{u diff --git a/Resources/images/options_start_conference_default@2x.png b/Resources/images/options_start_conference_default@2x.png deleted file mode 100644 index 7bede1c9e9365162848726d2248b7942699ea5f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3509 zcmV;m4NCHfP)1^@s6$I7^K00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy01Z`1L_t(|+U;9?bX;Yb|2^-$lXjBU zCMig0YfBpzbwR`iEun2X%zf{qQDavH3_Lley3Pao_v9 z&-eRY!rMTxSgehiS2FW_05wFk8$iZ1&Br!w+&GH2iReh)%(ARggb=Hl`RqdN%sfa$ zm$|OnbxeaHrTh>87eHf~t~nyQz;T?PACq86DQ5wA9>9Av_8|aI5z#?r{xE=gt!)%Q ztLwVY97!<5k+=ynU#$bd%n}Fw-rvU*Xx}%uK$mMdnG>~B! zXCHNHBBi`l2+?brW}lSu#&|qlGmd+_Tfb0B?JU+Yolf@w@QRH+S|sD+{{I>PiJ_sP z-dHTQq>_Q2=j}aAXNcyMaJ?r0Fg4pUbToqT`@r>SN~s>(wr}t3?5r&{aQ5ukg8=@b zu`VfUT!=0Ss7-IFx#RJ8O(YVjKcWWIvaD-~=sU%L@;q-@CX@Md2{roxfXg)2HLmO4 z7U;7KK+2as0NCNW?gvZE`F_9ui2$+yUI*|J5v^n9b*}5aTy@E?EXyXMb4zr2ZzvS9 zON?&?uq?p7vVi-&R09G4=13_&U*f)>@qqw<5P&%VRxtCO00wQ_e$2M*GpYhcG#XtX zrF4iW382)ZBe`5|YmvA2MIzb+;IzPl|HoSvB1DjP9DtunDSsG=M9g4+rIh1KL_vvX z<_>1=l~Vr95BeqshGkjHg%D2zkQK~vW1(2UvaFi{{7^TD0A2%d)!w~(FADZ|9OuVG zw2Fv+7ijvTX`1VUwke%XZ#4|#ZvlK3z|{c$6~K!Hp6?$4JZV|hDdV;owrzisnb!nF zb{N2`08S2c-{yH>xG-nDioo!bsm=N#h{(xivloRzp;gTMeXVgeSJqJli3B}sel{&b`S`ke|aG3x_rDq_-e3S2(i*n z+VXbb>y?goUH5q*L@R)`nsm*}<#Ou^*`UL~Afj&ulBplNu6ym;wQF;}PWJ+MG=DGC zG;b~(D$x1b9GhI%{mDfAelnT-Ei>P)vD%{1X!AJ69~c@MIuAfbV=plbUL1Sa%KL@>^>$;uOrcG;fT{l)JzlcO4b2YIBfC&Sk0s4~w*dHFx_}<>$tmk=g z-{$2fxiJ!n%xGz82}PsP#lCqM14AkGRo!3`(U;e*U3;j|owMirfELc(9p0?2+<2*yKUQ-n7$GHJFVlRj^p%9D4Zqo zm|2e~wkq0L=5x~rKv3ZNy>yeRPE zK5oWhv5zRF^yKNm3CH$CFZoiF_fo6;*a1??VImq}<^ce^i%8dO04D)hn9XJzi3(;5 zFIBppy1Kd>09;pOp5WSlVJfB0K0L|v9-Al_U0q#!q?DTgtSHc2%gm<&ICTrMlY&PM?O{HkBQtC4Jq4J3ulDj9n@{Joe?gQ{s{|~lp&tc}X05k(wL`2QZ+z6n- zAF>ZX-VO{CQNL2E4?sT=ZFgPwKZ_ac3Jm8T6NyA*^XAQ05Ya7x7%ER+NvG4Vo09^07?#)%Nf#z!i1%P0T zRlS3%vGmZPLqDGaiTGLpAV&Q)WCJhwTb5;=Hzi;IxFb;TSz{Q+DX!}t=XqW|5q%24 z%UXMI#T8f!(diqZrUKuf#atOKD_DwXt>Iz?A!csVfcafj z!5AJMb^+|yRN>x8B+^vC&|XYLof_+rYIzf8)`O@M>gww54fcu0<3=`{{aL{MKT=gN zYHMpxC!#kr)_l`6zf?dxZws&*tFc2KkH-xm#M}V;^TB=8J$v@p09NYd3;=&Kp1@L+ z33R@}%$u2cUf{uZ73d!1ooAZnbFoC&Y?cuT-ynw)V~)qq>w!OW}h)*9)j>gwv!9UUFVPbfE$Qhpb}H5$uf=DTWYYHli* zbHrk?B}%EgadCOm;!+&3q0VN{cSh44M-=BI0T}SV3E5lVjS6O- z%giSc(Lw;H0|*vZyl^=D$1>0GvR2=e%q*EXE2Z24U=YB7-)FP{kkkEppMXsFoX?oXh2w6VVyWya;3ar3(Q}FEZqH-*Wdc^G*Oy96Wfir&{$hOxe@tLwS9 zBhE0VXx?s&eO(A5df0KChkX840N3S{u%@P_8MU>w`zlGI-mzdPrLGl1ya`}5o6Q#d jdZ@RzHw$10M-lxGwkl$mm!43p00000NkvXXu0mjfon^GP diff --git a/Resources/images/options_start_conference_disabled.png b/Resources/images/options_start_conference_disabled.png deleted file mode 100644 index 75b142b30bd5773e897a2fcd14c200512366bb5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1201 zcmV;i1Wx;jP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00002 zVoOIv0RM-N%)bBt010qNS#tmY4c7nw4c7reD4Tcy000McNliru-wPQG4iSh{*+u{W z1EfhrK~zY`ot4{e6IT?5zqM!2#F;UKgq(;-N}Q+xr1plZs-iNr6T}1beRz_-0M`{L z*eDk~0TNQF@EDo{1`>x*C${IbdSMeBY*5<&W;FX>^Ua!nA4d49O4iJ4K&l_A`+P&r zHvl(u0%1%hSKRRE>j?8TL*~@ezbntoGx?}9cgD|wSoh1{-5ncn0@CVx*vxnj);|YA z^Gv5V%d@9l#Fz~afE;Mj8@=Zghx)d?OHtGnFf5i#wE?#TMY086ZJ2BxG5~&d;vcOk z#~j%=kD@bi7CrmDO!k^__GN{Z)JiU?<(6+USdY~)9tO^%h||ft9aR8Pg?!lCUgmp?aI4;7J3bj*VP?4pk;QU zWSN%M?bn|Gu-V}yn7L2)kB^c+>2h`52ar-;)@WAhpX1r^vm5MG-kuGud=sfWAE=th zRyiTkwq**mF<6{nV4-wLIz*z7IpX1yllA~`F`ET^e6TW3Qf&_+o}8@j>O~32gZAQr zm_r7ac^gH5%-yyax?j%p;|2{VxyBVB&75d6J6loNFCTLapWR0hcip1P|I#h#$N71v zl;f)Sq%+CNFvMdY8e{=>001R)MObuXVRU6WZEs|0W_bWIFflbPF)=MNHB>P&Ix#dlF*hqPF*-0X*vgcS P00000NkvXXu0mjflV=to diff --git a/Resources/images/options_start_conference_disabled@2x.png b/Resources/images/options_start_conference_disabled@2x.png deleted file mode 100644 index 25bf4e9c8e02117f00d0fdf3cc4a8bc69442e063..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2514 zcmZ`*X*d*mAN^a#zGoYQ3?_uk*iF{44Q0z*vfRS8g(6E#BG+Yb!*HW)(S(epk(7Oz zYrRRBtYyuEttKoSegMw60yJiOmT)_UBb?q#{UHqMlnC?%w!L@vN30$<%aU`2`1w{TL8e( zZDnSH^Pkytb#sKh7df>Z#1<>h`?9cgG6yP7S|NUk4Mk*MBQf=6e=BAX8T>@IOYCyj zm)_tf>v3Z}+8+5IzKCa3!9JxfFOs6WQZ~C+a_5_Qre*fq?f!(5OJxHYj>7*L)hWwRx7#(G^ff7b_CdZ&=*4Yg{`$NcSq&Qv z>#DTQV_MDpwv%Y3@Gpg07v>}PF7trseK$XM3{-3=k2~Ens;$BA=lM@vP3V5^iY011 zX+q>@VzYLb@ZO(4X@>oJu_ksqgMm4j`TYuR+pf;FUPJO}6)@>)-nI@!ogL@k65NZwI-Y2YNMg+xecKJ1gO z(s=D+!bJ5up@%+Cm3Qxp#faU%;e$_ptZd=Y9@ds53uGvGeIj2KH2phEHf=fG_a?(U zdc9^P{5sUbSs+wNlM@JAs*)Lgw%hBG0?hswV_X+;I2kv=I1RXJ!c28^{HWtBiA!nx zqw@vrNiAIao?TGLSSkNu4?v^UwN++;`MZ>5Z0_RIpElOwpty@Tex^Uts1e0dx`Nkl2 zsBsHB-hYn-OXZzZk^LORmCmM%R{Ly$3ej_o`->~zuSwIOF4Q?;btwM_5|J54i;)b< zB2WBd#GB!0yr5!3#1)zg9)2xz)Dl?>?nlfQ$yzzLVuo^!7Y zPJ)l7l*_N|(y9LPx@LT%YkOg3k(rlDl_Vp*REFmIiu&x>e&3b((y*rYoG<2WdRUAJ zsu%f+8Gw;h4~6(vxQiIBf%|4BU{r6uCaInl#2LDB=ULl?2eEQ)XJr#II{lB8&l|%&?Vz#NRDDJB3_A4+`T4p{d73$_G;ZfC7K0#dG`WTBuq+dmJy! z68gxOX*Dx*4o8Y{%<@FDKdovXbII;olcxA!trdL?GU{!;$;I9~1=`~BuO`17G)BUQ zF+!~)Wc6YH@>yK7spuy@)4Yr+zq6j_W`#fj6zC#WzOKtTNWp@YRcgG$01*djUpQ^*Pa<}WxaZPcCw;!v!OJflg(4u=yp}a$0q63mHG+D z$B&w{6U6C&d&~Jbb%V-g%g7ZZNkTjQl#VKsxB}_5ANX~Fme_YEDQiMAigRo9YU1IP zu>W9TwY~ch85`xV$7t%t8N^Zx9At8g2*jdy;tQ@*xxYZ)4bzu;LGTYOE?D`sX!~qH zO|j;&k7<9^p9)$GGIfoaU)AnDx2py332J8!e54Wgw2egALrazMfbc5Uwx|ubr;? ztXA5+J97R(55*%#FoNaOvoiHk`0kB7SX%u7$J1JdshHT)S}B+3f0BdYT!f8{&2!q)>#lc-6#@x>LNQ{avwMLRRd3 zgnNRx>m_NHPr^6TDxK>62Av_#4|ie{9ZEG;LaMu4ZJwC&C1VU)ssro=7336V@~56y z@uynEdj(OAC&Yq-M(h_Pti_g!npl5EYf2Wg%4P_)%x#d12^ET^6&tq)YPb)2ae{n> zyirhoa7(aE{m^;#xQOjOQ68JL4eDg0(2I?+h*G7Vq*LSXp0HeK-i{{J=OT$O-&FEtNiTlV>kwb$_KB!{ z>}!c_DB_B8#vp3iQB=-#D8Z@m6Vxf>t;?#p)8+lII{mXsL(S=kYvP#e?^H(|hQ7gA z9##*{x-H6D0Q9UryL|^dgm}Tc--YplANzywRWg}v0^PEB+)t0Eu9PyEQP~_H*vKhP zXFm=i-28gDw`aHy`nOP@GXm;Jl$I(ArK+xlL#d-tnrM`cG7^PGBFmqusQ*vkcChy? XU;O_MO!Q@?p9O%Gxvd!m;}QQ~65@vC diff --git a/Resources/images/options_transfer_call_default.png b/Resources/images/options_transfer_call_default.png deleted file mode 100644 index aaeb9b671bdb97bc3e73f29e54cacaba279528ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1526 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 diff --git a/Resources/images/options_transfer_call_disabled@2x.png b/Resources/images/options_transfer_call_disabled@2x.png deleted file mode 100644 index 33b697cc5fdb009549f4f774f5c9febc125b28ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2322 zcmZ`*Ydq79AN@_pJ(rS8a%m_d8%?anA!Pi-sY}t=xND zN<01)W_us7t% zn=}6v33)r%Sp(Z~_c|H`N<75=97V9y{~tgn4rWFO%$-!Ulg-XiNo6S+c{z{Un*bmt zg0{9i>;6wgMkhwqPO*_bY<}hx=|og<%q7>aE9fUDr6r`%TnjypMIaCTHf26_ zI@4x%$gVkk+PgMmkY4mc4(B+xPaen{C6`kET2|^TNL4BCqDNs$ED1Z-X}DrruY zycNym=DX7OH*@fY6Zlq zweE4C$wv%pg0gFA+}`IAtDr6DR|meBbawBmE?4y^o!B-4=RmyqoqCbrWPigTHWJN1-k|M9M~--2%!vf|Dx3pZSGeNK$n(hWVvO*ewU@XFK5x~- z$gBpyGbg`l*R#eq#6~T&LUw;aUoLZ3nL!qk1d4|Eqk&Hn>^I5O`dLr<+EdbE+!@>H zKr%vNv;P)Zi8=EKxjQ`TVVT>ei_zH4HS{aPS5aorLke(Wv?_W;zr?JQ?+yb921tuMv(**$5n}aUP89RJ{mK zh`s&wM7o;B=CQgi_2$?NHp-mdqr7a}BV`+rhYDf^$8`mK?7DzVOU2JrX(F)p(n7&c z$3eGe5;KRpGR@mPt5lfqs`sGm7ISx_Lzg<+)9~{%AJni(6d5!Mnp%uKzcoGoy7~@~ z($1`Ag0l;k+E^`|g(S^@o{tg=eKM81n%bQ*P>VILEsXE`i5Im%Vz9CLg-6)U+S4ks zjz0#~S8oi3pZ3@u@83#y_m)RJ)&5F2GSCdN4sdRlFPUiR>yDWkS~QU#*U>nq@5mX= z!b^Zf63&G|sQRONbT$wux1;-qb$Q~EDu;IxR&0mDadt*g^=LCc859)vG8C1KFs;ib{AWUWP z^4zG)FEg~Z_=Vl#&WMQVieQ*(O7D?@#l!%ks12St6aFL7oc|$Mie#~#cWq90)og)x zs@ydBD#n8F@k}7aQ5wL!90e57GkJwZ2hSxv4tp0s}9IoJZenpDAe+B9a+yOlBxud4?%=-rhZ=yUO! zA8gV%1+rH(B$ax=@!y3RN)UR&wZML>ruz2&Lhbbw-@i?pw7*#eEA+P7t)QLZ^{%dPG?t;=vluwG@9i?D$v(MttY@{EnB{{qa2O z=}oiN?{}uwVhEhsjRP62qJhlw=3h3T(|-80k@*7RX@b3O+_PhzN8kCU2=IsQq=W26A|@C!@VXn^qyLoY)1AGq$7bGXw-d#Qd%sfbq?dHT|NNL%2q zX!e5y*U$IaR#a#P=QTFFrqMMtEJ%y-+54G1IT;)Cgw4Jg`GRLbAAE+DQAFN7(mLr+ zGL#>tNYv2kZA4|Yn8*TaFc4HaTOef;N4^57)-M+RV26kiX+HZlv37jbbv2$c*6BX8 z^pX5IU^M=*zQ~!LKjf9vjo{hQdj|q}9O4_@4O24e_6#ndG@$7;u7dX340DUMdd&yq zi;@fbf|(F?(%D;cjla}B%pHyIjgn!cxh91d-q!LTli5qIF`y44_+o)4GF=K3ErO4- zR(1vX)ov&g*Y$ zHxB3A3&-P&BZ+lUPNr2+63)^i8*w!$bCqO_KG40qU31JQ*-COMwmM5;cuz8F-yCLc zvdcH~k?3VMl%P{itHh}HE!ywlC+4P0E}l_;%(6)^Q7P|CS8AAcs2!vk*LI~?Nbgpd zy_J5+uL7&SFrU~n`cB>IYxvaq$j~J#h?mWH#m`OuFmS_mgZZtZmM3WBbG0$g1JGXD zVbzshdeS5n*xvEBQ%cfxF|ktcBWP1?+^IfZR3hSHC{aLw5flbDfWZum;Ade*2-pz> p%oGBJA)rvgC~oL~0;FJ{%aZMzS^vj83e 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 U{`F8#1^@s607*qoM6N<$f&kTCnE(I) diff --git a/Resources/images/pause_big_disabled.png b/Resources/images/pause_big_disabled.png deleted file mode 100644 index 7cd8ac14f9c8934433a7892dec08d7c7f2667d5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1021 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 diff --git a/Resources/images/pause_big_over_selected@2x.png b/Resources/images/pause_big_over_selected@2x.png deleted file mode 100644 index dd51a17518d9bec0a2f617254d1dbbd9d1ede051..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2344 zcmV+@3D@?CP)`5$G^|+-6a7M zZ1aOm$nM@kQev6-hl9>IrD347v}ilnjyN5yrB27`lvY6;z;Q-Ft97b%K*w z6=bw@IvoWxWvI18)R|U@Y3^?Kk_$2|5-#Lo_V#`JqembKfy?E7yh+~AUmV=t?R`JI z`#$gPyYCXF5j{OUjlS=<5Ya6FZe`{=0963y0+^TiGXSKRd4PzL0Q#BvA`x{GQD-`x zK7IcD`N*+bHJuj~49BDx*G?EqQAK!A zi{t=+MMSSTjnzEp-uCA(3D0B$G9m>n-0#*pI*0$|`luS@hPfxY)`-cI1O!>Gb?=kaz z;c)o%q6^B%X$P=WdAKeqBD&i&&DV-n#hp8MZl3S^uP8ZLQNhfIW3kwWiz2A2tE()P zO8p+dM^*M&Qw8AFNF=hP;DSP-&|Xac^Jztgh-!6RKit#PQ(Z7Yu~_UYs+67*&A#s+ zU}in? zKl&^xPX7Vm$xlx!b53IZk?*78-^XMWRK?6sWL+eO)&bUiYuug#J~VWs`J1l}d%jUWpyog5vRbD>JW?Y0oR)+&}8| zyfLpQyM5&(w=WVmS5#Cye#1kY5Mm=Fo4-awqc87k!9hZP+i9l;SnnbJ;8Jd|kYS5s57Y(!8r8f^to zt#XlyJ4OWQy56SpkgnWrySfi*Rgp+X>(zpms63>jJ{paF;Ig0=m4|!;0)bn!%!Q&l z6^DEXAzCydYEn^1TPQSXM5M}Vd0SAmCWNR|QApc@Dm7+Smlx!vN+TlGg5;%AW9E4( z2Z;p{(Xh%vT86dEx}FL-i-e0BGb=%o!puq4g5+*NNlgf$1j*cj0)aq}ib7gJJ=(&B z3nKtjB_}6mG$Kj^=vGi4qm#?V)P30jS z9YAJIf)L^e0AFPy6@MHNWZU)y0H;(Y@>JNq?_Uv=;i$?*8s1*CXwiR02_m9Dsa&LC zCkPu=IfP_@L9SDscBxnJEwA{DXLvjv&n0Ji* zyK%qLw(TKi-X+tHrG@{l_SCJK!x?g8r48Aj+kiuesW?tfN^80szNx zb^!Q>>K2N^Nz1aXxlsIs2l8Mr_zZxE%C0Dt+s29haY8{24Gn{urfpRD6}<2HscD)g zCoKp748wR8?>~`OQ5bqX&%5rzcQ>q6g%Do^a6x5R5Wd{p++0$T@+!!- z?IBImJ`JE>Wjv*-?Mc%#-^%v=lUjbvFpPKb{xi8f6?IPhDAQeJ-&f`GEw1aXW99<@ z0xI*Y`I%{&Um&7ME&83)0)Cn2-aHC`Rqk1Fz%%P`);?zby2}2B<@BF} z!QciW%4y!=l$O8@hr>?+*r58P3HfC*nOxJ*&@h;@;C$?b<2b7U90H(j>A%8G(=>PH za#+i|pp2y30K5d?=2+~*kpPg<6Bq~PPI zV*Mg!rg%KQo|(Uf>ATACyUhH<^78T@)YsQvD#}2&6u;7OoaF$v0rFYnpZ^fKLH< z0Kl9QN_ic?^SZA8wz0ACy;5gGvK>qM`ub`;&s)vRs{pJ7u(-fqd7g;cg%HP>`G{@X zQY}d!ouILFcXykCKwu?+r9{-k%*_Cr0F+PiqkI4^fOnX=i-C}x{jHvh-fYm&AV!W+!Qkp5K)qd`hDL|4h{}RO4W}{h5rN4;th|o9Jkv5 O0000*(% z6aodao3tw^($+&z4? z0iXmR3m_$gcpnOdet5Z;+`PohWZU)`07J}t3V^yvh$Ny<%=}bU)yKhLaAC_JmSvrk zQr;(`e*B-l0~jq9i(}DfwCowAP$&eJmX;ne^EEU^vr@`Skx0aJ4U*62_c)F-0iX|! z)jSbh)HLnQrXZ^jGXQinM`ZvPbX`wu2x6LMr>d$S031MbwMayRnx=iO8e;8JMNuAY z0|Wr5%=|2q$?RSSlFeq%6VVlHpTa_jdvzepEQn~-Ls3I47DK62s(EvBa~K~VM>?JM z0yAve_TCyuE|)t8V87ewcs!2j>1j+&P1U@~$w?%WNhA^pFCacB8zgI10Qk~s5F+|2{C@vC0Ni4hx1zhdyGTSI zTL@7pm&>oKf8SUOK_(2tCKk4uqL~xm+$uM2EMlb};imI2_K@wTeXKNGUI` zj*d+)9RP-_5bK)fo}QkZl=3uy-%SP?(RKa#rURB`Sy5(w1t8d90Ed}xhr{79*CVHG z+XgegVCF{kD?f>7NYk{J|NMG3iVB57X~%Jn02l!)Qyz^;#mI&v!YF za|^(A0AZH^zW~IE=z*qbvklpgtlg7jv)KV5#9(z%1E6cQ=dCSj0L(}!laWYd$?e^L Y0DnO(g>JCj-v9sr07*qoM6N<$f=w-Hh5!Hn diff --git a/Resources/images/pause_small_default@2x.png b/Resources/images/pause_small_default@2x.png deleted file mode 100644 index 2dfa7f88b6470a041c3b49f1be29232ad2e28707..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1685 zcmV;G25R|fh!_1p{kc{+s=weu-Nw|i{a$lxpVPY zEVf-l9s(W!HUV}W{wGCbR8>cSH-jKJol2$t9X2Ql6GUrk>uz8l@NvLu&|hBx{vaaH zCzHw7MMRf96xVfoRrLuG*$sRo2VhgitDoxUTz2;AP-; zR+e6g#bUb?iNw`lf(Zzv-pBb}CI{TBEr&7;qIp7->;p|rQRKM!oA z`EoD67XWpNbx-HAz()+ zqq9PR6DLkEJw1)8GBh;AnKNf<+71p5GCVw7x$fApW2kCq;i9SsRMpgk5(L3_!*YD_ z;zdfO(#*M-8_m(oYDV=oxp``{>$;E5f-*KXc87?BHc=D=L9HirqbFClZKGt2`Q|Jr zmSyd!m19Q-y1RQf^%%K7u>*8&f&awv$%XDU#N#p1&({tWzb z)FY~Tt&<=keGv};*5vc~UQ^B|_eVS`Rr3DpiFQ+jqf&4-nQ|Fg8{w$*SMD~YQpt`` zR7HwyEX#^VD5{{ujqm#%5sIq5N~bZ#L{O^LVSuTKLzSkCsum&+RVo-`Oa!Gmr+i?1 z-@g>0sH#5W#&H}MxEkT8XvBy}psMdiEGm&QdVQ2U65*)il#%ODPDePdmE%|}_ND>w zegCf!4*>p=NF=TrfK)0q3cMFF;Wa2vN0ygzzZ4}|{Y?c*Sud<|CU2!usduWNIF9oc zuxhK2i2VBc=b3M}4~FH`vSx4MsP%GvuC@)*`%_a>$7({kbm`J@zzxG|B9Wl2t*z>} z4I4JpwC(BXsrug4)kQ}~s52agHg4SbK}{%Iw{9&0KMlicdwV+r0|Rt-cN34t*|lpI zTefVeY1`l5PhVdjot>T7w#~r603xBimio}Ltix4JX{N>5vu9)L)~)*&aL+2KI8UWg zspoDA1;BOPPXT{k1x((yZTkTcsahjaGkZCX^A{2M{VJ$9Pt62!Ln!62`UWu8#7v&G zZF{gLteaisdESGn`UcS2WI$fGZTpd0QF7Br0kCcRpTLt%2IM{8_xIii$St9i^UGmX zJ!_bBkK6%6Dm@TlWBZ`{hT?!L3*INt`ow?cuOH^zLT9w2jq zQU>!AReh3cXA-QGvg@g8e=?bTyY6e|<0zZW?kJBc?^xzcPFa@qwOTth8V&_uY-}uL zjCqOWxqvVbk!O<0HGdyL}V{;ZwM}?MC4WAg+ifls<*dyx}g;-?8lhPLf0T6+uJ?aS^0K)j`F@e?VNt$<2b`M?oh+9TZUnDcV^Ci$lX}!mB6> z!Ptb>(A?uvKT<0uZJNa2`0nNK#rBHGh^lS}5-URvC;&66`pR1S zMnvk(#+7C!&CbpyJkJ{g&WOmaCS%V7H=T16xm@n!hD20Vq9{74s+WNw*2gzhy_QO) zE~V4yO3NaJLLnm}w}At+haxa$t(|UKBn-nHu~_U0kfFUStLnKR2yXmSB#NRD=iC%9 zz$PIg=d;=D#9u}7`Fz^*yw|`sHkZ1H9L{F5Pk($czmIyJcdG*u05Mga%;)pzKSYYf z;tAjoont5-k6&#lO%z2*=UfO3Hxr>+tx~B}7#tkL^E?1*wHl>TiT?h6lF4K%Lc6WC z(+0pfcdS_nfO5Ia;^HEe%CBQ#VPS!#r6tPca;urS@Ut|kdTKqnRn>Ns=*ay1{8lqJ zH#Z<6yXhYBdcD5i7-RMTF}lk>BO)VopAn;~wg*H418nI5k$$6XTKXGAjfgDtfXG(^ zggqb<8epaeMBW0)Io_4@p$~= znmwyAX1qh^O3fH^Jd??MUQ@*P{gN@}An<7uC7i0B_I-brj%|oI zbVHqJ5fz1&+P>tyrDkj`>yIsI`tCjc(KKt;q;1+H&5!qmK=Qcn-upf|=e%?8yYCY6 zEM^v6U0rpWrZos5e9SzTndcJG8~_a9A`$g5b1#5SrBtWi@4uMOK2ok5Fbtzw2(c2t zn)v4y0Im$Hxxman0{D)ZPx}4-wxWa5+S*z!dAf^1MzP`S_ zprLehbhunD*JfsZ9)K?&-U#5h5aKnD$Mb7JL1E?!%d)mI^NRrLFbiVlZvedH^Z9y;?4WJRTF9z_bQtCOs-yhC96w9*QN~t{nw&WvVXQ*Bx+M?_FS9ybCS=MqX z<>y4S1cj~lW3kw_#>U2>oI){8b1gF;0Z@w~5Hp`*=JlE6IwF$>g2CWcWqerBeOp;(sX7D5~bP=nIb zy_RKd&lrl7@^t`BC{Z!<8nI|l#ltLsD!SL{KuED$-4u|KYg~H4lfLC(WdQVRe zy1Tm(4u=sAhoO{8SZQJ9HrE`t3K;r#MYgJj& z^-8G?909=Uj*bqOh$l*`9UcIHYbq-%SBQAzUGDHm+=ZG%d|qLRgCh}FmI}+V zZa@)DMCZX$mI?ri927}fB$QH)l_YDf5JEUml2t1JxE&5jatmg@>~KiZWucTBa5yAs zKxmpa=y13Sij?xK!y!p$MSR82MTbQqd21h?Pw8-Qj7TXp0)?6Xc5o#0&*&)mdxr%8 zpx^8D{x%Bbq{9OMaGHp00RXzLcLQiIcOs)6GxoX9fihFUBQ_osdS67ewoep4@{;=K6&CQ7i+Z8Fw>;`Z+7nZVc;X?HH_d`mF+S*#U zT&drMs;Q{~5g`(ZKnQ_(^XBE!N;Be=;Cbwv;gzb3Zd5M3Fr}Bcfk~5cky8)%8rJd`7vm zuIpbD(Ru*=MFivrDdpW$1(LC)B=X`=$Ya~~0RXECn8z@HXLViQLqr)(iA-yhwRrJj zYjALI4H3N+pPVT)g#fJcdcE&t3S`=rGFFylH7TX`qA(UF4*}RIgxKZrcp}qwxhxH; zwD?{JF97h)#<&i^38mD_e!u^Z8ONclWWi;x%!^~d}7=7p{e8@1p{SNhGA4|ns%E~s)dMF16Tpz+6=0Y01N+lc`4t(H@OP+cVw3VW#>Y5$#nMb;{YG P00000NkvXXu0mjfLIdQz diff --git a/Resources/images/pause_small_over_selected.png b/Resources/images/pause_small_over_selected.png deleted file mode 100644 index 5e50311cf6c25a50a498571535560d770d269aed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 826 zcmV-A1I7G_P) zgot!yGMTIKczmW{5YseknE57vHWWvr%-kLhhlf3bn5L;S^9ul5QCv*}Xp2N5y~~26 zQYqDS-2oBNur|s7IQlC4c~cposLC zrdhK9B#}t8645b~PC7GR$paA)CZbE8ALsKc)IR7$#kifb`NzIsbI%zB5<`W+oV0B_ zo&%XnR@=RLSNC1RhT$iu`fxvI3k`Ln@?$Tm-&`*Q#3v%>b09?2QP8G3>De`#UfSj@ zYquMQ5n{tILIC!me5zCwWj`y5(hR^~Mi4ObUM8XjlvyIOlL16gennYCHm(DZY9=CH z2O!KuG`S8yCK!OZ4nV&0TuWDOjk4o7uK_saq#&X`jz*(D0SuOrBg4$k=l_^{WdwPq zs_G90fOI*vQ_+MN zgI1J4P(Tu*2-Mo`%xtr*R9Z@}+ufbdAKezW-O_F8w7c7Re{E*Y%sF}Xe3x?@!ZgY2 z_2vOsWSXWEKqdeR-|7R<3!ptMEv+s)JG*PD+eT9aU|uK`dKf?{5fuYi0w5!%1`-*} ze3_X~FmtWTvTG+a&vQA;|_{p7^|3h8-SJ5;G%i}>}BS6T`pJiv_tWDJWC`= z+5?~j)2|)?m0ew3JBx~n`lkhoVHjJO`8@!05MMe6;2Bj_FHRX0P1ACT=m3CH#IO7S zDilSjA|kdFir4F1#>_{USwUiGe^*!63*#{-8Yhs|rfJpyNJj#RnU6E`<8HV6+N46! zG_9P7Y5=4nG4&gORjR7Ck5w?Hgi6=-M~LWf0s{enVgN^5T3XU?8H&f_xeLHo08)_n zTH*KmzhGv^grU^e*JntQR1@nsB|%hf7{>MqL1AV}Nl7^bU=fl}+YQ55J8mdmuXi(m zHAqg8X_}vEnwA?g6iw6I%v^~i77=9;QB}-Ph-epp*+_n^(=@GoOemVBl>k_4**_HM zh3IaJsjSp_1!M-T?lG0jEdBr5h|na2c!!xSX~3M*`;mEcCn(s5o}w~bU0($jBcr3} z?Lb!b^O&Wbfti+xt4~y-w{VqJTnY`t*a+ZY)ShA(#skcJpA|JrU9Fh=-40No7huNh z3*Tb)`NL7mW}N&4v$Qi|K-Vz;n>PW|(izCD%q*fpF-`L|t7>($=|Cvb6r8OM(aZiD zd0q6hL+WX_5=x=2>#IjVX>4rFAtLKSuxUoihDJ-0qFggA^({h(=SD!0Bxz$bA2UxTS-nLBL`5$Y5|2pdXdNWLyYp-`)hA|fPT z5vr={7}x=1Ye1I-5t#t~vRMq7Pu<{v@RE&VK%r3R;^5T5Pc{w!KyNS@{6zqO5WKw!G>bm|ifRC)GIn{FtnLoS_>gz=J^7XjBa`Pw| zR1kB&--)!kV+dyCpuPNU1Qsr}a#ZY+Ww~usD9r58b^RO>Et?@}{p*UNM7RwRrBINF zUc#tb0+LGSWmz7v?=9+{H&s&^Ok8$ z^e!{=R+r25^(~v-WVWilzCI%*C1o>!3IKDb2*z0eTUAx9oitx$MJpQ{8#9S$9T7c^ zfv;ptc0Cxn!szAng0M#3*bj)KIV42 z`z(uEQ)%?fOg^74zrVk~fQSl&5H4oUz`zmT^zaz#8V0_m(*~e{nHxf(P(wjMLB~|J Z^FIeWLk<^U9pC@}002ovPDHLkV1n6+10DbX diff --git a/Resources/images/post_quantum_secure@3x.png b/Resources/images/post_quantum_secure@3x.png deleted file mode 100644 index 58693333587bd2297a029793d9287314845f5cf7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14135 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 Hv`79wLpyp< diff --git a/Resources/images/presence_away.png b/Resources/images/presence_away.png deleted file mode 100644 index b6d121df7cb8fbad67baf9800a6192810efd5ac2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 574 zcmV-E0>S->P)HLR^j{yY)3R zOy~MiG$-x=W1u~N`6Hr)$SRJ`O1}8HAxsrvY2ZG{L*Qb7A3s6$8Mc|0$wDPCrq;kY zYGxTU(?DrPw)w57T|Y9<{KVVz!BOGKEvK@dHR#?k|?n(ak{nSD3r=te}B*c&(YvG+Z2 z5HjT;wRIOJGcyjtQQ-TT_l9a-CJSHw zdc{a?dlw@Uz>kI@n38;PE%>uwdFVQhvjSYH11f{wmWkpk&mr*b*xc3!Qt@kuJ^+qR z$>kW~DO9ieL4lugYK_OJmT!VH2yz*r9ry<9gS?})xgaC2kNI!UPrPZ5V3Tpxq5uE@ M07*qoM6N<$f>rYeN&o-= diff --git a/Resources/images/presence_away@2x.png b/Resources/images/presence_away@2x.png deleted file mode 100644 index 0953e7499e41031711f1b78e08601f06619e99c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1067 zcmV+`1l0S9P)v!L~zxO})-gEA~P*FvZmX!Mg znrgiXKWIR?8KZRsMld=@pjQdJAGs}aS(?(mGk}_kZ^HK;MdSgLM&Qmwi_{(lcugs6#FHqrqz+O(hP7DbP2V_urJK z(wS8U)Pddgn1v%K-DMri!UO@&O7hGXs|L6jj+(LMBpPAuDII{}IPm`gm2$R|K70_%60INTq5*Yq=RJr%7vWsG4&Oht0te-#2#vet^n{++xvgM8{iyX`ki8C6L2Sc9TyZ!=uY?13j!Xh>x+wZnDB!>60zbG3C>QNgH6iUF zUWQC|+!9dEISBaeQfC-T1KzT52IM!#0Eev0C230gh@Nr?Zh>rYs<17KtQ-M+C-6l2 zrTgquL4fk)$OLfG0X!e^4=TQLI=#kpDW<2MvAs)U3i@x!FUJsh5cp$_%AvQpw7pAuE@bT| z*5=5fK%osyQ6r#Z_)okWcLOg2^JRwn4r8_#16Qj=hDZ|jUPyFZ%}+5P^$h6w%!fF0ia_AGp!}?ci-#yf3PP${grb ls{M&l+$gN5qKcxce*hxSHH+w;6?*^x002ovPDHLkV1m+I^sN8@ diff --git a/Resources/images/presence_offline.png b/Resources/images/presence_offline.png deleted file mode 100644 index c9cd3e70aeca61254b06a7144b1b3cb3df4b3516..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^+#t-s1|(OmDOUqhY)RhkE)4%caKYZ?lYt_f1s;*b zKpodXn9)gNb_Gzd&C|s(MB?(?i-vrRi~_9>`<>E-MW_1d3q23q(Xo2P6uw3m@8uV? zzbvYfnzS`B+~?D*ne|4W(|)Ks35q=wIF~5=Y+)#C^+SnIj;FV`r7M}vntJ@c^aI%~ zhAztwUV6bAU;m-LwXB=_8}El*IR!#_@!xD)^S;(x-k|IFeFN9uUC((AS%_S{#Vl@= V$mn0`Y5{Z+gQu&X%Q~loCID_sRjB{~ diff --git a/Resources/images/presence_offline@2x.png b/Resources/images/presence_offline@2x.png deleted file mode 100644 index 5683041d95eafac695d947230748c943d8f62e8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 376 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjY)RhkE)4%caKYZ?lYt_f1s;*b zKpodXn9)gNb_D|iqlBl6V~EG`tJC&p9SRU>-`}x#mxjoaqYD?$_I??*Ylr0zK34YY zeDCa><6T(YbML+pzOuHXtJ`~F(}ehTsS6YA%}>gHImB<&^1gX;^*PR%--VCj1nw~S zKA89ad3*xrnTDOrd0Lwn=t*$JG&*e(Dq;D#z+@gQD0cvvBK z-Ho!%evu=!?mUl2t=G}n-I*>u$Kip`Jo7%!GcWKDgYropi0#{5!aFMMGAh?OW$8dJ zbM^T9ubyG|Vh76uTCR!U0s+kc)E^0gIEY?A@#AnPHD3@W0(vxF8v#*2fC?8co+ZJ+ z^6y`LJ!d~zuCbxl4SVc>{S1PR0*+=5T6Km`CgR&-Lo-K9*;*PCpuLD*NC{K(jke_C z#)sJ7YPACEtCvLXB*2LvB5WWEdqo+YV(#apMQ2cVod1sa;}7^_wH0p(7+zV z4%7ezHN;j?70l`m1Jk6>`V2Y^8mmMW&GB5_J{IO7NU_=P|w0zA5A(lm- zKI2CN6QxqVUN5Lhl_Nal~A~1;VcwE=huJ-i1P1n`l zid|12h>BXLL$-|X-$r} zz7`Bl)E{ByVE_$zKtG6Z<$CMF^UbHgA-Y3}w>hiyumC*(GTR_40zA~bddLZKeU*zw zp)-~BClvS$2z4T~AHX+2(nK_=cV=I89s96?|2EbDEmf+*!IyB739FGPtKbKu<6*_2LK#K9EnymNXn zHBFWdlp@F|I9SONyRUA&S=+2>@}9?wxvO=3&zq0tJ&^xxk~i;<=Q;o9JkL2mS!Fp| zRO~-EaeniLrL3z1Qf_3RjtE4IJEjn~g`j_CGV!UPA6abxLt)P*BKaJI=mK*mfJZET zl4js90>%mWrPrGX6M-EE7>YD^67V*FrvX&t@u*7#3`?0h-sitLUvj{~bDqbA>7CTQrhaPLMd{wmNvnB(h+cXQ+21SCUdwT5gduNtxcPY z698JBwhd$OzCK^_WL^3cR5_H0rHJU;Po4ZtsG)YrO% z;FpyF%>|5tC9RV5CY6+MX)BsIIK!YV95v_&3T4xOiRBH@aZSA6hQu^}U|L)6_2|2GT z9)ssB0VP)?^)(qzS^~c5otg%qXB0_XRB%x+fJr?Iy}Y2?{Gb6|*2u^s5BhM$v0=u{zT^CwNJj!s{5zEs;DG65dpBiG+%APU17Kqb_(C(@#6XZB zZ5WY#9gA+McOmmF7~QJ`wm?AO4PW9^4o;h!Mkm`VZ_O^e2j+JHR24BP{}jU5-`f@c zJI7LzpN3*BZ7}6W0CwA1(+Wxgd~n8_JYgp#3l4ZsgR!P|GSN?LH??3~seZ;cEa*5X)bM$!AvDb~ys@zKsGyxPNbH6qTl1 vGU|j0A_I4_EN=^$ju+xaVOeFBSr1 diff --git a/Resources/images/presence_unregistered.png b/Resources/images/presence_unregistered.png deleted file mode 100644 index 03f2a68f1bb0029cba2106b8f030c889839922ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 310 zcmeAS@N?(olHy`uVBq!ia0vp^+#t-s1|(OmDOUqhY)RhkE)4%caKYZ?lYt_f1s;*b zKpodXn9)gNb_G!Inx~6nh{WZo6K%bi14UZ*f9{&;##FZQ*>Z^)YSAa;-mGbw>bq;r zAtP;pjhl*jHJQTn4zTkXw?-^6IxCQNZ>y&h%i{+t^}g51@I60dzvS?Pz4ESsTMRa9 zdx{@upJ}@!vr7MDUqS5k=?A!G{7L#TL*-_Ins>GsN8gKKr2965fW>pZ^43I^FQuxPh5N@l4}4o*&n?y}c`VZqu94OCk~T z3#^T+xfFd)Z@TlZ;*?`(Xm4ZT_0spQfi-jQ?PFwScAtLq5XX6-4;egN{an^LB{Ts5 DE{lJL diff --git a/Resources/images/presence_unregistered@2x.png b/Resources/images/presence_unregistered@2x.png deleted file mode 100644 index 2c40cadbcfd33c449a2c723f6780fc2d710c33ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 520 zcmV+j0{8uiP)01|W(LZwhp=u`>~jaCp5U*M9JbF;xokW)w`ckZ4> zaeEGDZwp>GGcWUd^Pl(L4DjELesaiWvkA+xh5@7iBmlfJ^NnR$r;g)X5>X`-z!=j5 zU>(57H-32{T6SG`hlt)92Kc@|%gmbq>;{!MlTwZ)lgY;)0mhgG0IMP7_N0{kwGdG~ z$mMe509HcYXLqSo+Gl3FF2M7=b^zOrT>LjSV2qiq3y@OI5K%|dX-TwLeF{;vFd0$m zcN${`0)P*BdZQ{XA;e$+5R1i}CbbV3GrIwR5TZ5W4$&3>6pO|CNc#^_J^&~b3V8r8 z5lZ9*0O@qP1mGw_z+t^K-HmAfQ?2#&CxBAw0KiG}!Sno=y@-gW0NgeKSkhXbe+f`Z z-3cKknE4?@=vzvuwNFJ?JK?(SMWs^dW9H)q_kIR2t+k#bBL3Br>HGdDGtU4R0?<;k ze8tRrwry`Xj`I}yO$LBWCes#=$Gez0!OXAaa``5eO8I}{SMd(u_mA;M2eZBa0000< KMNUMnLSTYQ)Z3H* diff --git a/Resources/images/rec_off_default.png b/Resources/images/rec_off_default.png deleted file mode 100644 index 55ab37a87699cfeb5e857a88ae18ab094d899147..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1070 zcmV+}1kwA6P)pD92cF0Ym9Ai=ewFY zKkvNf`_4HdY=VY{h9{yZY6G4GcE;vu5jhh@(I>v|pWT=vg)ga8YKJkV7ia{=MPwNG zF?Qdls!hOSz_5rM8XX;-{RdG)L&GCc6paACs_Kir?~iY$HkC>}Zj3n&B*QRl92*gwt-fa2of{h3T=LAx;8!BHleA>=0f|;CZ*IP8nlNT2&vetE;;%H%||6^#&w! zIP?HmYj**=L?mrWOG~pNa?x>|w*cfcS1>dJQ=1&}BoR&W5x>NiF5p5fM2-Mes`{$$`#qZy0o2#m?*Wd9 zNHdTC=3>`&U=>IMZ+M<};a~SrAzE5mlFQ4>)y9~eapO%F6&0Nu8X5}tU%>gViM6%0 zcT`kV=*-Mae(fp;fu~~sqKFKXm6g2^1VIPz;olBaq}3Snbr^^WVF1z{3R0y=RD7wTv}Qh2J%2z!I~&D z#w1m>cyMqq2kaG*k3G-(KK?;G6NcgVT4~k5H}RfX$>;Mmi9}*=T-xt(2|tvSl-OJ@ zw+I~eJn#L&ve!zx3VaT91Mg%qnK^6ib*Z`B-Pvq*zM%WBiAZ@t1G}nvZB5Z_p68`p z*X>r-LyqIzABN$+Skd|!8Dp+QQFI)56xavc4txo`ZZ_P?dq5(JqSp${-vO6^OJNwg os(M63rhspOQC0mc2!ap(0;z(KlT`eNh5!Hn07*qoM6N<$f)AbTQvd(} diff --git a/Resources/images/rec_off_default@2x.png b/Resources/images/rec_off_default@2x.png deleted file mode 100644 index b41988ca61847b6f68a51fd443d41f37495b8d2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2234 zcmV;r2u1gaP)XXleb?Y9LhYu4bK`85r?Lsa>_yQi(sRwkFbO zZLLj*)C!s?Sdumk#887;SyMDrSDZJqBP`NlBTW=bqnBI7UjPQm0#M=d0=^B62n`4LIIy_X2xV^=~4wB?yA{ zLZPttSmeuapGzbXmjO$GO93;?|5+d}A}h1mY&)Q%1{9CSXB%UF1zZquSQqf7(+o~i zp97{xfZh&#&-eYEBLbAkWX!g0+kT{~%Yc|;E3g^Z=y~3z&6_vxi~8@pdGn?QL2#vr zECf=aa{>{$FPqIiR7+ctfLdEy$My8|{8m-33$cA`?LGN?{cqqo710u?ScT)B&jK#wk;#w6?XimBPkz$z@$@l^5~m|5hP_PY4OvZpt^c&Nw9FEbKLPa)*w?e!?8YiU>2&(|VzKxSU@B0u z)?Sg%=i4KJe1|zGcLSFJlPk7+fp#np$$DO^0V*jXFF0p;ANZp0`}>DnS+Q9Bu>*su zJ{Sc?TdC8C(nPMSR*0TnHR&XlQ6K z#bWX7P_U}@s$LRf00!VxCK0bPG?DU|6MK7m&oZhyE42A~wU0B8u_DX-D)Fj=XIg7# z8Q{dw=DrADIg_!YGb1$gehAPMBO>ENn};Jb)G&sCPK@Av6gq#R5s^b7gmn=b`d|zJ z{X62yJ{1OMthM0-KO3Q;t}z7E6>04MqYsRT>z&P-&QrjXqX4sB9_Q&wrZHwPQI|0ofC&>O{2o5` zCK0(Solc)zk+zjX+=TMt2*A96;pT{%=rh0%%HDV2z=3B60d3l}=^(JGT+a*)4E(Ih z``b9gVJ-(A00xEuq#yV>hqzMKaX3Od%gXhXh&-}=`}RXaD#nX0x~Oi_q)D&4o=R19 zQLS29zs+>uPK2)kXH;zOL3s|3m9mbvY83oe18wg7H-jKJw@@e?uBxeBY5Ahl+(B#Y z#Yby<^m?Y^aVjMg*eC1Rca*khjQJjCVp1zlg}gp_Y7Q zQ&ZEeQSG!GrQ2KrtPZ^uz)n@&2t1d|<^Ecuw?EHXdzGp#1kSI>?6>>A|M-ZfAM@wW zKQjn|RiV~8Onty^RV~M`lbn}Mu1@Outg0@}=kt5UVm?&%j-|jt=OM$PgTO{>?IXh- zQpmB|L}O#)7t8#{UiZSL4V@%N)^Ttarz4Xx#K*?nC zR#p9V4Y_Xv&s%GMk>A(qZwY65W6b@k8XoBsfoFlceBXb&R&ou~ z8NhAEn4QUF^7Er8J8l$__6jfn#{sRtt7ZAIiiERHM4k{4WI$s zIuZFW0>`^9+s_n{)vnYz0Nm?&-j-6SG#R)JSOk39-BO~`4!Xj{SaWmpi?LX2kJDtl zhOKPPX0z|rG*Xc}%HtkakgX2YNw0Kvc77Q+7idYPQqzxkW$sH(k6Vr(k=KY^SypBc z1nVjaH!C7*0Uz*#Aeb5(Muwl_mb)TrYSqh=$z*p0?;YRw|JdBz9OL89R{$Tnx#AGY zX0wk1j}oc|!*A1+OeXKK)*55XG;8fQL))us;QozjRpIwEaGmFQCx#s7Kf}>zrG`?f zni3I0hxDuJvRp3rSPdEbLxanzna{D7I+cLB`S_EPFd zkHrR$IB7V5OvT-=^nHJ3u~?iA{LAsu@p$~JBQa>#{FNssQx+^(P&JK9CX=@&5{V6o zL}EiKm6~H}2ns}GSx5`ZN0FX3mtVfWzyJF1#+*5Gj#Je;U2tr*)^^wQvikb^r@Fhl z?*+~hkxSz7csla?M}(KT@!(szT<+CUskF-Tyd^GdEKeqr##;M|n>XGLe8I`d=W@BO znsLZ|Sj&V0-~*XV#?n0vSBc0D5os5ZE1ZmdB69Olb6HbU z(=$N1_d0*;)~&50xijDQ*8ph|*-_CP_NnUHAP8przTXA#Ux%x9XwJ|9jsO4v07*qo IM6N<$g36~$hyVZp diff --git a/Resources/images/rec_on_default.png b/Resources/images/rec_on_default.png deleted file mode 100644 index a2db83debf7ec05bfb25465c203e4908119dc62a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1095 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 diff --git a/Resources/images/reply_cancel.png b/Resources/images/reply_cancel.png deleted file mode 100644 index 8156bd6298c949ef93eba808588863a1b0b78029..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2884 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 C))*WB diff --git a/Resources/images/route_bluetooth_disabled@2x.png b/Resources/images/route_bluetooth_disabled@2x.png deleted file mode 100644 index c6a041fed0aca793a2da4d2dc77b0fc1c7ceba5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1286 zcmV+h1^N1kP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00002 zVoOIv0RM-N%)bBt010qNS#tmY4c7nw4c7reD4Tcy000McNliru-wPQG4iXVvi2MKm z1NlirK~zY`rI%e(8dn&{e`nd{MNmXj$1!ybpg_{gUS-+~6BaX>UiY@2rQfMD%|sUK zMP~X1I*q&tPFiCo#sCV)%kG|D?1HF(t9`E6v(NL}=ll=ne|7~kLyxjZ-8i3>-Xz1Yl0d?1Vwd#>6w8>g&IH?!`D2B?gWvb}AcGlqdiz z?~>2GOWP7fw-bekBG25#S`4RNtKJYl_~a9J_Y9P#VqC~!Tj9a8SE0KBSv8a*0zi+0 z{6K+1TPf0Y=4Pe!`PqQis@TGjzo(RpzPqTqJzr6_0PwMuTbd4dr47;!KwQe=Zr_mu zfVZZ<#8&`>jO%NY0WUQxMG$~XQ7SmozjCb#)kZ?#Ok+ObkDZ^8^z#Tney&-t?f0b} zfV}jV-kQV8YhF~nNDhc1fVsJFx@l`yh@Ajw5daYFK?XR zIf%GQO85b2o8`PUUUSP4tKCG4MHE023yxMwLnH_Q(D79Y*7b^89t7|r=-YHloUq(S zwaxOrbu)XSFCUrlx`^N(4LIx8(kg~^J9~giCD-#5Bf zkb!xyZ%@vgu{-Ng7DgAEFFtK2Pwhfq;mNqzBIsX8H!2f4nYbd`Li<*(j1Aasw>?qL z_dIm56A)W0UK^?qMg>%s6YXmM4n%gIO;<#l&yFwHCwx(yMOKI1IWay7r z8e^09gb<3Jkg+QTu6wArm&WAi-+S_7^`?h9ce|5rcttd{ zqc_&%TQd=|k3@j@m_M1GHS?>eY9%_@92;k|vi<|9&t%*akW$V7001R)MObuXVRU6W zV{&C-bY%cCFflbPF)=MNHB>P&Ix#dlF*qwQF*-0XU*BBY0000bbVXQnWMOn=I&E)c wX=ZrX1^@s6IQ*`u00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy00KivL_t(I%bnCgh}2~m$MMhecd}O2 z4s{LpP)XQ9ic+wQF56)Vl5{|9W)wpUL~DZ}?9xGsQUvkjblII*_TWmTC>TXVAPh)I z5rkxgL?zJ*f$YjM?$co>+|5~c^tnFI`+a`T`~IFc+$OT>u+Z;5Z${lzx0>R10O3XK za$PHHR^K^bF0SD*oX@KA-2i^Vdg*WBc-Ay>w-t8+5Dgdfc@m$Z>bi4T@dy;T-E zYDq}lKcQ#jk_{*#fG2(pDxuoAs+lVv5KEF7fueg7~;q8WnkMXOv zjWOn;j`W*FWy`H_Oxl4K25<#qID|{u24mdin_lZCwPrsKbn-J;jvo{TW5kt(W?g&_ zwhH5&nu~ZQ8YX*kVwUv@o98unSlZfsU2c`X3dgY?iQj~4(i$8!Z8#>}=&B%VUcv=D zg?I5YCf#d;@CEkjb1HXQxd4zmt<0)p9k0(wFGR!p9R+hXzHCUUV@TV%+-6{I7j}4F z+xNn5>2rlAqUoz!X8l?_nqCv$#^Xv_S+lNW)+e|JuWPDDr|Y8oFzQg&JcKt;FDVR} z@#lPVEc&!%%k(*befUGzQ;HF-UjBsKX23ENcv?CuRASU*si(sgg9_t#0Pkq}=)X~W z0X(X322*%B8cxnn_5$d~cV=ygF_-?ITncbf=r`r9m@wU~;9rl;xen;==q~^O002ov JPDHLkV1klKJB0uM diff --git a/Resources/images/route_bluetooth_selected@2x.png b/Resources/images/route_bluetooth_selected@2x.png deleted file mode 100644 index 42db039aadc9f8d07a17d745c27a87f7e77426a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1406 zcmV-^1%djBP)b|5TX z8?}B=gC*9~7-ADpdl8FV0$Nh3x=4|kU8ruOCdCh48xzr_S`(WfT|;+XKkQJ>9CmS;omt;cGtYZD|MR@h<^P`vGZ?AY zRqC#k`EFG0Z}psL8NeoQkU4@3312np^D$!lT+hl{c0=a%x&499>b5_Xoj-dZCLha% z`%}fG|4$I`TKqg!Y)jjwcYZrT{3Z9f3t#Z4p;Y#w*#lAcetfYJq^HJ4;lb2r(d>W- z<59CsScm6wGZ(7+b?UWw)?y;6et@^(4>@zUWFVD&EA^N=8-Xcm9x>`te5c^8e%%hH zjTUqq1jLBrQL{m~4kvR{OOzZ=o2+^PL|Uel`YcPEy{;o*s%{n5;+dTJl`?x%#nuT= zEU;VMJ;ohLz1DXK$bQdTjKewe9BfY&TQkX(x!@U2y*}3wAiF&#vlNdsHz8{>;hRmN zlYBW<>`eXUv=c;{IQwgOW6nG-?98I-llTNp-EWIA_qNiECI!%Mj*2@ZAJ3V`ur6x$ zWQ~;CA+r|8a*Hm(q15N183E`s&zL*$!JK(i=IW@qt0_fe&_28akLNCDp}JqDig&dH zphvfH-^1FR`IxY#@w_wZMAST_3-)G9&@ho1R`~GLFjGDi-mGY;u z3xvIex1DVKQQfMz-QU~JF=NP4nal8#v%J;=PFgly04Uz?R!HH0 zG`i%Wws<0K@)q5GdlmqM_ZE82`S@w7=$$c$R92SxMS+YQ6K*bupC^SCIMCE{xGh!O z&=QE$Z+@!SDb(=drXrNNTsqx~b9CTY^Sm1ag)6@?RSZnU*0L#x$i>Fohb;w{j~KTk z2K|1@Te;QAsJT|Sp&$u28?$e+%*hJDH#b$>r0zF(b8hN{&>L0jW0!wVlVN{F<~=m6 zU#`pHB3sJ}!FL#+K`Hn44;%N^sH&Ya!=7MIOaB*J%Nn_VoyN(jZTpqhTJOfGi zkmL&dsle8LbV}!xlx@fLg}wj8M`OsIwrGwaM^m56)a}8FhIyW3IF)6Y@ZrLqy)uiU z)*b*&nNxB#o+xBaZ`Nqda2y|rnzb?Lsdg){w9x|3y9ci+Ox=~azy@^}>#{IvzTF84 zn95cwxgU$0v6!O@%=xd@M$co^5M8J+ZLR@cN@_*L1daA}}Av2cqh}&a&;P z#{pdyM{W85W(K0}uc)6U;%+i(^|@+}mc>s_C{O(T#GNtZ?pDwFFY7Rw`#-9ea{vGU M07*qoM6N<$f}paqH2?qr diff --git a/Resources/images/route_earpiece_default.png b/Resources/images/route_earpiece_default.png deleted file mode 100644 index c39fe06e0dd23e9ef550e7834d79e92b06d319b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 985 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 diff --git a/Resources/images/route_earpiece_disabled.png b/Resources/images/route_earpiece_disabled.png deleted file mode 100644 index b432a840840533061574fb8403b238bd832e94ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 801 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 Z|KDYA>?QE8#lipp002ovPDHLkV1fc2epLVf diff --git a/Resources/images/route_earpiece_selected@2x.png b/Resources/images/route_earpiece_selected@2x.png deleted file mode 100644 index d30cc78521a4443febaa6202c3d74a2ecfccbd5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1666 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 O0000y(0(! diff --git a/Resources/images/route_speaker_selected@2x.png b/Resources/images/route_speaker_selected@2x.png deleted file mode 100644 index 39bebfc4e9718e12d9dff789e8c8fcb1252b1cd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1259 zcmVEE700006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy00fIkL_t(&-qo6aXjOF-z(41{H|NwE zNktlsShX#Ph+?6*S^ZJ1lC)&S+TPo=x$<8j_Ke8=QRLD;1QBYr;k(=1WD6`;>M$5- zSYeSwKb_MeBT7aK-Fu?%e*0rL_q}&-Q0u?>S%Y_kMQH`F_ti?+X8ep_-^6 z!xO-ebhAIG=Sp6o+ORmqD+meqT^ximNpdQP=UaILYoVAi-b2`|{gW-==AhPy<^`;Q za?^tDzzrk`n z0=Jy1rHCRrfjXaRm;&mglku=NF)Ltel~BaTS-{#!@o1P}fm%+*xDOZruG7Sm2+fkD zFCWQ*6%g372#0)NKLSDLdjRB@2 zy`3kocQkPw^gAtvBU5Z-XZYlVt2Dc$UvZA1AI;p7~w zl}315l6(}h-=%O!0Sn#gbcbr>q$C-h38zSk%?=D1vYS6tjAn#AZcP|P@s?_$Ty~ST zOn^{L+@|6jQZWvwMsD!{cGC~Mu8B%eY|LvV{;!5Z8}JZ94T}A$o~u3jVzvOMH4jXv z778pwJn(nz`gS6`>apHVE+VvPqU%XfZ3bM5mw>M|$#ZHQH+kk1G6Mx%~|EqR=gK2P!G`BmS zMZZA1zF-WTs-+01)VBMvnZC0-x8VTqXH}-@0m?N=zu0^>6HeHu;=X?VKO5r+ zyTUG3)p|;~%qs2uzv1$9n&!7$nfo`F-pN|kNJ5g~wHa8*Stb|-ZUx54uv&WgbNaM^ zvjHs?L9tE6=y4C++`H>eE^>+GD4qiDlpaRCT?mIdgcp%H#-C7#qFTGJr-%wwA5Lpe z`Z&i_Gk9i;MS3^_Jn|n8*;POW*p`O4nR5?Cq)g=?u*NM7I0L>DKQq#Z3$$=CIQrYdK!wm zfn%yEYXxlvoEC?BaHs-)(!@(~7*TQ78x02_J$ylw<-jMJxDe=6G2T=yo=o2?H~{J5 z7mB$b=<>y33uz9M@%*M|7TlFg!loHW02xiS5@D~=a8rgtiA_5W4*1_%F^& VN+Lep8P5O!002ovPDHLkV1g|GLb(6{ diff --git a/Resources/images/routes_default.png b/Resources/images/routes_default.png deleted file mode 100644 index f1b99cb178abee177a6e6ccf45955d858e9f71d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1199 zcmV;g1W@~lP)X1^@s6wkGG*00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy00d7-L_t(Y$Gw+-h!s^7$G_*k8EJb# z7D0xQA`w*dPrInwuJ(F!ZwuNg2~&hp8p0BpwNMI0ND`q4r9uB}{jp?Fv|(W8u5W%g zn9EwZNCjm}X=RFkWb>?DU%K<=+dpr^Z1?SZyPF5@KX>lA^O#y z4ggut^VZkm<2cUSN~sH$Wo_#1?Y%hO8Z}j*TrM{!j^mKzMv^OQ^%IemBsV5Wa!6}^ z+l)bJtruICbrisT04_{ni(!&Y00xaQ4^A7(7_%9`X8^7P&`$E`6rheNr5*r~knA(Y z>}qUmwCjdyZf)2SYRp-?!KrfCy^BP2J@o;};o<#KashRWyj z^Rn4&KY-OFKe26lQ4j<}RW5V0<2W}@wr?1Qr$GjSZx zo5)cqH9t+$cLB^L`Bt%5>>L~%9IcW7mWV_E&N+^=G6;e%tAPy+43q$@Gsav5&>1s^OllAh{Mmtdx4*0x%Zl z9RSjCd`NQ7WM6!_d7jtfIL`MXvJb#VTI;R8@4o_o<7D!aB)b5dRZ8hXp>W(9dzd82 zi%}FMm>~;-;A>;dVv>6SY|&cZIWjV`_6nfq0K5+1gk@Q}udnZ?X^Cfz5jz9G5fKl- zBiU?rFMwH0W^`^3E;ShEGZNUCugM0 z)MHT;CBE->0N7NSY5?%9ZQJ)(qKT^xRgsEo05o1UwcygFOZgcs$aMnUYTI@I;L*y| z&j4Z(d0%V&(p85t#w@ce>ln#ql3M}%2H+Q^)FJ@i0C?3H)9t$MtTCT|Bq5W@ykLy^ zk4~j&O53(SygWNui3UlxBJ2Ad$JqoxCb>TrNgu#m0G+L^ zt$IA5G3)8+Df_YgwRdsQ6*_*W1F>i~2BSRf)tj4=;SBP*S9x%?G?B_i^s zZQHp*p>XP7*;hx|=rYEfCAphqkBAHd7_D=gyGib^bPXMz=XFh6r##Qw3t%yT6O~$4 zuiZ%UjEJ=QzTY)t;_3VTcS({g1h5Cd;adGj9tN<-vaCkW^Tz$@_!}ui6J%}@i{k(Q N002ovPDHLkV1kHRDsun; diff --git a/Resources/images/routes_default@2x.png b/Resources/images/routes_default@2x.png deleted file mode 100644 index bdcd07438268f6d78d5774fb2fe9d0bff1f221d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2429 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 diff --git a/Resources/images/routes_disabled.png b/Resources/images/routes_disabled.png deleted file mode 100644 index 9f0235d12a108a45fc773cfd0f70f245d364ea7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 951 zcmeAS@N?(olHy`uVBq!ia0vp^sz5Bs!2%>@^!4L_6id3JuOkD)#(wTUiL5}rLb6AY zF9SoB8UsT^3j@P1pisjL28L1t28LG&3=CE?7#PG0=Ijcz0ZK3>dAqwX{BQ3+vmeOg zEbxdd2HJETgc+SQW>)|O*-JcqUD@w*OY-muc7)t?18Q33>Eak-aeD5Q(?L>!0&V|` zXE-WJ7`||6l3-yxYqmOM(}I*`F{vkiKdJr15Gbi(wsOrT-svkm68A{Av7|_(E!#Yy zK={L@&A)d)w~no!f0-v(`REqW4<%3Y)PByoedwe3EA1L74aI9oDih0N`YJt*9&h^W zsBu#_=MZysQloEPj@J42u9~Minv>_}sV&N@5OfJt{V~ngW$)upQmhx2HAT%&I}msH z++xp3=F$hNsFtJs ztQ`#J3@^$qwrkpzn^sDnR#sgKf9e|5deXak7X!ny^)e3`CuVB0MzzP6nfC8e z;B?&5da1AQyr}HuNOsk4?A-4-Bo=sZEIM2NPU67gz=o{SZ-uST3lgR^U5G4Pe^>TK za-c)s6|O$Uf)`1KcYm(8XJl2exWmA(-0*t%{01+JqZ(oi5*s2SzS&DIJ;Ocw$->|n z1{I9DdxD%a*%+7@EaJ5G21!49f4lQeZ~q=q1`6k2v5y}e~l@5A1b%~u}?icPRhvrPZ`R7REm;<*>EJl1P2`+1VR z``ob`^WM%--F0lwhKVJ-uV()GaEY-YccYlH{j5Lk+ulh$KP5PIYXQ66v+fs95)VE6 zd3V+aqca_e#~&n#Cskg55efnA zqF3&v&8~6{y?e&lIXR|J>OxCRRYJ;thUlGghp#mX&jBW6)e_f;l9a@fRIB8oR3OD* zWMF8jYiOuzWEx^gTe~ HDWM4fF&2&p diff --git a/Resources/images/routes_disabled@2x.png b/Resources/images/routes_disabled@2x.png deleted file mode 100644 index 2b2bb47b51891938b57f04e02e4344942c79dea1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1766 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 diff --git a/Resources/images/routes_selected@2x.png b/Resources/images/routes_selected@2x.png deleted file mode 100644 index 9343021fce0f2bf788a3d0dbe81789b6ec137125..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2110 zcmV-E2*LM>P)001)x1^@s6-#_(600006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy00-VlL_t(&-sPKpa8%_Lho7@-Lbf$V zTPdv=9qBk@r=_BTA%aa%=+vSXl<0uj4>Kl}8HM4a19qk*rR@NAlu^d91PR%_A&dsG z$^au2ha?i^V<>Iu*eV7GEZPogu{2p=_n!WdyYb#-16gu+H-z(F&duES?(@F)yyth` zbA=q6f)Jz{xEW}aFuPnIBgkDS6+o**Xu8n*NKQdja2Y<<0@E$m=M*qp>Nw-t7*!M! z<742fmdl`k$E1$VbnoTK8K^2o;-lRL3gAl4aD}S_#rcK}6o8*7Z)=DfE(%y0U=lI* z0Hbm=SKr5EuU0a3z{1j6JQ`pbunqWnj>BaU9$r;HtF(gr0R>Ad@XAj?=T|)tH=nRGr2v}Bp+6`3N+$OLHWkHs=-vtOi1y0$3m6OLotz>deVQD3kiLo~+ zKAk|gPa-Tw&}_ed5~dE5+kwM2_f>e@vs&6n$7(#aGQkLoXdbE zjqC@;0&m#dLx9C}@S4u#%B;ZB8or_dnt)~210>j)v&=6xY3QK2l9Z_}xGtP=nVeXfD{>uO|0hI{LQSJpkvt7CtlU5DzXu{!j`L&w} zybN6Bh);@N3^w(1wdN7!A%r+X+2CfD4zzqIJlxpDpq?F@EuLgMlcpg1}QkF(8^BhN+FFT337+ijZ zG9DOadA>u8ceIkJ(n!0j;=X`Q;LwgIfF&N3U%Ln@3WUU9j;o*mY2W}}MkDOExrgDQ zMg2VH3aCdIhL2W+a+~`YN~uKH;{gg?T1_25i9`rzZ0D-y7@d>>uiM;SgcsD$v%Mvg zeN-7&6Q{+ht0n9($^4GxJXQQlfY`vKQ*33z*;C_7k*3y|@2H_7F zp)~~3tyQU?>xr=gxZdV|ADAQtM^dK_%AX}d9Ru8?nK-aW{d|D%JdkGrdw?j{=nQ@$ z>-#3qHN*{={1Ld;=Kd>Zn4EkM4;QhC!D>vVSOGX;CFHSBLyYbNs8N`-CV|>RjIva) zFKSqp#@miE0r=47z6O(44Kn2%pvGdd6Zodhy^8{VC{28x^Wt9ySJ*+~+yNZ0xeHM? z0)Z5jkXta>;t=>k8*zRtb&gd!_+SCZIzFO{I}nFj$Vd5Q(!ZACVMmhE*v3$PBOQgg|} z(isfLRPQgb?;~LuD#Li&k;?Rxk!1>uoEr5M`4FSRxT>dxzEC9aoX|lbfJ^ zb^;HHk$NUw1y#u{oFIbm-K5EGBgRZw$4BW%B&}d7K2`uv^xO#+Yk*>_@$F3FHFW3v zO(;j$r$KJb7^GS}8e}dW-U0_G6J-UROiBloLn1|(4LphSWV(tduWD6y>D_~1xcGaD zQQ9=f!>)r0FoF)=w1T+LcIiX9%fIuanbZB6?+D8f9t4M|oTW)>J+CupP}3<5tfUkB{P!2OFhRZq8xZJDInJnWxGDo6F74V zsk`Yef>1|ydr`u6GlbD%uq7*UM^5;(_2kGD?(br?83`< z;4e1!Wxz{ldeur7l*TNe8Mxf$J&JOt80SvVvsQJGdO9fLHlRLf{2yd_Vcm_rDHt{q z=X+wXdq5TcWF@DF@F?Bg!EthHit-z}c(AVuAnWz4p6+0ii8=TbC1IbSOcaA(q$9_2 zR{WDj+K4j&IB1s?oaCgd1D)oCV-*YgQEnH5mh{VZIW%eH5M7j_M1Vsmk4rOMu8y&u o;|Mk5fG5`Po diff --git a/Resources/images/scroll_to_bottom_default.png b/Resources/images/scroll_to_bottom_default.png deleted file mode 100644 index 3be410ae19403a8e7c8f51cdddb080cae1ff202f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15058 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 diff --git a/Resources/images/security_2_indicator@2x.png b/Resources/images/security_2_indicator@2x.png deleted file mode 100644 index 910e3d124e3f4a7dc283898ba8230467e1d6fcfe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2388 zcmV-a39I&rP)keSkvw$P3!9oy+^YH5v#Wzu$VtWu|?R$wev69b`w)QBR6O?Jbh1Pz2FkYq{r zp8o$08}9Dj*KT$bGCec9_n!a#-Shg-xtGBx6d?rL)=;<(1pE*{{8O-ub=A&eor!kM z67Ar*hN8TH64-&jz8Lg{PR}yVDqT+Bz920T*Mxz4Sv(+hynPs3OZ*rEpP&~!WAH*U zIM%N!_k60yA1N&%;IOsIlz_5TfS79)AOgGyz&Fo!=5Jff-Ws%$kA@#ta5Zli7ct@g zxe%~4njlCPK_2IVuV1s!`+BsxM)Gk1_xzz5(+2&4jle`DP98}{&TP>ctK)(_?po-r zw`StyF~1GK+-#Gt~0#FqRQ6a2}MfQ$*;_PSe211zu(<5`NJ9ARP#bZmy zOlZ%^8Of*54Sq!dsK6Flg0ksm@}tGW7CFK=yeOpPm)xbzXN~+uwA_w{S-F1bU&Ivn zvH*4;u2UIC%41E(E{hX09KcrH&lL7%Uas_SZP#Vg-2(j`-#{>nK(IyF3ObdGptjdf6o@Q?j9 zo8zF178Sa`3}8gyZp&Q(6Owb|9xrDy++Fb4i0tC*fvW{hF|k;Y zcrx6X_b8N1uZ~6CRA*N9Qq^u|YN4r|8IuVXd&|wqSq`a=&%o@QWsshfW9BC+9s>!1 ztwkM%505gu7z?8@C&blg)j3Ooxzk;$8fOl?cSmc&P`)_(n=mnDy2_t<^L>z!l5Z$$ z!RW-@1v5-vjFjh0t$?(on}^xAhSi4|QQqLgR=avoZKzJI7=6L9)-GcPa|Q?Bd^7b_ z#}vp+Ex=z9Ou{R5MQxE-GJI+FZ{bvD9dz}1;S&D3`+P8{^lQZ;?rGx4NXffqyAX0R zN+MdSIQxF^4|c0I$#xgoz3l&QgspIb!c=hVG_LI7JheV2=UedkqD|nCbdNwnbf#wB z4fNBN?*2CT$FUXA-G53;2AQY9*KVtYoXop$WSLLcGzLHS+0`NX0pW*_&b9ZR;{0DU6#KW-YIP?!MgSuVgGw*F*}MU+_}lFp)JUG|It-28 zpJ*tNx0qD7bIhg=mM7u8GutDzO(+!nYacuUXD>AxN>OX>ZmNKuepB}m`lmYI zg1sM9LO`+Dw@T7k4iayPun-VHL$t};(CW2-zn zGT}xj+p#K1@&p8C^H`HJ70=LACHNsLT6NQU~9)-^=aNdtqN|Rwn|;U?6g9-qu>J(pg{Ba zSKx5l)9ONZghC9LphpUvS z&&ywrj(?*DK!IorWicgrYvER0_-hZ|VPi(SuDz^eubP3-q(u)dyiCh-!u)~_DzJu@ zC&JmGbp|`D%iA6%;_!B-rapfYCMr*bN?xzg_Jh_WtJ#Y7ca$#Cl3=$?PAi6sz0H>5 zS!pw&v-hN_9Fus3yUhDC2@U5yGLuYG5z6bVfRRDU`=S9xI(C4OoFy>E1}4hVK9Z#} z46e%A+KjJS-X9{5&wtF3>mItt(;bX{7@SHFY*&ymF0UMFwQ+}lV-80xp59ug09p$- z$UROT9R=BrSG3`TfK$)i1&qtq!(BkF_9&e|hJYgi&NjcM>v$^k&Onysh^BMHHy>_oNGZ_BetGt)-vW$1>0Fw=K0Vl4nuIH;E?5w z*oIbndL!EjrQ?IYn8IY!7Ye4}Xa>T?@ri^+8KZH0L-l>D&#Fwpk>4rh^L~L#gSz>P zF^;&a(PZa#w(hVpYzb}|+ZB*xY2^)+mR*sUv;pImfy)nFH zYtU@dbBz+e3Ek+iE#7M%^Ga16JVp^V&5Y zPdPkWJ(0vyqIy?m8yp3?a<1OiZizW&aS?n=aIq>_}Ebv609GU15D{640Cy+GESF#vL5R@%w|f%orFP+>L{0j#XSZ#@+x)UhZDd@`;sfwEPjxmPXEK zAIQ^gnukf-pNwR#jjt^(=gNB%0gU`6q~)}LY8vvFLx4Sl3HKxo-6MniNY%oYgBn`g zZxarVBBqbRuPXgp@mb!BkMo%+($p=>N*nv)j^_W#;Qs)9F~K>d)HZwo0000= diff --git a/Resources/images/security_alert_indicator.png b/Resources/images/security_alert_indicator.png deleted file mode 100644 index 54a340667740e911eec3c4991f17e7823574b3ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1299 zcmV+u1?>8XP)?okYRp0n|8c+w4QJO~D2`BaU3%Tq^&zHi;g;&yHBeva0 zPO|N&2|ccbbj=XDh`vWZ12oHWvB+i7dTJeL_mW;_xmL>ziT{W$p(6q}NM#qQw(@Na zL|dwjYKiALfh*eYssy%1;HtG$HC#@v#NAHI&Q4<*8;fVh)RZx&PZ!(uEH#FsrJVVb zo=nU48y)o`OFmz|Z@Rn&WS@Jex3MBTJ$Mjd#ALHaw@zZcCvX!zm6KiGPMYw-g+LXW9AZ&KM@YO$Z)jBOFWS_gHHxnW}*`}Y(9^oQ^ zNp5@o6u94z+$y*!HVB(tCyPJ0GMTH95Bv@5_>AykgRt2nTqH0p^2o?Z`RV_KgU{*d zXs2%BMkJ^YCwH%IiVebM*U4hV$W;^EUAE7!vW*r;j{WYYZxEwuv5k<;o<4X#JPYE+ zpO#WTAs_0+24UM5( zs{l?;M#Jen+B;RqI%W;9?Wy7F>O60DHX3exTw~-G$njMhQqex=H)IaW#dNx>mic*p z7L?xwBg(+?g+#>4*rq=6%*SpWY{*vGjAl}eU~{wQ4Gpavz5agBYide6a`JLcy0?#T z@M$VIIcMf_p0{DOQxk|u)Xuoas(JIh`MCCqE{wEM;#4gfqLj}@I9+HIRh3{h}0A>IB99f?R zB#)j^Pm+HZ-9y1q{G0DPGD^X17(g~6`5TNteudV#jrat3{|~=jK3D8MDfR#W002ov JPDHLkV1kSbXHozF diff --git a/Resources/images/security_alert_indicator@2x.png b/Resources/images/security_alert_indicator@2x.png deleted file mode 100644 index 54a340667740e911eec3c4991f17e7823574b3ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1299 zcmV+u1?>8XP)?okYRp0n|8c+w4QJO~D2`BaU3%Tq^&zHi;g;&yHBeva0 zPO|N&2|ccbbj=XDh`vWZ12oHWvB+i7dTJeL_mW;_xmL>ziT{W$p(6q}NM#qQw(@Na zL|dwjYKiALfh*eYssy%1;HtG$HC#@v#NAHI&Q4<*8;fVh)RZx&PZ!(uEH#FsrJVVb zo=nU48y)o`OFmz|Z@Rn&WS@Jex3MBTJ$Mjd#ALHaw@zZcCvX!zm6KiGPMYw-g+LXW9AZ&KM@YO$Z)jBOFWS_gHHxnW}*`}Y(9^oQ^ zNp5@o6u94z+$y*!HVB(tCyPJ0GMTH95Bv@5_>AykgRt2nTqH0p^2o?Z`RV_KgU{*d zXs2%BMkJ^YCwH%IiVebM*U4hV$W;^EUAE7!vW*r;j{WYYZxEwuv5k<;o<4X#JPYE+ zpO#WTAs_0+24UM5( zs{l?;M#Jen+B;RqI%W;9?Wy7F>O60DHX3exTw~-G$njMhQqex=H)IaW#dNx>mic*p z7L?xwBg(+?g+#>4*rq=6%*SpWY{*vGjAl}eU~{wQ4Gpavz5agBYide6a`JLcy0?#T z@M$VIIcMf_p0{DOQxk|u)Xuoas(JIh`MCCqE{wEM;#4gfqLj}@I9+HIRh3{h}0A>IB99f?R zB#)j^Pm+HZ-9y1q{G0DPGD^X17(g~6`5TNteudV#jrat3{|~=jK3D8MDfR#W002ov JPDHLkV1kSbXHozF diff --git a/Resources/images/security_ko.png b/Resources/images/security_ko.png deleted file mode 100644 index 310239d52915b0c8bba7e869d0a78b665f55bc0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 440 zcmV;p0Z0CcP)O4>TS}W>L9g5T~nXbU3EsCQ}@+pb*UOOnV@e4zUc&y z6oKdJR*h;7)T8`mlP@w>1N^SusR2+{+kvj+Z&N>2VVi+Qphvw3^&jw&_sMmr0zZJm zH$s!Zd?^`!BjOVH3=Bua<*NdJfLWj+**5^C+-vo~y1I}CQU~k-Q@~R;u$(m_Vq0wm zR@7&pALs?XL`0=3nBY~l5m*84fRTte%g2=p{_6wK2|NG|Ku6Jp$~mYE>;R*{0MHF= zs&x^uk0000+{_p)~X5Ys;1qe`-bXd|+NjoH!BsC?~Buz_tAgSV< zYpGiSjsbHdOBLAD4N(plk8wN?yanC?KO(v%U@R@+WW?EhU^s%w10%qT2=?M~$xa#L z1>i`4%_X4WZR)_TP_iQM%^Nm>1IyTG*=+Q6sL=&ubSuTDcy8?Xg%~{Z;6K2o6oh*X z;bh2l);)MCWw1HmyZ7-is?SB{8zrss<7yg0=NyvW`017;!jc)+x~LcP{#^vtT16oO z?6YHFT}r~-KYU8Sgb)9$r4E!GuoQFBtmH$%kkus3WJI)E(x9Y*Y^}`dSiaZ;e9EcE zlIyUm0pPKJ)(4zo40sP5N&?1SDR9u}rh&l@KF$FxkF9jN(oTc}zR9-bCD0$^?2JjP zMqDckBJ{uwz>L960c(u@bcF19QqUwuDNq7t4Xy&L22PrW+XO~KqBJNifFaWX0Gytwq^ptTs&nr8isWI;E_X_rh%65SH&&bw7?SizQoFZ3 zm9*%`<)m*Il=w!!)%?W)-19%lBfz3rzua}u0GolY2J;Z;Gy46&Z?9_s=Tj5*ywYS< zOFMP?S3XcA>8x{Zp+m~t2J(_dCEe^QX#V>K>;U}ur=+=zc(zOGm-N{I4N3VP9dNcF h>5ilmJs?BU-M=)*hrS&QYn}iA002ovPDHLkV1nycLbw0` diff --git a/Resources/images/security_ok.png b/Resources/images/security_ok.png deleted file mode 100644 index 4e1715143d44d73dc584ebc5ee7a9356a210ffb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 398 zcmV;90df9`P)+SEmm;T=fE^@0MvnTU<0@WY7x;Ssj{O!tCLB5N_|v! zQ=lyaHu%QWb@fGUPft@F{Q;_E`DuW%Is(jO`7w3i8?Kz~v+8T84WOUm_ErYEfHmNv z05As}waVT{MEx&9od75m5Du%SYH!+LOVAe)FFC&(ILmbJt#~OXr~(h_YUY=KV_*YKL7v# diff --git a/Resources/images/security_ok@2x.png b/Resources/images/security_ok@2x.png deleted file mode 100644 index c85e3f47cd2b46043314c1db09434bb08f0a26c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 667 zcmV;M0%ZM(P))~bF=f_|z;>v+*_buNjWQcGEa`Wrr)-|<(X_|sVe1{3Fsx~&1=Ms+^P zFK32^JPqnIU_Z+vV?mt;+Lj4O-1EkPvrXch19mT5;pyZGKX2Ao zsgD*qL4jqKe;cTFsOQxkSuRa(7%-BoABX=|YK0|&Z2}%9Fo3spAE~-pJ*2kOfR%tj zU}3U60S2lCELs-oo8@DDjNiqh5=iO{$$)J59~jrk2#92rw7vv+BVmZEYch zDWC_qovPgm&=*2@TyG6!YTjy4FGLI0KqJjNbEgR*2%J$L0P`V)k-YOTD|qPtofh>T z=`Qs}lQa4&002ovPDHLkV1h60 BC=LJs diff --git a/Resources/images/security_pending.png b/Resources/images/security_pending.png deleted file mode 100644 index abbc975c67220e77c3a9fc55de51fed3ce581942..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 390 zcmeAS@N?(olHy`uVBq!ia0vp^{6H+k!3HE-=Cy!0Y)RhkE)4%caKYZ?lYt_f1s;*b zKpodXn9)gNb_D|iqnf9SV~EA+xsx~QI|s_N?w?=c$U3p3C~oz%YreiD?q0S{`tI*F>fi4bzi*v#MRe=JvMc6W zm&&dFoM{$xu=WAV4)%2o{0WRVSWg{rbFrDUF)8$KP`}Zhz^yB{UER2*z&Ur4a%oU) zApfsoW#)fc1rx>lI?5N!EMS;2N$FWbW`ft+3HpskTPnG>viAhXTwlobhOwNrsr^8Z zreulIqN!RdSk5r-?WpjryjzmkoF=)0^;|=GsdcyX$;@ryf?GQxnEe`~#KNV@47T#U zVTf)$^vb8`{cFLGAD-u`zhWwVpvEsDHjh=WvGadRe52Nfne1QA?^&t$%wX#L@-N<} i85VAvY#$x+{65pONpGrJ6dZuT$l&Sf=d#Wzp$P!N2A=l- diff --git a/Resources/images/security_pending@2x.png b/Resources/images/security_pending@2x.png deleted file mode 100644 index 84771cf5fbe6e6263a6e4f9303e8b75f34128e34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 655 zcmV;A0&x9_P)JA_+yQP!#5ZaQb%)w( zY51a^R2yqST(6#1r)H3htFP5QwO<`7BIK32wp#MbGm<`5yVS)+{M$3JV~PJ)b$z7* z&L)Y*)Pp6)HLDMj*pKS!a>=(QW&f^jE;GKM_9P;1lq=v_5`3t_3NBLLBzd-#8rYTu zJyD~IKH8h)I$vtg(In__m8Ynne#&xvDCSdFWUVc+A5|kDB7OtC*=LKouoM9;i9J|@ zIrcuWTT2npkk}J75b!Ip7Zls4GwP)IV?bRK>I6_=esHXikbeeV7PH3 zh@ErIu66+TXKTV-G4BEj6_l_Q=mxd}%|Jac1Uv=KMZ`e438!(lME|Z?j@GEU>Tf-e z_@Ag`3myWSvZ>aPRbU@51uO+R=X47qVgwkOv3yM(237!#xi_J@J0k~po2vk|8@Qf* z_5(e+2v9>k1zgH5nR`G-MEuOF0-eC|%)SWh%K9U>K{StSP)}7}!C#fNhj)xH{4Qe6;Aq?J$uv_C1O?4$f+AyyYzQS>Z-=vnrJ6hEbq zyR^?qCBMiXxqAQF*Uyx%!ZJ>_TM(cuZlp40CGIIHZVRPOw_E0szF*4kgl9P+#mn*G z{Cc~vS_T9#+4a;I{j1E9mz+P+qISr5@~#~ccxED#UuqRpOMtSQ1J^5M@s!|P>Cm(N zSH+UZ+g3t6nHbuA*X)Be1!!?Co!S?_=g4DjHCqv1FX*RAuJnlG)8iw#d{8|C1DfAR zj;e}!O$GM{Eu63ORG=s=d1q?4uTcr4=GL=HMN9`Mi!W(X0m~9|r-lX}jmcMKzgv6!GH{;ZG*YMiJpAL6#wh54 zUunJ`1Q(>nz=Ge6d_Ft{sPQm4HB!iWmFNiw4FbF;sjt)PbrYWpR{`oHm8gk#)2rc7 z2MA5+lKAzJOyCAVxEu~Et=KD0T&-<_*R|r%&tW)+Y1xtd{sZl+3a|1Yj1ZK|;%(Ix ze9%<|5(#m`J>uYa5XROpeA88HxUxD0^bi`curnM$2Lqoxwq`36(H`TQU}0CU0l|AH zW7a;&`)Cya3owBd8W6tc@F#<4p}1=Y3ovm2;bWWo0!~M-fX&3xuQz-N<;^Gs@O2t& zWcK~pOXX7elTp^OF4FDxg zwJ-K|5gUuz+`XW)e}z zNb}Y?1)#BCd@5@71%%A>Q0g&5f)btCpe@4i8x(k=^cM0s+DeycCREwzksYF9id0@FRvOWbP-m4hPynL%#-rSIL1r$bB;}N9I=J z@HB>Ry0RRZ+Z2r5@q&JCMe5V!G0`mO=QahPcu7o`BBm^f=`zVl0#@y!vY4EYImXm- g;YDQ~rGh8^0`wuF$AELeaR2}S07*qoM6N<$f~lK2W&i*H diff --git a/Resources/images/security_toogle_background_green@2x.png b/Resources/images/security_toogle_background_green@2x.png deleted file mode 100644 index 2a01da72ef096c74bda848b9497d07b11f8da256..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1218 zcmV;z1U>tSP)}7}!C#fNhj)xH{4Qe6;Aq?J$uv_C1O?4$f+AyyYzQS>Z-=vnrJ6hEbq zyR^?qCBMiXxqAQF*Uyx%!ZJ>_TM(cuZlp40CGIIHZVRPOw_E0szF*4kgl9P+#mn*G z{Cc~vS_T9#+4a;I{j1E9mz+P+qISr5@~#~ccxED#UuqRpOMtSQ1J^5M@s!|P>Cm(N zSH+UZ+g3t6nHbuA*X)Be1!!?Co!S?_=g4DjHCqv1FX*RAuJnlG)8iw#d{8|C1DfAR zj;e}!O$GM{Eu63ORG=s=d1q?4uTcr4=GL=HMN9`Mi!W(X0m~9|r-lX}jmcMKzgv6!GH{;ZG*YMiJpAL6#wh54 zUunJ`1Q(>nz=Ge6d_Ft{sPQm4HB!iWmFNiw4FbF;sjt)PbrYWpR{`oHm8gk#)2rc7 z2MA5+lKAzJOyCAVxEu~Et=KD0T&-<_*R|r%&tW)+Y1xtd{sZl+3a|1Yj1ZK|;%(Ix ze9%<|5(#m`J>uYa5XROpeA88HxUxD0^bi`curnM$2Lqoxwq`36(H`TQU}0CU0l|AH zW7a;&`)Cya3owBd8W6tc@F#<4p}1=Y3ovm2;bWWo0!~M-fX&3xuQz-N<;^Gs@O2t& zWcK~pOXX7elTp^OF4FDxg zwJ-K|5gUuz+`XW)e}z zNb}Y?1)#BCd@5@71%%A>Q0g&5f)btCpe@4i8x(k=^cM0s+DeycCREwzksYF9id0@FRvOWbP-m4hPynL%#-rSIL1r$bB;}N9I=J z@HB>Ry0RRZ+Z2r5@q&JCMe5V!G0`mO=QahPcu7o`BBm^f=`zVl0#@y!vY4EYImXm- g;YDQ~rGh8^0`wuF$AELeaR2}S07*qoM6N<$f~lK2W&i*H diff --git a/Resources/images/security_toogle_background_grey.png b/Resources/images/security_toogle_background_grey.png deleted file mode 100644 index 6ff74ca8b7e437633ddbd28d6d65ce5ef8aebaf1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1186 zcmV;T1YP@yP)#fmS4K73hTMP<4QgsLIk#4W;3IU0>uRXXnqcujI32oqgx~?(_TP zeCPP?tVD=gtyZ&kc6RQZot;ftmUSDZGl;v1@EXq3I8KFFTx_OrFIC*j2^=`a@gc%} zobM%*$<2w0i64loh2@;puOT>Q6^q43aOyd1&EWiczcw#(e&}!n{|nGzHJ{Ia=@(Yd zfCy%5YwOwh`T1KoG=7;y9iZ)09wL+e}Fgl-K&_o6fbTc%;2R!a8<=qgAM@NNTw5YT7nqU=2czxdKD)5YDx=Bo}n8 z0BX`Q+NA}AfBiBi{Sp{2aDvq7KaD?pXiP(|{H*!bAXY(ip+ER#l=$!zKv(=FYSN0% zq81Q41h{w|gskVq~1tjEeenU zS*V0MApY@*1o>}GDHBsj24ta%cL0%?`>(W$moP>J$U@a32N1vKz#sW!5F?bPqQ_k( z2?r4R;r!Spn?VXFCbnCZW(@L8T)9wyU#Bf=dwcsX#t?iLRm@WWV;t_;9N=M|YvK_V zAR8OcI*z`P%|HdnhMk0rfxd}L7Ybz9Nf;9~%v6AEScB4Lx+h+d4cj0AWaw{!Y@8QW zL;VxCpa9#T6H&rU1;~aqNC271hh81C4f0dCOuYs<2bfD~hHv5p=e4>`Poh3RjkTr~oyl)_z6!0%8Vad@Ydtr0YN4g|iT3ss0`mbP;EK zQyl@~#hm#KK(Z8!Qm*$f{H0*%3mY-cLI!zxPwEj4 zwWEf99Ri)%j%$!NGbbCPHpy~iUQq&$0VbN|$hk diff --git a/Resources/images/security_toogle_background_grey@2x.png b/Resources/images/security_toogle_background_grey@2x.png deleted file mode 100644 index 6ff74ca8b7e437633ddbd28d6d65ce5ef8aebaf1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1186 zcmV;T1YP@yP)#fmS4K73hTMP<4QgsLIk#4W;3IU0>uRXXnqcujI32oqgx~?(_TP zeCPP?tVD=gtyZ&kc6RQZot;ftmUSDZGl;v1@EXq3I8KFFTx_OrFIC*j2^=`a@gc%} zobM%*$<2w0i64loh2@;puOT>Q6^q43aOyd1&EWiczcw#(e&}!n{|nGzHJ{Ia=@(Yd zfCy%5YwOwh`T1KoG=7;y9iZ)09wL+e}Fgl-K&_o6fbTc%;2R!a8<=qgAM@NNTw5YT7nqU=2czxdKD)5YDx=Bo}n8 z0BX`Q+NA}AfBiBi{Sp{2aDvq7KaD?pXiP(|{H*!bAXY(ip+ER#l=$!zKv(=FYSN0% zq81Q41h{w|gskVq~1tjEeenU zS*V0MApY@*1o>}GDHBsj24ta%cL0%?`>(W$moP>J$U@a32N1vKz#sW!5F?bPqQ_k( z2?r4R;r!Spn?VXFCbnCZW(@L8T)9wyU#Bf=dwcsX#t?iLRm@WWV;t_;9N=M|YvK_V zAR8OcI*z`P%|HdnhMk0rfxd}L7Ybz9Nf;9~%v6AEScB4Lx+h+d4cj0AWaw{!Y@8QW zL;VxCpa9#T6H&rU1;~aqNC271hh81C4f0dCOuYs<2bfD~hHv5p=e4>`Poh3RjkTr~oyl)_z6!0%8Vad@Ydtr0YN4g|iT3ss0`mbP;EK zQyl@~#hm#KK(Z8!Qm*$f{H0*%3mY-cLI!zxPwEj4 zwWEf99Ri)%j%$!NGbbCPHpy~iUQq&$0VbN|$hk diff --git a/Resources/images/security_toogle_button.png b/Resources/images/security_toogle_button.png deleted file mode 100644 index b2d565561d7466959a93f3a26531737597beb7f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 641 zcmV-{0)G98P)+` z*?37XTA)(USV|%>QT+a8#|#&Vu(#R7ll-u=!<_T&*$Zc8y<77|x667=5C!CLi)ujEoj%d31<6C~AAhp?v2< z0pp;6&QaW^7=@`|8CXKkaT8kp6|3|ctT(D77;s77{HXpI_qFl8&C}s_FvbulkU9ld zXmRkz3AJB{vjyy{9dE{N0I7?*hSGu*j$+pW7PWor17*(v+Ua$r`YDEeo8afva|C*( zJ)k-J2PtlMh`quk&=iB6QDxH=NU@1UOuqRUC7b$7yGAy6?-%KQei43CHG%=#a}ZJ~ z5}(*|CZi3um$bt{dm^LD9;aRZ1~(1@+DIEpt?EhFtt`-0*D1v)P*vux+d^hQbu+z@ z&ZMiPNzY(g8O?+VRI^3bt@RHY@hS2%dLOaVINa5B*Q;_Gnxn)KEricfW{MK?csdDj zv~dsh*-S>WQ8=rDCN0&tQ!|DCYQWYjoaKOj diff --git a/Resources/images/security_toogle_button@2x.png b/Resources/images/security_toogle_button@2x.png deleted file mode 100644 index b2d565561d7466959a93f3a26531737597beb7f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 641 zcmV-{0)G98P)+` z*?37XTA)(USV|%>QT+a8#|#&Vu(#R7ll-u=!<_T&*$Zc8y<77|x667=5C!CLi)ujEoj%d31<6C~AAhp?v2< z0pp;6&QaW^7=@`|8CXKkaT8kp6|3|ctT(D77;s77{HXpI_qFl8&C}s_FvbulkU9ld zXmRkz3AJB{vjyy{9dE{N0I7?*hSGu*j$+pW7PWor17*(v+Ua$r`YDEeo8afva|C*( zJ)k-J2PtlMh`quk&=iB6QDxH=NU@1UOuqRUC7b$7yGAy6?-%KQei43CHG%=#a}ZJ~ z5}(*|CZi3um$bt{dm^LD9;aRZ1~(1@+DIEpt?EhFtt`-0*D1v)P*vux+d^hQbu+z@ z&ZMiPNzY(g8O?+VRI^3bt@RHY@hS2%dLOaVINa5B*Q;_Gnxn)KEricfW{MK?csdDj zv~dsh*-S>WQ8=rDCN0&tQ!|DCYQWYjoaKOj diff --git a/Resources/images/security_toogle_icon_green.png b/Resources/images/security_toogle_icon_green.png deleted file mode 100644 index c8b537fe29549537ec5d939391025da8dafebef7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 583 zcmV-N0=WH&P)N*3H0f(T-kC1<-t)Wn{?9r02wPa%(9TRG z0dmKTyT79O2Wi3c^AW$r`f&o~uuvkg?a10gwy8A=))z&Ws@iIUfjc zUGM`yOfmmpHGf$|5tf34VpLSHVz5kpD5w)8R0T)DJ_M?%YF6=NHbCa0Y~T4suf!Y& z_!N+!FOo;ItNJ$&o&>@4R3-rwpd;i?0F^eGh0dSObQPNDDVD?-Z!171_u_HfDik2x z;SK_&7PZXn+OuP#npPWwL{G6~aJdEKn&DlFAI`1RKmk(G{4<0{P1gEw>iGOWxvn)Y zaVyt>Y=g+>3tm3m(9b_U)3w{xa0WQ&Bjo$?((;MheGBE9QmwZ=8TsM9xpG8MN=q`|j|o{T(2?z#b|fyoD+Y_7$e@`C)&c zqhaF0641V(tyTWq^mdFUgC>Cofe@9~Zy+hd2I7(QN79?BJ!nEFL6*6QI^k{tE)~69 zr9`JwSvOQoRpcfBb*9QqASWSFgKW@2#bjOuxfpm*;V;Fx$)JN~30+i>iJ)`NG@iet z4wngb+?nhWoYsVI8(DBO0sZ9p2|)KWjLrhX0p8Ic02IKmZ-bld7l9)BT~Gs`)vBTE zpkdXo0Sh4LnQLZR0a_dW90$$>FzlaRcTkJ0{_&u3`r@wy^|Sgxpu%qqcSJKkuK-Op zkEOxB2uxN|jxI6JOMRcd77)%k6MHu&XuQcA0DcWX-23B=FZOz0qJI=6w#F-0q2{TW)hL-Hwf~I6LxpSau=GbmdovpULSCx{Famb z$w>OgRl6m5sz0l)@}C5}GIE}5i=+?cyD4u2;;H(~j5^l>%#|S*jiUC1NPds8rcOy) zY+^{%c9pocx}@Siy8Hwx3iRsxI{ujm&z1;s)~W1hi)Mab>x6anp4ubnBWAX*NXU6{ zvNPG}eZQVb>u!=In#NyQfGxzk&X}|9?J+M^KxQaRZ>Bc4AkxqOf9mq-0-_JcBV*?Z zOkstq=TvRIz$d_6d2ap12tSgD{!wuIsHpyEBAWijAYw4G%2vE%Zf;vKkVWt4H60kZ zXVa#dn!~`J#ZCw$8IO8zm+15=oqAKXkC}4Fj9~}Kj%a$URBQhSGagEww3m)200000 LNkvXXu0mjfZ&U7b diff --git a/Resources/images/security_toogle_icon_grey.png b/Resources/images/security_toogle_icon_grey.png deleted file mode 100644 index 61514c02b333687e680cf2a1f5d55e5c331cfec7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 912 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 Hu0mjf)i4*~ diff --git a/Resources/images/select_all_disabled.png b/Resources/images/select_all_disabled.png deleted file mode 100644 index a7cb3e38738ec053cd40ccb62a8ebfc4050e521a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 619 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI10wkH8TU>z@OS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>orcP7!c&*5xlz&q5 z*sbbYMdw4mZC>>y>GlbBe}-upC#D1iuNEk0W_RXbIGuedf>~$s_vv3|xSmww;AHdr?a4bfDyPzJ>dfX?k#L2x>2MHR8*9*`v)OIZ z3!RjbniqK;3wS&2-P4IWJ9giAbh&zNXj_=j`NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VX;-`;;_Kaj^+ z;1O92wCOqsGdgL^t^f+Mmw5WRvft;H#1E;@vu{T;K0BCrWx)jTKTaz*AJ`+p@!R{4 zQitoQy41~etJp54Z?M|;{hi+5>KkvHHFGqbg;{5@v}*0#yJZ>wc5j{ys~IMDPw8Fr zMqgr+(Ru;5pfwhMzP*}xa!LFuwWNb9A0{1GHSzTk?ThIXncjW6^k4pW&$2J!^TN8G zX1jQ4+MTZwJ+F9l-F@MC>WP2(8B}}4KZdNCvfS2KSlryGSFrN*k*?qbD?x8r-myvj$7rY-;LmM))kuy48nH-p59xosZ~Jlbje>?zZ(Yjw&C5-xv! z7odA>Rm5S&ZbenK`O3|%aTSj@n?L)&!=R9|+DPJEH*55S4U7ys&tzq4*h*h6I{8!O z_SbhSVs&mzTcS3H$@+A>)b-bEZ8WFfwcQnN|LykCGYVJb_8sI5idvVygwer2@S^4M z7YoV+Qbcz-yx2JJ_h(-|*|}R!_sW0My2N0zJ0kB^tV|+a{_1WN|~I=N4XXJtl#ST1f?$yeBrR-v!R*ySS$G z@YhN4M`i9zRG;y`EG_WqyF*jzjXmE_)qcD>$wAWXW%u>M^ko9aPW(T2kK>JwWS8Gm zuhm6uNA*4}iG2N!E&9!|1rmQh=K&MCYKdz^NlIc#s#S7PDv)9@GB7mNH8j*UG7T{_ vvNANWGBndRFtjo-;D4arhN2-iKP5A*61RrBz4NVr8W=oX{an^LB{Ts5L3FW5 diff --git a/Resources/images/side_menu_voip_meeting_schedule.png b/Resources/images/side_menu_voip_meeting_schedule.png deleted file mode 100644 index f3b77655f92821805cc5cadc9898f9b418e91216..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1871 zcmZ{lc{JPk7Qlb8RD_Ve+Gz#VW^@pH8PpObmQ?Xn<+TVAsf36aYi;e=T4O0~(Mg9| zUQzoN%GjkfMQ2cIOT#pg+ENr#YGU4*Ip>{s-XHgS&;8!d=iKxC=X=v#G4@c15(EGM zDB1z#Cdi6M0TvOQAuJcJAPM1|>`}mBYSzy`2`X`l!_{yAkT`J^AfWJ(g5Xk&hIX+N zdoKZjnJD2o(KG-6^~891(cJtZ;S_3UAd!TJ)1oPOIMLr90M2KYxnsXqQIp)~$e1Sc z8%;6NhHh&KNeYsiZ>JrKylm3+^Ca9$7n;j`G{%uVU~}uLTw@L2!ffNtyHL?-h2u-v z>Su+f%IIBt3d+h>YZy4XF*gT90D)>Yq+fUPT=PuEz%$pTr8N#H3GSYHzaa9$dL&=y z9!nX_8Ow(oZA$eF4j+#Sd=ne>ja+<B?(@>K9er4n=eM6hcx9_E-tKGvaKv`@%j~0x6=!)t6}l3Q|8-NtHP*lh1}2QRv%Pr#iWB*h0m>u%-gWo zeRj;K=CI2rF()2d6n7B~6=%GC>Iq&pl;f<9#H~oty*LESYXF(?N?pe8;SUaqmNv9zfw3!cYl(U<+?>C0|47-c+j9Os>`tYP01S`9NW zi-EcA{ac2yW_)$^0#Blh7|jWh4#Us*SOlf~1E<~Ic;=S64t22x(G z4n!VrN@tZCOG8q7+9nzGdDI$+^=w%@r(7^75*~W^ZTv zdt*A_0HF5JVtT5ugR?|Dl}<#Hb-FfEVGhC{W{I&^EbPEOY-YBH7P{<_UE5vom#H}w zbQSDZY|U?|mIbbkX!pPJt1W)wu^;$)uKf8g z+s*#r{~Q&SsZ~u|e{6gCTnSO7i^;3T}#8%mnRMb{WanTXkrY53U z!91s-^H8M7Mywh_1aLs~f-69#$!+wrxW0NvDGKnl5WzE`x%*J8;`*(Si~UPpVLUf-Zrx#z=R4qOP(Bi7k$HYX-d3kQdak=kxoS{_X{Z%1h;M~_QkApi=QsZ zHq@z|`{-h9O=g^qiU-%qT;Y`jFcj&jpQd1&^dYYL{JGN=LL*sy*F) z&&g7MvY}BFUq9hlrtJJSe=GRDs?bY!ejhef`=%H~dqUWNd11{3F|c{{iK_h$!Mjjw zajg8*TvAf^bVi}-#hMAPoi0-GX2lk+b| zP}3y8dY#JcURk#3g?Y1-unB7$Q_nK%`lPc)KP;x%=kM>+f;V@iKGTV3`TQmrvkzsv=CP5^-beqvBF)Z=W*bT-<3nhG zEfw!a!w0}4iL@ZNJ=(?fN|Kbk0Ma~y0t78H|33*pAE~det*580hxE`hHZw9Z(=$AW zM4BOy-_c8?|4Sf;1`q?I|G%)+r_?AA5Pwgg5y|*)nje|+zmC4~e}=RVYL^Qff_X>_-e~$v$t_3SPPaJAo~|h_6vy!^z)}hQ1R41ac6q=O93GDHxL?tCjmz)))#Fn=m2Ot K464S)H~9}L0Yzm1 diff --git a/Resources/images/side_menu_voip_meeting_schedule@2x.png b/Resources/images/side_menu_voip_meeting_schedule@2x.png deleted file mode 100644 index c714829bb60ab3c39ccc0f8d435bc846e970eaf9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3189 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 N002ovPDHLkV1iU_CA9zm diff --git a/Resources/images/speaker_selected@2x.png b/Resources/images/speaker_selected@2x.png deleted file mode 100644 index 598b63a47bfae318eece335759046a15f67129ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1258 zcmVEE700006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy00fFjL_t(&-rbsAXdG1($A4#b)@E%@ z5rVafRNK@~EJZPG?SoL%LepRgt|d)(V}ecVLw!)8CI~JVs#FlFf*Q=%ZcL;p4V4J? zK@5SS54KjQL}^WI9@>Z4XsR)($>#WwX)-fzMAFGD*ZZ{h%-tD&bM86kf9|f3=b^Pk znV=phW|{_R=f|M#ZRZuNf+8k33OojY#ofRL5^ey&_wHGPAV#H_yDtwo^87C=S{1HYt1P-UWS&79l zV57@C4b+q7kbs7j#O#2#VF}O;+~zWmp;SwTuCVK=6(Cp@(B}jDnQ1oX11u2F%@$^S z^-Jkxinw(0OTHwYtyMgX@;Y$K0`IX5xW{K}C&C`dFp*DTZlinztPkjZS)fkRycLQ# zsOAo`e1H%o%YJ{mWL<~H{9_a-3k%H2!3ThCC{JL~qr15I-(v0*%BcmUrAdUt(#pAT z+Y65_Eyku(xd!$~K_Hv23M)1kjqder^H!^d(JlUX$J}FYj`d zX?6e?=ZvIuKTC{&(+Y|Z4gqU`mo>>N9>8`k0rf7^Dn?0|;khZsfL~pf2Cd|N&zf=C z!ILR>7y&0;j3exH$_zk+2(S9qWKoX_+M;n{M#P-7@dZN0Wh&KLqP~p%xoZ}qfCr3# zbL2sXYgWi#-0OV<{N($_N^{_BUk#n&R?mElVW+ja2D`!>IAy749^p^likK&d2xBI} zZSlbkdge>G-6zd1no`7<0x!Bu-$}EpaL*)^&Au2MG{bWiEqG6--_NnC)b+Vv(hQlP zP*$MC-CkpeCeNB@Sqqf8OrM#dP%d#9IPc6xuql^brhM^r5N7LM7BNIPOD|JI*#N|W zb<)g$FCO;+PrG6*BW-*i$Qeo~fK7}5M{^uXZ3546{O?T8wQRO8-6k~Y%R2vUj9~GG zv~nh7?mfT_vzrqV(!qt?aKdU}^#WV|GEGn;89oWI_VpoDJF}FeIqpA084Bo8F@z3H za8Og>#Ij^)1s=kpgftERRBTEOLLEZE0^eRCuyxk=LLCDg#(aQ&Jf`d z@ciy}6BfrbNlHPCg#(ZlhFQ*&K#L~_!)qkz)Y{o?YaSfT9JfiD8ic*zkx4t5;H2(i zm9cQHIBZ1O4*cdaugB&aO*sD;G8N9LLnp8(0s39$B7_r~q{e7CC()cE%SNEb(>Ftt zCioCpJbfEl2Gd%iT;&~<=Aq`5+&>+&?AT22^IRlcC(v8yHjifXP(hW)q(%s+5 zb>GkRy#K)W%e%eXc5cL+=d4-Bv1(uYIv`Y8Q3m%By^{_Vj3XE8Nq*8ae|kwI#CF-zx^%TPHZp z^y2-!lGVq!!xhc7(}TW1jmlHCwTkP9HG;xkuVOa&{4tccR91;jo_s?#v@4jBzK%A&Hc(==wk}!VoNvnH*rzdIHv32VRIQtwechZ z_2SBPTzv}SD4hMuJ&a(x_%d$QZPuE}&5BBtqej&p%OH|Vqc0>MT+NOLNVV+LUSUNe z%E9F77h#z_n8a4atn)DYBz(N3L|f|nf;TtW-fToF0$P!&PEqf?iv@I+yqBU-#A?&| z-tts)w37G^5y5Q(`)pXds(R2XmtH@|;@vQvFl|+hxjY1!ippgA�b+g3}0%m4Agl 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

L`BMejk6zx#z3h( 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 diff --git a/Resources/de.lproj/Localizable.strings b/Resources/de.lproj/Localizable.strings deleted file mode 100644 index 290cfb820e6a1449d2600695faa180d9c9cac36b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82190 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 diff --git a/Resources/en.lproj/Localizable.strings b/Resources/en.lproj/Localizable.strings deleted file mode 100644 index 93bb71648491366ccc9eb8696f15a5c299c39e73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54662 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 diff --git a/Resources/es.lproj/Localizable.strings b/Resources/es.lproj/Localizable.strings deleted file mode 100644 index 92c0f1c48b3ec7eaceb4fe4f2aded93f5e38c52a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55500 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 diff --git a/Resources/es_AR.lproj/Localizable.strings b/Resources/es_AR.lproj/Localizable.strings deleted file mode 100644 index 294072b7f2f387940c45bed280a449ac0a622699..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 79440 zcmeI5%W@r8cBaqRPXSlBLMn%f6?S_hce@0EP>F7mq6tb0IUM1jcoVBgkOoLm)Z6$; zYTU2TGY&P-z)`arxO;v3$B(skW*!hAxep-O!5|5olezc0-*@K!`_JF3{(7~wy1sf6 z|K5pzAIG12tNqop`2FeXAU^qa^>B4JKD!&Ae7$-Z|MLBV_;f#hx);}6iqHOf^_$gS ztbP$ceHHgSk59K&w_`=te15dv!_{GYdMCcS7vDXLfA6+?zl@)@R^P;D-?pC)<6l8= zyIubze!Cz09RzIL_b}Gnk8kd^-yg0X#m~>;v#r%HS0A+%Z^UQp!Ak7-P5ggn^@sTR zr&O+b-OhSNFJp@n-?UowokNxPL3|W2L(dwtK4&;%Cv5b-s=j zwLg%6Kh)W8G`-XI)VIRxS%a6mp2y0-wjWqQ+y51Rf3ezY_uq+cMJK2P^|k^6pcgMi zWpDx7PvhFh@eMF?7hJu4bS?Z5vplb{h!1-;05*nKIHo^LdxH*z96x{ zC7E~;|07N4)`QrUKgoApE9_o1YV$Mt^e|w37?ePwo*dsd5@Kiv-+mwa$r9Y1K`QN& zWFljd&9Rg;TQFeVSl!I zb$pNR*fjND#Qt~!{#{3LQTcY*D{LmRauFzg7F&fyJugf3BB=H}WSsZ~@BW8?#U3Av zc{^+;)&gIFMYtE&PbKDZgP({3J|S5Tn@2%k@RZ#9XXlD)d@dk>*;4D`9LHv&| ze%e;SqByespQ}Eq1k#jg+j(iaVJvqb*w?;_#mL*8Y1F|f-+HK7kEoOX#ix@Xz8fo(Rct~xw*w+PB|eBa z`XJzQZuKOhr%L79p%G8x6M0)?QQ4ENC$Tm$4p=VbFOqdQ#BR#Bh;v>91biy$qs28w za+JT{=%*MyAyvj9j)}5BiM_ZJ>t#-Yp32ih-NUBaM5EFaL5_6lPB4&7&-mYR0k*eW z%v&=S>myM-`2>Px} z?D8CIK7;CG_s%*77E+c?)}z)WkS}EMUZK#9fbGeVv{7}iG|ksZnUz!{M}6+QDID*u zz6)AYbCJhP%em9A!{!1T+DILQ$m#Y#4%}_l+14s6KMB|N>OTSkG#p=Ri=kQw{s8Z~ zzOpfnu07;WTNDo-g7I<41(x?Tc^zA~AmPQM3noPm_`yv< zgN9)XsFe}J!qX+ll3MdSM(W;v(CkIPRHgK0qvg|P3-GQZ_b2kOSI;PtsNq2;bHGGh zS{a6Foz;#mMF-<}j5IldQsk#k6#FZ zwtBEU5q80`rlJz%tk{T$u|9Hxrz8`WXPJ7klrionM@b0Sb(D2MFU2|KX(|8P$KT*- zq#K)pf=Ce0f&WN|c8@=k6^2S=9_A@5S%3-^5Ws zD-V7MO7TK58M8OW=&NSIGuhvqpaPLQCu_C z@aV`37VKq_uNw{egZNH99%+NJV4^;mbji4ngcGi?8&(soq^1Mc$oi;stLFV8a*jZ+pPa>br$w&!-&jJtNz%2SFW46CDKg42>Yc9{#Mip*lRL7lae1M4oz`CK z-gpLoKgMe%6x0Z*V)S-Dp&>)ticCSY8k?~tRKz3fh`(`lulgljDQL0+C;JCasj^|O zU9aZev6QTqyr&-DjN4ne9g(!9cqi(%lHqajHT3t+#0S_gq*hS|kX~hK=~bfEEbLl7dleoVkV>nDDYqjW&L!lrQMDhC2Eh=x8QC3>B!onu(W2} z2})p>Jm-?ss610KKHS5L{ZP--kiQ;cx-9TIGsVPVWSy^v92!ct z$*v^p`{6^RH;Ut4#^=vk%&yvrucXIF^rs0QG)_6MBDmUPSjV-D%8_iWoNSshcBnwl zSJPEj;@f9Yh2vkOBW+BrLp}~mLoCWQ2jS7~4eSy0lq4I0qu;dM$!(Oq9JG4FLF+c% z3k#yW5^VX|u``;_&-7#E$??-rBP)OIaq2!~4(cnHf#$@X_y#cN8~1+JaRTZSHPdSs z{q>1sXygIti5pm#ewi{X;(TQwuIOb=LpZz&4k_MHhqUUd?5cL`;eOP-Bpil%_nSSI zEw+~b*dQL+`I&Q7z4UvHkF{1Z^i28rJG2y;(?{E z#yac7JxIT3sJyb?KQ2loi&l)7kk4ze%Wz{yddRs``T4YVJ2G}m96ZH@L{TACP0CeS zb!$|y#b$hcY{6bH>&PIoso6|ysx4FQV|qxMw?bDXy$8*+xW_|p2N=d?AImh!TE!Te z^Kl3y@Wh6hh6z%tXzvqn~{hSlW0d#yt` zPOc3zUhY9qD`#X*2e;~0SyRLVZxVJQ4r=Y#dR0X|w`Yr^ctRFm)i@#%;Oyg>=YaXIJ@d;Mbai8WJNBK3^`w)b?0+;(bnFZ+)h~|2K^;$Yhe(7hH=!lY zWU?o}#h#CbWgereN;|LR?jCErwRnBpyeX*dZ6ty2j?HPBSXxevgDg>2xHds?YK5BN zTj$Ru3FMGSYg(dBdBnOuv6r%TVnJ##Oir5ed#ml}Vri~e7M1)88UCu9D_ zleJ&P3Oc2S1Zg_TlabUm@cj5x&K%eaYnnFKS>iF&!hYFbit9R?q|DjS+O8{70vEoY zPVou@rgMmmy?4&q?ge!65j_s_=aMi*4Oki^4^D1kx>mLXYljU767pUmT4Gsnozlto zLSPB8wI|h%ljG}h3tMhi-dJ<)Hh&CalRnDm^H1-0j18*Bz@{yo!xDgnNRVVBYg)@(2?mW4=>nx zoJGDIoxtnyq=C9GpX{!Fw;I_A1YhzqWrTQjss^SsC1kYTRXk8nVys+t}}@e(DGoxn$B6ona5`8u$8~U7f^U zUNO0@7=W`1>8lc+ad`wV5@G5D5!QV=i!5qW$)F}k)JLp@Cy-upzpeT>8$l!~|EQCq zit5FWyFq{3E>+Jg)#9#r=?L$)Et9y?IF;uYk$z61y3<$JL_+QdwyNf(m(CLqn%tQ7 z5vjm1n_oMFe{7R<$Tl(u-2F5&pIBB5F;Jy8q$VQo!sb@2rkd>!p`*HbzWS^92E6RU z*_%E9R$m&xcc};7Nj)gtsb^Rq@%606xCwyEf#bX4{NXXR(0h8f7mxq$BK0z>h-sY+ zBwnYJ0wmoVb`a5G;@>dOhTIoHsceHPoZ#ER@cU z_SRupHo50wP{ckv;lzev*`;aoyz|ZIGhOZHLM3uH>Wk_spOrSUU#!6iEY2OvrzAH_ zCq?-eNoq9LIOVIW6KByOaF(Z?t_Jp;CO9u$Aztz`%cz*57kG$_s@|>ssHUk3CVqGx z2T^4pVqc;ZdB{ofbDmb`bd)@cO#M?-3#mF|!J){Mc0`%fITe%tG-M2EdK(%bn{*Ay zLe3lGzFu=P;31cwdpNpc(LZw{b4kTD)aLyZhdw5`9N#Es)e~mu3gzi9&6V+-J!N)C z7dpzSSTAxw^q&^Ruf2w{d_RVQ zobzRl6e-g)8coBWp4=k2FOUADhA&BKe`Tets{44-w|yq+ZqQVb0G3z2x$j|6NAMFB z^1QV&CeLWsY6_MkZ4dn6E;z>ys_)SIpd*5XVSOwcwMut6{Injvt8?9kV_KJaKc4t- zsaXi7Jg`I{y8frmwS2zrL8{ZYKp)Rx_GcQP3*Ql=;)z5#U)$Gr^yDE^sy?L*3%?tbp~HL@ zI{lm^59w4ijBNEe(0?`QgAzHXEs5_lx}T@q5gnmN*q(Y$1kFr~j8%}=R<5huiFt|o z)ZuY+&%42$ldAZiwr|g?e!tsj1BH@e^|Mhn!}A|hddWD*&hQ^}GpK>766X3c7Ipo6 zal)%!nf%cCPD)ppDu#3h>htJ~r?YsU(!A7qA-94a(8ZsU0oW7sv@gk(@^t15$p?5+ z8TB)*(4WG=PkHjd9hx2;vqpM0DSk|I;8(+QUkk5PJ1Uh1ct=$( zII)oVk17nTT2Gi7b~-!8l8&AtZzzHmPw#TZ`9pkzx27|sOi$~55uTU(^o&3J2GE0- zri{Q2e?EthOn_Z`D19|&yMAbVQ8Z8~#F~{hqxFfHfJqj7Vp_-knIhBJ25DK+eyt@A zJ4UG!l)@icr-jvTH41|R(=MsIzluYNf^?!o&8Gnh!*?RO9|Uo@aRVHCi*}mvT-?sw7U6KUzy#Pba4Bu@?G)+tA_6|?SUfu|8x4eMx0WAvvDR*4Q8}oDLh{(ugg8B z(tZ&zoj&LPv#_hOeECfO)8sxC%dLg5Xr;pZ^Sj}NctOF ztlo}~i~YcW8XL1GM1gp)g!e{#$BcpeDpEqs0)BwEu3eg2-W#X-I_Wsj=3_ts1^_KzR zKgR!9UghEBn*2-!bw40s`ie?CSL#FnR3gepf~L_YRV@5Cbm4!rK~#9w>K)(2_tdd@ z-Zqu&7wylbfTiEG3~k9BUC}y&J5m6}}Z~t5)WY0>3*VG<}H@-sSV_kqbDcNSXiPO6>}G zUXRQLoq^ku1t@}6aMzXiOB6`AQ_}P}G8<8qN(T|6VtTIB`w1jX?8muOc_yBt&J}vn zFtL|(ZO%Vin0g-_ajplB4`LNo((~60Gg0w;Z72XHkK%5)YcJ{3hug<*2m(j&>Zz34 zOw=Tg;7X<6VQ0q#~#SWwA8acO;Kz_=tMwBh&#;&5nrfK)@QZ z{z;SFwh}z{)qWD_RNIZU_SucKr1i?m_1+{!Q&>4VOX!wrSCxLy9vGnza3ZnJ>MCuk z?4PdVv(qFD`2%+OXe1Gt+lf7^eRaIZ4C3?nEBfm>j@G4VcZi4^-o79IU(9YC-L?*V1fXZ^v`r_a~aPT&1x*qO0zs={fB9@2t~Y zS^PdRl24F7^Zny$1VAI}1>8gk#Gu5m3DMQ2S9n!yx1uvBj90({jg$wxNJ0X%88tZ` z7`eY90Pvi4)8HxjGI5z=0#ASFH+|aIp5?FAca>jMwM%wB^A`Kn!-z+Suh?CYvEmgX z7N37m21stB7+P_5*4Bvbs6XLT&>$)Y>_nYdZ<>Lp>mb0hbC;hi%KD@J|`%j^vZiw8PZq`3nP-_l} z=Y)5?P2&@=Nq)bI-^c>^Mj0o#sdkQri_S#3=z{8M&lr{>nX{sT1@$FoifKOza962BmPwI0l}2> zM5IXWjRv1+A}+#xep1bcU68|``$!5hhm`B&x$vu1@wD#!Gt?~!#$%-SCK3jIXlsen z+XA3;KA$h`*X6htS;^;x^!Fiwb)sQ&&|8AB=Z1-l5*{F>)^yd<6C>BwC2#mxJa4@d zPAhAYrOKV)p(3!vd90_a{8DX7{>zc#&9Ic3cb;-$q>rgkd9LLw66AZ%3ua9-9Rx3} z)v8hvL8`Vw1Z5hNF}a>=E6NJkH0%^oA?@ZmaMEYzB`MW+06P;~ua2~ydci2kxEl0O z_HDW*4YxzjRB2S4J`x5rq)tIx4Ng&+7^kUMqhG$g`Xc^Kj5&4ukMZfvf%K+ZrgM?P z&Jz1YlWY9lI67-efEWZzO7!G-jpqmB4RZ#Bm@z3sZtIf}vch!@dwuuXiF-H+O(dh3 zi7PG+URmSr->G_5EQtm^>7uMfF)Fdh$fublo$+&;66YskrGF0Tz17~_1&1>;kcU-8 z@Z+Osn<#kQEQzOo9HYs~Dh5+rt%$v@fmhG{iG7g)MP^H|q?paXp zC9Jkvl(%mF13VH|y)RW!9hkjpln_6q8Opd6H##C$wL=dCUB;%!=iaUN#(NfY7 z{Gpj*3sZC)JnYZ=bJQJxxRtB9{%$rzd-;db$d9zVSMvXGQXz~Le)a55O!v5oT;UHQoNna0*cIQgneVX?d zj*MmKXHrX0Ue77^yMf6!#gBa)-!av`6qrE#8kV%jX1iVGjuh8H3Fw<~IFjW$LfX%M)r*ety4Yck|C?h^Zj6l|9Y?_b zgJ#1$gF?T5zvzpuz%Nn(LOO};T&toEG|GA>Y&T;Uq#`|C57pK9{>S)!WbDk2-v!>{ z%d`?D%ENHLB<$ns8I9vOw#RJF*-Fi(%kAsO_ zm`LL-kM8U7mJ#eiudi4YuH*>^zA`(2;~-RJXU;L+q(noUJgyU4Od2y+L)0Lz%{0rSkh8weAUov>JhmH8=3JFX zR9KF*Sg*s=9+o&n+O!^1UHdAuo@=S;5_M1Unfss1fj4VAW_a9w$9t#?%Kyx}Fo{GY z=~VcRbU?8N=&f=R`jo1lKzrw$?f@f?IrC4{uc|WN zs|WHRe$qT4`k>l9)=|AmxU&_{cifKJ74SHx(kJi7XTOS1mmo=tx)ZBvBGC0A*`d0| zC~JQ`FnJc)CwM7O(rj%)cQdZAeI;6*W|^w`E5gRkNV~Js1uopLPC4J}oE~u|nSG^M z56fHerhQ`h4Pq=GC1+lkF&)^KD! z6+Dwu`fU^)z-wIA}S_*i%x=XnOFpRlSC#*~)RXbJv{!kl3lR|ArcV_oitTxxE5y@cv&yoS0(wORZ@)-3fPHG2h;TU9=t&6vt_|o{i#iN?GL9Z)X?lVxliUjnIY+n1vM4fUwhDm zUG%PZD{J~w+~E#@wbA>*6M1vlc08**ttO|?8?M!EVM?o;+n|zfr(%64PW~R;;VeWyge>B4%^@2|w~MVq#*a%-WF57hNyq zdR#?BCq1J|$Q-%#45+A(P(f8hs%{B;dPh%^^*gGMAwP#*qar-*pIiw$u+*J6Tuu8E zpT#FBQI`WEx*+QK@ch$pvh!JB3jSod>O)J8%&V&Fs-MCy@?B}UVqT;_pOpkPsvQFx zy%9i>lPm|;z|TQaw?-8fzpEQvA_IZXJm=o>&CbkMI&(+gYFCrF8L}ATW&XL3lM*1P z!HU|Ku(GtcYN=j{@uM~(?BIOG$v(uE8%g6zcU_>PqGq2(vX5ZCe2N>_x(cG|GxL_c zRmMK)zPCMjvLpkt*z#X+TQcsq(a$-E2d~vDd_EE)jx%Y{Pn4g`BU$@bfuH99s7vYj zgxuNFmgp#JUv#wPZ4v@xfNNNH92KDxw#K^gMeIj}D7{Mk&d>EME6%bJM*<(2{wN4< zG|DW$L6gW#GyTXqr<^wh1-z0)wyjYujt+3`ilf)!>l{`-mxf`{solYGN#E2ezdOCT zaU9XId-n4CT;k6W%^?S>Ov=k3A@ynW<7kcEY6by+w)76&-vwQfyiLFNR@4)0=Df7M zw>7CZpB&>NUN6~(@s!krpu9_3J!CQ=z0v5YZ?V$iI+jUZ3#`XM3OCUe`CTBRYM{67 zWn86*Oj>X6DmWF};CJ{I$?(J(KV=@*OMS&&J`%f3wTQdeE#Uw%Pqq9hsKXRS(h1M^ zW7Bo6Q$=1GRNmM3Vx>>y$yih(#h)L2t1a9aO3h^(HPVh&iLFv6Uym%O*K&P3C7Fyc zr8(u0_**?8-v3A6e|qkv_jr={l+3K4Y(`h7m`~^G6SEt^f3zw!jO=8pDMWAbi#g{b z-uCnM=YgHhllNAkS{bSnRHd;6mHSBpxa;$gaMm_#$;#;TH0LaAiF(d&o&qVos-rWV zmblINEAFN=e;@J;HnyV312z&XN^GI5x<1MAJaK$8pD~qZ;o4jNWm|QgxW28{8p}GJ zcQLd!Wp;|Aa&&rN>-F`lGEIzkvfZjWe;)cwp2F!2X(8HIEf_rWGg;8y%w4c;p3<~8 zbGH_mSIos#R5=`tkt5NeL$|SF^nsZIseAe)Snm;S^RjnTt3B)p6gpW;)L5TxU89ce zz=4xLe{PmW@ueiwRSwB6@!b5$D%d4z-#;|yi3UXl)gi%?lg?A@ZPj(gACIi+p(ZC!bFJ~Wn%P>SkXPDN+#{}&GjQIE-?rjuWP3580d(YObPE*8L&wUQ zCEcp)v6d(??PZBd-iJOB^={>>BQYl*uBSx7nkjltXCo0v%V~P!P)6^JaP%fTvpY}y zg{)wdPq-P70&#lptMSRW>09-Ts4ny6S$NUU7hJ(efu<4_UU{RYcX67qT|=k-)qLX;Eqy$^entUgG0loOyy^+d7z za7<}@)MhpE8CN=2f``F#TPI}`rk)%N&1rnrC)?0&%YJB#|9L$J!2-DKkFqih^y*sR zVMI?`cyMw35Fb@f_&Nji#Q)!{{wk=r)hPM5?PpQ5KI2Z4mztiEUlVNwoApw2`}R*r zVjsf@Dr8i?PfvU%>#O%vpPu-LgU$`A?>ldwcd{P41V+zU zEJbAQP^PyNtjjt8yjpEsFXOZjD?^}41&0qKile{!sB!3ie5R)~tE1|8Kl|Q%UZcI! zVvPmKrx~jY4)0YdAOq3!8WeLYo2s2}?id#Xns)B-)*7CtN=*xLjYmN>d2XU#p5_V$ zDGR%C1+gnS>N8Pk`Me@J;l2TKoom^8j+Abu3hEo%p@HX+fQC8HG1HCO3F}{DB0l|f z{3T+bLppkYGFaYcKt6(Q!h2N>z@2;=tAsqx>6A9q_o^F@J)Yi;=4+j?aX1z|F;Z8G zPCfA$Fk%0RE|Ie8Cy-Uy>5A3Mz(3;<-!~3}z1R;9qz+~FFisNoVn<=^CtOg`01jw^ z7HD=r9jvLes*-PA)%Dy**Qc(5#ntmueWHbx#^}~rF`7sFdJbEE4v$rRBJm)87Uq_D zQR_5Vi$?iGM`Uc|#5Qod{*0}~&!vRrw|yK;M|9+zQ|?PmEvsFrzbC;6Cq!|)C*4Y{ z%Sd@j3TD+6-%U>k?^nG@;%1rxucCkVQa1rBGI|mfRp}cEiMmQyVBQvZh`L>f)a0Zx&NvLj}1R2+{FS@=-==vDSbRzZ}$*G(c#7|OrIA~P` zJ%v@aA3fEZT(k0^>{qqT8WZmxuOfR#m6w&_I&}5w{8am^R)QbEZWf{5c) z$O{k=CE=yUMaG6)5d`v}dIs`}9WuSDeETzFuX!@+9C%qhI~l0)m4|JOq|9dcO!fvv zv0+u_ZpG)sYg9)Jy`o|;#apd|8}Gv02s|0>J8DlP>ApS_8%I;7qn;MqCi-DLMrtg( zz9_q1i{E8GM`jJ#&#GsMkdEZR<&YnAB+n7K!!wQtL@T`2L^^~_S9r+hu_w~sdd;Z# zlU&%fg@ok)wA=$&=ar{-=i_c2YcJYLbfmh5W{0t(e4?6G%{BV_9(C4MnN;=>iF4KY z9L3XHNBvJ?tehaJeNw)`61n=0PtQ90rTCn;YTO81>-61nmzJlmW4#ow%)MOi*|6Dn zqK5@N>YUsZ*361TKlG&5vi)`otk$%js%VjJBal%g`L_ANlimtQG&9Z%j^W5AX)TGk z5?rS1ttuNdvzK$EF|I!*8e$zSwUP{MQ#}(cN$M-Y$mdjhKZtd(Y}V$j)tAw;|D?SE zMv>K*@yT|a7FU&=+A{GLHfUba1uArae{1zGEtsrSo@wm+b*3ZuQAJv^7eLJY3ZszCk((xwhfH3!Z_A4{nU6^E!aDJk4$O_6ghYO9@qA+-=%*!&Un_cMk=2f?vui6K663B!MUIVU6Z-XI&YagU9B2eD`#MX}SYi zqq#>YGN$g3l0*GY{06>St667-Wq;RMDforWt~H&E$17cyD2{!AQb?sZmT|hcNCi^) zfX@_fno4JjAix9Jd_CrtXh$P+%W%Ef4pw{H?nd&Tx-N4qe%@qnJJ6YY+WoR`0z=i? z^I4R}CAG6Y?R^s*%clq+FX%9DRYh{B$)LeVJ2J1n&1t5W(jKs;Y5-fS--SJojI_s?q@z zvT(izZ?O*hWuJALb56E&8F%B~sF>&1oD}@1wK|U&iyR#1T9l{sG=*1#S2EGq@+3^!Ld+6VZ&*f2Q@Y z;;O|F_2jdofQtIQ{K8gLpna+eZo4kw8X~J;tyt^XQO*A3S$WM~yE}pmd5XR2-PQP9 zK2~uWlqELs1P+pk&lVM_l(LF4+pT!7iz^k1oo$o*Iz^2mu`BA%Dv}g$vLXyO@i7&8 z?+y;@X4%I{_~!xfAL8%y>6w=UQY;7F=Slo8I*pR09tv>`YP+rv9MCc~U}vFo;;9&M z^ZcMcjmBOC=y+QL9O40_LcAjL88=mir z&_nbT|0M5(UgLH67tL0`XOq(-&;yUiQ`7JTKtqfw4K-}Z#hs?P`rI~7kvDhHCsY@7 zZ2$F(W;b+x9h<)&e^go3dC#RP5Z`dEBP~r)Lh!LhG&wQGE_@MtyO!nZL_&5g_O9n_zaJI{eHlDnemmIRqX<`8hz}hXjrCCQ{AMJMc*9hxIj*$N6WO*Uj?R`yTki@81&-(n5zid8qDHlbDd?rFR322n5q3Ozj=w|RK*{9-PSpguO z^FVR7uwgZ>t##U(@tXVC7)^V5PwxbTNQ?hh6@*OBo(4%$WG?H496yN9G%Kd32iA-j z%Z0D%J2Bf~8H8=s2P9RvS{k$dA#S|BIwsy*YB`C5%%Jt~mw299EI9B9J1V33%sTJBVeno}tW7Q5U*7F0*^L9zlJW_12!a`AV}A@4_Pc z-7Auu_10E?K=y+O5x1_JZfFSg zBS#prx3W{Ro@Cr`>Q-=C-{NV(2&-0Qu*OWa?#)hk0IJpM7TAv$Z^_z8i0I(5xfX|M# zf_g~Vls2-WlKv_FxsvcWeeD>E;Q@T^9}Y;?mY^5qemtU_D8i1;^Pt+8yywfK$e>2? zdJph=DN&T~o~)ixs*aG~f&Ry^7p69u9#3(SHSK#0ipe;IJ?|YrF(j;3%)5rPHufn$Ng{JOCoH*?R&=uhGQ5<(yYdYzqN-cH>&Fec@wT|~y(;+N_B0aP> zBRwKERkKD?Pkl5b3@MQ(!M@~4YGZLXEQ}(tngwA46cOWDp2VN}9!O!RRk3i2#fbN{ zmZEHI3AV}=8c$r%k(M=)&G1g+`I*$9qV+Zu*beG|8P@WrM*-DsWqlo)$bOtEB8V2kPo5`{3fy_k5t!(cfgwK zQ;YD`UVW=QPmpi0$fwEMd%O>ug|p38wDqdN11+$RnViwDlg)l97Gv+wCn6MEBB5>ofnK zm&Z$ap%;S9GLCvWDX}+^LVx}htu|-jV`79&<{s`Ccgo6Io6w`P_nUM&lUjn@Jb{zH zZ#`p|bqKP; z?8nKg^;UnAdcK4QT95AcbCmK;b@EbP0t=zoQCv|S#PJXEmg|u1p;eD#2W8f^JAnpT z2a(Q7lU0@Tac807i*z0ituYS!;yibAuRUE^LA5=taUtR z4ZkN^^pe1;rdG~$_OyRfX@O2a?2KaT_=%MAAhkCP>`WK5ZJ>OyViS>Zp(GtHUH|EoMOR&2x+3OE0B{x(Laf~LK zO9QDNjMugGmTsyI*)hJ+nie!9MWqk zu0$H)mg9>_@Ts(i{713-*GJ{mG4gh}~{9xT*QwXuNRYEBPyXq0@xBVrik#^By(T<%M|6RWI@>+l!U zDnyrRKXXlNoxWe6LCV)aduWcP@k!1{j<*q0&quZVdC0mX1PcQ8Oz7vlf^;T5BN9Um zTvMU?R#n#5X-lQt^;m@!u)mT-aYOu(oH=F@RQVoVL8~lSwu?wuE2;BceS>m+e8GCT z9Zh+8wEiR~HVT_WuJ<&kfL!!vhi(OLkkYJHDkrG-DAzj=_*D~f#)_U?4J`UumuXf{ z6!vA{306c&S)*DPH%+^rRfhH!=;Le_%G#Ip6qLoA!YW&Ly=f%U#8vM4Ok)aH9c0Og zhsZCO7dQ_-WSmze$)4$#!4vE|b3%P3ZHands%J8yfv@6D*>kV*W5ab*SW>;md%C|T zi!J`8?MCL{HveaTjcd^`xP!&VfA#q9hCSe_`7>yAhxW#<>y4J)(H#ZJa9uxZIMnT4 z#rn$H$5+>|FM^MrsGd5TRGaD$@}P>7-%Cq3SB{=kaU`!a5{?94U55ycdmq@y&H z@8KAqSB@%TH#Yq=&Zx-XtAK@kO1ok;JW~ynf=<@1m$7P#)=Lvq)SLgRZL0FI34H>S zlQ6@N6OFh(RdKT)nrlkpCfS$O#2%7=sRoDF)m+g=iD z#Mxea5E&^Mkm42F*qq@cF2fUWJu&uj#;f^CBz?XglxGU9>XdxNx;Q;;qMorb#miO% zOM|afM4}lSTWn7{Dw=kVS7#lC{mzVLC*=gylX(ZIf_F%bn8M>q5z%}6^P<)aa;EX33XNV;f{8vBtYAGwrdK99#*RsQ!F>oHEA-z2$8Z zKuwjh&m_;nNpO-bYE4g0@f#j}6LL(IS(0?O`JT*iuvW5dS&?vW6kSy8p_5O2eVu5W z)1EcL?ekOHvs`(dkHwaf%hs+!!ifFFma<>J+j8BJsW$2@+@ZXc_(^B^oVnCY!#H??2A@at!p`>2f`O|2le`?o##91?|P=E>@hKZ<_Tn# zQ01`Y?mk0!KRzWB=%1Jh70BXMn+9k68a`O3n6*Zq-Qywj`DuK8<>TjNA5C3k{;L&{ zpwre))g6%x1GjZb)hN%ZOu73(K+n_%`^{-d--G={L05#c?*d&lTR{!j-jSLg88Dw9 znYPtEWjXN&?WPbRFYc)P5Y+!~?awD~{I~Yct)OiR@{6pcm0D*@HPcI9M^;C+8;imH zb9wA-HX3{-{GNAGg;bL_{WJ2=UhKa*zX?~LJ1K%zZIW3WW;D>Ge%GAfvArZJWap9jRR?=@t=_FgM?XIgN)xX`#dl@Zk;~Is^ml8|vC#6S@7AWL9@i5z(<%6~cvi!i zRd}8876!GWG1YK1dM_jb%5gPSTzH4};_LDMsw^$}d9Fool`GcR0Ikc}H|r}N8qEbx z^afcZy5K1Xx7*u0Qd5b#i9pmDtPpYk?SPc%8wl*f(d7E9A=yN0qAKjExvv@oXl~ty z^(1ZlR599wFP_$b&DXcdE3Y;h)u<4<=)9#ry{LKQoF4Au6=>F#^~Uc}nv>fbBm zNf*_gv!i7BM+znNk`GO|(APmanBByt6CtMTjL$>o)R3P8mUY$Sy`WA?5&DwcN6wck zjcB8u5O+RO-{ZAhQ++ecka()bo9P~|kHUl@RyMn6(@0=y&(s^i9@g_uvRCfNWgl!4 zoLhdoNh$F&mV}#{k)9&gWefwmSsQd z9wX=PiD4CwYK{jhky`k+HA3Q5rtaiPB^B)UylJhTJ#*15`lI?GrS3n zSclh1Hd-CO({T0m7JD-l!`ESXlEr>IJZ-;6;+gZRWNO5zbuJ>U({}kbJMPj)uQ4hr c@cPcPsJ^&~>V`9-slc}2qNRRrb#2UU3Le*gdg diff --git a/Resources/fonts/Roboto-Bold.ttf b/Resources/fonts/Roboto-Bold.ttf deleted file mode 100644 index 8d6cf05510a7e143d6901fb1d8c83b94f47214ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 307304 zcmbrH1$Y(L+Ni%-duGc7cPSCv-8BUF;O@cQ-GjTk7N=04K!F0KrD*X|D71L6qHVE4 zl6~K`cf#THwCDfty*$r*zS(Qmto6zAne>PuA_--*I3&DE#Y&aC9gN5!j&2)8oX#rY zb?UbWKH5VZeYT5{JiJQ%hGBglKPW8bcpl2txla9j1(&|xnN!4QLPDGNJ=*r}I6BIAv>K>awB+2h@cfMbeWO!VN>_5MNrHn0(@fPTI>bcGI323kR56-FItrKFi$ikb6dvYAl^JEA48D~D9D z+KbytFJrAT(#R?-W6jafp5OhXm9cqa}}Ht{7^)6gI0%C3B4QGV@57 zIS%SeHFZNWm~%)UCS6pJ^iV0itIW#Mo9j`|r{o=mjT6YLpBpb>>IpJXimP2>>u1aa zlF+&>pI~n)(;~9Tsehg1S1#Fx%xD#muBw8JF_%h&`K`3Krbu1%2vC-cwp`M}aX?x* zt4L$VbeZDtN=>s1_43TZwUkVB($lPE5^ipg@~%ACcuvBc%_NJj?uov(P?dPpz>cbBLCK`!Vl7Ai zUnQ}xjeH^f&D+w&Y6z8OfHj0Ra*{aFPRuk?i}q6y>e6;gn|Y<2d5ZRZi}u`3is(4& zdW_q$SUm^y(tXG?RK~iWL4IuAfN$qWZe5PKM(Vq#(@vYB*9H8WP(rOt{C-NlH2CH| zzRFC!!yqO0KA~+PReA4ct_srLWstAEw}|c^zBanq*QRrrsp(56c&4c2H4{q{YalVG zf`3bk%h!i!$L2Z7;c!S6XCj`BrkpmC)=@=LTVLa=nNS`5c2UMI${OqI14Yf+*hpR< z^|>xBwXH|U{@BzXzx=^74Wxp)CfTh-^by@p?lKMxr5`6pw_(!F*9Uap(Z1P)d?O7V z1ti$aC0W!~nQfl+_aohxeElib8)Lr5?y3BqAvK+Iq@I=5*RRshx6(K|iI%;5EJiMr zG}JN32k~&!CXc2L>Dh_%F3F~D67!ynTYu1R`qL+ENo3uUK+_|ZS%E%qR;pWBv3;S` zGH*g2DeCiYoYdnBcDAtJ3L)%#u-bn^) zsf@Ddw~kj*$?<}6a!DF%6FLr*2#rdQFKQrbNOtuZV{CuMf}zL;lFPU!WgN|$m<#$rrF-fZW=r0v`u7cyO40jxrMn-koJ7a`e!x*-b=lSjEDlPQ2FRc*1 z16`J{yrB}V;+aF<8H`IoGDvNf!Hgv#j%zZ|QB6uJ+Z(EmNVub~AfiB|-X_TR#iRC)>9cdLw%R?IV$F$(L z&W~=<2l$=be?OWvRdhA-X#d<6-@oXQ+}Gu!L-b?#9M+QOCF%8yM^cO5KZDlmE@_$L z(B(pOBLDAbt-~o`)Q;(i)c4K-_D6pccb$uS)F1r_4#H{1{jsJ=A7!34S4#;MK&-)9 zB7@B@q<4J3(vo?ng8D*!W-ZW3&ug@iNb8!Uw8k(t7lGkDwsJXx7k|y zT5qJN^-?M^4mI%2KV!IeL>BhM_E;@Tpk-MMA7GpD3;{wWiff5)(%D(jktFOGZf znlq$j5IS6t{sB@G|WZcSO4)dPocX{VcN$HH@nMm(7U5;z6406t9Y#Zpk=gKT2 zoF4S8&OAIsT(03V*V&%A;GOieZb&arEt&65$a>=w<}f$@7$ePzPkAegB+&7U`yJ+* zLz#o5`-igMN>j56v3M`tX=nXlFl}!>Y~VVZ$h-W|%UK-X6-PI8u{^{|&v|`hv||Tt z<2`Mul=NV(PU@;ejDDxR6_RmQ4c0psWvp|lWVQB5NoOc?cLD6WgIrJk7R2hQ^lxiu>Kq+d7PPLij|uAxv%tOzUpi(V*QfHd(S-KJwW+m%-NJ3N<528 zDqnl1ojNO0b`k1W!o5$?L9dZkv)*AX!Mv5(v4!@xgnE|ojFRfEFzN5SB+Z?*X^WXz z4{T?S8X`Si`-sPJDd&1gIZLFam5g;vX{lnZlVIl83RYR^;v7TWL(unvHe zMoiYZi6xV>G-VWK*CX%QgT0>xXNbv6@Nm5l7^i$=^c-XzV0?N%g?L>kjFYiSGjXuAZ+SA^~59 zxJpWG*1}=te9|=Z3(70xBRT7oD9U;%EuDR&rIxJO5>s9veWH$;l|GS$G3Fa7>gdUH z=w|LjQik;@>2mK|XbgI%~$kvnm(Y`rcZ~)A=g!doK0t;<^FXozZs&<&93+&uOR+DbUshtz)mwFx!LBOw<=en|oV8(h z-`d<_eqsN`_@0V*RcFksWK|{BSEa1Eo;C4V-#WIEwV(OrB>g@=ab(?Sm1B)a|8lIs zx5cqV`+otXldP(paotL=g1_9Rjd?ow17P@PRcq~NOk(bJYXjuW7BUA z!$n8~^rvXO9x{P3E~YB^`2D^Jzv*W&36NJn&%cXc0qFHeLC6BBLC@Li4Oj!j z^a8z>=mvVO*Lif^UihASI{hbD3x{AQaNqX~YnA9B@HIRIofkWN}|k^nPFO9UPX}4kaG-khTycNs0R*^?*3&`1hbcGOs&ZllM=?f^CfZy%_h_&_C}< zh;f;9@G0qPT*t3lr5$~+yMz6Y!wEssT|H%g9pt0C?;iI#3+VuDdA6UKf)kV+oSei- zwU5~1b=J#bj^Y|G8*4!L$12eOFQy4La5s831nDypjoDY`GS@D2rbmamvX%XVGHyy| z>M3O~{uoR2k4la`=i%t&T6A>RPb73N5g zS}YTxts{zkZV~q1UKy!zu(n|BHNf}GAIv!psbMkq=-<{}x$O9v`DPq-mZWb*Np%Cv zNAOH)=xYt<4^@q)G6Y!^Dnk`01XZD;qcrQj-{MGu1ojL~;_gpE`p-80Z=ToVq8?n*7Wy%#eoA@_J}Sfc$pO;(NFLw%wghALVV?h%dImD@tYdvT zK^oFGi_zBW`DJuXXG7`CT-w=Hhs${cEd^_b!IH|ehViyDzeDj=CGuyJ`6`4txV-dqwt-w+Gmkp+N@8~{No;rL zx)f=jaBfjpQoHL*YQu}Ki!vXx-bUY^uIjY&kus6|%~=nX*Yh~C5o@B-))dmCq`AvU zADBm-(`2n>(s$@{tjUYJTT3ey?pBe9G{hSYgWdZEK&zr zo3Zr0SkA~^$wX+TmeN0#(pQ3Mn?TINi9sRO1K~bSAvN11t$HSD%^Th))*wl1>9a`A z6dmGP!wQr(%6xlW&BvJc@pp?Odex}LFCTF#kaDD7#SjCFL9 zu1es~hKr-B{!1qP%GGGIm%~iOU|w z@@e?B3uzk83w(S-ybd$Agp;2b#Y@(}t)Yh5lksx|{?g-A99E!IXZ=^fI79v_j87rb zgR||{#skh#-@EFw zc3#F>@&#+~(X{o+oH4bQaXx=>R&L&sB)gUU3ZA^Q!%oPFQkz)T75Q^YoE(Y2!-??`_zv#F zR!9$eE#RU2;aMOR-G!N}PjRk26up|E7xtlV4*GA9 zZ=6gaLFhVwv%_KdCkOrua-Q?;ozk-Zoyb_w&GkkGxI)+;7DeB#jHPjQIPUuTLIgTA zQ*DXmU+EN=hIAxmKFq?L@G)s=JAY*^X@5ao=lMa51t*ZzD3f-nF%B`e#KG7Tu2H{o zepW*2s0-3sWtTd>H4Qcp#~ju>&IrddPc)|Q=HnbW6K%aH1aXGRz8s$wcduYfI4qUi z8<4Tcp5kzxmP)SS{GRlY9L4YDtZmE2jf(@>`)p&~%zR+Bp-t%DC*Tb4PzEu-b5F0W zDI>4iNE7p#>--okF)uloZ*)> zcS#A>+EsX05$32aquklif1h;4-@UBi>gmVIBN-S2itDk(zrKFI#4lsm$GqR>Cwk65-(wA*Tbj6w@IJFOYv;}~ zp7Wi=aqCLGzN~6yXN<}&wV?on$59xW4~oMAUs?gKYkOl^TbWi2W7cG^mv<+v%zBJ- z)ua^XU=ikF{5aSrL(R();dJ}#58cy=hxD zcvtl^XY=_pjl=r>4m9=s5wKa4eUuw2hW= zgvH7BNWCu6QlsxLf-uv?`Hah35gDn`_qE@3Iq_xbHt|oovL0zdAJ%7hk=AA86=}j+ zccwX(bH~PRXmRs9}Njm2iCWKfSJwf=4LK8pR-O#N=wcm7bo`(9sjJ~P#qpB0|c z@0Y;mH`+e!KfUe)FbR^vQkV}qeJd=7PazX50iCZm=)6;57A%5|pzrDDgJ1=0gH5mx z^u2tr9x_7#m=X88sN)v2ew|O}*E;NuV=wX`X#KQKx_oVePWw1d z5q=j1U1xmWlw7xkQt@@_xhpV#_pyR>~;=M12q*T1zb+D>h+wy!t@!*a+JUmn-m zu1)$kQa?LCu6(VV{;lQ7IH}9k^=Y4KU+QP|eO;!uP3x`mXg#!US|^=f`#5D>x!dCE z)^-deUDu)Q)^-+wQgOd^nYwJPx6Y$=*EYr1d64V9@nywbPt!;p=rWu6r3&YF zi+G33+K|0j8DuZMJ*ddKpc-d^71%qabzJg&(_mSXSeImCUOvHkV=?b-OCs6-F;BVl zc`##)9(zL>D~jrImpxE9bSWE0A!G-r@ll%oT`}%A>)q%=ocoA_vl^?O1Zd2~-e2{c ztaf?t_`Xfi->3W?`hC3qR^=m9Bkx{4Un4(+% z(f;`eRlvL6*Z&K6mvg{x~T0r?H`Jn|6!OwBuKrTxnKa=ytsDCXK6 zjB^X)zYSsSHpvv>c;EWbFY8!-nasEE z*582W{r7*9zBa_V^<()9-y{%s9gqL5)azh>l&{_e{QhX8e9LPP+KE$N4Sm zQvGdDBrzJ`o#R8VRhT>f5!MxY9{w1W*t8UCspF0JYznz*^!RVKw%qwEBDJsGZ(^zHvjJ z2kAaSjPyD{w`1LIedj;%;{)HZ>2{)HtG`*(V}~!!dcCaQU-M2->G#&Wn>O{gSh|1n z&6n>z2jeAmZSmdH>Evm{5&C~k%zNgdUlR<3o@XS4BRRlKh8didV`^S++*QQi}KAG@crubs;H z#rtxTcZ2a`n6D1rBWr)Sc%QD{f&1d|m$5LuANhQUJ-+v^dIWP2LDy^9-s57CQjbpJM}wuzDJC=`ER6UR`(A6oAkdQ z*Z*Q;{B!X({f4c8$TY4SZh`lxMSN>xhjrYd{Np4Q?&i=>y`kavO`QpFp z`$zfL@iYEgzW+hSx3B+@t7*f!@9FOy;{0#YA9Ndze^2ilua)<*1$;Yj-_gu_+$!h2 zZMN_pjBiuEzM;SO)cv)+_YeKfhxPlve;2z&hL~T|hdK8{_BVJ>#W~Sv-M`(O)9~JX zEc4qaJBab&0KaE3XT`;hF<~`*>0k5JU;Xe8zjd39FC$*Yx9<;gGUI{%zV)xMu@lKy zPZhptTtGXFpU30pQlDPlNAYFSKFZKe?#8zh)hPCfDiC`Oz0aZd!ML*3hdR>hZ~D9~ zE&se4%6!grKFRm5d@s;Pj}N|aZvx{c-}A-$M1je^@mvK`AhpL zUixF|^BZfZwsA48=$GEj|Kr*zer@&f+DU&~{g>Y#+RDGT{bv7>9(P9h@mZx_Q+4b&XESf^uyp*Hk} zmcI3gUcdYUteXt$tJpM<4f^Rd%zuM5R&N+-t&c4N?O{Chg{yGrLoDL`8RswTD*;pE z^^MmjzOE0?{X;DO$2k6f#wA{lf0F-eyZ=W2f9dZ1DgOFz+fY>OLfYI7+RswB<6F1x zWIwi(y%}pw*Z~)PQt#9Bo~;pnWnC5T&ks_6U#W?YyY5?ho!dBe9XzpScys)nt+b(p z&;WZgLKll~JM~`O^;Yuo&6#Gn{>^#*B=#HE&D7okR&sAHRl}RxJmqa|PKkYK{^ITC z+lz2^=+Nhkdfo2ZS8yI1;XkMSuwT&Uw|XBCch>9M^Kh-7^PSPMXNcPmO^)A#==0SN z&(X9O<`-V%H$_?O^^!7oCL5J!kJ z#1oP{By~upkgOrOLh^0oamHjB(`5|Im@8w|jBPS@$ebz5scg@4 z)ydU5_o%#K>zA)zxnahJnH#ol*s;O8DesonTRJ>buaCTU#^#CjdSkp^d>QY}V7$2+ zZ*G&ra$L^K19>4{BZ-mB$ZBLa3K$KHHb!S-l(E2AWgIu6l&CZ+t165)2dc$txjLW@ zI)*wT@#YN2T*s%59gh8uA002utY&_*vKel+H+!2y&1vQ;bF;bA{K`CM{$&1YzP6N= z)Cx?uJ%eP34pf2J1M>%#4Gaw&9XKIyY2d2B--9G5O;B)9)u8Y=Z?+B^9keItV9>Fk zGeMVwt_R%;dK&b5(CeU>U@GHhvH4ao3l1--|z-+=HC+W%)pxx z8;m!j@g@z_`_B8ud(WNKd&Hg2`z`O95(2H)O)GaRz~PKj;(F)h`#Nt5PY5lX@5wyw z*xl~qvAg(&f2XT&><%3mXDz30?Gnq$YU~K$t$S=$CzXElcXPk zLs1=`?2l^lWcQO@Q8l8fN7eZCcvN+fsB%xbMU{TiC@NP}jwtGi$`s|g8-4fH-TQa% z-Hp0?=kC?JSMG8GeE0O-Q+JQw{rc{Oh3{;BM$puSKgnT160yjsPO;|4s)*Er&6 z2Ykok;JqPVH;Cgh{OWsH_!@*^*?%4XzkmJxA)PWgdH&mfyqWp8e|)w6xBvbr{ckh> zuM*v7+-KeA+~?gF+

%BO*reG2>&yd3=I2@_XMaspgo* zF}?8_XhakTuM<)Z@qi?bd=%y5-+XV4Y56X8$aX;T&mfVH_yM@mcU%YLJwSpn=rrI= zFuPB#oDknhpE!*xr^tPIjcvl;cRZ^n)+y8$vP{!Y<4`hRdcC`KpV=C*ST)gg*7BBC z2QN&SZ;f5FvPC?s;}hz>cIoA3tr4Rr9u-H<$7Dkxaj2k`uLGZX*!p4mQSCW&R#X)b z;vv0vFkfT)RGFLTY9FL6+mFa{nbKH{qNv7{MHHvvILThBTjq0JTz~Pp|HFEanEbOo z6{C3g9^|p?n(ec1^a9^$<2z;hh8>%gj0a^Yih9svs??vc=a%f}+}6i0s+DYB2&)y3 zhaz};UwEP_vrON*!nMXV+0{*UzO>VurYPzSj{{FO>C#`@s@p-RbFW>>W=@8RNuNfO zn115O7CQU}Ywx&P@K3IO_q0JBz2myYHrzGY>DEelUL@UWM=ia#QN)*aTxBr=?e{=^ zUoDhChWNgF2i}#nUqPW-_AT|utWIJSMSVt{pDIOF|JvL0|0<{&Qp~9bzKeFUIa}S< zA=y*?w|+HS7aOE^z-qiZ;qaYus5_MdL%r(dzD-jjEUJ2cf?d@iy~Mh+nu<|WSb08= z!H-(5vh@Frg#R8U=q;%u7t>PQf0NAILTBn{RpH%U%Rh{6;+);LM$*|@UNZepOoQ5M zn2M_vP0q+e`p4>sZokYIUHoI#A7T{oeG#qs2Pm-(2WyUxHqUj=z}sDH spC@S*pKVcfw(#UCvgZBAbVX$9zmzun0;=ho@G~o8j3OpueB~wk7k#yQ^#A|> diff --git a/Classes/fr.lproj/AssistantView.strings b/Classes/fr.lproj/AssistantView.strings deleted file mode 100644 index 2caf45e7e09e59186de565ba27465eceddb3e0d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 716 zcmcJNPY=OB5XIlQpF(<+v?7k;fFezV#J_`E(MS;zRQU4vRkcVOje~4vve|k2=DnT0 zT@95~R6$K`}Rify>{u>W{>m2XC7W^iQ Zh$ii8n!Z*t<1ECl-Ul#8a}1yChVB_yYYhMZ diff --git a/Classes/fr.lproj/AssistantViewScreens.strings b/Classes/fr.lproj/AssistantViewScreens.strings deleted file mode 100644 index 3b2d4859291d8bb20d7372f8a63a41ce2dd3f7d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36298 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 diff --git a/Classes/fr.lproj/ChatConversationCreateView.strings b/Classes/fr.lproj/ChatConversationCreateView.strings deleted file mode 100644 index b7064d510a43d08e7641201863b91c27a6c4a9a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1444 zcmd6nO;5r=5Qg7#e+A)4f*!n>7!QCkX+RAay_ZsAv7(lu!GG+ZP@mn_9{QowUd*JM zc6WAm=Gk}p`QhkLJ#{ovBu^Wxqf?%)ZscmHtrF}}Yi3TE_vB-N^$ayv$i5JdohGc! zS&8xp6IRxG(w*HOFz?&9#70T%SxXxsVPBk`a7C0A-#$@Yo#oMvi9A(bOT93`+;s zd)RQ>DZg(ORe3a}G2@<0*K9LY|E7v|l@HLU>AE)E6{Czdh+OM}F=Bi!aH;ZW%B9?0 iDJ9cib$#|dW-0?iu0(7?sY4Nz1sXfGA_c5G}tV@<03M@LXw*AQlq-zG1b_w zZc%v?^Rfo)@I+Pver>&mn3C`>__}#MQqR|J#<%$&V6e4Lld8@cj(Vu#s7^+0MU%LQ zq?(**fydSZ+Ss^bypAv%&$lU6N1Zn^mUZ&N*{GYU)EzTtqvi|UGezHwKZ3qmr$j?J zWzirncmh<54%m!f8_Pv^CqD%YpI;;S~LE6&Hn=pxkk=1)1@-@ zWmtUIF>9BsOx7Oi&idEPU4gl&iV(Yib$e%Qzgtexa{| zjRc0q4#j6yEkpAiF%-sAYQ%G588VcU3MQYo$GG?x71PoM^^@upj4AqfucL}WLKd+K ziLIEwi@cBGOo``czsud%nWBYMjToua!VhQf%- ziaB*tq6eNPND^j%p({}}9j8*qSM4rq^ps z+zr%XwPAa5SfBCq_;ktX7B*KpZrUEA;hPE%A&XcZ%IUHMnN>)Mber0!@?y1R)3}%& zZTwx~)wA}{Bn?I4cNBdgWO2Yb{A8x2_gTGziz~7^M&I_%(9!csRznv5 nTUNU$cmewvipl7x1E(6#c|xBHzdwc|`#sAci%^y~onO;0C?K?W diff --git a/Classes/fr.lproj/ChatConversationView.strings b/Classes/fr.lproj/ChatConversationView.strings deleted file mode 100644 index 474ee39ade8cb57901e5d86a72d65a3655a03f84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7594 zcmd6s>rUH15QXPAPhlZdl`5H*a4V`R6~d*6tALQwe+jn+k`N$Cfj8`<^d;JUv%v{o z7VM4X6j?YVp6u?NIWu#1^Y_n~yq9+pNKxuiksGc+KJzy&C0Ub2=}4RFQks17iO(x? z#C2jUYf_aO->YG9CmTGg@}%A$VbNG$JbZJTr{_FB!g@`X`d0G~&)>0Nd(769;{>lJWybPLKk@Z!nVGtHcE_CQd>cf;KVC%>=e9w= z4Z2PKYcO+fr03!{EgvjT^%GxDx0t)ZoX12lfFsJdXeBy-QcP{X+pPPR5h6CneVZK8 zr)bmx_gv#9tu00kn3+*Lj#_iJ**&q-|Nhz zUTZC?b0x8JR}Lhkn(c942dOCbQN5X#rxw1r?88^BlmT_|H*4yxux41?pj zr}4OgdI{;W9jZh;{w|9N@a%P$K_BR?<(lkQytNtzjMjV-@xiL{t(58FzRo(;^JSD- zi1I4%8u#C2k$2p)F+QE@+`?C_eqH1L6k5S%yvxGZb6;g@Gv22L#+67~^|nRFxB`do zyoS`j*(VHeS@`0Rx4Ns4b;m{pX>HYB@N(X}e2VklW#P(uomth_<9YMV>?LN?o~kt{ zod()vw^b&(bLL*4y6;@I}L4FONE7j!+2qAW$(Kqd?~DSU9*Wd~tYOM~2TByOTzWEjka#t{qRQaEG9= zLfr^a_-zzLyneVWTs`EqX~*GC7|zhnswK}+le)J&lx+(SmxV7oUc(7Q^66ibGlzLl zxJ6fm>`C_6UB$WKvdD&oj-RAFlCnZ|T6Fr>HJw}c)NQJtp2sEardlYBBL0@;EB6lP z3ierx%fgir3w-;??4MNQ=#J{fyjPXgTT2>mM}MBsqB2(Sy>0duGpL{FEG9Zna9Q}q zJ==Lg-W<5cYenFK`vy#~PlsFd5ZfX@4%pu2zoXLMLQ42v<~2kEZ}fK~5eHlrz8rXM zJ1Un?@rviNaK(L?9o6Wg+@Z_0h;M_vRY;|*!S}eoE{oR|<@lLFRIQ);rN`w_8lNNW lH8?GE&70J_My+-`^l;7K9n;g!=zsPvl`ae42&YxM{{TiAk+=W= diff --git a/Classes/fr.lproj/ChatsListView.strings b/Classes/fr.lproj/ChatsListView.strings deleted file mode 100644 index fc08a6c9ce030a947f8e7e2ac1f41d1dc1c0b76e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1922 zcmdUw-A)2A5QWb*PqE>W1XPUC#CV~ChNwscHE;(Ax`rS5S(QihQG5yYYga)wD+`if zOtTZ{oKEMQ&b04uF|8>fM~7;ussY2%9$#FS%IQF!hK#N{%Rh`kWNLMwvtaCw( zbc(Nrr!|g{vHu!)8+K(2pC9EMd^u&tD^7H$tdh)cV$-UC@>e9tGsf>QL~5?A z;^SRP@G-m`Sa^D1^x@DZpT6BK#!j+l-NT5R#c0q*jWRb%lGEMRPC%0|#G;zKeC9Im zZMs}172#wm)Vw6-b&7stJZiyoP+BGI6`fWMs1Sx&RE6(v%KBCc6QF0GqZhrO=wliN@`CnRrSC~YKLn{7s@KFf%=TDI(*sYdsTHt!&o*|QCGfL2 zRB034-6ZPoP^EmRQjt-e!XZ`W(1Q@7uxP5z%bsUCfpZ5DBL zy&x=coa9~l+%5=<)V*W=$Ncqfv#=rjk0*J!KhHk89)iBi$?B+N7@4nfn?+P*fBids E2Nh$+2LJ#7 diff --git a/Classes/fr.lproj/ContactsListView.strings b/Classes/fr.lproj/ContactsListView.strings deleted file mode 100644 index c683eec079072d4dcfb157b14bfc4a0c42afa4c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2276 zcmchZ+fKqj5QgWPr`UK&0>%h8)Voqd3l)qOgTA4U;!CLCY%A!d2pDQM zG|P5&`|r2^O#AVklV!<^ku3?ulSi774Sq{v^cY!Z+!LR6Z6gC|O2E8; zh-YbVugRTov_h4>{`2kp$j*)I6WVrOMD#^E;0kG<-;15$7@YcNA_$sXcihOua2lcJw{vf z;_7UusC`;@3Y}f3tiq*h-Et%6a_G=WizwQxP`%$P?EubcS)w)f!Rma%D+ZMw+O_gN zF{=0C3h2>O@2JyT$(Yv1@w-D=W$URL&((a>^O!B)_VCvs1bv7XtlG9iFfC$Ue|^ul m0dJ0bSOs#2%Kyl;`Kd&*!}mi0Kef4rd{10BRMH|APvsNfhirxb diff --git a/Classes/fr.lproj/CountryListView.strings b/Classes/fr.lproj/CountryListView.strings deleted file mode 100644 index af293dd97f5543141ed8c2e94a4818fccbc79a50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 486 zcmaiwO%K697=-8CU(xg^!NEzyfs&~26cI-np$G|;@aOTYY|Ft%Ht%Npc4jg&_nV`l za&qNsr@2lXS5?N-M1i{O7FzPpQ-y89`@)@KMrwj-!XC4$F}?;c`+SF*S=IoJ4a^8; zphm{-!A+Fc3Qk@gNusU$nhYHl;O5YJ;~RaXKp8|2MuEJI{$Xt}${xQdYHpo<5@XDejzy#2=%7 z^vd^k*!&QoOYfgL%ciNfyv;M(I-;!a{5QdjtTT)qwfJShwv5|(76l*H$s z&#oA;nMAdOCD|+`@%fjL*iTp05|*S@O5*b`BUv}cM74w^@h4O97w_{gBiS&MsFtuK zjnbI-{L4r-%_OQNEQvpvieuvQFC%H0NmNT%k}hj%k5zhkM-}Jlqe!e(<<-@1>HB`x zJ^iib`#M+@qh_vBip0vKTEfQYkP&)h&$K*7&0M_{iIwN8uCP?Qt|z}Op{k?BTB+pz zTT+>o?2K6_{o^#v_ONtq_Pl*|zM?VW4MqA^`O@UBvOJCr$e1TqnU%QB+mY~QH!11Q i^R|TbM2FNvj&kb7-a@GD-9?-Ci!oy@r;MI!6?_2fdN#5E diff --git a/Classes/fr.lproj/DialerView~ipad.strings b/Classes/fr.lproj/DialerView~ipad.strings deleted file mode 100644 index 13406ed6fa84ee910b3267758289127879c56cea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8646 zcmd^^ZBx@g5Xbj*KShR@%mhnQpp4^-Qjw=Zl?qnh^$7$DtNOt0t+p9a*! z_;Y;QrY^3&l0Tykz8&CiOt)0WcO4~bp0i0;_@+UUS_-oulw!{6&CHt?%+jC3Kp zLoXqvwJ3)(E<(=&K9^}}rr8&MJweaUv)y5A0&V)C4n~8%nxlZ{&tr>`vK(9EBMp^} zG^^G>O7CIz30*1+u|0-=&?kwl-Wxp}qgY}+9ikfY@ zq%K~~EK6>{24h@9SVQhlLHL_Ak15f5C}DhtN2Fe(XK_nnd^?RKpkj=KN2DZr7PllT z8EX>Ia)M-8OrmFTOR}0tV*Jl|S3rT7M9<=uWG$1#_}`R79$ob;Zb>ScB*y=yBrD=I z(X+TEF_9^K#~c5flB|kJ^ek>kN||e7{BKIKCMMCdxFs=>DSb_h|4m6MViG-zTaqSn zY8zSl@ro)) zc|^+da4xr=x1nnCiwvq|svuWtaFE^aMR1N8t`Hg&wVU}|}FQN{UUgtg`)yT6K}zIhrQ@yT@MgX zqNFwnDXG@Nt@mct(VNsl@5)CngV(f3U(nNtlG-Gsq>t`>O17wZ^9xzWF%`?B@rPB4@(W)wtTG{2c;NfrUZdCRqDh+uRJYg7sRhYHY%)Da#d90X+ia@$f|s!LW(1bh`oAPDT}OMgrL5)b~j}XyeN@UMUw;yZkwJKB;fMSHt$luqZ6yZ$TDfWOtexD1mQH z&iF3NdLK&5!a~`-W-gUnu7O~aV;eLZFqt3yLHssL43EHYgQaGzE*~TLvMekl1=cH( zp(ScFLu7m};$eC{=9-i5aFs_smE}Ln9v!2%UM-8a%v=`UI1w2QbEVPo*I+JH5;u<7 z1I;jKM`R_7`taaD-4S`%pb)7D%OYt-6!1m)SJ^c~*YrK~)yQ*sY#F}3c5JO|nE^=> z#gnD4UW2?PvwZKdGxB}-`z1G#n}Rg^)u zvMemD-D}3l-$8EBzUd5i{2bXOj_>{Z+jc)Uv2$=Wu#Q|;%WHB_PXR;guSSE*Kv zzozoeD0W{IXEOHL#Xsep1+<7KTX1loV1gZKSy)(Ki+##yuN=y&2!;Y@kLR|6jqb}k zr$3sgub@8#cr6PXuc}woUlZ*25`Alh&n8}!@S@zATa)g{QL)k?IJL{3(_M5V5tgznETrjAelM>gtJL)t(P*Hc zbgn8q^yy$+r|UX?z{eb>fUYiX3(;* z&@@BRYwG*X-Z diff --git a/Classes/fr.lproj/HistoryDetailsView.strings b/Classes/fr.lproj/HistoryDetailsView.strings deleted file mode 100644 index 5f60ea629e49dbea8fa3a3b5ea29c7be26222643..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5220 zcmd6rZEw<06vxkNK1H)PCQFJs!{%a4EFDfzAYbTKM(D{zd3m-`(lYJ*V2#yhb6E1?a3D@OHoELeB_T2MnYnl42z0T%1DfNNmRny~u)bhyeHBYPSo~0S57GNK z$VJ?*uznjXEqK~XZBw-BjH$YHlYF#U3_4)sVTXzj9YdD$v>?x7o>C*`JiTORl|_6a zL*fstVoZ zuFZItnLO7%^>1}Fq{U=0>!r~vDKd6j!%vBs8ceB!sZG}SCQghmItf$0WK-iK|3tM; zvC@JgJs4rZ8P&m!yEGprt>#Es-h~;n&a*ZQyOL@Q2c1MdtOlyy&MKor?6vr*n%jo2 z17;OV1Np(I&!{I)$W1pK;~sM$cT-IRWV;-9;qFP?*{qhV*VR^~f_64tag(!4H+>jG zMkis)5Yx_gGt1NW5;gK^9~=(xstqDX)1Eu(`gIbfXgIuIJVdXt{rd9>OjHE5slo~$ zZ=wF^Buw$iy8cu^fBmjmXVEy@M4Zq`=yJ#WzG{u646uCByJfSa2B}@hRd4Z5$&)$Q58p$sy$fcw8gZv>3wD&QfEE z4)=!K@z)-j{FXmY?L)N<^@Oq7h18xWelKZz&wr1;+GwqP)RO%Y<1FyIhDxRwifa!| zjJYg5PxL&a`9vCrPl;sgMku)!xbnlM%ZLQ+5$;mXHyW|eNVg+YcMz)o0z#W`F|4vB z7iPp#I5E<*^F`{E2noYt{%zt(!$G03GYZeiIV;5T&8kK01ZAnPbd_|<_ZjZPt+YsX z?S?+&n07)9KPe=X}Os<=QIUCyI2dVG6MrPDP27b@2Y7i9KjHTbs`M4KiehcHDG}HK=>CvA|;J62j&KJY` zM0h&q&V-T$^#lGbxAchkofDBW^16%$xpV8_lBQ9iRUFgjTO(pj5og@j2rM2cUCq6B DM!F^V diff --git a/Classes/fr.lproj/ImageView.strings b/Classes/fr.lproj/ImageView.strings deleted file mode 100644 index abd98de6af54ed959213323d627d19a48f313a92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 298 zcma)%y$ZrW5QM+_p5jOuP_eQQ8?^~Y1VOBmXmNT(A-M!!UL8V=je;z4$*2^Tg15-v^xGA?%pY{5&{2JBY5aYkxMT1JJe+8P(vsbnpe>gR~0FP5K ArT_o{ diff --git a/Classes/fr.lproj/PhoneMainView.strings b/Classes/fr.lproj/PhoneMainView.strings deleted file mode 100644 index 8b1378917..000000000 --- a/Classes/fr.lproj/PhoneMainView.strings +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Classes/fr.lproj/RecordingsListView.strings b/Classes/fr.lproj/RecordingsListView.strings deleted file mode 100644 index f30067e9a..000000000 --- a/Classes/fr.lproj/RecordingsListView.strings +++ /dev/null @@ -1,18 +0,0 @@ - -/* Class = "UIButton"; accessibilityLabel = "Select all"; ObjectID = "16S-9G-2cb"; */ -"16S-9G-2cb.accessibilityLabel" = "Tout sélectionner"; - -/* Class = "UIButton"; accessibilityLabel = "Edit"; ObjectID = "CWx-9g-0JG"; */ -"CWx-9g-0JG.accessibilityLabel" = "Éditer"; - -/* Class = "UIButton"; accessibilityLabel = "Delete all"; ObjectID = "CqG-tB-maQ"; */ -"CqG-tB-maQ.accessibilityLabel" = "Tout supprimer"; - -/* Class = "UIButton"; accessibilityLabel = "Back"; ObjectID = "rAc-tI-AVp"; */ -"rAc-tI-AVp.accessibilityLabel" = "Retour"; - -/* Class = "UIButton"; accessibilityLabel = "Delete all"; ObjectID = "zDs-pW-vyA"; */ -"zDs-pW-vyA.accessibilityLabel" = "Tout supprimer"; - -/* Class = "UILabel"; text = "No recording found"; ObjectID = "zXd-Ic-rwm"; */ -"zXd-Ic-rwm.text" = "Aucun enregistrement trouvé"; diff --git a/Classes/fr.lproj/SettingsView.strings b/Classes/fr.lproj/SettingsView.strings deleted file mode 100644 index d9b341fb88b7dd4f56a3a6d627c3bb6ae98206cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 748 zcmbu7&5FW65QOWTrwAT}Rq!f%h^|OL-6hcnP**fj{M$tI4Sg#0%S0nA!6?#94n0*< zRoywCELByOt)>W{MZ$th_dR}ICAsFjv<>hy;iQxk&>G*SRB0C7-;*@^ zlnp-NM}`|+-}wd`f*#X%^_6j&bYgvI3McvQGUYN(E!cU8%2U2dnTmt<%4C~pOE*R( z&!>grqxsx3r_+f@v?tMRhQ3xNrYUnTL3F!yYq9{@a-SCcCk80levS ADgXcg diff --git a/Classes/fr.lproj/ShopView.strings b/Classes/fr.lproj/ShopView.strings deleted file mode 100644 index 9b120c88e80c6ae57d6fc3032b3d0e83dac289d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 482 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 diff --git a/Classes/hu.lproj/AssistantViewScreens.strings b/Classes/hu.lproj/AssistantViewScreens.strings deleted file mode 100644 index 91218eda59435de58c543a640ac8e1fbbd6af4e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35140 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 uiZse{c~7XAwa<~#cI~Gu0VC->Ug}V z$X>usb9_S9dN*9;8M}|{SMkp4aO`!e8(qmKSB>`_cH$z|z?R}W&LguDlJq!B8I-2F z0dc016t=ALyq@s92a}1c>BV76Qh(0!7FwjC<*v`S`Q3G=E#jo8W6W0rR(zF+xO5Q_ zCvhH0IVtL09ov%@=o)0{(48KrjTS=sRk5fCQ`m=K@3P)piNzAky>iklhoM`IlvX5T zmo*QjJLG?c`;4`b<`%J3)|NKmXNwr0GXf$<5fMvq9vSeAP)*da9KlaonJ7Q`9huii z3vQplx4iOzK5bC*1%2>&&UG|bd7MX5eH6els|b%dP*dOGOUg^cd(`(s&N0)&oY!T7 zc=XZSj*vd~{)mAH!=(2GZo$A#uAV-~{Z4LALy(zU&_P!Qlj%p&dVe!3R@1>F$c|9J zj&6AeSbI(faUTCo2b~N| zZFk#X%mx;iGt9l`o_p^8`dQIaZ7NVrvAR0r3iOuOhK|)xRp-jMQYHNIhTpsDb43<8 zQcolHjX+#zpS2z<@!}t<7X59$^MKV8*889v+F78UX{P52b;>Psm5yZZOp$pCU4{8 zrC!5N2>%K1+xke%Zb#0C4^ftn8eBv$9_gzNp9GeflnQlWESax7hNlUf8LlEYNG*Sn zri*IiOa!nq1QQU&6x_KcYhuSA&r%=TRQQAll0Wj#_-y#-!%j+MDKTasx^kMnPecEr zd+O@YOQ8s&^2X1W>&FEVK|+``P5rk%Vy^w;SM4?aX$9`=Z3 zGWSq36I^_5_7v%mRbDc>!A$1-Ii*1k1M+vQ-8NNynYbPKRP`aYILDo~RC|8j6rZ^w zFXI3Y$z%QXox#e0`VLXLd6H=A#Y%mBi2tp=Ei_~1?#OaI;hUKPXZO_Gm)XsF`w+f* TA6ZwsoA@r}NU diff --git a/Classes/hu.lproj/ChatConversationView.strings b/Classes/hu.lproj/ChatConversationView.strings deleted file mode 100644 index 9bd4adb94e7c7c28a207209327ab3f78efae4991..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7502 zcmd6sPg4^?5XIXopCUz-9;jNB03u~sr36qa5Rkv(EkM9P2q7d9^FclN1vqf^WU0TN z%?5TD*d0OwwdE#mdUxl&?s@%Y`1f~6Udo7MBqtRq${9yS-tli(He^9&q$v%K6RC3L zE!T^(%TY3sW!aH3_mzqGA&dOB!!MQY6J|{GQRmKOem&&(U7{Ccwi`9w`F(_u4Do$h zMpM0Ixch`nMxY~abDxfKh@*d~*1%Aey#!QaGHKz`E569`@&`Wm7Y9fLJ|(rwwBkXIH?z2b{=g?H7diz@G{n|GI_)p>VPHf_ue?mOpMQ60x| zjolMZ^wg`WE0C3zsptc$KYVV|SbLjKQRQW%M#bwqYQk1hhNfiP%8*|1%}^e+H8?%G zR*~VG`;WN-Mn$XYQ{hOe$W_^t0R39yoQI((=aIrp$jt~}K7Mu-N0m@nDVs{D$Zy7{ zvvm;Mh-dG&CB78YmGaS^J8Jej!qq=Voi^5xueUIR4MSVz!K93Zwul0lj$-MTm3bis+4-L03$ASG`ToVD0+MYwv$V7;N{U3aDY_681czUmbZaf`Y-+?Hhvtt-Me z_m8=Eki1h@Ww&4&^yj#w00*L{*>t_Xh)dfUmfE4{!-!}U*Sic3p%#0%fmHaIF=;uH2A%M z8hTd*eZ#C2Ch>XEE=sf);EM3g`~CL$T+!~p*Bl=kZHs1cP zj`Xh<8=&9fGhhZSc2^cr1-K%7E8wZEj$D}HdgqF8W!`UfH2C~B>1s7Hd(1j1K#$7Q zdK{@M;;H2~zVeTB`Zi^EAxeWe>MvJ&TaWYi4ZpQslisa!cg1wG13I7m*F;x@Z-&!) F*Z&TmmKp#6 diff --git a/Classes/hu.lproj/ChatsListView.strings b/Classes/hu.lproj/ChatsListView.strings deleted file mode 100644 index f39a8e4db03b03efcfe89b8b3e89bb4a1e2626a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1926 zcmdUwO-=$q5QX2GQxKLUpkjH}C>3)vsp|GGzFR z5o0=Cndz$PuJ^jS>hmL_4aF7Jk!)4uGNL+Q#&o5u4%JtW(U!x?KI;|L7fUJ)PMXKc1gRgJ!S~EQ-^}IUD+&g~+9SFyJ6F(K z-io_`gL4(}OQ@g{a-fE`rZ@<*NV2~l#RO-L6CL6(xEyASsLTzy8iLkVlkeULcT35o zu&+BKE?~9|51YC{TI#?`FeAb&)}0YQV{XJw9wZ_#`CD|VXXcmrM>xHPf@&%xXYv-n@^WW22Djd0DXs|NW4 z9F(Xf32M@=_NJH!vsjghB6Y=7yB5;a7{9jseufk|&t{r#Vmj2~KGP=`%)3eH5_zpW ZUct-=vsjgnV4rD`g{J4(^qXL}`2vd6Ir{(r diff --git a/Classes/hu.lproj/ContactDetailsView.strings b/Classes/hu.lproj/ContactDetailsView.strings deleted file mode 100644 index 62ae0d35333753ef786dc96cb2c32d4faac967d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2962 zcmd6p%TC)s6o&tGp2A{@G<4Cb5LGOiQcA+DG--+0B`Jb{NhCIL+j@lTmyhUih-;{^fQQ=b|%I{RPKT9Tqm6S+Tng0qc6gz_Aa|wMH9VCT(x-edaAXm zZO|FLMKhyg?usd-zKBpYLo51uefY7LZ3mATvprqa7w6`Ne!;>zwLYqXk*9qTp)A~? zyX|WBYZ6i06Ne|eEw_6=W+jV_GR`+TV;J0VMHNiDzpAGZp=^X!_)B}DPOm=#e@!LM zd-Ue_DHePYp)5St6N~M8SM(;^@d{4)0bQ$?!t9G!bl=Ouw21F{n@;x;q-84Kxc{?s m#rq;|0U;PJaKGPWh diff --git a/Classes/hu.lproj/ContactsListView.strings b/Classes/hu.lproj/ContactsListView.strings deleted file mode 100644 index f4f3ce6a08ba9e896d104561d08b8e893d58cb27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2236 zcmchZK~LL25QQJt{0fU>qy!-dJybme0uoiAq*1HFEjS4Tn^1zOQvcB2d*sklr5>T* ztdl^DfmnfPBx8!3T z=h@S-dc^hc_^CQ`$IOJ26{_^@$#?OQi;dhHx-KrldoWt}6R~GJ`>eIA+GLIO(R`6S z3-s4jo+*dr$qK(*uCdG6V;?vA;ofvY&K`5IE|&&sEZP1F*xTVzXV-mw*Qvv!Gbb{Y z6f%|E$UM$x8l8@U1tU~d8%r}LVct^=*+}8AksF8o6esL_V(d3eYtvqFe|vT`UF{?l zV0C7-^Zd>$cpRxjjlQEjBz~B}BFkgG`U&8$)oG}ITsL6TSpYWMoP(*%^LW%i!v~32 zpJ`Xs0GA|UtR7h&dGTnnzUfv#Yw8g>6lUSay+S5gnf?ulA1m%Yyi0T6Qm3S8X=KC7e$R*^mUCdTrd+_N1oP73EVlNSA rG0mqekGy=E{ys(2)nI{@l^>NzJNy@vU`>}cd##_jvBi+?n&Z z8!E|`sfPAi>da@V#?vlf7MK?73B5Y2p&`rx|06BltRWg( zm@dq=ni;zfH&8)qI0f}pR_D#Iab-|{LliR?R;D!5E%P7gr~@}1x*_LLCsIWq*3?1r zf`R(4+>S0FgGA|-e2IG(&3HmSd3@gUL4>&(rBiX3nycNP^czxd$=yXM-Yc4ar2mE} SCffg;WG(=RtY}y2b{+v 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 diff --git a/Classes/hu.lproj/HistoryListView.strings b/Classes/hu.lproj/HistoryListView.strings deleted file mode 100644 index a9357ec6ea9d35b84f1439986cd2cc87c0c0ae37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1862 zcmdUwPfG$(6vdBQKgHlu(1KKmXi-@tsUgy)U5#4iWTj)IAGCc-7j0Wszxzg%29rb- z;xTXD-}}xz@7#C4K9kx~TAq#+=t_Nxr+vPZE>zN?1_~(;>N2v&_?3K0)2(dlT5a~V zSus?Zxoc*Esf7dD*7M!|(CrP~2`#rTWOZ+1_nf_V^nGlVRGiw#P3F_!Ow!IN`zH*k zsfAaEb>uL6_%YVAJLv|@9&;l-C3>nQ>~!-nNm(B!6+AbVn`*4cOg_d;eraZ^ptuJ` zi~G5O)dqjN?Kn$Kb$&3lewL2GVycQX_nS5fF$M}tGf?ODO@ke3Q$mP3`WsL|k@EsR zivWu$i<8B^?kIlWHnLhQg!;hu!1=rh?Jw{3wzhSqj4HfF8C9wM*qzT?@xNH9Pqbh! z-`}**)h%3Ph}Ki;vTE9mu`+MPYOHjKM|&XyG_#CiW?3Q9w<-R`c^YMzDqdKIh+@Fw zlrH@tqXV?*;iQjmCLx%mx&t?%9)=hj3wg}&KKJ)} z8jTdoYOYe5JY_ZIMcOLWOtmWNqBENb`%DG34@jq64xR&X(~?`xrR)_}Obyclgojmk ztgqS{#t~G3LJIEVz0ppI20H1=-{3y({A2PO`d^6QU+JRW<&L)vnY~&)NPZwoMdyQ? F(HpwaF#!Mo diff --git a/Classes/hu.lproj/PhoneMainView.strings b/Classes/hu.lproj/PhoneMainView.strings deleted file mode 100644 index 8b1378917..000000000 --- a/Classes/hu.lproj/PhoneMainView.strings +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Classes/hu.lproj/SettingsView.strings b/Classes/hu.lproj/SettingsView.strings deleted file mode 100644 index c75a386ac1d8ebf2664de2fbfb4a29e3109d4fce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 750 zcmbu7&1%9>5QWb=PjPW6RKaa=(O8jy+C{W`e@cu7e=thx+q&$cuh90piC&?^s>qOg zVeUC|=FH^h+f!9#88wt>pfzDs=PRkNK)yCgiG}859?1_hBHl7&tf69fF^CVfc^mSQ zxC&1i69&BHrx`ar)Oi6r1wA4k=-F`^WHx$G1jn9Rr(C8}4|Wlva#dd?r_$9Ym92h6 z=SCCMcEp}KW6m|V_3IJ;&FADfpH51}cN`sO7^D8 z(R&f1f?lqA^5>J;vx!7syjnjC&8~8E-^TrH54n=jxgAGLWQxOW=C)6Vtv^1C5V!95 Ml?mGadFOWd3o8(KS^xk5 diff --git a/Classes/hu.lproj/ShopView.strings b/Classes/hu.lproj/ShopView.strings deleted file mode 100644 index 01a0bc2e9056dc189b919995acaad51c4659ab87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 486 zcma)&PYVH26vfYaKE-6Iu#{xsUzrlhpM{+n;vtGh__mh51b#EaC<&eBz3IMl?>Xn* zu8wj_%T-lNjkE=>N_;8x<*A~bELdwrrAU3G08ApLkuO7^fpJumH=mbfGNG(7aN&pj zHtMyHIc>Oe*a3AqCr0)!U#Uc;rHl5F{uJk~W;i^7 zGjqnATkcTR0pIrX${c&NBs$>zxx=m+YOC`jvmvD=Z2|3!@~E4)%%2!pdSbO#u0iDe LtPNWWQ^XnW7d%cd diff --git a/Classes/hu.lproj/SideMenuView.strings b/Classes/hu.lproj/SideMenuView.strings deleted file mode 100644 index 4d32deddce67ccd72aa8458e0d6a0af7fbb0b25a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 494 zcmbu5%L;;E5QWd$rx2GyM$saOpxZ_bS{ZG-QJGj|MX&3NRG)cS83ZBD?VmX_=e(YV znzChTtVl~Ge5U&RmIAq&Qd?=uo24GrEAazc_JlfVuUL*YL|YA*Kj=&z;bWpb^_Uk2 zf6=bMnSmNoU4!LnQsK?j)ldzpKDGnKyqK`L(;%+vaH_kk3Mu6Bn4JlmkN7+Jn(Vg= z4R-ybi^s-H7ZYxoF1dQ&ST9f`fNxtP>`g85e4=Ds*HOpX|1eEIOig)83k@2hjg6LMwZm$_9E3+rYoT!#Bt`_bI;5f zA9tgwJUQxWr@0ayM=f4gQw=l%TPWbnRTK0?ej(-@U$NHOQ}@V%4{OYwh-wLQz)8-Y zflpOYT^-_CHR?>)V+uoF#;`?Kw@@0=E!B+emK-o6zV9 DdUH(V diff --git a/Classes/it.lproj/AboutView.strings b/Classes/it.lproj/AboutView.strings deleted file mode 100644 index abf6ed6ef2fa9878919e126b1f3de2f03358cd4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3986 zcmd6q-*VDG6vodrPm$rWGoe!L2s&OsX)B6FZK<~74Me1=6tDyk-^iC#e`ga4DO*E< zVVF#o-Obsv=ljl|UH<+_$*$~(BL~u!y7YM*dBvNSnv|u&Ttk|COUp}U1NuK{Co)&` z1L?8q1$uU6WS$K2zI2$sk}khZ$?$tCtw>81o!88ItSw9FPFt20O>yOye53W`1M9SYI?bkQ4NosN2p)MEj!XJ-1?-;QMC7}SO&ri!fA zxKQ7RHY_%9A?gq+@QH*^wp^lzWLry$e$KF zzGa8chSO7GDL=>Qyo8O@ZNj^%?+Wl-#d~K7?D_aOfW184aOJtF`tgXgN!Zvcqv?n} zKgv5PP{YdfPiWUsX_vVrIP7n~y<8K~HPDubnJ{ju_aeq7VZ*$PU8{O_dP`Wx?WIE| zs^>lY=8}mGay;&Tn}m&vsa>18y*&Pm@~K^un{IeUC!NmS=ydj3r&YN~Rf_Xtld$nK ze>y*8O;Utx{?;}mQ*z)RkyCnWJ0!E?EZ8Kr^VYU}m3KCFrVZr>=b%e9F4LBXxq~^r q=Ot`Ww>@Z+qB<#?7d_EN+y;8E=F4l^F8^QO+~dwBVdL)qC)z&`b6cDM diff --git a/Classes/it.lproj/AssistantLinkView.strings b/Classes/it.lproj/AssistantLinkView.strings deleted file mode 100644 index 5f362da297090200864b106ec81471d0d345e50a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6826 zcmeI1UvnZw6vgjzKE+gCtXc(i-PKjg2ST!LG=Uh%uKEVyPlyDvBw>?$c=dO>=^bDi zCX=ctWm!`LL(lE*+o#VxeY^SV&n^4ho>^j58(Pb*xDxw;d)rQI-wr5iTbFm+_C2L7 zJLT#+y8&+oycyWF-OX8s`W0t8wi_E^kx-}0_l;e;cGS~=`%8jn?vm#T-$VNZk1zN= zp80*x?=g0=>hL*qHXfreZh5)IRRm@Aev1!b^ao&3v!D6>o7I_@W1cF^Sk?WiS@Vg| z3x1>ssmBAZJ^K+46338){!b{6`BZe|{}#Vq!jyBE^`(8oX9r}TFYzm8@jt(ObjGk* zjLw)v*+rRn{&f7>L2s_P6s6vyA`Gh%_g$EwI0)J|AJ+-2kL%Sg{CVm0s>kPhBDTN8 zr6#Sik9rL(h5R+LX0>*QP{3$v%K)$-c5b>{SMbtVPjS*wnTA9jr-UPzx0Fq%6qi zLwB(1#_3984Ljscz)0ED*{pQxB5(lnq(MH{NMPjHaj}e5lV@L|yhKszwaT}xtmV?N z*XJlB`n!OKp2zZMLaROQ)43i#bG6i#@gFfZ&&sE^rsmb&t@Y}H6Evi6?zv#g;kcR>vi(TekG$+RzKuZk@EYJ zKEy2Yb+XEsg~R-e%Ddoan!U@vJX|(KO^?|J-GkFLv0oy`m=fWOF%z@+uc+yfi<6*B zK7yrR%2pC~p;FWkn||Lpp)|yd;#0fL4&U>dmeyOPmg^ZDL;N9gqPSnqf2B!17x&7) zR>i#ZLfYQKGHCQV&CtGEdh-zVc}O&5bH*Zhb%hzw9QgUu34qjNJ;rYtaSg`rG1Jw3J}WSoZ})uxq_ zy`k>i5?(QjqIgMT=hwin{$;%`rnXsr#rFZ(6OwHHzj~JzLtv3pF^hj#@)yS&FDl-2&Ux4c|rRgP9fgHLAJiWvtm8d-$6}2cUBt8R$Vu*w{p| z*N3*l^Knk>OwkbicX3W$SE5D-wk)zEW)a)v`aacT9S?R{;dKJA=g#9_JJ0H_<-BOg v8)pUnHfX&;>lH?t_y58@d5KQXo9yJ2n;o-9UL0Y}A~wSLo~1Y%ooDsm?_DMT diff --git a/Classes/it.lproj/AssistantView.strings b/Classes/it.lproj/AssistantView.strings deleted file mode 100644 index 9bb7995697da88164ac041a82ffe82fc29d0f06d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 728 zcmchVPY=OB5XIlQpF(<+l!&7^_*2qEI4B3VqLCsbRKl0XuS<)hh>L7?ve|k2=DnG{ zoGq1AR6#AR6==^YsLr-ElBXVbQ-$Pg)wqp0ABicZp&`p-`)a69yx|7CT7sQ{_0-Pr z6}jrlQB?~Q4^+9mD5AsSoQEi7b?uDlxw302yN1bv<&&eP4zR`AYICm~pmK)R#CwG9 z2)7Z4)06wuZ<|a&KGg31`khl>9dHiJePTspm|vadAxf}+SM%tCZ)O&wDp3^SY5RvR mG>yvDmkxxQ^Q#bXF-CqHky=`v* diff --git a/Classes/it.lproj/AssistantViewScreens.strings b/Classes/it.lproj/AssistantViewScreens.strings deleted file mode 100644 index 74c092e77ae55c60145c02bca676dd7980fb5df3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36148 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 YFx(rn_G8){xlszCVY6^WV-cJG2FMq7^8f$< diff --git a/Classes/it.lproj/CallView.strings b/Classes/it.lproj/CallView.strings deleted file mode 100644 index 861ab09b2f49e14a7c770b4160bc3da88bdc0c3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19194 zcmdU%+fp0L6^8rTPeJXgWLM1&U>k5!xsYLV#$aT?>^sC!mcbYy+wky7zQ2bCW@gE) zMvUYXWl2a2&HC5*(BuF9=Y{)+``t~rdH2~JxGp~v?%(|T&F#1q_ty2?H9ue61@HWe z_Yd45KgXW3?OLwQ-?gE*aqE26;*-z!-_Ug5{bz^njQ0-t{G89Pc+S6T6Z%iQbI9MX zxP|+_n{qR5@{ZPvR*mOL?v;8 zJ!V*BhsP`T(KRcQs8Xa#BIhE8^ugA1?OmhCA6~<`@2sNdGh{k}Rey=EC+Yje#Bx6Pycxjm5XVu&X3z<;`z?o~ufuiPpTAahIZ z1CQs}`a%hdMPXqnUNNST;Ud*+6x9hj%7|7i9;MU03aTnas_o@m)QdExzZv%$Ez1^# zbf1{eC?T~dQjz9d)Qj{jcG$y16!8`J&muaWfm$(k5$v+u9Wq+c3oVLNx{yyCk;-5KoJqOkBbxmKHN zcloXZ{;B3tf1{d9uiL)<3*4&zID+moKYE?l*w=9W#UoOGknleK^2 zTl3yaSB}Z1<)!kcw}>C0DR*HFTe zjakRMo5K?_yk3ur^3x@6uqaafK5#P%$Zep=88-1y|3sO$#@ysTfeuaPzPBQ zPm#*F=Zd>%8L_Hone3qX3kU-YtD7fa|Z4`B4sf`S`?|si`>+!^U%%oL%c#h z`~ubvn3WU0VeLi47DX!JoQryqejs8g*K~>N%7ue=IjbPw0Q;iPjp`{EOA@dsQYDac z7kF#KrRt&ypC83(u^*BKV$zEBeQ7&~HR7A*I@{h3-Xq6+0x`ihFyFXY6jrbI^qs?S z*Uixse)xK+LyQR1vS1k& zg=HDznve`(RXrYF=tp5mPHh=m>Tg?&K_(aF-_u*sr?@2atGM`mp#|k_KkZ}6VB@HIb17MtKpl% zxs&o7IetcBi%9hzT`dx;GPL%cpQ3$Q6qbFKuRZ7td$@=rTRlYUu?}Sm8~F;tS>K_2 zq>~NX+z^>9igcTN%uP(2!yzAhlBEh|8|)|kjKn09jdH%WC{nSHXOb0mi2Y*GHnB*P zOLe5$(Y)jLqJ3Kwsn~Na>ecsCYxX9a2z96}pJk_bF4rU$MXCgzzh)oKI~wFJWiOpq zi*Ik5#6ZpPKl|OqI&m;eheLF*C{ktAxXV=9?Bp5iDZR{aav5yy*Cbx3GCT4a{E7*1 zn1ejXqe_t~kEhK2%5~W&>zXFEq`vRc&%>p=^2EcUNR`U?>lzD1F=kp6R!uNyT{E0b z$8x|2a=q%&J>Q$nko!NCa)3pVs<%<(fRMZTWxE})=^WNP@g<{vZBcs{HD^(zBF(v| zH`_hl3ia=~yuNTTL9-=;@^U-O9;Z ziy{^AC{9<$PTRE5rQ+HGQBARax#H6nMJm$4PTQ2L(DEGS>F3B=#4XJ!xJiy{^87PGNqVxlIay4Nh9lhuuX@N+gt;MW&jCaiy~b<5B%udaeh~3ICGqzy&Z)Yh52;9_;G^NmXXE{c~PFTLAEHy z4~rsI8l$+|D8)xkiC}NQ+oZ=8_FFP!5w%5;ih6wUB9`D7DcKg8jqsWIHSSTotFDWgEp0a7isMHKHw!b5~gBd zVrx;PN+ai@-s&Ok48bS#uJhR~zu##Q70TNUiy{^G)6NhKH{;kQ(&>K?i1obZoHo%J z zNg{T~;RUv^5B9E~f5<1wCoe3DR0)jYj>AFs`j_NCRY46bQC)=YurB69iy{?qk(+ws zUzh>sDEh_wOFU7yztSlS_au3$jJryaihCU0V=U8s#irFUpZhxSEy&C9&Z0;~K8j42 zwxd=bubI%SzuR;N-!5+-Es9j!zrv1s@RKdqNJD#Sd3{DTxK)vfMUg6#@yxvK|Lvgv zF02Q7#e!)+PnjYfmUm$mMXD@puIi15v90F~exd328g+@bysz<%Vl1>MQjw2h>zQ(& c{Viuzbh1h3T(s-`L_JnSZBeA6w(hh4AAWvp;{X5v diff --git a/Classes/it.lproj/CallView~ipad.strings b/Classes/it.lproj/CallView~ipad.strings deleted file mode 100644 index 6c4696aa42ba7a87434b6c74d70a5a40dd9e74c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19194 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 VZ%VrZpQu~&s4a?A)Yg6W{|80uZYKZ$ diff --git a/Classes/it.lproj/ChatConversationCreateView.strings b/Classes/it.lproj/ChatConversationCreateView.strings deleted file mode 100644 index 088942672742b47c33efff62135efef67dea189c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1440 zcmd6n!A`7!QIWX+RAcy_eEzu@)^=gAcEM-B!R-l-i4#Y_r{+ zot^pi-~D*Ew6C^o^%Tj~9J6&yYw22!x_VZM%@i|o#JDRD^NnYyu|n2`cq}wzZp=)y zj4)&-)}!vsdY^I6^imTgHG2gnLdv?N*x`aGQ~o`oIyzlOJ0$W*9R+&f>*!pAVnv%8 zEc#U*dpl*^TJF*>@=3^aJ>QH%$Vj=SjEaT*MDd1|zFz-8(A5Ogxek2e2HKSXFt{W##G?3(-hy=&W+gY3;(MnZml}bnlDWw$TXCN(zSs%Ia_qb2OCm z`%+GoM_n2Y6ei}RQ?xuYJN%}MX4Ri?BeL7po0- m*_=rJwq*URt*ZE6>PdJ7J=jdljq-VUrW=GdJ?avwR?jCv`sYgk diff --git a/Classes/it.lproj/ChatConversationImdnView.strings b/Classes/it.lproj/ChatConversationImdnView.strings deleted file mode 100644 index f76e02d85651b5207f65d90f5aef79badb700f83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1838 zcmd6oTTjA35QXQNU(xVLQWVq|jSq5(mf#JL#7ByV+)XK{e_s7|yKMyvLWl|3^tL;* zbLPyM?bl~Y4kRO%6lEwanKCRn=Ss_iI8u75+nK@&=C2dAWTlU129)3M6KBUT; z%gQj?p`fh?#`BidKI?6)9Vtat6?v4p*u?5^e`Z`6j||vSyeC;?H$sw*qBvym1kw)C zJ@Qf6q!{b6cVtAAErp zUXm=f<>f+RJQfTE^=n6{gX(X>Rs-L6GF#-zH?yIts_g7BXTj(zDw@G@R*yhmtJr8t zUUKk|$H!(57tg>WWFyHU3!VT~tb`E32npY0RiyFpMbp*ooxx4htAz9zk zTQ=97l$UZ(ve;G$H?XR(?52Wcc0&Hc`j?2HPK-HEk5j{N))<9zqPU2I?l} zB+6Eueil5dlWq#OF3*<6vwwQ%gRG1aj_FsMPH;iJ*b7M(`>BTBu<*T74YMMZ`U_sZAqLe z2wAmL@2uy{nKLu{>t{>Pv@cIxO*PUTm#269?deQ?b#$+kYp#ShZ+Sn`m@BfDv91)e zFUI1#2CQANGA+N*vDRPnoyV+xVSS8sUx%gDb3N#VeBJW&*&XUS-?0z27QbB<2OA;T zE4}oI;2NY6-j~Eta$otvvIG* zju>&{sdUk{N{+yhkQooXC)|^q8KZZjXM@sUT=0GqcK$`(^mI-Y`T7JxABB9>QB5N* zi>4acrf!}V{TUfC$~dJ0LY`T*&247VH7e%dM{X+`7tX^sx2QC8bxGxf0lkdq`#7*0^w4H07e0E}oqMri+eCwAqXAD<78QVo)a9JGSC-YY6{ZD`E&JT6$yU*+cOx%#!2|73DhCnZCnRQwG spP3EO@{$b1=q6_Jj;zw}@^~K0v@5>VOuH;xnJ)aB6Kmx^w*FiC4cf%E@Bjb+ diff --git a/Classes/it.lproj/ChatConversationView.strings b/Classes/it.lproj/ChatConversationView.strings deleted file mode 100644 index 18a8454dc6752e74456e4723e180cf324c486d2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7650 zcmd6s?N1s(5XR@Te+4n=7n7qE-)fpBReY&Y(P+`yZwI~<1w;jF`QzLE=8gq#UAbE< zXf6WY4ZAbX%s%t%^7qe_yq6itNm1$&${kluKJzy%W!aKd=}4RFTAJMX#QjjJTxXGG zO)663do?V6%MQ;fJgN6bSdFZ&df(jR=_SvrSZ~Q%-)gz{d6|ep&qX#X3s!7;XO!sfi7w0(*B}f2`6@3pREMsr4%MHQttFYWvZZ%?v!yF8uE`v8H@HH%;8U|V|M(-XGn2-wj8x}J ztI-2Fk^oLSm!Zd-^mvcu7PWgF}0&8=6Bp_QWyE?8Xo%=Y&cKUA$lf2 z)pTHtWIebn@?aWwnn6#P#fR9RJDw^R3_MbvRQ+)M$fxmgX12_4TsPB3|Xg`v`+Ml!IOOE(_o2M^USG-TN@(K%2z2QCZqa7R@!N#jg)Vdb%%3+E3)J&a9OxGKzTSAOs}t1&lhsB>n`PIGN7R1>RLbNqpeH=Q z3&|>QS@@!2{CX|T=wB_z9z%fc58ewSibVw;grEXb#Ym^RziunRl9YV)$F7mdt~?^R<&vRYVxNHEm$!GgLc$8 z7uc7Y6B={M;Ii<|y>_ktbILI8y6EDkqH)FR4%K0wAh+lxw#E4C!j5|UyDa_Pqznef zya%kVo&Mg$)P>8!w=Ul1F3S~Jk`G-Lt|}O9mo@opcj$pF^4ws*6~JgU>OUE=%i?Wj zJ9(;Lc>TFf;EF3taEu z%v4YenHkI-`Pd!c2xgh5qJ*5%Yt zi+QZBwh|0%5qa`QRm}RVVKF-zkk53Ptmt)8ksIb;*7drza0b&p1U7ZW>}ddxc`eu? z)~$t~Q87F8%+B1<-;n(Y!u^VL67{<1q_nl8W4Kgw#N6PdCh6EBR;5#;qCOh_YxR7e z(=8{w3!xr_%{+kkyoziQ|CLiYRMKeD;UeuA1`p6^@ny-eySv&;FtJ6f%A|^NjIO&p z9Ta4!|L!-YNnbvXxmCZ)xeE&<_bxR{F!HuPy6! z-ilD366puZWnvd!2KGcT9wpR( z6y{y_zrH3GSt(-U4DH9dqQxkrPae1#b2k3A2xTKY%m1}1TGaecFp%ho{#du#%JJZ{ z2<2f}RTQ0pVYRPMl`>VYW@A4=tq(cOK8w}Xz9K}cIMs(#yAR+zBlBZ>N6Tlt&%%fE ge?8U9-AGduK8AsF&Z$^mEGvKJy3Zn1z>% diff --git a/Classes/it.lproj/ContactsListView.strings b/Classes/it.lproj/ContactsListView.strings deleted file mode 100644 index 645a03695e6ecb0778ee2507bbea85e694e0aef4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2244 zcmchZUr)j?6vfXopJL&W1dS2!!T5k62?h`~8ue`(f1Hrb%xRDhub$g(EE`j{Af(yW zt+(y%ulL;U`>TXQRA8WmIZV8<7&zlq#vQsi$2$TR4=%r)^1BI}Wvnb6Sa8_Sp~WY9 zY_r%hUyaaYUEXZfKTv%GHN!;p3ux_!<6g1v3*T*y)kS+XMlEcw(9aUl5A|*?*BDk!4X-Ns(Vm@{x>Sa(5yn?SspOQg5(FjDs0L$!QY1Pg>weHrIYSIu z$@w5BjgB07`do{}dw!1Fol0%x!&t2*pSt>ts3CdT^s~w}1l*HkL}ghNji?r>xSS(N hNT0rWqHEt&0(AI)P-XN?c%Sos;UPsO%i{m3`~VV{WdZ;I diff --git a/Classes/it.lproj/CountryListView.strings b/Classes/it.lproj/CountryListView.strings deleted file mode 100644 index 95a6145e21c33d37a94df17b29104e278a7f1f28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 496 zcmaiw%ZkE46hv#CuLxNR(S<7!7e=#)kBRs|oSjC|s3J=Dyq zVrFbnCMYAd3w0lDCSPkbzWS=FV-+Q+9O_pc<$}U1CgmKT%#ZoIAu$xL2GpU%=Ao09W2Ql>I8O^Op1?`EK)jtp0df)2uLf@&MM!z-axp;Zd%aR%>O?946vXr;Mtgd#PlS_E62oWm8kQZm^_&XN>uK-lEg}xm18*y0hJdR znMg@oCVv>6pZ!=T9_o{LJuyCQ7N-^o=NuEVx>rq@+>=)qRqQ7-Y-NbWwKi0xDC3)v z*b2@g39VCEbg=Tw$+yYsTvj1tnObeG)JM4Eh|QOZ{L43&{HESWZyo;-R_z0523XoB#j- diff --git a/Classes/it.lproj/DialerView~ipad.strings b/Classes/it.lproj/DialerView~ipad.strings deleted file mode 100644 index 2101c5f8a8688d0a365c9749b736ae062ab4c1ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8618 zcmds+-%}bf5XbkKzv9M6XRbvK6{ph&q*hTXR;#6b6GVH;4~yDX|M<4wO-PZu#AC5J z9p{De4T|ruP)%TaQlA{svEv zse`Ml*!wYyJ#?SA*F)8($JuEegx9!+V3m7KH2#gt zFG{pFmN1^dEmGgmTCzs`aU{lrT_h0|6C~UsCDB^^k}PM8NkmI2k|i;T*5a3BC6mPX zpYg7UA~A{9;+JGKlf?MnghU=gwHCi5l}r-je-n~r@t9~Weo0JZa?g0G5$9psfbCm7QZA1$f?K3(GS;6Q7S)ji!`h3K~I-X z$JG<(a@OjX&tyZ_NR?Chl3S!?T8m$jEsWC@s=X>F1}BC!?kssgEeZ<+{2Yko~$&OTwZI`Fk@oq?BnBqtWBR?(WXd0Xq7_x zf+!f$K4xY&F}^kl>1gX-_?@?AHo8blbcA(xNFTA{4>5NK_&@2%X$dK59xE=B$z7yn z`c4;$bcB0F?K@19+9af;c~qJv*0@M3$c(pOyu(ZkF|NCaC)1=h2`OnF^;=d=y+JMP zR)yF*;xR4KPufe6+9af;dDPsq)pwhSL~9_e(hBbT7~6J&*Crw5eTw?;ekBu-%ddHT{6^>bYmROB!2v8$N2Urw}VWWv_@J&YK@nC!Z5D|U&blK0qO`o*XkgG@Y;)4C44@jS0?W4 zbcp$PuKbR(^Q}5vn)W-Jgw*eNWyWVnyjlvNafqG{Q@!+?x3YF?TBtlZFZGeBL#!eX z5s{}YVUv(rB9GmitR2J_qRbW;KhOs59q^i+A5)RoB&4Ky>@d!@;%_6nv_N_UR;I3| zb{uUIQr>)b1I%u=E4#MA%2j6rD@Y#WCT%9X*(M=n&f~OY-pF}_dWUbb3$IploVu1Y7$C|S3y4Vo|KBL%8pd!R@zdQh_jj;^ZN(>4dsYe z)!9dK$iFq-ZMl;#{CDVV`}b+_y(xA6x!|mOhYhU0^X-VMR%Q9#>ucGU6AAD%%dy0L zw|iGi5$Ocymc?|gh$ip7tjnc~r6AY%uM(RcHL?j_Pi3U&u4r?8y%(2HF3NamgZa$m zuntPiWrJ6Z++}4(a}h`f>wv11WubRPKQn_CzM0u}HMz!z)+{8x>Vp^~Vh{f?PjzzE zBU=rYzXr`yG+=pVbBZF7MV%yGPea-1DVgM>YB74&2uu zFOa(?cE`N6-y)ZZRwmvnauUdAt_{f1H*(kY*{}Mb#kA{Zji`@s6|dcu81Z?8{{ofJ z>b8kbKOe@|>BSd0Z^PzenaI~WU7y-ft9Z||wzI0b z34*V@_PF0Rob~j2og;%)Fx+6N^}CX{y({9%Sr!%&%Wqai{vJ=w%L>dCP)FtQ_j15Y zNOr7c@zQw8!k8xuqvfel%9x|JV)I8Kh-T)ytHWu4!$bxToBxjKML=QtkF{pA7NgBI3mx3x)u=u~qQ9>jR* zJPeCFKR1`jOA&OpGQ+V3Vx2Fl2V+LFEG&$}bF+`?+JlE{Ot-G)dz!UZm^l^Doy$DO zcYNNaFj^MA{aYj=?KVBC0v$~yp95#Cbo#ntJXq4J@z_-_WTwWt`!NREqH258Ziy)! zpdVC!CA-wJu)9<{Mm zqQiH|OB2ncyQDQ{VzL7)3*Sy3hhDUHWd+u%{aovur(LQmHhF#(a2_$Gk~l33tNxZ> zU*3wRc>KJ=kBP6q*aF48W8wzfw3otSSy))s$=7I@IE^ShQyX5pm=@MYAUt%F^~^nu zNLI_Tun?v@&r%Wjo~ZfmU-B!a7L0NV+Bt9r%+(H+O`{#Ou+T0$l{UO$8U+tky!LOp z^Sc5472O=5OO{~jWDYC~Ummg*miozB!K27Xw>o(=^bH-*ArB!sB%r4A1FURW_+}&7 zEyH9Xz4}}5YeS~l^=U6Qc;2pi=PJMGGw9P^Wgp{e3tO@mEDLKrh{yoD_f`ndo4yW&w)-k0(HW?Y9|&ptIiag#1YkJM6?wk)hJ_nC3O E0pYklXaE2J diff --git a/Classes/it.lproj/HistoryDetailsView.strings b/Classes/it.lproj/HistoryDetailsView.strings deleted file mode 100644 index a4eefd0bd9e1a01ec113815a5b900c509dfc77df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5246 zcmds*T~pdn5Qg`fUy3IRb|- z+fK%S$>yBhci(+?$?snoc_!Q9NkOipDmNUSyy0(4zDP;(aw`Llo^-kLn(I}mb2N=* zC^ZRrF2v$aK60R@<(8&5KPKaicdcG()OP{O+g zUNl*`kFV-!hGSY}CF!tBi)X%?Cw~mRaEY&Aa2XhH2L_w(eAoZ`!_^*(c~@QzE#j#4 zifi0C8Sm$TK!kmLznD*eqPRv%VQ1&Q#n5m8BkR>A?*T_UN<`O><2+HC;hV^4=(D zg=c-Zb}2yu3!B9b${cm#anB66qJ2_(N7|cv!=tXz^!et%ql}w*g6~266uD(mCgw5jb z%=c<%4O`rke6U&A`0&5Z8V%l>s7f5c8ed+}9h2`DY!S%J(MO%YDDzXn{JjD=EZqJ_T#JX+dI8llsv*Hjy-l~ zXLn}4`DXV0t%QA4V9>+_1I+jt9CMU$gAPtHN5U_{l#(OL2eAA`PBX+1ASfIew!Eu@*6NO0wqK#2CC+Qu+scRX>V|e^ zE2b9)cU&3TNaNC6Bll3zhR$Y*_I8I&k5+{Ch#q~mulSXN?GdVb2-SaxkdKAIv&+-$ zS8zFV8A`I4HnF1N#oQPWSb*3_mb58&rklA`=? z($y=fZo?o0T`74leTWo)EQKqj--*sVCT>3VIv|{*rMC`~hXJcBPQ9t5p z@lAc`-k4~#*`We7$eUXalXV(()Q#s^%+~oaz!Uw{yJaZ6rzjl@DozgKqAmrgAc%8XIz)>VYg_c;)i0&i#X&9!x%ZyGyq-oA zMGCZ1A*+fCwBUr=E7nrAZd9o=lR0y%jLJKtQz{3~fw*hKE@e{;3JG0Hw+2zcs(aQ~ zZ42WFDnlU#_wnB8ps7YW>B8OOKI{D>@*3X15aYkng@a2%qEZbk|9_vVA4qH5Qg7#ens#YsDjtxA!?C@+6d80Z+?+RrP`VV`{%1qHX4fr(^7`)!t6UA z&rFWrj#~2Ms;7;n+GDOdd<{)x)K#hk+v*+9BmSx8*wQLv%@h+CqxjM@Z!=ytWd>gh z%tfEaCpI=Y=LyiRP|xuj^~;zZo>UKth{?~atnAULLv)p*`K!JfWfh;y5q+m*&+nf- z7Q8vFgWa3XmAIHq0?z@S%LGF`X^a`YXrQo$Jk*DVFu$qI88f-vIpRWIrD#&GsCuO{ zGghr=>&$ne4WCJM-R~xttx< zsTSG;S1nFOGYu8!APaWNs5GfBlz>&vG>T==85k#xc#C;S%MNWVfeZhpx4G8d z`$TXzuoLP-bxTc8Q*BkH8gS1Q(yy58v8luVCx-vmUX^l6TWer&m*wBr9Sgs=nGX1t z&eL(Rp~cUU%^wL)G*G1R561?N7OxGms;W-1=FRaZhL5J0_H-4JO`nN#5{>d6j;>%S BNuvM& diff --git a/Classes/it.lproj/SideMenuView.strings b/Classes/it.lproj/SideMenuView.strings deleted file mode 100644 index f3ede42225a7ee91a50d7687baaf5d672aae78fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 490 zcmbu5$qK?i5Jc-dUoqquFrs)6L~y&r1wl}}y5T}hBr5pz>KoKKMGz#Ur>Ca7x~m>{ zqq0I-b(LtLGoMwHKhRXMhG0u=cnj13y^!CCpPGX*?UX9gnrx#M{d=9bC!8tS4m{;0 z;>@*u^Ne9VfUe+*)$@Ea)zwxBbU>`ZF?)A}>}kl0Dk8sE;F*qWp3|Q(IVU=0`ycl+ wO!~)_KJ%O_7G=(rmv`SZ&+%f4+NwIlt18@I9Usj_6-AmyUbEH2Yj#{lPYx1FIsgCw diff --git a/Classes/it.lproj/SideMenuView~ipad.strings b/Classes/it.lproj/SideMenuView~ipad.strings deleted file mode 100644 index 35e94722a95d38bc956b455cb6bffb3a108263ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 490 zcmbu5OACTf5QWd$Um-4qZqzD>AbKo}q6mbxJ;ans$%6Xx)t9A<5DG#ZXXc)JWXH%8d}(nOejlF4+fjm7U`>1gUHaojJoH=v;|MNBc{gaScnGr`8@W=%n_zBpYj&D)0$v9^ zEoM5fSd~-r-89_juK?L7F6QMClCIoGrwem+^hCL^N!Ymfu70Xd>YMtieybnqmwA3r z8|w4hl6tPnDzCKOIP^IXX zom)EkYv8|0CZy#Sql!VlEn5bC2YD9_TQCqsZFhZx)D|Zo5Uo@`_^1OZcj?Gj>j`&AubwU=g1FT{W@Td`npa|>0CH3F&^S!JEq0D zOeU5=woF9p+TJ4L4)}hI$98(v&B0#JREGxDK}Y^3UVVoA7vATH{xrASd&@AFL+XI5 zMxD?#LTe5(=THvO+%WnoR0Gfa-j2ziIy*jOho^?qbz&(y#ObhvjnnIdcUs>qz;g-j zZN#wW;bR~6vUtOl+or-tBhn^eV=ubnwDwQZ*Bubs&l`Kha2b4gq9llv(m;&ZBy1=r zv1?i`F893AAosMdtFp#egR#m07d8nS7ngJ1xOk`Ws6gR)Gw8H&J+|5Fu^#JmZOu_z zqET*>uwfqVv7@Ys^ZM1FvpPh72K-&}M4z*k$o(h_Hi`d#&YHX~J6G0)I&w_sa;cvy zjCtZ~afsVt30s6+AGC219GAJ#jxf49cj@0pu;xjDvB^Ki2Ls&MBy8M8cTC7XoY7N! diff --git a/Classes/ja.lproj/AssistantLinkView.strings b/Classes/ja.lproj/AssistantLinkView.strings deleted file mode 100644 index 2e2cbdc9ef617f79506a6b46f87abfb220468c71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6546 zcmds6O>ZMb5Uu4H35lOD3b%zZ#gc{P>tH*J64=;@?Zkvd0y}o>IL1|cURS`s@LPc z|5~7@=rTE!rY4o>77mAAMq8v!TBRH4D^nHE7U@OwmS_h@Rmtt)$sV5UQHM@OB>nf3 zO14E^@*v^hohq(fI#lDxOnYb@j499c_*snEfZPsxR%scMdM!*n+8~#n#S<4z#@26K z#`+glXF209_;db^e_*%&(akfy$KUXG>bK0bfFq8rI?$sBJ$xN*K%)%3 zhTq$ig>`edOTzAH^(#Y#IoZHp$57AdRuWg={|Xyd;pGNU@iaY$a|QOi62gW};{SyW zn})&out_9QHX?BaZc z7^{V_V3U{~3j=;L`&fCJ>|k2NgLT?;06m+CeaWItXl-VTI61W^*Sp|1YSQF>jJ+PF-|K)Oq}VNI8wp?$h$*uj*T9rN?3jYat00S-#gMec+vXx4B7 zY;@66Ld(+{ngdNGTI%P$$9N_zq=IV)SIIdJaMe{*ecK>GbDpk>BMazr~MmiW|6k{Ktn!{YLlq zyvN`6?)C@#!OizF+x$N7bBizW5+&;%`y*60KF$?+m$UpfZ}KumnI<33mKB8eiI2tS zrmrXGi*be^q!=R3@{p#vJ~QV-dYe{3OxPsm%U3T-PA=mc z!8M?v05rJtJZ!jRV8WD$i;4Mu^SFX9CjM@GJO)fH!Wb|mZ2V?8TNHO6$3EiZz)i*b z+KB!VGFmkv`|Tj_N%kwkk5XZeP-BBy+9cw7^A~WCuldo!Y!O~Z9;+b(37eLy)S!xG zZ<@xl77opOhZQndS+#cKyxs;E6Ryz(%7v4?3T7X)hfN}ZnJ2GtxR1NPHQ?UqC*@IY zI-6Z4XTChFB+Nr9;CP-fA8XiG_TV-M=Rlv0_}P9PH7W}{Ux&sScyNtUxX(qzz%g=x ze8p{mm$`VO0t^IwZj-P@y3c*4@n@7SNgywe`kMzHlh7vWJM10Qb@|>{z670X}|zXU`JqlI16MWUjh2J{SG!-IGj8}A_MBqpmuFj&a) z9?QOY^JaGUe$!Bd2^}>o;A6w3qrx!Ihl@7PMv$x-uz9-We#e|*9Q3$ch6e{7<|nSp zt{JgoVqMe~zJvx^uu#S{&LO8fJ51`(xX(fq)LcU`Wlz?~@y$;aA-T3#VVTVJsc}rD zk@JA619}aJ*uQyC-PT$0S(jMn`1H^u&LVS%xr70kKYeB)3S`e$^SXnRIEu5lh^vUW j|LeUPYn$izmYDD-S&ZnFC5Gyz()Z0m{Oa2t9TLY62}*1` diff --git a/Classes/ja.lproj/AssistantViewScreens.strings b/Classes/ja.lproj/AssistantViewScreens.strings deleted file mode 100644 index cc4cebb78d9f4f51ca14c3f6d8e7565dad16b3ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32550 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 diff --git a/Classes/ja.lproj/AssistantViews.strings b/Classes/ja.lproj/AssistantViews.strings deleted file mode 100644 index 75bbd975a4a73b616a433d81d72ebc0a3cffaee5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17660 zcmds9&2Jk;6rc8335h?!^jIlj>^5-=;?N|eq)D6lBTb`%TE|~$<2Y&JB&|T)kf2bh z3J4@PQ6VJ61qlf#7p_#C5CYDR)9G zc-FwH#cr}`JX^q%#?J3d<4KdPvPHIn_bSTQac!{;l+iCyn^*B_;l7D$3ZKfNu54=t zzjqDaDC5~Ao7nl?G&|Am%@JTYgnKF(cIw;VonJ9~*W^RDKD>07f5N}yk2v+<5dOMx zq!G*hw$Rrb0*B37$`NOvAHEMxFUCBtZ4;?P_bc$44dU-NtXJ8<(oU*WPpclqc1 zQ&F@7x^U=AY$r{B=Ih4>~b920Sf+y4miLkDiT#fhtf_zf(XS)Vg88 zP(8$5cW#cdQG**Q@zt@Yz7U&=xo!UP%+m|=V9!P8!b~*e4Xi=S4bH^?Y zN{c4J$RadsQ)m`xnzXnI#vM66MaeT6zT&jWZt+1Yo9A`D#1E9qyv8SbwzhtB%07n2 zX^`pbj`rZ|%+Y$UwIxX=;&j8rz74PBuL*I!{uD+H@;^aeEIs%do|O5~DYjP(09rm38`Z#Zv{fXoM#{kMrsy%p7y5#OBq<_%(hRp50`q$$#Vj@UQTC zs<_C1gxCKI_xIt|tGSQzbFiNoeudA%irl<=5y&YndJ+AnNTkY=*G)r^E9 zL@M$1-kJq!EiM|2Lb(dWG-^~u98Bn?mZ(^pV!VEF+1t?GHW?&7W8Zm0zq`w8lySpP zQi-p;w5ASDUdiB!lUFiGeB?FJF~Y>jDjkwl+FMrl`2%EHZh2O3meoI^I4SvH2*>R{ z(g{YVaq=;1qUxwNN842mXQtSF4j?vGVIk^~Za3rY0dg`?h(91GdZF>jlBJY-@= zl9WuMY~4pPzGJkR>5ul1=_fN{+eaLwamnDax1p`a56R%;;uTg4#Kf+dW?Y;+%CaGw z%)%yHh{q^e)r_b(IjZH(JahlY&ZD9Hfl7R1v1B4nyRIsG@XHCJaM|0?()U9$czdwr ziPd&?NOSKcWEd4OKSTLtoE2o*QNs$Tq?;9JK7zTSvXTeL6(3?2?>_$nnd2hAo?F^C zd1IED-i=E3zwSrjN>=v=;k#))iq@T?)`GHZB&5G1-V*ckc~Lm+Y^u@9&wEGVvbUi} zt7MS$6K&B5RL6_vs^Vm4Mqb&zBCl>smtoIKrCdBc*Z7?9wiUCHSdLjC_L60Ew zlV(J5uBj=ECcsP={lpOb>Hr z`^~PSP(RtS4o4`N9%gLzo2;WyKiRT2XL`tAKk2aD~; zL2aml)?llVbbcD1o$`rpXbyN8GZ$p9w99r4_nXi`I%!06aWu10kC~C1!nva+BwxXq zrXie<8o_)?kOx~0U-_H6ZsneAmwYwMkbNFaMSMX{&hIKG_MYiT_{yF4-v5>V$$#SC z@Zb3l*b(@J(>a(Zd+^Z}zxltjnCr?zAFAvkt~rbiB||H0HGH+gZ>BJch3=!m?%=lf zK}+5bX#u>~VcAt!CfRlcc1iZ!658BoOX3_pZ9+N)b{5wLt~Jas&@7eyu0A8R&Mslr z?G=m@YA^N#W=f@{N3A#8S_qB}wi@w$(7epzq@(Ob+>Y}>agy%fqzIn(f)nb4=0x{m zuQXjaYxVBa7Q*r zCpqXe7@b_H;WM32kte~ZM!W}BzPW~9qP2;*^@2PivQw~WI#ElWxyHuY5>S!4t%hwa zp}^naZ{gI-8@YRzR=Cao{LDYb-t>oj3iW;|d~kUd-%zU!F815~L!_kV=ImxM7`RZ<70MEBzNZnS$SL%<$UUVCdpj>S=hG7r1vT2@})+4Jc zHq*|{akbwwf!(!w7502WNO&CA6Ic>c>~o4K3co$pS8?^=5!>6>79GU+KQ0g1MF0Q* diff --git a/Classes/ja.lproj/AssistantView~ipad.strings b/Classes/ja.lproj/AssistantView~ipad.strings deleted file mode 100644 index 3987f0dd1a3864cd7a295f0233dd39480327faa6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2442 zcmd6ov2MaJ5QhIbPk|U2S`$z~LS3K>5>kh@Qr84^NNa)wWng6HS$Kjz4kKgt!k@HB zh8Q`A8wpv7qVxIg{`=(1@yEk0T4-PdjQ~ro2JZPZ@q#giSmBdvj+mAK?E$7-Z>eX5 z5E0Ks^jKrUy^uRPkMKl$fCb;bXCJx$PLC-qV?5-3ZQT8Nv{;SD@5FLbDOWR(GFPu^ zqqZu^<#EY$#niaKj5#%)Q$?DUX1#D#Vvhb_wM&=`)2@D4iS$ZDdSW7jupSz28f+{s zuUf)kL=JI!leCpZzr><1X0cOy^{u|tp_cpMuEs{iwf?%;`0z_~5}R~-x#~0bFPmQy zKIavga}-m|RfB|4^@;4GV<6NK6S|K7%Xu|6I&Sq#*i@a*KDq`nT``%@r-+KgLnQ|zO414;HAyQPS`vZ+rM#fHF^Nk^T56gg#2q*T7vTzs zXI{7m0)FfKQ|txrrcJ0;b=T|hdcT=(zM1y-uZ-N1b;(Luy3&+$Mpo|gvnEfaA|-hz zA)_xnR_?Lhlw*b;Sq9=sz{<87G1W`ra;Hx%XeMT&N z8H~Sd6RUC*<1q4h7{&R5xw?Owg7da)#gM8M+vwf+)cm+t@427dukIK3r)z?H#<)== zLa+}x^Mt`CVCul!oV1wvvJGnkIptn)w#Td!q4rtngR`B2v>==EN*s3bxDMHM7(=eJ z$Z?|4xn^8l>}1!4*_$ALjtB0L3l7}#V96)~lkC-5*fPSD{Yj1LMbT6_(UnG|PF*4} zVMRr%s9jASp+8l5zE&cc?*rgiE6s(4*o z`0PZP;gAnU@+1~@orSG07E$>m?``;CUa#w5ZsUP1IPb_Iis2?akhHM%fT^mb)wYMI zimGi{dMH)fMj86I?&^@rR{~Wr%4r|IU&OHKEOeDi_uaI*bhTJiw${P2A&$kIb(&5s z*0pDerv7i<5LH$go`>-cy>wAtC(tJ?bV|0^$8i6<|3z@2(i54eg36AwtXE+|D~Of0SCN9-@6aMr>?skKX_t(3%j@ESbz0*ptV zdPt0k7onG6)Mut$2)k3dBcU{A)9JSJ&34}J=Y7BFpWjn*TV^C78EHyY4!IKYkk_<4 zlNGL4e7h%}Y{)+28@_+QY*n_oJZ--(HRhVU+R~FX=4#9|PoI+!Us}wmHEq4N%f0&i zdhoOYD;lg(^DB})T{$aTvMdg(Q;a1(xq}rm?0SlOlSNYh(x}}{pZ?0tch$GcrI!2N zJ#jy~zg&fIit8f3EJ}yHwly+)kE93QJKzcZ)x$h62XYVWMf~H)oD`%U@_@<0)&t)w zH`-T^x{SA!*SwLK@5>X=R%C~j zFska)m0*L)6szX$pv45^r}jt=(OCQv$)#s63H zOR_-6p}4QhSR!}IAwQTbY_niIHNVL2J5+$`5`4x$xrb?e9_)vp-qaPaBdg#)p93Zf zTkPgt*>iqNYnkc}o3gHZzb04%O)StouA^K9@;J}C>MzqU_}T!`a3AD&o`WB1j4sdE zi1;9Ckwj&cvW9nari2&o#~!^+|7-Sm0^gXs-U{)b1^p2!(C-3*t~=lYlf`)Q;Cjyk zHFC+vCk2^j%%TuMO$DAYS=f4J{O5tP)=7^l>T);gR8*rcTmXMYbEGUH{@{$p~=FehNj=W+G>w~ zwrjwKs>7evn%{xXz#$YX<6OBTiVvR#Rrz59&lZ9>6Ke^vvtPj`1 zS{?Mf1hy?yO6hi;?&W;{X0n(J*0PCYkN-K;S;f=;&+KvE3E?zZTx}$yRczCt+3D{w X+H_aPxyP78uZto4CJS5qVg3CJ&xvOf diff --git a/Classes/ja.lproj/CallView.strings b/Classes/ja.lproj/CallView.strings deleted file mode 100644 index 467af224fb9112f31bacc50a5d237d3ae1f76f44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18422 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 Ts`-F(Cu!Ci!pb^(kMjQkR;4m& diff --git a/Classes/ja.lproj/CallView~ipad.strings b/Classes/ja.lproj/CallView~ipad.strings deleted file mode 100644 index fc730dde80d9771f1f5000521bdc726b8d960137..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18422 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 diff --git a/Classes/ja.lproj/ChatConversationCreateView.strings b/Classes/ja.lproj/ChatConversationCreateView.strings deleted file mode 100644 index 8fc70040e832a474252bf6ed2866445ccc8eed55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1376 zcmbu9K}y3w6o&tGPEqQvP<`M=C@yS846RBO1(!*hU}}t-MkRtLa3fy91Gw-2ZoPn~ zaOt*G|4w6sG_8r@kzq3P-kX_k{x@G^4J&A%h7Np~7}9E3=U2xebhL4Wh<1*EBQ1`b zuxXC+^kBhboJWrsJttw6Z(tsuF7_3lEu4|hD)|{1K6xHx`7GYuUsS5;sjcqvG&$8g z4lb1ukw8oxHF*O=DrQRVM<;n6WjVC0`$9UXcH#|ceo{|W>L#QXZb{+*J8XTnml+;; w9%XqPODwJg@*%D=&MR`_=*f>Sj>8qW$~+xZ-Z&)&;S4c diff --git a/Classes/ja.lproj/ChatConversationImdnView.strings b/Classes/ja.lproj/ChatConversationImdnView.strings deleted file mode 100644 index 312f45fa6218d01a98650ec137503b60bb7a35b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1720 zcmc&!OHRU26g^IxxQ7O3B&`K?B5}eeQc{B;k~pM@%HNcNI$#A(Sc8jjYTSWaa34lJ zZ7Ge-lhP)}+_aSU?rqQK-uLw>VHau0C}4mVCJY%zyiz!ajy$HY8DosNlH+;{ZAQn< z?7~EsbzNpWz~G+Aox$o2c{jVitgLdk$Ne_5bre@w6)XdfHt(x4XizSLJ2aTL- zoEwGLDM}&cqKu@DZ#Pcr4xYF=_&WPO7s<<+`x$>N&c00Foc^}y+vJZJ`xpYRw-)c! zXX|y4gi)MxESa-C>QSPn`?%!YWQ;@3iZcG&*$n6K5PLYFrxhZ;;mI%av>r!xvWSh> P`~D1zGDI^Rg+anMge(gX diff --git a/Classes/ja.lproj/ChatConversationInfoView.strings b/Classes/ja.lproj/ChatConversationInfoView.strings deleted file mode 100644 index 9aa03b5147de327ac3650384282baed932a9f131..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2702 zcmc(hzi-n(6vyAf5{du8DhsOQatH~8Dh8556V&E+TNs^^5<}v&sapY3Rd$xDe*t1( zVd=k6SojaRA~7x{OE^ra;}>wF?!$P#lcX1c>SUwure@nam7#nQy&T8bOY69^xh$J}1Nbpwd|4T(aOU zNQdk~sl!`edQ#?FkGDk(p2fpWxeYHaya!zGN<&^Ic(6re<>6R;Q6JSO^;P{)pVj5& zML5}nAI(b}ynVw}TLweMW7G~zbck`}3A241wK*jw?D>p5aAZ)Qq(uEMykC@6D#4W+ z?71lZKo%34+aj`Rp4R&pL%c#y&?+}@ag}>iF8B^wO_fqlcom7xe4&{fUG^VYnmR|HTa|Mxg__f;Z?2%q0 zNfvo93*G{*(0{kk@E(4BbLrO*KC3WK4aAFy-n<(1%`Dqyhk>1G={B2g%kJwk@B6-a^SZ0$k%RZtW@WkKbe|Vabw#Lx`NZc)jdlXFF-n6{Hux3OY>d~wEgUo5nrlxJ z_$(^n#TjxnDd7mJxHK)31wC5Cc@9zW^6M$a5S>Ms#$bi*u>w10^`kdAor-KP3UM$m z3mpw&AERw5fcG>NagKuNb1CC0gem)X>^u9-KC+)$I=YMsU2BZPWJQ?A_xKuPgUuT9 zUl30!1*&Qs8WR=#cW~aNN2mk0YP=dyAxxui!agAef7pAiD704rliFz5YwRw4QkM|VAFDz`h9GW+UW&soXl|L&}c>t%HgqviZ2;fE~v zohaV@ELDh3WwpIJ*7JBtaOC>6D|ioL?Uw6Ug)n8T>jULFHc>FY)6jKINof5x_&>(G z1@#&^lW`Tol>cSBDjTY^DqINHY_8lF&t4S=e_g8(s@eONePO@YhY)ml0=&2%;R>SX zN7CqBvdH47I7gw$OVaFBAxv}W`jH3eRV`(1Zw{M#vSn0r4l&3;*)1q`9W&dXX%(Wi z7=-1?%qt-)e2hg&@V96Kb7e$|f(p@E6vC+leP5b`k~v^K2q$LIef%{oaaSQsxtsaY zuxCLYYxh3b+d|u;m<QtSL~{mmkGbKu0XqNaIFe|K8&8t+mY}(YZbyYyJnqrr*pgymYneh&Ix2% z-qEZ;)n&xxy!$i%BxBD5q>sn zSbr+W<0kqL3kv6;j{Q7Uh;C=o-#2@zdfu-LDh4_nJ+IT;2MTuw-)v{QhLx4i$OW9!A}T^jS!vqM1ml`Frdaah}9-WUEQpriI2k8Mhmg<1N;iX!a}gI z&|k3gBSbwjo5^Ax?#@OT0-KpTcka38-ZS&{8AA`c5XU$iSUBW}V}!qUtRRgslu+c@ zgUgu|=Pl$o^2*Xi7B=_Uv^d2K*Rou3Djvp^^=^4*hO0YV&(S)KiHg;5dA*B~#P~go z?og++S3IP$7eYoC<1jFN_rTANn zY?b<$$8kA|W;n5ML{=n62Z5M0YJKDNBN>^OTk$F$#7C(6FFM*;W=XycEXb_Iv8nRr z1S-QI`pVhRSmlgq4Zev-aZikQp-?vWX3=U9$38L2w@QhO2KCxd4Nf^@iZfMunZFiM z6-D=i?zB#fk||rg=yFt$0uk-;pH2PPVr+8!t{|J-v4#YuSlbC~GZ(#8Y}T{rrk&UG Tes_AYxZ>Gv%O>Xhvt#%MGRC2h diff --git a/Classes/ja.lproj/ChatView.strings b/Classes/ja.lproj/ChatView.strings deleted file mode 100644 index bed49f9637495ccb4c60580a7a94787593fb3fdf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1452 zcmb_cy-EW?5dP|WijXpeu7X7r8@&htNl;EitS-3)PtO?c64b)h!dO|@*!cvuzJTBh z_zV_4L*lphw-E0ndxYiSn3`QKT={={v&*(PnJgS*yZm<)J|4pncRHdG0 z_`dsiRy8ahGc*Gt3vtPM0i3wkfE{KGRPVny?=m`$VulkICHei^br%;Yqb7`(=ha<5 zp5Aw=@oX|R9U{D@1~&DGI4$FJ*7OXP;aY>3nv@*q?gKUdpJ6f-P=~5pRc7(TzWkc|uy$e))eJtYc$NLuE15 z@Kt<@AMq}pggkgTJP{MIh?Zs8hvY%wmpJ3TP@E*#l0E6rwpkHXab~TZ&TZir;6~?N diff --git a/Classes/ja.lproj/ChatsListView.strings b/Classes/ja.lproj/ChatsListView.strings deleted file mode 100644 index cf6b012f9fa0cf77529aee225cf01583b3bdbc09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1798 zcmd5-%TB^T6g}&HMZ=P$IAV+@#*G$DeINmqz^*{6H5EieVc`$x#<+0lH~1BPg5Tg* zsAr}Mp&6uv_{gL;bndy+d(PZ@d4Dr7hcryABZP|%mx)zADICDT8oIdPYN5%U74EyJ zb9o9GpoV~P0TF%d&{v};9GqaQH;-OVMTYc6r|c1V!reN34(vh1Hja^l#r*}^EUH9B z5ozXW@V5?;Nt9J;@Rf?_3twy%8xQhqgX=pDhPUvly~UlE);jzkT0DD%m1$fii7?HdPqCZyn-i z?|U{4@~nU>)VXft6(ZRH diff --git a/Classes/ja.lproj/ContactDetailsView.strings b/Classes/ja.lproj/ContactDetailsView.strings deleted file mode 100644 index cfd8c627742d342e3dd9ce90c16c2b579f4aef64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2814 zcmcgu+fKqj6r5+iqT!LG*hHfc;)9462#A6P^o@ebokR)(iC^HmpX9gr73y?LLFz)c zk(vz~+MRaKoSAdFU!M`|AO;P`=%R)phlWG`qPRg8X^dcT4AAGD6z|ti=eQTh7EHAG zT#JY)@?0~y(p|ja1P!s~JXz#wo9lI=v&bw^iTRsjj3mPU3B;9li7wvo@$&v=?-Ah$ zk4;)c)tN`Tj!n|TCK;Gb%6v6c*evty z>DZ-4Ix4)%dKk(OLDf^O)xY)8pPsclaF=7VcdIxPuC3#l>-x^cn z!BBPZ_Hy9Iy-Z*0c;wLOfgU}+>g_6iBZ6}Of7WWso9xwBV+d)UhmLD>gW ze!IP^$Npw_t+dd0#xLC1!%&9UR`2rTqW+!Ju#_3IA4n_tX8fJ5!AcO)8aQsSF<|+ diff --git a/Classes/ja.lproj/ContactsListView.strings b/Classes/ja.lproj/ContactsListView.strings deleted file mode 100644 index d702b601854f435b7ecca50e388a273d0880e28b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2064 zcmc&#-AV#M6h7BJh1i{-o$#lN=t8qlu~MVRf?#)b%XZPQ6*RC1s2efpGJ+nYyWXI8 z2zrI6zM1uhmd$n(i(!}9nRCvb@0;(O`FIb|B84ePYh;o_=NLg+#S@}k%2AryWMMR^ zft3}kE2Lr6q-C8{s>81ii!K$gr((w(M@V5VzBK7?NncC;L6?3OtXspl+weWbw}x0b z%8X;ghx=jV8NfVFQBOI9#t|yqWt|(m&{uld(tw}&fnWKN-&i0DV9bw!0&q6yj7}s2 zwHdicIJijo=E9lJ|FDvxDuz=Rw!Xg8LDGRe=^ML!{s!NdvwZyrXTKwB!B(`W8&M0> zF(zPfKoQj3GTs&VcO0nQEPhuH1Mc+i)cIGyI!;>jhv~>Oz^wuE1(oq$q7oReJw|o! zX5kn4OYiB{3*t#9vvUxAssjw8&bWnYcB(f>I#%1LcA;!h^+EJRvC_g!k&162j@@BZ z>@>;vft5Vih=C77>fxC7sOVtD%_53S?R+OaP-s7PWDI*?fzy1&mwd=Ke^3V*WMkqH zS$V62O{k#=+#2qL2$;0M?N>FpS@>0heJ|w8RZp6j?I!fkfkhj*eIqz?9d8r2@xFrt JH;Y+0_ykhRSqcCE diff --git a/Classes/ja.lproj/ContactsView.strings b/Classes/ja.lproj/ContactsView.strings deleted file mode 100644 index 3c82f0b5015873db791cd8232fb2b9052010fb1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1738 zcmezWkBdQ{L5o3w!I>e4A(5dN2o)G?fmn$ll);n1iJ_FC1PJpP@_-`NK=DL|WFSlh ztIT9bV#oyQ%LJ;ZWbgsXB>`n};3hZ%*&tprSbqsvZwc6jG_bxBpz0#1x&A=CSwMa= z&@4{|7q}TFPt69zq^+@J(EA=04IAk84pKzTx9tw-P_gR2IM4PG1UH~3=! z@(~vhk`@AaK;ING@Ydk)auuuy~e84^~c_zAnI=)NG&#iYcU570+>36CBB@%C0#Z&25^-o77XTSaRd?}wUo3@qD|aT L<_AJCf^aneE`k}& diff --git a/Classes/ja.lproj/CountryListView.strings b/Classes/ja.lproj/CountryListView.strings deleted file mode 100644 index 383b7aff5f9c630253439af2fdad8595a3bce9b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 480 zcma)(%?g4*9K`4BQ;5ev3p#~#DD%*#&o2d@w%jF|!8SQvh?o_fWHp6`-+( z8NqC;m9zVB6WLnAvDH^qos3b!mBGCT;p8r?T^GzSCA> yGQ{){gE+tS@@%3>Q;{}560b8V^I&udm*18fobF=Mi_Q*9lo#)V79A zYQ?k2`HE?pXM(ZiG}!Q27h_nOY~wevE-y5hml= zPO>J6{2ZrhJtY0$AJ^dbc?8sp%p`7Y%0xA$G9W(lcyRnaQ6A4?ZOZ4;V(N8Pu}h+3 zGm6B4m?DuDQxaCOOOlWAiGxgtBx6j%Dt1X$V@Y)U=^e#^V@$#-c1a4cBs%^A67$`W zRqT=!V@Y)U1tfW6pRkHu61_7;|M5Eh0+Ll@5>~NGl8yC=j=zAUU`)a)c1iTk6zvlo ze*sC+n1ogAlI+u&>Qas{J0o&J=cBZko+@djVwXpseo>yuh0aH5F(qLYyChZe%ZM_* z*`CRTPDyDo<@u>)m#VBX>23^F21Pm{nOy%tY%?V*HRsE{7t1d<=x))bY+L51NxDzS zELHwj@@6sHe_6;fNy;`;(xp51x?1mw_uI$0ZybwJSBS7jC7y6PYmkKIdBas>B;M+W H{$1(|&X6h* diff --git a/Classes/ja.lproj/DialerView~ipad.strings b/Classes/ja.lproj/DialerView~ipad.strings deleted file mode 100644 index 08a005cb0d27f9bfe8059c3c19e0b67458948d71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8398 zcmdU!-A)rh6vxkl640 zK8BYjK7onie`Y$C?#{A%T4xE_uqo5Co%zi7#rcI1b;@bu_akZ5EHu?CrjlWYmr!v0tm8|)lS=z@pEjm`u?W_AH ze(AXLy#B=sp4!1k6SDJkA5wZ1h0ct_SZ4;G3v?&Z>_h*4;j{QAeu}T+gJ@Mh);7dj zA!p3s>WBPL?UQ7GN(X93G?`v)FKZU$XSApGL((7o$33vGqf0%=O5*lr8dRsa4#3B^ zhkWOmD2?Z6BA|0Q!qvK-#Vv`k%_x#Qi2#Wl;gaZC+>(sO=p;`gA(9a`iJrwR$yh9j zu|MNc@|0(j=vmy7jK`7~`|FbMy`!GRElDw!#Mob#WR$HFJ&RiskN%SmkNtO{)8^{r^&WQ4%_$WuXQDs=o z;+DrmzbMTVLh(_Ka7pwmZb?ee%Ly{Rt2I*yMM*ir<+(hUTdHZ5N$HVbELEN>Sy^1IzZ}V{msF2&NpHVzye?ID#qW2Y z5?369QO|&|jVqoom^Da3e%|nET zxEj@~aC;ujDT^Y_(HbgakE*E2J)FsX{2#Q|umqPhjmpVHQsV?bE zfZis-rB5f9G}U~R%~uec7C|Yk-9v2l(KYY&-Zlv?YqD0H15p}*+ak6%lMadX?4tok( zlud$bQD4M&@dNLNZq?q1i>*?^H$;O~HF3R>I`TmoJ@yb!J=Arp@Ta|J$tJ-iPb1fl z>(ABUFG^s1NVB*%!E5>~CU3Awa7okX-zBTTeZ+}6NY}tBsi#8yJevfUH@*7Y^ogU+ zun$g|7nV`eN&Qx6E?~(v2`+CM?=kxIVmn}$UTguD?x9yvrpJLDut{)t;5xjRd2bV? b`!i&}WiaRA$7C*83iW1e5?pe1gh6oqdc37!F{5YmQ$@Dl_SIEf*MK;p!hAR*)=c4FcLJ9fy=6Cf%?LqW>} zP$BUMlr;1-bclk60s-I5vRJ!&jd#cr6s^43c<*}W+;ivLGxOv7kerkgazw_YDOKrk z9Ffa>j!9W2Wln0cEnO)}gR7=2@%=^aR%MZ+=HeT&z}+UFuI$JS?k%|3-tTnye?!)} zv&L2U3%7`Rz<-N8H7Vo2-)dxD>Jsp#)0`*x-O{foPB79TuC<8aOd~q>`z;^MH}jg$ zp*cI6A&x&~p&*-#vMUe4;E%ru$}TupT;A3}X7ktLXp*l%*|7Kn*(ExFiK1LcWg{Ko zn~nFg&+k`E-87ya-~79LtdpA!*sX$T&Q(Ga)KLZ8kXv#UmT&$ewEEk7Y=1JZ%uDmd zWWm;}-;kLuIP46FuuM<`_PY(f*#Y&YyISO2gV~z9+i-d43`E-|BY|A!*?q7 zdzGG!7S$0J&g1o@^x8)S)CYY?!ThA4B1ua5Du@^=4@plzCYT|DmW^i}c=n-Xbt;#6p zbNt;-pwl9JtMaianptx%lL`-FZa>gP9;4UM^F)xGRZEVkDqSyfv;8z=28Jr|G)5l{ z=BugeIU2d$jBu`vrLQVk1S8EDC1lv z@GUnP-4s`0#`|$pCC1LB9oNe{c$cU%L`bv<4ar_G{42d!0*&orYiPOk$fr|IMTR3NCXE-b${QU7$ytN$7_bq2cpg;q1TPYEYrK!McI-u&anE zx?-G5EyA}_^YvSP>!eloYi#eHW(OwVxPd!L;Cd+KO9^$C=S0G)!Ti&X=ELr_Sy_IyjVNaE*W{ptJ45 zS`t?}qCYMl|B;7+l)ct3cIC4L&Nej}-~qu!dF4Us?ECdnMW4JGyBag_}vA2 zm98J~)M!dWwFut~F%QlMt%8#p?$@7o*%h9L V-MZ^iReVD;!Lb&h)wkZCega{{IXVCU diff --git a/Classes/ja.lproj/HistoryDetailsView.strings b/Classes/ja.lproj/HistoryDetailsView.strings deleted file mode 100644 index 4b44f5070d279759b9db57cdd3f3423427e6de96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4934 zcmd5=-EI;=6h7A^zQd;8HQ9Q^(AqR6!h$Weg%qtRdc|*{6fiBVt%<&XCN}Zj7@xp5 zFvc4%eFv|71OL8Rx)5eh+1&xbOxP|nXNURD_nn{ZpWiXML5pOOLx)tNV+@P#;Ilxx zl%*7%P!FR^9n7p@zC;y_nrqplGBxpB6Bg&Rg|#wP4hK7=T^zcspxb2sTJqEXe<4(=LmWY;j$MSa;1P`{}U{29&UTtOLczSVafF_MQe zitwq8Eb*97?PL}n}t9u?Sho@B$q+ZfO=91r?Bn178;PEY4NbxQGZcs*_J*Rt!@)FprL*X{vN9TI3 zMY&`#Z%$3B>D8P|2uC@WEF{iN&K0DI`BwQV{(GRJeI3fM=_a~C{heE~FxAKZQsob~zd^Z=-Hw2e2PQAJ1=k|HLl^7CcBjhv7J`XoAM8!9N!p5_C|Vmi$K1qzoKCjbBd diff --git a/Classes/ja.lproj/HistoryListView.strings b/Classes/ja.lproj/HistoryListView.strings deleted file mode 100644 index c9405e3a2528ffa7552d0be886dbee40be94755c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1712 zcmd5-O-lk%6g_Ky#b7%@yO0VIEiwx&H7r{6u^GpaEYYwLbYVZBl^C>a(+_CTs#Uw_ z543I@v}_yId2a@d!9)#19`l&@-o1C;Irn({`V3$mAsARi1t!io3@q~rVi##7(162H zLzO#A+&5uy*gCR|0?N!QGopnI&k8)L^eU|IU9Bvg@911df1#xF97fl@x?9XW=GtPd zG?Kjv w`VXjccev73-8!+ae4A(5dN2o)G?fmn$ll);n1iJ_FC1PJpP@_-`NK=DL|WFSlh ztIT9bV#oyQ%LJ;ZWbgsXB>`n};3hZ%*&tprSbqsvZwc6jG_bxBpz0#1x&A=CSwMa= z&@4{|7q}TFPt69zq^+@J(EA=04IAk84pV6(wzgZ&2U4Ne$LGPr86*x)sg z_s0O_D=r`;Efn&AJ}P3!1-c}MAq4FI9H84_AqVj{B)mxR7j{$8eL|j#Nr^XKppQT) zA(bJ8!q_uKi#=14V-FE)h&a1%u#+b7hU{ z`H>gSq@)@bs1HH@1C{ZhavOgNGG;)}10WId%4V;i6q=+Z>iLRL+Je+E2!8+o)Ic+e diff --git a/Classes/ja.lproj/ImageView.strings b/Classes/ja.lproj/ImageView.strings deleted file mode 100644 index f412a5c8c92cad334adfb4dfecff404790954a32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 270 zcmezWkBdQ{L5o3w!I>e4A(5dN2o)G?fmn$ll);n1iJ_FC1PJpP@_-`NK=DL|WFSlh ztIT9bV#oyQ%LJ;ZWbgsXB>`n};3oJ1dF4Q!3s6NdP**8b7s51uppGn{s$`%Eo^QCAcjcQo{{g3<|ohb%FfG#Q*?r CaxP;4 diff --git a/Classes/ja.lproj/InCallView.strings b/Classes/ja.lproj/InCallView.strings deleted file mode 100644 index 1957fd91f3f5aa298b1ad6897a97574edd73db6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 248 zcmezWkBdQ{L5o3w!I>e4A(5dN2o)G?fmn$ll);n1iJ_FC1PJpP@_-`NK=DL|WFSlh ztIT9bV#oyQ%LJ;ZWbgsXB>`n};3fn!l!N7x88U!k$w2vBpnMUKhM46KRG$SDNe1fo zWN?A&Gh{GhFo3Gj0=kb2$cBjN5oNy;+@#e84-H-#Ofp~(>N5DB=3&rn0J52j0RX8! BE6)G` diff --git a/Classes/ja.lproj/IncomingCallView.strings b/Classes/ja.lproj/IncomingCallView.strings deleted file mode 100644 index 0f451c30a66c6b580342d793ff54aa6fdacb9e41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1472 zcmcJP%}T>S6ot>qMZk9m6!gS1hrilP>NdJPePGMI*N`~7rukf;EVVQ;>NY_ zA?nG`BoNeeqB0Cj?o4j(ch8x8ygOJ%6E6CQAaTjzVuQ1RBY4=x6*R{g6eH`5O9UL_ zRvm;ugEy^SKk{83ud`l6}Qh`u>n-PLsH1{y~1WlkGQIkHd8bOEZ0|k!N`J z7f10o9FG5E+RFIP$^0`>w?x#nCVDxX)3Xp2olh&W(WswjtCL=9_EK>*sZ^_1V(VG6 zE!@kyoqZ+dM|%f#7&U9Wp$5jS0xbxvaJD&DIoB%m`HI10EnM|o-YS=Q?4ra8t32lY z7-O1M^BZj>u9-8|>Y{?Jg)&_nvAt17qX+RM9>treqmvDBaYb8Zcbl^bqI}Tj1&Kw!sIVJSycK7OS|HC diff --git a/Classes/ja.lproj/IncomingCallView~ipad.strings b/Classes/ja.lproj/IncomingCallView~ipad.strings deleted file mode 100644 index a1b6009a4a25561527f5f88c8aac8af9d538c050..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2958 zcmdT_!AiqG5Pc^P1^=N`@X&*9t)>(a)b?OODQfkemLichibksk|G{tYNBjlx;@STY z^=;a1Xll()qKGUDo7vsTym@bDKHhU!MiF_`(1VLhjyyIv3phdp+qgo&aR#53b=qBY zIJ)6U4{dn7=kdfXcDdK)PH*g?&aY0m?{hW0-{hIo&>ql#eSFp#?H3tOj%x=?R{tuD zJv_G;Tlyb4j^D$yHNt;R%-?dU^{LGK+pF zU`WX1`+5;*#q*yQxh~lQ)(w;+O^KBaG8j|i-(J)?O{WsoNeuNXUrN*^b+Y!g_Efuc zYT8lrlS#z8NyO2AZhC{E*Vb3JvC)AjjL`l$K9Lm@vfra? poFsEN_rLM~-zJN}e5W5$jhWwN9xuq&quc6BswBp*yVLD(V|P}4Z#Mt{ diff --git a/Classes/ja.lproj/ShopView.strings b/Classes/ja.lproj/ShopView.strings deleted file mode 100644 index a04c82417e6a41a44fa24d05ffad9394cf8d86e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 456 zcma)2%?g4*7@YGyh1gBdyhTKZtUw{M-%B^O4x3VkHmE~S(4|M{NvlyyBcx*3W%+jI z`)0oTO`r|~8oEdjU`J?Z^XQnvgM&R3vBid!7V7~bVwEu^LP+W)8AlBG7xE`5I&`ok zH1bou%Czd)$0v79cEq}eUZLq@h8QNR4(|nq?3YhA=v44s#jyVJr596bm*C`%WBWRB z?X#Ws7sR(sl<9Ieirx=&`P$YLE_{rBq?62}n5)UXm}qc|@*`ap!=fgiRwj6#C-4B& C&_?wD diff --git a/Classes/ja.lproj/SideMenuView.strings b/Classes/ja.lproj/SideMenuView.strings deleted file mode 100644 index a1f126d9b960d8d3673c431bdc4bdf9cb135263f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 478 zcmbu5OAEp<5QOKPUr~B2SW!F(BKW#g1y3zreH3dcReXTIUj3wLPw}FJY&MhK$oh d*S@J;<3fzit|r90I^3&{TCJ9U5Jm4gUs19wSkaXrg7{ce1l<(e`Y5$UY_SUZ^Xfs{E+il*A(NTO&CHxU z?nZ6-@-)^#Yn3cd1GZJ9P;+t{#oSr-$)54A*jh7FuDy=L6TG-mEqId=ZBd5Y)an)a zNG)|W!d}!Ne%JMx!r;3ULDSVXm0W!d75-t#DwaUI7t4^pNL46+K83M>H0O-T=eG1Bi*)%yf44%$fQB&)4+N@0bkBkk~RID^ie69$W6v;*ytX$uhSn zCBDVwHnSe%*YttR5@S!+Sal0M!&28z0(n;|%r8lm-;yNw-H>uqOAejO%obTYEtyko zBdjQiBX8s-eNi5>-rsi!-7&@{i3D2wQ^ij;^>eNmI}F0b9GEw0ik+%#f!7Al1~WBS zEXuZiuWD}8n~&@~F2>{`l8)R(rvr0k^n|%ENtn3!VSThdSO?Z8%a*V7N7jzD+k88; zJ~L|2_G!mR9Psso6+4#NEsB#gIF$z|EBmKYNQ>A*d6J8rU5(cRZ_Aeg?-`dDJT~%b zy{B37B6yjUS$PE`o}}p)G)rM#OcDvLJL+65|Jk<=VXOfQ-!walnO)w#&>FD$u1kJe znEf*bo*FQag`cx=qT*0RN(ol36E!1pgZ^3sCkryKIjJGx1dXijsKWG;==3Qvjbp)!Zk>_^V3tfIN1^%ckwuKvCm5kF;ie83LRG^aE8QmTW~ zP6-pI0p30G$9r;wpJ$I5{h}Q)Ym3UbKXpdlW3a}TgVZN8r@TXJoFVv;Z+?dM#B za&fWulM3;t>|K;6^d%T8v~gjQFmZ92_mkdhkV|d~ZmoU|j;g-ZX7zPhr?PIEtP}Qs zlZ1(h&gy&KX`+1L>hEPWVj>CtI? diff --git a/Classes/ka.lproj/AssistantLinkView.strings b/Classes/ka.lproj/AssistantLinkView.strings deleted file mode 100644 index be1efee4153c928c35ba62c4826e2f2b52efbe88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6698 zcmd^^UsoGN7{=dguJ$AB;j)^jm1@=FMSyxl%O4?a)jJ?5e}q8OK%t*9r634+4%YUR zdeM)d{+`)vH_1-2Neb8=PtGR0v+vB#JoCKIJhS=d?;-ohu32bfwr2D8kWXk|a}3)Z zo3PuIEm)a*!}b-W^R~#R?BZ6qv%;MftJ!W-WL&@CVmEBdDnx|TDf7E!o30%_X@#Rk zo4OyhKTVsf#4S=XVdF$befijS><7!)XWYqgsO_l6HTplqxi2E$Q-6owJf$9-275t0 zI17$~bB;fP(4KPrGT7(Ne( z4f?a36_}SXcQs|jOTsAbM}os)@FF;HV>zKA?Lj@W#8EE+{SYJ4`(i>OEa@Mz4c^l;wwGuE+Ko1)e_ zY0o$;x#6_uKHm?>%cVBf_#!TXHRt5u3$pCA$2?0TQ~|B3tuyX5^g~L$1`27#=|^XL zqitn~FCx#Z`TCOZq!UyO<76V3!&!Nr* zz9(3tc2W#TN90-Qe9uir96!0=m7^ct7Z~>rz3o8!>fkB2u*(LB={ZQb;R*2R|n2( z9pXG-oL=lZ~%36nEoP8tqQ_0On(Oqp74bvW{I z#~jbOd+O?kcIs-&3C1q4xfk++^*~SAqrKO}9`LJcY4#D0@qqhkLr)taTh#8kQ}U$u zp+!DR<39`{^s}^JFpZN6h>>Dwnwj0zZ^nMa-OF{a@vY4Gxh?B`5!vcjXKj;r7E*ul z8zCLftooFN#k;aQnPqSC7;I|fcMh+xO%}K2g)id$(#08OKT#N|N5v_T+(ol~C2LI; zRcqE6?ej{MG^2rr`Q5W?%cMyX?$carZ^^%Xp!Aibljr5i7Cw zoziS+@a5wpH(B9$=+^m!`Ae+M)h0ddj@SaeaT2T+XeDRgQg^ovF<-=Bh&@M3_uOjP ztgI22qgC*2u=D%)*i9#IG5Xn4_{QGKCtt)>>?z)rHD-Y~LN{Sf5$5FV3*HHhr1+DL z=$AjfJ(zfNHE+PK^ZqP;BhzU&J}3@p#ZR7=xc1N>9(6o*p+`n7s6BN_0J#!Y-qjOK6?;L;4l|CC@vE zG45^fiFPiDA87Rv-L;jZMgRV&3Rdo*ZMX9uP`&Lp3`KgbTa13+sy1*#2-u*wuiRjICk-eJy S*sRU8jm{V08(pXWHvR?Dfha)$ diff --git a/Classes/ka.lproj/AssistantView.strings b/Classes/ka.lproj/AssistantView.strings deleted file mode 100644 index 57254633aa4e57aede0e49d36626f3dd44321ee9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 712 zcmchVL2JT55QX14r~L_%qY#VqSUhO8B_Q^o?ZI2BL1K$SRnUJKs0WK4YWqK`UrduK z1cR3{%&_ddeKT)ncR!Y{R8&E?dX=XMR!{}E^(a?O?w;k7vvtGml=GaJV5(|kF5Xd9 zEndZov zV9)R7ZwBusG;8z81U~*nf9=rUOOAG5eSVXJN1OK5O{bOYI16#9_HQ(YY(C!l9#%bd AO#lD@ diff --git a/Classes/ka.lproj/AssistantViewScreens.strings b/Classes/ka.lproj/AssistantViewScreens.strings deleted file mode 100644 index beb7f44eafffceac3d77c8173b1493eba2643527..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35966 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 JTNF$R{R@4`tqA}C diff --git a/Classes/ka.lproj/CallView.strings b/Classes/ka.lproj/CallView.strings deleted file mode 100644 index 7c9961668c84984edd5611bfbd3fb59a4ba230e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19154 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 diff --git a/Classes/ka.lproj/ChatConversationImdnView.strings b/Classes/ka.lproj/ChatConversationImdnView.strings deleted file mode 100644 index 36bff332148b783b12803a71665eaf5286c38c3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1804 zcmd6oO;5r=5Qg6~r~L_yN0Z|BMdJl9iXrg}Njy?SMNteE)PKoA6ET{I#;ZR;eOf4l zrcyMTn8|M2*_qv$ci!24yeBlJNm)v(s-i9sOUsN2?JBF38gh}E&d@BOFRFx;eang* zRq(4|ajhI{4lC9E4k_RIr02Q8>M`pjth37Wt=6@t9od{!WXh9NiKjqrWnKOt_q30h>qqJOxHWnAzUwh~6wZu$0fPiV$LDi1nWWHpSF+tUV2%7H~4odufb zFsA{&Nng60`idC^&1wb=X7RDv!@;xb5ildlB1t^ms0P&^9YGu)2F&iB{+%8O^Wcnn zo)X{a%pJO9nw+=jCY!OTl~CqU7QexP4%L4%H|Bm!286K*un%gVAy@B)X!5LcOIXy> z>jIZrUi=XXK@5ZX$4Bx1IB*O~D^!18`^*kf3vnRI;y-d=hAv*zoEE75I$0d?H?jBw V)MEP}D#PI$Aj%@@28fFxp-(bUE5ZN( diff --git a/Classes/ka.lproj/ChatConversationInfoView.strings b/Classes/ka.lproj/ChatConversationInfoView.strings deleted file mode 100644 index 424e9a5dbf09f4cfec3cb28ad89e71d500eb1350..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2834 zcmd6pPjAye5XIj)r~L?4kCj|NNFY>kAT2aORT^koxTYl~hQw)8Qvsh6P!BB>iGmQE z_z1vn*L4DB8^@ra%JQG}&U$Cwyf@nb?=q#luAR!ET_w z8jSjUEk*G>EUxJW*o0sobG@Z?z06_ZvnY$jB;WoPn_Y0S_;iSS;4tfGI6^;*J^+y} zHh~^9JAhrgGeX4g&zKKI9u?v6Ka^3^COQdq4?IJ-a91liHux;cvZ0JJ{w?Yas)o(| zIvj6uPxWM35W|bf%BW$}2ZifYst`q1K_y+0RSBO(Su8ToY^8WZz4%~`%va7+6UdI= znfK<4Ib`80HU&rcGX3u6p(yE@|Ce)oql&$u(fM=I$%hku|D9b4Don zJsPW}*r$u2mxqp7AvLrGM;dVIL5?Fni?SRkqnB|{Ou1UFgV?T{IF%%DA?B&LgCtZ5 z+dCSrn=YfRy&MKUi?SFTqk|Lk5e0nan(E_}(KmGQmhm*Y$YYbB0o!%6|BpIx?4Xns zx$`=vFPd~kRu_C03+$8bHs<)R`xUV{@B8fYdH@nT&$G|Mm*+|QSM(Djea{g9 diff --git a/Classes/ka.lproj/ChatConversationView.strings b/Classes/ka.lproj/ChatConversationView.strings deleted file mode 100644 index 119a5d013d0d627968f6fc5292db4a185918f634..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7566 zcmd6sT~8B16o$_=SNjth5^qcvwR|WsCQ1P%Kp`L?-W3F_lv=Pw3fZ-G07+7kw}_3FhpC%F5H`-@nQ$Y9N?|Kk2l zX41j`{nC}_S2}A?IPvzps(0Y28Fp~A&ZBAOUz8Uy9^H{%!zXpc)vFzR+VMUy?&4cD zk$3eNxJN6aqg>Y5m%+Bke{1*~Jn3)I>yg`ruj-1cuY2A%d_2a>?~Gr(BQGUKoc;7Z zdS5wD5?RytGIQU8YaySb{@rQNukfjL_L*}Jp4=WDrldsnsf?<~Mr^F^O1BX!b;UJS zN8X8dNNhe|#HkUUHdj|v78dwZeyfU9;D}@Cl+21xO`B#M1*8W->-S$%7cA46cF`t;R#G7LAyL1G4LANyXpXW(J8aK+;g1U|rtpw_Fi zqzs9x@i*il(a&oYvq(Q%qdvaoEKhE%Q0dfhH3B14#2$Rlp=W$lO@)dPWrWS53uJ?C zQ|}AGT+Z?Cka|%6?bddNWN{v4w#vUD6q%3WO7j`@(q_@VI5)@jWV$np*Qx?;Y9zYR z3MSWW7Ooh$Xj7BjE)_7UZj!3EEFEJV44(7pQ~mlb@xW%`ih-$+TA}W8RIC?T1F1fs zy1~_XZu2Xe0X7R;p4)%9wOKxhhe`pds*_9sO|jydBgS|2n5MEnH8S32;Tq|v0y?M0 zpJ_d$kZmm@?wW8G<}ZNA486gp=5J96q71NEG>1rgHK998=Cp$HB?}t9tddcE1|~L( z<}hg|OOmVP1u9}547yQ-zC7aWv4Mom!WD@|RC05@(LGNV(FfaLkkg$aO}T(#a-=Ox$PLNpnjE3 ze1%d}E5>=5Fub-|xW@i^>?p+V>lN8U=m&=_^pelIVw$y5v}4#TT+wJ`KP8U;S!SD} zhN*qrO_;EOKFY!2yuK2*CMuyCGI%^EPZ%rg7?`^!HVYf~_gVk$vknecMOAkBRHg@` zS`h~`iBk&g-zO+h`*QeR)+>fy)|KHdOSn&9vv7_4zu6~fH5az=ULmo{I0hrk{ofMZ z!n9}|7ff$kzh+YJI%e>Fj!&OV8mp}}LN3@WT)A)^*Gx9QqV>;aVT*lZYo_+cxjPd;@s59^~I+bphQtfTt_Vg3HwTOFHMN&F6VSA7@E3_#ujVH#T?$$mQ4rm9L@JByfZkbIZCGJu<-asa5GAl6Du{kU^~_p| z%XY9Zh+$`U=KE%M-e=#Ld3g@0Utu|#R8AQcD2~Rt`n0OJCREfh~Y6)05%-<3_ zA$A0*3~|@%DSV-SK}p6%w4@YuN!uFq=?}_?dW7vP+8XPoYU<|7JfgILLPurp&AN*2 z?`Zw&zrPI0Lv#;lo!V6%3Y~vHDB~~x{_lt+@WUzY*g{(Yj}+flQG0cLv@X&b)+|io znxS4|UHZucWpqoXY@TpR4d*!W`=|GQ`8k~(_LXh89KhAqc{q3aCMe^7(V6yKV^_G{ zg+KC%RlW~{6#GVm{bxj@J`zD0-I8dqr(EEaTXTa~Z0np>?;VmvU5?A18uldm`aCJ( f1-ouyTA^NpTgJyDD5F~*o#%<&XCGivX)$>PrGr#0 diff --git a/Classes/ka.lproj/ContactDetailsView.strings b/Classes/ka.lproj/ContactDetailsView.strings deleted file mode 100644 index d27b45303f98da46c34e323045dd3aab29fb7208..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2918 zcmd6p-%b-j6vn^nUdC{ByS5N06q-oE!c#)j1dJvMF>2y7 zsK1$Q3tfipPAHK~I@#%*-8tW%b9Vp!Dd>*I73r~>s%nQ3=^?){y;fNz?W)aaX`6o@ z@PAcx#;S{KsHO(@HHg^PJbN{En*ArtXvOU%cP_HK!G4|SvZnh{Q{5+zlSzT=DNW=$ zWvu^%ujYe!Zw}3Ob83!_T^+HqrxqADhp*)F-0bFm6~1B$UojZpnK=Q^=Uj-+RY+KG z!*~bAd#XM|%LomuqHUMI-P>`xCEBc_+Hl1dh}cl9=Q?2C#v_v{jJ}8o&P#GRSMJ1o z0oQ3?yGV!Vm(0iJTleZ0ik_KIXnXUTPIsBGxn{AjOMS#Rf1mlKig23T(R1SX=Cc;JZ-2>aY-Y|Fcl=UD&UxZI*-?_J;HY=J1Rjj)x z6>FJQIfc*{5vpNG{a&x*UUaYR)lJ557gzMe`M0ijFmRvB?)kpwVqZik13%11YS_Bi z)^wPsN5@DO6H7Qf)*2(m6Drz*!Tf0&%G+^qIpq~;10@9jPA`v5> zLH*qsXw%7pUA36W&fj}y=bkMjQ(iKfA(QUO<(_2cSn>-VGsyW@#x-!a|R++iM zd`&53$y+v6R};S`7Vk9ATAh_ve}`H6HcGvJ=6y5&hKBdcux_93`w-t{#wmNvsoLLT z`gDDgbC&2&Yigu3O!Rm7>UQ0ZJ8+vW(MR{mb=@KTBkFzknYk~t2aI~O7GsGrK1}9` zd{uAs+GDcxm*`X?bSj0>iO*A3KxG)I9k=yg(3;gtO3a|Z#Pb+46Jat_7?a`H10LIO zro(dxm$qof&y*)VmqJEZ-dQeP9C-zcMU~0f>(nps--xitv-tCTvh3L;Z@z)a?xkRI z2R4}6T#Q2%6jBg)ugBC^^$0wI$C--cSro;gN7TlOpd>aLl@|l045u<3+#sqm<$ZuQ z#GFsmV0IntuzWBLNzh!IY16CuJZZB}Q1Ch{Yg+jYPWQm)8VId;zP!>iEkrowSxj-# zaNdE&?ty}-Y}YGl$7@B%m!8}6$b>99VdVo>$F#8;2aQQ&`}A1tpw;{CyZ7#13cISr z)#9=EM$5SSFl_+@Q*N&^-z4KJ4KppzqA1e_H<)GI30NHa`^?@n-rK4;BAM>;*HDH_ S4eAzu5ziw;@+|%>BEJB%b+Q8h diff --git a/Classes/ka.lproj/CountryListView.strings b/Classes/ka.lproj/CountryListView.strings deleted file mode 100644 index 870e6cad54788ff2a8056f74f5641489e2fa8e63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 482 zcmaiw%}N4s6vfYaR`(HxSqe^zRuV4!T4+r|CDGCb(J`q-6XaXYqR^m)5D~tF^&1;U zkwN)$FL&;ob2;byt{k1HBv%bh)Ymi5Rh9D8Q(G78?ls__r!%%O^DBLWxmF8I3-%4W z8r4u2<|W@(y31HyZj51uFxzV8>;P`8vW9TV3UsPY#wel6VJ<@Wxe718l-S%Bwxqw= z%v^ojJJXLP_DQAM9o`|Qb-i#m){`DH4Sn>6s7^D9a1fC~1Y)|A$|i?8IfZ&S;&+74 eF;369l=g~l_xu(i{Ppc)O14>i*~i-Vzw1AHLs26D diff --git a/Classes/ka.lproj/DialerView.strings b/Classes/ka.lproj/DialerView.strings deleted file mode 100644 index 43aa9f18fc845829d50bf5834afc6620fbd62a31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3726 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 diff --git a/Classes/ka.lproj/HistoryDetailsView.strings b/Classes/ka.lproj/HistoryDetailsView.strings deleted file mode 100644 index 2c595b0c8464f35e60ad78b7c00cd5299f2adf65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5178 zcmd6rUvCmY6vgi|PxBEreQdH-F|;*@>)5L8@F=CE{3~a<0Icz1|%XPV{c~$}DGhIA0_>Eo;4~)$aL4RubX! zsw_?PD+|3lwAGn9QRhmpFv2kkQCe!;eVcW>X5D3Z7XVk%;iKuSvgvSg#Ap3|e+<^B z-1VT~`vZ;6IXvFtqOLAfp`++fqCnh}% zm?Hc#a_JzSY>&wGx>oUDJ%$OdfL z^uGnhBz^O;2fr!8uMYh5xZzL-?-;VU<~|%OlUo}$R(jpF+uNHW{4z1l&w%`F0Z}{`b(Xu#Q@6xkD%F z{inbbF%8Y!tZt$rN6yn%QeMJCMxOB;HmDI(gh?aQ?1@5RK&9yvNik^pM%A(o&ysOW;`U?m8oXg$izTYjLJ)&;YR|-kbN36dd;ynYD zV~C7(hoI--MK#o=YN?vCaHH;2TXiWvb8e~!+Mf7sQS0z6F$Oqhhe?K!3(5}mr$i?1 zLnb~kGUvqMmWXuu2u5}FNFN=n};(>gjQ#BZ5MtmA}pf_&NY;W2DSgs04%2A$%XT|w$# gTla-~R>KbE8grwktKt=9Qyrv6ifm@7jV5N-uL_rYeDh}16LM_F&?BF04!3Pi@K|Q6`#X-U! zlFMB#|Ksk^z{jOWOh}?|>F9Y(2O3 zVy`x}xjot^``F&i*E4@FthtTsiEqN|5r55R#k`nK4ADJA%Nd3`);SUAR8@s**hBSo z0`-;l*du0ln>v>4d5RMC7FAb#Z}dNNJR^8!j%d6Q(f?k&?B3ye4QHE)bRZl$+B*GL Se{tq1wteFdn=pZCO8o<9 diff --git a/Classes/ka.lproj/ShopView.strings b/Classes/ka.lproj/ShopView.strings deleted file mode 100644 index 770552568356317d88c5e5a6b49d9a8980976e67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 484 zcma)&PfG$(6vfYaR`(+evlO&tgt%~2NC*|GjXVD>o{BAcL4C`l2%}mg=*O^r`L`1q*U9q0z!Gk7bisU=$fx(*T)RjZ$V7%yt zw=OT^tU_6R5W-LNey#PJI!(Ak*gf)fRWnUZcN!^AHs)-rLA|tdj!6T)4>1a7%@t)` zKJCZ8ZEml&;GEg7g?i)fi%p3k_%S3 diff --git a/Classes/ka.lproj/SideMenuView.strings b/Classes/ka.lproj/SideMenuView.strings deleted file mode 100644 index a1f126d9b960d8d3673c431bdc4bdf9cb135263f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 478 zcmbu5OAEp<5QOKPUr~B2SW!F(BKW#g1y3zreH3dcReXTIUj3wLPw}FJY&MhK$oh d*S@J;<3fzit|r90I^3&{TCJ9U5Jm4gUs19wSkaXrg7{ce1l<(e`Y5$UY_SUZ^Xfs{E+il*A(NTO&CHxU z?nZ6-@-)^#Yn3cd1GZJ9P;+t{#oSr-$)54A*jh7FuDy=L6TG-mEqId=ZBd5Y)an)a zNG)|W!d}!Ne%JMx!r;3ULDSVXm0W!d75-t#DwaUI7t4^pNL46+K83M>H0O-T -#import "FastAddressBook.h" -#import "LinphoneManager.h" -#import "Log.h" -#import "LinphoneUI/UICompositeView.h" -#import "Contact.h" -#import "StatusBarView.h" -#import "LinphoneUI/UIBouncingView.h" -#import "PhoneMainView.h" -#import "UICamSwitch.h" -#import "UIChatBubbleTextCell.h" -#import "ChatConversationTableView.h" -#import "EphemeralSettingsView.h" -#import "FileTransferDelegate.h" diff --git a/Classes/nl.lproj/AboutView.strings b/Classes/nl.lproj/AboutView.strings deleted file mode 100644 index 4cb7d5b09152e1acc6747d791eee5303d1f0b1a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3922 zcmd6q-*VDG6vodrPm$rWGoe!L2s&PrQY*?7wFPa*8yX``rKCa%);IDc)!%MNX~;5* ziFTMwmJq%@d%o}d+2!}Il5ESCII=H8>C1%6kr&)$=}Jr5ygL`4-^%iww-L|Z857I} z&yid+>lt>oWu~tR_&`RyzmSkmUn+c#WiYqW!R94zJ?6Hgd1tN43}0ONAzv6hdB^;C z-7RdFcs3y_Sc$zV-&xAzSBVvhXwif7gj=Z-$_;!S_>6foMMY0;_4iO~qrSz=R%x*- zM<88!iA@*f2G~h!VM3U+$m5qyiw68utRAvv~8PTi@fRKk&o8PzNx$%!z|Put2$6PwZ2WM z1^d|BBv%tH+9-9uQdA|XTJiDWF?CawCyb9Q>YT}`R%Z&{#lk5HrPVPZOxf}`{`_z5 z^);9eWJf;0`9^jbZ|P1+mq~ht36Y2S!kd53JCKeX6Y<(wjN3Za4eCer$|;=Fu^v!! zs#fkJ)?=LYqbS!yDzyuUa_eEc}@WijLoN$OLDjizb07{ zXG&)&M@$G4%RGJ+)gsR+V6_$_YEQ-5llP21iuISYFd6eW{8L%}F77~k*Nw#C>a|MoN5XA!0h+#I&H47Z)8)BDHj{xxH_zecq{UNMIJ8-2Z`oe5#m JF1=z&{s27MQ04#t diff --git a/Classes/nl.lproj/AssistantLinkView.strings b/Classes/nl.lproj/AssistantLinkView.strings deleted file mode 100644 index 98cb5fe8aab9642fee65941584ed900d7ba7b049..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6478 zcmeI0+foxj5Qh6YPqD=%x=~RSwY&%iOO!)Q0;qR60l^R;B%B^z{d&fAv)Rc`7L8Dr zmD)pQdS|+O{{FjXzJDvoBbk>#R-`L+Ip-J18?HIok#*Uits!mt=HxZ4b!qZz8@UcW z9eO%4kn0i2==+k9J&~dGkO=su&2uQHW*nWV!!=+`?YHA^Gv*O;ORi}#i{h2`!!2a;}HFNMnkp#l7Bah*O!)=xxlP>JU76qE3Aqv z+Q7ao`N03rvW>4Ryp>pm74vUPYBTakq(^M^beiO~_pXq#$Qm7iktgzkdkcRqj3LD( z@h>CAWp6TeToOgFY7zUVk+KX24EUW8UHMsMg$Qi3#;RS!M-j(lbI2-4STr26&;5*u zI~YTTOCm2aeERv~DD9mdp6bgnHg{nKW!tW?-7;ewy?NNfWoZ%Fb zMl<{Dx-U6&RW3k%NG7Xue=1*PDdmT>L|**=%^bQ15&}?B$1;7>3d7bK*C1tR_#u$0 zY;pxAgAb5a)(H4QgaIyY>FZ&|=cFd)bqR3MurV*IUX=V9D#jTZam%B#5m$6uON%%R=$nE&44%#$@>>XYZCu1iTliUW!5_84dsNM;TNq9Mp;RF?4GL+SBPwBqR7nII>tGDdM)#NDw`pz_)Y62 z&9sxNquKb!ty%1q>2>pYWt=^uxQy~dne4X>_Sf*i7OT7|%e+@SxVV5f^tAnm`ZDB; z7C1@b!X@F_J7&%QyS9};Yn4o21;Zt*^PQOAP(kR)aE-l_R#X)!k6GoCa9QP^xgb9P DO^E9R diff --git a/Classes/nl.lproj/AssistantView.strings b/Classes/nl.lproj/AssistantView.strings deleted file mode 100644 index 243eacb861711a15fcfb527e63e2188d65e55323..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 712 zcmcJNL2JT55QX14zar!)Bqj7H9ujROSoC1*p|@z4lC~(Q0rkhLU!vKz5E?wlGQ+a- z_RV{bq1zcOLw7mAs(6~Tp={!eu zj@KN-{+IXK?SM)~-Dut7Gu1OVALcPR)GN$?eKsKi*xS|o%wU8bql49RU-xmP?yJSQ f(K~<1C(3s=db6{tU$_ZztMjz-T=0v^sX96XUD|3l diff --git a/Classes/nl.lproj/AssistantViewScreens.strings b/Classes/nl.lproj/AssistantViewScreens.strings deleted file mode 100644 index d219ac5022f564f85a0a8e70afc032773432d911..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34662 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 J-2W!i{{fL?suutN diff --git a/Classes/nl.lproj/AssistantViews.strings b/Classes/nl.lproj/AssistantViews.strings deleted file mode 100644 index 1ce464cfefdd265dae7c8ad943c7af432ced7df8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19138 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 diff --git a/Classes/nl.lproj/AssistantView~ipad.strings b/Classes/nl.lproj/AssistantView~ipad.strings deleted file mode 100644 index b27cb9834df68782600fcedc3cba297bd9713672..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2498 zcmcJQ!D_-l5QhJAo+5bk&|(x7N)Odugn|e40isAryQYw~hrWEy$Hs4f@yVmlY7+j|mYYtwdQB8NTf#UpWhGTsI54Zi z+GtX&weE%;J%v<@J9@n8C0u5vv#(w%lNObUn97`_gembc39VhiWKJff znJneyGHr30in%;6TS+eZ9oK~PgvO>5uE|Fzj*9={lp$-8(l+U4i=)!r%X+^_SY6iT z&T-yyag<1Sb>G_=h7MXoF)ce|?3uEoU;7`rtj9;m&LLMI;nQ`4XBau?jKp+8ce=ZG Q^%RAxamPPT(BJxh0c=ro@c;k- diff --git a/Classes/nl.lproj/CallIncomingView.strings b/Classes/nl.lproj/CallIncomingView.strings deleted file mode 100644 index 70e3a553900659eb5fd6ebd9b1779f502340045f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4618 zcmd6rVROS2bGPsAyYF83{i`6)WM7KXkb!jMfuks|`RvJOX-Zul#pm#3$jB?kJJRKF0!vqH zae2XY%9_Ief%kKU6ImCYwgWuxMEgU z`ke2BxeCnl_psHXIE=uajjWnNRy9V}0+S;@K&Ul&V~S-x#)n`m27V3s z?j}4QMbCIM_U18S&fqYkJ~K=}JgtaZX1Za`5^Hg(L-1JG+nguNI!VP%XHmkV(62f7*Yhkd9-CGF>J@Sb@-IZ-1sSwpu1%i93{2HP zXJN{xxIe0%)>VmNkXuz>1NlV$eZHL;N1DeiA|#v4*Y8_#pN(7+!L^kWW7 zE_u3U}tlMK0 zU(M^ugi&z?3#(&UXK53yKCwHZmMl?uFE7My(ZV!#aer1<)VwbH4nKb=hpB zSM=aI7;AxYIMmNm3aQRQ*F$yd=H+v{SXA}5!EzuUINNf@cTxp)7TdzIS+_S)JC}Wr zQu`jA%c9d=!_p*9orNhoP1SC9`0v;=wm|NJT%y*AXJLvy?$7Glv>6BDYi7s5XTMtpy(1@_)tk)A6a#b?yNN-brmgp`v3&36 zqu@#nDpZBV8$gY>y<|1$EOe^3o@aR)zbj6RQ3Le`p#Dp-*z1fJ;-ItG7AO7yXs5;@ diff --git a/Classes/nl.lproj/CallOutgoingView.strings b/Classes/nl.lproj/CallOutgoingView.strings deleted file mode 100644 index 27783edb8bd0610a31f1a879b88c48fb77ebbf14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5782 zcmds*ZByDn5XbkmpMvqFGoflLw$tfM5ejN8;6t_g4loLo5{CyXe)zV(JqSp0kh!*^ z?PRzdxxL)(|91Dkm!CgY@+8Ldj4 z%Qx~(sWH~(*O#FjFjixvJ$X+~0_iZObNXiPEq(pp9lx#2j23frd{6R|nHzE;yW%lB zLwm@-_3?}~v|gcalSrGDlC)c$tWsp<8oCUy;4A$u^RJ8zYQ-f_J0Oq})w;vIK4Z^~ znbG4}V02qSuSJONuuh*#F>%K-%j#;`4R09Do`>BgnE9Yq0a;Hrr7Vr{j1W7Uge!Ir z_3;f7s@3CSa0GUWp`VDr8~KRs$LyiU-t9^uhCp1x6@gi8k}RJ_$7uJ|iaTrxW3Gj5 z4Ll=_&H-cZiLfTSoi_2+q1P~;xE1H{|kY9M~jWtv^GfreVtwvn6@|va>+}E_e+J74oO%#RhCU z%0nS1*d+eHY*3VK>Ke_8x3q`&&`|^jn}n-3JViFx!IlADsP#oa8*=`{=y7M?5=p4CiS@+LjX{t$ z=3`LcJsvpJXxDkiX$*t7L>iV>299boWz5C;xLaQx*M3@~C)M0`#8Y5nue6WZ{|&6a zgC9oKLRjgCnZYKp96xy4Ge`|z3c#c+TeNw2BaEpK8JmPFGXK&UH9Uzup^vx1(`^tAeS_;;V3*J?b)zH2o;%8c`3=n@anTsnkb zJ$Uw1K13|FN!Zxcw(jHRi-%mb*vc09RL>F{riK`hIWHns+9X`}^PxV=I#;^XlP$gw z6hUDZ#`HK>R$`TuO~Mrg*LreUj2Vn8r<~jy>#MQ)$tLl<8S|L4wNL&SeF0h=0|93! zwLHTdk0{T^zAV@zTzCI~2y5~kpvNj*ben3Hlnav16}J2`zcv_9GaO>)1x%>5L4yiu zwnnr`JdeEQva3U|*3*%1z8787A4Kf5Ni1(y5xTMVJzn?9?D>$kfd5q@SlA?7 Jv6#o&zW`1qc`X0{ diff --git a/Classes/nl.lproj/CallView.strings b/Classes/nl.lproj/CallView.strings deleted file mode 100644 index 402d6f3124e759592e391e7bee81a19acac72ec0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19150 zcmdU%TUQg=636$mpCZerGqYCDAS&R@ng=e!ML>`Uh;K;<5Rr={QQ^bSIltOFo6z0W zbSgO=oRvkuq>`?G-K%!B|NZBg``!KOYHrzmaShkyQFDLs^W5#b4Y%a_uE*obUGmDG zyxwpv9&JzAaZT6Za~&vd-4^dPdFRXhH`LvC|6a?T@mh=bFL?ik-{HG8Yrlb5H|MgU1b&4gNm%ueKE~ zpKfg96VWp?ir=6MR~`C-cHK#_%;1-QxR>r#35r+lEpZ`n zYwiQj7ieoGgF>UwP^7O|#{XpTYrYiK3ED}BVNISzn}<16c?zr51um*ZTBg4__ZlsW z6$;WLcjp!}NHq#8(!fQvNSCm~KE5G2?TY8K5*^P$Ezxxq>|(k5)EP%4uQTi?Z5Hjk z81*MIeS&{%@O-VriUsmTmcoiUawIkQD4H&-N0vP{OWnDEHm^bWf~Y7t{d`aZ*61Wc zwXRWU+5EuU>p1mf8LA^t^{KI>#+SPO`rcoU`B#&ErRLwc@L3>QXOU(Xv19S#p08qF z@m;YZjfgc04e>a9m05V1EZ%`JbZ%nFQp1OC>PFBf{8m*Vz0#=>izw#_Gdv+k9sArAB>cP{F)=_6gT3#kn^}svJ?}Rva zgT16Px<+9|9r9kadR{28=M}d{#U~wei|2hZ({=`_Mqx!7xTqHCIx$Fk?>?USxDT&@ zcowuBYIf1_J38gGb~Oqs=EzTNU^~^L@0Ql?EAA_OXF|m#vHJ|4KFT4_Q;dT=@=`78 zI=XJ7cbR5|DzD~>e0mkkbx@yU;}Xd>iTi1-YZO-OTi9QRSx^_wB+m{xt5yw@12*bj-4>FB6YSkb4ssaEf?A1Si*4RYZX zSkJ*M`QRHCpGK@vSP=&{CuJe)#I>oR|>j zTd^9@C^VZGhp%dFW)IJkQ|d77D65rsh>d+DagJ>ze6F7B3N;F=jqLF4J*+VFZLxwc zlS7$Jq|d`1)Ap^e`rgwqNTu_g{FjdZJ5k$wf9tYZO))M1H0-p$gN^;&{AAY?4W&bewXA@{WI}EnK6p zVxGp#b=-Qq&RK$VpiQ(dXGzUm{h?7g?EO@f)VO@w9FzjXZ@_ z8n!83wkn%uRa3`?q?fz)Q*Eg*va<_~!YYrSt*X&5rQ@YWp;ZKu}}MirEDi!>RXvAZqmbv-Vbv7vKoaI^)z;( z%eH2k=u=|a3K31>{CduxH3}=z(K2|p9*wh{ILRs7zADaUO=6ZzAG$>Fguj|}CTS1W zD73n(jE8EoSlQG}suGz&%+ry}M*lh%oW+@^uxc}KQ7zJ#3j_B>*{DVS5xiY+%Y^il z2}ByNMq$OfieG%Ao0M6ooV3doszyKhj*RTB$bQfn^A|Y_ewC|DGzzN>o@z(NvMqGt zcOMe=9mV?Pe!hOj8Z?UONn!)-gt@<*skiT^!Ir)|Ord3eM(#J1eONh*3HvmU`-{+I})q7c-Q5Qv*6C}Hi#BRxv;#u2dj&yXuSN16}MPyKSLSSS9gq ziWe^imQWNgI`j!$B)0FnhL_k;oS(%RuSQ{&Sm2`C`op$)@EO~Xt?Z^h1!@vEx*4C* zD6F{0+dPa**&gzRaf5HBVY$&gJ3GATvY#pjmSS66=rfLfq4f&<7BNF;6 zsV&Z_y>2tQ*C>8w)o-pBD+np^CBm{pZQE0wMJn@9XT4_2me1L CYG8)| diff --git a/Classes/nl.lproj/CallView~ipad.strings b/Classes/nl.lproj/CallView~ipad.strings deleted file mode 100644 index 713fd006341a9a40501eb1e89d6c1b0d4b0d99ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19150 zcmdU%TT|Ou635STK80(ZW~WNCKoTH3H4j{dKnQ{003mM}40Z^YU^@wX_}TsSIX)Ok zE#$UGB3mvDvD;Sv``&$8`S0J)+`rv#uHjbP7kA`(JR0s#etvO#Zo@6Rf$Q_Qa+kdF z2d^KwV;*f!*>x?~<#SyqZrxknYw^yP`)_Ev@BY1G*WtBe-oN1e8-9oH+J^o!uN?FF z4Yzv#xmh>wW`;Ds!QV6f4zK+_*7bk6|E4D2-QhFmL%y!uH_t%>JV!ikpgiL56aQ*k z;qn<*uTnyN&qd!~S)_bAs|Ja6 z;rPs7vsyXL4{;S)%nWi{Mg{|9k)YL&u9=fWp28}Lz(pC-ksk!@_0i}LEIj(v8@#E5 z+!|Q?74JQ+<2iIHnD+6d1XO+g3ZICcp;7z}UAXGV7qsh6i)9AC{EvI?UX-AC;ocAz z68GAD;Q0b=t!7YY6dH>370dXaE`BYPqB=!82{Ek2vuN`mhbm8DwYtDXwMfhKH}77e zWwAm*dg$)lQU<9;VMQ9as21rmb~wN{B&S{R+$quVJk%0h*T628yGNc&`=3T(MXqyI ztt2MR&I@kKOJo7bBt+VMYJs#wGzzOke)i10Lk=8(yexh%5bItdrv)GRPLbC0oV4;3 zR%r!p?%+o1E73-^w)1j`p(r0O5)Gv?xpSL5?}I+dDP}E=!iqX@Q7zJKs;WL!tkh=F z&WllhBGV`M#|F>WN~~BUUt}q)s3S*GgO8)>vU+62W3$wqi)iy2gtJ6N$?50A8n8hp z5vp~KLd)j+-d-oEC(BSBf@(mGB{ja(_1E|Qdcwb2^eYYj&V|nc(K?GXyM!H!7x#S? z^Mdb+6=_7QQD}%K;j7HT%VhBmjG=QAOO_fwbYovY6C!sp?v_XVm)G|X@?W+uTSAsn z**&DtaF_8=hH<(|Zro_S;uf*$1pk$1iP>{Q2}M0?6jl$eJ6cDb6=`{eNYw}L9KRFd z+zs}U&gdG26?Mpa)#`b%#GY5(E)}12%*QzHFH(GMq#!1ZN9yaWrsRDR$OIrD6{YM`Nd<}zNHsU+86K>*=_*O?8u{(6pVtqLqKkdG8kblN01Nbyfq945!2rGurM~UjNq+K~XHL)9Z8+h#h?SL_zZGF6dAFne+^u=3PeH8iiE` zk)L`d3Sl}`9FKR2O)@!>PD*Cp@A!Ax!Zivj<~n9%lh&C{X1~%|wS3l{<#)FJ&?u}D z_^0a3>3m^{3??~Dc9zPgb~MQjz;qrTt-8n$4ybSC+-MycNFV+x zm&Y^;t0aD|v%-&LDcLh!BHAV7?@w4mTKgJ>6?46n{kSIwM_`rHqQ9tIWTN;sx2dI3 zSh3fAa!|IzD)p^Q6*uYOMDP2#{YH(#in@*+*0L>!7W$N!wn{{kIKQ6rXN|&&bi53n ztw-Z5Cr*vZwq=U5S&Nt@(}x}rJmIevok`k*H43fnD&wKrELJu(ld42!5DRqVvVpyh z1!r;QDXiKITvUrR=EA^zQ8qdz{|Me5xMf0m#sngbSEI1vUBfTF(M`%MR8ElP3RR;Y zf2TqA3}m09!~8|gIA7#y6OF@Uh$OsH)i_Z7M4;ug7toy}Wnx9mJdqp(UxI_?&pA{#Ja z@8yX4K~56n9=H=;mHn*7@B~R_NixTcc*N>&uxFX>R_|qTMqLzLPLb?761ycwif3(+ zInvQZqp(V>j{7?-UUY`+UxBwtuPfN^&|Vs~Mqx$$RPm%NgUarpX!{NQzC6#6U$W@) z6jt=(WzeUM7iZ{RPFV-u2YT2;c8frxuu9_pDPF{yWU?7T2YJeA;16H1JSWa&XJs0N zRh|!de5x73?9gM1;%b+Es)r=@e0TL6e~WX*I1AS(tda;^R9mOnHZ(rtL$Yn$@~34j z;%hGxTQmwQ?#VVZrkfh=k~8F<_;{vKr1=Z1Up8-FdkJi#_iVkcQCKCA=B8>37!UcS zueTEVP^rPrsZnn;y4NUvX5?jeyIrE|L$LPzw2Du;(WK2?Qd+k}wq zW0^ZH_&Y=Qh=kd*ZjHh!m#5!^h$k53yHb5*A=?lVArow7Cnph&!YYx-Pd&R*`u|o? zJd+-PTH@rKpWe;lJJ}OfjlwDeovUhVqO!B}Tf9NeRW^wavODk+k4WbUjlzn&j=4S0XGim;H+Ko{Y43(Q=kA9yIsG*$EHyvf#f*uMTc>b>rm+fdV z2aDq}i?gF5Zsw<$G22GWONlheGKv_@j=)d+79%-CbWD4Nj}vIRn6fE;U4vqJGyAyp z@F?7F@j`Cr%x7S5E3>G|?QnFzQK_f1j@75yn%#wmy-L|Pnktk z4o{+w6=vf5Z}YyU@^;l$r>bHqVnZH7+_4YYzZq1@EUHpTBQ3rFb*t$=bQALx^vGr^ SRiyaxEDD5*7F7wEy7>YKlIIry diff --git a/Classes/nl.lproj/ChatConversationImdnView.strings b/Classes/nl.lproj/ChatConversationImdnView.strings deleted file mode 100644 index 45142e0ca3cd39307e3fe014ec92e24764e5ad95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1874 zcmd6nSx>@16ot<-zoOxhq$sE_8edp~5aNm?K2k(vCs17ey!y?wg+R*E7!xxoEi?Dt zIp^Hv`zxg*W#p)+p<0@=99{CH^{A=}TF7TjG-l_5{g&FSjW03Ry958K`wW7_8Od*j>upM}x3DNz^c=G|W7GqoOb_9h1@YV`kr{koohxEs}6ooF-m z9B!XdV+-<-wJWH;ZHhIOR}QW6__)OI@C-a6#o{co;0aKz>SQ;9eRZ?yf#lt?SubOB zAAxT-bC0|n!}*S!xjeTjZ!nLuNLnk`U@>S8sfJ)uBvmTPL{teSn48J+#(TzeamcLc z9iPn3|45Sv!>Stgqe#m0HxuNris++KnOZodhg~|s3p>jc@u6J0a{R ze6Q<3e@kq*5WZ|w`Sw1fJ~&|?lk!zM%@0)6jA3< z9S@&T8*Lp?DWQJCXNVSdv|Unz3*oBt@G^)lo>#?4gJV1s#_Z;X?Q-!mmDNbI^Zcw$O>G1H)8? z8WNuBXGTU}Fw-Kk6Lf=Gx+$^XLin-};fwJmz)Bx`0X{zUc7mc)s@qJv{B5C5A!VjA zPB2rqm>C_;x#YC!uHcI8c~@{D7O<0Bn`!>3Jzw8_wEea$-^0WuSstKv^JWlfrIckC l;_GL*i<(lh5u>M=w*jNA3>{Tx-4*Neth*4dtXJ7@=mAB^vjG4A diff --git a/Classes/nl.lproj/ChatConversationView.strings b/Classes/nl.lproj/ChatConversationView.strings deleted file mode 100644 index bf88da50d429e8e2c08bd15ad96eff070498b282..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7660 zcmd6s+inv<42FH(r-+caLD~Xo3seXR8ctP9K=cIMrAN}kHnd4wczEFRER$vjFSC;< zrHZ=S?0R?X-}Y~h^Xun~+?RXOkd_=vN6z^) zWLLJO%X3{MzRN22wz+dWe8ZBHKKk?Id+r``e+TJhc{!9?{B!>vn#}P3qRiG><<9U8 z>%8?0O%L3gW_Zi=Y+7TjTy`TiJ(PvOD!r0w*QT@U$HC_1vwgt14IQJ4R4W z*hQcG#xnF6o7H;N;h0Y>hCj-tWH8GF~9}$*BDi%u)0nO8|#Oej#yk;>(CS!?LE*tw13|mB{2>Lmkx)bPl#C_RyfbWp4sopbNt+OeT>$S6PWOnZw33z!fLY- zyO-gB16ZN#drM*#4;D4%x*Ck?qV-Md+E=8Mm(HEn&(Q18c|LcV6}rVR zxC!sCpr_jZ3jH#AvL@#;3YNsQy+4`d_4?5^wkiW&IQ!@58^XA^BvLJ3cQIeLXAPr1 zg#*hyN!`A#O?-X>g)f{l`0vqQ{iT+$s+zG7HXwc6zcUtAK960;qk}r*o5`hgS@vSQvF`^ikFW4 zcG0cq7PV8;-Id}yU0kYqv4&Lbb2iC_ZE)E@zl{2D1wWMIz>-MCrAn{qqLCgYTV$8&Z^M#ZkeH)S%;W{%-UN795~+BM(>qVbA64;KohLi= z3O~T0%@^^6{>Lx<7jy6$2M8>;GPkItfny<75@ zM~n|{ezMSm7du$qclC3D{i&bJ_{oALk?QsFCkru#tb=-Wb?8wWPMq~e99M~faC&S> zOw0SBt<&FC>F*>PSiZ$MBXd@V`w#DZOCr_#Z6fS;@2V^-%iL#4SaC4kuIlDJKcMpU z@c9Y*s|?oc(lwVYwj^%9=gZRt&*fF@Z`oJ}1z&@%XKUqk|IaTi)-=DG`v%l|&H4|n T{vA*&!(ToviPQ+F?u>r}Ys8vf diff --git a/Classes/nl.lproj/ChatRoomView.strings b/Classes/nl.lproj/ChatRoomView.strings deleted file mode 100644 index 72c87d738d860e48ffd66b2954f118e652813f2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2926 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 diff --git a/Classes/nl.lproj/DialerView.strings b/Classes/nl.lproj/DialerView.strings deleted file mode 100644 index d865102d3d8d5bbd5710c33aa2c6f713b7902ae2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3726 zcmchaO;5r=5Qg6~zoOyDL4}qNV>}2-Br)-za_6H_6oEi7`sdYmc33N5sjIHp6q@OF z-+5-H-RawF0sAN+Knr8^u;2)A%%g}Kba0Ir&q&b5h-YIAX+PrC9tIq-nLk3GSI0aO zyx@Y@`ev?O=L{2Gi7_|#P0a6*E6rE;>x!4W>zJCaDsR=_;0P)e)}po0b0x4mT=5EUq=6Dt<|9rDlNlp`b$Y_&Lpbhm!y)L6I*{NN!^)5Rs53JH&b>_Z2hGq4QCQn@k?^WJ+;Rk zVRwHNZtag^aottgRC+QUiS&7i(ez7a_rk0^MO(Y2SX{YO#V^S@W4B=cw>wYK)}ARA zSDw#WeyN(I8sH&^s*DErOC`6@liFO#N#Te4niQGc$2naJKEQ{pP(zFUB1CaoFrPBo6K!N0WT2 GR=_)KPc5_n diff --git a/Classes/nl.lproj/DialerView~ipad.strings b/Classes/nl.lproj/DialerView~ipad.strings deleted file mode 100644 index 2d303211562a0e370ed695d8f8a54242e561dcd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8632 zcmds+ZBx@g5Xbj*KShR@%tT95pp4@SKpw4BsnqJbv<(RM0ZT#g!>j+j>)9r`kZ$oJ z<76ms*=F~*x3{}@`Sr6z&uNuB+NC~)bc4&Im-tzsGdiO86w!B@&^}$_uRirK{sMPH z>f(x&{3Ug8w~wC*-BTU+I!e|&XOD)s6VX_GZ>TE@Y4B6{NHk z)v3l+*jd8gReH9N_LViH!+dl^4mE3dI9KGR6~M{{c1 zs#&T>{1 zRA?&^2RtH;1g#}+t{+EY;x&sTpmKtQN2DZLi(8WQoH+?-Ek&{>Ced2ll5FIXnD{eU zCZIq}qP4gs*~}#|@i!xpXH2cdElDkx#Khl>WL-QbT8mo}lbNztyotXV$%dFjYjI0b z$(<7ue>0LzF^SgVmc(SH>^U*&6(Dic9>Vc9wS6*wp19^BBE5uivSC2_~ThJPTR$CF_ zcZiF3DRFzQm0xZkZTf4s^S%o!`ndA_knA_u5Au#<2YgzaTP|a5R=z1C|80^_AF&_u z=@e@-O3brOLOSc(3b&+YJ!X+ssD)j&Pw%k5_py41_&*uZX$dK55t-Li@+{ISeMJUi z(lI`3>Xac)YLk$X7SU;%oRdXbLv6eV;}5JsAM<*GOd2P(Nk~bH=-={s>OE@XY|6(; z5zlFvzR}wRsZBykT13yiSbukbOtb~kZQ8)+Ddx75;I&Ced5iD=<~tdWvf}yxQC$Z2 zg`z*lYBuMPrrWSdNa^Qoahsc$?>vqX1xK2w@AE4G;h;-YLs`5NdmXt z%R9MgqX*?0H9*z&L2!nA9AAYt38|Ng*k9zGCAN`i4#D___VC#SuQ>%W-HA;?N?OEO z<6^u14k}C=q%E*A^>*s)(Iz3~E$T$ToM>mQ_6{hy_pD+ny2jK^K)A@XuO-`OOjUeZ>S F=r_Kc8-M@+ diff --git a/Classes/nl.lproj/FirstLoginView.strings b/Classes/nl.lproj/FirstLoginView.strings deleted file mode 100644 index 918214345836218294542ff77371976058aec18e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7170 zcmds*UsKvp5XJYIPvQ9JOl;NG;&l2T3e}D%T9N7-Dhd^me-`A!xBcCVkx8;KxdL|T zFvLhU**$yq?w*@JzccbqmSjP;q$ySD@mY{Bd>5rGyK*cw8A@LY(%`Hqm;C;jt5vz+ zQ?vFBIp=DVZ(kl{k89`FcJiDa|97Rum0QlnPdLEpC;we=*RE_od3`UZawQ&~RypQ* z?$P5NOGKLCT(ekC71838mokxuW6JRK=W>ygdt&X&9Z1}>P{3awv~`=k7WhmS+kBd2 zEh#4^3!aRy_TZx+8s3%5+X`ut2fs4*)t0- z5cHpfZc^D}w)!A3Yr{vAr!LHIU4D50_q{#4;8=t0n!Vbvndl|r?T`~szHzTdj((84 zvCqjGh*~UL?M~tn^}tcg@0;_X;tYS=qNynHe&U zD``C>_2^x?@Gskg8+HQUD>`6-b+2oaoLqCaM^tMZ)E1bfs%TkC1!m=V7rkl$94V=LkKks z_o@v?1*k@HFpSG6*${sReGodqpX6psaa^X znH0mUF}n4ZQ>xf>l}$8+Cnt1QUwQazP_sybQ;TC-tY!339(A-&yhYB&jKpzR#m20= z2dfo&C?tQ%_}DZH4V&iI70bMO%q6JIWV~f67}dTSQAC=>|J7qO1i{s)S!hhozQ?%k zb>in?9c6n9heviEZZKm$gnEuM@^@s7#kyus`VV%01(-Zj5T+$L#Pt@p)a>7ZeIpvc;u+ol&)LRd5l z4U6V?S}fsN+;-Z7^z81y1EHCib^8t>$dhKFVM`Ootg)uoK0VaYH3-*0=rJ`%uo=b~ zwMc_A977VuS@a$4oojsknqAre)Ez3`nW}&TvG;zEXvx}}w&;Jl5nTL6!v`r_dKQc4fn`;(ti+>Gakbli$Ui>G` i=`=GXzVD5A4}J>MSEx?2>epE_L9CjEhBZwb8Tkt$o+|VJ diff --git a/Classes/nl.lproj/HistoryDetailsView.strings b/Classes/nl.lproj/HistoryDetailsView.strings deleted file mode 100644 index b1efc77cff6c328a51d1fceda6002840254e3b5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5466 zcmds*Uvtt>5XJYIPr>xDGeNCGYsYa$2#8b-qt;IGjeji^2pyo+`r*~zy-i@aTnI@7 z)L}?Mvf1pOJ$vqkUq3VQL=Gh@t_-9h6Fyma#rHtINL7k*CsRHn@j3I7^9^b7>1fNI zG^NLVJuDvNJ=dCC8O%HswRJzZv&PjMuD7tRN@-?w8eBglk_^YElH2Gh2Qv@ncpVez zwf2<3%etJZGQ|Hi_goNpN4^EmkCU0J5t-^Zry7-ej@9pR;B8g5NAf(d2=i5E;$~bS z?xxPUCw-m$glAuA{8a_oWag7&R#aR*`_@9lx4}K5S!JV8n^!kJ4@|UtVj2>`qo>tK z<(H7k|ARa>`%)7cKC61D!5PF?=fz5AJRnzr%0iLzVOX-8ju=Tag%TuGa z>P*}&xX}11ma7Ol>>GcG?dfoFsjpIl^%%UMU+dyv`-5#61$GTgY!-1b3S&`vH<4R3 zql03o$hOOk@VVfMl+QoXkB)YoLzgN->oJ@_1TIq$>G9Q$#wl4oVr+K?2bFsiv~ zCW$MmbM`x7ROqQ1+^K`9gT{Q7g25o0MO+3gPasL>k4?15?8C5*A-g_c}1KFP?#y%_66Lt95Y^+EUR}^dZJC(HgUq>lM1@1WVjQQ65 zAH-%6mqGu}RMKTKSMPj0X`vh=4Ih58g_xp;!wkCD=c&zL{1?7K-*j)NFRM zAG5P>-hAxGyM+VPVdD%DJj~f_oUqq$j~+T$AZ42(=FTzqJ@{;aN`@FA%ElHNul?KcPCu?)YU_GrK44x*NM~OyoJV(Fw|BWaumS^ zj+wqbS8M_8Gcj3wZ-3kj$bhgN;AsPy_`pPCql}@p!BD$0LzhJHs(8dBroVodr*rZn z@s&qk83(Sxfm@k_4lQ4@CwNg^`}Ka8FGcJ*-=5~lZVL}#`dN0W=E8$oxFn+!@+#I! zMoX4T1_*+`W_J@!T*JYD^~k}Hqi^_no5X+P<&OM|52X5id1QAy#2Aweht=zfV;{FT zGI-f0QI(f6T;D~>`Y*_>kT`!++w#9))$ zoKUxSekq>SmV55n<5t#NcOG`Tb;bQ0xzv#K2I+QEP0el*6j5ofA)5m2c5CzjZaT)> zrB_S~hIw^LM@$Z6)Bt8}$ck&Xf27}(c@^_DS?XNgEb%TqzFYO!^P$YM-(za`Q!952 Fw{LrgG(G?T diff --git a/Classes/nl.lproj/ImageView.strings b/Classes/nl.lproj/ImageView.strings deleted file mode 100644 index f89f0207e24a812d97f5dc0aa714e7aa846fc2b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcma)$F$%&^5JX>{Q-qWO6)Ov|Q5!)b2x6VY6j4z@L-6wIBg6<|A;Vw(?#}GY^ARv0 zCS=Bul&c7t_#!qem{M^QXHHJW&Qo$xG|ZBWQe7$I&eC1x=Ga|G>}tEYjH{}uRei3l zRP1HtURcO`d#~9tq{o4awbp&q`p4!C{QqL~|4J8iE{VAcQ`Odx-B-$@aSV6?U`8-e diff --git a/Classes/nl.lproj/InCallView.strings b/Classes/nl.lproj/InCallView.strings deleted file mode 100644 index 2af985384d66166db98ec801521a278a2f94a5e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcma)%y9&ZE7=_QArwAQ8cv)P;MO_MlL-7I9SZK7iP;dD1>PK2SIml1Q&$;E~^ER3) zmDNVIoUV-3ij(M|Ol#eBV_G#JOK>O8lu;Q}DBueyUfRJGF!h*_>lrz(3e3Y_;5+U< zYmfc};_+wNj=s4TnhlzieullrCV#!3j7d4!6`u3ZtJNbmu>8j{9ZJW3jA;3zrO_7< CgfGqj diff --git a/Classes/nl.lproj/IncomingCallView.strings b/Classes/nl.lproj/IncomingCallView.strings deleted file mode 100644 index d9397e11ac3306140c42441d70580bc8c2e23c9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1642 zcmcIkO;3YB5PfHU1?jN|ZLPLxj0bHKLt^x#o)?M+3zW3fk3X-z9axAYrEFufSy*P5 znR)Zx?9aD@Q}p3th8PMP4i{IPJv_q04YtTRR!C{Nq+KE42<2o19})kHc;X9p-1E5; zS03j43S>X!s`&qbXWqn~)Bn6WJ1+P8%*Ww+jFV2WdX)N{%x-8iYTU= zl-bzyT$4Q|)zoYjUEyL^2M*EXP+M%f@RoV|jI||#WyzSri`)$QZdlNs665h$wyBoK zT(ruPDyx8%iaFZVKB97p6Xw3s7Ta3s=u3$na}n{xd!Y2BB?oVO zMzrj2++-n{T~Vf@v4~;a3o$i(kS`VCO|;O&8E2dGobzH2luBzJi6*^8_Z`sBo{Zo} zMsk4n^fop*r?cltZwfY(tZ-n;z!r24g~T=sZ+Y(#ZLNu5k}~GuSyl#78^)AJ#CSZG zZM-$$T||`4vRnD|)Rbd)w6_^K$q7}jgv8cY!umv754alBTSuGRrr46B1kAe%E86tthV#Luc1TRRvRV>9VHT;*SN`JK(sH3pqQ13YrYiRKogS*vlgv6G?A#Dk3W%@~(T-E)c lysg+Y^>%Y#HQ`j6a~@5)i|Wh&em8WsdZCcm@_3Bzh9BOJ^tS*2 diff --git a/Classes/nl.lproj/SettingsView.strings b/Classes/nl.lproj/SettingsView.strings deleted file mode 100644 index 09bbf0dfbd9ca99aaa0bc24275459c03026a4bfe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 752 zcmbu6xeCHy5QL}BQv^#v1zWN3LINH|)ZQa#qIf2vFRy<2)d&)dB1=;2KeMwld%ajH zDKA?Mtu)qwvQ_2FX(&f^MGC2n)^sZL$C^@}LHe4=hv$PhtHaxbmsK*MrWs{}kNKhD zhL1UYumR{PeMilN)1VWnpgElQe@v9~Y-+(yLlnQ-E0?H@nC>zCeYY*$J>E8EW7|0Q z%*GblpOSjHzvmP(=>-3ormL0)l%t;7ax+qJwNn@W3zhl%q_}-Bo++duis;={Ury6> pv%LIw^}4ymGQ;7VECRe8jn5&Qx8EG5A%4B{z}z$9((zR+-2hpzbj$z% diff --git a/Classes/nl.lproj/ShopView.strings b/Classes/nl.lproj/ShopView.strings deleted file mode 100644 index 1d36ff076f355597d74bfb84c356581a85c32353..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 488 zcma)&PYVH26vfYaKE-6Iu#{wBP^N_PXJI#(^q3G&@#XQG8HNx#z1Qo$bM8IoUe1n6 z%F9(lkpk_3s~RV#k$ibN$bya5RI1bi%|Mtijixf_42+XH{7w0ZvJQ34feSy@+eB+` zeR^=0uxHeLH8V|1L#TyrhrC&NZk5h;DCr0rvU%70`7)PNNZ{D_4cVycnj$K^D zym-C?zHRD}K6Pu+9ns&nIZ#_Y^?#%{9d zBI(L&bh7d#H~ zYJZ^F2`qf<$*~MzB9JQMnPw->he@KKb=&M(#Z4WHF4)t@y1~-A0jH|7Y^SH>HzJlEAe9+4&q6MHSZSRpo=+yM@m)#QMg(v=lUn(ps_-h3BH8bJ z;xD?RhCSHUeaDOL>$6W)-6~Zl9{(l@69b!DW5fOMx3L+yPy+v)tWmeIJ*q;S1(U?% zx{al;-p+&ds+oMHzqwS|24kIAt0j0&N|>VU@u0Ouv+WkWX{VagRjy&pmp6=K?(_$1 N+?gay-2JIj{RT&0OT+*G diff --git a/Classes/pl.lproj/AssistantLinkView.strings b/Classes/pl.lproj/AssistantLinkView.strings deleted file mode 100644 index a953b6136da039726251711b2bfa132eec3b5fba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6470 zcmd^@-)|a65XT3pQYHTfc|(3o3vJS*O&j$A+eCF7V`}5Lai1{81_Ib2*cg=mI`3^i z-(9Z9kA?HmT6R^TJN9m8cV}k5^PSoI^N%(A#vWVNHmz+{`^YbAKXa|yp>5k6-kn&T zzIA)a+p5+0)ty|Eo+dp_>)UWbG8$iSvKMw`T_m!Msq=qjmu?=d)a2?jr~3W;d(7EF zuEv{f+d|Uo@~z$2ua>j#>B(_vZa?BN`mfOrN#t*(@A}`X6wqhrbgGYa?%TjFtY;&1 z>Y{HI+4sDW##N`m8mp)AV4s<87#&&m20Kf(!}B}a!{__73hc(Fdn#Gwjyx0T5nEqo z#X{zb%%&Zq!+{;~{Mw4NcW6nIy_GD!FU&k=hgzWJiT%L+6pua~`!d2zNaFv1nULMn z(G-%%gIbT>beIvByd+AN$H@lF(C4Sv^17tK%_cEgXTPOk#8MIS_}LaQ%ND43?wI9_ z`v>ChdUiL@v=M6-c?c1#j8$i<4D={ip8U~ikK6#urJ-JUCBMoGgXAuFdb5t7KW zTjIxAT^1oE9g|eXczcD7%0Z{&ow=kfbkwcE>Uv*Chlo+XBI1+wd;|F$oL1nzP0qQQ z+w*yeJee!BZft9`auU`bN><&nYY?9UnN{xJk=b6%`C(onE%xsts~&-fEa<3Wp<1dv zd=)YTF;|Wwl;d`}ve>T}YK-4rySQqCD)C7Z`7S**{)MwV?Fw!GrsFW7x<;$`xrM|_ zhs>^f+hx6utD@8+eR|A###NhG;cGWaajYs#vw4j@vZbBgJ>xoM~W2wTowW&4d;ks)v1#@~uqorL22Sw?TwNy_%Uam4y) z6ocy|rnBKW|BBKc2yMC87vCtd#VLwv$$oaNm?P#HLOLd4`kz&$1vHYk{Z8q`sJLJ5 z&A04v3EURhQ=MJja^{`(W=J9}dbcLLB@g@atRnyJy`pMPXX%eFfzGnC@0wIaCemX`U`N!v@sB%~Cjw{`qO$qXlaUwHvqDxf82Kk_}}*-UJOB+_E$KI+}4U_Sb~vFM~5vTYU_ z^Zp6deer5Z{JE$;5)n8lMnU9wut>Dc6Zk{XzwRP&NU38Z|p5<${Zt3!N)Wn zLJ}c<@M~&Cot2BsQ?yr3qr+RpMUs65ka|G=KVbF(7FH508-YK439fK(xU`ehAK z7@^bnPSBj-Gy(B_;XL>1QwgcZT9>#Ss}Ihj^N8HggwEG4ix73Xm#g`kfUl$Wsh30# tl?cs-~_{0s|bYh(Zb diff --git a/Classes/pl.lproj/AssistantViewScreens.strings b/Classes/pl.lproj/AssistantViewScreens.strings deleted file mode 100644 index 31e6ffc73bfc4290c600bf17641e2596255207c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35042 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 diff --git a/Classes/pl.lproj/CallOutgoingView.strings b/Classes/pl.lproj/CallOutgoingView.strings deleted file mode 100644 index 986dc875630d85fb821267e9214824d686a9754c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5730 zcmds*Z%-OQ5XOh3NfSQ>=}VKNYAf0_O?rT+XaWD!R{IJNMWCEfQSrmK{msHby;}+! zE86DbaPgVlyFsEy-%-U<-_4~zOw-PIwtkL;R$qiR7%8_h{ z$LciW4&N3AE9TL9j(3|x%A7PwyH~?gd>QGJl-5w&7TR>pd2^igCzLYCUGb=$?)dlv zEYI1Yzj_=VOW;rki85$;vLq#G3|54A*d*NXXc^zCK3z^yogNo~U64}*>l5vNCtFy) zC&!ExVj~~3KQ7^F|2}c4nNXR^@=?6^eWzC3VoR7sO>Aor7b$cOnES}iXL8PW&6o~v z4HGwYehE1FbRq^PXy%EJq$h7=UB1LHh)bjlx~kVG?wjnRdTGSp@ZLtV7CKF*;p0Zc z^f|E%a~+y!C^8n|pRW--Y!a?9;e(7a%Ja*KG#r@0@|?+xCLEcL*l&|?wcjl#9>#|` zaIOuqV-h3y#O)`nubDb=4wFZ-!6xBqeTm$?kUKc)WnvmOoHZxpVd+&+D5IgWV}mN% zXQQw#*d+d6PFR-}`WEHLYsMX7X*Yt0O~N%QX3q&3Ea{RR+GzxgVf7!^FBHMy5(ExS zb{tCqEbhmJO~MriyH@V?p=0Ww_M2_lH{E0#Tf;h9q95I-+LegyBA?o^`mp`>z@qUO zh+Z4a<@jA^*UV|| zXt;FPb`K=c!roW!q2VHE+@fW_lL-6zkS}Z!vx$qRy>V3WWB?{5S!T@P&oIYAWNZ?y z$UOCpW7kyJIyrXD+oW4ql}>X7G_rZgJ}Go%J*}J*;<{zHe^A zoO**;G(AHXjy#HZ)h6NU)!Elbm+rACCsYy-HY_ma@q4syvPrmN;MzULBfwsZ9$FcL zL4TB`vsLRWu`bCb@o!beJ#K7uENe}{a{>9PNTgZgk^6q^zY8`A*JxOmOd^nPi4I)X zdIFZ~!m>NqcSNPr+TWlfy5AGpB%T+`xp=ilUD3Nyolg(OTZQlL+iR0}e6Pl{+@<4l btKfIkwYSFSJ;pp0wj9C0CgF;Ky@LM&AS7!g diff --git a/Classes/pl.lproj/CallView.strings b/Classes/pl.lproj/CallView.strings deleted file mode 100644 index c3e48f40caf85d0aa9b7b0e4cd3e9ccea14d49e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19086 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 diff --git a/Classes/pl.lproj/CallView~ipad.strings b/Classes/pl.lproj/CallView~ipad.strings deleted file mode 100644 index 73b306a4af439defc15117b324eb17c4a9c3c94c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19082 zcmd6vTT|Ou62}h@TU(WHuy52n?M{_ufCNl-Yaa{@*ANH}A+S%jF~OKyFb=^VerA7t z4gw^#A~i-1Ma4FDWA(r9-KUkm{(R+rcfYzxx9Cn?)Ajk8bpPewFK*YZxdk_H*Zf?# zbKdz6?>AkWpN^;Ox|ZwmcU>rM-8(*O@yY4^H#FRh|E%qfd9TgqXMBFebNH?;=udd3 z&EK!NrTf2|c5`m(j^x zNxaTTB1>VFMBru!Ph}$ZXc2Grj{m$mY@R45HOP=`BGI6BFQYgsX%tq(fs1Obe~TLD znk*=FO>DpUs1L~G5q7`EisO_uYGI}n`%!?kGrM{d;mzUt1Ce}%& z?zt~1Yt|^V94(bbvbH@bX}v|L_W9-kwTx8J9iA_F6+HEj-&*t>lm3%4=%f+~aVbx) zb*xzY_uAJcZ}_gb-i)nTqtFl^aJ@d?({u|H9rr&v3-Q;$-H^|u?mG9}4c#HHPx(!H zkmu0!d%iz(VPenUyj-NSI_0Mbf6F8P!|VM!*)82;)sd;xZI3B5{0m6EiNy#XJ>+l; z;&V9p;(3#9VqxNM6Vg#guhWI94D!)pS=lJQ=;pEc2;Y`RiRCkQa*M4%qp*7SIHP#1 z#XP%TB!XRob%y5%eO#fRU?~rXvlLdufs1OR_{$vc_C25BWi~k+1M*LxIYjSq zWX{9B0*%D-B|5PP>)*~yRx}Db_Q%{*tMjsXdzJVm6S6bkjn1K+m6X;s3M=w)=IydN zUq#0!`hRGH3}=@z(uu4 zKl(~pdd|?Bg;S8?T74bln_yq|QC_;A<&*?83abRR;ZACFnGZ|O8Tjdcwtjz}&c!wn z-ypWh>|w{-zz5$)ByB*W(7Kf>C*sfBp>9#}$%Og4&ul#`Kb}>@mAXcuVXm@69j#B> z!P4aPEA*~Kb7~WaisC}i>>_z`kzdVh zQO(SQ?F03WWb_+2N!qzaq3Jw%MJxZ7bKOm3B`3ul_iQSA8Bydn70XPX*@RjcuoLZX^XBbx9kJxmj>FW_1#+rLlzo_Vhg&2w15Tlcmi zIb=`$;%iy89)DAO=5L=PZWF6Mpvz^VRfJY=_(|HYMxoj7)8~kzMI^E2HlANpdv9ak zU%^=OwfATGj`$ocj?Nl|)oO*C-aR)(`Wy{;`6+|s-yN_Yq1}kN;p|;kG|BEr*w4@? ztk}mpWr$C2@}krZQA(ys(qqYl{5`)XEnB0oVh&tXtLLXyp$#-GJy*+T-)WxH^@v7c zmB8~>p`&?3o!lTft=vStLFAK}>ZzY4za#p^)4JFzGzzPHWYa)S5o9yxskQlNQYkl= zX%Hc#Ry*`r{ffC5v;&R8ig~=%f7x?~CRpXP=@04}nMS_LY<+1IR_xLsv-Ho_@^oPBrhC&iYYJWQyis+GIOBock&U#N0_ z>=|-z#x3#)TcEepZs}=_Mq!mo{SiO$om9e|>`4YKRO>16Ogb+<9Kp*fQn)4eiFa(0 z5t8viqp(V09QSruJVG{8--5S6Co9;8WWgkAjlzn0-1|~Rxli^7Ma%1S@$xuDW=NyX zQdm)!%Y8rB_rIWXIbR)k+wWrs;f(L${6eF!O5$hx{%GC)F*1^qyzjn#c+DA9da9*S zSY`CGy8Y=pf5?lLUAmt>GTHUL&}+OYo(;w`ZH>YzlfXr_dBL`Kae{})K5@&ReYJ?1 z>60Ig!ixJTdl#ckcE$SSj`sLuB2VvUc!6xzu6X=gXgys;YZO-e;asjyMwX~twf@T? zKlgP}M9(O-QjZ$)HkC6pikFN$++UVI^F2q``(W++36EHOdK*Qfup$mzRIB5%n+%sk zc&P#Fc!TswayM_XF3>2fh{w6f5NE!CBG0QY$!UW7E16AjPf@F>*8Dx8yF|kDd9_AimC(=MXDGk-bd4-zr$HiQg!OD^B%)DRB{JTV5B+~1$j^@h zP)od=@l&;Fyr`avni_>w20B;O=F6hf?_0b<&OkPZ6mr@>i$^5$g+^gTK919G%l+>| bwwYw_O*WzA%>RV#uOw=X!iqY5|NH*|mCjT# diff --git a/Classes/pl.lproj/ChatConversationCreateView.strings b/Classes/pl.lproj/ChatConversationCreateView.strings deleted file mode 100644 index a453cd27d6007211686fcc74e576151d08a9068c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1426 zcmchX!AiqG5QhJAo}%&n)X`9p93@Ccr+i)A%GN-yN|7fm(VU=nak0Y{Q5O8WM74EZMmr|*RDJn+W3+XtapBS9 z3>Nbyi-Vmq?v}fZihN=;VVP}6E+2YFS3Ofs#X>ewyd$QEcYA`4=7`5PEOW`ZBwJXG zb!}LU^a!gXSWYXfnk?F~+ML}sD*M&ez}#!Ng@aF(q!3t9Q+;kAp?ZF9;kRa*EZTCo zCvINBt}+w-Z%=+kALKo@PcOyPL@16ot<-zoOxhq$sE_8Xshdg2WXuK2k+xH%L+W@#;6z76K`oi3ypsl$pDn zd(OS{^PSL+QgW16M|Hik93Ar{b*GYY@-<}j)nn&~{kk4m4QttyrzU<)EWT9X%;Tgp ziIB6_?a=d*(-!BCSeI0oSe5mlTe;+F@P1~Ug&rxeCHRiBNUwz?ImvPl;-Sqxw$T$r zURHTYT{67jQKP-KzGJjEjo|lOCNcRGDn%iN-?|>V^u`_5Uz~}3K7>F=TwO@^5`}A+2 zNfG7u^~Bp__2=}Dv)DHMGfeNH_H=;qWh!{(esQ?@`z!lDuDYOKqREf5h@1Rb40Vg( R90aE8J9J^2{xp#j`UMyz60iUO diff --git a/Classes/pl.lproj/ChatConversationInfoView.strings b/Classes/pl.lproj/ChatConversationInfoView.strings deleted file mode 100644 index e5a63625d1d6af99bbc38b5c52c268dfb3dd9c3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2818 zcmd6p-A>y;5QPu7c?ye5Btt8tRu$?+6IzlAnE(lJYalcxe-HvKsL$T^+jU|?SnMoS zs>+I;WY6x*oH;Y&-@hu_(3%3()K{z$BCOTEZ zz68X*c3C@RrJtQpwdme-=N_w${zcw((T*wZVVToic=><@N)AvzP&%qO4tYwF_VLQ{B5zZRCjW=%yvZ}IDWilT z+9=fOmmagY`a3Oqoi16h>-)%MI zmC?h`TWhUM5%av5iEO6q?46@Q3>U;-+yh*ZJnaE4#5#6TYq`cB+w=8(`8mCVi3@Vt vMcw92AkyYsPF;xqEvHS?GKTwvH-m&(AKQLWKVPKLb!5VWWS<6bIYw@ diff --git a/Classes/pl.lproj/ChatConversationView.strings b/Classes/pl.lproj/ChatConversationView.strings deleted file mode 100644 index e26aff0827b4caacc76e9a0a3ad9ba8cacc790ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7526 zcmd6s?N1s(5XQ%^{uRWeUrf%nsI{hPQpJ}V6^#~Y>nFgMqDX1WRppOw`R*t9C!xx#5-Nhh0S|tQ-kKh(@SXEd z`3O7uT(ZpYS%mswpXe)Nl@m?oc*6H9UdK}nzUR-2b)Kks`QcTv0Vj6xLIvvx`$c)} z_`+uq>IAcvY6FftLD$-9e!;R`vS~YzjiqP;7S`V%$eh1+*_#M0*Gr=EfI5z zQHdl6d=_(H=;xKY4A7s8YO${T)4!gcuOeoP?=~}1gzK!vh{~!sSd|58zJ9gkv&cKX z)VGZxxRfCzV+>Ya=vSO4TPFIRBf_VI|uBis>FB6oQvrA2S?9*7NJqD z;P+V8rY2G6=&mcQ0z88Eb$n7GD@3UM4O)=ofX^b-Ct4FvwgL=iOV!j&k(BXCM4ftq zDkMGQvk3LfB-xU^Dz2l8O}sEq6&T41-!>gz_$)$w5n2^LE<=W|l?Jsz5BxQgD~ha{ zea8zvi%>5-#aeMQsIADJt~NZQn*4+>HqeVmzM#TI#}_^eU+$PxZD>1GVLgI#YGADu zFQ^uEm-tEc9Na#OQ8+NU9zuHGu1(iq8T>a?OcA?^L-t2WZS+|@#tS-nT0N1*`Z6=^ z?}gg1R=W|pFYcmj+PR$@Ah@rG*P(7Gfwn5|ImdJc++K;#!pHbko?IiN*e>4na4rpa z)f~(u4ej`Q0v&X(2KKJmGc2;BwA~cDPx4uWM*ZE;5$2V&?TmQ$XfL$|H1ebS)I}OVNpG7DS%5d#}+AaAoB{k1y;fwodyQT5R zIVQ(-i0~ErrU;E{!uTX&pT++c=Oo9iX5XjsK15kC+Y0Nh=QWvsJ;HW>F?n3q@V?1x S=VU?me@350XoRy>w0{61w}V^& diff --git a/Classes/pl.lproj/ChatsListView.strings b/Classes/pl.lproj/ChatsListView.strings deleted file mode 100644 index 98f4b1fc103c0e5901978a035bfa114f3e3066b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1890 zcmdUwTTjA35QUGg{ECK05>PQl6XOelhNwV9B=80ZTBr~#72(IL-?m%=DFPwEm`x|` zT()!0&dz*)MRcf`EM3V_O)ksQB~Mf(WtEbr0jsAjnhW$bHCRpG(^g$JaW)DOGDnq<%y9;p8FZh-PkGC+j|Bq5*$1|FcCTT#eT}<@fqNB+ zi>sgta-^1ymlz21NU(p9#T;ddKi5EI`N+Cpo#xVjReK|>`#%2%nCyZ3NM)q0J}fMr zf0)O9&wn>ga-71DGkFG`OO<#?cTyVx(p7h(s#D#-N>cG_nuNi**y`@t?TK_!TplpjuTU2KO5bROlLUy3d); zmv{*C*p>&A%ZQHSO}g{Cj=5V^6v5>1m|0=w&-y9iasK9}B=v}VQhrjs7LzWRB4Hle SvQUNtGyhCi9g|u3EcpQkJ1MRJ diff --git a/Classes/pl.lproj/ContactDetailsView.strings b/Classes/pl.lproj/ContactDetailsView.strings deleted file mode 100644 index 7ede7b0c0c69e2aae88a20c9945492ad09cb2b56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2906 zcmd6pU2obj6o%j3@++cVR&sZ-X)CIBQN})?pIcXfb_Wct6bjNvTHwdGee4igQg=y! zN|l9`;A8u|AII_CZAovntw5hOP)lQ4pilg^bgr5ziWJgD8uHH`|F_hkbzNjnZS|Pf zBVwvU#@dVw7At(wA2$}yJYn>b@ea{7RToja^Od*Bq{Q>Cc5>~qwOGOKGiB9?_3d6I z+RLG;xa|7#te-BPddC=?_XLQ;B2IboNM?OQBUw@HbpZF*j^7UL= zoikwh%0eGe5r&MX^gmT5*LX(a-6JwiM-+AQIhsVOzOgH3IXO%7IvHNTY(Tw@GVz_D z>NUtN^qYR7@4PSL^F{d7tvfvf9kA;S&jT>^Q9KW(_0-H)olSiOozXj(Hfr!zOCj|| z6jicl1+Rzvv5)OJJ)p(vJ$FVm_02iCgGNRlsqLf!5O+AfRm5Z0JgW_&zbE^LUdrNitLlpXuV!#)%Dg&#z zVYBDm6&|!FUBziW{am?b>rET2Wb-5 z#A7Ta-aYW99j>s?T%SA>ADGy{WN4VU0Po&(-7{iaJbSEF6gONWH+{cOooVJd*;uHC zOt`}FG*=JHkn9s`?UTjF?#UBYKdjHk{)(6GHO*KZHYKum2`yKJ42m)~)NfmU1VpQp>)(N=GtEg)-u2wBaoQZaspV4r^!UKniTyWo#b5OAn zpWP$QBPkkM%a~dQaAXlq%=)6OMZ4aJ_|HCDhH+7rJJP^9pfjifRCx|L)uLUjinYef zc43FJ=`#FZ&^ZB>ZE*1oS03eBDiL(zJT|D*);sH{Wy1vroI8f4b!JT}=y1h#Q)P_9 zIz!%TkGI)SKZS55)WtG%qJDRGiKDDJ*{BzWxnsGmKzIw*;>G45NsI}N_4M7fgk2JTaAskzf zG03hu1v&(qsjM}avO?9=vj`VehWodUN}<9jm}boK;P#oipc?RPSvCXHFOQy1FlIXH zV5dhYjnVr|BSCwD|AdaqTOO|jJQ9kv`{Q(j!z~^In4V`{vk#}=Ix0E$KPB%eq6 It~tBW1M9O!iU0rr diff --git a/Classes/pl.lproj/DialerView.strings b/Classes/pl.lproj/DialerView.strings deleted file mode 100644 index a42908394b57bdb4e8c5f8a2a007303d540166b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3690 zcmchaTTjA35QUEqzVIuEk3OhS6pZmf#0!auCTe^xmqet30gRU)ub%0!RxYKCxMl-s zX4^gU%}l$qpC37FV-tBCBSMHFM;?d#ZQvGl+@OtDjBtt$uOhT)Kj3VLCPzEIzk>#6 zBmPEs!v*IW@x5-H6ZAOK#vp#K7yq}o(qR0&u6W6(9%yOu-a2Z$OT8$K6*uW;j@Kn@ zEv3Hky}}jxR13Mf`0aE>HOKKA`lmQn!hg@TB`Qj%9#8V-N&k$;I3^N-{vXC+z8~|+ z)eDz}i2n4=@u-qy#L*{{y$*u$GijMFVt*>vVzFjhRkAX>8i}jPG?D;2QzT-slBkMb zlHH7)1Srgq6wD;5;+JGElf>1Z`;r6*%p|Jfm!zCY;_5FUv40g+#V<)Elf>0uLb7Yl ziK_S|abKqNH{R7>Lb7KjQ5C-=#mtzrr-A1nS z@~+7#V{smfkTFTDHY;(Bs_y*Jiv8$*`_ZKz&;JmIV=_k^+04_ug)rN@3psOD*VfmP GEPnw7^d|iP diff --git a/Classes/pl.lproj/DialerView~ipad.strings b/Classes/pl.lproj/DialerView~ipad.strings deleted file mode 100644 index b48f5ba8388f376d52ee6ec26b978a4c3d8d3ba2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8482 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 diff --git a/Classes/pl.lproj/HistoryDetailsView.strings b/Classes/pl.lproj/HistoryDetailsView.strings deleted file mode 100644 index 1c07396fc3954bdc2c2d38380a335f89531cfc56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5154 zcmds*TW{Jx5QXQNUt#4jl4+WXTvSymI5dT}Ms3wL^o?7})l>x1h995y+XX{oZ-^HI zi7Jc5c*pBGXU@(H{&Sm=XRWk&+Z-B4duB1YCK^^_ny|TH3NB zb?I#0Z9LG3_Ti9~o!|gV6R~Hm2 zcd1?0lGotq$WQjGs?h;wZLSB*WceOZ0ax#abvcRWzAm@}ovr`Pe98QKXooy*H9u$X zR8UM6Ze6m+cgaU|W3sT-&E~6p7^AT2`6$9cCqq=>pc~c4&3d&KYFe$6lDySfv&y|L zD(i_K;lN~(B^%Ew@3Kbvx*v0>k2iFSBdwaHU&;EKbaf(G&+1DVeq4IqI-^Igd=x=! zvapT1ZC{%X`TAW#gZ@X>8LKQN z3tM*lEms!1uGoZVmP0~Cm@G^gAx+o3`&eI)7ivWLlD**4=^v2C?&3CCJhfPFwu>+! zPQppNI{d#~M3c83Dm$E`7+0Rtg+|{Im@I5{^R&B&Hg7c4zb;QcGy3v@|6g}?VzMyh fj7@YAkK0ua$RIu}0cDn{s|gA@r@gc&I(qv3(jF566ITjf3 zZp@o$uHlUTa`KgYqGS_g;ZeyY4F*OYzc*{7~Py19;4c3-2P7XMpl6!M{(Yv^UR zVp3jdeMw*Ev@#*x#}lcO+`kFw@8ptLEw24xGo*DvJHP`y_z6O71EF?lggVTEM-)`v*}#m<6uB=-Ghy{q~opuK>&da6HmM|cD? zzd|Y710z;iif+a1fap)g+(Z*ssAI?(RENvmH}brV<3C|?o7I6#yJB@POMtO5$Qg?TU=#7a-4=>yu*3G?v$~KM$rL<4$S7J2-ZEA|psmL5$l1ul@rdJ_7 H)U)CXd_g7A diff --git a/Classes/pl.lproj/ImageView.strings b/Classes/pl.lproj/ImageView.strings deleted file mode 100644 index bf3e9fbf5e474f0d1ae0c6e74736e99992a986a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcma)%PYZ%T6vXGepF%te6`eXnm+B&fLJ*x*I;=_xDvMv<`YC3Y4)NIK{h4_)?=={0 z6v)#_r4luSrvuN|O`(qJ)Do4RboTTUWyE7bTBWk^EQnqgW+{_$*$`1VsxycNRyVW0 z+hQ0wsEiFExR3T#cWt#&p_<>JzMJ&}{2KCKi1lCY{6!_=E(d3H*yF939OiV!TaDg1 CK`#3M diff --git a/Classes/pl.lproj/SettingsView.strings b/Classes/pl.lproj/SettingsView.strings deleted file mode 100644 index 7e8f38786813983a3b98229637ccbc21a8a24fee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 738 zcmbu7L2JT56oluTUlBYCRp?bbs1XTNdx*iaM$shFDkf6>@#>eDtWbinlt-53?aa>1 z+gvY}+G@(yKwHgqplo&d8uI0;uT%;3tuHzq`f~-;Do2J|D1;Y+IO&741t(i`Lr+V} z2A}bhoSPK)e1eTY2lQPzhBKg(>P>4n*?Kg}O`KY=s}QZ1d^L=U!|h8r5uMn$i}8}B zw5VrOc_h8hBq7HS+;VcBhMH2YCK}1BN$hE_FtfwA4^No#d#4_H^3x*V8fu@@MNNUOE$k@V3pe7r&A4#habvT9EJI!1pwjVtejqY;SM@|3$ diff --git a/Classes/pl.lproj/SideMenuView.strings b/Classes/pl.lproj/SideMenuView.strings deleted file mode 100644 index cc397972dca177fa4acc3d6e652f794d0a9ddba1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 494 zcmbu5OACTf5QWd$Um-4qjG{#lL9dM#v{KskkW9s*2leZ#&om)02tu4YckaxYbI#*# zs3}{f#!9u+iO*D@-;ys^Giob^yjki|J(J&v@19tDMatx8Ll$bl{7wh%DQ89&QO|gB zIFH(vICD^As%x-ZO)9)VT@BTsIwf|%2+9c?o(6echg0#gDx?_ZIj@AhSMn5Q33$IT yG}!fzFCJTSUre;+z7+0#Q@y|qAH8jjh!?fE7ZY#Qbscr8y_aee_dZqUXoj9aaZ2U@ diff --git a/Classes/pl.lproj/SideMenuView~ipad.strings b/Classes/pl.lproj/SideMenuView~ipad.strings deleted file mode 100644 index b452adebf369a21473e9f5253c8b9b77c80f4233..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 494 zcmbu4OACTf5QWd$UlA^aj9LW|M303Q)JACALrjyD9#nt6`Z5&+p&-P$Gjq?KIp6bP zs3l7cjTCF86JJApep8+t&FHP=b7!hY_e_2x78+NHb~;dx$^2Y3=S@VlLFsT)sF(CT zHPz9Ocu|}BGuOg}L0+e@%dKWP$;H=u>y)im@)+NHh1oQNN&hfKIg_nz#x!7ds8lvv rLbj$5C!9W=L`MZ*sPDW8;9aOooMc|B)OCtF>L{bOA+1vX=Frd!MhZ*Z diff --git a/Classes/pt_BR.lproj/AboutView.strings b/Classes/pt_BR.lproj/AboutView.strings deleted file mode 100644 index 5b4555d47e1394d67cb8a8e981ffc25e346c0c7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3944 zcmd6qU31bv6o$_=zk=biGoe!L2s&Pr4{MbvDg|xF8wf~KDO5T@=P5LhP^ zu+zz8Nj7KCp7%Xp%b(vV*_S;@OG*0Dk}+3WUU6rnAtzF0t}R`@W#lEZKF>cGLzzpS zeYs)P3-s*E)LdEQJsB{6DMNm{lI3?Ky_uF8I@V91vuO(BU5A|rabRH>w;}#2`WLfCvr_X$ee#qX%E>dvCkc#P$hl!; zg1m!wP$rP zjlG&_Dls;Z-^8n5c>9Iq0nwl1c4kj`=88!5xw_=2)*aOxWX`o*qj_NTwWtt5_Kp+s zrzcH$#}1zjr*&efu)^u8gpJe3gm+ut9l>)A@0}&E=iy@?_6m5zk>{rB$0O1vVPmh( zent5x6|>{E_HS|`NMnKhq;f?JH^5gWN`gqKEyajU!iI7aySC*bIuY#Rq%t7))YmS) za>%_lSsnMdO~S@SWY_;csocLGdDN-!JR9`mq)t4Xbz+ZoT7ipHpg1!&2^%v>oj9;0 zDJ~xVbT%PB@?f8mNqRb~P#xk7*d!k3>1^|Ao_?_2HIeW1JBO-!!dNEWN-KP?O4uT9 nbF{nf)k$%kl*{Y(t|@*02Hre*!#LzW>f0suY!Wv1mV4JO@^xUA24&0ZJ4CLUz~njr;+EAz=fFu;145!KZ!lUHzSI zn#p9E%uWooSXOE#lbJi+_ntoY^zF{yf34Uj_QWbyx4s?OC7+6Y%du)NY}I}Fe^>8%solmUue#2wF3&n#3!fo( zj`8_~7)G@GhyBhyJwLj8u4v@f3ZF8#s=sS`4e{;}eZzj>_iNi@Bo4T$;X~d1YFP7u z@CtsUnCuYoz<#0sOXB|bk$xx!J;V1ixbvBP$+-iPPiGhuv-tlqD27Hh<6;(7mpNkc z@))!Z@2>bL|GWofI8-NByNtb<9rP<`l5g!k&Dnq<&z$BQbACe(p3E>NW>JHM(o|W>=t(TnEE{4LRYol4%ksF
sW%VF3juf10n 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 DE~hWJ diff --git a/Classes/pt_BR.lproj/CallIncomingView.strings b/Classes/pt_BR.lproj/CallIncomingView.strings deleted file mode 100644 index 1c12075161bccc162ecc07ac02fd13eb8d67d809..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4538 zcmdUzZFAB<6ov0+eg)HyoeAPtX*-THhL^F}3c{$he&bCDBD59@{(1Ge8w!#vCR?c0 z$v{JLvwP3kbI;xM=Z}m$l6}caNk-C=YmTfu=d&m8q$)-ECR2`yjJfiR>n-VU^h{(R zZ3%cTAmY26aj(st(Q_Geb{apzc5}`K{U>b2cz@_P8=ZS^WjFP1q0RNIr?jEN#B$j5?2SVT;I-QJB|C z(?gS&;!c}Y5*OQ5bb7@ff%*gJpP(EMCAL|wkp0^Vw?(+?!?h~n_{U~VwN^&**0{$A zwr^dqDm4^Wm)E#eO1}yYp zZ#qzY6PoQ;$5S#}>_+t25}%?IwcK7Gdj= zwt18MZ?{;qsvDpEdDm`xcS7qMC z#r_@#SL_CBpbtQ=yBi;^uXA9F`1d(T?@!lgpbPdI-sIuiA7i^)TZAhEnvdK2&UP9| zkAKR(HV^V1J20($jXK4z6xcpdvh0%a_kF9^w%;*ZY6pa%Q-I U?(+5jA0B&`S&Rc)#4fb(3-g?`lmGw# diff --git a/Classes/pt_BR.lproj/CallOutgoingView.strings b/Classes/pt_BR.lproj/CallOutgoingView.strings deleted file mode 100644 index bd3a0988e5af732529baaa9247742bc5d535c349..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5712 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 diff --git a/Classes/pt_BR.lproj/ChatConversationImdnView.strings b/Classes/pt_BR.lproj/ChatConversationImdnView.strings deleted file mode 100644 index fc24762e585a0d6a77377de852fc3c8c71a9dd7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1810 zcmd6oOHaZ;6ot>azoKDDQWVsU#)Ukh5aJ6YaY+%8w?RPt^XfN!P{ab(#Dq)=W#-&F z=bn3J`24W6r?hMpG*DA73|pr>Dcz~8yk?p*#u_nm!hBOLM%zPn<*G|u7sR`&thuZV z78&v$x*tSdvD#z31-h)_0#(tyYI4}C&F3TIB8W)C&Eh={k@*#q)MA$gH4NCfsfm}} zBJ-xo%Nm01z^OrfZM_DZlGI=DbTfOJnvHgIo`{33b(&Ol&T!O66-RZVZdWvkLnPJY zY>AJp2iO`Pm|h!>rt7BX+mx!K&Kv0OI!%Mw&`njcO_;M$^BMQd&^O}^-&gCDXeg&F z8svy^$l(&{M}+Q(LuBCNvx*!LG8nGmu&vI>-^ouxq^j?P5&8~cxVd&0-|SQM4bF9V zu2ov8Jr0r71(&F5xcuD#tICAhhrKV7-P{s$z9-xiHof#6HskGoGzd9F{jV+UX=-i4 zqwRU!__D)q!({hd(1Tft{vX2G!T)Y>E^Y2@|9*@^?4Ap7<2iSh z1D$HXx&aoSb->&yGs9wssB%?kVhZENS~QV@0p#Tu*(fG z;>WYpL|xxNaZOGlxV8)#s+3WN&5%vjQp>-nlZLufO{}*t8>5Oh+ArzCXA!E4&^r0M z$dBnG#`zJ7Z#(X-yO<`%sAP4WG_V=L#B+LAjMl0!ldZ`6hR-6Dj~w9)OeqKronf
ofFe>J+gEH zu0v3@_!uI?({hNyISA>c>zyShE+;V^w1XxR^7O8x37r?BTA#=KeogRrhQ|oB=s>FlOB9w;&Y+29jF|s>EUK@5}Sf?(^%*?3)J9YCrNRuco z7JHfI{5J?+EO$GB&teBZnYX3JbAMT7e${s@W)F&F^EtkOmkV;-N9}e`Nc6OnW1q$U mm*X~yo|20Jy>-Beo4Wp*v3`HfeX-rmxzECvbHD#(-fsc0F|-u` diff --git a/Classes/pt_BR.lproj/ChatConversationView.strings b/Classes/pt_BR.lproj/ChatConversationView.strings deleted file mode 100644 index de453b44fe196cbc6319d183f59c733129b01e93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7594 zcmd6sT~8BH5QgWPU$HUqhGbF8m&BMT6_o(hh=6#ve7aCd1&YYu^}>IlK694S?H&%@ zJv3WM;}*Bmvor6!^Vz?DCgh1sN+eBbOCsmIB6-QbN3tQyvM4>d;B_h;?!4fBBD=iy zjbti2lJdP2iJ!8{XFGh-?w_z|q>pdD`GHT5_^mV zgiZ8ob7~@I=Bx?Msn4o)Z0N{diB->J*0D?Pgj%-5lP^A}oOWgG$k?2psMbBZr&adU zoO}7Xs%ds^nXaQnmE~U~U6`TP^x%D&pXO!S@sr*O_0u39Bcgas-c|C>=oYuJFym!H zthY=3_enM-CWozaT>&5KahqjkFyqv*Z<$<#Jd<@7md1eP(RFC0t zx+ve}04(0gA=d`h|G4>vMZ_l&ipZcoRdd!REZ*;H6H;H+_?}j*1e-K>9GH{ZrMbCD zhH4lT&bVI67Z{SEXR+`}gkquEb^6+!pkGIR!HdY;&$9X+x>w0=qs7k>h-i%-&XBh- zWDPtvkdBd`mFEsBK8a9NtS(jAQI^*q%PSB~!8sxhw2E|1?4_W6NPg4TaJ!eugELs1 z(80v?F+FldkqthHDe%lHOkN8zU6hkrMI*z?Gyc+U;dDTkdh3Hlc(~OoXs`Az(UZmW zTn*lfR{JFC_V#Ezuhwt2uvK&5rLljSF2UuwPa@Rv(4N%gc}O12dytUMtwp?i2Zyh` z$K=4dTMY0?gyK+tXO|FNd!_@@TAYN>+ACcNJPkqt6) zOzyuT7Ze%blL$p5*Xw_Ehq+Ixa%BtrG&i=uB$i`5IOibalL$p7*K6Ed8SGCpkKZ-d z?vNEzFqoz{jO8`|%O;(OZArGL@JWOsF{n?~j%c(RnX|HLwCvIyT!TSkszrmS`RH)M zClQK7uGjse#jT;XL$e#L(R;-My31{_cuU5J=E3}ici890j>Tt zd}Zc0jaHqKb&4C*tlA!B{9A-B`7i;43sW&?(cSJ~Y=!VignC~qL^jjvZdB{I?nwvt z3J-x3*J!0k9CKZT8SYNFO9gQy>gR+T3H8rZ`a8%57;Nz#6IrYMX~c5EClShthc{FC ztSV+gpM;MA_nWE4@97@3uZxdQn66?XGKKp^i+vIg&(p=-fz9Q2b;UlLs#tA1v3ysS iKX;tJn}q#}(4)R<9Dg(w?~ttP{#NOe2=#Hb&i5ZMLyd?4 diff --git a/Classes/pt_BR.lproj/ChatsListView.strings b/Classes/pt_BR.lproj/ChatsListView.strings deleted file mode 100644 index cca414694078c5533f386dcaf6251da0be71ddbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1896 zcmdUwSx>@16ot<-zk={c0xHI6Vti515EY2H1m4P~H7sFOey{&S{ic)BfTM*NHD=OD zdzb0CXU?5@drfFdX(e@{t~`wyNgeT|bfcnevxsm2NjgTzRR3bohX};24{kIS44I#RH?;Z zB3zzESSM83qDJ$l1mi14qAD#eQ`<8ugshcVCkcMT*bLtYrab(9U>V2Mf2k^Y8C6tc zo~xssmHJ%~S=P5Gq8dwj36L1O4+ay_b0D*b;;Q~_9bAEW00Y~)WA-(Kk7XUWB7Rc` z-(#f2ZalFYtzd7O=+AVX)rhV0vks|iPiJsa)G2d?4qau&6|pHZM#VF9`%%g3^vGXv zbIXNl+@RNRtqzE| zQ>bHg80)xWF@@6=F~?4EE`7}oc~Vz}6&}82WxVz^tE$a6V&8_{X}a2OcG)obj$)!k zb%gl-jqz03ZhisP6#Mu9Z0QJJXRqrKrEVwYfjzRUzn*Zt~Y)30k>!@XS8j&*Ta zuduL8ttIYHbaqAfve3`VbhLn;(E4{(UDO$F52?6Y#$9^T)qo!cBYc_gt?Iw_Ly7)= z0{%#QjQhIRQi=svgf9!f@x!RI&ed-M{d878&`}LKsa94y2;r~3hlP|#GeXfbC+u$$Ie?pyGPQIUKt_WXWC%N>$+dcs+ CExv;Q diff --git a/Classes/pt_BR.lproj/ContactsListView.strings b/Classes/pt_BR.lproj/ContactsListView.strings deleted file mode 100644 index 1e8a233fb8e4ed9a0d291489ecf4f3dcfff6c334..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2220 zcmcguO;5r=5PfHUMZ=K4(83uO@Y$xAaO8yJHXOErTDs`LRc?8!}>4~u6S#VZ=f zmZ2K@Y@25zycq5Mq>*Zjhw9Eeh*y_-aP?e_QtH|l)rvZ@kNj41$7F!yndHvzaaU;Z zgd%hFnD zi&iek$`N@Pt5!z1M>ob!l0}I~4c@Sxb~rL&1zX@Xf?O0~>0D4pW{TB}itU_hY(8rk zsa>CMX*k^PE7YJbkC#M}F0U@Bq%OH~$Ze6a`aF-Ql9DWTRZ@s6_%bbcuK!VKLeFU# Z@zLbJK#{5$^6v59;339HlEvRL@(muCU%vnV diff --git a/Classes/pt_BR.lproj/CountryListView.strings b/Classes/pt_BR.lproj/CountryListView.strings deleted file mode 100644 index 7693563590e4c945bd2ebcb1f57cbe3015d1ac93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 492 zcmaiwOAo<79K`3`Pto)!Q3odx2d_iD;~B?lgd!wV!iV&g@T+Xgp~z;pyZ_EiX6A9X zR8UT~>e|WIiDj$8b~KTv4zq=p{Bu-h8gajHCYX_$V4ASU%&P3V`Y?OEhngE!AB_#n z0H&u#%I?CAl-CMQUR@Q{GK?IqEbdtdH+A8pN^c(?T0I=uif0qP1AN_h#R)9due>## zQIB-c-Z=4b9pF7~CL~8l7a@r2M>k0uHQEZaHOz0R*Ermew~bPKmNYYrBy|?TeQE!5 P@@`~Gh8;eA9Zm8lba_aF diff --git a/Classes/pt_BR.lproj/DialerView.strings b/Classes/pt_BR.lproj/DialerView.strings deleted file mode 100644 index 4029481754aa9e65ae49941041fc26012f2c69a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3698 zcmcJS%TK~U5XQeVe+A*lL4}rwF&+dol8|`tap%z>TB+fY=)dkk{bq-?JS=66n@yW$ zy4!DlGt=($>$8Aklu<+*G5VNu6mia@gnM*xhX`+2;0hC7#Te0k#=CtCIU+NEf&uTw zJQjFIkM{;`T}0awFFZ#)_l?)0Uf}pk6kbitBo2>AOmvh|J>TRmG76$Cv5`n5{}_+o z{WvrN;>(gAP4Pkh#Jj}AJTEFOu3B&;Txb-m5rW&9Ipli)-#x#V?7i&@7Sw zCtD<9aV1d|za+JsoCK)skW`#WRK+hzJ(tARpRKL{fisD!_$6uNlGyr7N!-7Ys^XWV znM-2pFD0ot=R{TflGra(_8V{OFD0ovlcFZ2hGq4QCQn@k?UAOxZcH^_P+~ zok>*1FUc+U)IN9N{e4levprMuuC$B137^s7bwWk}a5 z@0t8>?9XErGB%0T=1MF+OsF_9>hg}uf0y+{JQEeaacGk{=E!H>?kj}Zy|d_%c1%tE Ho)z#7fPN`r diff --git a/Classes/pt_BR.lproj/DialerView~ipad.strings b/Classes/pt_BR.lproj/DialerView~ipad.strings deleted file mode 100644 index eab0b3c20e477128c78a0c6b63b9052091e0a24b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8506 zcmds+%~BIV5XbwRr$}+6YBgj7gt9z9Kt2paK`?sD7Z?Z$LQwH>eGCukzh}}W*`3X% zQ_iB+77I*z)BWr2neLhW`6EY9X_@j=p&m8p4p*L@<7bIZX`kLuhrZB|UQic*^{9>U zXZW;1EnFQV-=!u#?crxg4^+ixO(QGcvqOD+(xF@PT;JT=_@>*@^Y$BScIgnLWG1zv?NxGUy{|7n1r+vBUw?CSS@}@)>26%|0KIY z3e_Z5i(iuUR1(R*F^PVSv|9XX=w9eo16yN}lnOe`At0HHp>Ym!y~) z6Uo0Z$-0`vYVk`VD^qezB>%=FWi^S_;+NzEHMM~%Ji9LnWA%|ov{glP4UIOxTv7#- zB2SuK7^_7I;t^n9};REkwg9?|kl>hepqW%}x?6si>}qf%OOnMrm`OLm6N zu{V+He(5%`<7lJH<$g7fT?TipJkNN)F*}Y$;%l1Nj%kV6hAuRAjdq^nyzdfA*fQ4Q z*AEpi_i&{%NBat9)^`?F&|W~NUC;coiN#4POo2YpItBEO&T&7+Z0tnh>XOh#*;?V3 zRAyijX_3ybhYsj9cJBe^YajndGdM1xCCy@YB~?3#v_v22%8=gTUN&b4)1)p5Eol~A zrK~YYq-9jY2QYrcJPZ)mBkaGYNnH|JQfr0Z>`m*Rcc_k&rvT?b9Mb}QrdJVCmxPuy zi~d^rtJ$mVE>@xqkZ#f%?#GC2Gs5eV(DI5cw%+-T@MPDLr=*PDMLrimd||lHF^}bZ zQ928kgqC~K7QfVs_ZSC={|P*?j|vr_54fhckqmH2Xg%>a^dIwenMYUwZs3VJDs*5@ zS1S>JxFodx$hHHOGl8VpP($^430j^90jhTsC-BqjyGugLJl~nssm2(^EFkG-bJ f+o7a9xJTby1%HTDjeEwu*y)Z-LhA)LN+CF*s{Lk|`<3lC-2IU5)bnbw&6Hkes`qJolCC#5w@`U!mksaT9eY#tgq!z&ctJ; zS-4-fxVhN=5sx@?UygQj~L^_F&aH&PUXKc>wXCg|*6~+M|Fs>es`g zU+L6H64vxQTqYJp5Z%cP=N2fnZ>Yu#dW>aZ;ToNXv#81{xogo?uTp5rRr*T>bQdzu z`5oVPF^rZ))@m){(Iw*_xQuE~&7*2x0%xFLLcK5^Eb$enF;Y#aE5NV0VSKYg)~dvI ziH_`{6;xM6tJJcvt5oOw!HlYD3ouvyt1pf-8`B)(pK{D1T0*O-^rS$76=_*mSYLu^ zD(IwTRMIB?ZgBN{9&6a>8oYPPp^H)qI!%Dhvaqmiy4uk_idIp9^__J`7w6D%vCk*D{sW87=Fry4_HSy(9YXWTflc;CFvv?u9eeFD;B*F78V%|bL^ zmW72hth%^5AJ0xCy$y#**uwqv@bLSV#MI`dygr-)=#E zLmhi4k0m%bir=!x$~xJ#L>`gwGm=IP-;(t{`1Q@5M;_+~xYx4C8U^1U)#hp6kq?VP ze4Te0@mi+cjcB_3dYL*j~WG7Oerx!de4q{78D2I1FMz{i=8^fNK0R7D>+?SRkQ|@6o>oJ9v|^dIEUYR| H?qFl`Nylj(^6pNmU4@Q zrD;Rj(|gbJoaemIzkdqyOm@W)Px{i3TMkFwaPG)AsY+SKa>p@}A$MMLzacG-PGH%S zru2BPhsA?@-n-_4Rdnz8~<(_lqgCj|J_vK{_vEH%8T$t$gHb+o~uns88Sq!EqU@>mt+c`R0X$6l#zvaH3a zJ8O<+QR;dec*Ih(VmaPdav^nbvHi`pLOyvh{3Z)qKIVPNH}dm4CD)^h>=PH4e0sQXnpODU!plZCBf^6BzXe4QkCN*6SFn&91(j!j;SH+vMsoGatmzn=EWqU_0NghdledP@`(zz{3I2bz$Ui zI$1}vy~)Cs4fSvRd1CWD<}-|Fj&#wtveRDZF(wOJcJl8rrU^EAx-el1D@vpZlZB~1 znD$Mp0h^EVITfKnd@slXS3WQ=Kg246$>QlnIZMY*R)GogV-=VzOe)CYSDH$;J4v+p z;-MAc1g*I8g8mo(K47x2Rm{_$B)WXj(EnYYeC6uPC;ovw)`-c%q>XJ$V?EF7T;8<$wX!;;O$8NUXm7~ujLQnqKrTsh^s2cIoe$p|wEUL~+x5P{L*SsY3{W}*nZ~RSn zJlYm=7SQ&bIf;bB@^qzWsqt}NZ1hST^lEdk#*x@KyjOklxZo#zN+wBm6rwAPjRXRC{OLZwo3xYVO#UWZ$tZnh-)z4Dv;vkoV+L34H=zNBDLNOJW)eF_YcH z>_0pIH?#c-bg8C7Maq@wg9vrQX=tQG9j#OlbG?zdCZB0SJUgY)ScW=-;!{1|#=PYI zhqj)G5WTH0Ty3%cr;m1qdO|+Yt*?p5taPC%HTGWn&P|*KR97ilC;4jlF4mc$lX1>6 zz4H=zmzLMk2E<>}ITDw%Dd5?_bC_VNu7*US2gOQj$WtwK5A%zzxD5^$`-%g3m7+zz zvg?s9QlE}@^o`l#Ky7{L8!x4UI;#KeyyG_UTEjYJDl;h8j(7w^{EM|paqgBM*<;S% IcE9C5cgaI_6#xJL diff --git a/Classes/pt_BR.lproj/ShopView.strings b/Classes/pt_BR.lproj/ShopView.strings deleted file mode 100644 index 8c478ab70a1c4f9e8da2883cd67be79ff23fccb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 476 zcma)2!3u&<5S+7LAsz+o7!e)Rf(*%^x^z?Puq6fcg8KPtp4t;aDi-CjJF_#h&xeH` zT-bKJG7#q$6D;(gl8}h%wocn5JmrgCdyAb|gz8s^Xoe8z2a+cxDNn~8=yjs&@ zeY;MZxOS+R=SJu63obE5ip7t_!i%AV3lC&BP50p#RvH7)lc)N&O+q4y}h~Jxt)1F zjN0<#XsTQrU09BWY*(QIEy1>md2=-Yy^`OFbxo$DQWf&GCyO)ewoU^|Bn~*$_ocQ gZ!b#6zA0VfK#0b!Cd8XM+{=zysjb4M)b_8@3-dfi+W-In diff --git a/Classes/pt_BR.lproj/SideMenuView~ipad.strings b/Classes/pt_BR.lproj/SideMenuView~ipad.strings deleted file mode 100644 index 62e287fcfa9ed1dded564d9e2aceae52c9266573..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 474 zcmbu5%L>9U5Jm4gUs1X&SkaXrg7{ce1l<(e`Y3%Mwpa!IdG%1+E+il#A(NTO&CHxU zA4Xkyax~RZTa_$FBetthftKWUinwz%BzwWXVH?dtxe}d-XLwPqTJa_$+M^7(Y1A9? zp*reog1xFo{I2UUg~7Ke{I;vxRXx2L!J?YDa-zkbe0S{B5SlCF6icvY0o zTn_qrePHkl5)fOHZ8-s}Ks?5MgI^pmn?}mmPV%eItVf`b1(8LAS``dK#5`mL&>01r ze!QW75r3oTt6+1xdUSQ_`e}g3Q)($ION^NWJoaVJ;L%0j#ljw##PP6c*cgPBi%DZ&9wG9kEXoIBzLXr}H61JJJW(I9X^azj-<#>j?MqFz$asFFh^r>o z9u=eeXP21cxo(m>T^+YIY!MGl& z`h{lxE?ND=(+}p0us_S~_GWox9$GD~2AxB94Q)BBoKrc)avSc}`BK2Iet(frKTW>) znlF4bm~O$Pju4I6s1^qo27 zs9E)p@qv26^>`|McAQg!L-h93%Q1Z3A=WaC30YGc;EPSe7V$WKO`6x~o?hD2q0W0< z-ZM5p>|g*3n}!XG|8siz_g%`Tdqt<+aFZ%N~6xULiIO8%DOCZTBXL zC3k;n>ryRw;=iJ<^r>x)z7a>krg0xnZR2-&=g#)Du6$+ZbLqwv#xjg64WT`(VdLEW li8hJTNwqxcj&{Xq;0)A!*<|eS5BAjnb~X(gc7NN^eggzbMYsR} diff --git a/Classes/ru.lproj/AssistantLinkView.strings b/Classes/ru.lproj/AssistantLinkView.strings deleted file mode 100644 index 5f73bc5e40b9c67de12eaa4845b5140254587b43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6696 zcmd^^+fy4i6voeko_J!Ibke4wF{BTjBzBBr!riHD2vDv8lC*sT>~IMf;ur$?XGO2L{d_g1KE_%{8BPS8I-p&FN@f=q{_2F znZUX!+x)85Z;vN?JlT_moVR%f?-#A_k(@{kj}-4zIiJX}tw+DKM`=)}K6mx6Q0G2= z+gRph8c)}jtenXkNy|%~q$ygrd*cc1@8R0#k-1WP2QR+z$P~;ZW!_AgQ8RA%y2+ZN zDVblfj$s+aRyMQd4Ynz3OUVd6uXs|VXq$TYC5dT+{+`j_ps$Pcd|4K_|3g+7g*C2< zj8EC#Ez8C&#VTk=D;@);&pbExO|Ka=&**s{SHE!XH4pgpn#ZP}C)erox5Cjdh}Z`~ zLo&j#LQHcZ9Qi!{pE&YGqBG}w9vP7A@O&FMD#0HOen)VIYfBO&m8DMGHf;+7E(`d{ z)pi;GOoNkQ%Re7Dej+D#Lb&mHB*o1Dj51>K@QL!zFq!rW%Y<3PS}-~6C9D%>{fjHJNJCVkc`)iO@ioZDzBo1|o2mMAGA zqPexpm0C|Zs!FPGZg5uaO4(6RWGsl^^4~CnB^@hv>ELUjqUy*BNM7=+W}A$=5~{)JJ>}gwYJ7pODnhMA>(6rM_;}b%+j_D_qpqC& zlBW};wkEGGMZzHAi)Z9h9!n+ye zJG74Q^|=#6K97H69dTFoz_!>68U-;MASNwi>;~l{xQTis#m(K&+c|d7f}NSm*5ucX zN0irFUyI|`%hXj8hJ9=GcpWC$gfFWx+`0{`D!0C8yj4GZLP2!qh0i1DsDF>9b?Wyf z_ZxQM${kovS3i2z$X7f&4`rSm@pJ2x)_mWo6S}i%9Sy1q>x3*(E&3ZPvCcU8JTiQ_ zdmCHp^FC(pA*=iY4ew^{GBZ(YhQA$7T_c_&j_o)Isx|`H}Lo`H8*ne)H7) z!07jL_YiC9O7m%4AB!M&9gVOKo{RJ{ZomI4+C%rWH&}C>Z+-#p57Gdlc=gg+Im!=5qmF+IJ4Decg=cB%`l!OL_kjEX-qxh z9=NpxI|Cc2pW~Yv=w6PlwK&ubU5+6#Loikk+kGLa!b7MNxgvTPz`SG=Z zYps>u)4m}ZXDCga$Ec3+8iUyV@}9Zva}shM>7&HwR6}qM%wuX(PcWbQEJC=jm#g`i z!KG=NhPh%24gB{^m+${i!9S>cEtx>1IscSHChr~TIiFef(nW~BPN0J0Te6k<-U9;h BXlVcd diff --git a/Classes/ru.lproj/AssistantViewScreens.strings b/Classes/ru.lproj/AssistantViewScreens.strings deleted file mode 100644 index a0f1f518aaa89a61e1c48aa2c3abdb43e58fe327..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36016 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 Xw?rYY{e$yUwBtM4hSYPc^cw#k{qg+T diff --git a/Classes/ru.lproj/CallOutgoingView.strings b/Classes/ru.lproj/CallOutgoingView.strings deleted file mode 100644 index 5e66f9f28abd2d1e3c4206b95522c3173ca01f1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5730 zcmds*+fN!n6vofPJo(fZliH+FYSM?=fN1LtYAcuGr53!^R^LETpj1c&EB^6qe=}T+ zyF+1WMbd0`Sa#1WbG|v}`_AFl&k>oCX$eR|%951}j)1IiPRS?P;P}SfGs(+=6d8YT zKg!dr9CPH2eNl2eD|6PQAzM7l@ub{&PeLkk&NDryX69aUt-pV7y)DCx5_9zP4M}!p z&dQOjOOV+Mj5~Y_w`NSU>JhGO79sOXy;e8X`ISd%PK8yRb5#W-qTZ?%^DSaV?e7T3 zpHPZRot4*&pYHg?T3A+jLvwaFJm$b54-(s;6_h#2NWp`L&B7IrNpM&KgAD#}sr&bT z7u+;{`JUb{%Ln}4lM}`)k&*Iw@3(OE{;7$BbudWae?Q*eM0|7iv?o{i)6Sz3{uPMf z5bLh+Y?Z7jN|oY%TE8OXCeZ!Iy^Dx(;iH9^}8vgm>LBnR@8WqEu6ALh49KVw$GfFVzg2#KC zg{$}OIdL~eOcIU9t?cN<3Na%1BM2NDrKl3W-fXa0xFRqC7erLlXv0$9yf|oPNTCZ$ zV6hFKYMv~hrcF+2>!r=&e`SU>S)_W=JbB5uLp<$z(6Cv!M#i9-A&wt)!`2npy4I-x zy44J6P`JSVLz5pTvI!EmW5QNp-7!ePg!*w* zy;P66H`-V2a5tW`qaFYsdp*5J49tSS6?)OEAKLYNn;&czgNcQQ?KE=4Qw2;iGS8Sq zL%fx>&B7I#hwe0Xjjra&t4pqWbzeE^%SF&g82;3~UB;6&HVaowCehR=wf36n!REQ{ zujlBct()wpuDS#4rmni1oYyTgPS|(Nk`1&oh=v}>dylU+3!8F|;zx}BDayGFA57xg zJ8B2rQRy|fbD~SH-G47xf;DyjFl%asI{bL#@z`eJzPp3%C0#1VlANL;K{#=fF~!b% zt0kL-D*}I4Ir??Mu0?lM#!9O?O31arAnU7jC-b|&C1t4c&B9cZ%{K8ADI*#`f(=zb_~ t{xLe^y6*AWW^w;J>(6c%j(1b>Yjo|k+4lxx3f15CU|_Rw#h|;2{|1hWQQrUn diff --git a/Classes/ru.lproj/CallView~ipad.strings b/Classes/ru.lproj/CallView~ipad.strings deleted file mode 100644 index 7108f5ce461771570b2a7e7c2cc08bf0f01e0a41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19138 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 diff --git a/Classes/ru.lproj/ChatConversationImdnView.strings b/Classes/ru.lproj/ChatConversationImdnView.strings deleted file mode 100644 index c9053785e8afa576173f2cbde1c747cc75ee1fab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1810 zcmd6o%}>HW5XIkNPn^_~@nZF8QUugQK~zAZ5E8#lJX%G?4=`B2{(1G+g@QCy#Kgo* zx@~u7x-;*+*}lIeG_N^1D(P0IdcYjzxn^~wii&!akG0ffCdd4#&ak@mY{*lCxCS1t zsBX?N6X8jEBiZ***Rh{TSE_>A(FR<-y#2mRLc#iW({wR~#-Y!!n zXHq6(mKlqtWHz`56(z9m5UA*moi54km^$lv{sj&ti=S^Z_AQ1_JO}UXA=uQkg}J%` z9ao1$>_@PP^B5JIF>nb`Nr8%^tXVU8`zmXVoDoml+nf^) zEC$;5Ve#RQstC_QP(1;djpzmyzGMGEpo0>)4VyxHS@OHLSV zi|op=blKMh@lC3%9kbG#{6oQ_KVR*vv-*kk6VMeYO;BmMlt<#rId`Ak4f$}jV;$QP z%w33$nJh_7zOtfwn%2jv(x0yYS=_hXL2T9LV*`5HbIh`qo!30?+u33qoxzvk zsg3_b%UxSWlZcF2@L;9`#*>e%4pH3Ml9+MZGu6mleBMPJTll|;LW=r~VV(>x+o&fE zLp!{gMLGW>cgk`^Ci(IPc6}7`O7Z8DXYV+T#TcGQ6>SsW9jPR>P zw41i-_AEnTy{^g&s>BgjkJYlh?^AQ?RFKA!_;On`&8StquPd6=d%C76eE>6e)MLKN z;LQy6cQFmk)`8wzjrr8uCTgjnu6Gf&xDavGGH(`5`)a7*c%8>|?!e|wfG!5iZtpw+ zb;R_Xn(fFXGVVOWhYJyxkKa2_ma3c9jJ?jHiYO-md0@Kq`0P@_{!_9gWbC>Q>+&Mp zF|HCW#0K99zc$r*lD<%)0?cFk^5c046Q{(pgTl>8q9&V>c)Ae(Q#>2!b_DNTP7__u i2Q91Wi(BIB^6Jm{x)84TuBkZ><_|bgVZq(QI^TD0-x>b?>64E#D1qdpBnA1&5y&TA1F|D4l9ifNIWDElm1(XQYx%(6TRG$9s^Pv0 zw`D$EfVTdmhrE}TVGF6g;*0dPno)Tb$P|b_fp%C;nR60<+L)`X`IZ=q;y8|LC|8=k_M{0;!O5I*)2{-PS|nGHQ89U-9)&JQlU5hSeNCn!sOEDwilaJF6x- z^GdulZe52;9PMIrOLirsl5KNdg{#Q>QLRbKeG6Y^Ua3_z0vGix4J1X*e(3=pIXEbr zTHKC@tX#>&i8b;DuC&j zcsManDz&Z5IjU32uyD=!M!pdj^(cyB!e!yhh0c~~xCmsPPqW0wN`skv42K0&u4r^?ZUXnN_Jqru>iE{z2yOebK0vL;BYRmGP3l zie$zqHBKLov#>%fOoP9GehE=AHEKmX9$Xefuv_mkt$t8ni}v@jsfu}!XH{zr-R%v@ ze7?%6HO@tpScuX}@g7I(vgobPJL?k3H0K7$buGLxY>c88?AUi%`10VVOKlzFQw`%9 zC#iPZpnF`w!gt<7D&g3@XmDBhvd~R!SD zFffV^3}v3bmMtD!7QQ?@MH_e42mLeT5It}Q2L;m;Qe?`e#e~bkmx-rmh}|C}1s2Wu zoom4p)Z;!3EKwUm`9ZZ!Sq!)=T;1V$wV?LB-lOu{Cpbm4( zzl?o^_B(iGb`B=t;TCliGE;0bE5-YT%c3(jlIVzbS+K!c1FD$bvArPz-``Uynui;SyLGxyCl=D#F3d%rVKq3#txT{V+I zhFLP&SBZ88TozC9cqcmp-S+<-xHSjooY#l~dv~`&kFYJe;eQ)v_opHK8^#W(_jnJ< zo3-XN5&7R`;p_jGG!41%#A}?(!sTt>X{h(!theRs%ec@a!5gWn*1p#B{LbOG(_f=o>#W^0-RqRzXaB0`vhelpW7_o}-?&MN diff --git a/Classes/ru.lproj/ChatsListView.strings b/Classes/ru.lproj/ChatsListView.strings deleted file mode 100644 index f5adeea9ea943764222480ffe03b7e5fbc6f8414..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1896 zcmdUw%}>HW5XIkNP8_|HGXz?2iQM19A{_8X76#>uXfvJYzbVOAk2gS%I}-e`LvC!2Oh z&kR?nKSz!0La3t7af}Y4F7;j>Va-?VVy@6nJy|NtP-k3Xk`|Laqo3>O-1WI%kz${k zBe>(}U_b(k=kDdPyK~=;M}?8_&bYXzvLT~mG|irQRxQhi1}vPBND-$TtIS6?7cY-Z zx%j8?VKHLT5@j~zfWdB zLv25xXn+z{*PdfwV`omiSfK;7yIZ#%5Jw92QP=FJIHj0i=|jx%yf~K|{T`#(Dtg5V zk|TNsS}@z@1!~R{o4$_g1MW7vG~Va*MTq0C*gvaG72_+04&I>_Nkm>xKXZ;=!OvNJ zoTm8}c^;xuK<{-^S?;3h1^f>6jlHi;&c|8$5I%JupU&=z}5 z$9kElgAXxT9rF0$e&^i@Gto}E$faR#v53YG{6M2oZ%{>10tRcM{&@A-En;Y@*eJ$q zT9)0J?atGgcl-L1kOfJJC2P`^rrgskDRa%qv200I9>k~hrN>B#@uqmROJmuQmUQsz zVDTh%=32~jM=QAW^*_(}`^MKdPiPxIAM3$z-Fa_uwWD-|3EK3C)QP(%cXDlrT>g-a6Jq21 z0-G=si}yOd=jl^&<$@N@n;`!_%af%Li>25sX2^ytxsX$ZVV;b$n10+xrh0-J(3PgE z=j*5)EY2lOl`eBX!~ZeFA<80d1tqDCtXdtbpT-|l%Q{)0wdHFDH3)b_|15{xv(kV? z;PI{*Q5JC-SSUt*s1yZQWXv-rsl|sT20PM<_eezV8oP%Mg!9~zHlq*dgsuTydlu@d zM+WqorZxtw6KHjdnZDdkV6+XJMd;j`Jh_q+IS4U|vdFO0V80(~nl$=pt4(;U(6^zo zO5a6ED`uofub>tq6qcyXXc>+x_&Hc=E|Vz!>=ddILzhd(^1Z6sC8G|Y<#8sZ;qUWC w#xp9)B5p>_n|vyb)FwEU{v!`xHuw@qlQnJbUA_!XLp-7^;_^tEQ#pwL4IP6=mjD0& diff --git a/Classes/ru.lproj/CountryListView.strings b/Classes/ru.lproj/CountryListView.strings deleted file mode 100644 index e0a3d8f8fa0a772da8034ae570305ff5c919cd28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 482 zcmaiwJ8J?_6ojWZ)mCaRY}U?aAcBabh{nPA{&T*Ui~(#YYYYDN4Z0!sU-lDbtTvc7>Mug-3_~i20_B76jUML2LuwSv?)Olr1sAPuRSp< z5;n_}I+9#)!!=t5xOL;M-EW^W-A=~KjNduxCncBcdxTx~l2xP= zjcZ(IjrA0t-=ux@d4?quo2E%kZrc2hP-lIcwH;$M*I53=0yoZH)&@T?a+VQ7S@lci zh!(iVZ)X>4h0%Ys#p~-Rr*D}p^NsY|v_x(;X%($S+GH8Cj7X)AhGa6P%-=D-PI=r) zv_2OtRla>6iI2=Ok_7cB5-ZV?h?cM<%?h6+Xv~l_)Fh%MEXjH$iH|>jo+L=rB%&oO zNmfbX7iN9IH)CSxYFWe&`SslO=~ zdf$ENZ^JTAr8D=Xm1xOCOIS}G(oc8H`{sKpow+rwM9cHZ9Gk-hc&F{M>R%O14dlEp zh1>5Zk!iV>8FLxGbOCHTd~NiZciWsb;tRuOu6D24x5j)Q#<1ljugJ8#AGp&RF zWLN1Wq|8&~2Q$v#Ij8VGPtV4hefrlgJWyFRtMaO-mhm@5X}o`dcNN7mPvM$G1Ls;_ ztb>nqrZr;-%~Ovur=WprI?;MzEu8&9UAUhkoW7*WY6)Sq94$t}{@{ zy&*UFPME#3H1D%Gk4SB9W{I-x-AJrwhLPkb?IYn4DT$dSUXs}eo8%}HAjybH%q;Pe z%tew||FiKVM>#QxnI&G5LL`axzafb{Hkw)DB`HRdSpOT6%!+MdW{H=?MyBu;Z~bpb zGAAZ6v&2i1jkJmNzadFMOk!q*gwb(VEieH_7*p(667;kN6^j7hm3!{-WkkJy*NjPdA7Z6tz?;>5NCQ>(f_{}%34KW#Ymo0t3237V@;co=D(KGCrzy}-Sw_Yp=(T@q5#Bq~fBYr;s2$cQ&!{Dzh2!LFO= z#Yah95>nD6>b9s_dWBlpee$pu#5PUS7kcd@bxBA`lc=@FtLtirMDrl6&>ZgDux-c3 z>ynW2-bdXxUbR$%U#CI-LGvGAJ=?uTTW7c=r2I)$Qlh`91uXpbt zU$j8F2Ue!81ojMF5>nn|`+B<{9k!x7VCDL;fnJbp+@zY%n_Uu8<|NKbCXH!FVCR^& x25|ghIYc$C6YGK99hZbu2j(fJ=qHM}=;8nX diff --git a/Classes/ru.lproj/FirstLoginView.strings b/Classes/ru.lproj/FirstLoginView.strings deleted file mode 100644 index def64200c3aa4f6773a6abe13ab04c9825c40282..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7386 zcmds+TT>HR6ovQ0dE&{koEobfHTr1T3|9>Wkq{ulOpwbE8GH*6Aw$4Gf?R&QGv7H$ z8@qeQbW11HSSdPv*`4mS*FI~nbNKhmi2N=uBqNJbmx?s`WF*Jmb1BQJY)e(Hq$NeE zu~(M^&d+kSBKv%*F1{vvT&?rhl4~h(ZO_Gaf2Yauxtwz4guV7JtP}MQNBi8hDobCV zIwrgFQ9PbB!FHM7-Rj)&f;SyuUyB%x^+wOXKINgAGwUWJ^X842H6`efxT z1ImT|^lpXRry^!RosCrs-KuXh*8+(hH$IwWYQ&y9=gc*@FWlZf+bYag-PM}QM6)m6 zGjig|AKdGaqrb^r`g_T6^_sX^VV#FJ!k$TA|q2= z$#st6aNRE(OT71*EW}`UoEq2$=Y|}!Ez4#Etrnr7ePEuL-^?%OaVmUn@b-W4*#XHG z>eXhTm!?fR_4MSDNXy)rOouqrA~Y0F%{`L=$s_YJ7LL2qsI07@N*?@KHGeH1=nTO+ z)gpdQjna_D$wj&vl}0b$K%=ZjxOCd>yMbPHUyuU6!b9zB-4_|}YoQv@B9hj?Q`9Nn z>Emgr(<*BG*=cdjb>$22#`iA;Ipl5+rJZE^f%-2-Fh?V_vHlqCod?+%&LrzxN)D7( zk8St8t$RsNql;vz0M;uRXIlrq?K0LS`W;D&&=B8Fqmy{j9T=_SzCOipq$~8DGRTf4 z%k~xDS0Q{_MA9mL0Jr0=j@z#E6}-=KuI)-ovDCgFr^7()JD;x47zVQNm_2aJR_MFF zH}9oUn=rZquZwhY4}W3ZS+IJw2(5bUc%6c=c^vbCbB=TPry1v;-gNx(-RsjX6>pVk z0UzSYdz9ICFaBuNB6{JyJAEqSzLxP`??AG~UYoOCELVuJqxagmktY7j?_EA>EkZ+` z#>_E1P6wr22cWe5_kz?bzM{b29$e9+QVeRcZ<_A18itnr@RFH8FlU9UKUa6U=Fm1q)L=V<)@LGrPvPql3KVSBNg0=$6eWo zLTeF8^YV<2mUn$EA8RhvD+gf}Xri_a8D%zU=Nb*x^X>lws+_T_+lL*7d-+lgS+FLw z2yI-%d5>X?iTJ!<;YgQZ+&Xxx3`e+^Aa*U{=ipsK76-duecjo08oc-G;}z3 W!th7e?<#ncdWdH&LaXs4o$fz^uNNi& diff --git a/Classes/ru.lproj/HistoryDetailsView.strings b/Classes/ru.lproj/HistoryDetailsView.strings deleted file mode 100644 index 5eb797adc31e3d879b543a5420900b844485e7c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5134 zcmds*-ER^>6vgkuJn>|V4<^RA>5EB|tu2*OXi;E`m9|3EXo_!8XrV1&D6Q5%Uj5Bd zAS@#=e6=x~9d>8$4s*^u_XGa?4#_K76-PX|l%ia5IFjI8kuQ>!v|LM@qbUt$c9<{9 z2}i}ZtVu~~yjR2GR*ra9;>l%ig|u&darb7Pr{_FB!8$8@J*(K=^Hp{d;yNa46Mf4{ zZ-wV-T}3%xE4{}M$0$r$sk8nWJNe4aEAnFsWS-AR+uvu~XXS=#ecu{`HY}R~yn4nK z@go%mZ<;fy9EqzpD&gP7{c#c&`rfklYY=?{+;y1jtn@EGhb1zEJYtRfsoGWfIbm+I z=bw13tM~)FT1Dv&>TFJpr@LxjpO5iVN^Pqh&KP@tp*;0g#kosNq}bV_FePOU2b@jD zlL6(9_E<#L10K^ewpx9HIyYb-4BoUl@_jd~+1({D;o)5!rK3@A%c&H^#r79thRo;% zSTI@Gvhvc8U%iuY`D!-rPlh=oVRY{j#qSueU@05GY_eD!=H+Ln3~`YL`!yLsGq5Mo zAqIvmY#CT&_BscF&R%6cE0P35O}-PYx;{6!s``;%VWvryIvW!O)ABK#{c56XquxP< z*lY3aHxuq|Tx8sDCEq7z@@S<1vo1N~o1_AYF!EJd%i$3Rl{C?WgKBgK z*XhzKXlZn=%*uN|R~C5J#lshp3vghvSVIS$%GPEipj#3qeWH}yMEY&rjtFonlM?Ia>1T!< diff --git a/Classes/ru.lproj/HistoryListView.strings b/Classes/ru.lproj/HistoryListView.strings deleted file mode 100644 index 22bb61cb33a76aa4acd2846d03edb07f1436607d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1826 zcmdT_O;5r=5PgR^arAE7;Ee>Vl|qFeP|!&DFvNKA2DL^EL4zfcKd-*sHlPg>h>~bF z-FA0pru*J}y}zY!gbWlK7-N7J4uuMzG;Yv>hZ#bSCrr3g=KcUaM_?pJ7-B@d5hdp6 z@NCGF@xnr#-+JX6{m|%!<`4HqFQoJ|wtGe0N3MO^YN5HXk&n+ayl0BvdE_>_LwaH1 zK+dEjmK6DT(h&t)>f-QS;z@;j7SBCti$<8@*c~HX;?^7oxceb5PJ$Qb7kH^kjf_;K zAuaM#;b`-{dsfcLhK`{q!oG`yLIQDNYs89Z^0BvFgVl~>V)q!ECNlz}4CwiR$&B@Q zPmuJn-q|+#4-Mk7xL;!bFXFXep^YrMtUOutIQt2YuafvLd|b!=*Y#~P|4;Bh7P73J zmz+E3<21p?Dv53R*kg_#GZ#MB#{Nb*zpVFB9P7w_HRz)L(c{f^?T=zzF~cWZ&$&Be z)mKEPYoYEfQ|_+M1#Ndq7B2A2xxh%dO>nVFB1f(0PRnkv&l=#d_7}xA)nE4j+w=ql PmwmzGy2fmAV-7w5j!_M$ diff --git a/Classes/ru.lproj/ImageView.strings b/Classes/ru.lproj/ImageView.strings deleted file mode 100644 index b47a968089147c450f027f5dbaee52c3a3768ddb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcma)%y9&Zk42J(9Q{O=-9R-z&H;@Wimx3q=;@lR8YEeN;@#WP|sdaIXkZ_Xxmz>Al zQAbU=3Y9C?g>V&+o;Hd!Q=uzy(viuSd90M!y^)y`W$-c(H!avDZ1P%RNmtU%L0n)J z73-_Eg0Tmcq7Z@mc(1jUua*uvQ%l^3m4B0a9p1kX?Z2+`YL|vhtV{OI)x><8T4)37 M(FZo7zJBcJ2_c>>kN^Mx diff --git a/Classes/ru.lproj/SettingsView.strings b/Classes/ru.lproj/SettingsView.strings deleted file mode 100644 index 6d0f43acca22ab8d06b140571517c3ae6be7dcab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 740 zcmbu6O-sW-5Qg8woO1HuL50eiW5HUBpj0ZDDkV_$5c>n#DmAtEfoah{uRclB6eQS+ z47)6|@4GY4?ANEK16AeJ)&5z4t?rRGH;T$!(FDRt<{%bRN1sM zJG8nr?8E}=np2ZZi*wzY>?x~9{5G2DI>_e#xPo!SG{(@)GSVKscYZLI QDgOGm75?y;b(C{|0|OUr3;+NC diff --git a/Classes/ru.lproj/ShopView.strings b/Classes/ru.lproj/ShopView.strings deleted file mode 100644 index 5f68657e18fa39d9d4427749a8a66bc1e29774ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 480 zcma)2O$z~06g`W(nw6qhP?O~phK;W%gQ6xBHg+?^;vp8E;?LtS%#?&q@AW$GoO|!N z*NcG?ESTtG3l9gvM2jbnIfig>geLabk!h0m5D=?}Qo)C!Pf>A(%Riq#+o(bZOTwi7 z?$-~me%2XNyQVrIKSVF`^fAK*1+otB1xBnFcD6XF!S^Rc@vph^QJ0jor7X5oq$ZBI zVxmE&#kVaD-uI3M@ohJ8-f%w6G$+pe+TRodj4}C%|2;DPG-hL8`dnuUEgK_EbTTVKT{^ka@E#OQ=K@jYFtkvbu|E+Y000bD(D&ihW+Ghwbxpqd@b;nYEZw?fq2Io;;q3$ zeth1eR&SmmtXt4ITwQfyzOe!|l?Cl%OK^Ultjmj;HoBrcQg)!vncjPl z-}E_j`e!RWdPQ4tnJn7MYj@vfp0JA%(-zgjUQ{4{ReWYn%1D|yWqE5_U{!9}T&1mT Mb*m87EMj!@1gZB)BLDyZ diff --git a/Classes/ru.lproj/SideMenuView~ipad.strings b/Classes/ru.lproj/SideMenuView~ipad.strings deleted file mode 100644 index 767c922715ed5bf197206fba3644a670b018837d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 496 zcmbu6OKZYV5QWcTR$2N73|R&mYggJ3e6@>6q1^=B_7P%&B*7Q@=c`{^bs>Qk%H__T zIdf*_o_i0Ujym$?YNCZ+wPLx7*q#!_dIEb>O3qUVy2jsO&zz|$%~cXV;H4+lGc^U# zJIt8OnLPtfbfY_su^V-XfBO2|!ohE11edAarBlmpZDc(Q*?n`>wuuewo+z@fjt=WT zx{8yoKp)?_hP+FzS^+PSqqjzN#hHRsS}OZR`JRdl%`fU!^T{F~NSpN&>G17ImhYbUBP~^Qp0e6xZ&^xXZ8>&$;>r*C#@Lh( z?2pb}NB0_Yn?x2ZkyV+orbX;psujgcZK z)&J__$Tr2GHlhNEd#Y!X?c zJI$_1^i<@RVO--~5u9OVYiwnURXsC}oeAQ|!Z=D}{1tRx&k@Z*%@U8(9+NRSdBXT8 zg^^=9GK>t6chPVJE7OeFBy4eV8++~>dtnabzHG`TFki|R;}vx&t}k)5ut_X}d}7Vr z;|`=M`*=J*7vhTXb&;IWDmei2w6A^gO!MQq#C(X8b}Wl^kL;|0Y>$Z69?&BTHIv@s zv4*J&P2M!>G&9@OAC3G&y!wT=pUgLj{v3}xn&ny3YNi?KQ9HD5sOBhh&gC4gL(iRgjZp eo9FFPLpppH)&hCO*x|qD>lyBB5;pE8UFtuAZcp9- diff --git a/Classes/sv.lproj/AssistantLinkView.strings b/Classes/sv.lproj/AssistantLinkView.strings deleted file mode 100644 index b911b3b73bd62c30b9c5632203545f8f12acdb49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6488 zcmd^@-Etd65QY2NPqF38fCPjD0u&dr9Tz6@50>Hpce4H+Np@sevGaU9N}hpB;5#!O zucRGmy)GMvqPBLmn(dkCK7G2UXa4?c&AzZFme{5ZtYPO|iT%jEZm(^}szTr!WTVwkkPtbpj_n1WaR{E~r%<{@koi3+nHgdXs#J&OV`roC+ zBjojNJ6UP5##IEx2^L;rVX&@>t$X&0|G(KjxF7OX!6TdQ-=5VU2%Vruia^!=aGF%m zU<UE<6rmP6{-EZfFHtv;=5 zublBNX0)xx+-h%wMzH=fVm;5_8_1W)W)+@0tTvY!e`h7i_%1eYYH66c=t@w8O-@u9lhBUBJZ>l_e4RYo1Q;tZiX1m-8 z7$}N*ys34{Q#DPC-wD5p*2Lj1u9bPO)8<=-ju)zGG>acwY&>)99J$sJ{u;U(N?)YU zm{B|2&6ycKcfAzJsxUN~*VwaL+NtdscZ;4~ZdDIrgS1NA_yhjEx9@W!AnVt~SkFqt z^8OK8c$8(?IUJHr%5>6AsOUGKJfx-N+J$F|vd6<$SIUhohw--k>Ec>rX_Rw(q7|a! z+P$ArB-1g3n*2EBDWrUF`A67x7=Oeik4T@f33t_>UH++u@87|fW9F2fI?i8RqGyq43JGadoacuwSXlRV@#ADjI%Yi1C<2ey*$FW3N++ySy*o zNuxX@K9xPiAv=l>ATuGNOH=_<;&wg~ViNzA9C+XuAF_!u#Rx9p-C21E`5WC zwfetf{hyD3m_$)OSI}lkKGjOvxY5m@apYl=%>+G{Q+nhZ<(3{;a6&g*sfRUOGZn{Y zb*8L=mUaPJXJ;#!e*=}cX7`81V)hKN7*>e`RzIELzQpo9Ji2QeydUPo$dp{6Q}+{U ztP(w1aAKYVF^Sk-vCeE&?ro=q*I@TXgFH{?SyzFZHP-qXjICf_-g)^4B2g#9b#_Rq WqYmw0!LFD@%&ys)l~4T4YxWP^komO$ diff --git a/Classes/sv.lproj/AssistantView.strings b/Classes/sv.lproj/AssistantView.strings deleted file mode 100644 index 7c7d7fae8f15565eca1e611076f695388c519c71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 740 zcmcJM&5FV>6ot>aPa$0jI*3bgq171*q6@1FcU9xiQ541s`ts`6XrlwgG7Aa0gyh_N zesVc``cPFB1==Xqo>fts?Q5b?1McQBy!mQzn{qx+Rj(U5w>jp+ITy8s)i z=kN{n^`)Ac`nL4|%dMk|4v%vYqV9NoH|d$V@0dMiyz$3<^XL`AsM+Rf`tXP?zl-@0=8fpsL uj=QDhd~YUQt9f0Lhe1m~5`q1FqnS%E|Mw!qfAfg!?`?1&Yt7CQ_jCo9UvK3A diff --git a/Classes/sv.lproj/AssistantViewScreens.strings b/Classes/sv.lproj/AssistantViewScreens.strings deleted file mode 100644 index a1abf326bdb8b505722f82259dd4b0b4ca7ff5cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34936 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 diff --git a/Classes/sv.lproj/CallIncomingView.strings b/Classes/sv.lproj/CallIncomingView.strings deleted file mode 100644 index 8e18174d784a76dd3664407275d9d6c71e9d54c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4542 zcmd6rTXPaY5QY1hUqR(DRfAYYNXoLxg`^Y-BzTMQ4Z;eWAmp-w{(1GA;l4YvJAlO6 zA`G*=Gkv;GpPtR{Um1BK`;wKi^rR^dTv>U^XHPy#MN0BrLau@InR&r{Q?9stV;M+G z0-g)7_$jB{YjLMHTj7{rSLS}7(fIi@Y_83G$oj`K+rs4jKK^7F7bKTzuf5p{o(#DH zJZqY@GOY9Ouz8a>+=6{IvSI{TaSdeSnCrcKxlf6&BHys=@Wdyg;>&2_hf4;_Ci9`m zL};=t$!8*;fs5f(FXfLY9pBjGD(a;lode69q z_u4bPi#rqS`%Wum-6)(;^|}`Bh^iubB}U6puvt7_6kOENrN33l>l-4_rTZy#5FXOja{NMN&wP1C{K9Ku1xa;VW;_UGycCNKqxT9a^J!dlxq>n+! zi8c>v@)> b@w?*02sO}WeEt6q#pz`fi-XN#Tb%d+LS={-#>D< zE{D7VV}BwI?sa%yNnbX&*WgZPxK2?*IpdzrxiWKmT}zw3(y#SEV$ZIVT6Q zA|A5~jN5#h9n6@)>nW~n7J2ieEbpd=Pgx)OcgpiUWx^ zdCm&a>``dUgF=9RTVUnMyi}!?K*MI?ipG6^0y0!L&-k|()WA+L3^Eb;AnU}wBS$7r zD^gA&khX9|pf<>-W+N-^yWJk;PGh(slDLN2MAl;e=J7b>-e)T2M9%rH^>W5l%j}zg zUqaAsW+HG*Mm+Jc^yIB9%eNE)X^XtUR{gr$^-uFG3y(?F!UBA?Z}vciu>$LSPvBs) zaNP;7xfTj=-x9HxOhvTe#zF!Cn}sU^F17Hy+?S}1!$DPK@qkYaY!dsSQHOK*I#~ra z3)k3v*6mTHmt%6^q`9Ds4!j42E%-_~v4wUbSmY6%={ z7Vf(t>UdPAC#8!^#M0$y+FOK-vEGmB5Go*X2?qP7E{5)RXy!k0#@TSC=qvCv6XxDf(POtDhezc>W10Q?uyu%)t1A!a7jrxVScaPb@W-*z) z@Uo|h1{n;&q$&%HCA1^1s~8!Zg)1^Id#b1zH4Uh$o?)wq1xD?a2HoT$SQHI|>M5?8 zs2Q7uD7kx`RB|*U&b`gT zrkS?qx^tkOiL*|sF(cmZMjwx|4NL0zV9s;~UHI@I5v9$-HJ|tWnUo^Bbct;_MmIco zaE-A{#*_V#&B7f8w=OZQ0(Rwzv;I^a4ACX+hl+A*qOYgABAdnQ*TEgm%mMsyItH(W zoQ*X40&_en-B0~rV6$-D0W0#0YExe8ycn-_=>oQi@c?a8wQtdvJmfW-#p~cTmyGuL yA4ShRf%ylh$#pjor_EwA8BJHV3%k21_AM&*&g8q#SVm2^5;)i_TyYqs*na`e!e>PQ diff --git a/Classes/sv.lproj/CallView.strings b/Classes/sv.lproj/CallView.strings deleted file mode 100644 index 1c2825241ea18dda6988cf1983882198adf78e68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18958 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 diff --git a/Classes/sv.lproj/ChatConversationImdnView.strings b/Classes/sv.lproj/ChatConversationImdnView.strings deleted file mode 100644 index bf9318fc583c2fc69da44fa97e49d68d099268bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1784 zcmd6nNlyYn5QX2FUoqiGGAO7QjTe?ENaBVh9%m4h-N1nQ=hbgkgfz>9n3zg8L-(uh zSFfu2`zxaZfgDXSOXrNN9#m6FGkMrpBUa8>chtr@0kSJsUHrNrKGk5)WoM9_ zPzuof$n%=r9{X+3HB}N+U5~n#&0QVlXY4Za$iXecw+WHoiAgrOr5P|Cz`;?U;YX9f zHbr045abKIT6lN#9`Q<}K{?RQ3)p&resjM4|C8vnb-FZkf!VMvF*otJi#%doOo+6) zTqXSau(G*jncp^zn&|R@=dwaxv>Mk^gIgx7S?Ksi?aWX%A6Qsb>ojPor~<5t_}HA` z;u(6x8ki7y_=Kz$`QOZ7Ta=61PTvKq6)-~MA^bK+?$RfR#C%IX*^C=iS0Xnd_RD_A zEbR2Oio}Y?8Ltqb|1!+^o$xwXWYDjAj|@)#DE64c@2qzs1`aQn|GF)6NE_uooxfY& zduUW83F7dVL#*jD7$f CUk>>I diff --git a/Classes/sv.lproj/ChatConversationInfoView.strings b/Classes/sv.lproj/ChatConversationInfoView.strings deleted file mode 100644 index 8261f11836d57f5b72f4bb16f30b11d0a4ea2b1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2814 zcmd6p-EPxB5QWcmp2F&7B^MA92%%o&2bw@|4NVKTZkrO5#7TpRD9^{E@EnD2y|F{h zwzY$T(8}I8JL^4j=FE(LUN`hWyYkf5M3Fu-JneJs=vY0q^hGISri6c<^M9l>#xS#t zb*h+sF&0J(NFwbUc|x@7j*9qN3wV;5`|B68BA$lzl-clLD{o&f$oUiQ9;@AKKA?geQV+r{vEoLw&XT^q z>kZYb2_}QZAPGShY{)>J8d|N7e8^PfQ#l9dA%N5OB|W$->gr*W99efptIs;Vw^vFt zds4VhvI>1)|46A2rgH>YPwkLTmnAM-7InFJU0@r7%_6H-Gs}#msNZzjJOg^X?P8T( z9=dmbIkXS^PiI4AJZY q)?+jr(^(^;n^O60tZs|0%cq;sby>Kg+acZ)PK@aB28qp{hJFEbL#{0V diff --git a/Classes/sv.lproj/ChatConversationView.strings b/Classes/sv.lproj/ChatConversationView.strings deleted file mode 100644 index c53f6d2dc17b7c44493fc74026ce6585a945dd55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7486 zcmd6s+fLg+5QgWPr-+bxgJfC)l%lFqAsmW0ic?DO%&{gRq#>b{=k0T}{br35yezRd zZUVC6B=%&z|3Cj6cJueon7ow}@63PunNj~u!mjhXoMd?VJ<60VA`N;K9PB_kt zWhBQE@w*6%U$ViyWA4Sb8sHO%)lZ@KaU3$jxxLI>8 z7Ey`rO42l%XcM2UO#jTuwB;YY;_IKsIxIazejEYA$6N=a<_*n1b&f1O?#iJAWUxKX z>oAn~JjpRL^3=kYk4@&%A}Y@~huxWtBKuT$Uc+SJEG8D^hn&N~s$6g`gZihX1eb*` z6AN;S9$M6Zwi!K34~J;?tUD8*in7V?v_^&CIfL_aGg3V>6IaMbWy3&=^R0YE6|sgA zMYt?{dC=LNa%c@y59z0K`OUX{ycEj~%REmjasSv@K@pp9aDa7y{j7Yjm~dJ6GO=rz zh>VvsI&@B1s>sUXZ{#x`k4%ShLan$W2VV0ng6RvgnI8SIuaWg;KpoPn1gNz`en_jp zWibh-aXsl}{&+4oM1PCt-*Uh8Xa-qGN8#sn=A>A3=Wsxt3stS*aD__-MRd_CnB zcs1kQ8V;uE25gnPEPT-q(s$Y__sM?gJ|=H>wne4*0TBB~WUwqZub(ud~Zas)}Fd z%(+ZH-?!r2W#Q}Hef+6C-!**ny0CnCy%;0f@%nXthp7D+Mh?(lK)$~t3#9$;vhZc( z<+?wAja2cTX2UJG2&h@72qUQQ$V`{849U<3!#^nZaY@NLy%!e!yhgl|7Q z>IgZZAGim9XzD_lNZGMia9Q}WP$WX^Dw%X($%?*sFL+M(cmxM4WQRb$lhw)=2QCX& zm3YZsaIpP=3;JH|4KL{qb!~Vg+ZJ}0g|Gi#a=##ZZ?3@(!93{i=!*jC+8(Q-bWU_x z6yZQe&srH|>3)lumdIMV9~-YabS>N_r|Fff^-q&7p#s{feBs<-H^AN(aap)DzsA#a z1>RsbwZ5~-LOlAtfF@Zl1b^Gq#98{(WEUmb3vgNZdcNphz_68Y4{qh4#(4uh*gLpQ zDuit@TqW3uhrcq?e=QEcU*$cZv)$;fEfOWTEPR#ldR9g*H0hk@vT%8Qkd@Ks{oA3w zHSz2fYovf|6`}StUYEt|@o##)pXBQ2{)KU2$%8iOt$Mp#X~mA}e+|D?UWfXvQM+R* S+69%!{vXk0;p^M}J?uaDk$FA< diff --git a/Classes/sv.lproj/ChatsListView.strings b/Classes/sv.lproj/ChatsListView.strings deleted file mode 100644 index 903f672cb35e7b61477633fbcb1d3fc590ab0543..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1888 zcmdUwTTjA35QWb(zoOxh1TPq)iSb22LzGJZHSh)qSV0Ikl|Qe3yDbo~6_7|`Hr>L` z?94f*GrON35$!7`N0;iTsv*PCIZsq~O6x*njTk+3Svh09syd@#Jzdr0vd_h1qFZb= zES*_|r2W^x+ORu2*t{q?JfB&uV@oSJ+i{~Or4(oVh&iDOUfzxvI3xTH^4MDoRdkl6 zguerVo(AMMoD8z6%@iTaPm0W0dbkX?cN@i1ElX4f{6?`?Yy*_4Vt4Jza0UO2itLLk zuQKyQO&u=r5AxU}zK3GYF-@G7<=GCwVz3zws~GRP1`6oegZ+UXm|gYJVzCB-Ja$uk8m4ODPzBv<~OgH@hbgk@ GUGfDT5+}3( diff --git a/Classes/sv.lproj/ContactDetailsView.strings b/Classes/sv.lproj/ContactDetailsView.strings deleted file mode 100644 index e4a9f97c6af76beb7c737446d3b16c4b54f44eaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2906 zcmd6p%TB^T6o&sbPtmY6sV+1sF)l>BV7wv*;ttR#QXx@9^x@TS28vKe+6FMD>CiG~ zX3l?^GyVL?Xhlo%w5vchJ#%^5=FaL$MdkIPE>}lw{@LRHni^cUHnOR@nv81_@up+? z>huJo8TNEz`vxP==zXBSL3B}tQPk#e<|Q)8@Vu$zM5|;+GnAOstaQik6JyPK8Lq`4 z%i9cF!_0p}mWv?ErAAh^{01;rQ!62|Zyg4_cVVRu=b^5rsOh1C(X?xEn7(JC0&b&@ zVRO1>Cqz8R*SX$l+qh&cg4GqVZ09z)d}~)^w9&0i4y{p6En+vRFL}L-YoF z9P$@-g^%CgXiLhG^I$~i-xJt~Mx=Fg8RQsvj}ey=A$;Qyj`ObnSuf zUe~mJ9r8Yj(iP#-*R}3qwM@1*tJ(*ZuT|9YRpG4|LFkG|ucN7t>GtnzHFw;}rdpfT zr#rf;1MB66USVQ`{T8|-bhIlXJrm=O4m10UT0PE4921u~-lrbj(H`m%_fNXMs-F?F zF=6Ik?0y)>AM!q(hdOor0tRY2qCKWAuSa-rMa;%Sm{~GM%(vP-QV~s^%Uj*wIRkqU zysn6ORl7JW^Ej_N)VCcFUb5GH`}GywtpxV=NBw1x|aX| diff --git a/Classes/sv.lproj/ContactsListView.strings b/Classes/sv.lproj/ContactsListView.strings deleted file mode 100644 index 85bde852aa56f065a48b4ac8ac3ff2e4a46602b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2210 zcmcguT~ER=6g|)UiiSrLFh;-!;{%E&7*NEIsBdGyL>4e}Cg|_=cc|yK>j-l$Or2@g ztnIz+xu@se?c=?KEmWXz2pz#W-d>#bO9F3MWER;wi;3(q-IpJmOv>8UK=-MuMA0Zf?HfN$1GkQ?cx{Fk(yU z#pv!keKZpsG=IRs8$32eO^BLBvFj`df?^}T(0OCjFF7VCvg2;h;to~j=PvtO`Y#hq zq*>(6ogT3SWJB&>GRPov^hw1sazrIaUCCylO%7bf|B3_O zco7eq=wVe24IZg=OU7fX>nSThQt65{X~7$v>nxB;p;%XCCeYkVc1X1{ReH#k1@9)C zp%XH*LvChTCmycRPcW2bQ6o}=cU4C_#3Kv{s`dO(tY>mpQsGA$pW;|)&cs?~Ep9<= zFc+(zHgWiTBo3?FY^HkDQlCt@{1R0erFO2w_0-j)z{YOUSXC%Zi W{{X7g%!IwqKZ2VCBWV_Y%g84YNnP;( diff --git a/Classes/sv.lproj/CountryListView.strings b/Classes/sv.lproj/CountryListView.strings deleted file mode 100644 index be7e0b8483c26ac1c4f5a573a18c51dfbbe61870..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 486 zcmaiwy9&ZU5JhjDuaJ}hwXhPg@R1_XDEP!O2GPWzg%R}s{4VuGHnH)+vdix5+&gFH zako^Lql$V;73##QsLi%Dm!~1IwKn|OY7x!2UpR}Lsa$eg)H7loc28rJBi<9OjB1QW zf-*wssb8uCw3({fqNyrSL%vZsP+8nRWzawdd zo|%q1nED~C5ybgCV(4Qg5R-Amx0pyVgD#Osd!zi;>y921x*Xt?pG_@|qUiNgM(ySO SkK{dv*^4xVID{xP-9G`_T}QS6 diff --git a/Classes/sv.lproj/DialerView.strings b/Classes/sv.lproj/DialerView.strings deleted file mode 100644 index b4b05984bd21f833b078a953b902182993a3e492..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3722 zcmcha-A=+l5QWb*PtkD6g$hN*7%u=dl9+e_J^+6~pnw5P^nHB}^~?@Sfl}(KYnnFA zwB0k`%xrh|^CO326cC_}2yHBQ1i0dv$0HhOp^sNAaf>1EBJ^m#Ay1J`^@y(q5~3-mL``!bHc zrJi4pP^JEWBL_UK`lfb{?-Slc@d_V*gC(IkEK@lT@5Z zRK+hzlWS_5YxLm`DNL-7VsTwnL~De1s!gdWihkMbN|=_Va$>C%iz}6?_$9exycX;M z4`->ISTV)o%Co8Em#SvE>~RKF5f!eMN^WP9+FZ$6W)BguLvCaIFBMqj9;C}T_L=DLuAR0Lu4~gb^^BhV3o?(RDopEWB zS(6mS77Weyd_6tgJ-t7FpRx*uO3D^klm$M zkkYd#O*AfJo;iFj(X+XoFhT z5vdnwEop20dnCqJT_hnDVkA5wCDB^^lB}kzNk}URk`*zD*5a3>oJwN+&qSDzLNSTf z;+JGCmBjepltdmawHCi5l~fYre^ZiG@tSBYeo0JZa_@NKe^ZjOm_%#wOHxc-6XSnV zk~J}j*5a4ML?-u|82_7+RKz4&i(irka%u}X`tb@WOyox%k!BUv)uZpwHiAyp=$Fl8 zLf0yl61kE`q*PjqUy>cz>l!uS3RRFTHM!YMdQ3`o zq|OinRLCvrXX1fXoIy@e|8m`$$GL;6SKe=Y0(pEbi^Q)ewH}jF*RbQx@#0zV8ESw} z7kKv{X49X{#_wuxf}6FcbH{58=9X6(4d@#xYipf;>CBv6v8F&@XpI8;KxeofVqbP+ zt80^xuC<XcR1At*tsKokNa^_LQ0y&Sb7ioz;V;3>$6|NQ4 zTZod{B&4KS)R-pHxJWC=i}zsshMgE-T@P>?kCNIXq@-C?ZfVu@7B$h43eX?oH7(Fr zdK)9PNk~bvsJ7>;?6wh!)TURR0o3P;{S15A z^d3!}VUv)u&(6hfWL~`5*nYo#NNtjRO=`LYu3b?_Cff%w?}q@Hyp1k>G}hZBq}=m$v!4FhKplI5>zD&r zfivGea$wvVNeQVn{-@^$i(2eof5y;2t-#NxI*1i~*5lI$KmE|14tEwh#!l-g5917c z5C4jLm`y_JVJA2R-r@AsQYXLY-27&xv@T2&H6>@AA@Xp586G3zMt7J^Ldu^-mnN+% z*hCcB0plCm!nFfl)6p^YhD}0Bnnl-ezO#HA*`o>46RBUd+_!EJ&ziFj9I`YA+^BM#WVBV$mIdI ZsGn;f4-wJ0Zrn+9dTbI>em#pE{Q`=B4m|(> diff --git a/Classes/sv.lproj/FirstLoginView.strings b/Classes/sv.lproj/FirstLoginView.strings deleted file mode 100644 index bf7e4ffc3feb4cb845601376019d285a25be1ad1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7226 zcmds+-%{F85XSe~r(nEvCbnw-=yZAk3Tj8IQqk%iA|f>^3M%@1eTF_kpP`p+e|th? z5*Cvv*r}7@7|7=Ae!F{izjOTadqQ5xl;mVle5p#CD<>cMOiD#oWn1dfm5!98$(=8U z{QiNbRjF~+oqSUccS(3A8-qlY(4fb4Sj3JG(bZ zVD5nW*m+U)t2bL*KHf|6je5hAJET40Qj&$<8-3plN@VrT3Vu1o#wwPb_blzW2>b3y zizjMlc0Zjl-z9Tb!Mg48#m5_Ao~+4+ERzeL$K(ZDdp{>sb6~?VclvEP70!Of2hr<* zN!Lt>t4N;cZGF{a*H2OVQl4Bwku=vM{Fc!nkVFDEjv%wMluwjjP@v0~nV71u4KK zJgS`Le~ER!9?JtuB5NM3$uBI@+Nm8SuqkP6B(3vRX1jKExaqp`mD3P%gCyQkpl)7+ zxFd6n`>cb~0PaBvYu#@!lkzF;xeZ3;2ajhfNvPA;=Mr8ifUPStjJ~rin%kCyh45+h zIZH*`B}aTX%y|mtxkAsWfb2x(8Q<}@8;hVNku`I7;7~qut3}F&({awEC_V?ykk|BC z#CWj8*Wsb_Rn>8lhkNf9QQIYUi*!s6{-A6tnxU42m7&o!s4Pk2rTYb)@84FMJuJ~0 zlZRb+vO}E>IZ4PcEQw^46Kz;j*m**fmV|{e zkH#HQHn@c5Q2*n&;katgA?UPgp3*gx+0PEJCrjf0t34Kq=nAzYtf-Es_Ka??b_^Rn zC6;B^Ef?rPZ(_B`lCY4DZm;(IY_Lf_@8E??7?JLV*6DcBcv})#^LiX?Fx#&0gtIK= z4x5}#dE7VYL{XfUgca?_?D~?}LAJ_!!O2`36!Wg~wx~qAF)WsZg=LhLH)J2-sY;wB z=&4ltT}m728W;~;Cp~s&4$*j75*EfNQ_vpjKf~T6Jtu0zSsEan1EWV5y(6x1q=OR4 zNV9UHQPiGFrX88?ig zsKu5)Z7OO@rdeBhTG`_CTu2=Wawijxkqo)>misknaI~~# zSL)K`y)G6Ha>=tgPx`?MMQz>l-mLKShUX2eT{#V`PQ2&)c#`Ayi5#r7%U-a;H|<5A z^=s1ORG#KImPO{u0LwQ1{NU}D{Pw&^5}%`SnP_h(8k>85tAF2mt1XK8P+of$e$?tt z(zq{z{d??cv+w-=aTv@pmOQuN*oW*s0LSS{i{s8m;?8G`d%E+KpGhO0;PD@@^ErPG zq8+$y!Ov0ZX#7=Y3^lDA=WDjwD@c>WBDN9NM!*zReamx{mzSX&sXIxzc_~j+S6h3a zG(xFDm$MgmqBy%srDnsyA)l%ym&g1@uBA!^b>xw22{m*=7?>=QV&eO*fG-jJccuUPSqJ&aA>(wy7EygWtDerxYd(#2mzDDfnHm6+F4I@ z;ij6uRJWb_qPm5eVEUdHaa_pO8CIK4%W{rCHq&jLtHV@$6pGhmku>9JCfIDzr=Jfh zsN*eI9Fa{MRE~q$*`H-i7D*9V-~6!oe)1VqRCRRds|ulJq@S29k|Okc{lqk_TIinn z`^^-~R6~3|m@G_+VA?lM12&)CD-@wdUazSDTP~Q5A3};?ve=#Mrs>Lyvu}!ZKKmvM zQ})yN6~~V4P76)`FGDH7862_Y74v2ItKVdijVZe|Ep+JT>Wj*euUyOWiEpcUc9<+o f?8rVXY?liI^r8#~1!i&^UVM?O5E3Sf^>g7r*DDcW diff --git a/Classes/sv.lproj/HistoryListView.strings b/Classes/sv.lproj/HistoryListView.strings deleted file mode 100644 index 7c5b42960a6f2e5cb87662784a255f9462414a77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1832 zcmdUwK~KU!5QX2lzoOwt0+I+M#&}TCNCb?c7jLy9RuD{qME<<`&9;DPfY=xkP18+x zJ3I5{&D+_}4^Mk4%Gare3N+#Ib;MiHotiq)OjDk*MywpN9w_ALIm<{7ir5!nF;|O! z5BwP}Jsk6Gv(W9Iy1i2u;mPfrVjZV`uh{#-Jj7R1jirxj`o9QHkMF9=Kf+L0dPqfA4a;V2CTC!DzRMyBR#`IiRxW2wsft73?u6- z@-os!6)_#a&bX;1k49F#KFP%N{qFKh?v4)Ft?ws3eNOj?`JB}m(R}i=K4|w!%<6VF z%x?@2=XztTqn7&&8|y5}>`E}LZh|H#`YzWA<0}@1&(Qg<0~yBe$RgM=Y@WUVr}`e! diff --git a/Classes/sv.lproj/ImageView.strings b/Classes/sv.lproj/ImageView.strings deleted file mode 100644 index bfc519a959f760f6e00ffcd73e5dc8f8c85a2334..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcma)$Jqvg8EQ&>6GPID1gSyjvWsI6rj tMP({1#J#;Y>=@Fc;NoBFK5G4A^9J_65dFW>MV-sa)FJyOUGbGJ-~~IYFDn25 diff --git a/Classes/sv.lproj/SettingsView.strings b/Classes/sv.lproj/SettingsView.strings deleted file mode 100644 index ea85eff65dc406df01d009f6fc4759c488fabbd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 756 zcmbu6-D<)>5QWcmo+5ZD)Ix7dFZ@FSu?3?KU{qp^^aod|@7G7^bF}?-6IUp~A7t1i znLTIDoSEOBK=*1YR99Wagy1dTIIgMcyntPSo{^8#^PDc3t?rb;vG>j^H|aEhU5990)K|l+#QLUo#=mh6 zY|n-7vLI{S2E?i9937XlG5Gm}dzfINzQ#nPXAP8`ah~WyLp(3_z@0O>_lj|FUWaI* zSE?S}S-k|^FLo01UFx?ry2#aSJMXwn6lc6Zm49t~yG!&;ht=@l`a_K!J|3V6PpOCiR7uV4X9KVi|M>##teEF*j-1p{*5g;b(fA zYwe>?1a}L2NqwMhsp)B|L{+K*=UgND6_Y)jI{bfP_<#ATlv6@ov;i)2vILpuq;#23 z&1O2_+jd@w3x}3GC$!HEPSjVV@sGrYjFzkoc2!lK&6>BwpBO%xV%jTJz?)6k=J4VE E4s9SwKL7v# diff --git a/Classes/sv.lproj/SideMenuView.strings b/Classes/sv.lproj/SideMenuView.strings deleted file mode 100644 index a1f126d9b960d8d3673c431bdc4bdf9cb135263f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 478 zcmbu5OAEp<5QOKPUr~B2SW!F(BKW#g1y3zreH3dcReXTIUj3wLPw}FJY&MhK$oh d*S@J;<3fzit|r90I^3&{TCJ9U5Jm4gUs19wSkaXrg7{ce1l<(e`Y5$UY_SUZ^Xfs{E+il*A(NTO&CHxU z?nZ6-@-)^#Yn3cd1GZJ9P;+t{#oSr-$)54A*jh7FuDy=L6TG-mEqId=ZBd5Y)an)a zNG)|W!d}!Ne%JMx!r;3ULDSVXm0W!d75-t#DwaUI7t4^pNL46+K83M>H0O-TvAk*sj_x19>1;2TUG`#)|+8FM$INFmV@Hp5kFrFF4 z;vCr|GDdfjU*lM+;P>}6AKyHzwHVb#5*uTLp+`}SMtG}+*Kvku25OFY*m+65WaSm( ziv$MFVV5kqfRriO@+|NKjBorG5gK?7SW&OaYk=B)(S|qOb#|oolwnT=3G(5`s`GF zbt-~ye(xpZPZNt3EPOSb9uiACQ=Cpq*f^cUt5_>|qF#kKd(0H4*4gL5x#*eY;kU-A z9VM{lbG8Aj?NG5Dd2OnDJQ8gZHrDnf4@(tp0SDXz^2Y9>DCX(?X>i-`B$q_+F(`|~ zNEj!zi3qVt*s#vy*P>i3_fFC#^Yp}B`ON6SSbc&En}m&vRozLR-i3WCRCH?%J8@DE z?u>e{&pxfa1!_+`8*CCbR;GLKW8Ngi#p>^31M(vW{vny9cd13r07k`+FAS5kj`=qTfXcwcKFZv OVS+Q8gpD(MpZW*Q+DdK! diff --git a/Classes/tr.lproj/AssistantLinkView.strings b/Classes/tr.lproj/AssistantLinkView.strings deleted file mode 100644 index b7e6b8e8686f6d5f3d15d26af5aabcccb54c0dc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6480 zcmd^^-BKGz5QST}JcOg-(vFnKi4!NOTnK^781WO3?Kn4-Ktc%pfQ7)IXZ3yFAXly= z-Rwc0^qWk}*mZOv+#?VaiFIeofk`0LLl`^p|#-YV9$x}9_7?PuDuy|i_!(sy7@ z-Ywft^w#Z=tLfz0ylL~MZ9}`Bkc_@BJK0maus#xbzG?D%VP|d}&D5q18B_25_}h$m zg4`iJ>$Zxd*X3)wvR|xV-|?nE)7buthv>h=b4a3iD}9$g&hp$@R(Be1py`0trS*__ z!&n1rSSiI9UO?0fDFJo$JEDW$6`hQp7WUw3~Qj6)Ze)JaWYSEz#DR!bV8qQ?Rk^ z7-T;u<{R89j?%vAi!A&DaE71AY)jI0b&8{_O5 zHY(>d#%puNv+&WhV`f)>6MsYu`iMxMx9Tg%7huye_jPj2Rch7K5=HVrXx`Y?NA?4G zM{{S*0$I>r#_~h#zKcA%YL}qCVDIo}!M?GMJxzHcE%7P%?>OAYdGwl@?<0@C1`~Pk zQO80(soL;$$F=jFcp^`J+oa{OUscO7PwKtot~#c{?~q@yQr`JoNGtMOqtEyB94b`F zXcj-Vuz2RM*>}BtZ0@Aq4VtM1ZhUSp4KX{Ww#X$`(?(Nr}E z3DPR>#_#giJNt1i{?ltZ9qVa{5by7y#b`Wx+r?nyQB{J{s)0sdv$+CZixE z@i}ncj*Fg%MZ^$&$2MB6NsfxM$N=V=k>eLxUdJ}&ZLx#m-RA?1I-g_WXul1z)0JAbyxwp=_v%p=__p5 z0=;XjtadoB*bygv8j{G0;SC~vKi776=s2(4zc*C#^=aoWE5{gav94n4h!to1=YZ;N z6VDtlO2MAcM@^#PUigC9vVXTR_+$lk7$0M<}3BZ{4<*=_r_UYnf2yM=zhEs*6i+lG0mM(G)7rs zhy1q<;@7Zzixu7EJa>%~ui4gK!WKGdKcRvw@I?bmBry<@2<;VX%vPm6b6P|?l+mCJ zuGZbC^WtHijT%W~?Sb1eR?a&uA5lx_Y`DgrN%hmN?Mzu0k_cJ%hWU2+4~6QD%13Md E2A5QWb=PZ6>dVhLS}3$0Zy_ycMS?JmY3QBkle`h>of_Df>Y3aP(uxW?Ebc{!YTnn$nLg+@gxRQvc9XDJFx+#~)DEVt)>>V= z`X~(08T*dV9N{zqas1^x^V;Ia=RefuTK$*HvD)BVnEPZ;?=auGEJ9RaFIV$3ffGvh qXxb0~5qJ3C2{aRhixT&trfkF|;!TJ8%;%NuxCrs6`%bcl%=I_f_-dB` diff --git a/Classes/tr.lproj/AssistantViewScreens.strings b/Classes/tr.lproj/AssistantViewScreens.strings deleted file mode 100644 index d61a249e693e5af20c86d4b289eecba818f2b7ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34820 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 A+5i9m diff --git a/Classes/tr.lproj/CallIncomingView.strings b/Classes/tr.lproj/CallIncomingView.strings deleted file mode 100644 index ed061468fd68cd14571b9e52a272422895678914..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4490 zcmd6rZ*LMo5XPr(`4EQmWs^mW71|gRDJ2zYsSvf+H>Q*mt|GMMTJRJ4t<>Kx|H9pp zyFC!irf}@d?anjv%rkra{VO9+WlyqFmY!V6kdc*F{O!sIsmhT&NWd6KpP84;U&%GY zGnT%z#OFC5iyv~zy%u+R^A(Qyb#3nVxtctGj?Imk4_NdkL1Ub(bNl< z{FP1K1CxiqL<&$wo^hUZ^)e0IJE!4O2gSv4-R3norD7x45L zzh}(80aq7B=U~f#d#_pBms@^oF88_W8sr``1NQF3pe@RQd=*6& z;@5)1={$>z$9h$qoaqN3|3n0yQyYqGwP4C51GB2OS-7)8>x^49L?h5QnbkGYllNpj z;MX#DYrf6GmG`dw?ca8QhUDSCGF7Bt?4>kAe6U%##w2Zri0Xk0Hu;OIqN}(8mVJ50XG>~)FDseNVpCYwW2TF0`J7s`Vz=o$if(cVN0)KhEL^$is#@E_ zf5$nm4ssvl`pi;-=gatQ7XLT?*v)D!i;`A)tTf*u$)ByF?N>HF86leF6e2YXPYGG5nbe_fO`?eS{ XLJ9QgUH>;jab6ik;$XAb3?u#kT2HIw diff --git a/Classes/tr.lproj/CallOutgoingView.strings b/Classes/tr.lproj/CallOutgoingView.strings deleted file mode 100644 index 378718e493567727c33d5121f6081e3d6bb36662..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5642 zcmds*T~8WO5Qc|ae?&vPG+8RPqD|AJ2nD|iiq=+d8a~znRUrsg{Db{Ry=vM%b67C! z9$k;NXqpX2mNRE}=ADms#^1l@;>QTz85^L%!xKI{jM&Dj=r_`my%Ek}WLX zlLl**h$uwtk4m`OUzDG6g)Tj!y&51KXa9Aqk36WhTw>8UgW6cwBzjY5-eK=8`O=au z_nIwdd~2HM@%g1=-W(SR$LQus79Bl#Aw~HZK_V)VG8n5~*D-%T&EoKwRYojRtqx5r zlvqpDoKGPfY!a>!u?5yoGb1w8y)`V)o4jaK7c(LIZ4$2b-zOs;76Ey3q#oo(Tvf>8 zo%di+Hw@90i%2fmBwR75pizVCt`%|C6`=qptb)Q0l~gNa6aF04kTFBrB>umOP?Qxq z6|IaHth>ZeC4_@b!ZjLZUlG=@WMHDN14Hx!UP{sf*gK{YIGlsPp~;GdY=XsfJlG^$ zajJ`Ra z`?x09BxVx>k2_D)@LdN?%CgLwhcUvPv`xYlna7zYl&N&)X;A^Si@m**tkFTPfI-gG zOP$-wp&YSExFV4y57UV{AJrxIHZjY(h$BM6asA3)FAGJEe8ISzV zM*cHklW_I?I@P9&Mm@6YM^IVg^8fGFvH_jUE*2iaU&`oBdYb84W|MdtwamqzLnbYq wW_0HAsB5cKwP`zT60`7UG@D&II5%#-g1258Zx2}uMBGjY1)GE`3Sn;k1GPn6F#rGn diff --git a/Classes/tr.lproj/CallView.strings b/Classes/tr.lproj/CallView.strings deleted file mode 100644 index bba4cac597f3e0d2d1883132fe21a775c3dc3b43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18902 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 MYZO-0`A?GnA3EYQRR910 diff --git a/Classes/tr.lproj/ChatConversationCreateView.strings b/Classes/tr.lproj/ChatConversationCreateView.strings deleted file mode 100644 index 38a13b3d347b93b865e8ae0c15226ee062c93e8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1396 zcmchXO;3YB6h*IFenrz|lj_2aiE&|TG^ABizqSpf5NT;uKu!DGje3|Oi9oBQ(M*`Y z%$xUd<~}~&E$ykLhPn#nC}uQt#M9KRY<2Xkgz=y`D~GH*av7en3^Y=}xd4lW`s|I^ z33Cs9cIJB2y*cl(?wYs6cu7nw-*`wk7iAGH@iO7t#jCB8+}i=32WrdL3$v{Y^|BK! zYOr{(ve^Aq#?3rRIp--E4tLTz(;U-^0<2@bX=&nH#NNd44tr0pS*~^XIT|xOo^FBL z>Mqui>gmdmI@JtP`;Z(INL5+XCAB%bpQvo7td6fKoW797lf0apzM%kh+jqeKi1XBgz3;+NC diff --git a/Classes/tr.lproj/ChatConversationImdnView.strings b/Classes/tr.lproj/ChatConversationImdnView.strings deleted file mode 100644 index 2d1752d321b84b71bda6e8ca895b00b0362f1124..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1764 zcmd6oOHaa35QPt0enrEQqzI@RjT^-%Na6z|ab>8WmZxb8>YrD?zCg5Mt1&T?Lg}5E zd(N42%j-*C8!F1sfkx`eB@FFx6?Cb(_BE47Of})jF3-EVA^Jh4ElW0aHW|-qvSzU| zT6EYCvWHRSDXRn4Z^*8zw#aJeN-de})#vk;IF2fcV9Rr#lu=5Bq_EiKi0%$ZeHM9Q z9qYQrbibpbLq%VY5uPmE4+71+0Hqh`Hs{{|?L^(a(xa&(!qgB&Otq=Fh$><|k}|UD zaRRgJoDDJuhAxcLY11bA2_CD;c+u0?J5AX8eGR%k(0xY#QV^kwzT)0dRTWrQsWItc zQ5jam+>8NPF1Y&a9_VvRd?PJ}-4xiD1=9~sPKf2<&&ods-!!zZs9_d)gohN zT)My)W9q`w84SavLyA<%pDM*fIfws7m8u$9wA|pUyeN5djW*mve**QPvSg(#~*562!>vQAlSQslKr@Vl9< z*-Yrd`;?edrEZ#wF81k;tm<8e9p00^ZSCg^GmuE3`NzlN0=G{s9Df zl*^YG9D{FjK<&%2n3G>GK^x>PEe0sv?`&h5YLdRfC&4Gz%`D>dXG0Z~q-Elm23KdL`wEyb1w*`xpcBULaFZW+I~@N0wL z&cGTzsaxcxWWvI!@A%?eC2~J9HCC1Fs_P#_{BO#1TF9k!jIh!zT`h zYguXHA~N@C%*lq8^D z?QmbkM^U_^iZUfnEqpz)EBAQgp3JysUsvq#x7pWVIZ(g@4O4HEyf7~pas>Wm;uT09 z#J?;axGa3VP+~uKtdJIc2@V~0cH+}J*7=@xql#HA3pRaHJ+bx{s6ct+flKb!@(o6W z{E67$vhel8L`FH8lSm@BA}08P@SCd8xfvKYss zVgGon^x{u}_qNxHjQ=Zp2QkTWxW85FV(<#Oc&}x;t zHXfLy^V|G(S@>f2QI*5jUK?b{1wQ!BYe1Eoc@lq@g|81Hz4MaVOjX{2Q8HTJwaP!A z(=Hrwrn@X$Ijt+Jg1RylE1jzDkIxIN7Iuomhfa~y$G4e`%0zV5-1F4#T`R9$7QS({ z)r?MY>eIniHh*nbg5y=ZQKSO|RQ4NkJ|26QMZexit8RwPjj~Zgfo$N1Ku%%vjO7iN zMZew{4mZ*(-6|EY2L4HuT_9ihYuWOG%fi>=^ddB_rSkIMF`|43NCNqcUic)!s{tLjk=yD`Azu8Xj)Z% zCul#N_x5DdLhiEgjr{AL03@HWHJJJ5z<+}R3Q*@eOg!<<;Ii=b!m{VtM-uNh*l9T1 zG~lhC?CFH7bEKZIjz1vicHY)R6%;^Qmap8~%=q?6hs(mn`Bk%Cn{&4_*3U92ozqXk z^^-Kf@MroaHLe2UmQnrF%!QGPie`G3g>S5TpXmo3^*azN`cv*}#NIx2ZPE#Bi~6_HtLKvUm%TjWao_zTN7z3q=~7ky?5@jfz-0tp7Xsoxr#0#hRmAraK+e Q$?X5>xh#C+*4Ut%?_tyM9#vOnCPi0Yfs6qhv>!H8il zI`_=nd(PfF^Yt0khT?K`C||C+3`hISm@bvmf%@t(+G??~$GWQ;qi&I&s`A+9ff(on zUlor(J|ScO)$!KtP9NX!lrxYItk&@5lo{{H>t0zUSl_~?RRJ~J5hu?mzrzs8g|do` zqm=ZaCbPwKU}89!C{f05YD^dob27YMVeq3^0i7IjH)=iOd*W;tzh_svbGVtwonJ3)< diff --git a/Classes/tr.lproj/ContactDetailsView.strings b/Classes/tr.lproj/ContactDetailsView.strings deleted file mode 100644 index d5eaa1ee3738cd25d6a1885ae84b421f09e8d4ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2846 zcmc(hT`vPc6oy~7{S_ORlHr1&5f`dH>YEac8)>Vd^dq6A{9%7W@XYjsu3>kzB9q<=Kbw2xFd+6elP%}Jox1~N zV`g(wAzMFZY8S+{j1Gvl!A@IqA&x%8w6kq}`N-Hdtj;H@JrACFtEuihh{tv`U1oc% zE$1l4ZEC=v?nmxNN)x~CioRNRi9#5WRKI!0-`X8D%Uk$&MP>r(s~O2|pFG~f>q=+b zJKE%Zn4J&d%ct+ZQCvpLVZ0hFXdPBYvt-HWl($@np%0NXe@W_eG}fP$YkP5x@w0*p z+Hl$}>wyR?P{Do8_Z93zB#po^9k|Zb;IduC)^i*^k1rZgQOKimqf3TC5p@(ltn`Au zB9cZSejSgGcRUr8=-G!bFKUbXj&3v`;_pKw<^Nk1MD1O^?h@#`eYZ~Mv;8dNa{a{K zb|2#ELyW7dMR6I&KHQ{_t-vr(Z5wx%3fHs`;bZu}`*6JTVGHGU;Caef$mrN{AFf>= KBB^$LXUKQ&ueFT; diff --git a/Classes/tr.lproj/ContactsListView.strings b/Classes/tr.lproj/ContactsListView.strings deleted file mode 100644 index 35ad061df020fa37f3cb03db3ee2542946955ea6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2152 zcmd6oOHaZ;6orplensQb1PxJeVO*eSg5vuTbz`7{AP5Fag8X6s1W~^`<&o4%K*g9z zn|9{D=FGWg-ro{h(ULrEtD&Nv8J;$I7ImS#w$xF;XsOA}2J=PvjIy(=siYcyH7s6K zV6DVTV-z9FxBdCfKXAT*%TRHC0oLt7+#`G+`1gsGS8fzzZLq#Xoe93zv^-S}i=znV z>g$oeIyr9_tX|7nW9FHao{OI#_WW=tkgcgFRUHmxGXDgTbOe#~%!quhCyGt;Pw~m> zjuAyAe8kmsn}R&B^%e zfy*k$)Ez_ab*bYBK5-VyR2tShR?1Ums!qdAA58;#RAhQJ)CZ5%4hY!}im0kpoLZO$ zt)JZ_IjXR8v6`prn*&&L3@SbqC#g07`4Gn;YvL?sWleaujQhrJm;Z=Hpk40rB;2U* QZg96>MbL<|_&qc}0FL@vT>t<8 diff --git a/Classes/tr.lproj/CountryListView.strings b/Classes/tr.lproj/CountryListView.strings deleted file mode 100644 index da178e19fbd2b628766933f562d1f272d1e7d77d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 476 zcmaix%MQU%6h*gbzoO|-q9jHl28xJx;t?^V5sHvd318?Zd<$0PwhTPd+?#t(&)VJl z^nSCHRa&+x+Gwf+kF65R(MS!osm(O!oueYvkn@Q>?ir{?PYrrVt<0*Z2ifJ`*Thgg zG**y4WJA@2?!bo1XaSQ^M|m|3k;aw9`BR6RxNs6BPq|c|+ZDwYer!d~E>ATJrC%96 z9Z?Lm)7E@_ic=rI(KG_Q2jmavIKRy!o`A=Me60=nE$NbkD>AlFiuQuWhKQ4X>TsXh R|D3$0P{;Egr_sN%^Z<2OMmYcg diff --git a/Classes/tr.lproj/DialerView.strings b/Classes/tr.lproj/DialerView.strings deleted file mode 100644 index 52182248b2a76b5c0fd29b9057e958149cd03e36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3678 zcmchaPfvqD5XE1w{S?Hb2bEH_#(1#)k0u_}gC~P6(JES_HBmpj`evsqu}E>$H5&*S z*nRVx8Q9_NwTXGmBEkl8q(|-BE$?Kwck^!DxzCmE$Mbc?L(aOQrN?LYu*s*?i}qM?mVP#Q-NxLv z)Mq|c=+ZOQ_L>ncoK2LQ96yP`or{;m;1WX@86{M&KQl*+z$0#4T*Q;%AI9QqKg#s# zK}zM69z45q-<{KsTv+1LCDDjuNH%*-B;z?%S#M!wBJX0cW?oh5GWH91KTmq=nWiK>JpS*j)R_2<7T2@*4js)Qw3t|jsHSCH7hkg5`vq*F`c z>#rbLH0MNB!jkweQ}r9~>#rbLGLxuESdvz4PJI0pB+F(JRS8Stzf9FR@%2}bbj&2G z5|-qMd#dcx)4QUiv_Fc)x~rTbZb(lTH(s1xSTes4R^_N&+9}0iWm1)}B)iPe1N*+| zIck^oOR-pa_FXk(|B#<9m3p|Yp^DMrUa92%T~eEsY{&f*4E}*^oi*NP*DKv>L`LaZ zwcjp;dTLB?lVwOMKR`NwhA7_jrs=tIUh=RC{GVQY1RoH<85=VT`#oc3N~-Th%G F*E>6yBgg;% diff --git a/Classes/tr.lproj/DialerView~ipad.strings b/Classes/tr.lproj/DialerView~ipad.strings deleted file mode 100644 index b2117df0c67fc7b99aa44b278f14b84e142ecf22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8466 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 diff --git a/Classes/tr.lproj/HistoryListView.strings b/Classes/tr.lproj/HistoryListView.strings deleted file mode 100644 index cfdedb57ee56929f592199f9faefe57a7742310c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1802 zcmdT_T}#4H7=CuUKhf|~(3Dh&=%QL5k{VH6)J^DGw6qm-LhcXmPmJn$&lwZOl9@=w z!MXFE_w#w*^X&7(#5St1aD)klm~vUz=dXerba99oLatZ%lEqwGUv8>$G8$}XgKkovu#?KAfdeRW}HK3eH{m3f+cZ=qf)hf3z* z8VO#w8#Cs;A^A#FkCG`*BIVzt@6F-RXEZ_9#RH?RgGM`tMtfy6Zi$|crXhW38qu%f za!fpAcJyR@Hvyeo&7GBNwpE{9)-Ao4Xq)Y~%_tH{=38!z+=Asb?jYY;k^F4Z6V{oi z>6Tgli`6#Jz&UE@lVfTa@ag1wT%_?o(6~x_FFaPR_dcG8L5&=F#%B+g*v+9)q_Hj< zF5*(Nv0!yQ!7|hDsy6+V7%*?)G(F`O@3YVSoYEOt)?#hKeewkfC|!OF#BV?hPVmNO shf{KwL!wBdPAi?$g7Z%)iOKq!@qPYB@1$o0Eo&W#< diff --git a/Classes/tr.lproj/ImageView.strings b/Classes/tr.lproj/ImageView.strings deleted file mode 100644 index 27b35a9b90f4481272d92d70e6b002e72482f41c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcma)%y$ZrW5QHb~J;jkSU?i1=*r-iF6hsj#NrJ^`OvD(1FRy+|jE#jXd+g85&fMc} z)K?&@iE<^X2&)n4Ypqyg)w&X;3MND5i85mUMmnW(@EnMnX6#Znd3Rw>*U(KtRIuun z^}V)$aR8NZAqMx+UTULAJsoxCZBQSy`T>3o^)E#Dmpi{x*`i$F&1wbnf``c4c_-@E GUyYtL)h?(2 diff --git a/Classes/tr.lproj/SettingsView.strings b/Classes/tr.lproj/SettingsView.strings deleted file mode 100644 index 530ee0ebd7beb8273ec93442a1a1a6ff8115cc02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 720 zcmbu6L2JT56okiXens#om_o1OA=(l`YYRpXo=DdTQfu7J0^^|kkbT+DM3MW0c`Q{o*9oR((?iUuj$%W?3Zge$jtUEYh=jRH!!vib|YDTB(D_Pd#!Pl3Jb^XQxF7kA2zJiyL19 u`Reil>6vOPbMn7;ZP~QvCH|%)F~ix`y6mGnxbjzoxc4Ok(pZyT=K2WkDQ+47 diff --git a/Classes/tr.lproj/ShopView.strings b/Classes/tr.lproj/ShopView.strings deleted file mode 100644 index 3d789bbec19e9ec5bbd13818f9be942eacc4252f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 464 zcma)&OAooh d*S@J;<3fzit|r90I^3&{TCJ9U5Jm4gUs19wSkaXrg7{ce1l<(e`Y5$UY_SUZ^Xfs{E+il*A(NTO&CHxU z?nZ6-@-)^#Yn3cd1GZJ9P;+t{#oSr-$)54A*jh7FuDy=L6TG-mEqId=ZBd5Y)an)a zNG)|W!d}!Ne%JMx!r;3ULDSVXm0W!d75-t#DwaUI7t4^pNL46+K83M>H0O-TDZP5r=eV`j8&m1j4!3u5`-2ZwBkSVPpaQ; z8cN#5l$OCxrkl;??8%<*Tz32C_l(TToH(*7$5NAXE=QL6%}Q0uvc=eeG7nhu@t;_Y8fTL<%k8s%Eb=jkB&9zAy=kU2Hz*r|Goi0(%|oIb);)#kyRY=eA*^ zpF+!SVv&`%NV>9)P8V`b^u$@%By21ms$I3HGNw(dyz*35;XjpDn`)KbE48AQc(`}8-8(OHi?wcowTlgWIcw$BJ4CRM?z8_&jm(C;nKG? zTw4^ok>y)(xt=*XGj;AXpz(q{T98HBbOMWg*)uFU$h&CRgGZc&O~MvEw^>h8OiXHf zegw;#l97+td?8udOR7~=b)p(#lNiVH{%Y>tZeJ?0jmL8%S-fR@?U60Ic6P8i?&~HQ zrZeNZ#Ap@|uVYeMH^|E>mTeHxdS^Hz|BiWnhsO?jwb5a{zNr;0YK4ycUA+1k`Cs%i zME?Rmx7W)t<{@>=)u3wVilH@!nR6m1Xl@yOHEM%z-k&GrPm?dc;R~M((`{lYKg4uc z!p3x(?48tiML1XR-cABNA0G$M%i|4KUYdFzk4T$@jovfmsHfD~@cxLW2kMD>ekYZ7 zoHK%h{r0oV5fNR*+7dAn#!Y1)Vr&vNo5xw#q@KOovrCIi)Sj=)2igY2Y6C265;hk9 z=j?L(eafePMQ7b`pHAAL+r1syXP&Oi9+fGcBQ^;eqv0L;rqv`x$^D<%I%G=@`@7_o zKC`V+IpP#-64Q2O8^6Xo_qL;T;M1& diff --git a/Classes/uk.lproj/AssistantLinkView.strings b/Classes/uk.lproj/AssistantLinkView.strings deleted file mode 100644 index 1874bbb605f37eb48bed162f895b0a6826540f98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6792 zcmeI1?Nb{!5XSd|CLj2eFv&pEKo8QHbkf=}#1sM;unh^cycGzv{RY_KrC^9-2;`4% z`&)_2**;-&p3u^n&W+AGX-~IW?LPZR{_D>!c_GgwkfI#PwtV0UBu5#Px3VCMwCzZl zzCoFwbz641%2w`xo&$Ogq$ZbjlHvP#D|;emQb8i%oie{?a%#uXFC9>7jH&%@{1wJL zL~fUs1(`+C>5`EP`9)IlBRwgKj_uxfj{aTLeG=&#={xxOE8mzYGif%>8~ zlQ9#Nc~dY&GfXYVwL;I78KP$ssVUm0%u7ljqex8iZXRjXuZt^*eQV79g1LwDUc?H^ z@-xrB$qFm7MlH`;746fqY}}IFLOmke^q6k*OkS8CbKeY_Ugp|O?K|_7TEBTyyyOtC8j?}&C2Tv~^=i|5OTLo~Y#&rU= zIGvJsS5d0yxNS8JF)ze1H`;YLHH+_zSe$yt{XOxz*W^n+iKM{qpc%J(L`RyX+5pjt$Siq3vztu z(ppyWC6IMlq6An+qivs>ww`lWepTYP#;>ATU{^%FFim}fHrH}&Jw_Rpe#MQgetK&C zwqjc=tmLufbK0Z&R2lUhWw-7NKiIc4;*}5TXij72_o|(?Who`z+@mO8Q9n_w0z3W@ zPakExZEVC>ycrYX621)54c1MBQujt%PQim~n;wf#fhR3@mLZyebil5V8U*eK&5b0Eqe=NZFsMb&AN zH)hZ|kODQ;WR}((ExHOio2*%+S2<{&uVknz4;`^{E7-m%vVkK1B)!U8Um=r~Iqsu8 zXRh?uR;RyPm3Fw%86GNPsHdvu#yz$*Qm)Fc>>`xiA92@+`Mn7td=l-E^08gDKy;M~ z*hg34HS4u?qwIKBc0gQNJYB6r(AJjPfmJSHqa8*`$vp2~ zHd)Fik)+#Q`ja}L6y3>))EazwXA=8ddLXzw{d^2zKBA>)Rx9hko*=2{br7^r` z1Mf-6D^8cPF&~OcB=w=Y$Igd2oeNKUuG`ahYMVILM_+4)x7V?+B&hq=viB+ovkiup z+u-dkNUM0e#o8;scn`y9j1-?lQV+NXOMNEFnl+Dosq>0`Fmw;})4h`Zs^v?blZzsK zCtPk<6LEk>?$8=-t8i3hU}r>(a@C*Mw>8?yCz0mMt#yoc_WhhJYt9cdzRTl9YqK!t z-|Tcbp0!(J>^gQ+wx!wmdTw<)_VH_W8&+w?+%QhVOtVT3T_G0cu)#8`yd(wcYi;7^ z930VqC=Ow#Dc&gICyjpLlkn|j2hAf+(;t~{O~2{m>NQ`n_I*4(p*84e*U~)4JYKsF vZ&=5d^USi{{|KMpBYH-@!5&T7*qW?1&CVy`o85hO;Jp-`WgmC7QJ4G;xFW<0 diff --git a/Classes/uk.lproj/AssistantView.strings b/Classes/uk.lproj/AssistantView.strings deleted file mode 100644 index 9df526714d3b0b16020056d71050d095dbecbdb8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 716 zcmchV%}WAN6vfZtu4d&XXd~z>g)s+(f)LV783&{+JvjA0^M`=sEC@YYfe|}KglVkqcJNWChBNN z-r`2wT7sQ}4b;o+5DrC9B#w;o6y%$q9?YI^?FS zHB2kL>2=pNMByBriSHQAF-~I;U;mt^UVBtR>XF_HTu#&n=fONA`WgYHJ-bAkUzPy8p3NZvZqLpHJWmGcnC_`hTZt)1^*_#J0T diff --git a/Classes/uk.lproj/AssistantViewScreens.strings b/Classes/uk.lproj/AssistantViewScreens.strings deleted file mode 100644 index c25e5a313617683ce3b49569832b31daea54a780..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36466 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 Y_NyJMZ=q3U=bG{75``oO`S98Q0IP>Dg#Z8m diff --git a/Classes/uk.lproj/CallIncomingView.strings b/Classes/uk.lproj/CallIncomingView.strings deleted file mode 100644 index 6d54b8204d8e13b262e57c52af40ce9ab79b8775..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4574 zcmdUz&2th#5XJj2<$)vR!Ose&%1f#iQ3-@ZtN@`D6Tw)T7;hnvKtxE)8t|W2f3tiQ zyQ44*Nwl_hnVsz&=5@b*-SF#YM4rfs#H1iCIg|^Im}EJZ<)f4&FW<%G=t!HH4dxH! zh@}-fLp8lK4#D zwLDrOs`gY;71f&B;LLOCZ;WtU9m3qe8)tan@A%R_d}(WZOKKBL8I@I)nbDQxD_%Uo z-+M%IsreJ<586RprV;k28Dgp8rU{9-c#xYq}FY!X2 z@jBPSOmQBwvmYlHZ}dPhWcw*78?ZbsHAZ#WgyBs&<6iT-&8Xq|q0USP*m5LHZUnWh z?L}5+OiMm^s@5VJLxz;3j7nDIExJ{fSIieAhwAN2VL}16bim%_aLB_F?@fBZWD$pR znrHsqjCm1NkJT-8TRl{F)LpV7%I7_G-@EGd?HOSH#(D7<$$6av=WyG>Z+S+O_)Qi! zf!{_IZED*#v3w2o29?i2Ig;Y91||#J90*tcZni?~N`h=~yu5PArUQBJyQ@GWeU|*WFHz44CwS$>M+T z!tBa*0S{`RFQZxxozmw(&ug-<^+6crnvVywd%&gFO@O^FMXoj2uKUZFipF| z{mO_DW%KWO7j@UFkRmS}djFh!33wuCVbZ~HJG1Y8ucn%J(F5K6>wicbx|?pm40L+3DF#f7AW-H~aHPkGz#Z>6f&WWna#@`elyKfP9n{uCLrZ7GHMcg!Vi4 zXBgd=11{g#pGbkRGM@{n%Nk<^M#|UENlQge8Pjtv%-kA%{rg+G#XDnpblwMSq$$ zt+dZQT)#sqB~?~`VSIJRDA~mGj3+c^x58u;EPT*d2Qg1ZB`?JgCN>LKOkRP=q?!VS zJP1s70D(=A(+K)){hyNec)lfvwEM(IHsXKO!qxvqOe}*!8vo<$|4rOC_D_3qi9bO$ zmGG}fBoDFf3S$f8&WW7yTW8KGy`qU7pF0&YtAslQLuJO>l`7i+ortmytvZ4e>PK5loS-AS|o)7oq z!wea6(9Dc>jF2P`K7hc1sTF5Zi)4b$!WDsDwWG$=B3wAbCoU&;niaBCg-Nhjhf6g_ z7OAHVJ_;(P&Eo%Kg(XR#Tr@k@Xg7$Y%@7VY3)h(FJS(K|q)KjRol&6;YJV%WkOPNv z5ZE=jaVV=`aXTJt7OprvBqwr4DJ5dn$|yISnwqDzW?8n4k}Tt8P&@Nz(QPVRo@mbT zt<`E0reACN(%Snh&+|Z_Ks(Gcb|T(KErzJZx&nt+b5k*U)f4qbJy4HTAHAn2Mt$d* zdT!b{Y9We%i=uXof-QD`1OzUr5)H)===gvYY!-hz3jXccqCg~7KqD{Xv>9qfkV^q3 zHVaowy5VfGX=8|Ks}x_l^SY!XAXgAMxdNUH?x z*%W8U`B>iFj}zjbAWQJ3J~NCMjZlRl_d}MGnV9tI^w~LtF&1nAgq&Y z7OoiFO*2O0z+R8;TOBJ+b(EGXgTa18BiSsvzdCMlmiAE+Ut+Lbg;SIEeu6n3`Jaru zO|V(G#=#?4Zi#m(^YGogVT!C;i^U0lmhr0Spbh-oqxNYXP(%^kR)aQ+Ze=`|eXjG? xMW2g&^VaB?el_H|&7yPr9L;$bJ?K{9uc&%sCJO4bSrox~2n(BqD;BLP{4W61PJaLZ diff --git a/Classes/uk.lproj/CallView.strings b/Classes/uk.lproj/CallView.strings deleted file mode 100644 index a0d32550f902d24c3188649a271f5839cd11f6d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19154 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 diff --git a/Classes/uk.lproj/ChatConversationCreateView.strings b/Classes/uk.lproj/ChatConversationCreateView.strings deleted file mode 100644 index 157fd322b6b4462b4a27f123db19bf6865a8e2ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1420 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 diff --git a/Classes/uk.lproj/ChatsListView.strings b/Classes/uk.lproj/ChatsListView.strings deleted file mode 100644 index b590bca465981a93d44b6b17a8e0720b271fdc3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1888 zcmdUw-Ae*N6vfZOJo(srAU+D3ABjP^SZN`ZN}uSPnbw9WW>)_5)o<2Plr=R$h+*#T z%)PTa=ghfxK0gB5QdmJ9s->EGw4gHdkginFf%Q*l6Tp|WK z#dnLRHTpu%8#VAYyp=6{!>^Qxd}Owcub|v$#fcu2SA_W_HlZp}!xdrn8Q|S7BD&D7 zLZiQIm>sig4$U#o13KuHLGi;{5w3#l-!k@!?-{0Q_+4+N zHwXWjE?5^)SrzO+O~t41`$a@OhV3rK7&pPQXJY0ObXnt=G$Y3(7Q(phQ$L5n4tQg_ z!Mf^#e)81)BG!58t1(hU2XCn24s1QN(f`h#aaPUBhpJLKhLeJhux0Xbni;={WtrLZ zl#xOyj)|M3H*!oC1!ZWZHE8DV4Bb;xnsC#GTWh;;J*gePi2uh>-cygwa9f3E>BXXd zf`R diff --git a/Classes/uk.lproj/ContactDetailsView.strings b/Classes/uk.lproj/ContactDetailsView.strings deleted file mode 100644 index ddfd15e3cfb18701ae88e7f7b0c184276d27a376..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2926 zcmd6p-A~$37{;HAbH(K@P0TtkP3rt$6J{_7I)~A*=@yB1fJRZ2MA4yt{I*|D0i`?I zHh@`9dI~*n+xPi+-_t+8GkULic`B=|x^5Vr3LJC#sftRvRhQAx6<5}{URRTGVk28> zsKtFPBJQ=zT7#AL@CjQwwrk;?RaVbgZxUV6<}fPPfATz;WcZ!aLZY|K4WHnd4<>6C z&59|TWzHp&Gr>DEjOn2(*(@*m**}LaA3>K-jcyi1s~p)xm>yLKS?|Jl55@T7l#vwinAijTo1S*JU7?CmQtk?{HAp4)d-q z^fAJOD`H$G(s*LBJ@1mf7<9XmRsMlJ@-Bkc6*2jq7l&#RJ9vjKw*l4z>fX0sW6^qd kMYyp3A3J!mFU>A~?t%AE*UUdG2cxy^ib(6|=f6h(0{qjeu>b%7 diff --git a/Classes/uk.lproj/ContactsListView.strings b/Classes/uk.lproj/ContactsListView.strings deleted file mode 100644 index 8c7faa0d2dfdcd4015f13c65cb9793a1c90e3ccc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2224 zcmchZOHaZ;6ov0%RxFKs8{CCC;;xu@rx_TxPvi?Se=Y)f0J@$1* z#H$=JS7W9ftWcz{?_87bnOx62p<(hoqI>;yPsx4Y-es)=DFtiT{rLsC>i4)1yLC>7zA(!1`L9)`l{30xhlm?V zq0k)XYw}-07(_+HRnH8%$g0f%7p)y<3QF050oqqaV^9JCm+If-oO4#rz{1b?@{6d5 zxENSeteLT_w$)M}iE$V)a72Gk+V5Vd>C0hHaDgz(Eom_Nj7w+*XysXWs~+jms~TnW zSjTtj8Z%vK{esdV=q!Uz%P{3mDpC%i6cv$Xr~ZBiUOJC!Y6SN2&o%lPaM=W%B0lPm z!u5HU&17sHDxID;iH-$1tl5W-i~Q6mP-fy$mxeDk3hk nw7S+|)gITuw`m&sijRmVyZjHNU{8Z{oBxBW5F$|#|BJ{cK9fqJ diff --git a/Classes/uk.lproj/CountryListView.strings b/Classes/uk.lproj/CountryListView.strings deleted file mode 100644 index 1c20f7a25aaa054990707ebf0fbf440c33d95c5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 482 zcmaiw&1=F?5X9%OAmr3~DuNKwo1hgGiWCoi9c-(DA4rcHM5AI4jZpu2?Jp8z5m6rd z*tc(HnVG}h(Tj3&)zDfK{cv1WDNiG{^~r3i8GoMMn1=Mf+$YRHEif(ELuNIqp&raG z@4mibR*xM^m_E$5nhCoDH&kA8IC*tc(tFIvp~|7ZhA1Q|ykt|_p6t%X+FOyRWbyD)Ry5n|%%OyTP*c9Cr YjW66@Lllm??W8~^|S diff --git a/Classes/uk.lproj/DialerView.strings b/Classes/uk.lproj/DialerView.strings deleted file mode 100644 index 3daa0ddc00db8a871dac13cf702e468cabfdbb3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3706 zcmchaO-~|05Qg7FpE#R%GMQ++cvyiM1a;Zq;1>yr2S4s8B)YP)Q8rosy!v(*?L=@G zOKs8_(p2|!^;1-%zlfKJ<~Q;cZuyYHu&o-X033Ik+Y33%D&%H zN3_8|{Bf4Cb{Ku5HQwJxK7Z5vGC#@Ra<-`OpWY@ZX~t|La_J)?p1hOi^D4Hdyly30 zzl)Y4?|zNMM`s>MjPewTm1s#sOIVUxflp#oW=JY(644TtWUG+G$DjYE#E8`-q9rUz zy^zGmUq+(;K8lvGB#lB6AAcE1P3;rW5|+e&netD(kH3s$OHCqL!je=Aed6OUBdM!N zL`zr_|7FVeiI2aGq@gAeEn!JcnNxeL4d&NG@l1ZS5^YvlW<}Iu_CGQ^ru?Bw=xe#s zXTm%$B{R9wO0-m>C9Ic@>7xf$ee=DP%w$X}(ekXbQafINcT!hX-xe@c&|t0iM3t-#hZKKbs+t#ZQZy2^}wdc&M@`)8DOvNL4LZl20bQx*&eiz@Gm#fX;fc1Wil)eti|aMCR76e4zB4$c(ZQwC znAE}%T`1jXM*ZEB)LH1@md=!Bq#iE*qBiW`5zfCVUW-@YUsJls;U8ZoRnXkvxBwU5 zBMPHu!fc+WC7;!03)k+tmniE#j>LFp7)gO#ABk+?lIUKNB`HSOq(Hdp1bD}~ZKFStu zRGC9Yw1((k7t6wpl?gpAR+>l{W+g8WD`g9pO81hil^U?oHL|{kt>gtFrflKzJV&P1 zNWnT)l~tccFy*L>SgELMcD%fS4CoNW5Hg2c!QII_MxeJF3Q7^J&5+!PP{Xd8nxjgw5SJDz zE4nUxMee?IM;;P3!uBz?PLxl{2zv*Q^81ucg6mUr*k5U5eOJC;?YW~Jmv}o)$<|pq z$QxyBIYX>JiHVLi{^jBo)4>eco AL;wH) diff --git a/Classes/uk.lproj/FirstLoginView.strings b/Classes/uk.lproj/FirstLoginView.strings deleted file mode 100644 index 6bbb063f61d32c724dafd06212f389920a11c0f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7422 zcmds+-Ba6E5XJZ5P9J#cLpps((|FQ{&SWCWXJSHef(;IIAP|b7{5*n>>}Al%ye5Y4OR)9NQDA$g*roO)jM^ zWvO%2kbTb2aNCPF`DR&p4>d;JNLW$Rn}ZiUb=#N?ecEk6=AOe*ku4`%Y%e&Yj1|~-Skr4?#@Y!Co>3W9kZ<}bYQRlcJu9*% zZ>W&BL*m4Kdbd)3frBkKKKV9D_igDUafwSmV$gXC6iElY6xN$ejk&Y7O zAtzJ5BDNCcdJq>2y!EQgC&=zNHLwZFbva^Rk#{{Xdo9vYTiy|I+igj!b0)beeZH0dFY-c!f}6Em6s*dDIkBU>M!Iy z9U@w#R>ZfhRTknToMf$4S#jF8}ysO*Flj}kzRsA(Ehwi8AHHMEX zK3eyER;%>h(5LrPr*~v?o1B*D<^di<{aLhftq7}f!;zY2yq3IE*1YBMk?Nod98cq` z?_ZmCsCQMRdE7`KTc~pAVZyO$Mcjt?KD4QV16#y@y#>cAN1dGY%W{<%9l2NDk+kq& zVb=;VTM-uKEM}2$-5r){?SoP~?=js+XA2WOKFo^vf2)>-C_0|42rJXWSFP;kg@^d< zV{*LV`|k{0Z7QZ>R)mFG=f1<37k+);S*Pl^;N%Sdr8BQp`hBz#tcbMLpSAByH@iGy zJxzVdIxA!W$91|{6r&Ykd%6kg~a~*f@-*ikt$v#;I4d+ zN?Q?Wd3kW-zoWBf&A_0Qf_{9&RiTCYHf5AKrOrB9J>Pr2r~UIgBCljiY;omEs&dU{ONMaw7w_o^&~L!1=1w z*_vKtTWZqgzBUne@}6rou3U|tkoTf5@9!*g^@8hlqKk4gib~yI-(n^aj#IK7>c4D^ zp76qoS_$?&OU*IDHVacxIz0cJnS5pDP5ChgGS_2d;LUU3v2x3?`n&%C+L-JH@TxPW zh@XQtYrVFT;7)UFOWHcLGFG1BG@~1eiE+lva~ou!3-%6d4xjX|T*o9ng+6YK{t3u8 zrTj>!2h92>x$|{@LT+2=-A1Fmxe@tK9jo-E6}MvSS+bU4?n<=>9LM-gk+s86Ia_Q+ z=A^-9gSN+5pHT7a%*7=d$ecQ3s@tca+yieO+(FHTS-Xp&cgd?-rL&PHOl*2AtPAFX#8AA$3Vy?Q4NJuUW?jVcFt5Hc6<7;-u-{M%6az<+m||c$ z!jysKR;~*$sLIvgw<%drwB_qoX_LZ zHZG`ttJmS3)PycVrwQdqx9oj5Rb7m7r9NL0sv$d^_3k7ZeD6?o;uy_1vP1tF{63(I zFjda_cM>gftlqa=`OH|754?Fz>O~i!)63$W#Q*(5)S-%$;2=lW?x2oOavESl7qKiw F`~|NT^mzaP diff --git a/Classes/uk.lproj/HistoryListView.strings b/Classes/uk.lproj/HistoryListView.strings deleted file mode 100644 index 82555fd508ef18386e21bb7da9b638e8e346626b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1826 zcmdUwOHaZ;6ov0%RxI5c8ZNM~0zz2z$ z^mXsdbk3P`&%D1SWLr{VNnHlgl^2>NWv-;$NKDiZ_^cmNu z$3$A>dSnLE8LGVNFVBn*%-F#E;ogi3=sk+&y;;G8W=f-39X+{U0@ymyt9V=Tph73wwy~^+Bi;HI^4b3ZqMuSe;B!nG@zYrISmZu z0Upx0<{9^vT*`iok$FA7!^jR5|JfCnQ^?HeLoI7{zZ!Jm$em$rU|ih@9Z^O0=gWz=&qGMZu5QZ>*)PU(feyV?~~H8$Obktm&gJeHY~EK LDxr|r>&FgHAmS~g diff --git a/Classes/uk.lproj/SettingsView.strings b/Classes/uk.lproj/SettingsView.strings deleted file mode 100644 index d43c4ef917a7990d93e9f778699d499348e4ac16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 742 zcmbu6OH0F05QWcTR#}O-lR$_YDcBY%R4Nrrl@jo=Nc#i&keXV2U|RIgt6$PI1qrrA zhI_f0oO9=XGv8m1YO2UnM>7rdPIzjweDxJ7&|C@eqGvMalgyjs_uQkMq8^bCbyaveWac{21W&pzipmvU>fkO@RJVGUUsO4; z3u{>20y{HLExy{E>(*jVIUVA!zN}f7T}dGMfMnIXNZ0BSq3+aGw1GL&n{J_f)G2#R z&t7xKin&ZtrQWjYn#;94J7gW3Z%4Mz$t7xAG5v4WK{kP>4Wtu#GKF!G@%AC;{vs_? O>^fbSNj6!HocjlH18nR7 diff --git a/Classes/uk.lproj/ShopView.strings b/Classes/uk.lproj/ShopView.strings deleted file mode 100644 index 9d30cf25599778b14ecefbe9e2817867e1402d8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 478 zcma)2O$z~06g`W(nw5oxM7=C5rZ5ZTt5F7JN=9L0=WFp03s3RqaTsPwLZ|n-@4j>H zz2{yp7D}+8(8d-s90&!MCx;1qcsRlkd+eBLFh9eBSUs2;b7<-`8E5qQH|Nhbs?frc zP~_kB=AkvuIsv(BvKP$z=tP<>#@L|1tjBwb0qcdGZBA-2{=_K$HCHa`l9Z;D#Su@c zqEP3{W$Z|u_r04%eA`RxHJr`R$%!++b~i!~0fs-kYPvIYS>u)psBowH&Fd#dk(#hu S>?bWs5|WXuq$Dq;r-vKXwM7U3 diff --git a/Classes/uk.lproj/SideMenuView.strings b/Classes/uk.lproj/SideMenuView.strings deleted file mode 100644 index 2fd20c6a8ed25e2c8630d11365021dfa5b0dee7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 496 zcmbtQ%L;-}5Iu`o-G2zorI3{rSYp^?(*s&5ZF@*2V$lQo`s#>}m2C>SGw05oInFun zmqHr`G)$3TiyJ=;E{_f$bF5g~A>^A5ht)grld2r4n8kAo4^Md;dxm=Y;jP=CI9EAXHU#*L#4-) zLcL_&M*|jy^k=l0zvmi!g<@Q#Fw0x@a#CG7V$odbiX$3o(h{4o#l0te8OU?4;`)a! z&go2SUvw^iCqfF7{}GWoC40g>U?ss3;TQfZJ3^8#(50VnO7_8DrKsZn?PUrN2rNlV diff --git a/Classes/zh_CN.lproj/AboutView.strings b/Classes/zh_CN.lproj/AboutView.strings deleted file mode 100644 index 81ea70e2975b15911f140006a6a8ed5f66e78ff4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3758 zcmd6qU2hUW6o$_=zhc8>lciE^1dTDJ)QXbQ4?x>^Lvf{B`KYi3v0nHKj8|TJ>tFEB z-_=BYW|l2ocADiYwb|^j3}?=s_dV}9GyMINkX2a`OE#q`HR*9#@`O7n6)8xOxnpto zEh&$g^?3fs7}%Wf?8zCc9^q$I2Kq{2?@F8b6Y22jNQ%#{G)7)Z_&jB{&f0?Hue_yM z;fO7t~8C6;H-=-q3 z!>>|?OWs@^zeoIIZ3JrAkhfeG_G-PSQF}2sx1=oZLFh@2@kpZ%<1|^MwC}jM#(KDH z{n#&mx%~WVXBrm9$oxnGeFZp+uy9@7s(O^Z9kAa=>uGtwcrOO|ksNB|ee7*K9D+WK z++<os)Oqm(;<$=u_)GUs;~mGZ4|A#cb95w@_m<#9gq5#MZB)=3~f4t zQht@JzQO({&ugeZ&25jKGR)<$YH~UB2-P2yXTNe<(!z6F`>W9jT>X15rhXc{@g;9~ ztvNkFOW6pgQ415NcM0#Jx!Zu}64@)qu;-Fv5B9QT!0NEN6+? zcM_Kl6Py_RoiuI_?Tq$NmvyRl=I9+^6`L$f$fA4bP0_^V_V&+EeKei{|A1;xXQ(Y| zJIsQ~;{TqZ=I^=It?e*<`M|DZ(;Ewnd9<||;WcVuQrF!<8>im5s-1R!8L&5>!I~@2 T89V&ndojVC$->0lcz^i^&g?&U diff --git a/Classes/zh_CN.lproj/AssistantLinkView.strings b/Classes/zh_CN.lproj/AssistantLinkView.strings deleted file mode 100644 index 298f5ac037919a925f4bfd49eeaa5f4d621a2aff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5768 zcmdUz&u$x46vj{35rNdM*;rYis???}2`N;SaFQZIYbUX%2@p}@v0W#@aZ<;2oeH&G zRNXj;B6h4;um~@}f&~&!fDmgQ0ErcwNK{aMXQtEfc&Ll6B``?QTmg9L2I{h5Hl;Zi4t3ndVx;b7y;SH%YwcxSMPW zvfU(+f_X0gOt?=E#poI0v%#@VOu8$^L4H>1Xi#wU@N$J0|L$!4;(HEUr=0k{#`QXp zQt83jBoPAUAC~VO5|$Rt72_9*5gFD$*LgICW#d2m~;u^K5VR8 zk680QHfg3WJ@Whx_lka5)>%!*%h>PP`vx%?h3O3PNitxX>pYpg9l|s$k)l4B*7a@k zR*svU<1jgm-9@ZEirO_NEf}4Y8+bD*Z^`F!F64)>L|kqkb?sUK?F7gd&|dGfdb@Re z&+&`KcS7=#;Y?tg#=|;yI@;o@eL;!e2EUq35{^HWLn-bp#@vxD2XE~RbQO1QW!a9y zx|%au1BWg6R7v6*(iG`>snFlA1$ht_llSz7)EYzyf4Z}bb;EPRkK^J1NN?T#Sr zEt5{?R$ikF|%3sVD1> z()dQb<9b&2JsN9+tzQO{EF8KB2HFKLvjYlRZ<2`1qz7By<*YjozW6Dtb4O*CC-Z`K z88yybr&{b~kMUlhDOY`@*m zsFsCup1)dDRQKx_;&jbdoW840d>6=9<%rx?B&%s|TLC$(lGmw|K`xsl;^KFrIc>jc zjTXV{C+!xRuv&Yl59zCe-Y`j| zSb4CH{=Vtu`+wT{4M;2BX#NiAoMBrRf? z;d1B9&*$}V7f^wO5?WZn!j4u#oi1Vw4Sn9(aG4WP9v6y$UEg&<{p-yIJol$|w&Yxs?iZZ(wZ}XzQ+PBf%{6BXy g+G||)CQMy7{v>SB_8rSvuP6u&Z`kC%k_38~9!od5s; diff --git a/Classes/zh_CN.lproj/AssistantViewScreens.strings b/Classes/zh_CN.lproj/AssistantViewScreens.strings deleted file mode 100644 index fd787b5478fab1a0b6649472caefb5f13f398974..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31428 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 G+W0>Y;Hm)t diff --git a/Classes/zh_CN.lproj/CallIncomingView.strings b/Classes/zh_CN.lproj/CallIncomingView.strings deleted file mode 100644 index c0853cfd86236a3634659af44ed92407cfe431a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4306 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 D{4we@ diff --git a/Classes/zh_CN.lproj/ChatConversationCreateView.strings b/Classes/zh_CN.lproj/ChatConversationCreateView.strings deleted file mode 100644 index eb0068e8cdd9e5725203c9e13b6c69d9ff55b383..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1354 zcmbu9O-{ow5QX2CoTBQoQenXc2_Zp?kfN5N^3#2iIy5B&NDZin1vlt@xBwSm&5Bzf z0WXsfq$Di~(a4r#kH?-bZ~XOXU;`~Q(1i~RGg<>XY)zcOL5a#O!@6Fs)_wH+7=@Z z(T0mV_9h1CB|BQo!Qi;aW4+Xko9QX}JD)y%JU$Oz7Vp7i6frPptC)?Lk;45ycv%?J z6k9jLDQ3TnOb^FG<^Y!@vq^Hp44ER2s$^E*?k_6!l+=;Gc#&kajDt%}XcCxHL2dql z8MP9V`%y@dM^z55i?>obsF(2`)gDz+or(#mg$I&2!6AE}{Y{2Pkw;Y?QDyAfYv*yD hl&O$#XHY?k#S5zfxUS?gk z>eSWAxKo}zo1Nz9gp`-v7*-yzd&z#4?5r}Qtena^mdU$n+|P*pVMQElF`mOR62C&S zJbKIP<6FsP5F=(W&Z@=9=U^$ptEQU;c&9zR91o%6X?D%C`@I{XMP7S^sRnA8vZy$k z(jqKlUM;ML_xnL%qx@9-jUpB*+=6~m4`;XTeMHi9VM$KC6{eV#s__PdR5E%41|ZZiq1a6V*WOs=AK zr7NmtHsB!{v11!^$5<}v&sapZ6RDJ;QKl}!) z`x{+UDx4YD37BbYg92z2+sWMV+;`u7^YZPyrt4akr&SHr(>}w~eLhRtR8w^wC}E5h z^UFPc?`fOSx5!9aidYwcc&82KwwM`C-%z*cHy0~g%)VxR8+21^Q`8L|>ZW|{arar> z*2{|(%W$jl>_V)RVzM;d24>n^(Z=pJ)@ppM?>bZ{Z6>M)Pn?`pG)PDYcsOpBYRqjr=2qA#IK6PczOcY z9vKVmnK-mjr>E(L9#Yd?t{$@udtc{-Xi@L&1!>@BG^>MRPX9wCJh#5_IUPeB5a5_+ zIS059RUJ^a5@ua4bz!x>VESlc{h#22n5W{tkWl-kBLucTu2D66x%gd(s_};(&W=6@ zUtU}Z%eX(ULW0vx*UbJqG-13$J)|04*701t(-m25yAUhvlkPTi@{ju!c{a~|@fkcs zi5)UHz{94q2fCHZpbPPDGuXzP6O@kV>k*y0XPvuWkWp70KWEg1aAkDf{xy9EZYHaj diff --git a/Classes/zh_CN.lproj/ChatConversationView.strings b/Classes/zh_CN.lproj/ChatConversationView.strings deleted file mode 100644 index 7489ed1044570b19277e5b4ca3c82a72455bce91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7092 zcmc&(T~8B16umw|;;YXM3C55tO8Jr)6Qz7efbvn=T7BA3LlmO~Rmi3n*kbe$ zp8-nK0!>qkn%H)!hBFUv-lhV!qKtGXPY&*L5b=tZa4nB3mG%>+Wpw%M&J|qU!Sw>7 z7igv(HFb7<2rcQy_bD3Iddooj3Ez)@Wkl=xv4w{wg|^pdGXTv9jVpM>8B;`GQ#Vd@ z5Ow<8oSlSZwJH0$iN37iTNN1HCtbwW7~NCwi8H47Hs1by{U!M=cXOi~lufkq09oW^ zsvpTnmk7M4cJk`>(PZ9zS~QszqdLZt7#}Ta1Try6qY4w^j42Z$(@rz<4ILhOQv)%6 zD)oUkJEhxH5Xxu`qrBd z$2y4BdBxL4PjLt75g2u(TPR>2sY1DS@ykJum!LsnyBzNVv}z1UZTJQY?xBS-?%v_C z%tZ{NA6@P5sI=RbLitYi<8g7V^X_mpTaVR6v{vAoh4ZoCY~ncjQF0MsvD#Z6>$$lk zFbdt;m$*kUPpf&%MVKPib$n_bo9LI{Rp|PoBs6{x_@CiuLAxf-G0sJp;=fw|WJ7Z{ zrQ;BKEmZsRvCARwXEhhWja~lD;f~xHAQV1CD2bjASx2>!1)Gy{ABQ$?D5IE*Fy(Z6 z?e|G+ee;v($#8qX+=*q7(|Pnj8v1TQw+}GB{fu)F<~kF8%4}sg3iXKPyuPW%d z2vhXB^@lo_c~0o+JlPgpTn>2WFuE<;hC;>_yj%pQ>(}GS1jAy5#;lGm!FdXgwgZEYN)KIfcF4S#e#QFq5AMEIv3FmYMuEkD7TYnVGQac)*<)7 zaswX4Mt(Z-Oi-;+$IP7o$}By>zJ-cfT}R*|xV-*c=_~zt{`0*Krsyl@I&{hg!lrcK zto7Y2N6nM+nFM(ZkZL$viRwH`lRmBv3O(9m-(?FQT(L(Mo zwH><0D;HtP>-E+Y90I={aSmc-;O=peA&CRIR;>}j6TbN13xLlQUObIiT`i~YDVaj92CH@C}c3Fb} diff --git a/Classes/zh_CN.lproj/ChatsListView.strings b/Classes/zh_CN.lproj/ChatsListView.strings deleted file mode 100644 index 7bd04c740eb0ff253d1be56bb125badea8ad6b67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1758 zcmd5-Jx>Bb5PdE811zjAlq83WF`5_~1r1U8^dn$(zyW7Y2%ex+Hg*}VvTrM3Oe8MI7{2?+bDx0>3bb8RvE<{cLPVvaB8vg1M<-O9Pe0vG!fDo3%~7!?`7Pp@)<%nL zhpVbWOtY$gQy|4UU$W{Ia&cMv_SbC~+>%lKUBn7@s6i6jv>DznzY;1$P$izNo6g(G z%M5zq_e#__3#!zhK@Ej%QPbg`P$B-W5((K2;zo)oIja7G2#+pMza{umBukEoLAW3NI4Wna&RdLH{v3h^9& diff --git a/Classes/zh_CN.lproj/ContactDetailsView.strings b/Classes/zh_CN.lproj/ContactDetailsView.strings deleted file mode 100644 index 2b16704d376680b3e8061c6d23b28b9ae1fb6183..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2742 zcmchZ%TB^T7=_PP9>8_OlBBrMsKmGsuMjSBQ{oPga8(j1h{i&T0F9bIwfr{pG_70?@FFCJJb?Y1rn^j~pThqXUDjg-f2<;`stf zY-ORWp@cvkG7W1sKA9rO=UKH(JPK5n1|P-GL@t?q_`G{gs1VMV zzP%x-S&I{8he_9&;T!g8gg9r`6{AeXNp4rTO{tbXe^Q}#@-@ops`NtR8frPRCFxw3 zR8^d@@8O8Y(`+(@%)yt+B3x5jWqBNsM8_(9(Q(S7h>c37aO;@rO7t$L=Kk7bo1ND@ z4n$0T)d5bei+{t#C`ecxpA@ zi`<7(i@Vbf tsWM!(y7=<3uU45tMz#2NsM;5t!BqChc8V+ZS;0HKDrE|{xtx6E{Q%psv%vrW diff --git a/Classes/zh_CN.lproj/ContactsListView.strings b/Classes/zh_CN.lproj/ContactsListView.strings deleted file mode 100644 index b0a50b5781193160d09df3a8e2e9ff800b6a131e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2016 zcmcgt%TB^T6g^w`0M`vm5>O-H!kCDn2?h~RiMpfZQKW*wlAtl_AAlRzeuqEckGSw3 zNYpbkJYucbhCn85rZe|W?>YC}J71qcEF%mJJFrl~HHU^xJ|UbSjcs&bbF|Rp$_Cd< zFgPmGvJM?}`qgQ1gADg{?pWg!lAMb#L;Bm&*Oq^%N!L!mxjn9Y; z_rr`c$axG=PcekXC%pCEn_GIIcKkTFd(8?IL5}&M&JbG@S1={&%8dBq4*YT7_0;Q(EvYv3DPWVPWxO^!rD&t2|^-8;Z2>S@>1HnGf{mpWj_(S9E~sh*QLC5bG@pe6J!;fC9e@eeEeWMhqdG^7q{ zC?e-z#myqhNL9R(E*Gxd>njUWe2V|K_=q^XDgJ=@&k?D?J|7`>Hrf1{e>V%i`8V?) keXUS__M(B=?l%7n*x2KJ8exvBd|SLgvrx2HdwrCa6BF%-B34IvRN+n8*T4YeCsMBCL>3N8Xj2Pfldcd>kwXDCdgx#e zHF|PTCHn^TmQbN)%kedosn?;agIgR>Us;Y->+GUIJvLf$UPIoiv{Gv{pI1DhSyyDK z(AXSyXcX@vK2i+RJ_Ga|$Ld__p`R5V2KI5JxK$K70cwBYy^(K65MQDx-vjgT9>)oT z#M?z(z6HVD{73TN_c6|z=)T^6EJ@mzM8%&=lF;@EtC%HGCzJOVuj0=oNotd@idmAFuTNC`xg;rV5>_!w zqE04npQ!kANz&RRtYVfVPdT+j*?)G0V@>5pVbRShxOhIFr@~n*L#q7e<(v3ah7=ZE z7FIFqn|<<3o2t3lzKKueNnz3DS&=Gcc`~vpzV_jXB2C$mnbp_BHeIHd!P}Ync-yA` zgeuk0qBafEzk#Sw#WyAX5@vfY2GPbz*``Z6tUsOZ|+R_WOs0;Qiy5I$P z4qkx;8@BKQJOGPIz&|q?BHQEICuK~LRVy8zWagW5o#S6WGjyMZDNEDTp#~k{%F;vp z4bd7c&?>d*l#b~!ZR1miS{Q$TrwwZ2YD@WT^6<2SzhgS15}tWdR{zc{?cqtA4(0du zk1 zg!e%1jv#(P`*I%?k6NRjFbm!j>dIXZ%=>?l+`JAy>*&eXcRy;kPVab0si&~sV_f@K zIbXkS?>kW%%+o|bhhl`QMKw#D{;o%&Z7qt#rCfkSjBrWREOtpoV|3!uNQh*FO`>M8 zOEMNqqU}#d2$x(oiJHYO$#^V@w!c0JKia8T?2;5?Nwod-Nk-W^QM1@3(UB?IM8OHxBlZ6Nz!UE#Q){3u4a zS%sc`+Dua6TrWfF{1>I0LMTIu5iX0G#jbAVp_wC8b64x85XzHcgv)bR&SIBmN>;_Y zF+3wwM0Qln+I!R(m+8yJw{`pWHi>gW3pKQ;O|v)~hzeEslsF|^t+_mj%TKDtxTKfe z57pJTm**eL_Ianl*1;9e7OWKn8^2mOU;SRQPo>uy6*Y47ipI&IP1?e}3J+@sG-s0F z>QSx2t`}9Gcz!UfIf6zw55?smg?vTIq1&_o#yB@EeA+V z5?sjijC5?tPNDz{|y&KxW`2iE73cncn^JAS%aFiCKU z)2N3AuN)Sk^BVSG0a?jG#nGjWfYwbC+&xIMsz_EFmf_t8Ag&|(I9pE-eaJkc| z8}+F@DrQ%Zk(NLyEZjjx_R#J2$83`Xmo-^e>EHL*E3k1%Y_@z$*7~66Y;-`Tc5#JxV-6{taVQ}%5Oa|ih8bu)0oh0h2{cQY?9!z zrt!{U(8#p|b`iN2VdW0G3?+IR*a4FScL&mpT>9Ngl+I63vzEZ>B6f*7Za&maF-dTV I)haUd8^7xEx&QzG diff --git a/Classes/zh_CN.lproj/FirstLoginView.strings b/Classes/zh_CN.lproj/FirstLoginView.strings deleted file mode 100644 index 511bfb646b541581415af59344d920133efa1272..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6738 zcmdUzPfrt36veMw62AjsWk?1^R3OF$1u7W+L#be*7AR0DrO*Ne7cO+if`uQ(orxQl zF5T)UQGf51p_!Rm=S>|jWYS^ioax;2&VA?J_kREClDpC?-7+d=DM*c@Tb}Ugk(^A* zk`$#Ob;(MJtFmnH{bTMHWSygE@g-T~ZkbPAPGpLEYZlx3of`iiNQFDQTs41T7StR5 zTj!}s8M}PzJz0@W@p#jH&g1;FZZDZgx;Xwe0vS0Z z!n*7ce{$|w7}nvqZO5zvD>HUgjxu8vHxh=sC#Rr2RLIJ3WF(@9q$Ba^{rAPAm!Hon z?>ZZe3L|rXt_2t^*&Hat+1GwbX5}gR&Rh{!{p~HC-yY>&x$tUbZBvsv98BK(JjPMq ze0RV%Con#=SL>XMXj-&)OLh!uu}t?F4Nso&tjFj)XVjYSY~^u+L0m7kNDdNG1Cx9^RQ><+qsL|#wm6k%=`|b zRj<>EK0J#ytU?89n%|+ebBlSD$)nFGRnntsn@%Q}e;Pu|KQn_m%|U-;{N5_eCz&g( zke$X4MyTVSEaQWI_4ntLhG@qrJy*!ljf~Ta%n;c$SIu#5r%VBinK>u6O4sN|eCPLB zXb6o(=M1jO8#dr#YSb=%Z93ljkq$&d+yrmX;ttLy4WX%)mN%rgPT8hw+(oYiTdRht z0}n!8p&>MGN!KaY-$j+k%w@P9&{dfAz%-RFsH28RnxScRQOVXiJM6NU$~?!uiN|$` z8W7~BAv7J+ia(h%?z2x+Bl02Zj8(iNABtZ?Xz_RMjBypKny6>5fnJBvnyp*gb`>2| zL_=tdOchQ`m2eey?<#8a9b51jfQd)tIz_86pD3aoAJ?uT4VTCzT7Q_8%P|c1$w80m zK8iO6d1{EHF5#Y~X^g;_bMJVJs;BTSP|ZD_8j5(NhDgf(U)2xK)Ea(Ql|I%nraP{( z4{P>ui+p2tEw?W8YuA-&jDm`52raW+;)vUczFxf>bZX-$ZTeR;x3}pAg4{L4&DL9E siOdJ6fjk1w!AoeO ziFe+4;WLn^-)ZTVogGF`H#W=(rSyC~{J!7!``5pJQn-yY3|QDf8GBp?9`a`fuV5pO zeRQ~dwE5%#pO;bP@&aTN6*T!?lZZn+$KU!`vjboRzsJ1p(MPt# zScSMM#*?oq1x9_I%=eksg8vd02KWymboqx-KCY^>MVm#{sqwdmN3^<$cg#M~FWbCp z1exsdiO=3qza-|9dO%&Z-q3Nl@2ZzH2fZtar)JT)`viG}VA8cn|{ zgsvC#I`-tN`3o`^5#C@w6JDqdRC5(V*9+sV=6W-v%Kk9-Bb`+URVK%sF(KMIKYDVF-{&H0m#MdjyPU}6uUZu%nd;Y} yCpT~qd}Ua8NxlxA@q43RV--TBv0hJ}?&Q^CRy*XILO+iHPPZf)8O4VMxC233}B}z@ef}nQ~try?Gm+%FA z3c-U1-=Uy>y9p_TSQ4aAmMq!XnaTckCg0C@5$jN)U>`#mxZzN+&8LJOn%F}CpW_N1 zEnBo3usCe#>B5A|IF}w{w76$-XBcPL<-1r}GTxW5zWl<4jPvO|it=_Cd&#xMTun6M z9JOd)Pw!|d)=7ZgQ~e4A(5dN2o)G?fmn$ll);n1iJ_FC1PJpP@_-`NK=DL|WFSlh ztIT9bV#oyQ%LJ;ZWbgsXB>`n};3oJ1dF4Q!3s6NdP**8b7s51uppGn{s$`%Eo^QCAcjcQh!F@?FRXaiva+&RfxkNgQn3SD?;c2sm*&~n!U)PAgFnRw$M5nw2H=UB&d#B1|eC* zMF;mk=fCH>|LrOug#<+8;h>2rOGK8R1OqA*%;2&{7_yULzlk=h>nkm^V9{q$u|%0? zEuJ{x4LNjJBK4l%^}X)no*K0_)ou1w6hcp)of(oa>GA&aaB_l41-hdY@>jW}aLQ${ zuj`x3>QMEl1lFf5yvTwbxXis^?&qd76rru(7^RRo tFPQqGIBtjQZ}R{5ii*G6ehigKew#dVpUq&}(i>Hj;@5XO?aqyW_zsUHal-%r diff --git a/Classes/zh_CN.lproj/ShopView.strings b/Classes/zh_CN.lproj/ShopView.strings deleted file mode 100644 index 58f6621e5141e4a1078cb655b8e893ea574ecb9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 448 zcma)2%?g4*7@V_DAsz+o7!e(^9}+^N^wJ?v>#${YXoG?dy+zlaqgNBEQA;7DV%TN* zcINwLzQh>I4}_4EY!GCoVd) zF(*{=Q@zZz^3}&BcS&}{x{Yq3>A}Ma2CEkDDIE68C+l>o@Lk0)|MI03Qz7KTx-qZvGxETFNCYVJsQ-eD(Q0E54N3tr0NliYjbl>+cv)uO+ Dshda+ diff --git a/Classes/zh_CN.lproj/SideMenuView.strings b/Classes/zh_CN.lproj/SideMenuView.strings deleted file mode 100644 index c5098e4f1060855268fb5d0ebd15811bcad38494..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 466 zcmbu5$qK?i5Jc-dUlDQ)7*RY3BDh_mqNfC}E+H|5C@$c)`4xVV`XtLKUX)>adTP3B zy6W{bYRZwNu~MydW?Aa9ZTa#v2iqv*%~lWeLVhEbHHi+2mC4nPEYyJhy^h>d&WtPu z&v9@%YfBfUewD7}1 k)5nk8wQp)yxZtC+tr7967WcfPR9jb3r}h!u7oSd}H_$gm@Bjb+ diff --git a/Classes/zh_CN.lproj/SideMenuView~ipad.strings b/Classes/zh_CN.lproj/SideMenuView~ipad.strings deleted file mode 100644 index e0549f8a29e7e84cc62a1020986f8019784e7e8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 466 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 Hu%`Y8;yP=I diff --git a/Classes/zh_TW.lproj/AssistantView~ipad.strings b/Classes/zh_TW.lproj/AssistantView~ipad.strings deleted file mode 100644 index 4f66452383bbb77386c17ffec13c5cb26217755c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2426 zcmcJQ!D_-l5QhJAo+5bkpfrjK;zfHA3O!hRkJ3YQlY(szeS_Zma>b*M()Lek5|*sp z%qFrVgxT4d`R8LNKi?ku=)%VW3L##&e9ZWCu*MQ|yy2DW83`>@+Cyx)o-)q}8$>)8 z(c>L=+}m(R6%kgnhdA*4clMt9J9=zsS>m?vyTRz}(PcFrzf()ER<2GFMbG9jj!aoX zl?TMks_>9$Qmi%ah92FAREs%!d(}(0%(Kq!tyIPpDq}H~ug}wCO22I$%{16(xK}OV zupoydyG_c{@)N)s5?pZ#sBup-AG3O|! zmV5OQF7;<`fPsO^Kukr?*!JwwqyP6Wxva-VM$aKvAmLMY76%v_=nTbl+^4g-Yx$jN MuEQL^yf02)NJolLNu*o3C3T=#uK%0uKP>hQ8j0FTLLVvae51RDI123R=(3|LG zcsothXO_RPJIV}5C7Z(R?6e2l6D{0bpL|#Ht$25B zqxt)y-JycD%1=s+||eN_7{YOr6oOAt5U-$M6F%6LaI!XJ%r<+t^>S*zSD z{6(*FarRPrl^ay)pLSVg*1#-OnV_!gsQn_uW{NPaVWaojxYoaA&^20uVM7l1^kk3k zX>T$`EXuH$`dqxI#XduOZ;f?BvCbT#!)ZQKgsc8+z3Be9PuP(aAZ|gdcNZD-Jk4#2 zSWRwww>cx%HFyg+jbdN&F|w;PMYvMiy3JzQwx{;lK_=m?%MPD4a{e@wYg5FssAu`p zeEan{*);#w^>JZc;VBfa*hOdLbA&z`VREqfMz$)yBzjc3-c#%U9w>Ghy~sS6BIZ}Y EZ?EU7m;e9( diff --git a/Classes/zh_TW.lproj/CallOutgoingView.strings b/Classes/zh_TW.lproj/CallOutgoingView.strings deleted file mode 100644 index edf02803d35f446a02f2a9c72e8cc63347bf143e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5450 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 Qb6OY_KfUAke~NkZtN;K2 diff --git a/Classes/zh_TW.lproj/CallView~ipad.strings b/Classes/zh_TW.lproj/CallView~ipad.strings deleted file mode 100644 index f7f369f1c6a2b9ddc1a6797080d64ddcb4e76717..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18186 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 Q*-4aSts$(epWpHOf1i=`h5!Hn diff --git a/Classes/zh_TW.lproj/ChatConversationCreateView.strings b/Classes/zh_TW.lproj/ChatConversationCreateView.strings deleted file mode 100644 index 6beb3dbd5683f25beaa0026854eb3e62e78ccb95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1344 zcmbu9!A`7!w6!(tsE=a&JqkU)pRLKO+6^WCK@xd&%7-c^NiaWX|$Ugou4%e8L$~Mtr+OwRD_B+aq#M4f%Sc zx71ZT-ccuq3gaw~?OZpmC8wnCJbATW-n)zJE7&GleRA>i^bbz)v6&_h0MR^=LTUYt3qa2ldItY2OTrwV* Ss_=LvMyb5h9!2y1)xjL=+1ro+ diff --git a/Classes/zh_TW.lproj/ChatConversationImdnView.strings b/Classes/zh_TW.lproj/ChatConversationImdnView.strings deleted file mode 100644 index 2fa524ccf1bd5fb0317549e574550f0cee6aba53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1720 zcmc&!%TB^j6r6PpTh|RslA=XTjK&R*U;cbU37PrdBoig_nSm($Ootr&T#^T?`rXW$vB*4q*$B8XAvU3 zP$kLWEpLbsgJD`&>X{IxjeGF@_d*``awU*hZ6 z5IP%QMcicnz1tnCRG`n>xZvGjm=U){i2rq4>~rQfLDy9sqpoUS z%W}2D*=2Q8Pfu4Y5?hID8)7L}Bn#uWe0%@BV=^c)re)kF!UH0_OI9YAG?pTHSJWfA zNDts`sDV8G4R~6@;8{Fe(+zlW;XUMdTP+=Cc(5Ug@-Qv7S-IJUC&N#dyoWJoU5&=f zr`bC&(gWk@8M8y2wLK?B?D0&z@aedEbg8|3n8y$Qq5^8_P!F!|!<~!n_q3W(-i9cu zeBKK9yNuWA3`XM?UT$(u>c*%YqW|;?sDT;4z;(KjOXZbeBw3Mm0vnyC+9TBUKV(qy9_2aCQ&bg*L)NhBQ!)z@+uhI<~)OK@D9M~h8c>c%7w;zn} zXUn%p_siGyAH@!F>3MCm_VC8TjMg?pQLXcOezJEZek+o11uqzHn>7)Nhg_ZC?IWt( z^m#Ad^{UjzP9}dFqGg~hA7V7ozui2|Ttz^`*A^xv=O?)|mM+TC;1 WwB_-qnl^+@%`dHsuP&SiMFNydX)8XtEl`%;Ym1eniI0XCOicVE zzWFr7XF4&PBv0+Q7Xm?i9N%EUM_j)stJedxHBpM6c0O zH)`SP{up`^!RG}UH~N*)ZVSII{-kB^A~=SJCW*e6=^y~j6wPXQ)KeiuyH9^!H zb9;8;iq(c1>juWMj87$C?6h zZS)lP8NC9Zu5t@GtRp4pRt4W&WOyD5B#+ziu0g40fYgC+5O5Do%<#?=9>-k7IL5J~ z{XLcL^ku32I4cq+*ur3Q9leyemf?5=98C=Geso;Ku-F_7v6+iY0Hai^Q-ymP>$9G} zT!bxRQ>UlruZ?Q?-Gr$xN&sh$E zKdZS2ZqD+*JY0{p1ccIkNCh!-AG@ehGGKFFonz4CJ#7|q5w@I;?H+tT-nk6Hf!O=6 zG;%tN5lBJT1@yXw`R!+%i?AJmaQv4&{~6_61SNo5PyusgPD9T{*rE@Qe{%<#g^Ibr zJPqe1=rz8rYRI_=TjZt=bg=cyKI?N>vCn|pQHmZz_HS$Gxd>bIrdhAAWu61NJ1=$w z_qGqbE12Daj-ik-4KEkL>3XR`Q^nPN0WTsE*usJO#^jcoPSC>8dM1wM7*x zb{r@(^akf9>Suk|fQ#Vr`DyK8zIIOSk#8ob!mpI8P$&l&8_Ijnq7L)+7Q8Boi?C(Y zyiy)EuV+9g(H3yt0K58LWEHxtM-0xZj%xVTgxpV00b>U50@=UO_2wS0T!byJ_ghVH z2>gn~MR08PS51V^Y7;9?6?~RZR|u$@i#+xt<|6KwRev??>F7=W4siW9LFjp!-mXr# fd+&C;(oL+Ta$at$RVI%$O8*awi?HRf=MVn_@(4~) diff --git a/Classes/zh_TW.lproj/ChatRoomView.strings b/Classes/zh_TW.lproj/ChatRoomView.strings deleted file mode 100644 index 0daf7d80108db6431881fdf8eb401388437086d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2692 zcmcImO-lk%6g_Q?pjB%L+6Zcv6%s+H6+&5%6)i`zni@6yC<}zvLDYX~=kI9Ux?fS9 z_r`HZN8h}$cnITt_uaYYo_o){@2?Qzh#-s%EEs5Tg|WfkJdTh<8Z9)rYN*n(PP>5; zS6O8WEfOD1kbu5JKgT)GV46tJ^N5~{;0~2j_r0(xBdJStll~ubV!s{qEmIy%1{Tb zXm`-t!PILoMBXerQ#=_4@7OL6ezSJf(XOQq3mK`uO{t1as#BFu6*4oPmE_P|3ybbt z*B*^dH$PKIJow>e5M`5DwyF0H7r&7t0wQptx-8gP+VNChft=L)3ubmqbu8nqm&GKE z7`P=Tf}y$+lY`p%-X)O;$jbCVH$Qi>Q}@G6aIAZ*k+>Ha5H$&fmfj&g)?L(Jmd(jvdAxmz2;EiAgYg|7JJRyB1C*d%YJyxWziB^BbS x@t;X0xnO2ujn|TMo;XDm+wAiwE?J4C0dBoKV)V1;-WGw;3G`T4d`M-3J1A%KgBr-E&MRh*!WT@29Yxj~PXE!tgl zd4!7e(SgrDBpj6-bHjADTXzRg8csN+QwDPs0ri6d9$wHhOeV? zJey3-5fR=~gC_NeI4y&C*0LEa!nKN(nOTw+(`ouTn?6p&%iYrXdr7qU>L*i`;FE7- zG5GT9WxAOna;U(NuXLXs%J=NWteU9U;>PInc1R^%^?A$_(js@v{~KWq>oYn^i>Z#& u(Z*ODAKE*o^UQ1!=3C;IxCJh_D&9`W48Mq@Wn1iE*Q#X;kFlBd{QO8f^@D zq6R0zj8oxn86q-QRH4yV!kN-jCEb4zH!ED!WSpo~=yUl}6eDk`EFb6R!+rqe@r>2V%bf1TG1HLH=~3eIUQ zIOIE-R~f?3y#7vsBs1M&-b>_CXZ9Pzei--3v|UwWL?M*|67fOTNR==#k`zW2ZHGpIp^5%DksMV zHa*N`h(($AyU~09^PeRbn~#|0;vZu6oNqAGq6=a;p*^EYx`(|Cu_*gWx;>onpV`VF AlmGw# diff --git a/Classes/zh_TW.lproj/ContactDetailsView.strings b/Classes/zh_TW.lproj/ContactDetailsView.strings deleted file mode 100644 index 006bf4f113a8250f06426a159106f17356c3e2e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2742 zcmchZ%TB^T7=_Q8rywjziVKZOj0+Jj5CO#t#2vSAr-@ud6B6G*Rz8d`;0w5R%~PnS zQ_7_dc1nRvn9$BYo%!aR|8IZ3eb_<}ejKBL9NKJt9P$^yEnKP7VjMJehvk; zl8CG#k1FR?8S#V*j^#Phm^|SGMKNa1OmVcv@dBe`h)$yR$4?G&CqDk)M@VUvz~l*| z!Pcv>hL3H1G!e0@`gpgCXu>v{uxpyn*RMMjn(29)=iA}g_Ib9Jeo3n4=V=?-b;RC{ zv9?giRG~zD{?{hKh#E9p;+cJmZrHK$$s$5r&)myYqhPr|{3z-#xxsr`lTM~H_uk%f=G@z_&k$mWK*K(47`Wxou+1loGi0!bE*y?FTHM*pdPb2J_Yqj=+F?i1j1R;*qAe4A(5dN2o)G?fmn$ll);n1iJ_FC1PJpP@_-`NK=DL|WFSlh ztIT9bV#oyQ%LJ;ZWbgsXB>`n};3hZ%*&tprSbqsvZwc6jG_bxBpz0#1x&A=CSwMa= z&@4{|7q}TFPt69zq^+@J(E!6At=J-;Ebc9$Q>2V6i%nve5PB7y|id|0GgV<4bKi45Fg-b79N2wkHMT7uW{2;t#wp83 zBZ3*gbk)e%9^6=Y&Ee$bsibDguyAE?|AZ)HF3e2nA0Gya-?G-VLpjz)>(s>r#{s^R zRzfm_^bmqLy!7&DqE1tRmOm0NNE(r~g;H{sHF`_@2~oIf|8nwd<8(X^lmBJt2E4#W Aq5uE@ diff --git a/Classes/zh_TW.lproj/DialerView.strings b/Classes/zh_TW.lproj/DialerView.strings deleted file mode 100644 index 237f4308ead80664d830848e5e46b2f9504a101e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3596 zcmcJS%TB^T6o&sb58%R$ge40FS}w+zD5w#m67jYq+>B_Y3Yg%+#1#uRxN_}t7~jCH zOXH)cXL=YLsHKcLnY3xnT+V#`Pv@L|euS`qD8k6WLK$spVJy=X!6EWEKpkCluz?0W zS*VeHiF(VZQmZ@T8>mpPMOOzm*rvXUGghv%jwbcg(Q@WBoqLT|Y7OV}iUpc=MwTj# z&0~#5@h;4v$0+SHM9(JXr}7^8Ug4#m8PxZ73M&Qzvl&eCo>)NInKspOleIBDc~V$ZdEOqjn))TrXC68{O4wM#&>QBt<4l0Ft=MfV_RJUyg3ozgMgr)~Ud&?fqC<8GB|XmwwHn>^fY;P05usDOK(FRR}(LrvVN)1m)d z)4y)wO^5C0)f-EAY6m?v$j;L}NU2%m+9M8Qo+V%U;Gbh)-zGUk9dc{Xur~Jc6_v=O0h6d;Ky`VYbI;EzDc4 zU$^~Clm@dj5zry`NVTX&iPPTINVKg*k+_rzkZ_NbM2%vXWHd%6E{%jpM#Lm)6uTs2 zu_W65w1;rX6_cn@?2?Sfl4$$ukjTBA8pSS2K9)q=Ux#E=tP?egT@vk?qIbNuzYfWm zm_&_Ymn0jj6K#JTl5sJK8pSS&_Ds<_(e~FN$%{$UD0WF!5L2s&{g-DrZYVx-k2I>> z*xESnC%?H`gw*jbN;kPsgybG6OA@hu4w^YaE_bpZx@>Obu;DX#k(;? zBa}ycRMdL^s6Hvx=ZkM^_NgXuQrJWe&Dm)hrvuJWc~|i{;d0$&iCZtJ>XVYbFK5cF zSJjsviuQS@!PY>FXA5Qv%qGtly2rEY4fTAZd`E_!(KtEuh_-MoW1rOn+A~Q=b*W}y zmsIbsDAFvg;e_kZGS1cxc4HI&2kkU0Atg=1i|R-mMVg}n+Vx2fan1WD{9aO%gp@Ri zOi_E1DAGLQ+!+{OU>7>jYY}JaUQ&~Ulr)L_D=sIVp$h6k4yrV)(+oYQ2LV!(gp@Ri zoVmaJY!;qq0;H2PhHDwR^#Z&m2`O(f`CETk&nzrC1J)-#@fLQluKVeX!6YFiP9`fF zJbze#)>p6!^N33h@{T=P59r+_Azg(ebBq2m#3J_hK8P!bzm8w+oDOiCB&6KQWRLpv z9_6)5h)Ii}WE*!7lRZ?ud%dft9HzLsdAFgp{{?E_N+hS9ha%Ykp2wz=@3YTcX*3 zC41=Qtgl-_%A3U3he3VU4#?PdEx^(pR2mBOIIsdH3F!(X=ezVbmMD#%AZIOr)P?ur RJZ>&jPccbIdDSdZ^b5hF^e_Mb diff --git a/Classes/zh_TW.lproj/FirstLoginView.strings b/Classes/zh_TW.lproj/FirstLoginView.strings deleted file mode 100644 index a5bfd875c3561107d5fb46c11ab741e92d4f22d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6782 zcmdUzPfrt36vgkx4T;|YSr|exDBzzG6TF`NLI=m-SU)A zkECT%79=M%sYpWdToq)E@1JltE2|tii_gmncME(fawt>WTd~;Y@09s}PjaC;O3j=jC znl6riMIkO#Mp=KDcFf;KhaukSHr)U`dj?_UrD3Oq1Uo`xPu+ca= z`7wWYCbQIAy;wAMh|C_^W?{5o^Pm7{SN|!Qm1k%?b46VBw>PzZyPr!1;nmFCh9(s_ znA~@HjHAB!ZjWycVO+IWtDJLanzMKFHU{O6OiM(=k>@W;l#!hpoPp^;nCr^IOy!sFY&oM?cEh7OG8$j0u7$jwjb6Qe99vVX9@%i1)OcY~J zGVXbf3>@Zgl}1$CdCib@HAfCW8Z}Dt(4&Kf(8mAu<(FEJ@&7+3iOB@s;h>mt*T=Gq zQ#YdH=A4GOnNFfH3BolhCyAnJCUFu|jSsB1x^=f*CdVaC1$XcylgSC@?zBf;4G~t| zpjqC@Nhk5jee0BYTMeu54BjEcWrL?3d~k^KG8vularGm#S$n56kvrZG*9&yw7Ti4( zaF4^FCIg%curkhWx+`}^Y6y+TMcp$@7neby0$t2*fF5pwT9Ag*mc%$e;&08vOhbgt z#_ZPj(;%MPNwMo-=JpcJ${p3{y>n^JDwL(NxxH#T&q$$627N}Ul@7Jr^faycry;cb zYs{mIW}zD!x6kr23g-?>SdEYavQzoY~32BCOq)?hKA6%U1arg{k>J5>|BKJ9=(QHB}`KZTeZ{>VY4)< z-YVP*Xp21l~esyJNdsR^yzG=!#QRO1ilkR^7J%8Wc_9kPgjWIW^75Zd@J=a8Lh zSTR&LUk1Gjs})7`=HR_XnQmkQMniCMsAF{$^D^=y+A|8; zYeeA|=}@Z^v#vRSV~JdJsP?1yWGhn*5!NljWor~s7z^B29-wUzk`gU(|+~!>RqFA z8%Jr=)0!E+Nq5l7T|?Y#y){NbIJ;TbTn9#>cc&Gu*SEt}qdL2~ODMZ;Yf_dDq2SS1 LLuk3}tww(VG7J~u diff --git a/Classes/zh_TW.lproj/HistoryDetailsView.strings b/Classes/zh_TW.lproj/HistoryDetailsView.strings deleted file mode 100644 index 2deb22cd46e6718daeca9b674ebe80de2d70c249..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4858 zcmd5=U2oD*7=CWWc)&0)NN; zfPcVi@BAC;bJ`Wc>5;V^Uujmlp0|hhd7tO~D1ZN?a39OiV4#gEj(BKz%)cePfr%WB z(dXf!%R7&Fzlu5!$Fppqh8CY|(c%m{T&r=VJ=h`VSsz|KS>oye*Xy)4u{E&TyjowT zCn;WUVkOeIEDd(}`Q_KH@Giw;92yfH?%bdcyY$(?hXj}mFBW~z!@d`f6JCq|d)MGh z$USF zDEsvCl)MCLE|RwRM@Q%wK(zr(RNh1)hTuJ;|><(LCc9f`#3S+9XHoQYtQisYSnL2LLfdejr-ei$^ zje2m&zD9kB8OooN9I9q~4K(r0tAQ0ht5Z#fuq4bXixt*ZzdsH;*|+ws#_87|_HXC& zr|H+bXtSY(B4eR*wyg1Na3)=s(5WoqG8%P$oLB!YvC8#`f1Rx9jKs!Zat&r?l||er z#Ov>~ul+BHTxh(>?kA#PhibpdB5o8WTl<6QFxu3q^54(?fM=D3Dwl)rjgrT+XL65O zT_uP6RJ4w5&Z1{hR;w)L%Vd&nsj(ZW-+5K|MwwPwsF+UT*J5{Zo4){v3@=a@I@UPr z$?wf7i)89plrG-HiT4g;;1w}jc+R((Q9Y4qH5PgSU>aR#W2K<0(pp-&CY^hXJtn|`b5>ri)q}m925PI&VLct%?U*vx% z*uLEj3X2s(vB;1mJ3BL(xAXG8=NS}W!oUT(aPUGiaKa~xdsK0b0b*K&ke*}u9e6Zf zMh0*ZFfU-l2sNI$Jn1efobg@kJeeQM+*p3$QRc;r?k9C`nft`O$68fX7Bx!Axye2= zd@mutQ4iTgg;RIG9lbi^Pg@|!(6)!TPF&&+eYF0FyR6|Zr^aoz?a4g)FXWd*EO?+; z^4l~m4V9G|)ofgN-~JpclE*&r_?)97dAuIkA@qp}Pg<^;cdcosF`Min!Xk>eK@N2) zLk>1qPn+hdh~2$`W-?=;IGfElM2EO@RI_WYH8gOf-N34dv^UUc3^$tpQg0PA1y_d> zi_&kKeG2VW>^1mzhTM-uqB2{{bwT4qyNP diff --git a/Classes/zh_TW.lproj/HistoryView.strings b/Classes/zh_TW.lproj/HistoryView.strings deleted file mode 100644 index dfe0031096e060cb6d49597e14652cc7891a02d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1906 zcmb_cyH3ME5S$i&g_SY|DM->FBp#uN1f+ovuuVV)lSsixP(-3eLi|s@h_3)U^P=j}xicS7GQt`o)@V^qcH7w28#4EW#2=C3ex zstCLB#^wAmTCPrnK|s?no)P^5H_V#h)Nsv+v#ipZ)l-EnKwtNZ6CzdCDP&8T1~{AAM0^lpDaTWI!z g>}V&nE3dvs?CO`V%9SUCYjV5z+4IzTxiSU#0G~-F%m4rY diff --git a/Classes/zh_TW.lproj/ImageView.strings b/Classes/zh_TW.lproj/ImageView.strings deleted file mode 100644 index 9422ca30713dc6d15a2063f9df3e3481a568de0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 268 zcmezWkBdQ{L5o3w!I>e4A(5dN2o)G?fmn$ll);n1iJ_FC1PJpP@_-`NK=DL|WFSlh ztIT9bV#oyQ%LJ;ZWbgsXB>`n};3oJ1dF4Q!3s6NdP**8b7s51uppGn{s$`%Eo^QCAcjcQd`QH(~oz7e8$B90225u A!T`9v+*fd diff --git a/Classes/zh_TW.lproj/IncomingCallView.strings b/Classes/zh_TW.lproj/IncomingCallView.strings deleted file mode 100644 index 43263a7bbac534ebf094f672dff02ef2c8e7f153..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1530 zcmcIkT}#6-6g|%sUwtln+{0X*Zj9lBZXgAjKKSvRl_4EnCo_J6;P2XxQ%}>Tg=iZy zkZ>WnNzT3Jo|}Aqde}!BKE_BO@WA2YnAXBILY(3el4FIGo)P^55yxDej4?yZdofSE z;+%Uk?j$9`gsVvHr<~>YFL-95{F3;S@@&7@Z!;f{^FBI%iq$F+en#_%^ndJ5ib~v* zeKWU#!ENBo&5UJZR%zj`+E}SARrMvSn{u|a>Nhkv4xKr!KE(TGx_cG8WjVVtl+5sj zO6czGB0v`hv>xq{c4SfMHwGHD>asdqTfQM{C~(ItZ}?v3crLPWc~7P?0#C%ulv-Q3 z1u)rV9@iI^E3|XDneN@5t+!Fhg>A^ri`a`x)+=S@e69q4lf=TcN9FUb*MCXoapl?^ d-KMtr{&XMd?rcW)QTI#Mantx!pEgJE@C_yu==}fy diff --git a/Classes/zh_TW.lproj/IncomingCallView~ipad.strings b/Classes/zh_TW.lproj/IncomingCallView~ipad.strings deleted file mode 100644 index 3ef43bd2ab0d9edece4e5422858acb2e7e66cab1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3074 zcmdT_O;5r=5PfHiSI-Sc4ho_r#CT9h42eMxsOLh6!9X!sKNAyw7e7vYTUZEF+jT%R zX0yq5b~`g~-h6z#=dgnUJk-!ffIBV^hunEwpn+rDBjOq&q~w6|03EJw{IZ8Odi<}) z7tc85U7I)knT9&QI`MtT)8zj%zPX9z5%t$+Z~f_gf&S!p_ObmfTltxWq_rG1tquoPF z5-rwj>n^rs{nA!|IIUPcF jOZVLN6O+M6w5`p_G+U(pyPNUUPe5^3UNC?YYnG_)EYQNkcGTkHnE!EE&x%zg?^KU5+O z6**~#`=0aO``q__6Ocg?B4pUmFr!4|`6bYV0ts_C)EFaHa;$6UQikU=p~Ga(q+^8& z&vc&H;SB}!D3N|Q?|4}!xTj99MR%8V1;sEUvoc2teP-PMBJ7;xqyp1Xj&!WK5@DC4 zacGY>+WJ&;sRZiN7G7lj4jj(Co~LGWC>8a-L_W@Obs} z-h%kHg(_L;MA7%24quy^V2A+YAIT)MC}wJLCpMbgp!`Ty$8e}Ar&aFX=LtLjB1%T< diff --git a/Classes/zh_TW.lproj/SideMenuView.strings b/Classes/zh_TW.lproj/SideMenuView.strings deleted file mode 100644 index ce1be0b3ce235e5b88e512b37b9fc4bf0d466327..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 470 zcmbu5I}5@<5QL|`UlCFUj3^d@2)>%AV3lC&BP51!iVyJDt6#{Yij8vI-rn5q+|ImT zMqPPwG*_;jZY)P*wyRKq)?j>kt+uVAO>O;e(QWhr-hDfoqUNek_Jn`ITFp$k5*>&qcu}QV(325uQ3h13dPP1| zOI?kyXLX3*b3I;R@S7BVeXCnfviCl_4eK9 - - - - CLIENT_ID - 221368768663-0ufgu96cel0auk4v0me863lgm252b9n2.apps.googleusercontent.com - REVERSED_CLIENT_ID - com.googleusercontent.apps.221368768663-0ufgu96cel0auk4v0me863lgm252b9n2 - API_KEY - AIzaSyDJTtlRCM7IqdVUU2dSIYq2YIsTz6bqnkI - GCM_SENDER_ID - 221368768663 - PLIST_VERSION - 1 - BUNDLE_ID - org.linphone.phone - PROJECT_ID - linphone-iphone - STORAGE_BUCKET - linphone-iphone.appspot.com - IS_ADS_ENABLED - - IS_ANALYTICS_ENABLED - - IS_APPINVITE_ENABLED - - IS_GCM_ENABLED - - IS_SIGNIN_ENABLED - - GOOGLE_APP_ID - 1:221368768663:ios:a2c822bc087b5a219431d2 - DATABASE_URL - https://linphone-iphone.firebaseio.com - - diff --git a/LocalPushProvider/Info.plist b/LocalPushProvider/Info.plist deleted file mode 100644 index 801ea4212..000000000 --- a/LocalPushProvider/Info.plist +++ /dev/null @@ -1,13 +0,0 @@ - - - - - NSExtension - - NSExtensionPointIdentifier - com.apple.networkextension.app-push - NSExtensionPrincipalClass - $(PRODUCT_MODULE_NAME).LocalPushProvider - - - diff --git a/LocalPushProvider/LocalPushProvider.entitlements b/LocalPushProvider/LocalPushProvider.entitlements deleted file mode 100644 index 71743be9c..000000000 --- a/LocalPushProvider/LocalPushProvider.entitlements +++ /dev/null @@ -1,14 +0,0 @@ - - - - - com.apple.developer.networking.networkextension - - app-push-provider - - com.apple.security.application-groups - - group.org.linphone.phone.msgNotification - - - diff --git a/LocalPushProvider/LocalPushProvider.swift b/LocalPushProvider/LocalPushProvider.swift deleted file mode 100644 index ff42e2c6e..000000000 --- a/LocalPushProvider/LocalPushProvider.swift +++ /dev/null @@ -1,206 +0,0 @@ -/* - * Copyright (c) 2010-2020 Belledonne Communications SARL. - * - * This file is part of linphone-iphone - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import Foundation -import Combine -import NetworkExtension -import UserNotifications -import linphonesw -import os -import linphone - -let APP_GROUP_ID = "group.org.linphone.phone.msgNotification" - -extension String: Error {} - -class LocalPushProvider: NEAppPushProvider { - var core: Core? = nil - let log = LoggingService.Instance - var logDelegate: LinphoneLoggingServiceManager! - var coreDelegateStub : CoreDelegateStub? = nil - let defaults = UserDefaults.init(suiteName: APP_GROUP_ID) - var coreIteratorTimer:Timer? = nil - var aggretatorTimer:Timer? = nil - var aggregagor:[ChatMessage] = [] - - func chatRoomMuted(chatRoom:ChatRoom) -> Bool { - if let chatroomsPushStatus = defaults?.dictionary(forKey: "chatroomsPushStatus"), let from = chatRoom.peerAddress?.asStringUriOnly() { - if ((chatroomsPushStatus[from] as? String) == "disabled") { - return true - } - } - return false - } - - func createCore() throws { - coreDelegateStub = CoreDelegateStub( - onMessageReceived: { (core:Core, chatRoom:ChatRoom, message:ChatMessage) -> Void in - if (self.ignoredContentTypes.contains(message.contentType)) { - self.log.error(message: "Received unexpected content type.\(message.contentType)") - } else if (!self.chatRoomMuted(chatRoom: chatRoom)) { - self.aggregagor.append(message) - } - } - ) - guard let configString = providerConfiguration?["coreconfig"] as? String, let config = Config.newFromBuffer(buffer: configString) else { - log.error(message: "Unable to get core config through provider configuration") - throw "Unable to get core config through provider configuration" - } - logDelegate = try LinphoneLoggingServiceManager(config: config, log: log, domain: "LocalPushProvider") - - // Ensure a separate UUID from app is used, use previously generated one or a new one if n/a. - - if let uuid = defaults?.string(forKey: "misc_uuid") { - config.setString(section: "misc", key: "uuid", value: uuid) - } else { - config.cleanEntry(section: "misc", key: "uuid") - } - - log.message(message: "Creating LocalPushProvider core with configuration : \(config.dump())") - core = try Factory.Instance.createCoreWithConfig(config: config, systemContext: nil) - core?.autoIterateEnabled = false // 20ms auto-iterations are too frequent for NE, sometimes it gets killed by the OS. (triggers limit exceed of 150 wakeups per second over 300 seconds) - core?.addDelegate(delegate: coreDelegateStub!) - coreIteratorTimer = Timer(timeInterval: 0.1, target: self, selector: #selector(iterate), userInfo: nil, repeats: true) // 0.1 second - RunLoop.main.add(coreIteratorTimer!, forMode: .default) - - let aggregateTime = config.getInt(section: "local_push", key: "notif_aggregation_period", defaultValue: 3) - aggretatorTimer = Timer(timeInterval: TimeInterval(aggregateTime), target: self, selector: #selector(flushAggregator), userInfo: nil, repeats: true) // 0.1 second - RunLoop.main.add(aggretatorTimer!, forMode: .default) - - - core?.accountList.forEach { account in - let params = account.params?.clone() - params?.expires = 60 // handleTimerEvent(), called by the OS, refreshes registers every 60 seconds, we don't need to expiration longer as if it's not refreshed it means the extension is not reachable. - account.params = params - } - } - - @objc func iterate() { - core?.iterate() - } - - @objc func flushAggregator() { - if (aggregagor.count == 1) { - showLocalNotification(message: aggregagor[0]) - } else if (aggregagor.count > 1) { - var displayNames : [String] = [] - aggregagor.forEach { message in - let displayName = getDisplayName(message: message) - if (!displayNames.contains(displayName)) { - displayNames.append(displayName) - } - } - displayNames.sort() - showMultipleMessagesNotifications(count: aggregagor.count,displayNames: displayNames.joined(separator: ",")) - } - aggregagor.removeAll() - } - - - - // MARK: - NEAppPushProvider Life Cycle - - override func start(completionHandler: @escaping (Error?) -> Void) { - do { - if (core == nil) { - try createCore() - log.message(message: "Creating core") - } - try core?.start() - coreIteratorTimer?.fire() - aggretatorTimer?.fire() - log.message(message: "Core started") - // Keep freshly generated UUID after start to avoid re-creating one every time the NE is starting. - if (core?.config?.hasEntry(section: "misc", key: "uuid") != 0) { - defaults?.set(core?.config?.getString(section: "misc", key: "uuid", defaultString: ""), forKey: "misc_uuid") - log.message(message: "storing generated UUID \(String(describing: defaults?.string(forKey: "misc_uuid")))") - } - completionHandler(nil) - } catch { - completionHandler(error) - } - } - - override func stop(with reason: NEProviderStopReason, completionHandler: @escaping () -> Void) { - log.message(message: "Received stop for reason \(reason)") - core?.stopAsync() - coreIteratorTimer?.invalidate() - aggretatorTimer?.invalidate() - flushAggregator() - completionHandler() - } - - override func handleTimerEvent() { - log.message(message: "Refreshing registers (handleTimerEvent)") - core?.refreshRegisters() - } - - // MARK: - Notify User - - let ignoredContentTypes = ["message/imdn+xml","application/im-iscomposing+xml"] - - func showMultipleMessagesNotifications(count:Int, displayNames: String) { - let content = UNMutableNotificationContent() - content.title = NSLocalizedString("%s messages received", comment: "").replacingOccurrences(of: "%s", with: String(count)) - content.body = NSLocalizedString("from: %s", comment: "").replacingOccurrences(of: "%s", with: displayNames) - content.sound = UNNotificationSound(named: UNNotificationSoundName("msg.caf")) - content.categoryIdentifier = "app_active" - let request = UNNotificationRequest(identifier: UUID().uuidString, content: content, trigger: nil) - UNUserNotificationCenter.current().add(request) { error in - if let error = error { - self.log.error(message: "Error submitting local notification: \(error)") - return - } - self.log.message(message: "Local notification posted successfully") - } - } - - func getDisplayName(message:ChatMessage) -> String { - let fromAddr = message.chatRoom?.peerAddress?.asStringUriOnly() - var displayName = fromAddr?.getDisplayNameFromSipAddress(lc: core!, logger: log, groupId: APP_GROUP_ID) - displayName = displayName != nil ? displayName : message.chatRoom?.peerAddress?.displayName - displayName = displayName != nil && displayName?.isEmpty != true ? displayName :message.chatRoom?.peerAddress?.username - return displayName! - } - - func showLocalNotification(message: ChatMessage) { - - var messageContent = "" - if (message.hasConferenceInvitationContent()) { - messageContent = NSLocalizedString("📅 You are invited to a meeting", comment: "") - } else { - messageContent = message.hasTextContent() ? message.utf8Text ?? "" : "🗻" - } - - let content = UNMutableNotificationContent() - content.title = getDisplayName(message:message) - content.body = messageContent - content.sound = UNNotificationSound(named: UNNotificationSoundName("msg.caf")) - content.categoryIdentifier = "app_active" - let request = UNNotificationRequest(identifier: UUID().uuidString, content: content, trigger: nil) - UNUserNotificationCenter.current().add(request) { error in - if let error = error { - self.log.error(message: "Error submitting local notification: \(error)") - return - } - self.log.message(message: "Local notification posted successfully") - } - } - -} diff --git a/Podfile b/Podfile deleted file mode 100644 index 5cd62175c..000000000 --- a/Podfile +++ /dev/null @@ -1,127 +0,0 @@ -# Uncomment the next line to define a global platform for your project -platform :ios, '13.0' -source "https://gitlab.linphone.org/BC/public/podspec.git" -source "https://github.com/CocoaPods/Specs.git" - -def all_pods - if ENV['PODFILE_PATH'].nil? - pod 'linphone-sdk', '~>5.3.4' - else - pod 'linphone-sdk', :path => ENV['PODFILE_PATH'] # local sdk - end - - crashlytics -end - -def crashlytics - if not ENV['USE_CRASHLYTICS'].nil? - pod 'Firebase/Analytics' - pod 'Firebase/Crashlytics' - end -end - -target 'linphone' do - # Uncomment the next line if you're using Swift or would like to use dynamic frameworks - use_frameworks! - - # Pods for linphone - pod 'SVProgressHUD' - pod 'SnapKit', '~> 5.6.0' - pod 'DropDown' - pod 'IQKeyboardManager' - pod 'SwipeCellKit' - #License: https://github.com/SwipeCellKit/SwipeCellKit/blob/develop/LICENSE - pod 'EmojiPicker', :git => 'https://github.com/htmlprogrammist/EmojiPicker' - #License: https://github.com/htmlprogrammist/EmojiPicker/blob/main/LICENSE - all_pods - -end - -target 'msgNotificationService' do - # Uncomment the next line if you're using Swift or would like to use dynamic frameworks - use_frameworks! - - # Pods for messagesNotification - all_pods - -end - -target 'msgNotificationContent' do - # Uncomment the next line if you're using Swift or would like to use dynamic frameworks - use_frameworks! - - # Pods for messagesNotification - all_pods - -end - -target 'CallUITests' do - # Uncomment the next line if you're using Swift or would like to use dynamic frameworks - use_frameworks! - - # Pods for CallUITests - all_pods - -end - -#target 'LocalPushProvider' do - # Uncomment the next line if you're using Swift or would like to use dynamic frameworks - #use_frameworks! - - # Pods for CallUITests - #all_pods - -#end - -post_install do |installer| - system("sed 's/fileprivate let tableView =/public let tableView =/g' ./Pods/DropDown/DropDown/src/DropDown.swift > tmp.swift && mv -f tmp.swift ./Pods/DropDown/DropDown/src/DropDown.swift") - # Get the version of linphone-sdk - installer.pod_targets.each do |target| - if target.pod_name == 'linphone-sdk' - target.specs.each do |spec| - $linphone_sdk_version = spec.version - end - end - end - - app_project = Xcodeproj::Project.open(Dir.glob("*.xcodeproj")[0]) - app_project.native_targets.each do |target| - target.build_configurations.each do |config| - if target.name == "linphone" || target.name == 'msgNotificationService' || target.name == 'msgNotificationContent' - if ENV['USE_CRASHLYTICS'].nil? - if config.name == "Debug" then - config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = '$(inherited) DEBUG=1' - else - config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = '$(inherited)' - end - config.build_settings['OTHER_SWIFT_FLAGS'] = '$(inherited)' - else - # activate crashlytics - if config.name == "Debug" then - config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = '$(inherited) DEBUG=1 USE_CRASHLYTICS=1' - else - config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = '$(inherited) USE_CRASHLYTICS=1' - end - config.build_settings['OTHER_SWIFT_FLAGS'] = '$(inherited) -DUSE_CRASHLYTICS' - end - end - - if target.name == "linphone" - config.build_settings['OTHER_CFLAGS'] = '-DBCTBX_LOG_DOMAIN=\"ios\"', - '-DCHECK_VERSION_UPDATE=FALSE', - '-DENABLE_QRCODE=TRUE', - '-DENABLE_SMS_INVITE=TRUE', - '$(inherited)', - "-DLINPHONE_SDK_VERSION=\\\"#{$linphone_sdk_version}\\\"" - end - - app_project.save - end - end - - installer.pods_project.targets.each do |target| - target.build_configurations.each do |config| - config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0' - end - end -end diff --git a/Resources/Images.xcassets/AppIcon.appiconset/1024.png b/Resources/Images.xcassets/AppIcon.appiconset/1024.png deleted file mode 100644 index 2ced7c36c17855354ebce6dad1f022c6936245c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47458 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 diff --git a/Resources/Images.xcassets/AppIcon.appiconset/167.png b/Resources/Images.xcassets/AppIcon.appiconset/167.png deleted file mode 100644 index da2881b21ec888de0a0e0d3749924da2ff1fd41e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4616 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 IxOK$;06Gh2!vFvP diff --git a/Resources/Images.xcassets/AppIcon.appiconset/20.png b/Resources/Images.xcassets/AppIcon.appiconset/20.png deleted file mode 100644 index f34f1855362690ffba6f7e2ed875119b0f7e42a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 551 zcmV+?0@(eDP)O=g`3wMas}Z#;@vPXG6lk0S{d!8ZFt;UL-XBz z%-47Er!Ny2yaHNnifdOWKcA=aaslBFdTUsX$h8;f-2*i->(f(yWzMzkay3d1Z({Uc zK*r+WDxA%)m~ZYimEu2!#>q2SAJMR?*7MsIo-3L3uT2$AV$ zXtB6ALlFoOx&8_nOQ5z3SYNWJpBo?qvf~(fPZ}*0MHRnOoIM4O>)I^jEu&2 zAK9@e&h+hkR$V(ipx>y^b^mNp$u5FjK?`@GwMTKSGEN~+>B((Mk8h!cV+bL!*Wb6k pHvg2?!BsnNug9SwlzoWq;a|%%j}P4L(Xs#l002ovPDHLkV1gi}?AHJQ diff --git a/Resources/Images.xcassets/AppIcon.appiconset/29-1.png b/Resources/Images.xcassets/AppIcon.appiconset/29-1.png deleted file mode 100644 index 381c876f35ae37cd3e05b7fab173174838e52f0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 795 zcmV+$1LXXPP)Ab_p<5Lp*`5sqc)K@B~M?w>H{xovo+O*VZ zUB3(4)`KRYLc&tffHu?xdej^-5<(m3z?uXaS4hI1g|Iu(ed94h1!1`-R}h; zI`K9x(3B$?Gv1{8W<)1ae%geR`HMdwM-}H9f#uweR-`ejXt@HjM7~V$4n9snaeQ(--v!4#R#hlV-y=$?HIGu=6f37B4>z<4JVI@Xb{nseuMuJ Z^e5}e^U77FNVNa}002ovPDHLkV1jJiXomm* diff --git a/Resources/Images.xcassets/AppIcon.appiconset/29.png b/Resources/Images.xcassets/AppIcon.appiconset/29.png deleted file mode 100644 index 381c876f35ae37cd3e05b7fab173174838e52f0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 795 zcmV+$1LXXPP)Ab_p<5Lp*`5sqc)K@B~M?w>H{xovo+O*VZ zUB3(4)`KRYLc&tffHu?xdej^-5<(m3z?uXaS4hI1g|Iu(ed94h1!1`-R}h; zI`K9x(3B$?Gv1{8W<)1ae%geR`HMdwM-}H9f#uweR-`ejXt@HjM7~V$4n9snaeQ(--v!4#R#hlV-y=$?HIGu=6f37B4>z<4JVI@Xb{nseuMuJ Z^e5}e^U77FNVNa}002ovPDHLkV1jJiXomm* diff --git a/Resources/Images.xcassets/AppIcon.appiconset/40-1.png b/Resources/Images.xcassets/AppIcon.appiconset/40-1.png deleted file mode 100644 index 80d6ed7f84ee4668ea9aabcd4333d9ad0eb54b2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1045 zcmV+w1nT>VP)EH!m^XLfhGGqmGcyL)C_fB0kX zpSg3+`M&$jJ@=k_hx@)xRM3Z;r4MV@wDm?&OHd?%r&r$nFW6EI9QSf0Kou)?LQFs)ByR-efS<-La^ntjxpQes6x#T z%|z<%hZ?WqZG)%$IOK-g5a+IkefkQ3x5XY)2|{{$9UWJ9A=vyOc5DPMDNx0@cT~YT zVp;^a36o#K@AK;*)m=6L0t}TIZ`B!7q!ELy0+QFB(`G)RKZ?Fpai^O&)&C!NIOuPm6c_=cnZl2}XfYwXnb;5}^z5-f zss5IsqbtzV2>DfYXgt$Tat%_9{O~N;Mr6Y>a1<<#R4t9c&R+<8c?JLbIs}?tQWP=$ zq(F;%FoLa3F-dyrv(Xfzq=Za4tE3 zl+9(}Sxt<$*(T;Ab!QFiGgd=-R!Y*5h1&oA5#-m^>}zw8x~mp){Y`Y1ABF#I4N0yC zu$zo9u>j73BK;$M56&AZGvpdn2eGD4g}bPdUCwxYOoiQ=rN#{_Uu# zV`m+d&X#{&J$@(apc!U`m5<(Trq^I^3!wNC0;w6I{D~Q)W{C3l`5F8Jmt`*cCqI8+ P00000NkvXXu0mjf{sQs; diff --git a/Resources/Images.xcassets/AppIcon.appiconset/40-2.png b/Resources/Images.xcassets/AppIcon.appiconset/40-2.png deleted file mode 100644 index 80d6ed7f84ee4668ea9aabcd4333d9ad0eb54b2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1045 zcmV+w1nT>VP)EH!m^XLfhGGqmGcyL)C_fB0kX zpSg3+`M&$jJ@=k_hx@)xRM3Z;r4MV@wDm?&OHd?%r&r$nFW6EI9QSf0Kou)?LQFs)ByR-efS<-La^ntjxpQes6x#T z%|z<%hZ?WqZG)%$IOK-g5a+IkefkQ3x5XY)2|{{$9UWJ9A=vyOc5DPMDNx0@cT~YT zVp;^a36o#K@AK;*)m=6L0t}TIZ`B!7q!ELy0+QFB(`G)RKZ?Fpai^O&)&C!NIOuPm6c_=cnZl2}XfYwXnb;5}^z5-f zss5IsqbtzV2>DfYXgt$Tat%_9{O~N;Mr6Y>a1<<#R4t9c&R+<8c?JLbIs}?tQWP=$ zq(F;%FoLa3F-dyrv(Xfzq=Za4tE3 zl+9(}Sxt<$*(T;Ab!QFiGgd=-R!Y*5h1&oA5#-m^>}zw8x~mp){Y`Y1ABF#I4N0yC zu$zo9u>j73BK;$M56&AZGvpdn2eGD4g}bPdUCwxYOoiQ=rN#{_Uu# zV`m+d&X#{&J$@(apc!U`m5<(Trq^I^3!wNC0;w6I{D~Q)W{C3l`5F8Jmt`*cCqI8+ P00000NkvXXu0mjf{sQs; diff --git a/Resources/Images.xcassets/AppIcon.appiconset/40.png b/Resources/Images.xcassets/AppIcon.appiconset/40.png deleted file mode 100644 index 80d6ed7f84ee4668ea9aabcd4333d9ad0eb54b2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1045 zcmV+w1nT>VP)EH!m^XLfhGGqmGcyL)C_fB0kX zpSg3+`M&$jJ@=k_hx@)xRM3Z;r4MV@wDm?&OHd?%r&r$nFW6EI9QSf0Kou)?LQFs)ByR-efS<-La^ntjxpQes6x#T z%|z<%hZ?WqZG)%$IOK-g5a+IkefkQ3x5XY)2|{{$9UWJ9A=vyOc5DPMDNx0@cT~YT zVp;^a36o#K@AK;*)m=6L0t}TIZ`B!7q!ELy0+QFB(`G)RKZ?Fpai^O&)&C!NIOuPm6c_=cnZl2}XfYwXnb;5}^z5-f zss5IsqbtzV2>DfYXgt$Tat%_9{O~N;Mr6Y>a1<<#R4t9c&R+<8c?JLbIs}?tQWP=$ zq(F;%FoLa3F-dyrv(Xfzq=Za4tE3 zl+9(}Sxt<$*(T;Ab!QFiGgd=-R!Y*5h1&oA5#-m^>}zw8x~mp){Y`Y1ABF#I4N0yC zu$zo9u>j73BK;$M56&AZGvpdn2eGD4g}bPdUCwxYOoiQ=rN#{_Uu# zV`m+d&X#{&J$@(apc!U`m5<(Trq^I^3!wNC0;w6I{D~Q)W{C3l`5F8Jmt`*cCqI8+ P00000NkvXXu0mjf{sQs; diff --git a/Resources/Images.xcassets/AppIcon.appiconset/58-1.png b/Resources/Images.xcassets/AppIcon.appiconset/58-1.png deleted file mode 100644 index 6854d840f638149404f35dad2b5fa445f69ac05c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1403 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 Hu0mjf(BFWF diff --git a/Resources/Images.xcassets/AppIcon.appiconset/80-1.png b/Resources/Images.xcassets/AppIcon.appiconset/80-1.png deleted file mode 100644 index ee236fee33d28db6823de7da40797d45d1501adc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2071 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 diff --git a/Resources/Images.xcassets/AppIcon.appiconset/Contents.json b/Resources/Images.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 141fff5d6..000000000 --- a/Resources/Images.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "images" : [ - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "40.png", - "scale" : "2x" - }, - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "60.png", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "29.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "58.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "87.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "80.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "120.png", - "scale" : "3x" - }, - { - "idiom" : "iphone", - "size" : "57x57", - "scale" : "1x" - }, - { - "idiom" : "iphone", - "size" : "57x57", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "120-1.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "180.png", - "scale" : "3x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "20.png", - "scale" : "1x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "40-1.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "29-1.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "58-1.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "40-2.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "80-1.png", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "50x50", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "50x50", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "72x72", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "72x72", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "76.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "152.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", - "idiom" : "ipad", - "filename" : "167.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "1024.png", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Resources/Images.xcassets/Contents.json b/Resources/Images.xcassets/Contents.json deleted file mode 100644 index da4a164c9..000000000 --- a/Resources/Images.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Resources/Images.xcassets/LaunchImage.launchimage/Contents.json b/Resources/Images.xcassets/LaunchImage.launchimage/Contents.json deleted file mode 100644 index 0e8b0ff04..000000000 --- a/Resources/Images.xcassets/LaunchImage.launchimage/Contents.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "images" : [ - { - "orientation" : "portrait", - "idiom" : "iphone", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "iphone", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "subtype" : "retina4", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "1x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "1x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "2x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "iphone", - "extent" : "full-screen", - "scale" : "1x" - }, - { - "orientation" : "portrait", - "idiom" : "iphone", - "extent" : "full-screen", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "iphone", - "extent" : "full-screen", - "subtype" : "retina4", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", - "extent" : "to-status-bar", - "scale" : "1x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "extent" : "to-status-bar", - "scale" : "1x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", - "extent" : "to-status-bar", - "scale" : "2x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "extent" : "to-status-bar", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Resources/ar.lproj/Localizable.strings b/Resources/ar.lproj/Localizable.strings deleted file mode 100644 index a219b09879b23e41360a594cfa8c03a62d7f1e33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74662 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 O23&OvbGYt7aQ+_-%@{WT diff --git a/Resources/assistant_external_sip.rc b/Resources/assistant_external_sip.rc deleted file mode 100644 index 355634107..000000000 --- a/Resources/assistant_external_sip.rc +++ /dev/null @@ -1,41 +0,0 @@ - - - -